@the-w1zard/the-registry 1.0.5 → 1.0.7
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.d.ts +246 -0
- package/dist/index.js +394 -226
- package/package.json +3 -3
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
declare const EventEmitter: any;
|
|
2
|
+
type FlushCallback = () => V;
|
|
3
|
+
export declare const rv: <T>(v: UF<T>) => T;
|
|
4
|
+
export declare const sameValue: (a: A, b: A) => B;
|
|
5
|
+
export declare class Registry extends EventEmitter {
|
|
6
|
+
#private;
|
|
7
|
+
_byteid(): string;
|
|
8
|
+
_sid(): string;
|
|
9
|
+
b(): string;
|
|
10
|
+
r: string;
|
|
11
|
+
m: string;
|
|
12
|
+
s: string;
|
|
13
|
+
DEVTOOLS_ACTIVE: boolean;
|
|
14
|
+
constructor();
|
|
15
|
+
_globalNotifyCache: WeakMap<any, Map<any, () => void>>;
|
|
16
|
+
_notifyCache: WeakMap<Map<any, Set<(value: A) => void>>, Map<any, () => void>>;
|
|
17
|
+
scheduleGlobalNotify(key: string | symbol, meta: A, opts: ScopeOptions): void;
|
|
18
|
+
scheduleNotify(key: A, _listeners: M2<A, Set<(value: A) => void>>, _state: Map<A, A>): void;
|
|
19
|
+
getMap<K, V>(slave?: A, master?: A, rk?: A): M2<K, V>;
|
|
20
|
+
getMetadata(s?: string, m?: string, r?: string): any;
|
|
21
|
+
store: {
|
|
22
|
+
get: <T = A>(key: A, opts?: ScopeOptions) => T | undefined;
|
|
23
|
+
set: <T = A>(key: A, value: T | ((prev: T | undefined) => T), opts?: {
|
|
24
|
+
triggerRender?: boolean;
|
|
25
|
+
cap?: number;
|
|
26
|
+
} & ScopeOptions) => any;
|
|
27
|
+
subscribe: <T = A>(key: A, listener: (value: T) => void, opts?: ScopeOptions) => (() => void);
|
|
28
|
+
delete: (key: A, opts?: ScopeOptions) => boolean;
|
|
29
|
+
entries: <T = A>(opts?: ScopeOptions) => [A, T][];
|
|
30
|
+
persist: (key: A, opts?: ScopeOptions) => void;
|
|
31
|
+
unpersist: (key: A, opts?: ScopeOptions) => void;
|
|
32
|
+
has: (key: A, opts?: ScopeOptions) => boolean;
|
|
33
|
+
clear: (opts?: ScopeOptions) => void;
|
|
34
|
+
clearPersistent: (opts?: ScopeOptions) => void;
|
|
35
|
+
_emit: (key: string | symbol, sl_reg?: string, ms_reg?: string, globalKey?: string) => void;
|
|
36
|
+
};
|
|
37
|
+
state: {
|
|
38
|
+
get: <T = A>(key: string | symbol, opts?: ScopeOptions) => T | undefined;
|
|
39
|
+
set: <T = A>(key: string | symbol, value: T | ((prev: T | undefined) => T), opts?: {
|
|
40
|
+
triggerRender?: boolean;
|
|
41
|
+
} & ScopeOptions) => void;
|
|
42
|
+
delete: (key: string | symbol, opts?: ScopeOptions) => boolean;
|
|
43
|
+
getByPrefix: <T = A>(prefix: string, opts?: ScopeOptions) => {
|
|
44
|
+
key: string;
|
|
45
|
+
value: T;
|
|
46
|
+
}[];
|
|
47
|
+
getAll: <T = A>(opts?: ScopeOptions) => Record<string | symbol, T>;
|
|
48
|
+
subscribe: <T = A>(key: string | symbol, listener: (value: T) => void, opts?: ScopeOptions) => (() => void);
|
|
49
|
+
subscribeAll: (listener: (key: string | symbol, value: A) => void, opts?: ScopeOptions) => (() => void);
|
|
50
|
+
clear: (opts?: ScopeOptions) => void;
|
|
51
|
+
waitFor: <T = A>(key: string | symbol, opts?: ScopeOptions) => Promise<T>;
|
|
52
|
+
};
|
|
53
|
+
onFlush(cb: FlushCallback): void;
|
|
54
|
+
scheduleDrain(): void;
|
|
55
|
+
drain(): void;
|
|
56
|
+
set(key: A, value: A): this;
|
|
57
|
+
setLazy(key: A, make: () => A): this;
|
|
58
|
+
delete(key: A): boolean;
|
|
59
|
+
clear(): void;
|
|
60
|
+
subscribe(fn: (value: A, prev: A, key: S) => V): () => V;
|
|
61
|
+
subscribe(key: S, fn: (value: A, prev: A, key: S) => V, opts?: {
|
|
62
|
+
immediate?: B;
|
|
63
|
+
}): () => V;
|
|
64
|
+
subscribe(key: S, opts?: {
|
|
65
|
+
immediate?: B;
|
|
66
|
+
}): AsyncGenerator<A, V, U>;
|
|
67
|
+
unsubscribeAll(fns: Iterable<FN>): void;
|
|
68
|
+
subscribersOf(keys: S[]): A;
|
|
69
|
+
get<T = A>(key: S): T | UD;
|
|
70
|
+
get<T = A>(key: S, fallback: T): T;
|
|
71
|
+
getAll(): A;
|
|
72
|
+
has(key: A): any;
|
|
73
|
+
freeze(): void;
|
|
74
|
+
wait(key: A, { predicate, timeout, immediate, signal }?: A): Promise<any>;
|
|
75
|
+
waitChange(key: A, opts?: {}): Promise<any>;
|
|
76
|
+
waitFor(key: A, predicate: A, opts?: {}): Promise<any>;
|
|
77
|
+
setIfAbsent(key: A, value: U): boolean;
|
|
78
|
+
setIfPresent(key: A, value: U): boolean;
|
|
79
|
+
replace(key: A, value: U): boolean;
|
|
80
|
+
update(key: A, fn: (old: A, has: B) => A, initial: U): any;
|
|
81
|
+
inc(key: A, by?: number): any;
|
|
82
|
+
touch(key: A): boolean;
|
|
83
|
+
toJSON(): any;
|
|
84
|
+
entries(): any;
|
|
85
|
+
keys(): any;
|
|
86
|
+
values(): any;
|
|
87
|
+
find(pred: A): any;
|
|
88
|
+
findKey(pred: A): any;
|
|
89
|
+
group(fn: A): any;
|
|
90
|
+
pick(keys: A): any;
|
|
91
|
+
omit(keys: A): any;
|
|
92
|
+
snapshot(): A;
|
|
93
|
+
equals(other: A): any;
|
|
94
|
+
snapshotSubs(): any;
|
|
95
|
+
nextWaiterId: number;
|
|
96
|
+
private nextDeferId;
|
|
97
|
+
private draining;
|
|
98
|
+
private drainAgain;
|
|
99
|
+
private deferStats;
|
|
100
|
+
private autoCloud;
|
|
101
|
+
private warnedUseBeforeReady;
|
|
102
|
+
private ENV_STATE;
|
|
103
|
+
private shout;
|
|
104
|
+
/** the results view — computed from the ONE registry, stored nowhere */
|
|
105
|
+
get results(): RO<Array<ResultRecord>>;
|
|
106
|
+
get size(): N;
|
|
107
|
+
static readonly MODULE_LEVEL_CANDIDATES: readonly ["typescript", "rollup", "vite", "eslint", "babel", "postcss", "tailwindcss", "@babel/core", "prettier", "stylelint", "sass", "less", "jest", "vitest", "playwright", "@types/vscode"];
|
|
108
|
+
static readonly PLATFORM_CANDIDATES: readonly ["PROJECT_PLATFORM_KILLER", "react", "preact", "@remix-run/react", "@react-router/react", "next", "nuxt", "svelte", "solid", "vite", "arfa", "vue", "angular", "astro", "gatsby", "dojo", "inferno", "lupine", "ember-source", "backbone", "alpinejs", "lit", "marko", "@builder.io/qwik", "solid-start", "@sveltejs/kit", "meteor", "stencil", "aurelia", "nodiff", "qwik", "velo-type", "webpack"];
|
|
109
|
+
static readonly COMPILER_CANDIDATES: readonly ["rspack", "webpack", "vite", "rollup", "esbuild", "swc-loader", "babel", "next", "nuxt", "@remix-run/react", "@react-router/react", "svelte", "solid", "vue", "@swc/core", "turbopack", "parcel", "tsup", "unbuild", "esbuild-loader", "@babel/core", "terser", "@angular/core", "@angular/compile"];
|
|
110
|
+
static readonly BUNDLER_CANDIDATES: readonly ["bun", "pnpm", "yarn", "npm"];
|
|
111
|
+
static readonly ADAPTER_CANDIDATES: readonly ["websocket_dev_server", "cross_app_ws_server", "terminal_ngin_proxy_register", "terminal_ngin_proxy", "workspace_hub_server", "workspace_hub_client", "cross_app_ws_client", "cse_cross_app_server", "cse_cross_app_client", "shared_worker", "service_worker", "unix_worker", "broadcastr_channel", "websocket", "websocket_server", "websocket_client", "webrtc", "webrtc_server", "webrtc_client", "electron_server", "electron_client", "mqtt", "sse", "named_pipe", "worker_thread", "native_msg_host", "native_msg_client"];
|
|
112
|
+
static readonly CAPABILITY_CANDIDATES: readonly ["shared_worker", "service_worker", "unix_worker", "broadcastr_channel", "electron_server", "electron_client", "named_pipe", "native_msg_host", "native_msg_client"];
|
|
113
|
+
maelstrom: {
|
|
114
|
+
(): void;
|
|
115
|
+
log: (where: S, detail?: R, type?: "info" | "success" | "warn" | "error") => void; /** resolve a specifier relative to THIS file, always. Absolute out. */
|
|
116
|
+
key_for: (specifier: S) => S;
|
|
117
|
+
normalizeFallback: <F>(fallback: F | (() => F) | undefined, fallbackDefault: () => F) => () => F; /** the safe proxy — missing module access is suppressed, never crashed */
|
|
118
|
+
createSafeProxy: () => A;
|
|
119
|
+
toNamespace: (m: A) => A;
|
|
120
|
+
blind: {
|
|
121
|
+
(): void;
|
|
122
|
+
/** dynamic import with no static dependency — works in every module system */
|
|
123
|
+
import: (s: string) => Promise<any>;
|
|
124
|
+
/** require with no static dependency — null where require does not exist (browser/ESM) */
|
|
125
|
+
require: (s: string) => A;
|
|
126
|
+
};
|
|
127
|
+
has: {
|
|
128
|
+
(): void;
|
|
129
|
+
bun: boolean;
|
|
130
|
+
node: boolean;
|
|
131
|
+
/** does a local file exist, resolved from cwd — the has_local probe */
|
|
132
|
+
local: (filePath: S | undefined, module?: S) => B;
|
|
133
|
+
require: boolean;
|
|
134
|
+
};
|
|
135
|
+
is: {
|
|
136
|
+
(): void;
|
|
137
|
+
require_available: () => B;
|
|
138
|
+
browser: boolean;
|
|
139
|
+
VSCode: string;
|
|
140
|
+
electron: boolean;
|
|
141
|
+
unix: boolean;
|
|
142
|
+
windows: boolean;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Record an outcome. This is the single funnel: it tags the registry entry, notifies the
|
|
146
|
+
* entry's subscribers, advances every waiter on the label, and releases deferred tasks.
|
|
147
|
+
* It writes to the ONE registry — it creates no maps.
|
|
148
|
+
*/
|
|
149
|
+
record: <T>(label: S, solver: Solver, value: T | undefined, store?: StoreKind) => void;
|
|
150
|
+
rift: {
|
|
151
|
+
<T = any>(name: S): RiftLike<T>;
|
|
152
|
+
clear: (() => V) | (() => V);
|
|
153
|
+
inspect: () => R;
|
|
154
|
+
/** guard — wait for a rift, then run a fn on its unlock value */
|
|
155
|
+
guard: <T, R>(name: string, fn: (unlockValue: T) => R | Promise<R>, timeoutMs?: number) => void;
|
|
156
|
+
/** async load with inflight dedupe — same key always resolves to the same promise */
|
|
157
|
+
load: <T = any>(specifier: S) => Promise<T>;
|
|
158
|
+
result: <T = any>(label: S) => ResultRecord<T> | undefined;
|
|
159
|
+
resultsFrom: (solver: Solver) => ResultRecord[];
|
|
160
|
+
onResult: (listener: (r: ResultRecord) => V) => (() => V);
|
|
161
|
+
place: <T = any>(label: S, value: T, store?: StoreKind) => V;
|
|
162
|
+
get_value: <T = any>(label: S) => T | undefined;
|
|
163
|
+
read: <T = any>(label: S, store?: StoreKind) => T | undefined;
|
|
164
|
+
reset: (name: S) => V;
|
|
165
|
+
delete: (name: S) => B;
|
|
166
|
+
bandit: <T = any>(label: S, module?: A, wait?: N, store?: StoreKind) => A;
|
|
167
|
+
create: <T = any>(label: S, module: T, store?: StoreKind) => A;
|
|
168
|
+
use: <T = any>(label: S, wait?: N, apparation?: T, store?: StoreKind) => A;
|
|
169
|
+
resolve: {
|
|
170
|
+
<T = any>(name: S, v: T): A;
|
|
171
|
+
global: <T = any>(name: S, wait?: N, fallback?: T) => A;
|
|
172
|
+
};
|
|
173
|
+
has: (module: S) => B;
|
|
174
|
+
make: <T = any>() => RiftLike<T>;
|
|
175
|
+
conjure: {
|
|
176
|
+
<T = any, F = any>(options: OPTIONAL_IMPORT_OPTIONS<T, F>): A;
|
|
177
|
+
get: <T = any>(label: S, cache?: B, module?: B) => A;
|
|
178
|
+
uncached: <T = any, F = any>(options: OPTIONAL_IMPORT_OPTIONS<T, F>) => A;
|
|
179
|
+
};
|
|
180
|
+
use_if_available: <T = any>(label: S, filePath: S, comp_name: S, fallback: T, opts?: {
|
|
181
|
+
store?: StoreKind;
|
|
182
|
+
}) => T;
|
|
183
|
+
probe: <T = any>(label: S, filePath: S, comp_name: S, fallback: T) => T;
|
|
184
|
+
guard_promise_gate: (get: A, name: string, fn: A, timeoutMs?: number) => () => Promise<R>;
|
|
185
|
+
};
|
|
186
|
+
module: {
|
|
187
|
+
<T = any>(module: S, filePath?: S): T | Promise<T>;
|
|
188
|
+
extract_named: (ns: A, comp_name: S) => A;
|
|
189
|
+
init: {
|
|
190
|
+
(label: S, module?: B): A;
|
|
191
|
+
named_export: (label: S, comp_name: S, cache?: B, module?: B) => A;
|
|
192
|
+
};
|
|
193
|
+
named_export: <T = any>(label: S, comp_name: S, module?: B) => A;
|
|
194
|
+
check: (moduleName: S) => Promise<B>;
|
|
195
|
+
isLoaded: (specifier: S) => B;
|
|
196
|
+
getLoaded: <T = any>(specifier: S) => OPT<T>;
|
|
197
|
+
/**
|
|
198
|
+
* Find a named export across every loaded module.
|
|
199
|
+
* Ambiguous finds throw — the index never silently guesses.
|
|
200
|
+
*/
|
|
201
|
+
export_of: <T = any>(name: S, specifier?: S) => OPT<T>;
|
|
202
|
+
indexExports: (rift: A, key: S, mod: A) => void;
|
|
203
|
+
require: <T = any>(specifier: S) => T;
|
|
204
|
+
};
|
|
205
|
+
waiter: {
|
|
206
|
+
(deps: S | S[], fn: (v?: A) => V): N;
|
|
207
|
+
/** advance every multi-label waiter on this label */
|
|
208
|
+
releaseMulti: (k: S, v: A) => void;
|
|
209
|
+
cancel: (id: N) => B;
|
|
210
|
+
wait_and_promise: <T = any>(timeoutMs: N, key: S, isOpen: B, current: A) => Promise<T>;
|
|
211
|
+
};
|
|
212
|
+
defer: {
|
|
213
|
+
(deps: S | S[], fn: (...v: A[]) => A): N;
|
|
214
|
+
provide: (k: S | Record<S, A>, v?: A) => void;
|
|
215
|
+
resolve: (k: S) => void;
|
|
216
|
+
invalidate: (k: S) => B;
|
|
217
|
+
has: (k: S) => B;
|
|
218
|
+
get: <T = any>(k: S) => OPT<T>;
|
|
219
|
+
cancel: (id: N) => B;
|
|
220
|
+
ready: (task: DeferredTask) => B;
|
|
221
|
+
drain: () => V;
|
|
222
|
+
reportError: (task: DeferredTask, e: A) => void;
|
|
223
|
+
inspect: () => R;
|
|
224
|
+
clear: () => void;
|
|
225
|
+
onError: (e: A, id: N, deps: S[]) => void;
|
|
226
|
+
onSuccess: (id: N, deps: S[]) => void;
|
|
227
|
+
};
|
|
228
|
+
detect: {
|
|
229
|
+
(): void;
|
|
230
|
+
capability: (name: S) => B;
|
|
231
|
+
bundler: () => S | null;
|
|
232
|
+
firstMatch: (candidates: readonly S[]) => Promise<S | null>;
|
|
233
|
+
all: (candidates: readonly S[]) => Promise<S[]>;
|
|
234
|
+
environment: (env_lib?: S) => void;
|
|
235
|
+
type: (v: unknown) => "Array" | "ArrayBuffer" | "Buffer" | "Promise" | "URL" | "URLSearchParams" | "WeakMap" | "WeakSet" | "array" | "async-iterable" | "bigint" | "boolean" | "date" | "error" | "function" | "iterable" | "iterator" | "map" | "null" | "number" | "object" | "plainObject" | "regexp" | "set" | "string" | "symbol" | "thenable" | "undefined";
|
|
236
|
+
cloudSupport: () => B;
|
|
237
|
+
};
|
|
238
|
+
useEnvState: () => EnvDetectionState & {
|
|
239
|
+
rt: S;
|
|
240
|
+
subChannel: S;
|
|
241
|
+
};
|
|
242
|
+
apparation: any;
|
|
243
|
+
reset: () => void;
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
export {};
|
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) {
|
|
@@ -3521,12 +3691,11 @@ var src_Registry = /*#__PURE__*/ function(EventEmitter) {
|
|
|
3521
3691
|
};
|
|
3522
3692
|
}
|
|
3523
3693
|
var key = keyOrFn;
|
|
3524
|
-
|
|
3525
|
-
if (maybeFn === undefined ||
|
|
3526
|
-
var iteratorOpts =
|
|
3694
|
+
var maybeFnIsObject = maybeFn !== undefined && (typeof maybeFn === "undefined" ? "undefined" : _type_of(maybeFn)) === "object" && maybeFn !== null;
|
|
3695
|
+
if (maybeFn === undefined || maybeFnIsObject) {
|
|
3696
|
+
var iteratorOpts = maybeFnIsObject ? maybeFn : opts;
|
|
3527
3697
|
return _class_private_method_get(this, _asIterator, asIterator).call(this, key, iteratorOpts);
|
|
3528
3698
|
}
|
|
3529
|
-
// callback form
|
|
3530
3699
|
var fn1 = maybeFn;
|
|
3531
3700
|
var set = _class_private_field_get(this, _subs).getOrM(function() {
|
|
3532
3701
|
return new SET2();
|
|
@@ -4144,5 +4313,4 @@ function notify(key, value, prev) {
|
|
|
4144
4313
|
}
|
|
4145
4314
|
}
|
|
4146
4315
|
|
|
4147
|
-
|
|
4148
4316
|
export { src_Registry as Registry, src_rv as rv, src_sameValue as sameValue };
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@the-w1zard/the-registry",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": {
|
|
9
|
-
"types": "./
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
10
|
"default": "./dist/index.js"
|
|
11
11
|
}
|
|
12
12
|
},
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"./src/index.d.ts"
|
|
16
16
|
],
|
|
17
17
|
"scripts": {
|
|
18
|
-
"build": "rspack build",
|
|
18
|
+
"build": "tsc --emitDeclarationOnly && rspack build",
|
|
19
19
|
"build1": "rspack build",
|
|
20
20
|
"dev": "rspack serve",
|
|
21
21
|
"check": "tsc --noEmit"
|