registry-base.js 954 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. class RegistryBase {
  4. constructor() {
  5. this._registryMap = new Map();
  6. }
  7. entries() {
  8. return this._registryMap.entries();
  9. }
  10. getAll(key) {
  11. this.ensure(key);
  12. return this._registryMap.get(key);
  13. }
  14. get(key) {
  15. this.ensure(key);
  16. const value = this._registryMap.get(key);
  17. return value[value.length - 1] || null;
  18. }
  19. set(key, value) {
  20. this.ensure(key);
  21. this._registryMap.get(key).push(value);
  22. }
  23. setAll(key, value) {
  24. this._registryMap.set(key, value);
  25. }
  26. has(key) {
  27. this.ensure(key);
  28. return this._registryMap.get(key).length > 0;
  29. }
  30. clear() {
  31. this._registryMap.clear();
  32. }
  33. ensure(key) {
  34. if (!this._registryMap.has(key)) {
  35. this._registryMap.set(key, []);
  36. }
  37. }
  38. }
  39. exports.default = RegistryBase;