UNPKG

@nymphjs/client

Version:

Nymph.js - Client

27 lines 830 B
export default class EntityWeakCache { references = new WeakMap(); get(EntityClass, guid) { const classMap = this.references.get(EntityClass); if (classMap && guid in classMap) { const weakRef = classMap[guid]; const deref = weakRef && weakRef.deref(); if (deref != null) { return deref; } else { delete classMap[guid]; } } return null; } set(EntityClass, entity) { if (!entity.guid) { return; } const weakRef = new WeakRef(entity); const classMap = this.references.get(EntityClass) || {}; this.references.set(EntityClass, classMap); classMap[entity.guid] = weakRef; } } //# sourceMappingURL=EntityWeakCache.js.map