{"version":3,"sources":["../../scripts/vendors/miniplex-entry.mjs","../../node_modules/@hmans/event/dist/hmans-event.esm.js","../../node_modules/@miniplex/bucket/dist/miniplex-bucket.esm.js","../../node_modules/@miniplex/core/dist/miniplex-core.esm.js","../../node_modules/@hmans/queue/dist/hmans-queue.esm.js","../../node_modules/miniplex/dist/miniplex.esm.js"],"sourcesContent":["export * from 'miniplex';\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function () {};\n\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = it.call(o);\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar Event = /*#__PURE__*/function () {\n function Event() {\n _classCallCheck(this, Event);\n\n _defineProperty(this, \"listeners\", new Set());\n\n this.emit = this.emit.bind(this);\n }\n\n _createClass(Event, [{\n key: \"clear\",\n value: function clear() {\n this.listeners.clear();\n }\n }, {\n key: \"add\",\n value: function add(listener) {\n var _this = this;\n\n this.listeners.add(listener);\n return function () {\n return _this.remove(listener);\n };\n }\n }, {\n key: \"remove\",\n value: function remove(listener) {\n this.listeners[\"delete\"](listener);\n }\n }, {\n key: \"emit\",\n value: function emit(payload) {\n var _iterator = _createForOfIteratorHelper(this.listeners),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var listener = _step.value;\n listener(payload);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }]);\n\n return Event;\n}();\n\nexport { Event };\n","import { Event } from '@hmans/event';\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function () {};\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = it.call(o);\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\nvar _Symbol$iterator;\n\n/**\n * A class wrapping an array of entities of a specific type, providing\n * performance-optimized methods for adding and removing entities, and events\n * for when entities are added or removed.\n */\n_Symbol$iterator = Symbol.iterator;\nvar Bucket = /*#__PURE__*/function () {\n function Bucket() {\n var entities = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n _classCallCheck(this, Bucket);\n _defineProperty(this, \"onEntityAdded\", new Event());\n _defineProperty(this, \"onEntityRemoved\", new Event());\n _defineProperty(this, \"entityPositions\", new Map());\n this.entities = entities;\n this.add = this.add.bind(this);\n this.remove = this.remove.bind(this);\n\n /* Register all entity positions */\n for (var i = 0; i < entities.length; i++) {\n this.entityPositions.set(entities[i], i);\n }\n }\n\n /**\n * Fired when an entity has been added to the bucket.\n */\n _createClass(Bucket, [{\n key: _Symbol$iterator,\n value: /* Custom iterator that iterates over all entities in reverse order. */\n function value() {\n var _this = this;\n var index = this.entities.length;\n return {\n next: function next() {\n var value = _this.entities[--index];\n return {\n value: value,\n done: index < 0\n };\n }\n };\n }\n }, {\n key: \"size\",\n get: function get() {\n return this.entities.length;\n }\n }, {\n key: \"has\",\n value: function has(entity) {\n return this.entityPositions.has(entity);\n }\n }, {\n key: \"add\",\n value: function add(entity) {\n if (entity && !this.has(entity)) {\n this.entities.push(entity);\n this.entityPositions.set(entity, this.entities.length - 1);\n\n /* Emit our own onEntityAdded event */\n this.onEntityAdded.emit(entity);\n }\n return entity;\n }\n }, {\n key: \"remove\",\n value: function remove(entity) {\n if (this.has(entity)) {\n /* Emit our own onEntityRemoved event. */\n this.onEntityRemoved.emit(entity);\n\n /* Get the entity's current position. */\n var index = this.entityPositions.get(entity);\n this.entityPositions[\"delete\"](entity);\n\n /* Perform shuffle-pop if there is more than one entity. */\n var other = this.entities[this.entities.length - 1];\n if (other !== entity) {\n this.entities[index] = other;\n this.entityPositions.set(other, index);\n }\n\n /* Remove the entity from the entities array. */\n this.entities.pop();\n }\n return entity;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _iterator = _createForOfIteratorHelper(this),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var entity = _step.value;\n this.remove(entity);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }]);\n return Bucket;\n}();\n\nexport { Bucket };\n","import { Bucket } from '@miniplex/bucket';\nexport * from '@miniplex/bucket';\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function () {};\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = it.call(o);\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\nvar Memoizer = /*#__PURE__*/function () {\n function Memoizer() {\n _classCallCheck(this, Memoizer);\n _defineProperty(this, \"cache\", new Map());\n }\n _createClass(Memoizer, [{\n key: \"get\",\n value: function get(key, predicate) {\n var value = this.cache.get(key);\n if (value === undefined) {\n this.cache.set(key, predicate);\n value = predicate;\n }\n return value;\n }\n }]);\n return Memoizer;\n}();\n\nfunction isArchetype(entity) {\n for (var _len = arguments.length, components = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n components[_key - 1] = arguments[_key];\n }\n return hasComponents.apply(void 0, [entity].concat(components));\n}\nfunction hasComponents(entity) {\n for (var _len2 = arguments.length, components = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n components[_key2 - 1] = arguments[_key2];\n }\n return components.every(function (c) {\n return entity[c] !== undefined;\n });\n}\nfunction hasAnyComponents(entity) {\n for (var _len3 = arguments.length, components = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n components[_key3 - 1] = arguments[_key3];\n }\n return components.some(function (c) {\n return entity[c] !== undefined;\n });\n}\nfunction hasNoComponents(entity) {\n for (var _len4 = arguments.length, components = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n components[_key4 - 1] = arguments[_key4];\n }\n return components.every(function (c) {\n return entity[c] === undefined;\n });\n}\n\n/* not */\n\nvar notCache = new Memoizer();\nvar not = function not(predicate) {\n return notCache.get(predicate, function (entity) {\n return !predicate(entity);\n });\n};\n\nvar normalizeComponents = function normalizeComponents(components) {\n return _toConsumableArray(new Set(components.sort().filter(function (c) {\n return !!c && c !== \"\";\n })));\n};\n\n/* Archetype Queries */\n\nvar normalizeQuery = function normalizeQuery(query) {\n return {\n \"with\": query[\"with\"] !== undefined ? normalizeComponents(query[\"with\"]) : [],\n without: query.without !== undefined ? normalizeComponents(query.without) : []\n };\n};\nvar queryCache = new Memoizer();\nvar memoizeQuery = function memoizeQuery(query) {\n var normalizedQuery = normalizeQuery(query);\n var key = JSON.stringify(normalizedQuery);\n return queryCache.get(key, normalizedQuery);\n};\n\n/**\n * An entity-aware bucket providing methods for creating\n * derived buckets, and tracking the buckets derived from it.\n */\nvar EntityBucket = /*#__PURE__*/function (_Bucket) {\n _inherits(EntityBucket, _Bucket);\n var _super = _createSuper(EntityBucket);\n function EntityBucket() {\n var _this;\n _classCallCheck(this, EntityBucket);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"buckets\", new Set());\n return _this;\n }\n _createClass(EntityBucket, [{\n key: \"wants\",\n value:\n /**\n * Returns `true` if the given entity should be in this bucket. Child classes\n * should override this method to implement custom bucket logic.\n *\n * @param entity The entity to check for.\n * @returns `true` if this bucket wants the specified entity, `false` otherwise.\n */\n function wants(entity) {\n return true;\n }\n\n /**\n * Evaluates the given entity (`entity`) to check if it should be in this bucket or not.\n * The entity will be added or removed from this bucket as necessary.\n *\n * If you pass a second argument (`future`) into this function, it will be used\n * for these checks instead of the entity itself. This is useful in sutations\n * where you're about to make a destructive change to the entity, and want to\n * give archetype callbacks a chance to run with the entity intact before actually\n * making the change.\n *\n * @param entity The entity that is being evaluated.\n * @param future An optional future version of the entity that is used in the check.\n */\n }, {\n key: \"evaluate\",\n value: function evaluate(entity) {\n var future = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : entity;\n /* Accept or reject the entity */\n if (this.wants(future)) {\n this.add(entity);\n } else {\n this.remove(entity);\n }\n\n /* If the entity is still in this bucket, update derived buckets. */\n if (this.has(entity)) {\n var _iterator = _createForOfIteratorHelper(this.buckets),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var bucket = _step.value;\n bucket.evaluate(entity, future);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }\n }, {\n key: \"where\",\n value: function where(predicate) {\n var _this2 = this;\n var index = this.entities.length;\n var next = function next() {\n var value;\n do {\n value = _this2.entities[--index];\n } while (value && !predicate(value));\n return {\n value: value,\n done: index < 0\n };\n };\n return _defineProperty({}, Symbol.iterator, function () {\n return {\n next: next\n };\n });\n }\n\n /* with */\n }, {\n key: \"with\",\n value: function _with() {\n return this.archetype.apply(this, arguments);\n }\n\n /* without */\n }, {\n key: \"without\",\n value: function without() {\n for (var _len2 = arguments.length, props = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n props[_key2] = arguments[_key2];\n }\n return this.archetype({\n without: props\n });\n }\n\n /* Predicate form */\n }, {\n key: \"archetype\",\n value: /* Implementation */\n\n function archetype(query) {\n /* Handle the function form */\n if (typeof query === \"function\") {\n var _iterator2 = _createForOfIteratorHelper(this.buckets),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _bucket2 = _step2.value;\n if (_bucket2 instanceof PredicateBucket && _bucket2.predicate === query) {\n return _bucket2;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n var _bucket = new PredicateBucket(this, query);\n this.buckets.add(_bucket);\n return _bucket;\n }\n\n /* Handle the string form */\n if (_typeof(query) !== \"object\") {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n rest[_key3 - 1] = arguments[_key3];\n }\n return this.archetype({\n \"with\": [query].concat(rest)\n });\n }\n\n /* Find and return existing archetype bucket */\n var memoizedQuery = memoizeQuery(query);\n var _iterator3 = _createForOfIteratorHelper(this.buckets),\n _step3;\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _bucket3 = _step3.value;\n if (_bucket3 instanceof ArchetypeBucket && _bucket3.query === memoizedQuery) {\n return _bucket3;\n }\n }\n\n /* Create a new bucket */\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n var bucket = new ArchetypeBucket(this, memoizedQuery);\n this.buckets.add(bucket);\n return bucket;\n }\n }]);\n return EntityBucket;\n}(Bucket);\nvar DerivedEntityBucket = /*#__PURE__*/function (_EntityBucket) {\n _inherits(DerivedEntityBucket, _EntityBucket);\n var _super2 = _createSuper(DerivedEntityBucket);\n function DerivedEntityBucket(source) {\n var _this3;\n _classCallCheck(this, DerivedEntityBucket);\n _this3 = _super2.call(this);\n _this3.source = source;\n return _this3;\n }\n _createClass(DerivedEntityBucket, [{\n key: \"startUpdating\",\n value: function startUpdating() {\n var _this4 = this;\n this.source.onEntityAdded.add(function (e) {\n if (_this4.wants(e)) _this4.add(e);\n });\n this.source.onEntityRemoved.add(function (e) {\n _this4.remove(e);\n });\n this.update();\n }\n\n /**\n * Updates the contents of this bucket by iterating over the entities\n * in its source bucket, re-checking each one to see if it should be\n * in this bucket or not.\n */\n }, {\n key: \"update\",\n value: function update() {\n var _iterator4 = _createForOfIteratorHelper(this.source),\n _step4;\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var entity = _step4.value;\n this.evaluate(entity);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n }]);\n return DerivedEntityBucket;\n}(EntityBucket);\n\n/**\n * A bucket representing a subset of entities that satisfy\n * a given predicate.\n */\nvar PredicateBucket = /*#__PURE__*/function (_DerivedEntityBucket) {\n _inherits(PredicateBucket, _DerivedEntityBucket);\n var _super3 = _createSuper(PredicateBucket);\n function PredicateBucket(source, predicate) {\n var _this5;\n _classCallCheck(this, PredicateBucket);\n _this5 = _super3.call(this, source);\n _this5.source = source;\n _this5.predicate = predicate;\n _this5.startUpdating();\n return _this5;\n }\n _createClass(PredicateBucket, [{\n key: \"wants\",\n value: function wants(entity) {\n return this.predicate(entity);\n }\n }]);\n return PredicateBucket;\n}(DerivedEntityBucket);\n\n/**\n * A bucket representing a subset of entities that have a\n * specific set of components.\n */\nvar ArchetypeBucket = /*#__PURE__*/function (_DerivedEntityBucket2) {\n _inherits(ArchetypeBucket, _DerivedEntityBucket2);\n var _super4 = _createSuper(ArchetypeBucket);\n function ArchetypeBucket(source, query) {\n var _this6;\n _classCallCheck(this, ArchetypeBucket);\n _this6 = _super4.call(this, source);\n _this6.source = source;\n _this6.query = query;\n _this6.startUpdating();\n return _this6;\n }\n _createClass(ArchetypeBucket, [{\n key: \"wants\",\n value: function wants(entity) {\n return hasComponents.apply(void 0, [entity].concat(_toConsumableArray(this.query[\"with\"] || []))) && hasNoComponents.apply(void 0, [entity].concat(_toConsumableArray(this.query.without || [])));\n }\n }]);\n return ArchetypeBucket;\n}(DerivedEntityBucket);\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\nvar World = /*#__PURE__*/function (_EntityBucket) {\n _inherits(World, _EntityBucket);\n var _super = _createSuper(World);\n function World() {\n var _this;\n var entities = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n _classCallCheck(this, World);\n _this = _super.call(this, entities);\n\n /* When entities are removed, also make sure to forget about their IDs. */\n _defineProperty(_assertThisInitialized(_this), \"entityToId\", new Map());\n _defineProperty(_assertThisInitialized(_this), \"idToEntity\", new Map());\n _defineProperty(_assertThisInitialized(_this), \"nextId\", 0);\n _this.onEntityRemoved.add(function (entity) {\n /* Remove the entity from the ID map */\n if (_this.entityToId.has(entity)) {\n var id = _this.entityToId.get(entity);\n _this.idToEntity[\"delete\"](id);\n _this.entityToId[\"delete\"](entity);\n }\n });\n return _this;\n }\n _createClass(World, [{\n key: \"update\",\n value: function (_update) {\n function update(_x, _x2, _x3) {\n return _update.apply(this, arguments);\n }\n update.toString = function () {\n return _update.toString();\n };\n return update;\n }(function (entity, update, value) {\n if (typeof update === \"function\") {\n var partial = update(entity);\n partial && Object.assign(entity, partial);\n } else if (typeof update === \"string\") {\n entity[update] = value;\n } else if (update) {\n Object.assign(entity, update);\n }\n\n /* If this world knows about the entity, notify any derived buckets about the change. */\n if (this.has(entity)) {\n this.evaluate(entity);\n }\n return entity;\n })\n }, {\n key: \"addComponent\",\n value: function addComponent(entity, component, value) {\n /* Return early if the entity already has the component. */\n if (entity[component] !== undefined) return;\n\n /* Set the component */\n entity[component] = value;\n\n /* Touch the entity, triggering re-checks of indices */\n if (this.has(entity)) {\n this.evaluate(entity);\n }\n }\n }, {\n key: \"removeComponent\",\n value: function removeComponent(entity, component) {\n /* Return early if the entity doesn't even have the component. */\n if (entity[component] === undefined) return;\n\n /* If this world knows about the entity, notify any derived buckets about the change. */\n if (this.has(entity)) {\n var future = _objectSpread2({}, entity);\n delete future[component];\n this.evaluate(entity, future);\n }\n\n /* Remove the component. */\n delete entity[component];\n }\n\n /* IDs */\n }, {\n key: \"id\",\n value: function id(entity) {\n /* We only ever want to generate IDs for entities that are actually in the world. */\n if (!this.has(entity)) return undefined;\n\n /* Lazily generate an ID. */\n if (!this.entityToId.has(entity)) {\n var id = this.nextId++;\n this.entityToId.set(entity, id);\n this.idToEntity.set(id, entity);\n }\n return this.entityToId.get(entity);\n }\n }, {\n key: \"entity\",\n value: function entity(id) {\n return this.idToEntity.get(id);\n }\n }]);\n return World;\n}(EntityBucket);\n\nexport { ArchetypeBucket, DerivedEntityBucket, EntityBucket, PredicateBucket, World, hasAnyComponents, hasComponents, hasNoComponents, isArchetype, memoizeQuery, normalizeComponents, normalizeQuery, not };\n","function createQueue() {\n var queue = new Array();\n\n function add(fn) {\n queue.push(fn);\n }\n\n function clear() {\n queue.length = 0;\n }\n\n function flush() {\n queue.forEach(function (fn) {\n return fn();\n });\n clear();\n }\n\n add.clear = clear;\n add.flush = flush;\n return add;\n}\n\nexport { createQueue };\n","export * from '@miniplex/core';\nimport { createQueue } from '@hmans/queue';\n\n/**\n * A simple queue (powered by [@hmans/queue](https://github.com/hmans/things/tree/main/packages/hmans-queue))\n * that can be used to schedule work to be done later. This is mostly provided as a convenience\n * to make upgrading from Miniplex 1.0 (which had queuing functionality built-in) a little easier,\n * and it will be deprecated in a future version.\n */\nvar queue = createQueue();\n\nexport { queue };\n"],"names":["miniplex_entry_exports","__export","ArchetypeBucket","Bucket","DerivedEntityBucket","EntityBucket","PredicateBucket","World","hasAnyComponents","hasComponents","hasNoComponents","isArchetype","memoizeQuery","normalizeComponents","normalizeQuery","not","queue","_arrayLikeToArray","arr","len","i","arr2","_unsupportedIterableToArray","o","minLen","n","_createForOfIteratorHelper","allowArrayLike","it","F","e","normalCompletion","didErr","err","step","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","obj","key","value","Event","listener","_this","payload","_iterator","_step","_arrayLikeToArray","arr","len","i","arr2","_unsupportedIterableToArray","o","minLen","n","_createForOfIteratorHelper","allowArrayLike","it","F","e","normalCompletion","didErr","err","step","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","obj","key","value","_Symbol$iterator","Bucket","entities","Event","_this","index","entity","other","_iterator","_step","_arrayLikeToArray","arr","len","i","arr2","_arrayWithoutHoles","_iterableToArray","iter","_unsupportedIterableToArray","o","minLen","n","_nonIterableSpread","_toConsumableArray","_typeof","obj","_createForOfIteratorHelper","allowArrayLike","it","F","e","normalCompletion","didErr","err","step","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_assertThisInitialized","self","_setPrototypeOf","p","_inherits","subClass","superClass","_getPrototypeOf","_isNativeReflectConstruct","_possibleConstructorReturn","call","_createSuper","Derived","hasNativeReflectConstruct","Super","result","NewTarget","_defineProperty","key","value","Memoizer","predicate","isArchetype","entity","_len","components","_key","hasComponents","_len2","_key2","c","hasAnyComponents","_len3","_key3","hasNoComponents","_len4","_key4","notCache","not","normalizeComponents","normalizeQuery","query","queryCache","memoizeQuery","normalizedQuery","EntityBucket","_Bucket","_super","_this","args","future","_iterator","_step","bucket","_this2","index","next","_iterator2","_step2","_bucket2","PredicateBucket","_bucket","rest","memoizedQuery","_iterator3","_step3","_bucket3","ArchetypeBucket","Bucket","DerivedEntityBucket","_EntityBucket","_super2","source","_this3","_this4","_iterator4","_step4","_DerivedEntityBucket","_super3","_this5","_DerivedEntityBucket2","_super4","_this6","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread2","World","entities","id","_update","update","_x","_x2","_x3","partial","component","createQueue","queue","add","fn","clear","flush","queue","createQueue"],"mappings":"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","debug_id":"ea98cd06-ca6a-5cd3-a8b1-c3fca3e1a378"}