shadow$provide.module$node_modules$pixi_DOT_js$lib$utils$pool$PoolGroup = function(global, require, module, exports) {
  global = require("module$node_modules$pixi_DOT_js$lib$utils$pool$GlobalResourceRegistry");
  var Pool = require("module$node_modules$pixi_DOT_js$lib$utils$pool$Pool");
  "use strict";
  class PoolGroupClass {
    constructor() {
      this._poolsByClass = new Map();
    }
    prepopulate(Class, total) {
      this.getPool(Class).prepopulate(total);
    }
    get(Class, data) {
      return this.getPool(Class).get(data);
    }
    return(item) {
      this.getPool(item.constructor).return(item);
    }
    getPool(ClassType) {
      this._poolsByClass.has(ClassType) || this._poolsByClass.set(ClassType, new Pool.Pool(ClassType));
      return this._poolsByClass.get(ClassType);
    }
    stats() {
      const stats = {};
      this._poolsByClass.forEach(pool => {
        stats[stats[pool._classType.name] ? pool._classType.name + pool._classType.ID : pool._classType.name] = {free:pool.totalFree, used:pool.totalUsed, size:pool.totalSize};
      });
      return stats;
    }
    clear() {
      this._poolsByClass.forEach(pool => pool.clear());
      this._poolsByClass.clear();
    }
  }
  require = new PoolGroupClass();
  global.GlobalResourceRegistry.register(require);
  exports.BigPool = require;
  exports.PoolGroupClass = PoolGroupClass;
};

//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$utils$pool$PoolGroup.js.map
