@party-stack/ontology 0.13.0 → 0.13.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/generate/live.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA0C3E"}
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/generate/live.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA8C3E"}
@@ -5,7 +5,17 @@ export function generateLive(ir, opts) {
5
5
  const sourceFile = project.createSourceFile("live.ts", "");
6
6
  sourceFile.addImportDeclaration({
7
7
  moduleSpecifier: opts.ontologyRuntimeImportPath,
8
- namedImports: [{ name: "createLiveOntology" }, { name: "LiveOntology", isTypeOnly: true }],
8
+ namedImports: [
9
+ { name: "createLiveOntology" },
10
+ {
11
+ name: "CreateLiveOntologyOpts",
12
+ isTypeOnly: true,
13
+ },
14
+ {
15
+ name: "LiveOntology",
16
+ isTypeOnly: true,
17
+ },
18
+ ],
9
19
  });
10
20
  sourceFile.addImportDeclaration({
11
21
  moduleSpecifier: opts.ontologyImportPath,
@@ -16,11 +26,6 @@ export function generateLive(ir, opts) {
16
26
  namedImports: [opts.ontologyTypeName, `${opts.ontologyTypeName}Context`],
17
27
  isTypeOnly: true,
18
28
  });
19
- sourceFile.addImportDeclaration({
20
- moduleSpecifier: opts.ontologyRuntimeImportPath,
21
- namedImports: ["CreateLiveOntologyOpts"],
22
- isTypeOnly: true,
23
- });
24
29
  sourceFile.addFunction({
25
30
  name: opts.outputFactoryName,
26
31
  isExported: true,
@@ -1 +1 @@
1
- {"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/generate/live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAWnC,MAAM,UAAU,YAAY,CAAC,EAAc,EAAE,IAAsB;IAC/D,MAAM,kBAAkB,GAAG,UAAU,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE3D,UAAU,CAAC,oBAAoB,CAAC;QAC5B,eAAe,EAAE,IAAI,CAAC,yBAAyB;QAC/C,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;KAC7F,CAAC,CAAC;IACH,UAAU,CAAC,oBAAoB,CAAC;QAC5B,eAAe,EAAE,IAAI,CAAC,kBAAkB;QACxC,aAAa,EAAE,kBAAkB;KACpC,CAAC,CAAC;IACH,UAAU,CAAC,oBAAoB,CAAC;QAC5B,eAAe,EAAE,IAAI,CAAC,uBAAuB;QAC7C,YAAY,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,gBAAgB,SAAS,CAAC;QACxE,UAAU,EAAE,IAAI;KACnB,CAAC,CAAC;IACH,UAAU,CAAC,oBAAoB,CAAC;QAC5B,eAAe,EAAE,IAAI,CAAC,yBAAyB;QAC/C,YAAY,EAAE,CAAC,wBAAwB,CAAC;QACxC,UAAU,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,UAAU,CAAC,WAAW,CAAC;QACnB,IAAI,EAAE,IAAI,CAAC,iBAAiB;QAC5B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,+BAA+B,IAAI,CAAC,gBAAgB,iBAAiB;aAC9E;SACJ;QACD,UAAU,EAAE,wBAAwB,IAAI,CAAC,gBAAgB,IAAI;QAC7D,UAAU,EAAE,6BAA6B,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,gBAAgB;;kBAE9E,kBAAkB;YACxB;KACP,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/generate/live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAWnC,MAAM,UAAU,YAAY,CAAC,EAAc,EAAE,IAAsB;IAC/D,MAAM,kBAAkB,GAAG,UAAU,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE3D,UAAU,CAAC,oBAAoB,CAAC;QAC5B,eAAe,EAAE,IAAI,CAAC,yBAAyB;QAC/C,YAAY,EAAE;YACV,EAAE,IAAI,EAAE,oBAAoB,EAAE;YAC9B;gBACI,IAAI,EAAE,wBAAwB;gBAC9B,UAAU,EAAE,IAAI;aACnB;YACD;gBACI,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE,IAAI;aACnB;SACJ;KACJ,CAAC,CAAC;IACH,UAAU,CAAC,oBAAoB,CAAC;QAC5B,eAAe,EAAE,IAAI,CAAC,kBAAkB;QACxC,aAAa,EAAE,kBAAkB;KACpC,CAAC,CAAC;IACH,UAAU,CAAC,oBAAoB,CAAC;QAC5B,eAAe,EAAE,IAAI,CAAC,uBAAuB;QAC7C,YAAY,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,gBAAgB,SAAS,CAAC;QACxE,UAAU,EAAE,IAAI;KACnB,CAAC,CAAC;IACH,UAAU,CAAC,WAAW,CAAC;QACnB,IAAI,EAAE,IAAI,CAAC,iBAAiB;QAC5B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,+BAA+B,IAAI,CAAC,gBAAgB,iBAAiB;aAC9E;SACJ;QACD,UAAU,EAAE,wBAAwB,IAAI,CAAC,gBAAgB,IAAI;QAC7D,UAAU,EAAE,6BAA6B,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,gBAAgB;;kBAE9E,kBAAkB;YACxB;KACP,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=live.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.test.d.ts","sourceRoot":"","sources":["../../src/generate/live.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { generateLive } from "./live.js";
3
+ describe("generateLive", () => {
4
+ it("combines runtime value and type imports", () => {
5
+ const output = generateLive({
6
+ types: [],
7
+ objectTypes: [],
8
+ linkTypes: [],
9
+ actionTypes: [],
10
+ queryFunctionTypes: [],
11
+ }, {
12
+ ontologyImportPath: "../ontology.js",
13
+ ontologyTypesImportPath: "./types.js",
14
+ ontologyRuntimeImportPath: "@party-stack/ontology",
15
+ ontologyTypeName: "ExampleOntology",
16
+ outputFactoryName: "createExampleLiveOntology",
17
+ });
18
+ expect(output).toContain('import { createLiveOntology, type CreateLiveOntologyOpts, type LiveOntology } from "@party-stack/ontology";');
19
+ expect(output.match(/from "@party-stack\/ontology";/g)).toHaveLength(1);
20
+ });
21
+ });
22
+ //# sourceMappingURL=live.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.test.js","sourceRoot":"","sources":["../../src/generate/live.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,YAAY,CACvB;YACI,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;SACzB,EACD;YACI,kBAAkB,EACd,gBAAgB;YACpB,uBAAuB,EACnB,YAAY;YAChB,yBAAyB,EACrB,uBAAuB;YAC3B,gBAAgB,EAAE,iBAAiB;YACnC,iBAAiB,EACb,2BAA2B;SAClC,CACJ,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CACpB,6GAA6G,CAChH,CAAC;QACF,MAAM,CACF,MAAM,CAAC,KAAK,CACR,iCAAiC,CACpC,CACJ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lenses.d.ts","sourceRoot":"","sources":["../src/lenses.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,IAAI,EAAE,aAAa,EAAwB,MAAM,eAAe,CAAC;AAEzF,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAgDD,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,GACpC,aAAa,CAsCf;AAED,wBAAgB,iBAAiB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5G,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,GACX,MAAM,CAoBR;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAsB3F"}
1
+ {"version":3,"file":"lenses.d.ts","sourceRoot":"","sources":["../src/lenses.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,IAAI,EAAE,aAAa,EAAwB,MAAM,eAAe,CAAC;AAEzF,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAgDD,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,GACpC,aAAa,CAsCf;AAmBD,wBAAgB,iBAAiB,CAC7B,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAoBpC;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAsB3F"}
package/lib/lenses.js CHANGED
@@ -81,8 +81,20 @@ export function applyLensToObjectType(source, lens, options) {
81
81
  }
82
82
  return target;
83
83
  }
84
+ function cloneLensValue(value) {
85
+ if (Array.isArray(value)) {
86
+ return value.map(cloneLensValue);
87
+ }
88
+ if (value && typeof value === "object") {
89
+ const prototype = Object.getPrototypeOf(value);
90
+ if (prototype === Object.prototype || prototype === null) {
91
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, cloneLensValue(entry)]));
92
+ }
93
+ }
94
+ return value;
95
+ }
84
96
  export function applyLensToObject(source, lens) {
85
- const target = structuredClone(source);
97
+ const target = cloneLensValue(source);
86
98
  for (const operation of lens.operations) {
87
99
  switch (operation.kind) {
88
100
  case "move": {
package/lib/lenses.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lenses.js","sourceRoot":"","sources":["../src/lenses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lenses.js","sourceRoot":"","sources":["../src/lenses.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { Temporal } from "temporal-polyfill";
1
2
  import { describe, expect, it } from "vitest";
2
3
  import { o } from "./ir/index.js";
3
4
  import { applyLensToObject, applyLensToObjectType, mapTargetPathToSourceWithLens } from "./lenses.js";
@@ -58,5 +59,22 @@ describe("ontology lenses", () => {
58
59
  expect(mapTargetPathToSourceWithLens(["avatar", "id"], lens)).toEqual(["profilePicture", "id"]);
59
60
  expect(mapTargetPathToSourceWithLens(["familyName"], lens)).toEqual(["familyName"]);
60
61
  });
62
+ it("preserves Temporal values while projecting plain object fields", () => {
63
+ const updatedAt = Temporal.Instant.from("2026-08-28T00:00:00Z");
64
+ const projected = applyLensToObject({
65
+ id: "user-1",
66
+ givenName: "Ada",
67
+ updatedAt,
68
+ profilePicture: undefined,
69
+ admin: false,
70
+ }, {
71
+ operations: [
72
+ o.LensOp.select({
73
+ properties: ["id", "updatedAt"],
74
+ }),
75
+ ],
76
+ });
77
+ expect(projected.updatedAt).toBe(updatedAt);
78
+ });
61
79
  });
62
80
  //# sourceMappingURL=lenses.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lenses.test.js","sourceRoot":"","sources":["../src/lenses.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAGtG,MAAM,MAAM,GAAkB;IAC1B,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,cAAc;IAC3B,iBAAiB,EAAE,eAAe;IAClC,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE;QACR,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QACrD,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC1F,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC5F,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACjF,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACxG,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;KAC/D;CACJ,CAAC;AAEF,MAAM,IAAI,GAAS;IACf,UAAU,EAAE;QACR,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,CAAC,gBAAgB,CAAC;YACxB,EAAE,EAAE,CAAC,QAAQ,CAAC;SACjB,CAAC;QACF,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YACZ,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC;SACnE,CAAC;KACL;CACJ,CAAC;AAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAClE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,MAAM;YACnB,iBAAiB,EAAE,OAAO;YAC1B,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE;gBACR,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBACrD,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAC1F,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAC5F,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACjF,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aAC1F;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,MAAM,CACF,iBAAiB,CACb;YACI,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,UAAU;YACtB,cAAc,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;YACnC,KAAK,EAAE,IAAI;SACd,EACD,IAAI,CACP,CACJ,CAAC,OAAO,CAAC;YACN,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;SAC9B,CAAC,CAAC;QACH,MAAM,CAAC,6BAA6B,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;QAChG,MAAM,CAAC,6BAA6B,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"lenses.test.js","sourceRoot":"","sources":["../src/lenses.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAGtG,MAAM,MAAM,GAAkB;IAC1B,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,cAAc;IAC3B,iBAAiB,EAAE,eAAe;IAClC,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE;QACR,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QACrD,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC1F,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC5F,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACjF,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACxG,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;KAC/D;CACJ,CAAC;AAEF,MAAM,IAAI,GAAS;IACf,UAAU,EAAE;QACR,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,CAAC,gBAAgB,CAAC;YACxB,EAAE,EAAE,CAAC,QAAQ,CAAC;SACjB,CAAC;QACF,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YACZ,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC;SACnE,CAAC;KACL;CACJ,CAAC;AAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAClE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,MAAM;YACnB,iBAAiB,EAAE,OAAO;YAC1B,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE;gBACR,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBACrD,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAC1F,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAC5F,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACjF,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aAC1F;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,MAAM,CACF,iBAAiB,CACb;YACI,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,UAAU;YACtB,cAAc,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;YACnC,KAAK,EAAE,IAAI;SACd,EACD,IAAI,CACP,CACJ,CAAC,OAAO,CAAC;YACN,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;SAC9B,CAAC,CAAC;QACH,MAAM,CAAC,6BAA6B,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;QAChG,MAAM,CAAC,6BAA6B,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACtE,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,iBAAiB,CAC/B;YACI,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,KAAK;YAChB,SAAS;YACT,cAAc,EAAE,SAAS;YACzB,KAAK,EAAE,KAAK;SACf,EACD;YACI,UAAU,EAAE;gBACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;oBACZ,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;iBAClC,CAAC;aACL;SACJ,CACJ,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../src/live/expression.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EACR,UAAU,EACV,aAAa,EACb,UAAU,EAEV,wBAAwB,EAC3B,MAAM,gBAAgB,CAAC;AAWxB,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAC9C,EAAE,EAAE,UAAU,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,CACd,aAAa,EAAE,MAAM,KACpB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,EAAE,EAAE,cAAc,CAAC;CACtB,GAAG,OAAO,CAAC,OAAO,CAAC,CAwEnB;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IACnD,EAAE,EAAE,UAAU,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,EAAE,EAAE,cAAc,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAmDnC;AAED,wBAAgB,4BAA4B,CACxC,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,wBAAwB,GACpC,aAAa,CAaf"}
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../src/live/expression.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EACR,UAAU,EACV,aAAa,EACb,UAAU,EAEV,wBAAwB,EAC3B,MAAM,gBAAgB,CAAC;AAWxB,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAC9C,EAAE,EAAE,UAAU,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,CACd,aAAa,EAAE,MAAM,KACpB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,EAAE,EAAE,cAAc,CAAC;CACtB,GAAG,OAAO,CAAC,OAAO,CAAC,CAgFnB;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IACnD,EAAE,EAAE,UAAU,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,EAAE,EAAE,cAAc,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAmDnC;AAED,wBAAgB,4BAA4B,CACxC,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,wBAAwB,GACpC,aAAa,CAaf"}
@@ -21,6 +21,12 @@ export async function evaluateExpression(options) {
21
21
  }
22
22
  const referencedType = ir.objectTypes.find((candidate) => candidate.name ===
23
23
  parameterType.value.objectType);
24
+ // Object-reference values are represented by their primary key.
25
+ // Avoid an on-demand subset load just to read that same key.
26
+ if (path.length === 1 &&
27
+ path[0] === referencedType.primaryKey) {
28
+ return parameterValue;
29
+ }
24
30
  const referencedObject = await tx.query((query, objects) => query
25
31
  .from({
26
32
  object: objects[referencedType.name],
@@ -1 +1 @@
1
- {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/live/expression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/live/expression.ts"],"names":[],"mappings":"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"}
@@ -72,5 +72,23 @@ describe("evaluateExpression", () => {
72
72
  })).resolves.toBe("Ada");
73
73
  await users.cleanup();
74
74
  });
75
+ it("returns an object-reference primary key without querying its collection", async () => {
76
+ const query = () => {
77
+ throw new Error("The object collection should not be queried.");
78
+ };
79
+ await expect(evaluateExpression({
80
+ ir,
81
+ actionTypeName: "assign",
82
+ expression: {
83
+ kind: "valueReference",
84
+ value: {
85
+ path: ["user", "id"],
86
+ },
87
+ },
88
+ resolveParameter: () => Promise.resolve("user-1"),
89
+ context: {},
90
+ tx: { query },
91
+ })).resolves.toBe("user-1");
92
+ });
75
93
  });
76
94
  //# sourceMappingURL=expression.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"expression.test.js","sourceRoot":"","sources":["../../src/live/expression.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,0BAA0B,GAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAI7D,MAAM,EAAE,GAAe;IACnB,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;IACb,kBAAkB,EAAE,EAAE;IACtB,WAAW,EAAE;QACT;YACI,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,MAAM;YACnB,iBAAiB,EAAE,OAAO;YAC1B,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE;gBACR;oBACI,IAAI,EAAE,IAAI;oBACV,WAAW,EAAE,IAAI;oBACjB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;iBACrB;gBACD;oBACI,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,MAAM;oBACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;iBACrB;aACJ;SACJ;KACJ;IACD,WAAW,EAAE;QACT;YACI,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE;gBACR;oBACI,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,MAAM;oBACnB,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC;wBACpB,UAAU,EAAE,MAAM;qBACrB,CAAC;iBACL;aACJ;YACD,KAAK,EAAE,EAAE;SACZ;KACJ;CACJ,CAAC;AAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,KAAK,GAAG,gBAAgB,CAC1B,0BAA0B,CAGxB;YACE,EAAE,EAAE,kBAAkB;YACtB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACb,IAAI,CAAC,EAAqB;YAC9B,WAAW,EAAE;gBACT;oBACI,EAAE,EAAE,QAAQ;oBACZ,IAAI,EAAE,KAAK;iBACd;aACJ;SACJ,CAAC,CACL,CAAC;QACF,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QAEtB,MAAM,MAAM,CACR,kBAAkB,CAAC;YACf,EAAE;YACF,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE;gBACR,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE;oBACH,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;iBACzB;aACU;YACf,gBAAgB,EAAE,GAAG,EAAE,CACnB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC7B,OAAO,EAAE,EAAE;YACX,EAAE,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;SACpC,CAAC,CACL,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"expression.test.js","sourceRoot":"","sources":["../../src/live/expression.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@party-stack/ontology",
3
- "version": "0.13.0",
3
+ "version": "0.13.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -38,11 +38,11 @@
38
38
  "temporal-polyfill": "^0.3.0",
39
39
  "ts-morph": "^27.0.2",
40
40
  "zod": "^4.4.3",
41
- "@party-stack/blobs": "0.5.1",
42
- "@party-stack/connections": "0.2.1",
41
+ "@party-stack/connections": "0.2.2",
43
42
  "@party-stack/errors": "0.2.0",
44
- "@party-stack/node-runtime": "^0.2.1",
45
- "@party-stack/runtime": "0.3.1"
43
+ "@party-stack/blobs": "0.5.2",
44
+ "@party-stack/node-runtime": "^0.2.2",
45
+ "@party-stack/runtime": "0.3.2"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@bobbyfidz/universal-build-config": "^0.1.1",