doxum 0.1.21 → 0.1.23

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.
Files changed (72) hide show
  1. package/README.md +35 -7
  2. package/dist/{advanced-FgdTwu5b.d.ts → advanced-CLJCWkHa.d.cts} +3 -3
  3. package/dist/{advanced-COFJtWMT.js → advanced-CRNHfJBu.js} +482 -446
  4. package/dist/advanced-CRNHfJBu.js.map +1 -0
  5. package/dist/{advanced-BRL5pN0y.cjs → advanced-Cle5g3B4.cjs} +615 -459
  6. package/dist/advanced-Cle5g3B4.cjs.map +1 -0
  7. package/dist/{advanced-DfKc7TZR.d.cts → advanced-d6J61er9.d.ts} +3 -3
  8. package/dist/advanced.cjs +1 -1
  9. package/dist/advanced.d.cts +1 -1
  10. package/dist/advanced.d.ts +1 -1
  11. package/dist/advanced.js +1 -1
  12. package/dist/context-BcLKGfq8.cjs +149 -0
  13. package/dist/context-BcLKGfq8.cjs.map +1 -0
  14. package/dist/context-DFEaDUv5.js +84 -0
  15. package/dist/context-DFEaDUv5.js.map +1 -0
  16. package/dist/{contract-CdmDHRUq.d.cts → contract-SYJFP0lM.d.cts} +62 -88
  17. package/dist/{contract-KG5XnQZt.d.ts → contract-ULPQmiEs.d.ts} +62 -88
  18. package/dist/driver-BD3DQOW6.cjs +382 -0
  19. package/dist/driver-BD3DQOW6.cjs.map +1 -0
  20. package/dist/{driver-CLYJOGDQ.js → driver-yFfvDMX5.js} +155 -26
  21. package/dist/driver-yFfvDMX5.js.map +1 -0
  22. package/dist/index.cjs +2370 -406
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.cts +6 -5
  25. package/dist/index.d.ts +6 -5
  26. package/dist/index.js +2293 -330
  27. package/dist/index.js.map +1 -1
  28. package/dist/local-sync.cjs +5 -5
  29. package/dist/local-sync.cjs.map +1 -1
  30. package/dist/local-sync.d.cts +1 -1
  31. package/dist/local-sync.d.ts +1 -1
  32. package/dist/local-sync.js +2 -2
  33. package/dist/local-sync.js.map +1 -1
  34. package/dist/react.cjs +2 -69
  35. package/dist/react.cjs.map +1 -1
  36. package/dist/react.d.cts +0 -1
  37. package/dist/react.d.ts +1 -2
  38. package/dist/react.js +3 -70
  39. package/dist/react.js.map +1 -1
  40. package/package.json +1 -6
  41. package/skills/doxum-runtime/SKILL.md +7 -1
  42. package/skills/doxum-runtime/references/guide.en.md +17 -6
  43. package/skills/doxum-runtime/references/guide.zh-CN.md +15 -5
  44. package/skills/doxum-runtime/references/invariants.en.md +5 -3
  45. package/skills/doxum-runtime/references/invariants.zh-CN.md +4 -3
  46. package/skills/doxum-runtime/references/projections.en.md +5 -0
  47. package/skills/doxum-runtime/references/projections.zh-CN.md +5 -0
  48. package/dist/access-BeSV5ve-.js +0 -816
  49. package/dist/access-BeSV5ve-.js.map +0 -1
  50. package/dist/access-Bienf28h.cjs +0 -911
  51. package/dist/access-Bienf28h.cjs.map +0 -1
  52. package/dist/advanced-BRL5pN0y.cjs.map +0 -1
  53. package/dist/advanced-COFJtWMT.js.map +0 -1
  54. package/dist/driver-CLYJOGDQ.js.map +0 -1
  55. package/dist/driver-Djr3BVvo.cjs +0 -241
  56. package/dist/driver-Djr3BVvo.cjs.map +0 -1
  57. package/dist/integration-C4Isp8lJ.js +0 -26
  58. package/dist/integration-C4Isp8lJ.js.map +0 -1
  59. package/dist/integration-Z6MsfFI7.cjs +0 -31
  60. package/dist/integration-Z6MsfFI7.cjs.map +0 -1
  61. package/dist/integration.cjs +0 -12
  62. package/dist/integration.d.cts +0 -17
  63. package/dist/integration.d.ts +0 -17
  64. package/dist/integration.js +0 -4
  65. package/dist/issue-DjK1xp5K.cjs +0 -881
  66. package/dist/issue-DjK1xp5K.cjs.map +0 -1
  67. package/dist/issue-W0hT8u8D.js +0 -642
  68. package/dist/issue-W0hT8u8D.js.map +0 -1
  69. package/dist/notification-Bkjau6B6.js +0 -232
  70. package/dist/notification-Bkjau6B6.js.map +0 -1
  71. package/dist/notification-DJfouMEb.cjs +0 -309
  72. package/dist/notification-DJfouMEb.cjs.map +0 -1
@@ -1,31 +0,0 @@
1
- const require_access = require("./access-Bienf28h.cjs");
2
- const require_notification = require("./notification-DJfouMEb.cjs");
3
- //#region core/src/access/dependency.ts
4
- const createDependencyTracker = () => {
5
- const targets = [];
6
- return {
7
- record: (value) => {
8
- if (!targets.some((entry) => require_notification.same(entry, value))) targets.push(value);
9
- },
10
- snapshot: () => Object.freeze(targets.slice())
11
- };
12
- };
13
- //#endregion
14
- //#region core/src/integration.ts
15
- const track = (runtime, selector) => {
16
- const dependencies = createDependencyTracker();
17
- const value = require_access.readWith(runtime, selector, dependencies);
18
- return Object.freeze({
19
- value,
20
- targets: dependencies.snapshot()
21
- });
22
- };
23
- //#endregion
24
- Object.defineProperty(exports, "track", {
25
- enumerable: true,
26
- get: function() {
27
- return track;
28
- }
29
- });
30
-
31
- //# sourceMappingURL=integration-Z6MsfFI7.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration-Z6MsfFI7.cjs","names":["readWith"],"sources":["../core/src/access/dependency.ts","../core/src/integration.ts"],"sourcesContent":["import type { ImpactTarget } from '../schema';\nimport * as impactTarget from '../impact-target';\n\nexport type DependencyTracker = {\n readonly record: (target: ImpactTarget<unknown>) => void;\n readonly snapshot: () => readonly ImpactTarget<unknown>[];\n};\n\nexport const createDependencyTracker = (): DependencyTracker => {\n const targets: ImpactTarget<unknown>[] = [];\n return {\n record: value => {\n if (!targets.some(entry => impactTarget.same(entry, value))) targets.push(value);\n },\n snapshot: () => Object.freeze(targets.slice()),\n };\n};\n","import type { ObjectNode, ImpactTarget } from './schema';\nimport type { Read } from './access/scope';\nimport type { DocumentReadable } from './runtime/contract';\nimport { createDependencyTracker } from './access/dependency';\nimport { readWith } from './runtime/access';\nexport type { AddressRef } from './address';\nexport { contains, debugKey, overlaps, read as readAddress, resolveAddress } from './address';\nexport { subscribeDependencies } from './runtime/notification';\nexport { same as sameTarget } from './impact-target';\n\nexport type { ImpactTarget } from './schema';\n\nexport type TrackedSelection<TValue> = {\n readonly value: TValue;\n readonly targets: readonly ImpactTarget<unknown>[];\n};\n\n// Framework adapters receive one immutable result instead of coordinating a\n// mutable collector with the reader's scoped lifetime themselves.\nexport const track = <TSchema extends ObjectNode, TValue>(\n runtime: DocumentReadable<TSchema>,\n selector: (read: Read<TSchema>) => TValue\n): TrackedSelection<TValue> => {\n const dependencies = createDependencyTracker();\n const value = readWith(runtime, selector, dependencies);\n return Object.freeze({ value, targets: dependencies.snapshot() });\n};\n"],"mappings":";;;AAQA,MAAa,gCAAmD;CAC9D,MAAM,UAAmC,EAAE;AAC3C,QAAO;EACL,SAAQ,UAAS;AACf,OAAI,CAAC,QAAQ,MAAK,UAAA,qBAAA,KAA2B,OAAO,MAAM,CAAC,CAAE,SAAQ,KAAK,MAAM;;EAElF,gBAAgB,OAAO,OAAO,QAAQ,OAAO,CAAC;EAC/C;;;;ACIH,MAAa,SACX,SACA,aAC6B;CAC7B,MAAM,eAAe,yBAAyB;CAC9C,MAAM,QAAQA,eAAAA,SAAS,SAAS,UAAU,aAAa;AACvD,QAAO,OAAO,OAAO;EAAE;EAAO,SAAS,aAAa,UAAU;EAAE,CAAC"}
@@ -1,12 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_issue = require("./issue-DjK1xp5K.cjs");
3
- const require_notification = require("./notification-DJfouMEb.cjs");
4
- const require_integration = require("./integration-Z6MsfFI7.cjs");
5
- exports.contains = require_issue.contains;
6
- exports.debugKey = require_issue.debugKey;
7
- exports.overlaps = require_issue.overlaps;
8
- exports.readAddress = require_issue.read;
9
- exports.resolveAddress = require_issue.resolveAddress;
10
- exports.sameTarget = require_notification.same;
11
- exports.subscribeDependencies = require_notification.subscribeDependencies;
12
- exports.track = require_integration.track;
@@ -1,17 +0,0 @@
1
- import { A as overlaps, D as AddressRef, M as resolveAddress, O as contains, Z as ObjectNode, _ as Unsubscribe, j as read, k as debugKey, q as ImpactTarget, s as DocumentReadable, t as CommitListener, w as Read } from "./contract-CdmDHRUq.cjs";
2
-
3
- //#region core/src/impact-target.d.ts
4
- declare const same: (left: ImpactTarget<unknown>, right: ImpactTarget<unknown>) => boolean;
5
- //#endregion
6
- //#region core/src/runtime/notification.d.ts
7
- declare const subscribeDependencies: <S extends ObjectNode>(runtime: DocumentReadable<S>, targets: readonly ImpactTarget[], listener: CommitListener<S>) => Unsubscribe;
8
- //#endregion
9
- //#region core/src/integration.d.ts
10
- type TrackedSelection<TValue> = {
11
- readonly value: TValue;
12
- readonly targets: readonly ImpactTarget<unknown>[];
13
- };
14
- declare const track: <TSchema extends ObjectNode, TValue>(runtime: DocumentReadable<TSchema>, selector: (read: Read<TSchema>) => TValue) => TrackedSelection<TValue>;
15
- //#endregion
16
- export { type AddressRef, type ImpactTarget, TrackedSelection, contains, debugKey, overlaps, read as readAddress, resolveAddress, same as sameTarget, subscribeDependencies, track };
17
- //# sourceMappingURL=integration.d.cts.map
@@ -1,17 +0,0 @@
1
- import { A as overlaps, D as AddressRef, M as resolveAddress, O as contains, Z as ObjectNode, _ as Unsubscribe, j as read, k as debugKey, q as ImpactTarget, s as DocumentReadable, t as CommitListener, w as Read } from "./contract-KG5XnQZt.js";
2
-
3
- //#region core/src/impact-target.d.ts
4
- declare const same: (left: ImpactTarget<unknown>, right: ImpactTarget<unknown>) => boolean;
5
- //#endregion
6
- //#region core/src/runtime/notification.d.ts
7
- declare const subscribeDependencies: <S extends ObjectNode>(runtime: DocumentReadable<S>, targets: readonly ImpactTarget[], listener: CommitListener<S>) => Unsubscribe;
8
- //#endregion
9
- //#region core/src/integration.d.ts
10
- type TrackedSelection<TValue> = {
11
- readonly value: TValue;
12
- readonly targets: readonly ImpactTarget<unknown>[];
13
- };
14
- declare const track: <TSchema extends ObjectNode, TValue>(runtime: DocumentReadable<TSchema>, selector: (read: Read<TSchema>) => TValue) => TrackedSelection<TValue>;
15
- //#endregion
16
- export { type AddressRef, type ImpactTarget, TrackedSelection, contains, debugKey, overlaps, read as readAddress, resolveAddress, same as sameTarget, subscribeDependencies, track };
17
- //# sourceMappingURL=integration.d.ts.map
@@ -1,4 +0,0 @@
1
- import { c as debugKey, d as overlaps, f as read, o as contains, p as resolveAddress } from "./issue-W0hT8u8D.js";
2
- import { c as subscribeDependencies, p as same } from "./notification-Bkjau6B6.js";
3
- import { t as track } from "./integration-C4Isp8lJ.js";
4
- export { contains, debugKey, overlaps, read as readAddress, resolveAddress, same as sameTarget, subscribeDependencies, track };