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
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
const blockedSegments = new Set(["__proto__", "constructor", "prototype"]);
|
|
2
|
+
const assertSegment = (segment) => {
|
|
3
|
+
if (typeof segment === "string" && blockedSegments.has(segment)) {
|
|
4
|
+
throw new Error(`Unsafe path segment: ${segment}.`);
|
|
5
|
+
}
|
|
6
|
+
if (typeof segment === "number" &&
|
|
7
|
+
(!Number.isSafeInteger(segment) || segment < 0)) {
|
|
8
|
+
throw new Error("Array paths require a non-negative safe integer.");
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
const isContainer = (value) => typeof value === "object" && value !== null;
|
|
12
|
+
const readOwnDataValue = (container, segment) => {
|
|
13
|
+
const descriptor = Object.getOwnPropertyDescriptor(container, String(segment));
|
|
14
|
+
if (!descriptor)
|
|
15
|
+
return { exists: false, value: undefined };
|
|
16
|
+
if (!("value" in descriptor))
|
|
17
|
+
throw new Error("Accessor properties cannot be edited through Devtools.");
|
|
18
|
+
return { exists: true, value: descriptor.value };
|
|
19
|
+
};
|
|
20
|
+
const copyOwnDataProperties = (source, target) => {
|
|
21
|
+
for (const key of Reflect.ownKeys(source)) {
|
|
22
|
+
if (key === "length")
|
|
23
|
+
continue;
|
|
24
|
+
if (typeof key === "symbol")
|
|
25
|
+
throw new Error("Symbol properties cannot be edited through Devtools.");
|
|
26
|
+
const descriptor = Object.getOwnPropertyDescriptor(source, key);
|
|
27
|
+
if (!descriptor?.enumerable)
|
|
28
|
+
continue;
|
|
29
|
+
if (!("value" in descriptor))
|
|
30
|
+
throw new Error("Accessor properties cannot be edited through Devtools.");
|
|
31
|
+
Object.defineProperty(target, key, {
|
|
32
|
+
configurable: true,
|
|
33
|
+
enumerable: true,
|
|
34
|
+
value: descriptor.value,
|
|
35
|
+
writable: true,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const defineDataProperty = (target, segment, value) => {
|
|
40
|
+
Object.defineProperty(target, String(segment), {
|
|
41
|
+
configurable: true,
|
|
42
|
+
enumerable: true,
|
|
43
|
+
value,
|
|
44
|
+
writable: true,
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
const createObjectContainer = () => Object.create(null);
|
|
48
|
+
const cloneContainer = (value, nextSegment) => {
|
|
49
|
+
if (Array.isArray(value)) {
|
|
50
|
+
const length = Object.getOwnPropertyDescriptor(value, "length")?.value;
|
|
51
|
+
const target = new Array(typeof length === "number" ? length : 0);
|
|
52
|
+
copyOwnDataProperties(value, target);
|
|
53
|
+
return target;
|
|
54
|
+
}
|
|
55
|
+
if (isContainer(value)) {
|
|
56
|
+
const target = createObjectContainer();
|
|
57
|
+
copyOwnDataProperties(value, target);
|
|
58
|
+
return target;
|
|
59
|
+
}
|
|
60
|
+
return typeof nextSegment === "number" ? [] : createObjectContainer();
|
|
61
|
+
};
|
|
62
|
+
const assertEditableSegment = (container, segment, allowAppend) => {
|
|
63
|
+
if (!Array.isArray(container))
|
|
64
|
+
return;
|
|
65
|
+
if (typeof segment !== "number") {
|
|
66
|
+
throw new Error("Array paths require numeric segments.");
|
|
67
|
+
}
|
|
68
|
+
const limit = allowAppend ? container.length : container.length - 1;
|
|
69
|
+
if (segment > limit) {
|
|
70
|
+
throw new Error(`Array index ${segment} is outside the editable range.`);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const removeArrayIndex = (source, index) => {
|
|
74
|
+
const result = [];
|
|
75
|
+
const length = source.length;
|
|
76
|
+
for (let current = 0; current < length; current += 1) {
|
|
77
|
+
if (current === index)
|
|
78
|
+
continue;
|
|
79
|
+
const property = readOwnDataValue(source, current);
|
|
80
|
+
if (property.exists)
|
|
81
|
+
defineDataProperty(result, current < index ? current : current - 1, property.value);
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
84
|
+
};
|
|
85
|
+
export const getValueAtPath = (value, path) => {
|
|
86
|
+
let current = value;
|
|
87
|
+
for (const segment of path) {
|
|
88
|
+
assertSegment(segment);
|
|
89
|
+
if (!isContainer(current))
|
|
90
|
+
return undefined;
|
|
91
|
+
const property = readOwnDataValue(current, segment);
|
|
92
|
+
if (!property.exists)
|
|
93
|
+
return undefined;
|
|
94
|
+
current = property.value;
|
|
95
|
+
}
|
|
96
|
+
return current;
|
|
97
|
+
};
|
|
98
|
+
export const setValueAtPath = (root, path, value) => {
|
|
99
|
+
if (path.length === 0)
|
|
100
|
+
return value;
|
|
101
|
+
path.forEach(assertSegment);
|
|
102
|
+
const setAtDepth = (source, depth) => {
|
|
103
|
+
const segment = path[depth];
|
|
104
|
+
const target = cloneContainer(source, segment);
|
|
105
|
+
assertEditableSegment(target, segment, true);
|
|
106
|
+
if (depth === path.length - 1) {
|
|
107
|
+
defineDataProperty(target, segment, value);
|
|
108
|
+
return target;
|
|
109
|
+
}
|
|
110
|
+
const sourceChild = isContainer(source)
|
|
111
|
+
? readOwnDataValue(source, segment).value
|
|
112
|
+
: undefined;
|
|
113
|
+
defineDataProperty(target, segment, setAtDepth(sourceChild, depth + 1));
|
|
114
|
+
return target;
|
|
115
|
+
};
|
|
116
|
+
return setAtDepth(root, 0);
|
|
117
|
+
};
|
|
118
|
+
export const removeValueAtPath = (root, path) => {
|
|
119
|
+
if (path.length === 0)
|
|
120
|
+
throw new Error("The root value cannot be removed.");
|
|
121
|
+
path.forEach(assertSegment);
|
|
122
|
+
const removeAtDepth = (source, depth) => {
|
|
123
|
+
if (!isContainer(source))
|
|
124
|
+
throw new Error("The selected path does not exist.");
|
|
125
|
+
const segment = path[depth];
|
|
126
|
+
assertEditableSegment(source, segment, false);
|
|
127
|
+
const property = readOwnDataValue(source, segment);
|
|
128
|
+
if (!property.exists)
|
|
129
|
+
throw new Error("The selected path does not exist.");
|
|
130
|
+
const target = cloneContainer(source, path[depth + 1]);
|
|
131
|
+
if (depth === path.length - 1) {
|
|
132
|
+
if (Array.isArray(target))
|
|
133
|
+
return removeArrayIndex(target, segment);
|
|
134
|
+
delete target[segment];
|
|
135
|
+
return target;
|
|
136
|
+
}
|
|
137
|
+
defineDataProperty(target, segment, removeAtDepth(property.value, depth + 1));
|
|
138
|
+
return target;
|
|
139
|
+
};
|
|
140
|
+
return removeAtDepth(root, 0);
|
|
141
|
+
};
|
|
142
|
+
//# sourceMappingURL=path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/devtools/path.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export
|
|
1
|
+
import type { TanStackDevtoolsPluginProps } from "@tanstack/devtools";
|
|
2
|
+
export { NusmDevtoolsCore } from "./core";
|
|
3
|
+
export declare const NusmReactDevtoolsPanel: (props: TanStackDevtoolsPluginProps) => import("react").JSX.Element, NoOpNusmReactDevtoolsPanel: (_props: TanStackDevtoolsPluginProps) => import("react").JSX.Element;
|
|
4
|
+
export declare const createNusmDevtoolsPlugin: () => {
|
|
5
|
+
render: (_el: HTMLElement, props: TanStackDevtoolsPluginProps) => import("react").JSX.Element;
|
|
6
|
+
name: string;
|
|
7
|
+
id?: string;
|
|
8
|
+
defaultOpen?: boolean;
|
|
9
|
+
}, createNoOpNusmDevtoolsPlugin: () => {
|
|
10
|
+
render: (_el: HTMLElement, _props: TanStackDevtoolsPluginProps) => import("react").JSX.Element;
|
|
11
|
+
name: string;
|
|
12
|
+
id?: string;
|
|
13
|
+
defaultOpen?: boolean;
|
|
14
|
+
};
|
|
3
15
|
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/devtools/plugin.
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/devtools/plugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAOtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,eAAO,MAAO,sBAAsB,uEAAE,0BAA0B,sEAG7D,CAAC;AAEJ,eAAO,MAAO,wBAAwB;;;;;GAAE,4BAA4B;;;;;CAMhE,CAAC"}
|
package/dist/devtools/plugin.js
CHANGED
|
@@ -1,57 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
container.style.fontFamily = "monospace";
|
|
12
|
-
const snapshotTitle = document.createElement("h3");
|
|
13
|
-
snapshotTitle.textContent = "Snapshot";
|
|
14
|
-
snapshotTitle.style.margin = "0";
|
|
15
|
-
const snapshotPre = document.createElement("pre");
|
|
16
|
-
snapshotPre.style.whiteSpace = "pre-wrap";
|
|
17
|
-
snapshotPre.style.margin = "0";
|
|
18
|
-
snapshotPre.textContent = "No snapshot yet.";
|
|
19
|
-
const eventsTitle = document.createElement("h3");
|
|
20
|
-
eventsTitle.textContent = "Events";
|
|
21
|
-
eventsTitle.style.margin = "0";
|
|
22
|
-
const eventsPre = document.createElement("pre");
|
|
23
|
-
eventsPre.style.whiteSpace = "pre-wrap";
|
|
24
|
-
eventsPre.style.margin = "0";
|
|
25
|
-
eventsPre.textContent = "No events yet.";
|
|
26
|
-
container.appendChild(snapshotTitle);
|
|
27
|
-
container.appendChild(snapshotPre);
|
|
28
|
-
container.appendChild(eventsTitle);
|
|
29
|
-
container.appendChild(eventsPre);
|
|
30
|
-
el.appendChild(container);
|
|
31
|
-
const onSnapshot = (event) => {
|
|
32
|
-
const detail = event.detail;
|
|
33
|
-
if (!detail?.payload)
|
|
34
|
-
return;
|
|
35
|
-
snapshotPre.textContent = JSON.stringify(detail.payload, null, 2);
|
|
36
|
-
};
|
|
37
|
-
const onEvent = (event) => {
|
|
38
|
-
const detail = event
|
|
39
|
-
.detail;
|
|
40
|
-
if (!detail?.payload)
|
|
41
|
-
return;
|
|
42
|
-
const existing = eventsPre.textContent ?? "";
|
|
43
|
-
const line = JSON.stringify(detail.payload);
|
|
44
|
-
eventsPre.textContent =
|
|
45
|
-
existing === "No events yet." ? line : `${existing}\n${line}`;
|
|
46
|
-
};
|
|
47
|
-
window.addEventListener(`${pluginId}:snapshot`, onSnapshot);
|
|
48
|
-
window.addEventListener(`${pluginId}:event`, onEvent);
|
|
49
|
-
return () => {
|
|
50
|
-
window.removeEventListener(`${pluginId}:snapshot`, onSnapshot);
|
|
51
|
-
window.removeEventListener(`${pluginId}:event`, onEvent);
|
|
52
|
-
el.innerHTML = "";
|
|
53
|
-
};
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
};
|
|
1
|
+
import { createReactPanel, createReactPlugin, } from "@tanstack/devtools-utils/react";
|
|
2
|
+
import { NusmDevtoolsCore } from "./core";
|
|
3
|
+
export { NusmDevtoolsCore } from "./core";
|
|
4
|
+
export const [NusmReactDevtoolsPanel, NoOpNusmReactDevtoolsPanel] = createReactPanel(NusmDevtoolsCore);
|
|
5
|
+
export const [createNusmDevtoolsPlugin, createNoOpNusmDevtoolsPlugin] = createReactPlugin({
|
|
6
|
+
Component: NusmReactDevtoolsPanel,
|
|
7
|
+
defaultOpen: false,
|
|
8
|
+
id: "nusm",
|
|
9
|
+
name: "nusm",
|
|
10
|
+
});
|
|
57
11
|
//# sourceMappingURL=plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/devtools/plugin.
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/devtools/plugin.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,GAC/D,gBAAgB,CACd,gBAAgB,CACjB,CAAC;AAEJ,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,4BAA4B,CAAC,GACnE,iBAAiB,CAAC;IAChB,SAAS,EAAE,sBAAsB;IACjC,WAAW,EAAE,KAAK;IAClB,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;CACb,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/devtools/projection.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AA2EF,eAAO,MAAM,iBAAiB,UACrB,OAAO,YACL,iBAAiB,KACzB,OAKF,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
const describeError = (error) => error instanceof Error ? error.message : String(error);
|
|
2
|
+
const projectPrimitive = (value) => {
|
|
3
|
+
if (typeof value === "bigint")
|
|
4
|
+
return { handled: true, value: `${value}n` };
|
|
5
|
+
if (typeof value === "function")
|
|
6
|
+
return { handled: true, value: "[Function]" };
|
|
7
|
+
if (typeof value === "symbol")
|
|
8
|
+
return { handled: true, value: String(value) };
|
|
9
|
+
return {
|
|
10
|
+
handled: typeof value !== "object" || value === null,
|
|
11
|
+
value,
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
const assignProjected = (output, key, value) => {
|
|
15
|
+
Object.defineProperty(output, key, {
|
|
16
|
+
configurable: true,
|
|
17
|
+
enumerable: true,
|
|
18
|
+
value,
|
|
19
|
+
writable: true,
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
const projectProperty = (source, key, context) => {
|
|
23
|
+
let descriptor;
|
|
24
|
+
try {
|
|
25
|
+
descriptor = Object.getOwnPropertyDescriptor(source, key);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
return `[Uninspectable: ${describeError(error)}]`;
|
|
29
|
+
}
|
|
30
|
+
if (!descriptor?.enumerable)
|
|
31
|
+
return undefined;
|
|
32
|
+
if (!("value" in descriptor))
|
|
33
|
+
return "[Accessor not evaluated]";
|
|
34
|
+
return projectForDisplay(descriptor.value, {
|
|
35
|
+
ancestors: context.ancestors,
|
|
36
|
+
depth: context.depth + 1,
|
|
37
|
+
path: `${context.path}[${JSON.stringify(key)}]`,
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
const projectObject = (value, context) => {
|
|
41
|
+
const origin = context.ancestors.get(value);
|
|
42
|
+
if (origin)
|
|
43
|
+
return `[Circular → ${origin}]`;
|
|
44
|
+
if (context.depth >= 16)
|
|
45
|
+
return "[Max depth reached]";
|
|
46
|
+
context.ancestors.set(value, context.path);
|
|
47
|
+
try {
|
|
48
|
+
const keys = Reflect.ownKeys(value).filter((key) => typeof key === "string" && key !== "length");
|
|
49
|
+
const output = Array.isArray(value)
|
|
50
|
+
? []
|
|
51
|
+
: Object.create(null);
|
|
52
|
+
for (const key of keys.slice(0, 2_000)) {
|
|
53
|
+
const projected = projectProperty(value, key, context);
|
|
54
|
+
if (projected !== undefined)
|
|
55
|
+
assignProjected(output, key, projected);
|
|
56
|
+
}
|
|
57
|
+
return output;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
return `[Uninspectable: ${describeError(error)}]`;
|
|
61
|
+
}
|
|
62
|
+
finally {
|
|
63
|
+
context.ancestors.delete(value);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
export const projectForDisplay = (value, context = { ancestors: new Map(), depth: 0, path: "$" }) => {
|
|
67
|
+
const primitive = projectPrimitive(value);
|
|
68
|
+
return primitive.handled
|
|
69
|
+
? primitive.value
|
|
70
|
+
: projectObject(value, context);
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../../src/devtools/projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { NusmDevtoolsCommandResult } from "./types";
|
|
2
|
+
export { getNusmDevtoolsClient } from "./client";
|
|
3
|
+
export declare const parseNusmDevtoolsCommandResult: (value: unknown) => Readonly<NusmDevtoolsCommandResult> | undefined;
|
|
4
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/devtools/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAiBjD,eAAO,MAAM,8BAA8B,UAClC,OAAO,KACb,QAAQ,CAAC,yBAAyB,CAAC,GAAG,SA2CxC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export { getNusmDevtoolsClient } from "./client";
|
|
2
|
+
const commandActions = new Set([
|
|
3
|
+
"refresh_all",
|
|
4
|
+
"refresh",
|
|
5
|
+
"reset_memory",
|
|
6
|
+
"replace_memory",
|
|
7
|
+
"replace_persisted",
|
|
8
|
+
"set_path",
|
|
9
|
+
"remove_path",
|
|
10
|
+
]);
|
|
11
|
+
const commandStatuses = new Set([
|
|
12
|
+
"success",
|
|
13
|
+
"success_with_warning",
|
|
14
|
+
"error",
|
|
15
|
+
]);
|
|
16
|
+
export const parseNusmDevtoolsCommandResult = (value) => {
|
|
17
|
+
try {
|
|
18
|
+
if (typeof value !== "object" || value === null)
|
|
19
|
+
return undefined;
|
|
20
|
+
const candidate = value;
|
|
21
|
+
if (!Object.hasOwn(candidate, "action") ||
|
|
22
|
+
!Object.hasOwn(candidate, "commandId") ||
|
|
23
|
+
!Object.hasOwn(candidate, "instanceId") ||
|
|
24
|
+
!Object.hasOwn(candidate, "status") ||
|
|
25
|
+
!Object.hasOwn(candidate, "storeId"))
|
|
26
|
+
return undefined;
|
|
27
|
+
const action = candidate.action;
|
|
28
|
+
const commandId = candidate.commandId;
|
|
29
|
+
const instanceId = candidate.instanceId;
|
|
30
|
+
const status = candidate.status;
|
|
31
|
+
const storeId = candidate.storeId;
|
|
32
|
+
const error = Object.hasOwn(candidate, "error")
|
|
33
|
+
? candidate.error
|
|
34
|
+
: undefined;
|
|
35
|
+
if (typeof commandId !== "string" ||
|
|
36
|
+
commandId.length === 0 ||
|
|
37
|
+
typeof instanceId !== "string" ||
|
|
38
|
+
instanceId.length === 0 ||
|
|
39
|
+
typeof storeId !== "string" ||
|
|
40
|
+
storeId.length === 0 ||
|
|
41
|
+
!commandActions.has(action) ||
|
|
42
|
+
!commandStatuses.has(status) ||
|
|
43
|
+
(error !== undefined && typeof error !== "string"))
|
|
44
|
+
return undefined;
|
|
45
|
+
return Object.freeze({
|
|
46
|
+
action: action,
|
|
47
|
+
commandId,
|
|
48
|
+
error,
|
|
49
|
+
instanceId,
|
|
50
|
+
status: status,
|
|
51
|
+
storeId,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/devtools/protocol.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAsC;IAClE,aAAa;IACb,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,mBAAmB;IACnB,UAAU;IACV,aAAa;CACd,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAsC;IACnE,SAAS;IACT,sBAAsB;IACtB,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,KAAc,EACmC,EAAE;IACnD,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAClE,MAAM,SAAS,GAAG,KAAgC,CAAC;QACnD,IACE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;YACnC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;YACtC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC;YACvC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;YACnC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;YAEpC,OAAO,SAAS,CAAC;QACnB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAChC,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACtC,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QACxC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAChC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC,KAAK;YACjB,CAAC,CAAC,SAAS,CAAC;QACd,IACE,OAAO,SAAS,KAAK,QAAQ;YAC7B,SAAS,CAAC,MAAM,KAAK,CAAC;YACtB,OAAO,UAAU,KAAK,QAAQ;YAC9B,UAAU,CAAC,MAAM,KAAK,CAAC;YACvB,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,CAAC,MAAM,KAAK,CAAC;YACpB,CAAC,cAAc,CAAC,GAAG,CAAC,MAA6C,CAAC;YAClE,CAAC,eAAe,CAAC,GAAG,CAAC,MAA6C,CAAC;YACnE,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;YAElD,OAAO,SAAS,CAAC;QACnB,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,MAA6C;YACrD,SAAS;YACT,KAAK;YACL,UAAU;YACV,MAAM,EAAE,MAA6C;YACrD,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/devtools/serialize.ts"],"names":[],"mappings":"AA2DA,eAAO,MAAM,2BAA2B,UAAW,OAAO,KAAG,OAM5D,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAAW,OAAO,KAAG,MAMrD,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { projectForDisplay } from "./projection";
|
|
2
|
+
const isJsonPrimitive = (value) => {
|
|
3
|
+
if (value === null)
|
|
4
|
+
return true;
|
|
5
|
+
if (typeof value === "string" || typeof value === "boolean")
|
|
6
|
+
return true;
|
|
7
|
+
return typeof value === "number" && Number.isFinite(value);
|
|
8
|
+
};
|
|
9
|
+
const isDataDescriptor = (descriptor) => descriptor !== undefined &&
|
|
10
|
+
"value" in descriptor &&
|
|
11
|
+
descriptor.get === undefined &&
|
|
12
|
+
descriptor.set === undefined;
|
|
13
|
+
const isJsonArray = (value, ancestors) => {
|
|
14
|
+
const keys = Reflect.ownKeys(value);
|
|
15
|
+
if (keys.some((key) => typeof key === "symbol"))
|
|
16
|
+
return false;
|
|
17
|
+
if (keys.length !== value.length + 1)
|
|
18
|
+
return false;
|
|
19
|
+
return Array.from({ length: value.length }, (_, index) => index).every((index) => {
|
|
20
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
|
|
21
|
+
return (isDataDescriptor(descriptor) &&
|
|
22
|
+
descriptor.enumerable === true &&
|
|
23
|
+
isJsonDomainValue(descriptor.value, ancestors));
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
const isJsonRecord = (value, ancestors) => {
|
|
27
|
+
const prototype = Object.getPrototypeOf(value);
|
|
28
|
+
if (prototype !== Object.prototype && prototype !== null)
|
|
29
|
+
return false;
|
|
30
|
+
const keys = Reflect.ownKeys(value);
|
|
31
|
+
if (keys.some((key) => typeof key === "symbol"))
|
|
32
|
+
return false;
|
|
33
|
+
if (keys.length !== Object.keys(value).length)
|
|
34
|
+
return false;
|
|
35
|
+
return keys.every((key) => {
|
|
36
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
37
|
+
return (isDataDescriptor(descriptor) &&
|
|
38
|
+
isJsonDomainValue(descriptor.value, ancestors));
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
const isJsonDomainValue = (value, ancestors) => {
|
|
42
|
+
if (isJsonPrimitive(value))
|
|
43
|
+
return true;
|
|
44
|
+
if (typeof value !== "object" || value === null)
|
|
45
|
+
return false;
|
|
46
|
+
if (ancestors.has(value))
|
|
47
|
+
return false;
|
|
48
|
+
ancestors.add(value);
|
|
49
|
+
const valid = Array.isArray(value)
|
|
50
|
+
? isJsonArray(value, ancestors)
|
|
51
|
+
: isJsonRecord(value, ancestors);
|
|
52
|
+
ancestors.delete(value);
|
|
53
|
+
return valid;
|
|
54
|
+
};
|
|
55
|
+
export const isRoundTrippableForDevtools = (value) => {
|
|
56
|
+
try {
|
|
57
|
+
return isJsonDomainValue(value, new Set());
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
export const stringifyForDevtools = (value) => {
|
|
64
|
+
try {
|
|
65
|
+
return JSON.stringify(projectForDisplay(value), null, 2) ?? "undefined";
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
return `[Unserializable: ${error instanceof Error ? error.message : String(error)}]`;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=serialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/devtools/serialize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { HydrationStatus, NusmDevtoolsSnapshot, NusmEvent } from "../types";
|
|
2
|
+
export type NusmDevtoolsLocation = "memory" | "persisted";
|
|
3
|
+
export type NusmDevtoolsPath = Array<string | number>;
|
|
4
|
+
export type NusmDevtoolsCommandInput = {
|
|
5
|
+
action: "refresh_all";
|
|
6
|
+
} | {
|
|
7
|
+
action: "refresh";
|
|
8
|
+
instanceId: string;
|
|
9
|
+
storeId: string;
|
|
10
|
+
} | {
|
|
11
|
+
action: "reset_memory";
|
|
12
|
+
instanceId: string;
|
|
13
|
+
storeId: string;
|
|
14
|
+
} | {
|
|
15
|
+
action: "replace_memory";
|
|
16
|
+
instanceId: string;
|
|
17
|
+
storeId: string;
|
|
18
|
+
value: unknown;
|
|
19
|
+
} | {
|
|
20
|
+
action: "replace_persisted";
|
|
21
|
+
instanceId: string;
|
|
22
|
+
storeId: string;
|
|
23
|
+
value: unknown;
|
|
24
|
+
} | {
|
|
25
|
+
action: "set_path";
|
|
26
|
+
instanceId: string;
|
|
27
|
+
location: NusmDevtoolsLocation;
|
|
28
|
+
path: NusmDevtoolsPath;
|
|
29
|
+
storeId: string;
|
|
30
|
+
value: unknown;
|
|
31
|
+
} | {
|
|
32
|
+
action: "remove_path";
|
|
33
|
+
instanceId: string;
|
|
34
|
+
location: NusmDevtoolsLocation;
|
|
35
|
+
path: NusmDevtoolsPath;
|
|
36
|
+
storeId: string;
|
|
37
|
+
};
|
|
38
|
+
export type NusmDevtoolsCommand = NusmDevtoolsCommandInput & {
|
|
39
|
+
commandId: string;
|
|
40
|
+
};
|
|
41
|
+
export type NusmDevtoolsCommandResult = {
|
|
42
|
+
action: NusmDevtoolsCommand["action"];
|
|
43
|
+
commandId: string;
|
|
44
|
+
error?: string;
|
|
45
|
+
instanceId: string;
|
|
46
|
+
status: "success" | "success_with_warning" | "error";
|
|
47
|
+
storeId: string;
|
|
48
|
+
};
|
|
49
|
+
export type NusmDevtoolsEventMap = {
|
|
50
|
+
command: NusmDevtoolsCommand;
|
|
51
|
+
commandResult: NusmDevtoolsCommandResult;
|
|
52
|
+
event: NusmEvent;
|
|
53
|
+
hydration: {
|
|
54
|
+
hydration: HydrationStatus;
|
|
55
|
+
instanceId: string;
|
|
56
|
+
storeId: string;
|
|
57
|
+
};
|
|
58
|
+
snapshot: NusmDevtoolsSnapshot;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/devtools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,SAAS,EACV,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AAEtD,MAAM,MAAM,wBAAwB,GAChC;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,GACzB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC/D;IACE,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB,GACD;IACE,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB,GACD;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB,GACD;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,GAAG;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,sBAAsB,GAAG,OAAO,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,aAAa,EAAE,yBAAyB,CAAC;IACzC,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE;QACT,SAAS,EAAE,eAAe,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE,oBAAoB,CAAC;CAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/devtools/types.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { createIndexDbAdapter } from "./adapters/indexDbAdapter";
|
|
2
2
|
export { createLocalStorageAdapter } from "./adapters/localStorageAdapter";
|
|
3
3
|
export { createSessionStorageAdapter } from "./adapters/sessionStorageAdapter";
|
|
4
|
-
export { createNusmStore } from "./
|
|
5
|
-
export {
|
|
6
|
-
export type { AdapterEvent, AdapterEventType, CreateNusmStoreOptions, HydrateConfig, HydrationState, HydrationStatus, NusmDevtoolsSnapshot, IndexDbAdapterOptions, NusmAdapter, NusmEvent, NusmEventType, NusmPacerConfig, NusmStore, PersistSlice, StorageAdapterOptions, StorageLike, } from "./types";
|
|
4
|
+
export { createNusmStore } from "./nusm";
|
|
5
|
+
export type { AdapterEvent, AdapterEventType, CreateNusmStoreOptions, HydrateConfig, HydrationState, HydrationStatus, IndexDbAdapterOptions, NusmAdapter, NusmDevtoolsSnapshot, NusmEvent, NusmEventType, NusmPacerConfig, NusmStore, PersistSlice, ReadonlyHydrationStatus, StorageAdapterOptions, StorageLike, } from "./types";
|
|
7
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,eAAe,EACf,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,WAAW,GACZ,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { createIndexDbAdapter } from "./adapters/indexDbAdapter";
|
|
2
2
|
export { createLocalStorageAdapter } from "./adapters/localStorageAdapter";
|
|
3
3
|
export { createSessionStorageAdapter } from "./adapters/sessionStorageAdapter";
|
|
4
|
-
export { createNusmStore } from "./
|
|
5
|
-
export { createNusmDevtoolsPlugin } from "./devtools/plugin";
|
|
4
|
+
export { createNusmStore } from "./nusm";
|
|
6
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC"}
|
package/dist/nusm.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { batch, Store } from "@tanstack/store";
|
|
2
|
+
import type { CreateNusmStoreOptions, NusmStore } from "./types";
|
|
3
|
+
export { batch, Store };
|
|
4
|
+
export declare function createNusmStore<TState>(initialState: TState, options?: CreateNusmStoreOptions<TState>): NusmStore<TState>;
|
|
5
|
+
//# sourceMappingURL=nusm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nusm.d.ts","sourceRoot":"","sources":["../src/nusm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAS/C,OAAO,KAAK,EAEV,sBAAsB,EAItB,SAAS,EACV,MAAM,SAAS,CAAC;AAyFjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAGxB,wBAAgB,eAAe,CAAC,MAAM,EACpC,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,GACvC,SAAS,CAAC,MAAM,CAAC,CA+mCnB"}
|