@the-w1zard/the-registry 1.0.5 → 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.
- package/dist/index.js +391 -222
- package/package.json +1 -1
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", "
|
|
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, "
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
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
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
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 (
|
|
966
|
-
if (
|
|
967
|
-
var v = _persistent.get(key);
|
|
968
|
-
|
|
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
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
var prev =
|
|
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 (!
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
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
|
-
|
|
1027
|
-
if (!
|
|
1028
|
-
|
|
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
|
|
1031
|
-
(
|
|
1032
|
-
if (((
|
|
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
|
|
981
|
+
var _class_private_field_get_get;
|
|
1042
982
|
var sl_reg = opts.sl_reg, ms_reg = opts.ms_reg, globalKey = opts.globalKey;
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
var existed =
|
|
1048
|
-
if (
|
|
1049
|
-
|
|
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
|
-
(
|
|
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
|
-
|
|
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
|
-
|
|
1066
|
-
return MaybePromise(Array.from(
|
|
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
|
-
|
|
1076
|
-
|
|
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
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
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
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
return
|
|
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
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
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
|
-
|
|
1122
|
-
|
|
1123
|
-
_persistent.clear();
|
|
1124
|
-
|
|
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
|
-
|
|
1134
|
-
|
|
1135
|
-
var meta = _this.
|
|
1136
|
-
_this.
|
|
1137
|
-
_this.
|
|
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
|
-
|
|
1140
|
-
var
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
}
|
|
1145
|
-
var
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
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
|
-
|
|
1160
|
-
var
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
}
|
|
1165
|
-
var
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
var
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1123
|
+
} catch (err) {
|
|
1124
|
+
_didIteratorError = true;
|
|
1125
|
+
_iteratorError = err;
|
|
1126
|
+
} finally{
|
|
1199
1127
|
try {
|
|
1200
|
-
|
|
1201
|
-
|
|
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
|
-
|
|
1213
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 };
|