registry.js 702 B

1234567891011121314151617181920212223242526
  1. import { DoubleIndexedKV } from './double-indexed-kv.js';
  2. export class Registry {
  3. constructor(generateIdentifier) {
  4. this.generateIdentifier = generateIdentifier;
  5. this.kv = new DoubleIndexedKV();
  6. }
  7. register(value, identifier) {
  8. if (this.kv.getByValue(value)) {
  9. return;
  10. }
  11. if (!identifier) {
  12. identifier = this.generateIdentifier(value);
  13. }
  14. this.kv.set(identifier, value);
  15. }
  16. clear() {
  17. this.kv.clear();
  18. }
  19. getIdentifier(value) {
  20. return this.kv.getByValue(value);
  21. }
  22. getValue(identifier) {
  23. return this.kv.getByKey(identifier);
  24. }
  25. }
  26. //# sourceMappingURL=registry.js.map