atom.io 0.36.2 → 0.37.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/dist/data/index.d.ts.map +1 -1
- package/dist/data/index.js.map +1 -1
- package/dist/eslint-plugin/index.js +1 -2
- package/dist/eslint-plugin/index.js.map +1 -1
- package/dist/internal/index.d.ts +66 -98
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +544 -507
- package/dist/internal/index.js.map +1 -1
- package/dist/introspection/index.d.ts +2 -2
- package/dist/introspection/index.d.ts.map +1 -1
- package/dist/introspection/index.js +1 -1
- package/dist/introspection/index.js.map +1 -1
- package/dist/json/index.d.ts +2 -1
- package/dist/json/index.d.ts.map +1 -1
- package/dist/json/index.js.map +1 -1
- package/dist/main/index.d.ts +154 -139
- package/dist/main/index.d.ts.map +1 -1
- package/dist/main/index.js.map +1 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react-devtools/index.d.ts.map +1 -1
- package/dist/react-devtools/index.js +54 -56
- package/dist/react-devtools/index.js.map +1 -1
- package/dist/realtime/index.d.ts.map +1 -1
- package/dist/realtime/index.js.map +1 -1
- package/dist/realtime-client/index.d.ts +3 -3
- package/dist/realtime-client/index.d.ts.map +1 -1
- package/dist/realtime-client/index.js +6 -6
- package/dist/realtime-client/index.js.map +1 -1
- package/dist/realtime-react/index.d.ts.map +1 -1
- package/dist/realtime-react/index.js.map +1 -1
- package/dist/realtime-server/index.d.ts +5 -5
- package/dist/realtime-server/index.d.ts.map +1 -1
- package/dist/realtime-server/index.js +10 -12
- package/dist/realtime-server/index.js.map +1 -1
- package/dist/realtime-testing/index.d.ts.map +1 -1
- package/dist/realtime-testing/index.js.map +1 -1
- package/dist/transceivers/set-rtx/index.d.ts +1 -1
- package/dist/transceivers/set-rtx/index.d.ts.map +1 -1
- package/dist/transceivers/set-rtx/index.js +1 -3
- package/dist/transceivers/set-rtx/index.js.map +1 -1
- package/dist/use-o-DXPncKmZ.js.map +1 -1
- package/dist/web/index.d.ts +2 -2
- package/dist/web/index.d.ts.map +1 -1
- package/dist/web/index.js.map +1 -1
- package/package.json +14 -14
- package/src/internal/atom/dispose-atom.ts +5 -4
- package/src/internal/caching.ts +3 -3
- package/src/internal/families/create-readonly-held-selector-family.ts +3 -5
- package/src/internal/families/create-readonly-pure-selector-family.ts +3 -5
- package/src/internal/families/create-regular-atom-family.ts +3 -6
- package/src/internal/families/create-writable-held-selector-family.ts +3 -5
- package/src/internal/families/create-writable-pure-selector-family.ts +3 -5
- package/src/internal/families/find-in-store.ts +17 -34
- package/src/internal/families/init-family-member.ts +5 -87
- package/src/internal/families/mint-in-store.ts +74 -0
- package/src/internal/get-state/read-or-compute-value.ts +4 -2
- package/src/internal/index.ts +19 -18
- package/src/internal/ingest-updates/ingest-atom-update.ts +7 -7
- package/src/internal/ingest-updates/ingest-creation-disposal.ts +11 -11
- package/src/internal/ingest-updates/ingest-selector-update.ts +8 -4
- package/src/internal/ingest-updates/ingest-transaction-update.ts +5 -6
- package/src/internal/install-into-store.ts +2 -2
- package/src/internal/join/join-internal.ts +1 -1
- package/src/internal/molecule.ts +12 -9
- package/src/internal/mutable/create-mutable-atom-family.ts +3 -6
- package/src/internal/mutable/tracker.ts +2 -2
- package/src/internal/mutable/transceiver.ts +6 -4
- package/src/internal/operation.ts +17 -14
- package/src/internal/selector/create-readonly-held-selector.ts +9 -7
- package/src/internal/selector/create-readonly-pure-selector.ts +8 -5
- package/src/internal/selector/create-writable-held-selector.ts +12 -21
- package/src/internal/selector/create-writable-pure-selector.ts +16 -29
- package/src/internal/selector/dispose-selector.ts +6 -1
- package/src/internal/selector/get-selector-dependency-keys.ts +2 -6
- package/src/internal/selector/register-selector.ts +64 -74
- package/src/internal/selector/trace-selector-atoms.ts +2 -2
- package/src/internal/selector/update-selector-atoms.ts +2 -2
- package/src/internal/set-state/dispatch-state-update.ts +101 -0
- package/src/internal/set-state/operate-on-store.ts +126 -0
- package/src/internal/set-state/reset-atom-or-selector.ts +24 -15
- package/src/internal/set-state/set-atom-or-selector.ts +9 -4
- package/src/internal/set-state/set-atom.ts +4 -49
- package/src/internal/set-state/set-into-store.ts +11 -77
- package/src/internal/set-state/set-selector.ts +35 -0
- package/src/internal/store/store.ts +4 -4
- package/src/internal/subscribe/subscribe-in-store.ts +3 -3
- package/src/internal/subscribe/subscribe-to-timeline.ts +2 -2
- package/src/internal/timeline/create-timeline.ts +57 -101
- package/src/internal/timeline/time-travel.ts +1 -1
- package/src/internal/transaction/abort-transaction.ts +1 -1
- package/src/internal/transaction/apply-transaction.ts +7 -7
- package/src/internal/transaction/build-transaction.ts +10 -9
- package/src/internal/transaction/create-transaction.ts +4 -3
- package/src/internal/transaction/index.ts +6 -2
- package/src/introspection/attach-introspection-states.ts +2 -2
- package/src/introspection/attach-transaction-logs.ts +13 -6
- package/src/json/index.ts +3 -1
- package/src/main/atom.ts +2 -1
- package/src/main/events.ts +109 -0
- package/src/main/get-state.ts +1 -1
- package/src/main/index.ts +3 -0
- package/src/main/subscribe.ts +9 -19
- package/src/main/timeline.ts +3 -21
- package/src/main/transaction.ts +0 -65
- package/src/main/validators.ts +8 -2
- package/src/react-devtools/TimelineIndex.tsx +1 -1
- package/src/react-devtools/TransactionIndex.tsx +5 -3
- package/src/react-devtools/Updates.tsx +54 -46
- package/src/realtime-client/continuity/register-and-attempt-confirmed-update.ts +20 -10
- package/src/realtime-client/realtime-client-stores/client-sync-store.ts +4 -4
- package/src/realtime-client/sync-continuity.ts +1 -1
- package/src/realtime-server/continuity/prepare-to-serve-transaction-request.ts +14 -8
- package/src/realtime-server/continuity/prepare-to-track-client-acknowledgement.ts +5 -2
- package/src/realtime-server/continuity/subscribe-to-continuity-actions.ts +1 -1
- package/src/realtime-server/realtime-action-receiver.ts +6 -3
- package/src/realtime-server/realtime-server-stores/server-sync-store.ts +13 -16
- package/src/transceivers/set-rtx/set-rtx.ts +1 -3
- package/src/web/persist-sync.ts +2 -2
- package/src/internal/set-state/emit-update.ts +0 -40
package/dist/data/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/data/dict.ts","../../src/data/struct.ts","../../src/data/struct-family.ts"],"sourcesContent":[],"mappings":";;;;;iBASgB,YAAhB,YAAwC,SAAxB,CAAA,CAAA,MAAA,EAEZ,MAAA,CAAO,+BAFK,CAE2B,KAF3B,EAEkC,GAFlC,CAAA,GAGZ,MAAA,CAAO,sBAHK,CAGkB,KAHlB,EAGyB,GAHzB,CAAA,GAIZ,MAAA,CAAO,+BAJK,CAI2B,KAJ3B,EAIkC,GAJlC,CAAA,EAAA,KAAA,EAMZ,MAAA,CAAO,yBANK,CAMqB,GANrB,EAAA,CAAA,GAOZ,MAAA,CAAO,gBAPK,CAOY,GAPZ,EAAA,CAAA,GAQZ,MAAA,CAAO,yBARK,CAQqB,GARrB,EAAA,CAAA,EAAA,KAAA,CAAA,EASR,KATQ,CAAA,EAUb,MAAA,CAAO,yBAVM,CAAA,QAU4B,WAV5B,CAUwC,GAVxC,CAAA,GAU+C,KAV/C,EAAA,CAAA;;;iBCAA;;ADAhB,CAAA,EAAgB,YAAA,MAAA,SAAwB,EAAA;OCKjC,GDHoC;SAAO,ECIvC,MDJuC;QAAvC,CAAP,ECMI,KDNG,CAAA,EAAA,CAAA,QAAA,MCSG,MDTH,IAAA,GCSgB,GDThB,GCSsB,UDTtB,CCUR,CDVQ,GAAA,MAAA,CAAA,OAAA,GCWE,MAAA,CAAO,gBDXT,CCW0B,MDX1B,CCWiC,CDXjC,CAAA,CAAA,EAAA,ECaV,MAAA,CAAO,yBDbG,CCauB,MDbvB,CAAA,CAAA;;;iBEAK;EFFhB,GAAgB,EEMV,GFNU;EAAA,OAAA,EEON,MFPM;aAAwB,MEU1B,MFV0B,IAAA,OEUT,UFVS,CEUE,GFVF,GAAA,MAAA,CAAA,GEUkB,UFVlB,CEWrC,CFXqC,GAAA,MAAA,CAAA,OAAA,GEY3B,MAAA,CAAO,sBFZoB,CEYG,MFZH,CEYU,CFZV,CAAA,EAAA,MAAA,CAAA,EAAA,EEcvC,MAAA,CAAO,+BFdgC,CEcA,MFdA,EAAA,MAAA,CAAA,CAAA"}
|
package/dist/data/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["atoms: {\n\t\t[K in keyof Struct as `${Key}${Capitalize<\n\t\t\tK & string\n\t\t>}State`]: AtomIO.RegularAtomToken<Struct[K]>\n\t}","atoms: {\n\t\t[K in keyof Struct as `find${Capitalize<Key & string>}${Capitalize<\n\t\t\tK & string\n\t\t>}State`]: AtomIO.RegularAtomFamilyToken<Struct[K], string>\n\t}","findStructState: AtomIO.ReadonlyPureSelectorFamilyToken<Struct, string>"],"sources":["../../src/data/dict.ts","../../src/data/struct.ts","../../src/data/struct-family.ts"],"sourcesContent":["import type * as AtomIO from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport {\n\tcreateStandaloneSelector,\n\tfindInStore,\n\tIMPLICIT,\n} from \"atom.io/internal\"\nimport type { Canonical, stringified } from \"atom.io/json\"\n\nexport function dict<State, Key extends Canonical>(\n\tfamily:\n\t\t| AtomIO.ReadonlyPureSelectorFamilyToken<State, Key>\n\t\t| AtomIO.RegularAtomFamilyToken<State, Key>\n\t\t| AtomIO.WritablePureSelectorFamilyToken<State, Key>,\n\tindex:\n\t\t| AtomIO.ReadonlyPureSelectorToken<Key[]>\n\t\t| AtomIO.RegularAtomToken<Key[]>\n\t\t| AtomIO.WritablePureSelectorToken<Key[]>,\n\tstore: Store = IMPLICIT.STORE,\n): AtomIO.ReadonlyPureSelectorToken<{ [K in stringified<Key>]: State }> {\n\treturn createStandaloneSelector(store, {\n\t\tkey: `${family.key}Dict`,\n\t\tget: ({ get }) => {\n\t\t\tconst keys = get(index)\n\t\t\treturn keys.reduce((acc, key) => {\n\t\t\t\tacc[key] = get(findInStore(store, family, key))\n\t\t\t\treturn acc\n\t\t\t}, {} as any)\n\t\t},\n\t})\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport {\n\tcapitalize,\n\tcreateRegularAtom,\n\tcreateStandaloneSelector,\n\tIMPLICIT,\n} from \"atom.io/internal\"\n\nexport function struct<\n\tStruct extends { [key: string]: unknown },\n\tKey extends string,\n>(\n\toptions: {\n\t\tkey: Key\n\t\tdefault: Struct\n\t},\n\tstore: Store = IMPLICIT.STORE,\n): [\n\t{\n\t\t[K in keyof Struct as `${Key}${Capitalize<\n\t\t\tK & string\n\t\t>}State`]: AtomIO.RegularAtomToken<Struct[K]>\n\t},\n\tAtomIO.ReadonlyPureSelectorToken<Struct>,\n] {\n\tconst atoms: {\n\t\t[K in keyof Struct as `${Key}${Capitalize<\n\t\t\tK & string\n\t\t>}State`]: AtomIO.RegularAtomToken<Struct[K]>\n\t} = Object.keys(options.default).reduce((acc, key) => {\n\t\tconst atomName = options.key + capitalize(key) + `State`\n\t\tacc[atomName] = createRegularAtom(\n\t\t\tstore,\n\t\t\t{\n\t\t\t\tkey: `${options.key}.${key}`,\n\t\t\t\tdefault: options.default[key],\n\t\t\t},\n\t\t\tundefined,\n\t\t)\n\t\treturn acc\n\t}, {} as any)\n\tconst structState = createStandaloneSelector(store, {\n\t\tkey: options.key,\n\t\tget: ({ get }) => {\n\t\t\treturn Object.keys(options.default).reduce((acc, key) => {\n\t\t\t\t// @ts-expect-error finicky\n\t\t\t\tacc[key] = get(atoms[options.key + capitalize(key) + `State`])\n\t\t\t\treturn acc\n\t\t\t}, {} as any)\n\t\t},\n\t})\n\treturn [atoms, structState]\n}\n","import type * as AtomIO from \"atom.io\"\nimport {\n\tcapitalize,\n\tcreateRegularAtomFamily,\n\tcreateSelectorFamily,\n\tIMPLICIT,\n} from \"atom.io/internal\"\n\nconst nameFamily = (topKey: string, subKey: string) =>\n\t`find` + capitalize(topKey) + capitalize(subKey) + `State`\n\nexport function structFamily<\n\tStruct extends object,\n\tKey extends string,\n>(options: {\n\tkey: Key\n\tdefault: Struct\n}): [\n\t{\n\t\t[K in keyof Struct as `find${Capitalize<Key & string>}${Capitalize<\n\t\t\tK & string\n\t\t>}State`]: AtomIO.RegularAtomFamilyToken<Struct[K], string>\n\t},\n\tAtomIO.ReadonlyPureSelectorFamilyToken<Struct, string>,\n] {\n\tconst atoms: {\n\t\t[K in keyof Struct as `find${Capitalize<Key & string>}${Capitalize<\n\t\t\tK & string\n\t\t>}State`]: AtomIO.RegularAtomFamilyToken<Struct[K], string>\n\t} = Object.keys(options.default).reduce((acc, subKey) => {\n\t\tconst atomFamilyName = nameFamily(options.key, subKey)\n\t\tacc[atomFamilyName] = createRegularAtomFamily(IMPLICIT.STORE, {\n\t\t\tkey: `${options.key}.${subKey}`,\n\t\t\tdefault: (options.default as any)[subKey],\n\t\t})\n\t\treturn acc\n\t}, {} as any)\n\tconst findStructState: AtomIO.ReadonlyPureSelectorFamilyToken<Struct, string> =\n\t\tcreateSelectorFamily(IMPLICIT.STORE, {\n\t\t\tkey: options.key,\n\t\t\tget:\n\t\t\t\t(id) =>\n\t\t\t\t({ find, get }) => {\n\t\t\t\t\treturn Object.keys(options.default).reduce((acc, subKey) => {\n\t\t\t\t\t\tacc[subKey] = get(\n\t\t\t\t\t\t\tfind((atoms as any)[nameFamily(options.key, subKey)], id),\n\t\t\t\t\t\t)\n\t\t\t\t\t\treturn acc\n\t\t\t\t\t}, {} as any)\n\t\t\t\t},\n\t\t})\n\treturn [atoms, findStructState]\n}\n"],"mappings":";;;AASA,SAAgB,KACf,QAIA,OAIA,QAAe,SAAS,OAC+C;AACvE,QAAO,yBAAyB,OAAO;EACtC,KAAK,GAAG,OAAO,IAAI;EACnB,MAAM,EAAE,KAAK,KAAK;GACjB,MAAM,OAAO,IAAI;AACjB,UAAO,KAAK,QAAQ,KAAK,QAAQ;AAChC,QAAI,OAAO,IAAI,YAAY,OAAO,QAAQ;AAC1C,WAAO;GACP,GAAE,EAAE;EACL;EACD;AACD;;;;ACrBD,SAAgB,OAIf,SAIA,QAAe,SAAS,OAQvB;CACD,MAAMA,QAIF,OAAO,KAAK,QAAQ,SAAS,QAAQ,KAAK,QAAQ;EACrD,MAAM,WAAW,QAAQ,MAAM,WAAW,OAAO;AACjD,MAAI,YAAY,kBACf,OACA;GACC,KAAK,GAAG,QAAQ,IAAI,GAAG;GACvB,SAAS,QAAQ,QAAQ;GACzB,EACD;AAED,SAAO;CACP,GAAE,EAAE;CACL,MAAM,cAAc,yBAAyB,OAAO;EACnD,KAAK,QAAQ;EACb,MAAM,EAAE,KAAK,KAAK;AACjB,UAAO,OAAO,KAAK,QAAQ,SAAS,QAAQ,KAAK,QAAQ;AAExD,QAAI,OAAO,IAAI,MAAM,QAAQ,MAAM,WAAW,OAAO;AACrD,WAAO;GACP,GAAE,EAAE;EACL;EACD;AACD,QAAO,CAAC,OAAO,YAAY;AAC3B;;;;AC7CD,MAAM,cAAc,QAAgB,WACnC,SAAS,WAAW,UAAU,WAAW,UAAU;AAEpD,SAAgB,aAGd,SAUA;CACD,MAAMC,QAIF,OAAO,KAAK,QAAQ,SAAS,QAAQ,KAAK,WAAW;EACxD,MAAM,iBAAiB,WAAW,QAAQ,KAAK;AAC/C,MAAI,kBAAkB,wBAAwB,SAAS,OAAO;GAC7D,KAAK,GAAG,QAAQ,IAAI,GAAG;GACvB,SAAU,QAAQ,QAAgB;GAClC;AACD,SAAO;CACP,GAAE,EAAE;CACL,MAAMC,kBACL,qBAAqB,SAAS,OAAO;EACpC,KAAK,QAAQ;EACb,MACE,QACA,EAAE,MAAM,KAAK,KAAK;AAClB,UAAO,OAAO,KAAK,QAAQ,SAAS,QAAQ,KAAK,WAAW;AAC3D,QAAI,UAAU,IACb,KAAM,MAAc,WAAW,QAAQ,KAAK,UAAU;AAEvD,WAAO;GACP,GAAE,EAAE;EACL;EACF;AACF,QAAO,CAAC,OAAO,gBAAgB;AAC/B"}
|
|
@@ -51,8 +51,7 @@ __export(rules_exports, { explicitStateTypes: () => explicitStateTypes });
|
|
|
51
51
|
//#endregion
|
|
52
52
|
//#region src/eslint-plugin/index.ts
|
|
53
53
|
const plugin = { rules: { "explicit-state-types": explicitStateTypes } };
|
|
54
|
-
var eslint_plugin_default = plugin;
|
|
55
54
|
|
|
56
55
|
//#endregion
|
|
57
|
-
export { rules_exports as Rules,
|
|
56
|
+
export { rules_exports as Rules, plugin as default };
|
|
58
57
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["explicitStateTypes: ESLintUtils.RuleModule<\n\t`noTypeArgument`,\n\t[],\n\tunknown,\n\tESLintUtils.RuleListener\n>","plugin: ESLint.Plugin"],"sources":["../../src/eslint-plugin/rules/explicit-state-types.ts","../../src/eslint-plugin/rules/index.ts","../../src/eslint-plugin/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/switch-exhaustiveness-check */\nimport { ESLintUtils } from \"@typescript-eslint/utils\"\n\nconst createRule = ESLintUtils.RuleCreator(\n\t(name) => `https://atom.io.fyi/docs/eslint-plugin#${name}`,\n)\n\nconst STATE_FUNCTIONS = [\n\t`atom`,\n\t`atomFamily`,\n\t`mutableAtom`,\n\t`mutableAtomFamily`,\n\t`selector`,\n\t`selectorFamily`,\n]\n\nexport const explicitStateTypes: ESLintUtils.RuleModule<\n\t`noTypeArgument`,\n\t[],\n\tunknown,\n\tESLintUtils.RuleListener\n> = createRule({\n\tname: `explicit-state-types`,\n\tmeta: {\n\t\ttype: `problem`,\n\t\tdocs: {\n\t\t\tdescription: `State declarations must have generic type arguments directly passed to them`,\n\t\t},\n\t\tmessages: {\n\t\t\tnoTypeArgument: `State declarations must have generic type arguments directly passed to them.`,\n\t\t},\n\t\tschema: [], // no options\n\t},\n\tdefaultOptions: [],\n\tcreate(context) {\n\t\treturn {\n\t\t\tCallExpression(node) {\n\t\t\t\tconst { callee } = node\n\t\t\t\tswitch (callee.type) {\n\t\t\t\t\tcase `Identifier`: {\n\t\t\t\t\t\tif (STATE_FUNCTIONS.includes(callee.name)) {\n\t\t\t\t\t\t\tif (!node.typeArguments) {\n\t\t\t\t\t\t\t\tcontext.report({\n\t\t\t\t\t\t\t\t\tnode,\n\t\t\t\t\t\t\t\t\tmessageId: `noTypeArgument`,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase `MemberExpression`: {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcallee.property.type === `Identifier` &&\n\t\t\t\t\t\t\tSTATE_FUNCTIONS.includes(callee.property.name)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif (!node.typeArguments) {\n\t\t\t\t\t\t\t\tcontext.report({\n\t\t\t\t\t\t\t\t\tnode,\n\t\t\t\t\t\t\t\t\tmessageId: `noTypeArgument`,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t},\n})\n","export * from \"./explicit-state-types\"\n","import type { ESLint } from \"eslint\"\n\nimport * as Rules from \"./rules\"\n\nexport { Rules }\n\nconst plugin: ESLint.Plugin = {\n\trules: {\n\t\t\"explicit-state-types\": Rules.explicitStateTypes as any,\n\t},\n} satisfies ESLint.Plugin\n\nexport default plugin\n"],"mappings":";;;;AAGA,MAAM,aAAa,YAAY,
|
|
1
|
+
{"version":3,"file":"index.js","names":["explicitStateTypes: ESLintUtils.RuleModule<\n\t`noTypeArgument`,\n\t[],\n\tunknown,\n\tESLintUtils.RuleListener\n>","plugin: ESLint.Plugin"],"sources":["../../src/eslint-plugin/rules/explicit-state-types.ts","../../src/eslint-plugin/rules/index.ts","../../src/eslint-plugin/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/switch-exhaustiveness-check */\nimport { ESLintUtils } from \"@typescript-eslint/utils\"\n\nconst createRule = ESLintUtils.RuleCreator(\n\t(name) => `https://atom.io.fyi/docs/eslint-plugin#${name}`,\n)\n\nconst STATE_FUNCTIONS = [\n\t`atom`,\n\t`atomFamily`,\n\t`mutableAtom`,\n\t`mutableAtomFamily`,\n\t`selector`,\n\t`selectorFamily`,\n]\n\nexport const explicitStateTypes: ESLintUtils.RuleModule<\n\t`noTypeArgument`,\n\t[],\n\tunknown,\n\tESLintUtils.RuleListener\n> = createRule({\n\tname: `explicit-state-types`,\n\tmeta: {\n\t\ttype: `problem`,\n\t\tdocs: {\n\t\t\tdescription: `State declarations must have generic type arguments directly passed to them`,\n\t\t},\n\t\tmessages: {\n\t\t\tnoTypeArgument: `State declarations must have generic type arguments directly passed to them.`,\n\t\t},\n\t\tschema: [], // no options\n\t},\n\tdefaultOptions: [],\n\tcreate(context) {\n\t\treturn {\n\t\t\tCallExpression(node) {\n\t\t\t\tconst { callee } = node\n\t\t\t\tswitch (callee.type) {\n\t\t\t\t\tcase `Identifier`: {\n\t\t\t\t\t\tif (STATE_FUNCTIONS.includes(callee.name)) {\n\t\t\t\t\t\t\tif (!node.typeArguments) {\n\t\t\t\t\t\t\t\tcontext.report({\n\t\t\t\t\t\t\t\t\tnode,\n\t\t\t\t\t\t\t\t\tmessageId: `noTypeArgument`,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase `MemberExpression`: {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcallee.property.type === `Identifier` &&\n\t\t\t\t\t\t\tSTATE_FUNCTIONS.includes(callee.property.name)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif (!node.typeArguments) {\n\t\t\t\t\t\t\t\tcontext.report({\n\t\t\t\t\t\t\t\t\tnode,\n\t\t\t\t\t\t\t\t\tmessageId: `noTypeArgument`,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t},\n})\n","export * from \"./explicit-state-types\"\n","import type { ESLint } from \"eslint\"\n\nimport * as Rules from \"./rules\"\n\nexport { Rules }\n\nconst plugin: ESLint.Plugin = {\n\trules: {\n\t\t\"explicit-state-types\": Rules.explicitStateTypes as any,\n\t},\n} satisfies ESLint.Plugin\n\nexport default plugin\n"],"mappings":";;;;AAGA,MAAM,aAAa,YAAY,aAC7B,SAAS,0CAA0C;AAGrD,MAAM,kBAAkB;CACvB;CACA;CACA;CACA;CACA;CACA;CACA;AAED,MAAaA,qBAKT,WAAW;CACd,MAAM;CACN,MAAM;EACL,MAAM;EACN,MAAM,EACL,aAAa,+EACb;EACD,UAAU,EACT,gBAAgB,gFAChB;EACD,QAAQ,EAAE;EACV;CACD,gBAAgB,EAAE;CAClB,OAAO,SAAS;AACf,SAAO,EACN,eAAe,MAAM;GACpB,MAAM,EAAE,QAAQ,GAAG;AACnB,WAAQ,OAAO,MAAf;IACC,KAAK;AACJ,SAAI,gBAAgB,SAAS,OAAO,OACnC;UAAI,CAAC,KAAK,cACT,SAAQ,OAAO;OACd;OACA,WAAW;OACX;KACD;AAEF;IAED,KAAK,mBACJ,KACC,OAAO,SAAS,SAAS,gBACzB,gBAAgB,SAAS,OAAO,SAAS,OAEzC;SAAI,CAAC,KAAK,cACT,SAAQ,OAAO;MACd;MACA,WAAW;MACX;IACD;GAGH;EACD,GACD;CACD;CACD;;;;;;;;;AE7DD,MAAMC,SAAwB,EAC7B,OAAO,EACN,4CACA,EACD"}
|
package/dist/internal/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Canonical, Json, stringified } from "atom.io/json";
|
|
2
|
-
import { Above, ActorToolkit, Anarchy, AtomFamilyToken, AtomIOLogger, AtomIOToken, AtomToken, Claim, CompoundFrom, CompoundTypedKey, FamilyMetadata, HeldSelectorFamilyToken, HeldSelectorToken, Hierarchy, JoinOptions, JoinStates, JoinToken,
|
|
2
|
+
import { Above, ActorToolkit, Anarchy, AtomFamilyToken, AtomIOLogger, AtomIOToken, AtomToken, AtomUpdateEvent, Claim, CompoundFrom, CompoundTypedKey, FamilyMetadata, HeldSelectorFamilyToken, HeldSelectorToken, Hierarchy, JoinOptions, JoinStates, JoinToken, Logger, MoleculeCreationEvent, MoleculeDisposalEvent, MoleculeTransferEvent, MutableAtomFamilyOptions, MutableAtomFamilyToken, MutableAtomOptions, MutableAtomToken, PureSelectorFamilyToken, PureSelectorToken, ReadableFamilyToken, ReadableToken, ReadonlyHeldSelectorFamilyOptions, ReadonlyHeldSelectorFamilyToken, ReadonlyHeldSelectorOptions, ReadonlyHeldSelectorToken, ReadonlyPureSelectorFamilyOptions, ReadonlyPureSelectorFamilyToken, ReadonlyPureSelectorOptions, ReadonlyPureSelectorToken, ReadonlySelectorFamilyToken, ReadonlySelectorToken, RegularAtomFamilyOptions, RegularAtomFamilyToken, RegularAtomOptions, RegularAtomToken, SelectorFamilyToken, SelectorToken, SingularTypedKey, StateCreationEvent, StateDisposalEvent, StateLifecycleEvent, StateUpdate, TimelineEvent, TimelineManageable, TimelineOptions, TimelineSelectorUpdateEvent, TimelineToken, TransactionOptions, TransactionOutcomeEvent, TransactionToken, TransactionUpdateHandler, UpdateHandler, Vassal, ViewOf, WritableFamilyToken, WritableHeldSelectorFamilyOptions, WritableHeldSelectorFamilyToken, WritableHeldSelectorOptions, WritableHeldSelectorToken, WritablePureSelectorFamilyOptions, WritablePureSelectorFamilyToken, WritablePureSelectorOptions, WritablePureSelectorToken, WritableSelectorFamilyToken, WritableSelectorToken, WritableToken, WriterToolkit } from "atom.io";
|
|
3
3
|
import { SetRTX } from "atom.io/transceivers/set-rtx";
|
|
4
4
|
|
|
5
5
|
//#region src/internal/atom/has-role.d.ts
|
|
@@ -167,7 +167,7 @@ declare function isRootStore(store: Store): store is RootStore;
|
|
|
167
167
|
declare function isChildStore(store: Store): store is ChildStore;
|
|
168
168
|
//#endregion
|
|
169
169
|
//#region src/internal/transaction/build-transaction.d.ts
|
|
170
|
-
declare const buildTransaction: (store: Store,
|
|
170
|
+
declare const buildTransaction: (store: Store, token: TransactionToken<any>, params: any[], id: string) => ChildStore;
|
|
171
171
|
//#endregion
|
|
172
172
|
//#region src/internal/subject.d.ts
|
|
173
173
|
declare class Subject<T> {
|
|
@@ -188,7 +188,7 @@ type Transaction<F extends Fn> = {
|
|
|
188
188
|
key: string;
|
|
189
189
|
type: `transaction`;
|
|
190
190
|
install: (store: Store) => void;
|
|
191
|
-
subject: Subject<
|
|
191
|
+
subject: Subject<TransactionOutcomeEvent<TransactionToken<F>>>;
|
|
192
192
|
run: (parameters: Parameters<F>, id?: string) => ReturnType<F>;
|
|
193
193
|
};
|
|
194
194
|
declare function createTransaction<F extends Fn>(store: Store, options: TransactionOptions<F>): TransactionToken<F>;
|
|
@@ -207,7 +207,7 @@ declare const TRANSACTION_PHASES: readonly ["idle", "building", "applying"];
|
|
|
207
207
|
type TransactionPhase = (typeof TRANSACTION_PHASES)[number];
|
|
208
208
|
type TransactionProgress<F extends Fn> = {
|
|
209
209
|
phase: `applying` | `building`;
|
|
210
|
-
update:
|
|
210
|
+
update: TransactionOutcomeEvent<TransactionToken<F>>;
|
|
211
211
|
toolkit: ActorToolkit;
|
|
212
212
|
};
|
|
213
213
|
type TransactionEpoch = {
|
|
@@ -290,61 +290,35 @@ interface Lineage {
|
|
|
290
290
|
declare function newest<T extends Lineage>(scion: T): T;
|
|
291
291
|
//#endregion
|
|
292
292
|
//#region src/internal/operation.d.ts
|
|
293
|
-
type OperationProgress = {
|
|
293
|
+
type OperationProgress = OpenOperation<any> | {
|
|
294
294
|
open: false;
|
|
295
|
-
}
|
|
295
|
+
};
|
|
296
|
+
type OpenOperation<R extends ReadableToken<any> = ReadableToken<any>> = {
|
|
296
297
|
open: true;
|
|
298
|
+
token: R;
|
|
297
299
|
done: Set<string>;
|
|
298
300
|
prev: Map<string, any>;
|
|
299
|
-
|
|
300
|
-
token: ReadableToken<any>;
|
|
301
|
+
timestamp: number;
|
|
301
302
|
};
|
|
302
|
-
declare
|
|
303
|
-
|
|
303
|
+
declare function openOperation(store: Store, token: ReadableToken<any>): number | (Store & {
|
|
304
|
+
operation: OpenOperation;
|
|
305
|
+
});
|
|
306
|
+
declare function closeOperation(store: Store): void;
|
|
304
307
|
declare const isDone: (store: Store, key: string) => boolean;
|
|
305
308
|
declare const markDone: (store: Store, key: string) => void;
|
|
306
309
|
//#endregion
|
|
307
310
|
//#region src/internal/timeline/create-timeline.d.ts
|
|
308
|
-
type TimelineAtomUpdate<ManagedAtom extends TimelineManageable> = Flat<StateUpdate<TokenType<ManagedAtom>> & {
|
|
309
|
-
key: string;
|
|
310
|
-
type: `atom_update`;
|
|
311
|
-
timestamp: number;
|
|
312
|
-
family?: FamilyMetadata;
|
|
313
|
-
}>;
|
|
314
|
-
type TimelineSelectorUpdate<ManagedAtom extends TimelineManageable> = {
|
|
315
|
-
key: string;
|
|
316
|
-
type: `selector_update`;
|
|
317
|
-
timestamp: number;
|
|
318
|
-
atomUpdates: Omit<TimelineAtomUpdate<ManagedAtom>, `timestamp`>[];
|
|
319
|
-
};
|
|
320
|
-
type TimelineTransactionUpdate = Flat<TransactionUpdate<Fn> & {
|
|
321
|
-
key: string;
|
|
322
|
-
type: `transaction_update`;
|
|
323
|
-
timestamp: number;
|
|
324
|
-
}>;
|
|
325
|
-
type TimelineStateCreation<T extends ReadableToken<any>> = Flat<StateCreation<T> & {
|
|
326
|
-
timestamp: number;
|
|
327
|
-
}>;
|
|
328
|
-
type TimelineStateDisposal<T extends ReadableToken<any>> = Flat<StateDisposal<T> & {
|
|
329
|
-
timestamp: number;
|
|
330
|
-
}>;
|
|
331
|
-
type TimelineMoleculeCreation = Flat<MoleculeCreation & {
|
|
332
|
-
timestamp: number;
|
|
333
|
-
}>;
|
|
334
|
-
type TimelineMoleculeDisposal = Flat<MoleculeDisposal & {
|
|
335
|
-
timestamp: number;
|
|
336
|
-
}>;
|
|
337
311
|
type Timeline<ManagedAtom extends TimelineManageable> = {
|
|
338
312
|
type: `timeline`;
|
|
339
313
|
key: string;
|
|
340
314
|
at: number;
|
|
341
|
-
shouldCapture?: (update:
|
|
315
|
+
shouldCapture?: (update: TimelineEvent<ManagedAtom>, timeline: Timeline<ManagedAtom>) => boolean;
|
|
342
316
|
timeTraveling: `into_future` | `into_past` | null;
|
|
343
|
-
history:
|
|
317
|
+
history: TimelineEvent<ManagedAtom>[];
|
|
344
318
|
selectorTime: number | null;
|
|
345
319
|
transactionKey: string | null;
|
|
346
320
|
install: (store: Store) => void;
|
|
347
|
-
subject: Subject<
|
|
321
|
+
subject: Subject<TimelineEvent<ManagedAtom> | `redo` | `undo`>;
|
|
348
322
|
subscriptions: Map<string, () => void>;
|
|
349
323
|
};
|
|
350
324
|
declare function createTimeline<ManagedAtom extends TimelineManageable>(store: Store, options: TimelineOptions<ManagedAtom>, data?: Timeline<ManagedAtom>): TimelineToken<ManagedAtom>;
|
|
@@ -405,8 +379,8 @@ type StoreEventCarrier = {
|
|
|
405
379
|
transactionCreation: Subject<TransactionToken<Fn>>;
|
|
406
380
|
transactionApplying: StatefulSubject<TransactionProgress<Fn> | null>;
|
|
407
381
|
operationClose: Subject<OperationProgress>;
|
|
408
|
-
moleculeCreation: Subject<
|
|
409
|
-
moleculeDisposal: Subject<
|
|
382
|
+
moleculeCreation: Subject<MoleculeCreationEvent>;
|
|
383
|
+
moleculeDisposal: Subject<MoleculeDisposalEvent>;
|
|
410
384
|
};
|
|
411
385
|
declare global {
|
|
412
386
|
var ATOM_IO_IMPLICIT_STORE: Store | undefined;
|
|
@@ -453,12 +427,12 @@ declare function withdraw(store: Store, token: AtomIOToken): AtomIOInternalResou
|
|
|
453
427
|
//#endregion
|
|
454
428
|
//#region src/internal/mutable/transceiver.d.ts
|
|
455
429
|
interface Transceiver<V, S extends Json.Serializable, J extends Json.Serializable> {
|
|
430
|
+
READONLY_VIEW: V;
|
|
456
431
|
do: (update: S) => number | `OUT_OF_RANGE` | null;
|
|
457
432
|
undo: (update: S) => void;
|
|
458
433
|
subscribe: (key: string, fn: (update: S) => void) => () => void;
|
|
459
434
|
cacheUpdateNumber: number;
|
|
460
435
|
getUpdateNumber: (update: S) => number;
|
|
461
|
-
view: () => V;
|
|
462
436
|
toJSON: () => J;
|
|
463
437
|
}
|
|
464
438
|
type TransceiverConstructor<J extends Json.Serializable, T extends Transceiver<any, any, J>> = (new () => T) & {
|
|
@@ -466,7 +440,6 @@ type TransceiverConstructor<J extends Json.Serializable, T extends Transceiver<a
|
|
|
466
440
|
};
|
|
467
441
|
declare function isTransceiver(value: unknown): value is Transceiver<any, Json.Serializable, Json.Serializable>;
|
|
468
442
|
type TransceiverMode = `playback` | `record` | `transaction`;
|
|
469
|
-
type ViewOf<T> = T extends Transceiver<infer V, any, any> ? V : T;
|
|
470
443
|
type SignalFrom<T extends Transceiver<any, any, any>> = T extends Transceiver<any, infer S, any> ? S : never;
|
|
471
444
|
type AsJSON<T extends Transceiver<any, any, any>> = T extends Transceiver<any, any, infer J> ? J : never;
|
|
472
445
|
type ConstructorOf<T extends Transceiver<any, any, any>> = TransceiverConstructor<AsJSON<T>, T>;
|
|
@@ -580,22 +553,16 @@ declare function disposeFromStore(store: Store, token: ReadableToken<any>): void
|
|
|
580
553
|
declare function disposeFromStore<K extends Canonical>(store: Store, token: ReadableFamilyToken<any, K>, key: K): void;
|
|
581
554
|
//#endregion
|
|
582
555
|
//#region src/internal/families/find-in-store.d.ts
|
|
583
|
-
declare function findInStore<T extends Transceiver<any, any, any>, K extends Canonical, Key extends K>(store: Store,
|
|
584
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store,
|
|
585
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store,
|
|
586
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store,
|
|
587
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store,
|
|
588
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store,
|
|
589
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store,
|
|
590
|
-
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store,
|
|
556
|
+
declare function findInStore<T extends Transceiver<any, any, any>, K extends Canonical, Key extends K>(store: Store, familyToken: MutableAtomFamilyToken<T, K>, key: Key): MutableAtomToken<T, K>;
|
|
557
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, familyToken: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T, K>;
|
|
558
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, familyToken: AtomFamilyToken<T, K>, key: Key): AtomToken<T, K>;
|
|
559
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, familyToken: WritablePureSelectorFamilyToken<T, K>, key: Key): WritablePureSelectorToken<T, K>;
|
|
560
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, familyToken: ReadonlyPureSelectorFamilyToken<T, K>, key: Key): ReadonlyPureSelectorToken<T, K>;
|
|
561
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, familyToken: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T, K>;
|
|
562
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, familyToken: WritableFamilyToken<T, K>, key: Key): WritableToken<T, K>;
|
|
563
|
+
declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, familyToken: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T, K>;
|
|
591
564
|
//#endregion
|
|
592
565
|
//#region src/internal/families/init-family-member.d.ts
|
|
593
|
-
declare function initFamilyMemberInStore<T extends Transceiver<any, any, any>, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, K>, key: Key): MutableAtomToken<T, K>;
|
|
594
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T, K>;
|
|
595
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T, K>;
|
|
596
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritablePureSelectorFamilyToken<T, K>, key: Key): WritablePureSelectorToken<T, K>;
|
|
597
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadonlyPureSelectorFamilyToken<T, K>, key: Key): ReadonlyPureSelectorToken<T, K>;
|
|
598
|
-
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: SelectorFamilyToken<T, K>, key: Key): SelectorToken<T, K>;
|
|
599
566
|
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T, K>;
|
|
600
567
|
declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T, K>;
|
|
601
568
|
//#endregion
|
|
@@ -627,20 +594,20 @@ declare function readOrComputeValue<T>(target: Store, state: ReadableState<T>, m
|
|
|
627
594
|
declare function getTrace(error: Error): string;
|
|
628
595
|
//#endregion
|
|
629
596
|
//#region src/internal/ingest-updates/ingest-atom-update.d.ts
|
|
630
|
-
declare function ingestAtomUpdate(applying: `newValue` | `oldValue`, atomUpdate:
|
|
597
|
+
declare function ingestAtomUpdate(applying: `newValue` | `oldValue`, atomUpdate: AtomUpdateEvent<any>, store: Store): void;
|
|
631
598
|
//#endregion
|
|
632
599
|
//#region src/internal/ingest-updates/ingest-creation-disposal.d.ts
|
|
633
|
-
declare function ingestCreationEvent(update:
|
|
634
|
-
declare function ingestDisposalEvent(update:
|
|
635
|
-
declare function ingestMoleculeCreationEvent(update:
|
|
636
|
-
declare function ingestMoleculeDisposalEvent(update:
|
|
637
|
-
declare function ingestMoleculeTransferEvent(update:
|
|
600
|
+
declare function ingestCreationEvent(update: StateCreationEvent<any>, applying: `newValue` | `oldValue`, store: Store): void;
|
|
601
|
+
declare function ingestDisposalEvent(update: StateDisposalEvent<ReadableToken<any>>, applying: `newValue` | `oldValue`, store: Store): void;
|
|
602
|
+
declare function ingestMoleculeCreationEvent(update: MoleculeCreationEvent, applying: `newValue` | `oldValue`, store: Store): void;
|
|
603
|
+
declare function ingestMoleculeDisposalEvent(update: MoleculeDisposalEvent, applying: `newValue` | `oldValue`, store: Store): void;
|
|
604
|
+
declare function ingestMoleculeTransferEvent(update: MoleculeTransferEvent, applying: `newValue` | `oldValue`, store: Store): void;
|
|
638
605
|
//#endregion
|
|
639
606
|
//#region src/internal/ingest-updates/ingest-selector-update.d.ts
|
|
640
|
-
declare function ingestSelectorUpdate(applying: `newValue` | `oldValue`, selectorUpdate:
|
|
607
|
+
declare function ingestSelectorUpdate(applying: `newValue` | `oldValue`, selectorUpdate: TimelineSelectorUpdateEvent<any>, store: Store): void;
|
|
641
608
|
//#endregion
|
|
642
609
|
//#region src/internal/ingest-updates/ingest-transaction-update.d.ts
|
|
643
|
-
declare function ingestTransactionUpdate(applying: `newValue` | `oldValue`, transactionUpdate:
|
|
610
|
+
declare function ingestTransactionUpdate(applying: `newValue` | `oldValue`, transactionUpdate: TransactionOutcomeEvent<any>, store: Store): void;
|
|
644
611
|
//#endregion
|
|
645
612
|
//#region src/internal/install-into-store.d.ts
|
|
646
613
|
/**
|
|
@@ -685,10 +652,10 @@ type ReservedIntrospectionKey = `🔍 ${string}`;
|
|
|
685
652
|
declare function isReservedIntrospectionKey(value: string): value is ReservedIntrospectionKey;
|
|
686
653
|
//#endregion
|
|
687
654
|
//#region src/internal/selector/create-readonly-held-selector.d.ts
|
|
688
|
-
declare
|
|
655
|
+
declare function createReadonlyHeldSelector<T extends object>(store: Store, options: ReadonlyHeldSelectorOptions<T>, family: FamilyMetadata | undefined): ReadonlyHeldSelectorToken<T>;
|
|
689
656
|
//#endregion
|
|
690
657
|
//#region src/internal/selector/create-readonly-pure-selector.d.ts
|
|
691
|
-
declare
|
|
658
|
+
declare function createReadonlyPureSelector<T>(store: Store, options: ReadonlyPureSelectorOptions<T>, family: FamilyMetadata | undefined): ReadonlyPureSelectorToken<T>;
|
|
692
659
|
//#endregion
|
|
693
660
|
//#region src/internal/selector/create-standalone-selector.d.ts
|
|
694
661
|
declare function createStandaloneSelector<T extends object>(store: Store, options: WritableHeldSelectorOptions<T>): WritableHeldSelectorToken<T>;
|
|
@@ -697,25 +664,25 @@ declare function createStandaloneSelector<T>(store: Store, options: WritablePure
|
|
|
697
664
|
declare function createStandaloneSelector<T>(store: Store, options: ReadonlyPureSelectorOptions<T>): ReadonlyPureSelectorToken<T>;
|
|
698
665
|
//#endregion
|
|
699
666
|
//#region src/internal/selector/create-writable-held-selector.d.ts
|
|
700
|
-
declare
|
|
667
|
+
declare function createWritableHeldSelector<T extends object>(store: Store, options: WritableHeldSelectorOptions<T>, family: FamilyMetadata | undefined): WritableHeldSelectorToken<T>;
|
|
701
668
|
//#endregion
|
|
702
669
|
//#region src/internal/selector/create-writable-pure-selector.d.ts
|
|
703
|
-
declare
|
|
670
|
+
declare function createWritablePureSelector<T>(store: Store, options: WritablePureSelectorOptions<T>, family: FamilyMetadata | undefined): WritablePureSelectorToken<T>;
|
|
704
671
|
//#endregion
|
|
705
672
|
//#region src/internal/selector/dispose-selector.d.ts
|
|
706
673
|
declare function disposeSelector(store: Store, selectorToken: SelectorToken<unknown>): void;
|
|
707
674
|
//#endregion
|
|
708
675
|
//#region src/internal/selector/get-selector-dependency-keys.d.ts
|
|
709
|
-
declare
|
|
676
|
+
declare function getSelectorDependencyKeys(store: Store, key: string): (AtomKey<unknown> | ReadonlySelectorKey<unknown> | SelectorKey<unknown>)[];
|
|
710
677
|
//#endregion
|
|
711
678
|
//#region src/internal/selector/register-selector.d.ts
|
|
712
|
-
declare
|
|
679
|
+
declare function registerSelector(store: Store, selectorType: `readonly_held_selector` | `readonly_pure_selector` | `writable_held_selector` | `writable_pure_selector`, selectorKey: string, covered: Set<string>): WriterToolkit;
|
|
713
680
|
//#endregion
|
|
714
681
|
//#region src/internal/selector/trace-selector-atoms.d.ts
|
|
715
|
-
declare
|
|
682
|
+
declare function traceRootSelectorAtoms(store: Store, selectorKey: string, covered?: Set<string>): Map<string, Atom<unknown>>;
|
|
716
683
|
//#endregion
|
|
717
684
|
//#region src/internal/selector/update-selector-atoms.d.ts
|
|
718
|
-
declare
|
|
685
|
+
declare function updateSelectorAtoms(store: Store, selectorType: `readonly_held_selector` | `readonly_pure_selector` | `writable_held_selector` | `writable_pure_selector`, selectorKey: string, dependency: ReadonlyPureSelectorToken<unknown> | WritableToken<unknown>, covered: Set<string>): void;
|
|
719
686
|
//#endregion
|
|
720
687
|
//#region src/internal/set-state/become.d.ts
|
|
721
688
|
type Modify<T> = (thing: T) => T;
|
|
@@ -726,7 +693,9 @@ declare function evictDownstreamFromAtom(store: Store, atom: Atom<any>): void;
|
|
|
726
693
|
declare function evictDownstreamFromSelector(store: Store, selectorKey: string): void;
|
|
727
694
|
//#endregion
|
|
728
695
|
//#region src/internal/set-state/reset-atom-or-selector.d.ts
|
|
729
|
-
declare function resetAtomOrSelector(
|
|
696
|
+
declare function resetAtomOrSelector<T>(target: Store & {
|
|
697
|
+
operation: OpenOperation;
|
|
698
|
+
}, state: WritableState<T>): [oldValue: T, newValue: T];
|
|
730
699
|
//#endregion
|
|
731
700
|
//#region src/internal/set-state/reset-in-store.d.ts
|
|
732
701
|
declare const RESET_STATE: unique symbol;
|
|
@@ -734,11 +703,13 @@ declare function resetInStore(store: Store, token: WritableToken<any>): void;
|
|
|
734
703
|
declare function resetInStore<K extends Canonical>(store: Store, token: WritableFamilyToken<any, K>, key: K): void;
|
|
735
704
|
//#endregion
|
|
736
705
|
//#region src/internal/set-state/set-atom-or-selector.d.ts
|
|
737
|
-
declare const setAtomOrSelector: <T>(
|
|
706
|
+
declare const setAtomOrSelector: <T>(target: Store & {
|
|
707
|
+
operation: OpenOperation;
|
|
708
|
+
}, state: WritableState<T>, value: T | ((oldValue: T) => T)) => [oldValue: T, newValue: T];
|
|
738
709
|
//#endregion
|
|
739
710
|
//#region src/internal/set-state/set-into-store.d.ts
|
|
740
711
|
declare function setIntoStore<T, New extends T>(store: Store, token: WritableToken<T>, value: New | typeof RESET_STATE | ((oldValue: T) => New)): void;
|
|
741
|
-
declare function setIntoStore<T, K extends Canonical, New extends T>(store: Store, token: WritableFamilyToken<T, K>, key:
|
|
712
|
+
declare function setIntoStore<T, K extends Canonical, New extends T, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key, value: New | typeof RESET_STATE | ((oldValue: T) => New)): void;
|
|
742
713
|
//#endregion
|
|
743
714
|
//#region src/internal/subscribe/recall-state.d.ts
|
|
744
715
|
declare const recallState: <T>(store: Store, state: ReadableState<T>) => T;
|
|
@@ -746,8 +717,8 @@ declare const recallState: <T>(store: Store, state: ReadableState<T>) => T;
|
|
|
746
717
|
//#region src/internal/subscribe/subscribe-in-store.d.ts
|
|
747
718
|
declare function subscribeInStore<T>(store: Store, token: ReadableToken<T>, handleUpdate: UpdateHandler<T>, key?: string): () => void;
|
|
748
719
|
declare function subscribeInStore<F extends Fn>(store: Store, token: TransactionToken<F>, handleUpdate: TransactionUpdateHandler<F>, key?: string): () => void;
|
|
749
|
-
declare function subscribeInStore<M extends TimelineManageable>(store: Store, token: TimelineToken<M>, handleUpdate: (update:
|
|
750
|
-
declare function subscribeInStore<M extends TimelineManageable>(store: Store, token: ReadableToken<any> | TimelineToken<M> | TransactionToken<any>, handleUpdate: TransactionUpdateHandler<any> | UpdateHandler<any> | ((update:
|
|
720
|
+
declare function subscribeInStore<M extends TimelineManageable>(store: Store, token: TimelineToken<M>, handleUpdate: (update: TimelineEvent<M> | `redo` | `undo`) => void, key?: string): () => void;
|
|
721
|
+
declare function subscribeInStore<M extends TimelineManageable>(store: Store, token: ReadableToken<any> | TimelineToken<M> | TransactionToken<any>, handleUpdate: TransactionUpdateHandler<any> | UpdateHandler<any> | ((update: TimelineEvent<M> | `redo` | `undo`) => void), key?: string): () => void;
|
|
751
722
|
//#endregion
|
|
752
723
|
//#region src/internal/subscribe/subscribe-to-root-atoms.d.ts
|
|
753
724
|
declare const subscribeToRootDependency: (target: Store, selector: Selector<any>, atom: Atom<any>) => (() => void);
|
|
@@ -756,7 +727,7 @@ declare const subscribeToRootDependency: (target: Store, selector: Selector<any>
|
|
|
756
727
|
declare function subscribeToState<T>(store: Store, token: ReadableToken<T>, key: string, handleUpdate: UpdateHandler<T>): () => void;
|
|
757
728
|
//#endregion
|
|
758
729
|
//#region src/internal/subscribe/subscribe-to-timeline.d.ts
|
|
759
|
-
declare const subscribeToTimeline: <ManagedAtom extends TimelineManageable>(store: Store, token: TimelineToken<ManagedAtom>, key: string, handleUpdate: (update:
|
|
730
|
+
declare const subscribeToTimeline: <ManagedAtom extends TimelineManageable>(store: Store, token: TimelineToken<ManagedAtom>, key: string, handleUpdate: (update: TimelineEvent<any> | `redo` | `undo`) => void) => (() => void);
|
|
760
731
|
//#endregion
|
|
761
732
|
//#region src/internal/subscribe/subscribe-to-transaction.d.ts
|
|
762
733
|
declare const subscribeToTransaction: <F extends Fn>(store: Store, token: TransactionToken<F>, key: string, handleUpdate: TransactionUpdateHandler<F>) => (() => void);
|
|
@@ -766,10 +737,7 @@ type AtomIOState = {
|
|
|
766
737
|
key: string;
|
|
767
738
|
family?: FamilyMetadata;
|
|
768
739
|
install: (store: Store) => void;
|
|
769
|
-
subject: Subject<
|
|
770
|
-
newValue: any;
|
|
771
|
-
oldValue: any;
|
|
772
|
-
}>;
|
|
740
|
+
subject: Subject<StateUpdate<any>>;
|
|
773
741
|
};
|
|
774
742
|
type RegularAtom<T> = Flat<AtomIOState & {
|
|
775
743
|
type: `atom`;
|
|
@@ -786,22 +754,22 @@ type Atom<T> = RegularAtom<T> | (T extends Transceiver<any, any, any> ? MutableA
|
|
|
786
754
|
type WritableHeldSelector<T> = Flat<AtomIOState & {
|
|
787
755
|
type: `writable_held_selector`;
|
|
788
756
|
const: T;
|
|
789
|
-
|
|
790
|
-
|
|
757
|
+
getFrom: (target: Store) => T;
|
|
758
|
+
setSelf: (newValue: T) => void;
|
|
791
759
|
}>;
|
|
792
760
|
type ReadonlyHeldSelector<T> = Flat<AtomIOState & {
|
|
793
761
|
type: `readonly_held_selector`;
|
|
794
762
|
const: T;
|
|
795
|
-
|
|
763
|
+
getFrom: (target: Store) => T;
|
|
796
764
|
}>;
|
|
797
765
|
type WritablePureSelector<T> = Flat<AtomIOState & {
|
|
798
766
|
type: `writable_pure_selector`;
|
|
799
|
-
|
|
800
|
-
|
|
767
|
+
getFrom: (target: Store) => T;
|
|
768
|
+
setSelf: (newValue: T) => void;
|
|
801
769
|
}>;
|
|
802
770
|
type ReadonlyPureSelector<T> = Flat<AtomIOState & {
|
|
803
771
|
type: `readonly_pure_selector`;
|
|
804
|
-
|
|
772
|
+
getFrom: (target: Store) => T;
|
|
805
773
|
}>;
|
|
806
774
|
type ReadonlySelector<T> = ReadonlyHeldSelector<T> | ReadonlyPureSelector<T>;
|
|
807
775
|
type WritableSelector<T> = WritableHeldSelector<T> | WritablePureSelector<T>;
|
|
@@ -814,7 +782,7 @@ type RegularAtomFamily<T, K extends Canonical> = RegularAtomFamilyToken<T, K> &
|
|
|
814
782
|
(key: K): RegularAtomToken<T>;
|
|
815
783
|
install: (store: Store) => void;
|
|
816
784
|
internalRoles: string[] | undefined;
|
|
817
|
-
subject: Subject<
|
|
785
|
+
subject: Subject<StateCreationEvent<AtomToken<T>> | StateDisposalEvent<AtomToken<T>>>;
|
|
818
786
|
};
|
|
819
787
|
type MutableAtomFamily<T extends Transceiver<any, any, any>, K extends Canonical> = Flat<MutableAtomFamilyToken<T, K> & {
|
|
820
788
|
install: (store: Store) => void;
|
|
@@ -826,25 +794,25 @@ type WritablePureSelectorFamily<T, K extends Canonical> = Flat<WritablePureSelec
|
|
|
826
794
|
default: (key: K) => T;
|
|
827
795
|
install: (store: Store) => void;
|
|
828
796
|
internalRoles: string[] | undefined;
|
|
829
|
-
subject: Subject<
|
|
797
|
+
subject: Subject<StateCreationEvent<WritablePureSelectorToken<T>> | StateDisposalEvent<WritablePureSelectorToken<T>>>;
|
|
830
798
|
}> & ((key: K) => WritablePureSelectorToken<T>);
|
|
831
799
|
type WritableHeldSelectorFamily<T, K extends Canonical> = Flat<WritableHeldSelectorFamilyToken<T, K> & {
|
|
832
800
|
default: (key: K) => T;
|
|
833
801
|
install: (store: Store) => void;
|
|
834
802
|
internalRoles: string[] | undefined;
|
|
835
|
-
subject: Subject<
|
|
803
|
+
subject: Subject<StateCreationEvent<WritableHeldSelectorToken<T>> | StateDisposalEvent<WritableHeldSelectorToken<T>>>;
|
|
836
804
|
}> & ((key: K) => WritableHeldSelectorToken<T>);
|
|
837
805
|
type ReadonlyPureSelectorFamily<T, K extends Canonical> = Flat<ReadonlyPureSelectorFamilyToken<T, K> & {
|
|
838
806
|
default: (key: K) => T;
|
|
839
807
|
install: (store: Store) => void;
|
|
840
808
|
internalRoles: string[] | undefined;
|
|
841
|
-
subject: Subject<
|
|
809
|
+
subject: Subject<StateCreationEvent<ReadonlyPureSelectorToken<T>> | StateDisposalEvent<ReadonlyPureSelectorToken<T>>>;
|
|
842
810
|
}> & ((key: K) => ReadonlyPureSelectorToken<T>);
|
|
843
811
|
type ReadonlyHeldSelectorFamily<T, K extends Canonical> = Flat<ReadonlyHeldSelectorFamilyToken<T, K> & {
|
|
844
812
|
default: (key: K) => T;
|
|
845
813
|
install: (store: Store) => void;
|
|
846
814
|
internalRoles: string[] | undefined;
|
|
847
|
-
subject: Subject<
|
|
815
|
+
subject: Subject<StateCreationEvent<ReadonlyHeldSelectorToken<T>> | StateDisposalEvent<ReadonlyHeldSelectorToken<T>>>;
|
|
848
816
|
}> & ((key: K) => ReadonlyHeldSelectorToken<T>);
|
|
849
817
|
type PureSelectorFamily<T, K extends Canonical> = ReadonlyPureSelectorFamily<T, K> | WritablePureSelectorFamily<T, K>;
|
|
850
818
|
type HeldSelectorFamily<T, K extends Canonical> = ReadonlyHeldSelectorFamily<T, K> | WritableHeldSelectorFamily<T, K>;
|
|
@@ -855,5 +823,5 @@ type WritableFamily<T, K extends Canonical> = AtomFamily<T, K> | WritablePureSel
|
|
|
855
823
|
type ReadableFamily<T, K extends Canonical> = AtomFamily<T, K> | SelectorFamily<T, K>;
|
|
856
824
|
type AtomIOInternalResource = ReadableFamily<any, any> | ReadableState<any> | Timeline<any> | Transaction<any>;
|
|
857
825
|
//#endregion
|
|
858
|
-
export { AsJSON, Atom, AtomFamily, AtomIOInternalResource, AtomIOState, AtomKey, BaseExternalStoreConfiguration, ChildStore, CircularBuffer, ConstructorOf, Count, Each, Empty, EnvironmentData, ExternalStoreConfiguration, ExternalStoreWithContentConfiguration, FAMILY_MEMBER_TOKEN_TYPES, FamilyTracker, Flat, Fn, Future, HeldSelector, HeldSelectorFamily, IMPLICIT, INTERNAL_ROLES, Join, JoinStateFamilies, Junction, JunctionAdvancedConfiguration, JunctionEntries, JunctionEntriesBase, JunctionJSON, JunctionSchema, JunctionSchemaBase, LazyMap, Lineage, Modify, Molecule, MutableAtom, MutableAtomFamily, NotFoundError, OperationProgress, PureSelector, PureSelectorFamily, RESET_STATE, ReadableFamily, ReadableState, ReadonlyHeldSelector, ReadonlyHeldSelectorFamily, ReadonlyPureSelector, ReadonlyPureSelectorFamily, ReadonlySelector, ReadonlySelectorFamily, ReadonlySelectorKey, Refinement, RegularAtom, RegularAtomFamily, ReservedIntrospectionKey, RootStore, Selector, SelectorFamily, SelectorKey, SignalFrom, StateKey, StatefulSubject, Store, StoreEventCarrier, Subject, TRANSACTION_PHASES, Timeline,
|
|
826
|
+
export { AsJSON, Atom, AtomFamily, AtomIOInternalResource, AtomIOState, AtomKey, BaseExternalStoreConfiguration, ChildStore, CircularBuffer, ConstructorOf, Count, Each, Empty, EnvironmentData, ExternalStoreConfiguration, ExternalStoreWithContentConfiguration, FAMILY_MEMBER_TOKEN_TYPES, FamilyTracker, Flat, Fn, Future, HeldSelector, HeldSelectorFamily, IMPLICIT, INTERNAL_ROLES, Join, JoinStateFamilies, Junction, JunctionAdvancedConfiguration, JunctionEntries, JunctionEntriesBase, JunctionJSON, JunctionSchema, JunctionSchemaBase, LazyMap, Lineage, Modify, Molecule, MutableAtom, MutableAtomFamily, NotFoundError, OpenOperation, OperationProgress, PureSelector, PureSelectorFamily, RESET_STATE, ReadableFamily, ReadableState, ReadonlyHeldSelector, ReadonlyHeldSelectorFamily, ReadonlyPureSelector, ReadonlyPureSelectorFamily, ReadonlySelector, ReadonlySelectorFamily, ReadonlySelectorKey, Refinement, RegularAtom, RegularAtomFamily, ReservedIntrospectionKey, RootStore, Selector, SelectorFamily, SelectorKey, SignalFrom, StateKey, StatefulSubject, Store, StoreEventCarrier, Subject, TRANSACTION_PHASES, Timeline, Tracker, Transaction, TransactionEpoch, TransactionPhase, TransactionProgress, Transceiver, TransceiverConstructor, TransceiverMode, WritableFamily, WritableHeldSelector, WritableHeldSelectorFamily, WritablePureSelector, WritablePureSelectorFamily, WritableSelector, WritableSelectorFamily, WritableState, abortTransaction, actUponStore, allocateIntoStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, capitalize, claimWithinStore, clearStore, closeOperation, counterfeit, createJoin, createMutableAtom, createMutableAtomFamily, createReadonlyHeldSelector, createReadonlyPureSelector, createReadonlyPureSelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneSelector, createTimeline, createTransaction, createWritableHeldSelector, createWritablePureSelector, createWritablePureSelectorFamily, deallocateFromStore, deposit, disposeAtom, disposeFromStore, disposeSelector, editRelationsInStore, evictCachedValue, evictDownstreamFromAtom, evictDownstreamFromSelector, findInStore, findRelationsInStore, fuseWithinStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getInternalRelationsFromStore, getJoin, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getTrace, getUpdateFamily, getUpdateToken, hasRole, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestMoleculeTransferEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, installIntoStore, internalRole, isAtomKey, isChildStore, isDone, isReadonlySelectorKey, isReservedIntrospectionKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeRootMoleculeInStore, markDone, newest, openOperation, prettyPrintTokenType, readFromCache, readOrComputeValue, recallState, registerSelector, resetAtomOrSelector, resetInStore, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeInStore, subscribeToRootDependency, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceRootSelectorAtoms, updateSelectorAtoms, withdraw, writeToCache };
|
|
859
827
|
//# sourceMappingURL=index.d.ts.map
|