atom.io 0.11.0 → 0.12.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/data/dist/index.cjs +614 -0
- package/data/dist/index.cjs.map +1 -0
- package/data/dist/index.d.cts +158 -0
- package/data/dist/index.d.ts +118 -1
- package/data/dist/index.js +551 -30
- package/data/dist/index.js.map +1 -1
- package/data/dist/metafile-cjs.json +1 -0
- package/data/dist/metafile-esm.json +1 -0
- package/data/package.json +4 -3
- package/data/src/index.ts +1 -0
- package/data/src/join.ts +450 -0
- package/data/src/struct-family.ts +34 -24
- package/data/src/struct.ts +6 -8
- package/dist/index.cjs +257 -0
- package/dist/index.cjs.map +1 -0
- package/dist/{index.d.mts → index.d.cts} +10 -11
- package/dist/index.d.ts +10 -11
- package/dist/index.js +63 -104
- package/dist/index.js.map +1 -1
- package/dist/metafile-cjs.json +1 -0
- package/dist/metafile-esm.json +1 -0
- package/internal/dist/{index.mjs → index.cjs} +692 -503
- package/internal/dist/index.cjs.map +1 -0
- package/internal/dist/{index.d.mts → index.d.cts} +114 -105
- package/internal/dist/index.d.ts +114 -105
- package/internal/dist/index.js +628 -563
- package/internal/dist/index.js.map +1 -1
- package/internal/dist/metafile-cjs.json +1 -0
- package/internal/dist/metafile-esm.json +1 -0
- package/internal/package.json +4 -3
- package/internal/src/atom/create-atom.ts +29 -16
- package/internal/src/atom/delete-atom.ts +25 -6
- package/internal/src/atom/is-default.ts +4 -17
- package/internal/src/caching.ts +28 -23
- package/internal/src/families/create-atom-family.ts +3 -2
- package/internal/src/families/create-readonly-selector-family.ts +1 -1
- package/internal/src/families/create-selector-family.ts +4 -4
- package/internal/src/index.ts +2 -1
- package/internal/src/mutable/create-mutable-atom-family.ts +2 -2
- package/internal/src/mutable/create-mutable-atom.ts +1 -2
- package/internal/src/mutable/get-json-family.ts +22 -0
- package/internal/src/mutable/get-json-token.ts +1 -0
- package/internal/src/mutable/index.ts +1 -0
- package/internal/src/mutable/tracker-family.ts +1 -2
- package/internal/src/mutable/tracker.ts +8 -6
- package/internal/src/mutable/transceiver.ts +2 -0
- package/internal/src/not-found-error.ts +27 -0
- package/internal/src/operation.ts +2 -3
- package/internal/src/{get-state-internal.ts → read-or-compute-value.ts} +13 -6
- package/internal/src/selector/create-selector.ts +6 -7
- package/internal/src/selector/delete-selector.ts +37 -0
- package/internal/src/selector/index.ts +2 -1
- package/internal/src/selector/register-selector.ts +7 -7
- package/internal/src/set-state/copy-mutable-in-transaction.ts +3 -2
- package/internal/src/set-state/emit-update.ts +1 -3
- package/internal/src/set-state/evict-downstream.ts +6 -8
- package/internal/src/set-state/index.ts +1 -1
- package/internal/src/set-state/{set-state-internal.ts → set-atom-or-selector.ts} +2 -3
- package/internal/src/set-state/set-atom.ts +5 -6
- package/internal/src/store/store.ts +1 -1
- package/internal/src/store/withdraw-new-family-member.ts +6 -6
- package/internal/src/subscribe/recall-state.ts +1 -2
- package/internal/src/subscribe/subscribe-to-root-atoms.ts +2 -2
- package/internal/src/timeline/add-atom-to-timeline.ts +5 -16
- package/internal/src/timeline/{timeline-internal.ts → create-timeline.ts} +4 -5
- package/internal/src/timeline/index.ts +2 -2
- package/internal/src/timeline/time-travel.ts +89 -0
- package/internal/src/transaction/{transaction-internal.ts → create-transaction.ts} +6 -5
- package/internal/src/transaction/index.ts +2 -3
- package/introspection/dist/{index.mjs → index.cjs} +54 -29
- package/introspection/dist/index.cjs.map +1 -0
- package/introspection/dist/{index.d.mts → index.d.cts} +2 -2
- package/introspection/dist/index.d.ts +2 -2
- package/introspection/dist/index.js +32 -49
- package/introspection/dist/index.js.map +1 -1
- package/introspection/dist/metafile-cjs.json +1 -0
- package/introspection/dist/metafile-esm.json +1 -0
- package/introspection/package.json +4 -3
- package/introspection/src/attach-introspection-states.ts +2 -2
- package/introspection/src/attach-selector-index.ts +8 -4
- package/json/dist/{index.mjs → index.cjs} +20 -7
- package/json/dist/{index.mjs.map → index.cjs.map} +1 -1
- package/json/dist/{index.d.mts → index.d.cts} +1 -1
- package/json/dist/index.d.ts +1 -1
- package/json/dist/index.js +6 -19
- package/json/dist/index.js.map +1 -1
- package/json/dist/metafile-cjs.json +1 -0
- package/json/dist/metafile-esm.json +1 -0
- package/json/package.json +4 -3
- package/package.json +48 -47
- package/react/dist/index.cjs +59 -0
- package/react/dist/index.cjs.map +1 -0
- package/react/dist/index.js +20 -42
- package/react/dist/index.js.map +1 -1
- package/react/dist/metafile-cjs.json +1 -0
- package/react/dist/metafile-esm.json +1 -0
- package/react/package.json +4 -3
- package/react/src/store-hooks.ts +8 -2
- package/react-devtools/dist/{index.mjs → index.cjs} +286 -240
- package/react-devtools/dist/index.cjs.map +1 -0
- package/react-devtools/dist/{index.d.mts → index.d.cts} +29 -17
- package/react-devtools/dist/index.d.ts +29 -17
- package/react-devtools/dist/index.js +251 -273
- package/react-devtools/dist/index.js.map +1 -1
- package/react-devtools/dist/metafile-cjs.json +1 -0
- package/react-devtools/dist/metafile-esm.json +1 -0
- package/react-devtools/package.json +4 -3
- package/react-devtools/src/StateEditor.tsx +8 -8
- package/realtime-client/dist/{index.mjs → index.cjs} +50 -21
- package/realtime-client/dist/index.js +20 -49
- package/realtime-client/dist/metafile-cjs.json +1 -0
- package/realtime-client/dist/metafile-esm.json +1 -0
- package/realtime-client/package.json +4 -3
- package/realtime-react/dist/index.cjs +99 -0
- package/realtime-react/dist/index.js +35 -66
- package/realtime-react/dist/metafile-cjs.json +1 -0
- package/realtime-react/dist/metafile-esm.json +1 -0
- package/realtime-react/package.json +4 -3
- package/realtime-server/dist/{index.mjs → index.cjs} +67 -40
- package/realtime-server/dist/index.js +39 -66
- package/realtime-server/dist/metafile-cjs.json +1 -0
- package/realtime-server/dist/metafile-esm.json +1 -0
- package/realtime-server/package.json +4 -3
- package/realtime-testing/dist/{index.mjs → index.cjs} +54 -23
- package/realtime-testing/dist/index.js +22 -53
- package/realtime-testing/dist/metafile-cjs.json +1 -0
- package/realtime-testing/dist/metafile-esm.json +1 -0
- package/realtime-testing/package.json +4 -3
- package/src/atom.ts +6 -8
- package/src/dispose.ts +18 -0
- package/src/get-state.ts +16 -0
- package/src/index.ts +3 -1
- package/src/logger.ts +1 -1
- package/src/selector.ts +3 -3
- package/src/set-state.ts +22 -0
- package/src/silo.ts +7 -8
- package/src/timeline.ts +6 -11
- package/src/transaction.ts +2 -2
- package/transceivers/set-rtx/dist/{index.mjs → index.cjs} +40 -36
- package/transceivers/set-rtx/dist/index.cjs.map +1 -0
- package/transceivers/set-rtx/dist/{index.d.mts → index.d.cts} +2 -1
- package/transceivers/set-rtx/dist/index.d.ts +2 -1
- package/transceivers/set-rtx/dist/index.js +37 -37
- package/transceivers/set-rtx/dist/index.js.map +1 -1
- package/transceivers/set-rtx/dist/metafile-cjs.json +1 -0
- package/transceivers/set-rtx/dist/metafile-esm.json +1 -0
- package/transceivers/set-rtx/package.json +4 -3
- package/transceivers/set-rtx/src/set-rtx.ts +29 -26
- package/data/dist/index.d.mts +0 -41
- package/data/dist/index.mjs +0 -82
- package/data/dist/index.mjs.map +0 -1
- package/dist/index.mjs +0 -215
- package/dist/index.mjs.map +0 -1
- package/internal/dist/index.mjs.map +0 -1
- package/internal/src/set-state/set-selector-state.ts +0 -8
- package/internal/src/timeline/time-travel-internal.ts +0 -109
- package/introspection/dist/index.mjs.map +0 -1
- package/react/dist/index.mjs +0 -29
- package/react/dist/index.mjs.map +0 -1
- package/react-devtools/dist/index.mjs.map +0 -1
- package/realtime-react/dist/index.mjs +0 -68
- package/src/get-set.ts +0 -48
- package/transceivers/set-rtx/dist/index.mjs.map +0 -1
- /package/react/dist/{index.d.mts → index.d.cts} +0 -0
- /package/realtime-client/dist/{index.mjs.map → index.cjs.map} +0 -0
- /package/realtime-client/dist/{index.d.mts → index.d.cts} +0 -0
- /package/realtime-react/dist/{index.mjs.map → index.cjs.map} +0 -0
- /package/realtime-react/dist/{index.d.mts → index.d.cts} +0 -0
- /package/realtime-server/dist/{index.mjs.map → index.cjs.map} +0 -0
- /package/realtime-server/dist/{index.d.mts → index.d.cts} +0 -0
- /package/realtime-testing/dist/{index.mjs.map → index.cjs.map} +0 -0
- /package/realtime-testing/dist/{index.d.mts → index.d.cts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"inputs":{"src/attach-atom-index.ts":{"bytes":2213,"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/attach-selector-index.ts":{"bytes":2622,"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/attach-timeline-family.ts":{"bytes":1489,"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/attach-timeline-index.ts":{"bytes":1013,"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true}],"format":"esm"},"src/attach-transaction-index.ts":{"bytes":1086,"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true}],"format":"esm"},"src/attach-transaction-logs.ts":{"bytes":1110,"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true}],"format":"esm"},"src/attach-introspection-states.ts":{"bytes":1462,"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"src/attach-atom-index.ts","kind":"import-statement","original":"./attach-atom-index"},{"path":"src/attach-selector-index.ts","kind":"import-statement","original":"./attach-selector-index"},{"path":"src/attach-timeline-family.ts","kind":"import-statement","original":"./attach-timeline-family"},{"path":"src/attach-timeline-index.ts","kind":"import-statement","original":"./attach-timeline-index"},{"path":"src/attach-transaction-index.ts","kind":"import-statement","original":"./attach-transaction-index"},{"path":"src/attach-transaction-logs.ts","kind":"import-statement","original":"./attach-transaction-logs"}],"format":"esm"},"src/index.ts":{"bytes":488,"imports":[{"path":"src/attach-introspection-states.ts","kind":"import-statement","original":"./attach-introspection-states"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":20231},"dist/index.js":{"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true}],"exports":["attachIntrospectionStates"],"entryPoint":"src/index.ts","inputs":{"src/attach-introspection-states.ts":{"bytesInOutput":432},"src/attach-atom-index.ts":{"bytesInOutput":2373},"src/attach-selector-index.ts":{"bytesInOutput":2740},"src/attach-timeline-family.ts":{"bytesInOutput":1645},"src/attach-timeline-index.ts":{"bytesInOutput":961},"src/attach-transaction-index.ts":{"bytesInOutput":997},"src/attach-transaction-logs.ts":{"bytesInOutput":1011},"src/index.ts":{"bytesInOutput":0}},"bytes":11330}}}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "atom.io-introspection",
|
|
3
|
+
"type": "module",
|
|
3
4
|
"private": true,
|
|
4
5
|
"main": "dist/index.js",
|
|
5
6
|
"types": "dist/index.d.ts",
|
|
@@ -7,9 +8,9 @@
|
|
|
7
8
|
"exports": {
|
|
8
9
|
".": {
|
|
9
10
|
"types": "./dist/index.d.ts",
|
|
10
|
-
"browser": "./dist/index.
|
|
11
|
-
"import": "./dist/index.
|
|
12
|
-
"require": "./dist/index.
|
|
11
|
+
"browser": "./dist/index.js",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
}
|
|
@@ -6,7 +6,7 @@ import type {
|
|
|
6
6
|
TransactionUpdate,
|
|
7
7
|
ƒn,
|
|
8
8
|
} from "atom.io"
|
|
9
|
-
import * as
|
|
9
|
+
import * as Internal from "atom.io/internal"
|
|
10
10
|
import type { Timeline } from "atom.io/internal"
|
|
11
11
|
|
|
12
12
|
import { type AtomTokenIndex, attachAtomIndex } from "./attach-atom-index"
|
|
@@ -18,7 +18,7 @@ import { attachTransactionIndex } from "./attach-transaction-index"
|
|
|
18
18
|
import { attachTransactionLogs } from "./attach-transaction-logs"
|
|
19
19
|
|
|
20
20
|
export const attachIntrospectionStates = (
|
|
21
|
-
store:
|
|
21
|
+
store: Internal.Store = Internal.IMPLICIT.STORE,
|
|
22
22
|
): {
|
|
23
23
|
atomIndex: ReadonlySelectorToken<AtomTokenIndex>
|
|
24
24
|
selectorIndex: ReadonlySelectorToken<SelectorTokenIndex>
|
|
@@ -83,8 +83,12 @@ export const attachSelectorIndex = (
|
|
|
83
83
|
undefined,
|
|
84
84
|
store,
|
|
85
85
|
)
|
|
86
|
-
return createSelector(
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
return createSelector(
|
|
87
|
+
{
|
|
88
|
+
key: `👁🗨 Selector Token Index`,
|
|
89
|
+
get: ({ get }) => get(readonlySelectorTokenIndexState__INTERNAL),
|
|
90
|
+
},
|
|
91
|
+
undefined,
|
|
92
|
+
IMPLICIT.STORE,
|
|
93
|
+
)
|
|
90
94
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var internal = require('atom.io/internal');
|
|
2
4
|
|
|
3
5
|
// ../../anvl/src/json/json-interface.ts
|
|
4
6
|
var stringSetJsonInterface = {
|
|
@@ -42,8 +44,8 @@ var isNull = (input) => {
|
|
|
42
44
|
var isPrimitive = (input) => {
|
|
43
45
|
return isString(input) || isNumber(input) || isBoolean(input) || isNull(input);
|
|
44
46
|
};
|
|
45
|
-
var selectJson = (atom, transform, store = IMPLICIT.STORE) => {
|
|
46
|
-
return createSelector(
|
|
47
|
+
var selectJson = (atom, transform, store = internal.IMPLICIT.STORE) => {
|
|
48
|
+
return internal.createSelector(
|
|
47
49
|
{
|
|
48
50
|
key: `${atom.key}:JSON`,
|
|
49
51
|
get: ({ get }) => transform.toJson(get(atom)),
|
|
@@ -53,8 +55,8 @@ var selectJson = (atom, transform, store = IMPLICIT.STORE) => {
|
|
|
53
55
|
store
|
|
54
56
|
);
|
|
55
57
|
};
|
|
56
|
-
var selectJsonFamily = (atomFamily, transform, store = IMPLICIT.STORE) => {
|
|
57
|
-
const jsonFamily = createSelectorFamily(
|
|
58
|
+
var selectJsonFamily = (atomFamily, transform, store = internal.IMPLICIT.STORE) => {
|
|
59
|
+
const jsonFamily = internal.createSelectorFamily(
|
|
58
60
|
{
|
|
59
61
|
key: `${atomFamily.key}:JSON`,
|
|
60
62
|
get: (key) => ({ get }) => transform.toJson(get(atomFamily(key))),
|
|
@@ -73,6 +75,17 @@ var selectJsonFamily = (atomFamily, transform, store = IMPLICIT.STORE) => {
|
|
|
73
75
|
return jsonFamily;
|
|
74
76
|
};
|
|
75
77
|
|
|
76
|
-
|
|
78
|
+
exports.JSON_DEFAULTS = JSON_DEFAULTS;
|
|
79
|
+
exports.JSON_TYPE_NAMES = JSON_TYPE_NAMES;
|
|
80
|
+
exports.isBoolean = isBoolean;
|
|
81
|
+
exports.isNull = isNull;
|
|
82
|
+
exports.isNumber = isNumber;
|
|
83
|
+
exports.isPrimitive = isPrimitive;
|
|
84
|
+
exports.isString = isString;
|
|
85
|
+
exports.parseJson = parseJson;
|
|
86
|
+
exports.selectJson = selectJson;
|
|
87
|
+
exports.selectJsonFamily = selectJsonFamily;
|
|
88
|
+
exports.stringSetJsonInterface = stringSetJsonInterface;
|
|
89
|
+
exports.stringifyJson = stringifyJson;
|
|
77
90
|
//# sourceMappingURL=out.js.map
|
|
78
|
-
//# sourceMappingURL=index.
|
|
91
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../anvl/src/json/json-interface.ts","../../../anvl/src/json/index.ts","../../../anvl/src/primitive/index.ts","../src/select-json.ts","../src/select-json-family.ts"],"names":["IMPLICIT"],"mappings":";AAOO,IAAM,yBAGT;AAAA,EACH,QAAQ,CAAC,cAAc,MAAM,KAAK,SAAS;AAAA,EAC3C,UAAU,CAAC,SAAS,IAAI,IAAI,IAAI;AACjC;;;ACTO,IAAM,YAAY,CACxB,QAC4D,KAAK,MAAM,GAAG;AAIpE,IAAM,gBAAgB,CAC5B,SACoB,KAAK,UAAU,IAAI;AAIjC,IAAM,kBAAkB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAaO,IAAM,gBAA2B;AAAA,EACvC,OAAO,CAAC;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ,CAAC;AAAA,EACT,QAAQ;AACT;;;ACzCO,IAAM,WAAW,CAAC,UAAoC;AAC5D,SAAO,OAAO,UAAU;AACzB;AAEO,IAAM,WAAW,CAAC,UAAoC;AAC5D,SAAO,OAAO,UAAU;AACzB;AAEO,IAAM,YAAY,CAAC,UAAqC;AAC9D,SAAO,OAAO,UAAU;AACzB;AAEO,IAAM,SAAS,CAAC,UAAkC;AACxD,SAAO,UAAU;AAClB;AAEO,IAAM,cAAc,CAAC,UAAuC;AAClE,SAAO,SAAS,KAAK,KAAK,SAAS,KAAK,KAAK,UAAU,KAAK,KAAK,OAAO,KAAK;AAC9E;;;AClBA,SAAS,gBAAgB;AAEzB,SAAS,sBAAsB;AAGxB,IAAM,aAAa,CACzB,MACA,WACA,QAAe,SAAS,UACK;AAC7B,SAAO;AAAA,IACN;AAAA,MACC,KAAK,GAAG,KAAK,GAAG;AAAA,MAChB,KAAK,CAAC,EAAE,IAAI,MAAM,UAAU,OAAO,IAAI,IAAI,CAAC;AAAA,MAC5C,KAAK,CAAC,EAAE,IAAI,GAAG,aAAa,IAAI,MAAM,UAAU,SAAS,QAAQ,CAAC;AAAA,IACnE;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;;;ACnBA,SAAS,YAAAA,WAAU,4BAA4B;AAKxC,IAAM,mBAAmB,CAK/B,YACA,WACA,QAAeA,UAAS,UACS;AACjC,QAAM,aAAa;AAAA,IAClB;AAAA,MACC,KAAK,GAAG,WAAW,GAAG;AAAA,MACtB,KACC,CAAC,QACD,CAAC,EAAE,IAAI,MACN,UAAU,OAAO,IAAI,WAAW,GAAG,CAAC,CAAC;AAAA,MACvC,KACC,CAAC,QACD,CAAC,EAAE,IAAI,GAAG,aACT,IAAI,WAAW,GAAG,GAAG,UAAU,SAAS,QAAQ,CAAC;AAAA,IACpD;AAAA,IACA;AAAA,EACD;AACA,aAAW,QAAQ;AAAA,IAClB,SAAS,MAAM,OAAO,IAAI;AAAA,IAC1B,CAAC,UAAU;AACV,UAAI,MAAM,QAAQ;AACjB,mBAAW,UAAU,MAAM,OAAO,MAAM,CAAM;AAAA,MAC/C;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR","sourcesContent":["import type { Json } from \".\"\n\nexport type JsonInterface<T, J extends Json.Serializable = Json.Serializable> = {\n\ttoJson: (t: T) => J\n\tfromJson: (json: J) => T\n}\n\nexport const stringSetJsonInterface: JsonInterface<\n\tSet<string>,\n\tJson.Array<string>\n> = {\n\ttoJson: (stringSet) => Array.from(stringSet),\n\tfromJson: (json) => new Set(json),\n}\n","export * from \"./json-interface\"\nimport type * as Json from \"./json\"\nexport { Json }\n\nexport const parseJson = <S extends Stringified<Json.Serializable>>(\n\tstr: S | string,\n): S extends Stringified<infer J> ? J : Json.Serializable => JSON.parse(str)\n\nexport type Stringified<J extends Json.Serializable> = string & { __json: J }\n\nexport const stringifyJson = <J extends Json.Serializable>(\n\tjson: J,\n): Stringified<J> => JSON.stringify(json) as Stringified<J>\n\nexport type Empty = Record<string, never>\n\nexport const JSON_TYPE_NAMES = [\n\t`array`,\n\t`boolean`,\n\t`null`,\n\t`number`,\n\t`object`,\n\t`string`,\n] as const\n\nexport type JsonTypeName = typeof JSON_TYPE_NAMES[number]\n\nexport interface JsonTypes extends Record<JsonTypeName, Json.Serializable> {\n\tarray: Json.Array\n\tboolean: boolean\n\tnull: null\n\tnumber: number\n\tobject: Json.Object\n\tstring: string\n}\n\nexport const JSON_DEFAULTS: JsonTypes = {\n\tarray: [],\n\tboolean: false,\n\tnull: null,\n\tnumber: 0,\n\tobject: {},\n\tstring: ``,\n}\n","export type primitive = boolean | number | string | null\n\nexport const isString = (input: unknown): input is string => {\n\treturn typeof input === `string`\n}\n\nexport const isNumber = (input: unknown): input is number => {\n\treturn typeof input === `number`\n}\n\nexport const isBoolean = (input: unknown): input is boolean => {\n\treturn typeof input === `boolean`\n}\n\nexport const isNull = (input: unknown): input is null => {\n\treturn input === null\n}\n\nexport const isPrimitive = (input: unknown): input is primitive => {\n\treturn isString(input) || isNumber(input) || isBoolean(input) || isNull(input)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT } from \"atom.io/internal\"\n\nimport { createSelector } from \"atom.io/internal\"\nimport type { Json, JsonInterface } from \".\"\n\nexport const selectJson = <T, J extends Json.Serializable>(\n\tatom: AtomIO.AtomToken<T>,\n\ttransform: JsonInterface<T, J>,\n\tstore: Store = IMPLICIT.STORE,\n): AtomIO.SelectorToken<J> => {\n\treturn createSelector(\n\t\t{\n\t\t\tkey: `${atom.key}:JSON`,\n\t\t\tget: ({ get }) => transform.toJson(get(atom)),\n\t\t\tset: ({ set }, newValue) => set(atom, transform.fromJson(newValue)),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT, createSelectorFamily } from \"atom.io/internal\"\n\nimport type { Json, JsonInterface } from \".\"\nimport { parseJson } from \".\"\n\nexport const selectJsonFamily = <\n\tT,\n\tJ extends Json.Serializable,\n\tK extends Json.Serializable,\n>(\n\tatomFamily: AtomIO.AtomFamily<T, K>,\n\ttransform: JsonInterface<T, J>,\n\tstore: Store = IMPLICIT.STORE,\n): AtomIO.SelectorFamily<J, K> => {\n\tconst jsonFamily = createSelectorFamily<J, K>(\n\t\t{\n\t\t\tkey: `${atomFamily.key}:JSON`,\n\t\t\tget:\n\t\t\t\t(key) =>\n\t\t\t\t({ get }) =>\n\t\t\t\t\ttransform.toJson(get(atomFamily(key))),\n\t\t\tset:\n\t\t\t\t(key) =>\n\t\t\t\t({ set }, newValue) =>\n\t\t\t\t\tset(atomFamily(key), transform.fromJson(newValue)),\n\t\t},\n\t\tstore,\n\t)\n\tatomFamily.subject.subscribe(\n\t\t`store=${store.config.name}::json-selector-family`,\n\t\t(token) => {\n\t\t\tif (token.family) {\n\t\t\t\tjsonFamily(parseJson(token.family.subKey) as K)\n\t\t\t}\n\t\t},\n\t)\n\treturn jsonFamily\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../anvl/src/json/json-interface.ts","../../../anvl/src/json/index.ts","../../../anvl/src/primitive/index.ts","../src/select-json.ts","../src/select-json-family.ts"],"names":["IMPLICIT"],"mappings":";AAOO,IAAM,yBAGT;AAAA,EACH,QAAQ,CAAC,cAAc,MAAM,KAAK,SAAS;AAAA,EAC3C,UAAU,CAAC,SAAS,IAAI,IAAI,IAAI;AACjC;;;ACTO,IAAM,YAAY,CACxB,QAC4D,KAAK,MAAM,GAAG;AAIpE,IAAM,gBAAgB,CAC5B,SACoB,KAAK,UAAU,IAAI;AAIjC,IAAM,kBAAkB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAaO,IAAM,gBAA2B;AAAA,EACvC,OAAO,CAAC;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ,CAAC;AAAA,EACT,QAAQ;AACT;;;ACzCO,IAAM,WAAW,CAAC,UAAoC;AAC5D,SAAO,OAAO,UAAU;AACzB;AAEO,IAAM,WAAW,CAAC,UAAoC;AAC5D,SAAO,OAAO,UAAU;AACzB;AAEO,IAAM,YAAY,CAAC,UAAqC;AAC9D,SAAO,OAAO,UAAU;AACzB;AAEO,IAAM,SAAS,CAAC,UAAkC;AACxD,SAAO,UAAU;AAClB;AAEO,IAAM,cAAc,CAAC,UAAuC;AAClE,SAAO,SAAS,KAAK,KAAK,SAAS,KAAK,KAAK,UAAU,KAAK,KAAK,OAAO,KAAK;AAC9E;;;AClBA,SAAS,gBAAgB;AAEzB,SAAS,sBAAsB;AAGxB,IAAM,aAAa,CACzB,MACA,WACA,QAAe,SAAS,UACK;AAC7B,SAAO;AAAA,IACN;AAAA,MACC,KAAK,GAAG,KAAK,GAAG;AAAA,MAChB,KAAK,CAAC,EAAE,IAAI,MAAM,UAAU,OAAO,IAAI,IAAI,CAAC;AAAA,MAC5C,KAAK,CAAC,EAAE,IAAI,GAAG,aAAa,IAAI,MAAM,UAAU,SAAS,QAAQ,CAAC;AAAA,IACnE;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;;;ACnBA,SAAS,YAAAA,WAAU,4BAA4B;AAKxC,IAAM,mBAAmB,CAK/B,YACA,WACA,QAAeA,UAAS,UACS;AACjC,QAAM,aAAa;AAAA,IAClB;AAAA,MACC,KAAK,GAAG,WAAW,GAAG;AAAA,MACtB,KACC,CAAC,QACD,CAAC,EAAE,IAAI,MACN,UAAU,OAAO,IAAI,WAAW,GAAG,CAAC,CAAC;AAAA,MACvC,KACC,CAAC,QACD,CAAC,EAAE,IAAI,GAAG,aACT,IAAI,WAAW,GAAG,GAAG,UAAU,SAAS,QAAQ,CAAC;AAAA,IACpD;AAAA,IACA;AAAA,EACD;AACA,aAAW,QAAQ;AAAA,IAClB,SAAS,MAAM,OAAO,IAAI;AAAA,IAC1B,CAAC,UAAU;AACV,UAAI,MAAM,QAAQ;AACjB,mBAAW,UAAU,MAAM,OAAO,MAAM,CAAM;AAAA,MAC/C;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR","sourcesContent":["import type { Json } from \".\"\n\nexport type JsonInterface<T, J extends Json.Serializable = Json.Serializable> = {\n\ttoJson: (t: T) => J\n\tfromJson: (json: J) => T\n}\n\nexport const stringSetJsonInterface: JsonInterface<\n\tSet<string>,\n\tJson.Array<string>\n> = {\n\ttoJson: (stringSet) => Array.from(stringSet),\n\tfromJson: (json) => new Set(json),\n}\n","export * from \"./json-interface\"\nimport type * as Json from \"./json\"\nexport { Json }\n\nexport const parseJson = <S extends Stringified<Json.Serializable>>(\n\tstr: S | string,\n): S extends Stringified<infer J> ? J : Json.Serializable => JSON.parse(str)\n\nexport type Stringified<J extends Json.Serializable> = string & { __json: J }\n\nexport const stringifyJson = <J extends Json.Serializable>(\n\tjson: J,\n): Stringified<J> => JSON.stringify(json) as Stringified<J>\n\nexport type Empty = Record<string, never>\n\nexport const JSON_TYPE_NAMES = [\n\t`array`,\n\t`boolean`,\n\t`null`,\n\t`number`,\n\t`object`,\n\t`string`,\n] as const\n\nexport type JsonTypeName = (typeof JSON_TYPE_NAMES)[number]\n\nexport interface JsonTypes extends Record<JsonTypeName, Json.Serializable> {\n\tarray: Json.Array\n\tboolean: boolean\n\tnull: null\n\tnumber: number\n\tobject: Json.Object\n\tstring: string\n}\n\nexport const JSON_DEFAULTS: JsonTypes = {\n\tarray: [],\n\tboolean: false,\n\tnull: null,\n\tnumber: 0,\n\tobject: {},\n\tstring: ``,\n}\n","export type primitive = boolean | number | string | null\n\nexport const isString = (input: unknown): input is string => {\n\treturn typeof input === `string`\n}\n\nexport const isNumber = (input: unknown): input is number => {\n\treturn typeof input === `number`\n}\n\nexport const isBoolean = (input: unknown): input is boolean => {\n\treturn typeof input === `boolean`\n}\n\nexport const isNull = (input: unknown): input is null => {\n\treturn input === null\n}\n\nexport const isPrimitive = (input: unknown): input is primitive => {\n\treturn isString(input) || isNumber(input) || isBoolean(input) || isNull(input)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT } from \"atom.io/internal\"\n\nimport { createSelector } from \"atom.io/internal\"\nimport type { Json, JsonInterface } from \".\"\n\nexport const selectJson = <T, J extends Json.Serializable>(\n\tatom: AtomIO.AtomToken<T>,\n\ttransform: JsonInterface<T, J>,\n\tstore: Store = IMPLICIT.STORE,\n): AtomIO.SelectorToken<J> => {\n\treturn createSelector(\n\t\t{\n\t\t\tkey: `${atom.key}:JSON`,\n\t\t\tget: ({ get }) => transform.toJson(get(atom)),\n\t\t\tset: ({ set }, newValue) => set(atom, transform.fromJson(newValue)),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT, createSelectorFamily } from \"atom.io/internal\"\n\nimport type { Json, JsonInterface } from \".\"\nimport { parseJson } from \".\"\n\nexport const selectJsonFamily = <\n\tT,\n\tJ extends Json.Serializable,\n\tK extends Json.Serializable,\n>(\n\tatomFamily: AtomIO.AtomFamily<T, K>,\n\ttransform: JsonInterface<T, J>,\n\tstore: Store = IMPLICIT.STORE,\n): AtomIO.SelectorFamily<J, K> => {\n\tconst jsonFamily = createSelectorFamily<J, K>(\n\t\t{\n\t\t\tkey: `${atomFamily.key}:JSON`,\n\t\t\tget:\n\t\t\t\t(key) =>\n\t\t\t\t({ get }) =>\n\t\t\t\t\ttransform.toJson(get(atomFamily(key))),\n\t\t\tset:\n\t\t\t\t(key) =>\n\t\t\t\t({ set }, newValue) =>\n\t\t\t\t\tset(atomFamily(key), transform.fromJson(newValue)),\n\t\t},\n\t\tstore,\n\t)\n\tatomFamily.subject.subscribe(\n\t\t`store=${store.config.name}::json-selector-family`,\n\t\t(token) => {\n\t\t\tif (token.family) {\n\t\t\t\tjsonFamily(parseJson(token.family.subKey) as K)\n\t\t\t}\n\t\t},\n\t)\n\treturn jsonFamily\n}\n"]}
|
|
@@ -33,7 +33,7 @@ type Stringified<J extends Serializable> = string & {
|
|
|
33
33
|
declare const stringifyJson: <J extends Serializable>(json: J) => Stringified<J>;
|
|
34
34
|
type Empty = Record<string, never>;
|
|
35
35
|
declare const JSON_TYPE_NAMES: readonly ["array", "boolean", "null", "number", "object", "string"];
|
|
36
|
-
type JsonTypeName = typeof JSON_TYPE_NAMES[number];
|
|
36
|
+
type JsonTypeName = (typeof JSON_TYPE_NAMES)[number];
|
|
37
37
|
interface JsonTypes extends Record<JsonTypeName, Serializable> {
|
|
38
38
|
array: Array;
|
|
39
39
|
boolean: boolean;
|
package/json/dist/index.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ type Stringified<J extends Serializable> = string & {
|
|
|
33
33
|
declare const stringifyJson: <J extends Serializable>(json: J) => Stringified<J>;
|
|
34
34
|
type Empty = Record<string, never>;
|
|
35
35
|
declare const JSON_TYPE_NAMES: readonly ["array", "boolean", "null", "number", "object", "string"];
|
|
36
|
-
type JsonTypeName = typeof JSON_TYPE_NAMES[number];
|
|
36
|
+
type JsonTypeName = (typeof JSON_TYPE_NAMES)[number];
|
|
37
37
|
interface JsonTypes extends Record<JsonTypeName, Serializable> {
|
|
38
38
|
array: Array;
|
|
39
39
|
boolean: boolean;
|
package/json/dist/index.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var internal = require('atom.io/internal');
|
|
1
|
+
import { createSelector, IMPLICIT, createSelectorFamily } from 'atom.io/internal';
|
|
4
2
|
|
|
5
3
|
// ../../anvl/src/json/json-interface.ts
|
|
6
4
|
var stringSetJsonInterface = {
|
|
@@ -44,8 +42,8 @@ var isNull = (input) => {
|
|
|
44
42
|
var isPrimitive = (input) => {
|
|
45
43
|
return isString(input) || isNumber(input) || isBoolean(input) || isNull(input);
|
|
46
44
|
};
|
|
47
|
-
var selectJson = (atom, transform, store =
|
|
48
|
-
return
|
|
45
|
+
var selectJson = (atom, transform, store = IMPLICIT.STORE) => {
|
|
46
|
+
return createSelector(
|
|
49
47
|
{
|
|
50
48
|
key: `${atom.key}:JSON`,
|
|
51
49
|
get: ({ get }) => transform.toJson(get(atom)),
|
|
@@ -55,8 +53,8 @@ var selectJson = (atom, transform, store = internal.IMPLICIT.STORE) => {
|
|
|
55
53
|
store
|
|
56
54
|
);
|
|
57
55
|
};
|
|
58
|
-
var selectJsonFamily = (atomFamily, transform, store =
|
|
59
|
-
const jsonFamily =
|
|
56
|
+
var selectJsonFamily = (atomFamily, transform, store = IMPLICIT.STORE) => {
|
|
57
|
+
const jsonFamily = createSelectorFamily(
|
|
60
58
|
{
|
|
61
59
|
key: `${atomFamily.key}:JSON`,
|
|
62
60
|
get: (key) => ({ get }) => transform.toJson(get(atomFamily(key))),
|
|
@@ -75,17 +73,6 @@ var selectJsonFamily = (atomFamily, transform, store = internal.IMPLICIT.STORE)
|
|
|
75
73
|
return jsonFamily;
|
|
76
74
|
};
|
|
77
75
|
|
|
78
|
-
|
|
79
|
-
exports.JSON_TYPE_NAMES = JSON_TYPE_NAMES;
|
|
80
|
-
exports.isBoolean = isBoolean;
|
|
81
|
-
exports.isNull = isNull;
|
|
82
|
-
exports.isNumber = isNumber;
|
|
83
|
-
exports.isPrimitive = isPrimitive;
|
|
84
|
-
exports.isString = isString;
|
|
85
|
-
exports.parseJson = parseJson;
|
|
86
|
-
exports.selectJson = selectJson;
|
|
87
|
-
exports.selectJsonFamily = selectJsonFamily;
|
|
88
|
-
exports.stringSetJsonInterface = stringSetJsonInterface;
|
|
89
|
-
exports.stringifyJson = stringifyJson;
|
|
76
|
+
export { JSON_DEFAULTS, JSON_TYPE_NAMES, isBoolean, isNull, isNumber, isPrimitive, isString, parseJson, selectJson, selectJsonFamily, stringSetJsonInterface, stringifyJson };
|
|
90
77
|
//# sourceMappingURL=out.js.map
|
|
91
78
|
//# sourceMappingURL=index.js.map
|
package/json/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../anvl/src/json/json-interface.ts","../../../anvl/src/json/index.ts","../../../anvl/src/primitive/index.ts","../src/select-json.ts","../src/select-json-family.ts"],"names":["IMPLICIT"],"mappings":";AAOO,IAAM,yBAGT;AAAA,EACH,QAAQ,CAAC,cAAc,MAAM,KAAK,SAAS;AAAA,EAC3C,UAAU,CAAC,SAAS,IAAI,IAAI,IAAI;AACjC;;;ACTO,IAAM,YAAY,CACxB,QAC4D,KAAK,MAAM,GAAG;AAIpE,IAAM,gBAAgB,CAC5B,SACoB,KAAK,UAAU,IAAI;AAIjC,IAAM,kBAAkB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAaO,IAAM,gBAA2B;AAAA,EACvC,OAAO,CAAC;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ,CAAC;AAAA,EACT,QAAQ;AACT;;;ACzCO,IAAM,WAAW,CAAC,UAAoC;AAC5D,SAAO,OAAO,UAAU;AACzB;AAEO,IAAM,WAAW,CAAC,UAAoC;AAC5D,SAAO,OAAO,UAAU;AACzB;AAEO,IAAM,YAAY,CAAC,UAAqC;AAC9D,SAAO,OAAO,UAAU;AACzB;AAEO,IAAM,SAAS,CAAC,UAAkC;AACxD,SAAO,UAAU;AAClB;AAEO,IAAM,cAAc,CAAC,UAAuC;AAClE,SAAO,SAAS,KAAK,KAAK,SAAS,KAAK,KAAK,UAAU,KAAK,KAAK,OAAO,KAAK;AAC9E;;;AClBA,SAAS,gBAAgB;AAEzB,SAAS,sBAAsB;AAGxB,IAAM,aAAa,CACzB,MACA,WACA,QAAe,SAAS,UACK;AAC7B,SAAO;AAAA,IACN;AAAA,MACC,KAAK,GAAG,KAAK,GAAG;AAAA,MAChB,KAAK,CAAC,EAAE,IAAI,MAAM,UAAU,OAAO,IAAI,IAAI,CAAC;AAAA,MAC5C,KAAK,CAAC,EAAE,IAAI,GAAG,aAAa,IAAI,MAAM,UAAU,SAAS,QAAQ,CAAC;AAAA,IACnE;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;;;ACnBA,SAAS,YAAAA,WAAU,4BAA4B;AAKxC,IAAM,mBAAmB,CAK/B,YACA,WACA,QAAeA,UAAS,UACS;AACjC,QAAM,aAAa;AAAA,IAClB;AAAA,MACC,KAAK,GAAG,WAAW,GAAG;AAAA,MACtB,KACC,CAAC,QACD,CAAC,EAAE,IAAI,MACN,UAAU,OAAO,IAAI,WAAW,GAAG,CAAC,CAAC;AAAA,MACvC,KACC,CAAC,QACD,CAAC,EAAE,IAAI,GAAG,aACT,IAAI,WAAW,GAAG,GAAG,UAAU,SAAS,QAAQ,CAAC;AAAA,IACpD;AAAA,IACA;AAAA,EACD;AACA,aAAW,QAAQ;AAAA,IAClB,SAAS,MAAM,OAAO,IAAI;AAAA,IAC1B,CAAC,UAAU;AACV,UAAI,MAAM,QAAQ;AACjB,mBAAW,UAAU,MAAM,OAAO,MAAM,CAAM;AAAA,MAC/C;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR","sourcesContent":["import type { Json } from \".\"\n\nexport type JsonInterface<T, J extends Json.Serializable = Json.Serializable> = {\n\ttoJson: (t: T) => J\n\tfromJson: (json: J) => T\n}\n\nexport const stringSetJsonInterface: JsonInterface<\n\tSet<string>,\n\tJson.Array<string>\n> = {\n\ttoJson: (stringSet) => Array.from(stringSet),\n\tfromJson: (json) => new Set(json),\n}\n","export * from \"./json-interface\"\nimport type * as Json from \"./json\"\nexport { Json }\n\nexport const parseJson = <S extends Stringified<Json.Serializable>>(\n\tstr: S | string,\n): S extends Stringified<infer J> ? J : Json.Serializable => JSON.parse(str)\n\nexport type Stringified<J extends Json.Serializable> = string & { __json: J }\n\nexport const stringifyJson = <J extends Json.Serializable>(\n\tjson: J,\n): Stringified<J> => JSON.stringify(json) as Stringified<J>\n\nexport type Empty = Record<string, never>\n\nexport const JSON_TYPE_NAMES = [\n\t`array`,\n\t`boolean`,\n\t`null`,\n\t`number`,\n\t`object`,\n\t`string`,\n] as const\n\nexport type JsonTypeName = typeof JSON_TYPE_NAMES[number]\n\nexport interface JsonTypes extends Record<JsonTypeName, Json.Serializable> {\n\tarray: Json.Array\n\tboolean: boolean\n\tnull: null\n\tnumber: number\n\tobject: Json.Object\n\tstring: string\n}\n\nexport const JSON_DEFAULTS: JsonTypes = {\n\tarray: [],\n\tboolean: false,\n\tnull: null,\n\tnumber: 0,\n\tobject: {},\n\tstring: ``,\n}\n","export type primitive = boolean | number | string | null\n\nexport const isString = (input: unknown): input is string => {\n\treturn typeof input === `string`\n}\n\nexport const isNumber = (input: unknown): input is number => {\n\treturn typeof input === `number`\n}\n\nexport const isBoolean = (input: unknown): input is boolean => {\n\treturn typeof input === `boolean`\n}\n\nexport const isNull = (input: unknown): input is null => {\n\treturn input === null\n}\n\nexport const isPrimitive = (input: unknown): input is primitive => {\n\treturn isString(input) || isNumber(input) || isBoolean(input) || isNull(input)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT } from \"atom.io/internal\"\n\nimport { createSelector } from \"atom.io/internal\"\nimport type { Json, JsonInterface } from \".\"\n\nexport const selectJson = <T, J extends Json.Serializable>(\n\tatom: AtomIO.AtomToken<T>,\n\ttransform: JsonInterface<T, J>,\n\tstore: Store = IMPLICIT.STORE,\n): AtomIO.SelectorToken<J> => {\n\treturn createSelector(\n\t\t{\n\t\t\tkey: `${atom.key}:JSON`,\n\t\t\tget: ({ get }) => transform.toJson(get(atom)),\n\t\t\tset: ({ set }, newValue) => set(atom, transform.fromJson(newValue)),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT, createSelectorFamily } from \"atom.io/internal\"\n\nimport type { Json, JsonInterface } from \".\"\nimport { parseJson } from \".\"\n\nexport const selectJsonFamily = <\n\tT,\n\tJ extends Json.Serializable,\n\tK extends Json.Serializable,\n>(\n\tatomFamily: AtomIO.AtomFamily<T, K>,\n\ttransform: JsonInterface<T, J>,\n\tstore: Store = IMPLICIT.STORE,\n): AtomIO.SelectorFamily<J, K> => {\n\tconst jsonFamily = createSelectorFamily<J, K>(\n\t\t{\n\t\t\tkey: `${atomFamily.key}:JSON`,\n\t\t\tget:\n\t\t\t\t(key) =>\n\t\t\t\t({ get }) =>\n\t\t\t\t\ttransform.toJson(get(atomFamily(key))),\n\t\t\tset:\n\t\t\t\t(key) =>\n\t\t\t\t({ set }, newValue) =>\n\t\t\t\t\tset(atomFamily(key), transform.fromJson(newValue)),\n\t\t},\n\t\tstore,\n\t)\n\tatomFamily.subject.subscribe(\n\t\t`store=${store.config.name}::json-selector-family`,\n\t\t(token) => {\n\t\t\tif (token.family) {\n\t\t\t\tjsonFamily(parseJson(token.family.subKey) as K)\n\t\t\t}\n\t\t},\n\t)\n\treturn jsonFamily\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../anvl/src/json/json-interface.ts","../../../anvl/src/json/index.ts","../../../anvl/src/primitive/index.ts","../src/select-json.ts","../src/select-json-family.ts"],"names":["IMPLICIT"],"mappings":";AAOO,IAAM,yBAGT;AAAA,EACH,QAAQ,CAAC,cAAc,MAAM,KAAK,SAAS;AAAA,EAC3C,UAAU,CAAC,SAAS,IAAI,IAAI,IAAI;AACjC;;;ACTO,IAAM,YAAY,CACxB,QAC4D,KAAK,MAAM,GAAG;AAIpE,IAAM,gBAAgB,CAC5B,SACoB,KAAK,UAAU,IAAI;AAIjC,IAAM,kBAAkB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAaO,IAAM,gBAA2B;AAAA,EACvC,OAAO,CAAC;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ,CAAC;AAAA,EACT,QAAQ;AACT;;;ACzCO,IAAM,WAAW,CAAC,UAAoC;AAC5D,SAAO,OAAO,UAAU;AACzB;AAEO,IAAM,WAAW,CAAC,UAAoC;AAC5D,SAAO,OAAO,UAAU;AACzB;AAEO,IAAM,YAAY,CAAC,UAAqC;AAC9D,SAAO,OAAO,UAAU;AACzB;AAEO,IAAM,SAAS,CAAC,UAAkC;AACxD,SAAO,UAAU;AAClB;AAEO,IAAM,cAAc,CAAC,UAAuC;AAClE,SAAO,SAAS,KAAK,KAAK,SAAS,KAAK,KAAK,UAAU,KAAK,KAAK,OAAO,KAAK;AAC9E;;;AClBA,SAAS,gBAAgB;AAEzB,SAAS,sBAAsB;AAGxB,IAAM,aAAa,CACzB,MACA,WACA,QAAe,SAAS,UACK;AAC7B,SAAO;AAAA,IACN;AAAA,MACC,KAAK,GAAG,KAAK,GAAG;AAAA,MAChB,KAAK,CAAC,EAAE,IAAI,MAAM,UAAU,OAAO,IAAI,IAAI,CAAC;AAAA,MAC5C,KAAK,CAAC,EAAE,IAAI,GAAG,aAAa,IAAI,MAAM,UAAU,SAAS,QAAQ,CAAC;AAAA,IACnE;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;;;ACnBA,SAAS,YAAAA,WAAU,4BAA4B;AAKxC,IAAM,mBAAmB,CAK/B,YACA,WACA,QAAeA,UAAS,UACS;AACjC,QAAM,aAAa;AAAA,IAClB;AAAA,MACC,KAAK,GAAG,WAAW,GAAG;AAAA,MACtB,KACC,CAAC,QACD,CAAC,EAAE,IAAI,MACN,UAAU,OAAO,IAAI,WAAW,GAAG,CAAC,CAAC;AAAA,MACvC,KACC,CAAC,QACD,CAAC,EAAE,IAAI,GAAG,aACT,IAAI,WAAW,GAAG,GAAG,UAAU,SAAS,QAAQ,CAAC;AAAA,IACpD;AAAA,IACA;AAAA,EACD;AACA,aAAW,QAAQ;AAAA,IAClB,SAAS,MAAM,OAAO,IAAI;AAAA,IAC1B,CAAC,UAAU;AACV,UAAI,MAAM,QAAQ;AACjB,mBAAW,UAAU,MAAM,OAAO,MAAM,CAAM;AAAA,MAC/C;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR","sourcesContent":["import type { Json } from \".\"\n\nexport type JsonInterface<T, J extends Json.Serializable = Json.Serializable> = {\n\ttoJson: (t: T) => J\n\tfromJson: (json: J) => T\n}\n\nexport const stringSetJsonInterface: JsonInterface<\n\tSet<string>,\n\tJson.Array<string>\n> = {\n\ttoJson: (stringSet) => Array.from(stringSet),\n\tfromJson: (json) => new Set(json),\n}\n","export * from \"./json-interface\"\nimport type * as Json from \"./json\"\nexport { Json }\n\nexport const parseJson = <S extends Stringified<Json.Serializable>>(\n\tstr: S | string,\n): S extends Stringified<infer J> ? J : Json.Serializable => JSON.parse(str)\n\nexport type Stringified<J extends Json.Serializable> = string & { __json: J }\n\nexport const stringifyJson = <J extends Json.Serializable>(\n\tjson: J,\n): Stringified<J> => JSON.stringify(json) as Stringified<J>\n\nexport type Empty = Record<string, never>\n\nexport const JSON_TYPE_NAMES = [\n\t`array`,\n\t`boolean`,\n\t`null`,\n\t`number`,\n\t`object`,\n\t`string`,\n] as const\n\nexport type JsonTypeName = (typeof JSON_TYPE_NAMES)[number]\n\nexport interface JsonTypes extends Record<JsonTypeName, Json.Serializable> {\n\tarray: Json.Array\n\tboolean: boolean\n\tnull: null\n\tnumber: number\n\tobject: Json.Object\n\tstring: string\n}\n\nexport const JSON_DEFAULTS: JsonTypes = {\n\tarray: [],\n\tboolean: false,\n\tnull: null,\n\tnumber: 0,\n\tobject: {},\n\tstring: ``,\n}\n","export type primitive = boolean | number | string | null\n\nexport const isString = (input: unknown): input is string => {\n\treturn typeof input === `string`\n}\n\nexport const isNumber = (input: unknown): input is number => {\n\treturn typeof input === `number`\n}\n\nexport const isBoolean = (input: unknown): input is boolean => {\n\treturn typeof input === `boolean`\n}\n\nexport const isNull = (input: unknown): input is null => {\n\treturn input === null\n}\n\nexport const isPrimitive = (input: unknown): input is primitive => {\n\treturn isString(input) || isNumber(input) || isBoolean(input) || isNull(input)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT } from \"atom.io/internal\"\n\nimport { createSelector } from \"atom.io/internal\"\nimport type { Json, JsonInterface } from \".\"\n\nexport const selectJson = <T, J extends Json.Serializable>(\n\tatom: AtomIO.AtomToken<T>,\n\ttransform: JsonInterface<T, J>,\n\tstore: Store = IMPLICIT.STORE,\n): AtomIO.SelectorToken<J> => {\n\treturn createSelector(\n\t\t{\n\t\t\tkey: `${atom.key}:JSON`,\n\t\t\tget: ({ get }) => transform.toJson(get(atom)),\n\t\t\tset: ({ set }, newValue) => set(atom, transform.fromJson(newValue)),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT, createSelectorFamily } from \"atom.io/internal\"\n\nimport type { Json, JsonInterface } from \".\"\nimport { parseJson } from \".\"\n\nexport const selectJsonFamily = <\n\tT,\n\tJ extends Json.Serializable,\n\tK extends Json.Serializable,\n>(\n\tatomFamily: AtomIO.AtomFamily<T, K>,\n\ttransform: JsonInterface<T, J>,\n\tstore: Store = IMPLICIT.STORE,\n): AtomIO.SelectorFamily<J, K> => {\n\tconst jsonFamily = createSelectorFamily<J, K>(\n\t\t{\n\t\t\tkey: `${atomFamily.key}:JSON`,\n\t\t\tget:\n\t\t\t\t(key) =>\n\t\t\t\t({ get }) =>\n\t\t\t\t\ttransform.toJson(get(atomFamily(key))),\n\t\t\tset:\n\t\t\t\t(key) =>\n\t\t\t\t({ set }, newValue) =>\n\t\t\t\t\tset(atomFamily(key), transform.fromJson(newValue)),\n\t\t},\n\t\tstore,\n\t)\n\tatomFamily.subject.subscribe(\n\t\t`store=${store.config.name}::json-selector-family`,\n\t\t(token) => {\n\t\t\tif (token.family) {\n\t\t\t\tjsonFamily(parseJson(token.family.subKey) as K)\n\t\t\t}\n\t\t},\n\t)\n\treturn jsonFamily\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"inputs":{"../../anvl/src/json/json-interface.ts":{"bytes":340,"imports":[],"format":"esm"},"../../anvl/src/json/index.ts":{"bytes":980,"imports":[{"path":"../../anvl/src/json/json-interface.ts","kind":"import-statement","original":"./json-interface"}],"format":"esm"},"../../anvl/src/primitive/index.ts":{"bytes":597,"imports":[],"format":"esm"},"src/select-json.ts":{"bytes":621,"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true}],"format":"esm"},"src/select-json-family.ts":{"bytes":968,"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"src/index.ts","kind":"import-statement","original":"."}],"format":"esm"},"src/index.ts":{"bytes":155,"imports":[{"path":"../../anvl/src/json/index.ts","kind":"import-statement","original":"~/packages/anvl/src/json"},{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"~/packages/anvl/src/primitive"},{"path":"src/select-json.ts","kind":"import-statement","original":"./select-json"},{"path":"src/select-json-family.ts","kind":"import-statement","original":"./select-json-family"}],"format":"esm"}},"outputs":{"dist/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5634},"dist/index.cjs":{"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true}],"exports":["JSON_DEFAULTS","JSON_TYPE_NAMES","isBoolean","isNull","isNumber","isPrimitive","isString","parseJson","selectJson","selectJsonFamily","stringSetJsonInterface","stringifyJson"],"entryPoint":"src/index.ts","inputs":{"../../anvl/src/json/json-interface.ts":{"bytesInOutput":118},"../../anvl/src/json/index.ts":{"bytesInOutput":300},"src/index.ts":{"bytesInOutput":0},"../../anvl/src/primitive/index.ts":{"bytesInOutput":373},"src/select-json.ts":{"bytesInOutput":386},"src/select-json-family.ts":{"bytesInOutput":658}},"bytes":2199}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"inputs":{"../../anvl/src/json/json-interface.ts":{"bytes":340,"imports":[],"format":"esm"},"../../anvl/src/json/index.ts":{"bytes":980,"imports":[{"path":"../../anvl/src/json/json-interface.ts","kind":"import-statement","original":"./json-interface"}],"format":"esm"},"../../anvl/src/primitive/index.ts":{"bytes":597,"imports":[],"format":"esm"},"src/select-json.ts":{"bytes":621,"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true}],"format":"esm"},"src/select-json-family.ts":{"bytes":968,"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"src/index.ts","kind":"import-statement","original":"."}],"format":"esm"},"src/index.ts":{"bytes":155,"imports":[{"path":"../../anvl/src/json/index.ts","kind":"import-statement","original":"~/packages/anvl/src/json"},{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"~/packages/anvl/src/primitive"},{"path":"src/select-json.ts","kind":"import-statement","original":"./select-json"},{"path":"src/select-json-family.ts","kind":"import-statement","original":"./select-json-family"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":5634},"dist/index.js":{"imports":[{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true}],"exports":["JSON_DEFAULTS","JSON_TYPE_NAMES","isBoolean","isNull","isNumber","isPrimitive","isString","parseJson","selectJson","selectJsonFamily","stringSetJsonInterface","stringifyJson"],"entryPoint":"src/index.ts","inputs":{"../../anvl/src/json/json-interface.ts":{"bytesInOutput":118},"../../anvl/src/json/index.ts":{"bytesInOutput":300},"src/index.ts":{"bytesInOutput":0},"../../anvl/src/primitive/index.ts":{"bytesInOutput":373},"src/select-json.ts":{"bytesInOutput":386},"src/select-json-family.ts":{"bytesInOutput":658}},"bytes":2199}}}
|
package/json/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "atom.io-json",
|
|
3
|
+
"type": "module",
|
|
3
4
|
"private": true,
|
|
4
5
|
"main": "dist/index.js",
|
|
5
6
|
"types": "dist/index.d.ts",
|
|
@@ -7,9 +8,9 @@
|
|
|
7
8
|
"exports": {
|
|
8
9
|
".": {
|
|
9
10
|
"types": "./dist/index.d.ts",
|
|
10
|
-
"browser": "./dist/index.
|
|
11
|
-
"import": "./dist/index.
|
|
12
|
-
"require": "./dist/index.
|
|
11
|
+
"browser": "./dist/index.js",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "atom.io",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "Composable and testable reactive data library.",
|
|
5
5
|
"homepage": "https://atom.io.fyi",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
+
"type": "module",
|
|
7
8
|
"license": "MIT",
|
|
8
9
|
"author": "Jeremy Banka",
|
|
9
10
|
"publishConfig": {
|
|
@@ -50,15 +51,15 @@
|
|
|
50
51
|
"@emotion/react": "11.11.1",
|
|
51
52
|
"@testing-library/react": "14.1.2",
|
|
52
53
|
"@types/http-proxy": "1.17.14",
|
|
53
|
-
"@types/npmlog": "
|
|
54
|
-
"@types/react": "18.2.
|
|
54
|
+
"@types/npmlog": "7.0.0",
|
|
55
|
+
"@types/react": "18.2.42",
|
|
55
56
|
"@types/tmp": "0.2.6",
|
|
56
|
-
"@vitest/coverage-v8": "0.
|
|
57
|
+
"@vitest/coverage-v8": "1.0.1",
|
|
57
58
|
"concurrently": "8.2.2",
|
|
58
|
-
"drizzle-kit": "0.20.
|
|
59
|
-
"drizzle-orm": "0.29.
|
|
60
|
-
"eslint": "8.
|
|
61
|
-
"framer-motion": "10.16.
|
|
59
|
+
"drizzle-kit": "0.20.6",
|
|
60
|
+
"drizzle-orm": "0.29.1",
|
|
61
|
+
"eslint": "8.55.0",
|
|
62
|
+
"framer-motion": "10.16.12",
|
|
62
63
|
"happy-dom": "12.10.3",
|
|
63
64
|
"http-proxy": "1.18.1",
|
|
64
65
|
"npmlog": "7.0.1",
|
|
@@ -66,15 +67,15 @@
|
|
|
66
67
|
"preact": "10.19.2",
|
|
67
68
|
"react": "18.2.0",
|
|
68
69
|
"react-dom": "18.2.0",
|
|
69
|
-
"react-router-dom": "6.
|
|
70
|
+
"react-router-dom": "6.20.1",
|
|
70
71
|
"socket.io": "4.7.2",
|
|
71
72
|
"socket.io-client": "4.7.2",
|
|
72
73
|
"tmp": "0.2.1",
|
|
73
74
|
"tsup": "8.0.1",
|
|
74
75
|
"typescript": "5.3.2",
|
|
75
|
-
"vite": "5.0.
|
|
76
|
+
"vite": "5.0.5",
|
|
76
77
|
"vite-tsconfig-paths": "4.2.1",
|
|
77
|
-
"vitest": "0.
|
|
78
|
+
"vitest": "1.0.1"
|
|
78
79
|
},
|
|
79
80
|
"main": "dist/index.js",
|
|
80
81
|
"types": "dist/index.d.ts",
|
|
@@ -120,86 +121,86 @@
|
|
|
120
121
|
"./package.json": "./package.json",
|
|
121
122
|
".": {
|
|
122
123
|
"types": "./dist/index.d.ts",
|
|
123
|
-
"browser": "./dist/index.
|
|
124
|
-
"import": "./dist/index.
|
|
125
|
-
"require": "./dist/index.
|
|
124
|
+
"browser": "./dist/index.js",
|
|
125
|
+
"import": "./dist/index.js",
|
|
126
|
+
"require": "./dist/index.cjs"
|
|
126
127
|
},
|
|
127
128
|
"./data/package.json": "./data/package.json",
|
|
128
129
|
"./data": {
|
|
129
130
|
"types": "./data/dist/index.d.ts",
|
|
130
|
-
"browser": "./data/dist/index.
|
|
131
|
-
"import": "./data/dist/index.
|
|
132
|
-
"require": "./data/dist/index.
|
|
131
|
+
"browser": "./data/dist/index.js",
|
|
132
|
+
"import": "./data/dist/index.js",
|
|
133
|
+
"require": "./data/dist/index.cjs"
|
|
133
134
|
},
|
|
134
135
|
"./internal/package.json": "./internal/package.json",
|
|
135
136
|
"./internal": {
|
|
136
137
|
"types": "./internal/dist/index.d.ts",
|
|
137
|
-
"browser": "./internal/dist/index.
|
|
138
|
-
"import": "./internal/dist/index.
|
|
139
|
-
"require": "./internal/dist/index.
|
|
138
|
+
"browser": "./internal/dist/index.js",
|
|
139
|
+
"import": "./internal/dist/index.js",
|
|
140
|
+
"require": "./internal/dist/index.cjs"
|
|
140
141
|
},
|
|
141
142
|
"./introspection/package.json": "./introspection/package.json",
|
|
142
143
|
"./introspection": {
|
|
143
144
|
"types": "./introspection/dist/index.d.ts",
|
|
144
|
-
"browser": "./introspection/dist/index.
|
|
145
|
-
"import": "./introspection/dist/index.
|
|
146
|
-
"require": "./introspection/dist/index.
|
|
145
|
+
"browser": "./introspection/dist/index.js",
|
|
146
|
+
"import": "./introspection/dist/index.js",
|
|
147
|
+
"require": "./introspection/dist/index.cjs"
|
|
147
148
|
},
|
|
148
149
|
"./json/package.json": "./json/package.json",
|
|
149
150
|
"./json": {
|
|
150
151
|
"types": "./json/dist/index.d.ts",
|
|
151
|
-
"browser": "./json/dist/index.
|
|
152
|
-
"import": "./json/dist/index.
|
|
153
|
-
"require": "./json/dist/index.
|
|
152
|
+
"browser": "./json/dist/index.js",
|
|
153
|
+
"import": "./json/dist/index.js",
|
|
154
|
+
"require": "./json/dist/index.cjs"
|
|
154
155
|
},
|
|
155
156
|
"./react/package.json": "./react/package.json",
|
|
156
157
|
"./react": {
|
|
157
158
|
"types": "./react/dist/index.d.ts",
|
|
158
|
-
"browser": "./react/dist/index.
|
|
159
|
-
"import": "./react/dist/index.
|
|
160
|
-
"require": "./react/dist/index.
|
|
159
|
+
"browser": "./react/dist/index.js",
|
|
160
|
+
"import": "./react/dist/index.js",
|
|
161
|
+
"require": "./react/dist/index.cjs"
|
|
161
162
|
},
|
|
162
163
|
"./react-devtools/package.json": "./react-devtools/package.json",
|
|
163
164
|
"./react-devtools": {
|
|
164
165
|
"types": "./react-devtools/dist/index.d.ts",
|
|
165
|
-
"browser": "./react-devtools/dist/index.
|
|
166
|
-
"import": "./react-devtools/dist/index.
|
|
167
|
-
"require": "./react-devtools/dist/index.
|
|
166
|
+
"browser": "./react-devtools/dist/index.js",
|
|
167
|
+
"import": "./react-devtools/dist/index.js",
|
|
168
|
+
"require": "./react-devtools/dist/index.cjs"
|
|
168
169
|
},
|
|
169
170
|
"./realtime-client/package.json": "./realtime-client/package.json",
|
|
170
171
|
"./realtime-client": {
|
|
171
172
|
"types": "./realtime-client/dist/index.d.ts",
|
|
172
|
-
"browser": "./realtime-client/dist/index.
|
|
173
|
-
"import": "./realtime-client/dist/index.
|
|
174
|
-
"require": "./realtime-client/dist/index.
|
|
173
|
+
"browser": "./realtime-client/dist/index.js",
|
|
174
|
+
"import": "./realtime-client/dist/index.js",
|
|
175
|
+
"require": "./realtime-client/dist/index.cjs"
|
|
175
176
|
},
|
|
176
177
|
"./realtime-react/package.json": "./realtime-react/package.json",
|
|
177
178
|
"./realtime-react": {
|
|
178
179
|
"types": "./realtime-react/dist/index.d.ts",
|
|
179
|
-
"browser": "./realtime-react/dist/index.
|
|
180
|
-
"import": "./realtime-react/dist/index.
|
|
181
|
-
"require": "./realtime-react/dist/index.
|
|
180
|
+
"browser": "./realtime-react/dist/index.js",
|
|
181
|
+
"import": "./realtime-react/dist/index.js",
|
|
182
|
+
"require": "./realtime-react/dist/index.cjs"
|
|
182
183
|
},
|
|
183
184
|
"./realtime-server/package.json": "./realtime-server/package.json",
|
|
184
185
|
"./realtime-server": {
|
|
185
186
|
"types": "./realtime-server/dist/index.d.ts",
|
|
186
|
-
"browser": "./realtime-server/dist/index.
|
|
187
|
-
"import": "./realtime-server/dist/index.
|
|
188
|
-
"require": "./realtime-server/dist/index.
|
|
187
|
+
"browser": "./realtime-server/dist/index.js",
|
|
188
|
+
"import": "./realtime-server/dist/index.js",
|
|
189
|
+
"require": "./realtime-server/dist/index.cjs"
|
|
189
190
|
},
|
|
190
191
|
"./realtime-testing/package.json": "./realtime-testing/package.json",
|
|
191
192
|
"./realtime-testing": {
|
|
192
193
|
"types": "./realtime-testing/dist/index.d.ts",
|
|
193
|
-
"browser": "./realtime-testing/dist/index.
|
|
194
|
-
"import": "./realtime-testing/dist/index.
|
|
195
|
-
"require": "./realtime-testing/dist/index.
|
|
194
|
+
"browser": "./realtime-testing/dist/index.js",
|
|
195
|
+
"import": "./realtime-testing/dist/index.js",
|
|
196
|
+
"require": "./realtime-testing/dist/index.cjs"
|
|
196
197
|
},
|
|
197
198
|
"./transceivers/set-rtx/package.json": "./transceivers/set-rtx/package.json",
|
|
198
199
|
"./transceivers/set-rtx": {
|
|
199
200
|
"types": "./transceivers/set-rtx/dist/index.d.ts",
|
|
200
|
-
"browser": "./transceivers/set-rtx/dist/index.
|
|
201
|
-
"import": "./transceivers/set-rtx/dist/index.
|
|
202
|
-
"require": "./transceivers/set-rtx/dist/index.
|
|
201
|
+
"browser": "./transceivers/set-rtx/dist/index.js",
|
|
202
|
+
"import": "./transceivers/set-rtx/dist/index.js",
|
|
203
|
+
"require": "./transceivers/set-rtx/dist/index.cjs"
|
|
203
204
|
}
|
|
204
205
|
},
|
|
205
206
|
"scripts": {
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var internal = require('atom.io/internal');
|
|
4
|
+
var React2 = require('react');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var atom_io = require('atom.io');
|
|
7
|
+
|
|
8
|
+
function _interopNamespace(e) {
|
|
9
|
+
if (e && e.__esModule) return e;
|
|
10
|
+
var n = Object.create(null);
|
|
11
|
+
if (e) {
|
|
12
|
+
Object.keys(e).forEach(function (k) {
|
|
13
|
+
if (k !== 'default') {
|
|
14
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return e[k]; }
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
n.default = e;
|
|
23
|
+
return Object.freeze(n);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
|
|
27
|
+
|
|
28
|
+
// src/store-context.tsx
|
|
29
|
+
var StoreContext = React2__namespace.createContext(internal.IMPLICIT.STORE);
|
|
30
|
+
var StoreProvider = ({ children, store = internal.IMPLICIT.STORE }) => /* @__PURE__ */ jsxRuntime.jsx(StoreContext.Provider, { value: store, children });
|
|
31
|
+
function useI(token) {
|
|
32
|
+
const store = React2__namespace.useContext(StoreContext);
|
|
33
|
+
const setter = React2__namespace.useRef(null);
|
|
34
|
+
if (setter.current === null) {
|
|
35
|
+
setter.current = (next) => atom_io.setState(token, next, store);
|
|
36
|
+
}
|
|
37
|
+
return setter.current;
|
|
38
|
+
}
|
|
39
|
+
function useO(token) {
|
|
40
|
+
const store = React2__namespace.useContext(StoreContext);
|
|
41
|
+
const id = React2__namespace.useId();
|
|
42
|
+
return React2__namespace.useSyncExternalStore(
|
|
43
|
+
(dispatch) => atom_io.subscribe(token, dispatch, `use-o:${id}`, store),
|
|
44
|
+
() => atom_io.getState(token, store),
|
|
45
|
+
() => atom_io.getState(token, store)
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
function useJSON(token) {
|
|
49
|
+
const jsonToken = internal.getJsonToken(token);
|
|
50
|
+
return useO(jsonToken);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
exports.StoreContext = StoreContext;
|
|
54
|
+
exports.StoreProvider = StoreProvider;
|
|
55
|
+
exports.useI = useI;
|
|
56
|
+
exports.useJSON = useJSON;
|
|
57
|
+
exports.useO = useO;
|
|
58
|
+
//# sourceMappingURL=out.js.map
|
|
59
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/store-context.tsx","../src/store-hooks.ts"],"names":["React"],"mappings":";AACA,SAAS,gBAAgB;AACzB,YAAY,WAAW;AAQtB;AANM,IAAM,eAAqB,oBAAqB,SAAS,KAAK;AAE9D,IAAM,gBAGR,CAAC,EAAE,UAAU,QAAQ,SAAS,MAAM,MACxC,oBAAC,aAAa,UAAb,EAAsB,OAAO,OAAQ,UAAS;;;ACVhD,YAAYA,YAAW;AAEvB,SAAS,UAAU,UAAU,iBAAiB;AAO9C,SAAS,oBAAoB;AAItB,SAAS,KACf,OACyD;AACzD,QAAM,QAAc,kBAAW,YAAY;AAC3C,QAAM,SAEI,cAAO,IAAI;AACrB,MAAI,OAAO,YAAY,MAAM;AAC5B,WAAO,UAAU,CAAC,SAAS,SAAS,OAAO,MAAM,KAAK;AAAA,EACvD;AACA,SAAO,OAAO;AACf;AAEO,SAAS,KAAQ,OAAoD;AAC3E,QAAM,QAAc,kBAAW,YAAY;AAC3C,QAAM,KAAW,aAAM;AACvB,SAAa;AAAA,IACZ,CAAC,aAAa,UAAU,OAAO,UAAU,SAAS,EAAE,IAAI,KAAK;AAAA,IAC7D,MAAM,SAAS,OAAO,KAAK;AAAA,IAC3B,MAAM,SAAS,OAAO,KAAK;AAAA,EAC5B;AACD;AAEO,SAAS,QACf,OACe;AACf,QAAM,YAAY,aAAa,KAAK;AACpC,SAAO,KAAK,SAAS;AACtB","sourcesContent":["import type { Store } from \"atom.io/internal\"\nimport { IMPLICIT } from \"atom.io/internal\"\nimport * as React from \"react\"\n\nexport const StoreContext = React.createContext<Store>(IMPLICIT.STORE)\n\nexport const StoreProvider: React.FC<{\n\tchildren: React.ReactNode\n\tstore?: Store\n}> = ({ children, store = IMPLICIT.STORE }) => (\n\t<StoreContext.Provider value={store}>{children}</StoreContext.Provider>\n)\n","import * as React from \"react\"\n\nimport { getState, setState, subscribe } from \"atom.io\"\nimport type {\n\tMutableAtomToken,\n\tReadonlySelectorToken,\n\tStateToken,\n} from \"atom.io\"\n\nimport { getJsonToken } from \"atom.io/internal\"\nimport type { Json } from \"atom.io/json\"\nimport { StoreContext } from \"./store-context\"\n\nexport function useI<T>(\n\ttoken: StateToken<T>,\n): <New extends T>(next: New | ((old: T) => New)) => void {\n\tconst store = React.useContext(StoreContext)\n\tconst setter: React.MutableRefObject<\n\t\t(<New extends T>(next: New | ((old: T) => New)) => void) | null\n\t> = React.useRef(null)\n\tif (setter.current === null) {\n\t\tsetter.current = (next) => setState(token, next, store)\n\t}\n\treturn setter.current\n}\n\nexport function useO<T>(token: ReadonlySelectorToken<T> | StateToken<T>): T {\n\tconst store = React.useContext(StoreContext)\n\tconst id = React.useId()\n\treturn React.useSyncExternalStore<T>(\n\t\t(dispatch) => subscribe(token, dispatch, `use-o:${id}`, store),\n\t\t() => getState(token, store),\n\t\t() => getState(token, store),\n\t)\n}\n\nexport function useJSON<Serializable extends Json.Serializable>(\n\ttoken: MutableAtomToken<any, Serializable>,\n): Serializable {\n\tconst jsonToken = getJsonToken(token)\n\treturn useO(jsonToken)\n}\n"]}
|
package/react/dist/index.js
CHANGED
|
@@ -1,55 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var atom_io = require('atom.io');
|
|
7
|
-
|
|
8
|
-
function _interopNamespace(e) {
|
|
9
|
-
if (e && e.__esModule) return e;
|
|
10
|
-
var n = Object.create(null);
|
|
11
|
-
if (e) {
|
|
12
|
-
Object.keys(e).forEach(function (k) {
|
|
13
|
-
if (k !== 'default') {
|
|
14
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
get: function () { return e[k]; }
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
n.default = e;
|
|
23
|
-
return Object.freeze(n);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
|
|
1
|
+
import { IMPLICIT, getJsonToken } from 'atom.io/internal';
|
|
2
|
+
import * as React2 from 'react';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
import { setState, subscribe, getState } from 'atom.io';
|
|
27
5
|
|
|
28
6
|
// src/store-context.tsx
|
|
29
|
-
var StoreContext =
|
|
30
|
-
var StoreProvider = ({ children, store =
|
|
7
|
+
var StoreContext = React2.createContext(IMPLICIT.STORE);
|
|
8
|
+
var StoreProvider = ({ children, store = IMPLICIT.STORE }) => /* @__PURE__ */ jsx(StoreContext.Provider, { value: store, children });
|
|
31
9
|
function useI(token) {
|
|
32
|
-
const store =
|
|
33
|
-
|
|
10
|
+
const store = React2.useContext(StoreContext);
|
|
11
|
+
const setter = React2.useRef(null);
|
|
12
|
+
if (setter.current === null) {
|
|
13
|
+
setter.current = (next) => setState(token, next, store);
|
|
14
|
+
}
|
|
15
|
+
return setter.current;
|
|
34
16
|
}
|
|
35
17
|
function useO(token) {
|
|
36
|
-
const store =
|
|
37
|
-
const id =
|
|
38
|
-
return
|
|
39
|
-
(dispatch) =>
|
|
40
|
-
() =>
|
|
41
|
-
() =>
|
|
18
|
+
const store = React2.useContext(StoreContext);
|
|
19
|
+
const id = React2.useId();
|
|
20
|
+
return React2.useSyncExternalStore(
|
|
21
|
+
(dispatch) => subscribe(token, dispatch, `use-o:${id}`, store),
|
|
22
|
+
() => getState(token, store),
|
|
23
|
+
() => getState(token, store)
|
|
42
24
|
);
|
|
43
25
|
}
|
|
44
26
|
function useJSON(token) {
|
|
45
|
-
const jsonToken =
|
|
27
|
+
const jsonToken = getJsonToken(token);
|
|
46
28
|
return useO(jsonToken);
|
|
47
29
|
}
|
|
48
30
|
|
|
49
|
-
|
|
50
|
-
exports.StoreProvider = StoreProvider;
|
|
51
|
-
exports.useI = useI;
|
|
52
|
-
exports.useJSON = useJSON;
|
|
53
|
-
exports.useO = useO;
|
|
31
|
+
export { StoreContext, StoreProvider, useI, useJSON, useO };
|
|
54
32
|
//# sourceMappingURL=out.js.map
|
|
55
33
|
//# sourceMappingURL=index.js.map
|
package/react/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/store-context.tsx","../src/store-hooks.ts"],"names":["React"],"mappings":";AACA,SAAS,gBAAgB;AACzB,YAAY,WAAW;AAQtB;AANM,IAAM,eAAqB,oBAAqB,SAAS,KAAK;AAE9D,IAAM,gBAGR,CAAC,EAAE,UAAU,QAAQ,SAAS,MAAM,MACxC,oBAAC,aAAa,UAAb,EAAsB,OAAO,OAAQ,UAAS;;;ACVhD,YAAYA,YAAW;AAEvB,SAAS,UAAU,UAAU,iBAAiB;AAO9C,SAAS,oBAAoB;AAItB,SAAS,KACf,OACyD;AACzD,QAAM,QAAc,kBAAW,YAAY;AAC3C,
|
|
1
|
+
{"version":3,"sources":["../src/store-context.tsx","../src/store-hooks.ts"],"names":["React"],"mappings":";AACA,SAAS,gBAAgB;AACzB,YAAY,WAAW;AAQtB;AANM,IAAM,eAAqB,oBAAqB,SAAS,KAAK;AAE9D,IAAM,gBAGR,CAAC,EAAE,UAAU,QAAQ,SAAS,MAAM,MACxC,oBAAC,aAAa,UAAb,EAAsB,OAAO,OAAQ,UAAS;;;ACVhD,YAAYA,YAAW;AAEvB,SAAS,UAAU,UAAU,iBAAiB;AAO9C,SAAS,oBAAoB;AAItB,SAAS,KACf,OACyD;AACzD,QAAM,QAAc,kBAAW,YAAY;AAC3C,QAAM,SAEI,cAAO,IAAI;AACrB,MAAI,OAAO,YAAY,MAAM;AAC5B,WAAO,UAAU,CAAC,SAAS,SAAS,OAAO,MAAM,KAAK;AAAA,EACvD;AACA,SAAO,OAAO;AACf;AAEO,SAAS,KAAQ,OAAoD;AAC3E,QAAM,QAAc,kBAAW,YAAY;AAC3C,QAAM,KAAW,aAAM;AACvB,SAAa;AAAA,IACZ,CAAC,aAAa,UAAU,OAAO,UAAU,SAAS,EAAE,IAAI,KAAK;AAAA,IAC7D,MAAM,SAAS,OAAO,KAAK;AAAA,IAC3B,MAAM,SAAS,OAAO,KAAK;AAAA,EAC5B;AACD;AAEO,SAAS,QACf,OACe;AACf,QAAM,YAAY,aAAa,KAAK;AACpC,SAAO,KAAK,SAAS;AACtB","sourcesContent":["import type { Store } from \"atom.io/internal\"\nimport { IMPLICIT } from \"atom.io/internal\"\nimport * as React from \"react\"\n\nexport const StoreContext = React.createContext<Store>(IMPLICIT.STORE)\n\nexport const StoreProvider: React.FC<{\n\tchildren: React.ReactNode\n\tstore?: Store\n}> = ({ children, store = IMPLICIT.STORE }) => (\n\t<StoreContext.Provider value={store}>{children}</StoreContext.Provider>\n)\n","import * as React from \"react\"\n\nimport { getState, setState, subscribe } from \"atom.io\"\nimport type {\n\tMutableAtomToken,\n\tReadonlySelectorToken,\n\tStateToken,\n} from \"atom.io\"\n\nimport { getJsonToken } from \"atom.io/internal\"\nimport type { Json } from \"atom.io/json\"\nimport { StoreContext } from \"./store-context\"\n\nexport function useI<T>(\n\ttoken: StateToken<T>,\n): <New extends T>(next: New | ((old: T) => New)) => void {\n\tconst store = React.useContext(StoreContext)\n\tconst setter: React.MutableRefObject<\n\t\t(<New extends T>(next: New | ((old: T) => New)) => void) | null\n\t> = React.useRef(null)\n\tif (setter.current === null) {\n\t\tsetter.current = (next) => setState(token, next, store)\n\t}\n\treturn setter.current\n}\n\nexport function useO<T>(token: ReadonlySelectorToken<T> | StateToken<T>): T {\n\tconst store = React.useContext(StoreContext)\n\tconst id = React.useId()\n\treturn React.useSyncExternalStore<T>(\n\t\t(dispatch) => subscribe(token, dispatch, `use-o:${id}`, store),\n\t\t() => getState(token, store),\n\t\t() => getState(token, store),\n\t)\n}\n\nexport function useJSON<Serializable extends Json.Serializable>(\n\ttoken: MutableAtomToken<any, Serializable>,\n): Serializable {\n\tconst jsonToken = getJsonToken(token)\n\treturn useO(jsonToken)\n}\n"]}
|