@simplestack/store 0.5.0 → 0.5.1
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.map +1 -1
- package/dist/index.js +21 -32
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE1E,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAInF,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAExC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,GAE5C,MAAM,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GACzC,MAAM,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GACzC,CAAC,CAAC,CAAC,CAAC,CAAC;AAGX,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,IACvD,CAAC,SAAS,WAAW,GACnB,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACvD,SAAS,CAAC;AAEhB,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,IAAI;IACxD,GAAG,EAAE,MAAM,CAAC,CAAC;IACb,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IACrD,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;CACvB,CAAC;AAGF,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AACtD,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AACtD,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;AACxD,wBAAgB,KAAK,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE1E,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAInF,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAExC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,GAE5C,MAAM,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GACzC,MAAM,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GACzC,CAAC,CAAC,CAAC,CAAC,CAAC;AAGX,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,IACvD,CAAC,SAAS,WAAW,GACnB,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACvD,SAAS,CAAC;AAEhB,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,IAAI;IACxD,GAAG,EAAE,MAAM,CAAC,CAAC;IACb,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IACrD,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;CACvB,CAAC;AAGF,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AACtD,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AACtD,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;AACxD,wBAAgB,KAAK,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AA4EpF,wBAAgB,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,MAAM,IAAI,CAAC,cAmBjE"}
|
package/dist/index.js
CHANGED
|
@@ -11,54 +11,39 @@ const createStoreApi = (get, set) => {
|
|
|
11
11
|
callback(get());
|
|
12
12
|
});
|
|
13
13
|
};
|
|
14
|
-
|
|
14
|
+
if (isStatePrimitive(get())) {
|
|
15
|
+
return { get, set, listen, select: undefined };
|
|
16
|
+
}
|
|
15
17
|
function select(key) {
|
|
16
18
|
const getSelected = () => {
|
|
17
19
|
const state = get();
|
|
18
|
-
if (
|
|
19
|
-
throw new Error(
|
|
20
|
+
if (isStatePrimitive(state)) {
|
|
21
|
+
throw new Error(UNEXPECTED_SELECT_ERROR);
|
|
20
22
|
}
|
|
21
23
|
return state[key];
|
|
22
24
|
};
|
|
23
25
|
const setSelected = (setter) => {
|
|
24
26
|
set((state) => {
|
|
25
|
-
if (
|
|
26
|
-
throw new Error(
|
|
27
|
+
if (isStatePrimitive(state)) {
|
|
28
|
+
throw new Error(UNEXPECTED_SELECT_ERROR);
|
|
27
29
|
}
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
+
const stateObj = state;
|
|
31
|
+
const prev = stateObj[key];
|
|
32
|
+
const next = typeof setter === "function"
|
|
33
|
+
? setter(prev)
|
|
34
|
+
: setter;
|
|
30
35
|
if (Object.is(prev, next))
|
|
31
36
|
return state;
|
|
32
|
-
return { ...
|
|
37
|
+
return { ...stateObj, [key]: next };
|
|
33
38
|
});
|
|
34
39
|
};
|
|
35
40
|
return createStoreApi(getSelected, setSelected);
|
|
36
41
|
}
|
|
37
|
-
;
|
|
38
|
-
if (isStateObject(get())) {
|
|
39
|
-
Object.assign(api, { select });
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
// Hide select method to prevent accidental usage on primitive stores
|
|
43
|
-
// but still log useful error messages
|
|
44
|
-
Object.defineProperty(api, 'select', {
|
|
45
|
-
value: select,
|
|
46
|
-
enumerable: false,
|
|
47
|
-
writable: false,
|
|
48
|
-
configurable: false
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
return api;
|
|
42
|
+
return { get, set, listen, select: select };
|
|
52
43
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
error += ` It's possible you tried to select a nested value on an object key or an array index. If so, try checking if the key is defined before calling \`.select()\`.`;
|
|
57
|
-
}
|
|
58
|
-
return error;
|
|
59
|
-
}
|
|
60
|
-
function isStateObject(state) {
|
|
61
|
-
return typeof state === "object" && state !== null;
|
|
44
|
+
const UNEXPECTED_SELECT_ERROR = "Internal: select() was unexpectedly called on a state value that wasn't an object.";
|
|
45
|
+
function isStatePrimitive(state) {
|
|
46
|
+
return typeof state === "string" || typeof state === "number" || typeof state === "boolean" || state === null || state === undefined;
|
|
62
47
|
}
|
|
63
48
|
let needsEnqueue = true;
|
|
64
49
|
const w = new Signal.subtle.Watcher(() => {
|
|
@@ -91,4 +76,8 @@ export function effect(callback) {
|
|
|
91
76
|
cleanup = undefined;
|
|
92
77
|
};
|
|
93
78
|
}
|
|
79
|
+
const noteStore = store({
|
|
80
|
+
notes: [],
|
|
81
|
+
});
|
|
82
|
+
const firstNoteTitle = noteStore.select("notes").select(0).select?.('title');
|
|
94
83
|
//# 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,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAmCzC,MAAM,UAAU,KAAK,CAAyC,OAAU;IACpE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAI,OAAO,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,CAAC,MAAiB,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1G,OAAO,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,cAAc,GAAG,CACnB,GAAY,EACZ,GAAgC,EACxB,EAAE;IACV,MAAM,MAAM,GAAG,CAAC,QAA4B,EAAE,EAAE;QAC5C,OAAO,MAAM,CAAC,GAAG,EAAE;YACf,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|