nusm 0.1.0 → 1.1.0
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/README.md +66 -7
- package/dist/adapters/indexDbAdapter.d.ts.map +1 -1
- package/dist/adapters/localStorageAdapter.d.ts.map +1 -1
- package/dist/adapters/sessionStorageAdapter.d.ts.map +1 -1
- package/dist/adapters/storageAdapter.d.ts.map +1 -1
- package/dist/devtools/client.d.ts +12 -10
- package/dist/devtools/client.d.ts.map +1 -1
- package/dist/devtools/client.js +50 -10
- package/dist/devtools/client.js.map +1 -1
- package/dist/devtools/core.d.ts +9 -0
- package/dist/devtools/core.d.ts.map +1 -0
- package/dist/devtools/core.js +38 -0
- package/dist/devtools/core.js.map +1 -0
- package/dist/devtools/flatten.d.ts +4 -0
- package/dist/devtools/flatten.d.ts.map +1 -0
- package/dist/devtools/flatten.js +145 -0
- package/dist/devtools/flatten.js.map +1 -0
- package/dist/devtools/index.d.ts +4 -0
- package/dist/devtools/index.d.ts.map +1 -0
- package/dist/devtools/index.js +3 -0
- package/dist/devtools/index.js.map +1 -0
- package/dist/devtools/nusm-logo.d.ts +4 -0
- package/dist/devtools/nusm-logo.d.ts.map +1 -0
- package/dist/devtools/nusm-logo.js +5 -0
- package/dist/devtools/nusm-logo.js.map +1 -0
- package/dist/devtools/panel-controls.d.ts +13 -0
- package/dist/devtools/panel-controls.d.ts.map +1 -0
- package/dist/devtools/panel-controls.js +32 -0
- package/dist/devtools/panel-controls.js.map +1 -0
- package/dist/devtools/panel-detail.d.ts +15 -0
- package/dist/devtools/panel-detail.d.ts.map +1 -0
- package/dist/devtools/panel-detail.js +114 -0
- package/dist/devtools/panel-detail.js.map +1 -0
- package/dist/devtools/panel-helpers.d.ts +16 -0
- package/dist/devtools/panel-helpers.d.ts.map +1 -0
- package/dist/devtools/panel-helpers.js +40 -0
- package/dist/devtools/panel-helpers.js.map +1 -0
- package/dist/devtools/panel-list.d.ts +13 -0
- package/dist/devtools/panel-list.d.ts.map +1 -0
- package/dist/devtools/panel-list.js +28 -0
- package/dist/devtools/panel-list.js.map +1 -0
- package/dist/devtools/panel-model.d.ts +19 -0
- package/dist/devtools/panel-model.d.ts.map +1 -0
- package/dist/devtools/panel-model.js +53 -0
- package/dist/devtools/panel-model.js.map +1 -0
- package/dist/devtools/panel.d.ts +3 -0
- package/dist/devtools/panel.d.ts.map +1 -0
- package/dist/devtools/panel.js +429 -0
- package/dist/devtools/panel.js.map +1 -0
- package/dist/devtools/path.d.ts +5 -0
- package/dist/devtools/path.d.ts.map +1 -0
- package/dist/devtools/path.js +142 -0
- package/dist/devtools/path.js.map +1 -0
- package/dist/devtools/plugin.d.ts +14 -2
- package/dist/devtools/plugin.d.ts.map +1 -1
- package/dist/devtools/plugin.js +10 -56
- package/dist/devtools/plugin.js.map +1 -1
- package/dist/devtools/projection.d.ts +8 -0
- package/dist/devtools/projection.d.ts.map +1 -0
- package/dist/devtools/projection.js +72 -0
- package/dist/devtools/projection.js.map +1 -0
- package/dist/devtools/protocol.d.ts +4 -0
- package/dist/devtools/protocol.d.ts.map +1 -0
- package/dist/devtools/protocol.js +58 -0
- package/dist/devtools/protocol.js.map +1 -0
- package/dist/devtools/serialize.d.ts +3 -0
- package/dist/devtools/serialize.d.ts.map +1 -0
- package/dist/devtools/serialize.js +71 -0
- package/dist/devtools/serialize.js.map +1 -0
- package/dist/devtools/types.d.ts +60 -0
- package/dist/devtools/types.d.ts.map +1 -0
- package/dist/devtools/types.js +2 -0
- package/dist/devtools/types.js.map +1 -0
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/nusm.d.ts +5 -0
- package/dist/nusm.d.ts.map +1 -0
- package/dist/nusm.js +1026 -0
- package/dist/nusm.js.map +1 -0
- package/dist/react/index.d.ts +6 -8
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +16 -28
- package/dist/react/index.js.map +1 -1
- package/dist/types.d.ts +29 -15
- package/dist/types.d.ts.map +1 -1
- package/docs/UPGRADING.md +53 -0
- package/docs/devtools.md +139 -0
- package/package.json +61 -24
- package/dist/core/createNusmStore.d.ts +0 -3
- package/dist/core/createNusmStore.d.ts.map +0 -1
- package/dist/core/createNusmStore.js +0 -491
- package/dist/core/createNusmStore.js.map +0 -1
- package/dist/utils.d.ts +0 -5
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -30
- package/dist/utils.js.map +0 -1
package/dist/nusm.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nusm.js","sourceRoot":"","sources":["../src/nusm.ts"],"names":[],"mappings":"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"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export * from "@tanstack/store";
|
|
1
|
+
import type { NusmStore } from "../types";
|
|
3
2
|
export type NoInfer<T> = [T][T extends unknown ? 0 : never];
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
equal?: EqualityFn<T>;
|
|
3
|
+
interface UseStoreOptions {
|
|
4
|
+
equal?: boolean;
|
|
7
5
|
}
|
|
8
|
-
export declare function useStore<TState, TSelected = NoInfer<TState>>(store:
|
|
9
|
-
export declare function useStore<TState, TSelected = NoInfer<TState>>(store:
|
|
10
|
-
export
|
|
6
|
+
export declare function useStore<TState, TSelected = NoInfer<TState>>(store: NusmStore<TState>, selector?: (state: NoInfer<TState>) => TSelected, options?: UseStoreOptions): TSelected;
|
|
7
|
+
export declare function useStore<TState, TSelected = NoInfer<TState>>(store: NusmStore<TState>, selector?: (state: NoInfer<TState>) => TSelected, options?: UseStoreOptions): TSelected;
|
|
8
|
+
export {};
|
|
11
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAE5D,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,EAC1D,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,EAChD,OAAO,CAAC,EAAE,eAAe,GACxB,SAAS,CAAC;AAEb,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,EAC1D,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,EAChD,OAAO,CAAC,EAAE,eAAe,GACxB,SAAS,CAAC"}
|
package/dist/react/index.js
CHANGED
|
@@ -1,32 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { deepEqual, shallowEqual } from "fast-equals";
|
|
3
|
+
import { useRef, useSyncExternalStore } from "react";
|
|
3
4
|
export function useStore(store, selector = (d) => d, options = {}) {
|
|
4
|
-
const equal = options.equal
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
const keysA = getOwnKeys(objA);
|
|
18
|
-
const keysB = getOwnKeys(objB);
|
|
19
|
-
if (keysA.length !== keysB.length) {
|
|
20
|
-
return false;
|
|
5
|
+
const equal = options.equal ? deepEqual : shallowEqual;
|
|
6
|
+
const getSnapshot = () => store.state;
|
|
7
|
+
const snapshot = useSyncExternalStore((notify) => {
|
|
8
|
+
const subscription = store.subscribe(notify);
|
|
9
|
+
return typeof subscription === "function"
|
|
10
|
+
? subscription
|
|
11
|
+
: subscription.unsubscribe;
|
|
12
|
+
}, getSnapshot, getSnapshot);
|
|
13
|
+
const selected = selector(snapshot);
|
|
14
|
+
const selectedRef = useRef(selected);
|
|
15
|
+
if (!equal(selectedRef.current, selected)) {
|
|
16
|
+
selectedRef.current = selected;
|
|
21
17
|
}
|
|
22
|
-
|
|
23
|
-
if (!(Object.hasOwn(objB, key) && Object.is(objA[key], objB[key]))) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
function getOwnKeys(obj) {
|
|
30
|
-
return [...Object.keys(obj), ...Object.getOwnPropertySymbols(obj)];
|
|
18
|
+
return selectedRef.current;
|
|
31
19
|
}
|
|
32
20
|
//# sourceMappingURL=index.js.map
|
package/dist/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAqBrD,MAAM,UAAU,QAAQ,CACtB,KAAwB,EACxB,QAAQ,GAA0C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAc,EACvE,OAAO,GAAoB,EAAE;IAE7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IACvD,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;IACtC,MAAM,QAAQ,GAAG,oBAAoB,CACnC,CAAC,MAAM,EAAE,EAAE;QACT,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,OAAO,YAAY,KAAK,UAAU;YACvC,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC;IAC/B,CAAC,EACD,WAAW,EACX,WAAW,CACZ,CAAC;IACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAA2B,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,MAAM,CAAY,QAAQ,CAAC,CAAC;IAEhD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC1C,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type { Store } from
|
|
1
|
+
import type { Store } from "@tanstack/store";
|
|
2
2
|
export type NusmPacerConfig = false | {
|
|
3
3
|
wait?: number;
|
|
4
4
|
maxWait?: number;
|
|
5
5
|
leading?: boolean;
|
|
6
6
|
trailing?: boolean;
|
|
7
7
|
};
|
|
8
|
-
export type
|
|
8
|
+
export type { Store };
|
|
9
|
+
export type AdapterEventType = "set" | "remove" | "clear";
|
|
9
10
|
export interface AdapterEvent {
|
|
10
11
|
type: AdapterEventType;
|
|
11
12
|
key?: string;
|
|
@@ -21,13 +22,17 @@ export interface NusmAdapter {
|
|
|
21
22
|
resolveKey?(params: {
|
|
22
23
|
storeId: string;
|
|
23
24
|
sliceKey?: string;
|
|
24
|
-
kind:
|
|
25
|
+
kind: "entire" | "slice";
|
|
25
26
|
}): string;
|
|
26
27
|
pacer?: NusmPacerConfig;
|
|
27
28
|
}
|
|
28
29
|
export interface PersistSlice<TState> {
|
|
29
30
|
key: string;
|
|
30
31
|
select: (state: TState) => unknown;
|
|
32
|
+
/**
|
|
33
|
+
* Applies only this slice's selected value. During missing-value hydration,
|
|
34
|
+
* nusm rejects definitions whose apply function changes another missing slice.
|
|
35
|
+
*/
|
|
31
36
|
apply: (state: TState, sliceValue: unknown) => TState;
|
|
32
37
|
}
|
|
33
38
|
export interface HydrateConfig<TState> {
|
|
@@ -44,7 +49,7 @@ export interface HydrateConfig<TState> {
|
|
|
44
49
|
export interface CreateNusmStoreOptions<TState> {
|
|
45
50
|
adapter?: NusmAdapter;
|
|
46
51
|
persist?: {
|
|
47
|
-
strategy:
|
|
52
|
+
strategy: "entire" | "slices";
|
|
48
53
|
slices?: Array<PersistSlice<TState>>;
|
|
49
54
|
hydrate?: HydrateConfig<TState>;
|
|
50
55
|
};
|
|
@@ -55,36 +60,45 @@ export interface CreateNusmStoreOptions<TState> {
|
|
|
55
60
|
onError?: (error: unknown) => void;
|
|
56
61
|
storeId?: string;
|
|
57
62
|
}
|
|
58
|
-
export type HydrationState =
|
|
63
|
+
export type HydrationState = "not_configured" | "pending" | "hydrated" | "discarded" | "error";
|
|
59
64
|
export interface HydrationStatus {
|
|
60
65
|
overall: HydrationState;
|
|
61
66
|
byKey: Record<string, HydrationState>;
|
|
62
67
|
}
|
|
63
|
-
export type NusmEventType =
|
|
68
|
+
export type NusmEventType = "hydrate_start" | "hydrate_discarded" | "hydrate_applied" | "hydrate_error" | "persist_scheduled" | "persist_flush_start" | "persist_flush_ok" | "persist_flush_error" | "adapter_external_event" | "devtools_command" | "devtools_command_error" | "devtools_snapshot_error";
|
|
64
69
|
export interface NusmEvent {
|
|
65
70
|
ts: number;
|
|
66
71
|
type: NusmEventType;
|
|
67
72
|
storeId: string;
|
|
73
|
+
instanceId: string;
|
|
68
74
|
key?: string;
|
|
69
75
|
sliceKey?: string;
|
|
70
76
|
detail?: unknown;
|
|
71
77
|
}
|
|
72
78
|
export interface NusmDevtoolsSnapshot {
|
|
79
|
+
eventLogCap?: number;
|
|
73
80
|
storeId: string;
|
|
74
|
-
|
|
75
|
-
|
|
81
|
+
instanceId: string;
|
|
82
|
+
adapterName?: string;
|
|
76
83
|
hydration: HydrationStatus;
|
|
84
|
+
initial?: unknown;
|
|
77
85
|
isReady: boolean;
|
|
78
|
-
pendingKeys?: string[];
|
|
79
86
|
lastFlushAt?: number;
|
|
87
|
+
memory: unknown;
|
|
88
|
+
pendingKeys?: string[];
|
|
89
|
+
persisted?: unknown;
|
|
90
|
+
persistenceStrategy?: "entire" | "slices";
|
|
91
|
+
synchronization?: "diverged" | "not_applicable" | "synchronized" | "unknown";
|
|
80
92
|
}
|
|
81
|
-
export
|
|
82
|
-
|
|
83
|
-
|
|
93
|
+
export type ReadonlyHydrationStatus = {
|
|
94
|
+
readonly byKey: Readonly<Record<string, HydrationState>>;
|
|
95
|
+
readonly overall: HydrationState;
|
|
96
|
+
};
|
|
97
|
+
export interface NusmStore<TState> extends Store<TState> {
|
|
98
|
+
readonly devtoolsInstanceId: string;
|
|
99
|
+
readonly hydration: ReadonlyHydrationStatus;
|
|
100
|
+
readonly isReady: boolean;
|
|
84
101
|
ready: Promise<void>;
|
|
85
|
-
getPersistedSnapshot?: () => Promise<unknown>;
|
|
86
|
-
getHydrationStatus?: () => HydrationStatus;
|
|
87
|
-
getEventLog?: () => readonly NusmEvent[];
|
|
88
102
|
}
|
|
89
103
|
export interface StorageAdapterOptions {
|
|
90
104
|
storage?: StorageLike;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,MAAM,eAAe,GACvB,KAAK,GACL;IACE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAGN,YAAY,EAAE,KAAK,EAAE,CAAC;AAEtB,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,UAAU,CAAC,IAAI,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/B,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAEhE,UAAU,CAAC,CAAC,MAAM,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;KAC1B,GAAG,MAAM,CAAC;IAEX,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,YAAY,CAAC,MAAM;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,KAAK,MAAM,CAAC;CACvD;AAED,MAAM,WAAW,aAAa,CAAC,MAAM;IACnC,QAAQ,CAAC,EACL,CAAC,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,GACjC,CAAC,CAAC,SAAS,EAAE,OAAO,KAAK;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC/D,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,CAAC;IACpE,gBAAgB,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,sBAAsB,CAAC,MAAM;IAC5C,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE;QACR,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC9B,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GACtB,gBAAgB,GAChB,SAAS,GACT,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AAEZ,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACvC;AAED,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,mBAAmB,GACnB,iBAAiB,GACjB,eAAe,GACf,mBAAmB,GACnB,qBAAqB,GACrB,kBAAkB,GAClB,qBAAqB,GACrB,wBAAwB,GACxB,kBAAkB,GAClB,wBAAwB,GACxB,yBAAyB,CAAC;AAE9B,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1C,eAAe,CAAC,EAAE,UAAU,GAAG,gBAAgB,GAAG,cAAc,GAAG,SAAS,CAAC;CAC9E;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF,MAAM,WAAW,SAAS,CAAC,MAAM,CAAE,SAAQ,KAAK,CAAC,MAAM,CAAC;IACtD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Upgrading to the current TanStack Store API
|
|
2
|
+
|
|
3
|
+
This release intentionally removes nusm's temporary compatibility layer for
|
|
4
|
+
older `@tanstack/store` APIs. It is a breaking change.
|
|
5
|
+
|
|
6
|
+
## Removed APIs
|
|
7
|
+
|
|
8
|
+
`Derived` and `Effect` are no longer part of the nusm API, and their types are
|
|
9
|
+
no longer available from nusm internals. Import and use the supported current
|
|
10
|
+
TanStack Store primitives directly where needed, or model computed state in
|
|
11
|
+
application code.
|
|
12
|
+
|
|
13
|
+
`useStore` from `nusm/react` now accepts only a store returned by
|
|
14
|
+
`createNusmStore`. Do not pass legacy derived-store objects to this hook.
|
|
15
|
+
|
|
16
|
+
## Store migration
|
|
17
|
+
|
|
18
|
+
The current `@tanstack/store` API uses functional setters and value-only
|
|
19
|
+
subscriptions. Replace direct updates such as:
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
store.setState(nextState)
|
|
23
|
+
store.subscribe(({ prevVal, currentVal }) => {
|
|
24
|
+
// ...
|
|
25
|
+
})
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
with:
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
store.setState(() => nextState)
|
|
32
|
+
let previousState = store.state
|
|
33
|
+
store.subscribe((currentState) => {
|
|
34
|
+
// use previousState and currentState as needed
|
|
35
|
+
previousState = currentState
|
|
36
|
+
})
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Devtools migration
|
|
40
|
+
|
|
41
|
+
The current `@tanstack/devtools` plugin lifecycle expects `render` to return
|
|
42
|
+
`void`. Move cleanup that was previously returned from `render` into the
|
|
43
|
+
plugin's optional `destroy` callback.
|
|
44
|
+
|
|
45
|
+
## Verification
|
|
46
|
+
|
|
47
|
+
After migrating, run:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
bun install --frozen-lockfile
|
|
51
|
+
bun run build
|
|
52
|
+
bun test
|
|
53
|
+
```
|
package/docs/devtools.md
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# nusm Devtools
|
|
2
|
+
|
|
3
|
+
The optional nusm inspector is a native TanStack Devtools plugin. It uses
|
|
4
|
+
`createReactPanel` and `createReactPlugin` from `@tanstack/devtools-utils/react`
|
|
5
|
+
for the framework lifecycle while nusm stores communicate through the
|
|
6
|
+
framework-neutral TanStack `EventClient`.
|
|
7
|
+
|
|
8
|
+
## Install
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
bun add -d @tanstack/devtools @tanstack/devtools-utils \
|
|
12
|
+
@tanstack/react-devtools lucide-react react react-dom
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
All Devtools and React packages are optional peers. Importing `nusm` or
|
|
16
|
+
`nusm/react` does not load the inspector; only `nusm/devtools` crosses the
|
|
17
|
+
optional boundary.
|
|
18
|
+
|
|
19
|
+
## Connect a store
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { createLocalStorageAdapter, createNusmStore } from "nusm"
|
|
23
|
+
|
|
24
|
+
export const settings = createNusmStore(
|
|
25
|
+
{ profile: { displayName: "Ada" }, shortcuts: true },
|
|
26
|
+
{
|
|
27
|
+
adapter: createLocalStorageAdapter(),
|
|
28
|
+
devtools: { name: "Settings", eventLogCap: 200 },
|
|
29
|
+
persist: { strategy: "entire" },
|
|
30
|
+
storeId: "settings",
|
|
31
|
+
},
|
|
32
|
+
)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
import { TanStackDevtools } from "@tanstack/react-devtools"
|
|
37
|
+
import { createNusmDevtoolsPlugin } from "nusm/devtools"
|
|
38
|
+
|
|
39
|
+
const nusmPlugin = createNusmDevtoolsPlugin()
|
|
40
|
+
|
|
41
|
+
export function DevelopmentTools() {
|
|
42
|
+
return <TanStackDevtools plugins={[nusmPlugin]} />
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Create the plugin once rather than during each application render. For an SSR
|
|
47
|
+
or production branch that must preserve the same shape, export and use
|
|
48
|
+
`createNoOpNusmDevtoolsPlugin`.
|
|
49
|
+
|
|
50
|
+
## Inspector workflow
|
|
51
|
+
|
|
52
|
+
- The icon rail switches between connected stores, timeline, and panel details.
|
|
53
|
+
- The store sidebar filters by store id or adapter and shows connection state.
|
|
54
|
+
- Overview, Memory, adapter, and Timeline tabs keep volatile and persisted data
|
|
55
|
+
visibly distinct.
|
|
56
|
+
- The path browser searches keys, paths, and value previews. Select a row to
|
|
57
|
+
inspect formatted JSON, copy it, edit it, or remove it.
|
|
58
|
+
- Add accepts paths such as `profile.name` and `items[0]`. Raw mode replaces an
|
|
59
|
+
entire memory or persisted value after JSON validation.
|
|
60
|
+
- Reset affects memory only. Refresh requests a new snapshot without mutation.
|
|
61
|
+
- Light and dark colors follow the TanStack shell theme. Dense layouts collapse
|
|
62
|
+
the inspector drawer on narrow panels while keeping keyboard focus visible.
|
|
63
|
+
|
|
64
|
+
## Bidirectional protocol
|
|
65
|
+
|
|
66
|
+
Stores emit `snapshot`, `hydration`, and bounded `event` messages. The panel
|
|
67
|
+
emits serializable `command` messages and waits for matching `commandResult`
|
|
68
|
+
acknowledgements. Path writes use `set_path`; deletion uses `remove_path`. Each
|
|
69
|
+
store-scoped command includes both a unique runtime instance id and its display
|
|
70
|
+
store id, memory or persisted location, a JSON path, and a unique command id.
|
|
71
|
+
The panel indexes snapshots, events, editor sessions, and acknowledgements by
|
|
72
|
+
instance id, so duplicate or normalization-colliding display names remain visible
|
|
73
|
+
and a mutation reaches exactly one store. Instance sequences are stored in a
|
|
74
|
+
process-global symbol registry, preventing duplicated bundles and hot reloads from
|
|
75
|
+
reusing an identity. The sidebar, summary, accessible name, and store search expose
|
|
76
|
+
the runtime discriminator before a developer issues a mutation. The broadcast `refresh_all` command is
|
|
77
|
+
the sole identity exception. Unsafe prototype segments and invalid array gaps are
|
|
78
|
+
rejected before state is changed.
|
|
79
|
+
|
|
80
|
+
Memory edits deliberately affect only live memory. Persisted edits deliberately
|
|
81
|
+
affect only the configured adapter. Store snapshots publish producer-owned
|
|
82
|
+
synchronization state, so the panel reports synchronized, divergent, pending, or
|
|
83
|
+
unknown health without comparing lossy display projections.
|
|
84
|
+
|
|
85
|
+
On first hydration, a missing entire-store value or slice is written from the
|
|
86
|
+
valid initial state before `ready` resolves. The resulting adapter tab contains
|
|
87
|
+
the same baseline as memory, `lastFlushAt` records the seed, and an empty pending
|
|
88
|
+
list indicates the write finished. Existing, discarded, or unreadable values are
|
|
89
|
+
not silently replaced by this baseline behavior.
|
|
90
|
+
|
|
91
|
+
Slice `apply` functions must be isolated to the value returned by their matching
|
|
92
|
+
`select`. Before writing multiple missing baselines, nusm validates that applying
|
|
93
|
+
them preserves every selected initial value; mutually interacting definitions
|
|
94
|
+
reject hydration without writing a misleading persisted baseline.
|
|
95
|
+
|
|
96
|
+
Slice identities are validated before any adapter read or write. Logical slice
|
|
97
|
+
keys must be unique, and every adapter-resolved physical key must be non-empty
|
|
98
|
+
and unique. nusm resolves each configured physical key once and reuses that
|
|
99
|
+
stable identity for hydration, persistence, external events, and Devtools
|
|
100
|
+
commands. A custom `resolveKey` implementation is called once per configured
|
|
101
|
+
unit and must return a distinct valid key for each unit. Adapter clear events reset
|
|
102
|
+
only configured slices to their initial selected values; live fields outside those
|
|
103
|
+
slices are preserved. Entire-store persistence continues to reset the whole state.
|
|
104
|
+
|
|
105
|
+
## Bun example
|
|
106
|
+
|
|
107
|
+
The independent [`example`](../example) package uses Bun HTML imports and
|
|
108
|
+
`Bun.serve` for hot reload, bundling, production serving, and tests.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
bun run example:devtools
|
|
112
|
+
bun run example:test
|
|
113
|
+
bun run example:build
|
|
114
|
+
bun run example:serve
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
The showcase mounts four real stores: ephemeral workspace state, localStorage
|
|
118
|
+
preferences, a sessionStorage session, and IndexedDB activity history. It
|
|
119
|
+
resolves `nusm` from the current checkout through `file:../src`, disables each
|
|
120
|
+
stateful interaction until its store reports `isReady`, and includes persistence
|
|
121
|
+
proofs for all three browser adapters. Command center, Stores, and Signals are
|
|
122
|
+
controlled accessible views rather than scroll anchors, and both the shell and
|
|
123
|
+
custom panel use the canonical nusm logo. Open the TanStack trigger at the
|
|
124
|
+
lower-right and select `nusm` to inspect them. The active panel is enabled by Bun
|
|
125
|
+
hot-module development or an explicit `?devtools` query parameter; production
|
|
126
|
+
serving otherwise selects the shape-compatible no-op plugin and omits the shell. The
|
|
127
|
+
checked-in [`browser-qa.md`](../example/browser-qa.md) receipt records the rebuilt
|
|
128
|
+
browser runtime, real adapter tabs, live bidirectional mutation, console health,
|
|
129
|
+
and production traversal checks.
|
|
130
|
+
|
|
131
|
+
## Security
|
|
132
|
+
|
|
133
|
+
Devtools snapshots can contain credentials, personal data, or internal state.
|
|
134
|
+
Keep instrumentation and the panel out of untrusted production builds. Copy and
|
|
135
|
+
editing are explicit user gestures. Mutations accept round-trippable JSON data,
|
|
136
|
+
reject accessors and Proxy values, and never intentionally invoke accessors. JavaScript
|
|
137
|
+
provides no trap-free portable Proxy detection, so an unsupported Proxy may observe the
|
|
138
|
+
validation attempt before the command is rejected; do not expose hostile Proxy state to
|
|
139
|
+
development tooling.
|
package/package.json
CHANGED
|
@@ -1,37 +1,46 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
-
"@fastify/deepmerge": "^3.1
|
|
4
|
-
"@tanstack/devtools-event-client": "^0.
|
|
5
|
-
"@tanstack/pacer": "^0.
|
|
6
|
-
"@tanstack/store": "^0.
|
|
7
|
-
"fast-equals": "^6.0.
|
|
8
|
-
"superjson": "^2.2.
|
|
3
|
+
"@fastify/deepmerge": "^3.2.1",
|
|
4
|
+
"@tanstack/devtools-event-client": "^0.5.0",
|
|
5
|
+
"@tanstack/pacer": "^0.21.1",
|
|
6
|
+
"@tanstack/store": "^0.11.0",
|
|
7
|
+
"fast-equals": "^6.0.2",
|
|
8
|
+
"superjson": "^2.2.6"
|
|
9
9
|
},
|
|
10
10
|
"description": "Non Uniform State Manager nusm (pronounced \"noose em\") built on @tanstack/store with optional persisted adapters.",
|
|
11
11
|
"devDependencies": {
|
|
12
12
|
"@bun-security-scanner/osv": "^1.0.0",
|
|
13
|
-
"@commitlint/cli": "^
|
|
14
|
-
"@commitlint/config-conventional": "^
|
|
15
|
-
"@happy-dom/global-registrator": "^20.
|
|
16
|
-
"@release-it/conventional-changelog": "^
|
|
13
|
+
"@commitlint/cli": "^21.2.1",
|
|
14
|
+
"@commitlint/config-conventional": "^21.2.0",
|
|
15
|
+
"@happy-dom/global-registrator": "^20.10.6",
|
|
16
|
+
"@release-it/conventional-changelog": "^11.0.1",
|
|
17
|
+
"@tanstack/devtools": "^0.12.5",
|
|
18
|
+
"@tanstack/devtools-utils": "^0.6.0",
|
|
17
19
|
"@testing-library/dom": "^10.4.1",
|
|
18
20
|
"@testing-library/jest-dom": "^6.9.1",
|
|
19
|
-
"@testing-library/react": "^16.3.
|
|
20
|
-
"@types/bun": "
|
|
21
|
-
"@types/react": "^19.2.
|
|
21
|
+
"@testing-library/react": "^16.3.2",
|
|
22
|
+
"@types/bun": "^1.3.14",
|
|
23
|
+
"@types/react": "^19.2.17",
|
|
22
24
|
"@types/react-dom": "^19.2.3",
|
|
23
|
-
"conventional-changelog-conventionalcommits": "^
|
|
25
|
+
"conventional-changelog-conventionalcommits": "^10.2.1",
|
|
24
26
|
"fake-indexeddb": "^6.2.5",
|
|
25
27
|
"husky": "^9.1.7",
|
|
26
|
-
"lint-staged": "^
|
|
27
|
-
"
|
|
28
|
-
"
|
|
28
|
+
"lint-staged": "^17.0.8",
|
|
29
|
+
"lucide-react": "^1.24.0",
|
|
30
|
+
"react": "^19.2.7",
|
|
31
|
+
"react-dom": "^19.2.7",
|
|
32
|
+
"release-it": "^20.2.1",
|
|
33
|
+
"typescript": "^7.0.2"
|
|
29
34
|
},
|
|
30
35
|
"exports": {
|
|
31
36
|
".": {
|
|
32
37
|
"default": "./dist/index.js",
|
|
33
38
|
"types": "./dist/index.d.ts"
|
|
34
39
|
},
|
|
40
|
+
"./devtools": {
|
|
41
|
+
"default": "./dist/devtools/index.js",
|
|
42
|
+
"types": "./dist/devtools/index.d.ts"
|
|
43
|
+
},
|
|
35
44
|
"./react": {
|
|
36
45
|
"default": "./dist/react/index.js",
|
|
37
46
|
"types": "./dist/react/index.d.ts"
|
|
@@ -40,7 +49,8 @@
|
|
|
40
49
|
"files": [
|
|
41
50
|
"dist",
|
|
42
51
|
"README.md",
|
|
43
|
-
"LICENSE"
|
|
52
|
+
"LICENSE",
|
|
53
|
+
"docs"
|
|
44
54
|
],
|
|
45
55
|
"license": "MIT",
|
|
46
56
|
"lint-staged": {
|
|
@@ -51,17 +61,39 @@
|
|
|
51
61
|
"main": "dist/index.js",
|
|
52
62
|
"module": "dist/index.js",
|
|
53
63
|
"name": "nusm",
|
|
64
|
+
"overrides": {
|
|
65
|
+
"ajv": "8.20.0",
|
|
66
|
+
"basic-ftp": "6.0.1",
|
|
67
|
+
"defu": "6.1.7",
|
|
68
|
+
"fast-uri": "4.1.0",
|
|
69
|
+
"handlebars": "4.7.9",
|
|
70
|
+
"ip-address": "10.1.1",
|
|
71
|
+
"js-yaml": "4.2.0",
|
|
72
|
+
"picomatch": "4.0.5"
|
|
73
|
+
},
|
|
54
74
|
"peerDependencies": {
|
|
55
|
-
"@tanstack/devtools": "^0.
|
|
56
|
-
"
|
|
57
|
-
"
|
|
75
|
+
"@tanstack/devtools": "^0.12.5",
|
|
76
|
+
"@tanstack/devtools-utils": "^0.6.0",
|
|
77
|
+
"lucide-react": ">=0.468.0",
|
|
78
|
+
"react": ">=18.0.0",
|
|
79
|
+
"react-dom": ">=18.0.0",
|
|
80
|
+
"typescript": ">=5"
|
|
58
81
|
},
|
|
59
82
|
"peerDependenciesMeta": {
|
|
60
83
|
"@tanstack/devtools": {
|
|
61
84
|
"optional": true
|
|
62
85
|
},
|
|
86
|
+
"@tanstack/devtools-utils": {
|
|
87
|
+
"optional": true
|
|
88
|
+
},
|
|
89
|
+
"lucide-react": {
|
|
90
|
+
"optional": true
|
|
91
|
+
},
|
|
63
92
|
"react": {
|
|
64
93
|
"optional": true
|
|
94
|
+
},
|
|
95
|
+
"react-dom": {
|
|
96
|
+
"optional": true
|
|
65
97
|
}
|
|
66
98
|
},
|
|
67
99
|
"release-it": {
|
|
@@ -87,10 +119,15 @@
|
|
|
87
119
|
},
|
|
88
120
|
"scripts": {
|
|
89
121
|
"build": "tsc -p tsconfig.build.json",
|
|
90
|
-
"
|
|
91
|
-
"
|
|
122
|
+
"example:build": "bun run --cwd example build",
|
|
123
|
+
"example:devtools": "bun run build && bun run --cwd example dev",
|
|
124
|
+
"example:serve": "bun run --cwd example serve",
|
|
125
|
+
"example:test": "bun run --cwd example test",
|
|
126
|
+
"prepare": "./node_modules/.bin/husky",
|
|
127
|
+
"test": "bun test",
|
|
128
|
+
"test:workspace": "bun test"
|
|
92
129
|
},
|
|
93
130
|
"type": "module",
|
|
94
131
|
"types": "dist/index.d.ts",
|
|
95
|
-
"version": "
|
|
132
|
+
"version": "1.1.0"
|
|
96
133
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createNusmStore.d.ts","sourceRoot":"","sources":["../../src/core/createNusmStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,sBAAsB,EAItB,SAAS,EACV,MAAM,UAAU,CAAC;AAwDlB,wBAAgB,eAAe,CAAC,MAAM,EACpC,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,GACvC,SAAS,CAAC,MAAM,CAAC,CAggBnB"}
|