@the-w1zard/the-registry 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +391 -222
  2. package/package.json +32 -33
package/dist/index.js CHANGED
@@ -841,7 +841,7 @@ var src_Rift = /*#__PURE__*/ function() {
841
841
  return Rift;
842
842
  }();
843
843
  var // #region ══════════════════════════════════════════════════════════════════════════════════════════════════════
844
- _waiters = /*#__PURE__*/ new WeakMap(), _data = /*#__PURE__*/ new WeakMap(), _subs = /*#__PURE__*/ new WeakMap(), _any_subs = /*#__PURE__*/ new WeakMap(), _frozen = /*#__PURE__*/ new WeakMap(), _context = /*#__PURE__*/ new WeakMap(), _meta_context = /*#__PURE__*/ new WeakMap(), _global_notify_context = /*#__PURE__*/ new WeakMap(), _notify_context = /*#__PURE__*/ new WeakMap(), _counter = /*#__PURE__*/ new WeakMap(), _epoch = /*#__PURE__*/ new WeakMap(), _asIterator = /*#__PURE__*/ new WeakSet(), _notify = /*#__PURE__*/ new WeakSet(), // [SLAB]
844
+ _waiters = /*#__PURE__*/ new WeakMap(), _data = /*#__PURE__*/ new WeakMap(), _subs = /*#__PURE__*/ new WeakMap(), _any_subs = /*#__PURE__*/ new WeakMap(), _frozen = /*#__PURE__*/ new WeakMap(), _context = /*#__PURE__*/ new WeakMap(), _meta_context = /*#__PURE__*/ new WeakMap(), _global_notify_context = /*#__PURE__*/ new WeakMap(), _notify_context = /*#__PURE__*/ new WeakMap(), _counter = /*#__PURE__*/ new WeakMap(), _epoch = /*#__PURE__*/ new WeakMap(), _hotPath = /*#__PURE__*/ new WeakMap(), _persistent = /*#__PURE__*/ new WeakMap(), _persistent_keys = /*#__PURE__*/ new WeakMap(), src_listeners = /*#__PURE__*/ new WeakMap(), _asIterator = /*#__PURE__*/ new WeakSet(), _notify = /*#__PURE__*/ new WeakSet(), // [SLAB]
845
845
  // #region ══════════════════════════════════════════════════════════════════════════════════════════════════════
846
846
  _rifts = /*#__PURE__*/ new WeakMap(), _deferTasks = /*#__PURE__*/ new WeakMap(), _multiWaiters = /*#__PURE__*/ new WeakMap();
847
847
  var src_Registry = /*#__PURE__*/ function(EventEmitter) {
@@ -887,85 +887,36 @@ var src_Registry = /*#__PURE__*/ function(EventEmitter) {
887
887
  }), _class_private_field_init(_this, _epoch, {
888
888
  writable: true,
889
889
  value: 0
890
- }), _define_property(_this, "r", "_root_"), _define_property(_this, "m", "_master_"), _define_property(_this, "s", "_slave_"), _define_property(_this, "DEVTOOLS_ACTIVE", false), // [STATE]
890
+ }), _define_property(_this, "r", "THE_WIZARD_ROOT_REG"), _define_property(_this, "m", "SAURON_MASTER_REG"), _define_property(_this, "s", "SAURON_SLAVE_REG"), _define_property(_this, "DEVTOOLS_ACTIVE", false), // [STATE]
891
891
  // #region ══════════════════════════════════════════════════════════════════════════════════════════════════════
892
- _define_property(_this, "state", {
893
- getMap: function getMap() {
894
- var slave = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : _this.s, master = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : _this.m, rk = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : _this.r;
895
- var root = _class_private_field_get(_this, _context).get(rk); // (globalThis as any)[rk] // ; (globalThis as any)[rk] = root;
896
- if (!root) {
897
- root = new M2();
898
- _class_private_field_get(_this, _context).set(rk, root);
899
- }
900
- var masterMap = root.get(master);
901
- if (!masterMap) {
902
- masterMap = new M2();
903
- root.set(master, masterMap);
904
- }
905
- var slaveMap = masterMap.get(slave);
906
- if (!slaveMap) {
907
- slaveMap = new M2();
908
- masterMap.set(slave, slaveMap);
909
- }
910
- return slaveMap;
911
- },
912
- getMetadata: function getMetadata() {
913
- var s = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : _this.s, m = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : _this.m, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : _this.r;
914
- var root = _class_private_field_get(_this, _meta_context).get(r); // (globalThis as A)[r]; // STATE_CONTEXT === "sauron" ? : null;
915
- if (!root) {
916
- root = new M2();
917
- _class_private_field_get(_this, _meta_context).set(r, root);
918
- }
919
- var masterMap = root.get(m);
920
- if (!masterMap) {
921
- masterMap = new M2();
922
- root.set(m, masterMap);
923
- }
924
- var metaMap = masterMap.get(s);
925
- if (!metaMap) {
926
- metaMap = {
927
- _batches: new Set(),
928
- _batchQueue: new Map(),
929
- _batchOpts: new Map(),
930
- _history: new Map(),
931
- _timeTravel: new Map(),
932
- _globalListeners: new Set(),
933
- _global_subscribers: new Map(),
934
- _waiters: new Map(),
935
- _sys: new Map(),
936
- _sealed: new Set(),
937
- _frozen: new Set(),
938
- _keyContracts: new Map(),
939
- _conflicts: new Map(),
940
- _conflictStrategies: new Map(),
941
- _causal: new Map(),
942
- _scopes: new Map(),
943
- _msgHandlers: new Map(),
944
- _lastWriteSource: new Map(),
945
- _mainMap: new Map(),
946
- _tupleCache: new Map(),
947
- _weakMap: new WeakMap(),
948
- _boundaries: new WeakMap()
949
- };
950
- masterMap.set(s, metaMap);
951
- }
952
- return metaMap;
953
- },
892
+ _define_property(_this, "_globalNotifyCache", new WeakMap()), _define_property(_this, "_notifyCache", new WeakMap()), _class_private_field_init(_this, _hotPath, {
893
+ writable: true,
894
+ value: _this.getMap(_this.s, _this.m, _this.r)
895
+ }), _class_private_field_init(_this, _persistent, {
896
+ writable: true,
897
+ value: _this.getMap("".concat(_this.s, "_PERSISTENT"), _this.m, _this.r)
898
+ }), _class_private_field_init(_this, _persistent_keys, {
899
+ writable: true,
900
+ value: _this.getMap("".concat(_this.s, "_PERSIST_KEYS"), _this.m, _this.r)
901
+ }), _class_private_field_init(_this, src_listeners, {
902
+ writable: true,
903
+ value: _this.getMap("".concat(_this.s, "_LISTENERS"), _this.m, _this.r)
904
+ }), _define_property(_this, "store", {
954
905
  get: function get(key) {
955
906
  var opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
956
907
  sl_reg: _this.s,
957
908
  ms_reg: _this.m,
958
909
  globalKey: _this.r
959
910
  };
960
- var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
961
- var _state = _this.state.getMap(sl_reg, ms_reg, globalKey);
962
- var _persistent = _this.state.getMap("".concat(sl_reg, "_PERSISTENT"), ms_reg, globalKey);
963
- var _persistKeys = _this.state.getMap("".concat(sl_reg, "_PERSIST_KEYS"), ms_reg, globalKey);
911
+ // const { sl_reg, ms_reg, globalKey } = opts;
912
+ // const _state = this.#hotPath;
913
+ // const _persistent = this.#persistent
914
+ // const _persistKeys = this.#persistent_keys
964
915
  // recordDependency(key)
965
- if (_state.has(key)) return MaybePromise(_state.get(key));
966
- if (_persistKeys.has(key) && _persistent.has(key)) {
967
- var v = _persistent.get(key);
968
- _state.set(key, v);
916
+ if (_class_private_field_get(_this, _hotPath).has(key)) return MaybePromise(_class_private_field_get(_this, _hotPath).get(key));
917
+ if (_class_private_field_get(_this, _persistent_keys).has(key) && _class_private_field_get(_this, _persistent).has(key)) {
918
+ var v = _class_private_field_get(_this, _persistent).get(key);
919
+ _class_private_field_get(_this, _hotPath).set(key, v);
969
920
  return MaybePromise(v);
970
921
  }
971
922
  return undefined;
@@ -979,41 +930,30 @@ var src_Registry = /*#__PURE__*/ function(EventEmitter) {
979
930
  cap: 200
980
931
  };
981
932
  var _opts_triggerRender = opts.triggerRender, triggerRender = _opts_triggerRender === void 0 ? true : _opts_triggerRender, sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey, cap = opts.cap;
982
- var _state = _this.state.getMap(sl_reg, ms_reg, globalKey);
983
- var _persistent = _this.state.getMap("".concat(sl_reg, "_PERSISTENT"), ms_reg, globalKey);
984
- var _persistKeys = _this.state.getMap("".concat(sl_reg, "_PERSIST_KEYS"), ms_reg, globalKey);
985
- var _listeners = _this.state.getMap("".concat(sl_reg, "_LISTENERS"), ms_reg, globalKey);
986
- var prev = _state.get(key);
933
+ // const _state = this.getMap<A, A>(sl_reg, ms_reg, globalKey);
934
+ // const _persistent = this.getMap<A, A>(`${sl_reg}_PERSISTENT`, ms_reg, globalKey);
935
+ // const _persistKeys = this.getMap<A, boolean>(`${sl_reg}_PERSIST_KEYS`, ms_reg, globalKey);
936
+ // const _listeners = this.getMap<A, Set<(value: A) => void>>(`${sl_reg}_LISTENERS`, ms_reg, globalKey);
937
+ var prev = _class_private_field_get(_this, _hotPath).get(key);
987
938
  var next = typeof value === "function" ? value(prev) : value;
988
939
  if (Object.is(prev, next)) return;
989
940
  // TIME TRAVEL
990
- if (!_this.root.TIME_TRAVEL._time_travel_reverting) {
991
- var _hist_findLastIndex, _ref;
992
- var _hist_;
993
- var meta = _this.state.getMetadata(sl_reg, ms_reg, globalKey);
994
- var hist = meta._history.get(key);
995
- if (!hist) {
996
- hist = [];
997
- meta._history.set(key, hist);
998
- }
999
- var lastActive = (_hist_findLastIndex = hist.findLastIndex(function(e) {
1000
- return !e.undone;
1001
- })) !== null && _hist_findLastIndex !== void 0 ? _hist_findLastIndex : -1;
1002
- if (lastActive < hist.length - 1) hist.length = lastActive + 1; // truncate redo tail
1003
- hist.push({
1004
- k: ((_ref = (_hist_ = hist[hist.length - 1]) === null || _hist_ === void 0 ? void 0 : _hist_.k) !== null && _ref !== void 0 ? _ref : 0) + 1,
1005
- prev: prev,
1006
- next: next,
1007
- ts: Date.now(),
1008
- undone: false
1009
- });
1010
- var cap_val = cap !== null && cap !== void 0 ? cap : 200;
1011
- while(hist.length > cap_val)hist.shift();
1012
- }
1013
- _state.set(key, next);
1014
- if (_persistKeys.has(key)) _persistent.set(key, next);
1015
- if (triggerRender) _this.state.scheduleGlobalNotify(key, _this.state.getMetadata(sl_reg, ms_reg, globalKey), opts);
1016
- if (triggerRender) _this.state.scheduleNotify(key, _listeners, _state);
941
+ /**if (!this.root.DRSTime._time_travel_reverting) {
942
+ const meta = this.getMetadata(sl_reg, ms_reg, globalKey);
943
+ let hist = meta._history.get(key);
944
+ if (!hist) {
945
+ hist = [];
946
+ meta._history.set(key, hist);
947
+ }
948
+ const lastActive = hist.findLastIndex((e: HistoryEntry) => !e.undone) ?? -1;
949
+ if (lastActive < hist.length - 1) hist.length = lastActive + 1; // truncate redo tail
950
+ hist.push({ k: (hist[hist.length - 1]?.k ?? 0) + 1, prev, next, ts: Date.now(), undone: false });
951
+ const cap_val = cap ?? 200;
952
+ while (hist.length > cap_val) hist.shift();
953
+ } */ _class_private_field_get(_this, _hotPath).set(key, next);
954
+ if (_class_private_field_get(_this, _persistent_keys).has(key)) _class_private_field_get(_this, _persistent).set(key, next);
955
+ if (triggerRender) _this.scheduleGlobalNotify(key, _this.getMetadata(sl_reg, ms_reg, globalKey), opts);
956
+ if (triggerRender) _this.scheduleNotify(key, _class_private_field_get(_this, src_listeners), _class_private_field_get(_this, _hotPath));
1017
957
  return MaybePromise(next);
1018
958
  },
1019
959
  subscribe: function subscribe(key, listener) {
@@ -1023,13 +963,13 @@ var src_Registry = /*#__PURE__*/ function(EventEmitter) {
1023
963
  globalKey: _this.r
1024
964
  };
1025
965
  var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
1026
- var _listeners = _this.state.getMap("".concat(sl_reg, "_LISTENERS"), ms_reg, globalKey);
1027
- if (!_listeners.has(key)) _listeners.set(key, new Set());
1028
- _listeners.get(key).add(listener);
966
+ // const _listeners = this.getMap<A, Set<(value: A) => void>>(`${sl_reg}_LISTENERS`, ms_reg, globalKey);
967
+ if (!_class_private_field_get(_this, src_listeners).has(key)) _class_private_field_get(_this, src_listeners).set(key, new Set());
968
+ _class_private_field_get(_this, src_listeners).get(key).add(listener);
1029
969
  return function() {
1030
- var _listeners_get, _listeners_get1;
1031
- (_listeners_get = _listeners.get(key)) === null || _listeners_get === void 0 ? void 0 : _listeners_get.delete(listener);
1032
- if (((_listeners_get1 = _listeners.get(key)) === null || _listeners_get1 === void 0 ? void 0 : _listeners_get1.size) === 0) _listeners.delete(key);
970
+ var _class_private_field_get_get, _class_private_field_get_get1;
971
+ (_class_private_field_get_get = _class_private_field_get(_this, src_listeners).get(key)) === null || _class_private_field_get_get === void 0 ? void 0 : _class_private_field_get_get.delete(listener);
972
+ if (((_class_private_field_get_get1 = _class_private_field_get(_this, src_listeners).get(key)) === null || _class_private_field_get_get1 === void 0 ? void 0 : _class_private_field_get_get1.size) === 0) _class_private_field_get(_this, src_listeners).delete(key);
1033
973
  };
1034
974
  },
1035
975
  delete: function _delete(key) {
@@ -1038,21 +978,21 @@ var src_Registry = /*#__PURE__*/ function(EventEmitter) {
1038
978
  ms_reg: _this.m,
1039
979
  globalKey: _this.r
1040
980
  };
1041
- var _listeners_get;
981
+ var _class_private_field_get_get;
1042
982
  var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
1043
- var _state = _this.state.getMap(sl_reg, ms_reg, globalKey);
1044
- var _persistent = _this.state.getMap("".concat(sl_reg, "_PERSISTENT"), ms_reg, globalKey);
1045
- var _persistKeys = _this.state.getMap("".concat(sl_reg, "_PERSIST_KEYS"), ms_reg, globalKey);
1046
- var _listeners = _this.state.getMap("".concat(sl_reg, "_LISTENERS"), ms_reg, globalKey);
1047
- var existed = _state.delete(key);
1048
- if (_persistKeys.has(key)) {
1049
- _persistKeys.delete(key);
1050
- _persistent.delete(key);
983
+ // const _state= this.getMap<A, A>(sl_reg, ms_reg, globalKey);
984
+ //const _persistent = this.getMap<A, A>(`${sl_reg}_PERSISTENT`, ms_reg, globalKey);
985
+ // const _persistKeys = this.getMap<A, boolean>(`${sl_reg}_PERSIST_KEYS`, ms_reg, globalKey);
986
+ //const _listeners = this.getMap<A, Set<(value: A) => void>>(`${sl_reg}_LISTENERS`, ms_reg, globalKey);
987
+ var existed = _class_private_field_get(_this, _hotPath).delete(key);
988
+ if (_class_private_field_get(_this, _persistent_keys).has(key)) {
989
+ _class_private_field_get(_this, _persistent_keys).delete(key);
990
+ _class_private_field_get(_this, _persistent).delete(key);
1051
991
  }
1052
- (_listeners_get = _listeners.get(key)) === null || _listeners_get === void 0 ? void 0 : _listeners_get.forEach(function(l) {
992
+ (_class_private_field_get_get = _class_private_field_get(_this, src_listeners).get(key)) === null || _class_private_field_get_get === void 0 ? void 0 : _class_private_field_get_get.forEach(function(l) {
1053
993
  return l(undefined);
1054
994
  });
1055
- _listeners.delete(key);
995
+ _class_private_field_get(_this, src_listeners).delete(key);
1056
996
  return MaybePromise(existed);
1057
997
  },
1058
998
  entries: function entries() {
@@ -1062,8 +1002,8 @@ var src_Registry = /*#__PURE__*/ function(EventEmitter) {
1062
1002
  globalKey: _this.r
1063
1003
  };
1064
1004
  var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
1065
- var _state = _this.state.getMap(sl_reg, ms_reg, globalKey);
1066
- return MaybePromise(Array.from(_state.entries()));
1005
+ // const _state = this.getMap<A, A>(sl_reg, ms_reg, globalKey);
1006
+ return MaybePromise(Array.from(_class_private_field_get(_this, _hotPath).entries()));
1067
1007
  },
1068
1008
  persist: function persist(key) {
1069
1009
  var opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
@@ -1072,8 +1012,8 @@ var src_Registry = /*#__PURE__*/ function(EventEmitter) {
1072
1012
  globalKey: _this.r
1073
1013
  };
1074
1014
  var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
1075
- var _persistKeys = _this.state.getMap("".concat(sl_reg, "_PERSIST_KEYS"), ms_reg, globalKey);
1076
- _persistKeys.set(key, true);
1015
+ //const _persistKeys = this.getMap<A, boolean>(`${sl_reg}_PERSIST_KEYS`, ms_reg, globalKey);
1016
+ _class_private_field_get(_this, _persistent_keys).set(key, true);
1077
1017
  },
1078
1018
  unpersist: function unpersist(key) {
1079
1019
  var opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
@@ -1082,10 +1022,10 @@ var src_Registry = /*#__PURE__*/ function(EventEmitter) {
1082
1022
  globalKey: _this.r
1083
1023
  };
1084
1024
  var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
1085
- var _persistent = _this.state.getMap("".concat(sl_reg, "_PERSISTENT"), ms_reg, globalKey);
1086
- var _persistKeys = _this.state.getMap("".concat(sl_reg, "_PERSIST_KEYS"), ms_reg, globalKey);
1087
- _persistKeys.delete(key);
1088
- _persistent.delete(key);
1025
+ //const _persistent = this.getMap<A, A>(`${sl_reg}_PERSISTENT`, ms_reg, globalKey);
1026
+ //const _persistKeys = this.getMap<A, boolean>(`${sl_reg}_PERSIST_KEYS`, ms_reg, globalKey);
1027
+ _class_private_field_get(_this, _persistent_keys).delete(key);
1028
+ _class_private_field_get(_this, _persistent).delete(key);
1089
1029
  },
1090
1030
  has: function has(key) {
1091
1031
  var opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
@@ -1094,10 +1034,10 @@ var src_Registry = /*#__PURE__*/ function(EventEmitter) {
1094
1034
  globalKey: _this.r
1095
1035
  };
1096
1036
  var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
1097
- var _state = _this.state.getMap(sl_reg, ms_reg, globalKey);
1098
- var _persistent = _this.state.getMap("".concat(sl_reg, "_PERSISTENT"), ms_reg, globalKey);
1099
- var _persistKeys = _this.state.getMap("".concat(sl_reg, "_PERSIST_KEYS"), ms_reg, globalKey);
1100
- return _state.has(key) || _persistKeys.has(key) && _persistent.has(key);
1037
+ //const _state = this.getMap<A, A>(sl_reg, ms_reg, globalKey);
1038
+ //const _persistent = this.getMap<A, A>(`${sl_reg}_PERSISTENT`, ms_reg, globalKey);
1039
+ //const _persistKeys = this.getMap<A, boolean>(`${sl_reg}_PERSIST_KEYS`, ms_reg, globalKey);
1040
+ return _class_private_field_get(_this, _hotPath).has(key) || _class_private_field_get(_this, _persistent_keys).has(key) && _class_private_field_get(_this, _persistent).has(key);
1101
1041
  },
1102
1042
  clear: function clear() {
1103
1043
  var opts = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
@@ -1106,10 +1046,10 @@ var src_Registry = /*#__PURE__*/ function(EventEmitter) {
1106
1046
  globalKey: _this.r
1107
1047
  };
1108
1048
  var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
1109
- var _state = _this.state.getMap(sl_reg, ms_reg, globalKey);
1110
- var _listeners = _this.state.getMap("".concat(sl_reg, "_LISTENERS"), ms_reg, globalKey);
1111
- _state.clear();
1112
- _listeners.clear();
1049
+ //const _state = this.getMap<A, A>(sl_reg, ms_reg, globalKey);
1050
+ //const _listeners = this.getMap<A, Set<(value: A) => void>>(`${sl_reg}_LISTENERS`, ms_reg, globalKey);
1051
+ _class_private_field_get(_this, _hotPath).clear();
1052
+ _class_private_field_get(_this, src_listeners).clear();
1113
1053
  },
1114
1054
  clearPersistent: function clearPersistent() {
1115
1055
  var opts = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
@@ -1118,10 +1058,10 @@ var src_Registry = /*#__PURE__*/ function(EventEmitter) {
1118
1058
  globalKey: _this.r
1119
1059
  };
1120
1060
  var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
1121
- var _persistent = _this.state.getMap("".concat(sl_reg, "_PERSISTENT"), ms_reg, globalKey);
1122
- var _persistKeys = _this.state.getMap("".concat(sl_reg, "_PERSIST_KEYS"), ms_reg, globalKey);
1123
- _persistent.clear();
1124
- _persistKeys.clear();
1061
+ //const _persistent = this.getMap<A, A>(`${sl_reg}_PERSISTENT`, ms_reg, globalKey);
1062
+ //const _persistKeys = this.getMap<A, boolean>(`${sl_reg}_PERSIST_KEYS`, ms_reg, globalKey);
1063
+ _class_private_field_get(_this, _persistent).clear();
1064
+ _class_private_field_get(_this, _persistent_keys).clear();
1125
1065
  },
1126
1066
  _emit: function _emit(key) {
1127
1067
  var sl_reg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : _this.s, ms_reg = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : _this.m, globalKey = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : _this.r;
@@ -1130,99 +1070,167 @@ var src_Registry = /*#__PURE__*/ function(EventEmitter) {
1130
1070
  ms_reg: ms_reg,
1131
1071
  globalKey: globalKey
1132
1072
  };
1133
- var _state = _this.state.getMap(sl_reg, ms_reg, globalKey);
1134
- var _listeners = _this.state.getMap("".concat(sl_reg, "_LISTENERS"), ms_reg, globalKey);
1135
- var meta = _this.state.getMetadata(sl_reg, ms_reg, globalKey);
1136
- _this.state.scheduleNotify(key, _listeners, _state);
1137
- _this.state.scheduleGlobalNotify(key, meta, opts);
1073
+ //const _state = this.getMap(sl_reg, ms_reg, globalKey);
1074
+ //const _listeners = this.getMap<A, Set<(value: A) => void>>(`${sl_reg}_LISTENERS`, ms_reg, globalKey);
1075
+ var meta = _this.getMetadata(sl_reg, ms_reg, globalKey);
1076
+ _this.scheduleNotify(key, _class_private_field_get(_this, src_listeners), _class_private_field_get(_this, _hotPath));
1077
+ _this.scheduleGlobalNotify(key, meta, opts);
1078
+ }
1079
+ }), _define_property(_this, "state", {
1080
+ get: function get(key) {
1081
+ var opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
1082
+ sl_reg: _this.s,
1083
+ ms_reg: _this.m,
1084
+ globalKey: _this.r
1085
+ };
1086
+ return MaybePromise(_this.store.get(key, opts));
1138
1087
  },
1139
- scheduleNotify: function scheduleNotify(key, _listeners, _state) {
1140
- var cache = _class_private_field_get(_this, _notify_context).get(_listeners);
1141
- if (!cache) {
1142
- cache = new Map();
1143
- _class_private_field_get(_this, _notify_context).set(_listeners, cache);
1144
- }
1145
- var fn = cache.get(key);
1146
- if (!fn) {
1147
- fn = function fn() {
1148
- var _listeners_get;
1149
- cache.delete(key);
1150
- var val = _state.get(key);
1151
- (_listeners_get = _listeners.get(key)) === null || _listeners_get === void 0 ? void 0 : _listeners_get.forEach(function(l) {
1152
- return l(val);
1153
- });
1154
- };
1155
- cache.set(key, fn);
1156
- }
1157
- _this.onFlush(fn);
1088
+ set: function set(key, value) {
1089
+ var opts = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {
1090
+ sl_reg: _this.s,
1091
+ ms_reg: _this.m,
1092
+ globalKey: _this.r
1093
+ };
1094
+ var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey, _opts_triggerRender = opts.triggerRender, triggerRender = _opts_triggerRender === void 0 ? true : _opts_triggerRender;
1095
+ _this.store.set(key, value, {
1096
+ triggerRender: triggerRender,
1097
+ sl_reg: sl_reg,
1098
+ ms_reg: ms_reg,
1099
+ globalKey: globalKey
1100
+ });
1101
+ return MaybePromise(value);
1158
1102
  },
1159
- scheduleGlobalNotify: function scheduleGlobalNotify(key, meta, opts) {
1160
- var cache = _class_private_field_get(_this, _global_notify_context).get(meta);
1161
- if (!cache) {
1162
- cache = new Map();
1163
- _class_private_field_get(_this, _global_notify_context).set(meta, cache);
1164
- }
1165
- var fn = cache.get(key);
1166
- if (!fn) {
1167
- fn = function fn() {
1168
- cache.delete(key);
1169
- var finalVal = _this.state.get(key, opts);
1170
- var waiters = meta._waiters.get(key);
1171
- if (waiters) {
1172
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1103
+ delete: function _delete(key) {
1104
+ var opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
1105
+ sl_reg: _this.s,
1106
+ ms_reg: _this.m,
1107
+ globalKey: _this.r
1108
+ };
1109
+ var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
1110
+ var meta = _this.getMetadata(sl_reg, ms_reg, globalKey);
1111
+ var deleted = _this.store.delete(key, opts);
1112
+ if (deleted) {
1113
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1114
+ try {
1115
+ for(var _iterator = meta._globalListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
1116
+ var listener = _step.value;
1173
1117
  try {
1174
- for(var _iterator = waiters[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
1175
- var resolveFn = _step.value;
1176
- try {
1177
- resolveFn(finalVal);
1178
- } catch (err) {
1179
- console.error("[Sauron Waiter Error]:", err);
1180
- }
1181
- }
1118
+ listener(key, undefined);
1182
1119
  } catch (err) {
1183
- _didIteratorError = true;
1184
- _iteratorError = err;
1185
- } finally{
1186
- try {
1187
- if (!_iteratorNormalCompletion && _iterator.return != null) {
1188
- _iterator.return();
1189
- }
1190
- } finally{
1191
- if (_didIteratorError) {
1192
- throw _iteratorError;
1193
- }
1194
- }
1120
+ console.error("[Sauron Global Listener Error]:", err);
1195
1121
  }
1196
- meta._waiters.delete(key);
1197
1122
  }
1198
- var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
1123
+ } catch (err) {
1124
+ _didIteratorError = true;
1125
+ _iteratorError = err;
1126
+ } finally{
1199
1127
  try {
1200
- for(var _iterator1 = meta._globalListeners[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
1201
- var listener = _step1.value;
1202
- try {
1203
- listener(key, finalVal);
1204
- } catch (err) {
1205
- console.error("[Sauron Global Listener Error]:", err);
1206
- }
1128
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1129
+ _iterator.return();
1207
1130
  }
1208
- } catch (err) {
1209
- _didIteratorError1 = true;
1210
- _iteratorError1 = err;
1211
1131
  } finally{
1212
- try {
1213
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1214
- _iterator1.return();
1215
- }
1216
- } finally{
1217
- if (_didIteratorError1) {
1218
- throw _iteratorError1;
1219
- }
1132
+ if (_didIteratorError) {
1133
+ throw _iteratorError;
1220
1134
  }
1221
1135
  }
1136
+ }
1137
+ }
1138
+ return deleted;
1139
+ },
1140
+ getByPrefix: function getByPrefix(prefix) {
1141
+ var opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
1142
+ sl_reg: _this.s,
1143
+ ms_reg: _this.m,
1144
+ globalKey: _this.r
1145
+ };
1146
+ return _this.store.entries(opts).filter(function(param) {
1147
+ var _param = _sliced_to_array(param, 1), key = _param[0];
1148
+ return typeof key === "string" && key.startsWith(prefix);
1149
+ }).map(function(param) {
1150
+ var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
1151
+ return {
1152
+ key: key,
1153
+ value: value
1222
1154
  };
1223
- cache.set(key, fn);
1155
+ });
1156
+ },
1157
+ getAll: function getAll() {
1158
+ var opts = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
1159
+ sl_reg: _this.s,
1160
+ ms_reg: _this.m,
1161
+ globalKey: _this.r
1162
+ };
1163
+ var result = {};
1164
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1165
+ try {
1166
+ for(var _iterator = _this.store.entries(opts)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
1167
+ var _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
1168
+ result[key] = value;
1169
+ }
1170
+ } catch (err) {
1171
+ _didIteratorError = true;
1172
+ _iteratorError = err;
1173
+ } finally{
1174
+ try {
1175
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1176
+ _iterator.return();
1177
+ }
1178
+ } finally{
1179
+ if (_didIteratorError) {
1180
+ throw _iteratorError;
1181
+ }
1182
+ }
1224
1183
  }
1225
- _this.onFlush(fn);
1184
+ return result;
1185
+ },
1186
+ subscribe: function subscribe(key, listener) {
1187
+ var opts = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {
1188
+ sl_reg: _this.s,
1189
+ ms_reg: _this.m,
1190
+ globalKey: _this.r
1191
+ };
1192
+ return _this.store.subscribe(key, listener, opts);
1193
+ },
1194
+ subscribeAll: function subscribeAll(listener) {
1195
+ var opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
1196
+ sl_reg: _this.s,
1197
+ ms_reg: _this.m,
1198
+ globalKey: _this.r
1199
+ };
1200
+ var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
1201
+ var meta = _this.getMetadata(sl_reg, ms_reg, globalKey);
1202
+ meta._globalListeners.add(listener);
1203
+ return function() {
1204
+ meta._globalListeners.delete(listener);
1205
+ };
1206
+ },
1207
+ clear: function clear() {
1208
+ var opts = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
1209
+ sl_reg: _this.s,
1210
+ ms_reg: _this.m,
1211
+ globalKey: _this.r
1212
+ };
1213
+ var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
1214
+ var meta = _this.getMetadata(sl_reg, ms_reg, globalKey);
1215
+ _this.store.clear(opts);
1216
+ meta._waiters.clear();
1217
+ meta._globalListeners.clear();
1218
+ },
1219
+ waitFor: function waitFor(key) {
1220
+ var opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
1221
+ sl_reg: _this.s,
1222
+ ms_reg: _this.m,
1223
+ globalKey: _this.r
1224
+ };
1225
+ var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
1226
+ var meta = _this.getMetadata(sl_reg, ms_reg, globalKey);
1227
+ // If it already exists, resolve immediately
1228
+ var existing = _this.state.get(key, opts);
1229
+ if (existing !== undefined) return Promise.resolve(existing);
1230
+ return new Promise(function(resolve) {
1231
+ if (!meta._waiters.has(key)) meta._waiters.set(key, new Set());
1232
+ meta._waiters.get(key).add(resolve);
1233
+ });
1226
1234
  }
1227
1235
  }), _class_private_field_init(_this, _rifts, {
1228
1236
  writable: true,
@@ -3401,6 +3409,168 @@ var src_Registry = /*#__PURE__*/ function(EventEmitter) {
3401
3409
  return this._byteid();
3402
3410
  }
3403
3411
  },
3412
+ {
3413
+ key: "scheduleGlobalNotify",
3414
+ value: function scheduleGlobalNotify(key, meta, opts) {
3415
+ var _this = this;
3416
+ var cache = this._globalNotifyCache.get(meta);
3417
+ if (!cache) {
3418
+ cache = new Map();
3419
+ this._globalNotifyCache.set(meta, cache);
3420
+ }
3421
+ var fn = cache.get(key);
3422
+ if (!fn) {
3423
+ fn = function fn() {
3424
+ cache.delete(key);
3425
+ var finalVal = _this.store.get(key, opts);
3426
+ var waiters = meta._waiters.get(key);
3427
+ if (waiters) {
3428
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
3429
+ try {
3430
+ for(var _iterator = waiters[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
3431
+ var resolveFn = _step.value;
3432
+ try {
3433
+ resolveFn(finalVal);
3434
+ } catch (err) {
3435
+ console.error("[Sauron Waiter Error]:", err);
3436
+ }
3437
+ }
3438
+ } catch (err) {
3439
+ _didIteratorError = true;
3440
+ _iteratorError = err;
3441
+ } finally{
3442
+ try {
3443
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
3444
+ _iterator.return();
3445
+ }
3446
+ } finally{
3447
+ if (_didIteratorError) {
3448
+ throw _iteratorError;
3449
+ }
3450
+ }
3451
+ }
3452
+ meta._waiters.delete(key);
3453
+ }
3454
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
3455
+ try {
3456
+ for(var _iterator1 = meta._globalListeners[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
3457
+ var listener = _step1.value;
3458
+ try {
3459
+ listener(key, finalVal);
3460
+ } catch (err) {
3461
+ console.error("[Sauron Global Listener Error]:", err);
3462
+ }
3463
+ }
3464
+ } catch (err) {
3465
+ _didIteratorError1 = true;
3466
+ _iteratorError1 = err;
3467
+ } finally{
3468
+ try {
3469
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
3470
+ _iterator1.return();
3471
+ }
3472
+ } finally{
3473
+ if (_didIteratorError1) {
3474
+ throw _iteratorError1;
3475
+ }
3476
+ }
3477
+ }
3478
+ };
3479
+ cache.set(key, fn);
3480
+ }
3481
+ this.onFlush(fn);
3482
+ }
3483
+ },
3484
+ {
3485
+ key: "scheduleNotify",
3486
+ value: function scheduleNotify(key, _listeners, _state) {
3487
+ var cache = this._notifyCache.get(_listeners);
3488
+ if (!cache) {
3489
+ cache = new Map();
3490
+ this._notifyCache.set(_listeners, cache);
3491
+ }
3492
+ var fn = cache.get(key);
3493
+ if (!fn) {
3494
+ fn = function fn() {
3495
+ var _listeners_get;
3496
+ cache.delete(key);
3497
+ var val = _state.get(key);
3498
+ (_listeners_get = _listeners.get(key)) === null || _listeners_get === void 0 ? void 0 : _listeners_get.forEach(function(l) {
3499
+ return l(val);
3500
+ });
3501
+ };
3502
+ cache.set(key, fn);
3503
+ }
3504
+ this.onFlush(fn);
3505
+ }
3506
+ },
3507
+ {
3508
+ key: "getMap",
3509
+ value: function getMap() {
3510
+ var slave = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.s, master = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.m, rk = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this.r;
3511
+ var root = _class_private_field_get(this, _context).get(rk); // (globalThis as any)[rk] // ; (globalThis as any)[rk] = root;
3512
+ if (!root) {
3513
+ root = new M2();
3514
+ _class_private_field_get(this, _context).set(rk, root);
3515
+ }
3516
+ var masterMap = root.get(master);
3517
+ if (!masterMap) {
3518
+ masterMap = new M2();
3519
+ root.set(master, masterMap);
3520
+ }
3521
+ var slaveMap = masterMap.get(slave);
3522
+ if (!slaveMap) {
3523
+ slaveMap = new M2();
3524
+ masterMap.set(slave, slaveMap);
3525
+ }
3526
+ return slaveMap;
3527
+ }
3528
+ },
3529
+ {
3530
+ key: "getMetadata",
3531
+ value: function getMetadata() {
3532
+ var s = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.s, m = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.m, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this.r;
3533
+ var root = _class_private_field_get(this, _meta_context).get(r); // (globalThis as A)[r]; // STATE_CONTEXT === "sauron" ? : null;
3534
+ if (!root) {
3535
+ root = new M2();
3536
+ _class_private_field_get(this, _meta_context).set(r, root);
3537
+ }
3538
+ var masterMap = root.get(m);
3539
+ if (!masterMap) {
3540
+ masterMap = new M2();
3541
+ root.set(m, masterMap);
3542
+ }
3543
+ var metaMap = masterMap.get(s);
3544
+ if (!metaMap) {
3545
+ metaMap = {
3546
+ _batches: new Set(),
3547
+ _batchQueue: new Map(),
3548
+ _batchOpts: new Map(),
3549
+ _history: new Map(),
3550
+ _timeTravel: new Map(),
3551
+ _globalListeners: new Set(),
3552
+ _global_subscribers: new Map(),
3553
+ _waiters: new Map(),
3554
+ _sys: new Map(),
3555
+ _sealed: new Set(),
3556
+ _frozen: new Set(),
3557
+ _keyContracts: new Map(),
3558
+ _conflicts: new Map(),
3559
+ _conflictStrategies: new Map(),
3560
+ _causal: new Map(),
3561
+ _scopes: new Map(),
3562
+ _msgHandlers: new Map(),
3563
+ _lastWriteSource: new Map(),
3564
+ _mainMap: new Map(),
3565
+ _tupleCache: new Map(),
3566
+ _weakMap: new WeakMap(),
3567
+ _boundaries: new WeakMap()
3568
+ };
3569
+ masterMap.set(s, metaMap);
3570
+ }
3571
+ return metaMap;
3572
+ }
3573
+ },
3404
3574
  {
3405
3575
  key: "onFlush",
3406
3576
  value: function onFlush(cb) {
@@ -4144,5 +4314,4 @@ function notify(key, value, prev) {
4144
4314
  }
4145
4315
  }
4146
4316
 
4147
-
4148
4317
  export { src_Registry as Registry, src_rv as rv, src_sameValue as sameValue };
package/package.json CHANGED
@@ -1,50 +1,49 @@
1
1
  {
2
2
  "name": "@the-w1zard/the-registry",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "exports": {
8
- ".": {
9
- "types": "./src/index.d.ts",
10
- "default": "./dist/index.js"
11
- }
8
+ ".": {
9
+ "types": "./src/index.d.ts",
10
+ "default": "./dist/index.js"
11
+ }
12
12
  },
13
13
  "files": [
14
- "dist",
15
- "./src/index.d.ts"
14
+ "dist",
15
+ "./src/index.d.ts"
16
16
  ],
17
17
  "scripts": {
18
- "build": "rspack build",
19
- "build1": "rspack build",
20
- "dev": "rspack serve",
21
- "check": "tsc --noEmit"
18
+ "build": "rspack build",
19
+ "build1": "rspack build",
20
+ "dev": "rspack serve",
21
+ "check": "tsc --noEmit"
22
22
  },
23
23
  "devDependencies": {
24
- "@babel/parser": "^8.1.0",
25
- "@babel/traverse": "^8.1.0",
26
- "@babel/types": "^8.1.0",
27
- "@rspack/cli": "^2.3.1",
28
- "@rspack/core": "^2.3.1",
29
- "@rspack/dev-server": "^2.2.2",
30
- "@the-w1zard/alias_types": "^1.0.2",
31
- "@the-w1zard/types": "^1.0.6",
32
- "@tsconfig/node-lts": "^24.0.0",
33
- "@types/node": "^24.0.0",
34
- "typescript": "^7.0.2"
24
+ "@babel/parser": "^8.1.0",
25
+ "@babel/traverse": "^8.1.0",
26
+ "@babel/types": "^8.1.0",
27
+ "@rspack/cli": "^2.3.1",
28
+ "@rspack/core": "^2.3.1",
29
+ "@rspack/dev-server": "^2.2.2",
30
+ "@the-w1zard/alias_types": "^1.0.2",
31
+ "@the-w1zard/types": "^1.0.6",
32
+ "@tsconfig/node-lts": "^24.0.0",
33
+ "@types/node": "^24.0.0",
34
+ "typescript": "^7.0.2"
35
35
  },
36
36
  "dependencies": {
37
- "@the-w1zard/dx": "^1.0.8"
37
+ "@the-w1zard/dx": "^1.0.8"
38
38
  },
39
39
  "imports": {
40
- "#STR": "@the-w1zard/app_store",
41
- "#tc": "./src/the-cloud.ts",
42
- "#the-cloud": "./src/the-cloud.ts",
43
- "#PRIM": "@the-w1zard/prims",
44
- "#sauron": "./src/index.ts",
45
- "#sr": "./src/sauron.ts",
46
- "#SS": "@the-w1zard/solutions",
47
- "#HPR": "@the-w1zard/prim_helpers"
40
+ "#STR": "@the-w1zard/app_store",
41
+ "#tc": "./src/the-cloud.ts",
42
+ "#the-cloud": "./src/the-cloud.ts",
43
+ "#PRIM": "@the-w1zard/prims",
44
+ "#sauron": "./src/index.ts",
45
+ "#sr": "./src/sauron.ts",
46
+ "#SS": "@the-w1zard/solutions",
47
+ "#HPR": "@the-w1zard/prim_helpers"
48
48
  }
49
- }
50
-
49
+ }