@party-stack/ontology 0.10.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.
Files changed (135) hide show
  1. package/lib/OntologyPullConfig.d.ts +20 -0
  2. package/lib/OntologyPullConfig.d.ts.map +1 -0
  3. package/lib/OntologyPullConfig.js +2 -0
  4. package/lib/OntologyPullConfig.js.map +1 -0
  5. package/lib/cli/index.js +9 -6
  6. package/lib/cli/index.js.map +1 -1
  7. package/lib/cli/index.test.d.ts +2 -0
  8. package/lib/cli/index.test.d.ts.map +1 -0
  9. package/lib/cli/index.test.js +34 -0
  10. package/lib/cli/index.test.js.map +1 -0
  11. package/lib/cli/pull.d.ts +5 -5
  12. package/lib/cli/pull.d.ts.map +1 -1
  13. package/lib/cli/pull.js +23 -19
  14. package/lib/cli/pull.js.map +1 -1
  15. package/lib/cli/pull.test.d.ts +2 -0
  16. package/lib/cli/pull.test.d.ts.map +1 -0
  17. package/lib/cli/pull.test.js +125 -0
  18. package/lib/cli/pull.test.js.map +1 -0
  19. package/lib/generate/live.d.ts.map +1 -1
  20. package/lib/generate/live.js +3 -10
  21. package/lib/generate/live.js.map +1 -1
  22. package/lib/generate/ontology.d.ts.map +1 -1
  23. package/lib/generate/ontology.js +8 -0
  24. package/lib/generate/ontology.js.map +1 -1
  25. package/lib/generate/ontology.test.js +35 -0
  26. package/lib/generate/ontology.test.js.map +1 -1
  27. package/lib/generate/types.d.ts.map +1 -1
  28. package/lib/generate/types.js +17 -0
  29. package/lib/generate/types.js.map +1 -1
  30. package/lib/generate/types.test.js +1 -1
  31. package/lib/generate/types.test.js.map +1 -1
  32. package/lib/index.d.ts +3 -1
  33. package/lib/index.d.ts.map +1 -1
  34. package/lib/index.js +3 -1
  35. package/lib/index.js.map +1 -1
  36. package/lib/infer.d.ts +3 -0
  37. package/lib/infer.d.ts.map +1 -1
  38. package/lib/infer.js.map +1 -1
  39. package/lib/installation/createMetaOntologyConfiguration.d.ts +7 -0
  40. package/lib/installation/createMetaOntologyConfiguration.d.ts.map +1 -0
  41. package/lib/installation/createMetaOntologyConfiguration.js +14 -0
  42. package/lib/installation/createMetaOntologyConfiguration.js.map +1 -0
  43. package/lib/installation/createMetaOntologyConfiguration.test.d.ts +2 -0
  44. package/lib/installation/createMetaOntologyConfiguration.test.d.ts.map +1 -0
  45. package/lib/installation/createMetaOntologyConfiguration.test.js +20 -0
  46. package/lib/installation/createMetaOntologyConfiguration.test.js.map +1 -0
  47. package/lib/installation/createOntologyBackendInstallation.d.ts +3 -0
  48. package/lib/installation/createOntologyBackendInstallation.d.ts.map +1 -0
  49. package/lib/installation/createOntologyBackendInstallation.js +284 -0
  50. package/lib/installation/createOntologyBackendInstallation.js.map +1 -0
  51. package/lib/installation/createOntologyBackendInstallation.test.d.ts +2 -0
  52. package/lib/installation/createOntologyBackendInstallation.test.d.ts.map +1 -0
  53. package/lib/installation/createOntologyBackendInstallation.test.js +320 -0
  54. package/lib/installation/createOntologyBackendInstallation.test.js.map +1 -0
  55. package/lib/installation/index.d.ts +4 -0
  56. package/lib/installation/index.d.ts.map +1 -0
  57. package/lib/installation/index.js +3 -0
  58. package/lib/installation/index.js.map +1 -0
  59. package/lib/installation/types.d.ts +91 -0
  60. package/lib/installation/types.d.ts.map +1 -0
  61. package/lib/installation/types.js +2 -0
  62. package/lib/installation/types.js.map +1 -0
  63. package/lib/ir/generated/builders.d.ts +28 -0
  64. package/lib/ir/generated/builders.d.ts.map +1 -1
  65. package/lib/ir/generated/builders.js +11 -0
  66. package/lib/ir/generated/builders.js.map +1 -1
  67. package/lib/ir/generated/constants.d.ts +6 -0
  68. package/lib/ir/generated/constants.d.ts.map +1 -1
  69. package/lib/ir/generated/constants.js +2 -0
  70. package/lib/ir/generated/constants.js.map +1 -1
  71. package/lib/ir/generated/types.d.ts +21 -1
  72. package/lib/ir/generated/types.d.ts.map +1 -1
  73. package/lib/ir/schema.d.ts +123 -0
  74. package/lib/ir/schema.d.ts.map +1 -1
  75. package/lib/ir/schema.js +62 -0
  76. package/lib/ir/schema.js.map +1 -1
  77. package/lib/ir/validate.d.ts.map +1 -1
  78. package/lib/ir/validate.js +41 -10
  79. package/lib/ir/validate.js.map +1 -1
  80. package/lib/ir/validate.test.js +118 -2
  81. package/lib/ir/validate.test.js.map +1 -1
  82. package/lib/lenses.d.ts +18 -0
  83. package/lib/lenses.d.ts.map +1 -0
  84. package/lib/lenses.js +135 -0
  85. package/lib/lenses.js.map +1 -0
  86. package/lib/lenses.test.d.ts +2 -0
  87. package/lib/lenses.test.d.ts.map +1 -0
  88. package/lib/lenses.test.js +62 -0
  89. package/lib/lenses.test.js.map +1 -0
  90. package/lib/live/LiveOntology.d.ts +8 -1
  91. package/lib/live/LiveOntology.d.ts.map +1 -1
  92. package/lib/live/LiveOntology.js +56 -27
  93. package/lib/live/LiveOntology.js.map +1 -1
  94. package/lib/live/LiveOntology.test.js +51 -4
  95. package/lib/live/LiveOntology.test.js.map +1 -1
  96. package/lib/live/actions/createLiveOntologyActions.d.ts +2 -0
  97. package/lib/live/actions/createLiveOntologyActions.d.ts.map +1 -1
  98. package/lib/live/actions/createLiveOntologyActions.js +1 -0
  99. package/lib/live/actions/createLiveOntologyActions.js.map +1 -1
  100. package/lib/live/attachments/createLiveOntologyAttachments.test.js +2 -2
  101. package/lib/live/attachments/createLiveOntologyAttachments.test.js.map +1 -1
  102. package/lib/live/index.d.ts +1 -0
  103. package/lib/live/index.d.ts.map +1 -1
  104. package/lib/live/index.js +1 -0
  105. package/lib/live/index.js.map +1 -1
  106. package/lib/live/mutators/types.d.ts +6 -0
  107. package/lib/live/mutators/types.d.ts.map +1 -1
  108. package/lib/live/outbox/createOntologyOutbox.d.ts +2 -0
  109. package/lib/live/outbox/createOntologyOutbox.d.ts.map +1 -1
  110. package/lib/live/outbox/createOntologyOutbox.js +10 -0
  111. package/lib/live/outbox/createOntologyOutbox.js.map +1 -1
  112. package/lib/live/outbox/createOntologyOutbox.test.js +61 -1
  113. package/lib/live/outbox/createOntologyOutbox.test.js.map +1 -1
  114. package/lib/live/outbox/leaderExecutor.d.ts +2 -0
  115. package/lib/live/outbox/leaderExecutor.d.ts.map +1 -1
  116. package/lib/live/outbox/leaderExecutor.js +28 -2
  117. package/lib/live/outbox/leaderExecutor.js.map +1 -1
  118. package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts +4 -0
  119. package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts.map +1 -0
  120. package/lib/meta/createLocalMetaOntologyBackendAdapter.js +46 -0
  121. package/lib/meta/createLocalMetaOntologyBackendAdapter.js.map +1 -0
  122. package/lib/meta/generated/constants.d.ts +6 -0
  123. package/lib/meta/generated/constants.d.ts.map +1 -1
  124. package/lib/meta/generated/constants.js +2 -0
  125. package/lib/meta/generated/constants.js.map +1 -1
  126. package/lib/meta/generated/live.d.ts +2 -2
  127. package/lib/meta/generated/live.d.ts.map +1 -1
  128. package/lib/meta/generated/live.js.map +1 -1
  129. package/lib/meta/generated/types.d.ts +21 -1
  130. package/lib/meta/generated/types.d.ts.map +1 -1
  131. package/package.json +7 -4
  132. package/lib/OntologyConfig.d.ts +0 -14
  133. package/lib/OntologyConfig.d.ts.map +0 -1
  134. package/lib/OntologyConfig.js +0 -2
  135. package/lib/OntologyConfig.js.map +0 -1
@@ -0,0 +1,20 @@
1
+ import type { Connection } from "@party-stack/connections";
2
+ import type { RuntimeAdapterProvider } from "@party-stack/runtime";
3
+ import type { OntologyBackendInstallation } from "./installation/types.js";
4
+ import type { OntologyIR } from "./ir/generated/types.js";
5
+ export interface OntologyPullContext {
6
+ runtime: RuntimeAdapterProvider;
7
+ }
8
+ export interface OntologyPullSource<AuthenticationClient extends object = object> {
9
+ ontologyId: string;
10
+ createInstallation: (context: OntologyPullContext) => OntologyBackendInstallation<AuthenticationClient> | Promise<OntologyBackendInstallation<AuthenticationClient>>;
11
+ resolveConnection: (installation: OntologyBackendInstallation<AuthenticationClient>) => Connection<"active"> | Promise<Connection<"active">>;
12
+ transformPulledOntology?: (ontology: OntologyIR) => OntologyIR | Promise<OntologyIR>;
13
+ }
14
+ export interface OntologyPullConfig<AuthenticationClient extends object = object> {
15
+ source: OntologyPullSource<AuthenticationClient>;
16
+ objectTypeNames: string[];
17
+ actionTypeNames: string[];
18
+ queryFunctionTypeNames?: string[];
19
+ }
20
+ //# sourceMappingURL=OntologyPullConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OntologyPullConfig.d.ts","sourceRoot":"","sources":["../src/OntologyPullConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,sBAAsB,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB,CAAC,oBAAoB,SAAS,MAAM,GAAG,MAAM;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,CAChB,OAAO,EAAE,mBAAmB,KAE1B,2BAA2B,CAAC,oBAAoB,CAAC,GACjD,OAAO,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACjE,iBAAiB,EAAE,CACf,YAAY,EAAE,2BAA2B,CAAC,oBAAoB,CAAC,KAC9D,UAAU,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACxF;AAED,MAAM,WAAW,kBAAkB,CAAC,oBAAoB,SAAS,MAAM,GAAG,MAAM;IAC5E,MAAM,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IACjD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OntologyPullConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OntologyPullConfig.js","sourceRoot":"","sources":["../src/OntologyPullConfig.ts"],"names":[],"mappings":""}
package/lib/cli/index.js CHANGED
@@ -4,7 +4,7 @@ import { basename, resolve } from "node:path";
4
4
  import { pascalCase } from "change-case";
5
5
  import { Command } from "commander";
6
6
  import { generateFiles } from "./generate.js";
7
- import { ONTOLOGY_CONFIG_PATH, ONTOLOGY_IR_PATH, discoverOntologyConfigPath, loadOntologyConfig, writePulledOntology, } from "./pull.js";
7
+ import { ONTOLOGY_PULL_CONFIG_PATH, ONTOLOGY_IR_PATH, discoverOntologyPullConfigPath, loadOntologyPullConfig, writePulledOntology, } from "./pull.js";
8
8
  const GENERATED_DIR_PATH = "src/ontology/generated";
9
9
  function readPackageNamespace(cwd) {
10
10
  const packageJsonPath = resolve(cwd, "package.json");
@@ -14,7 +14,7 @@ function readPackageNamespace(cwd) {
14
14
  try {
15
15
  const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
16
16
  const packageName = typeof packageJson.name === "string"
17
- ? packageJson.name.split("/").pop() ?? packageJson.name
17
+ ? (packageJson.name.split("/").pop() ?? packageJson.name)
18
18
  : basename(cwd);
19
19
  return pascalCase(packageName);
20
20
  }
@@ -43,14 +43,17 @@ async function main() {
43
43
  jsExtensions: options.jsExtensions,
44
44
  });
45
45
  });
46
- const configPath = discoverOntologyConfigPath(cwd);
46
+ const configPath = discoverOntologyPullConfigPath(cwd);
47
47
  if (configPath) {
48
- const config = await loadOntologyConfig(configPath);
49
48
  program
50
49
  .command("pull")
51
- .description(`Pull ontology metadata using ${ONTOLOGY_CONFIG_PATH}`)
50
+ .description(`Pull ontology metadata using ${ONTOLOGY_PULL_CONFIG_PATH}`)
52
51
  .action(async () => {
53
- await writePulledOntology(config, ontologyPath);
52
+ const config = await loadOntologyPullConfig(configPath);
53
+ const { createNodeRuntime } = await import("@party-stack/node-runtime");
54
+ await writePulledOntology(config, ontologyPath, {
55
+ runtime: createNodeRuntime,
56
+ });
54
57
  console.log(`Generated ontology written to: ${ontologyPath}`);
55
58
  });
56
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/cli/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { execFile } from "node:child_process";
2
+ import { mkdtemp, mkdir, rm, writeFile } from "node:fs/promises";
3
+ import { tmpdir } from "node:os";
4
+ import { dirname, resolve } from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ import { promisify } from "node:util";
7
+ import { afterEach, describe, expect, it } from "vitest";
8
+ const execFileAsync = promisify(execFile);
9
+ const directories = [];
10
+ afterEach(async () => {
11
+ await Promise.all(directories.splice(0).map((directory) => rm(directory, {
12
+ recursive: true,
13
+ force: true,
14
+ })));
15
+ });
16
+ describe("ontology CLI", () => {
17
+ it("does not evaluate pull configuration for help commands", async () => {
18
+ const cwd = await mkdtemp(resolve(tmpdir(), "ontology-cli-"));
19
+ directories.push(cwd);
20
+ const configPath = resolve(cwd, "src/ontology/config.ts");
21
+ await mkdir(dirname(configPath), {
22
+ recursive: true,
23
+ });
24
+ await writeFile(configPath, `throw new Error("pull config evaluated");`);
25
+ const cliPath = fileURLToPath(new URL("../../lib/cli/index.js", import.meta.url));
26
+ const rootHelp = await execFileAsync(process.execPath, [cliPath, "--help"], { cwd });
27
+ expect(rootHelp.stdout).toContain("Generate and pull ontology files");
28
+ const generateHelp = await execFileAsync(process.execPath, [cliPath, "generate", "--help"], { cwd });
29
+ expect(generateHelp.stdout).toContain("Generate ontology types");
30
+ const pullHelp = await execFileAsync(process.execPath, [cliPath, "pull", "--help"], { cwd });
31
+ expect(pullHelp.stdout).toContain("Pull ontology metadata");
32
+ }, 20_000);
33
+ });
34
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/cli/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEzD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC1C,MAAM,WAAW,GAAa,EAAE,CAAC;AAEjC,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,CAAC,GAAG,CACb,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACpC,EAAE,CAAC,SAAS,EAAE;QACV,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;KACd,CAAC,CACL,CACJ,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;QAC9D,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QAC1D,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7B,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,UAAU,EAAE,2CAA2C,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAElF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACrF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACrG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7F,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAChE,CAAC,EAAE,MAAM,CAAC,CAAC;AACf,CAAC,CAAC,CAAC"}
package/lib/cli/pull.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import type { OntologyConfig } from "../OntologyConfig.js";
2
- export declare const ONTOLOGY_CONFIG_PATH = "src/ontology/config.ts";
1
+ import type { OntologyPullContext, OntologyPullConfig } from "../OntologyPullConfig.js";
2
+ export declare const ONTOLOGY_PULL_CONFIG_PATH = "src/ontology/config.ts";
3
3
  export declare const ONTOLOGY_IR_PATH = "src/ontology/ontology.ts";
4
- export declare function discoverOntologyConfigPath(cwd: string): string | null;
5
- export declare function loadOntologyConfig(configPath: string): Promise<OntologyConfig>;
6
- export declare function writePulledOntology(config: OntologyConfig, outPath: string, ontologyImportPath?: string): Promise<void>;
4
+ export declare function discoverOntologyPullConfigPath(cwd: string): string | null;
5
+ export declare function loadOntologyPullConfig(configPath: string): Promise<OntologyPullConfig>;
6
+ export declare function writePulledOntology(config: OntologyPullConfig, outPath: string, context: OntologyPullContext, ontologyImportPath?: string): Promise<void>;
7
7
  //# sourceMappingURL=pull.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/cli/pull.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAyB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAIlF,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAC7D,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AA0B3D,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGrE;AAED,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAYpF;AAED,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,kBAAkB,SAA0B,GAC7C,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/cli/pull.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAsB,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI5G,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAClE,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AA+B3D,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzE;AAED,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAY5F;AAED,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,mBAAmB,EAC5B,kBAAkB,SAA0B,GAC7C,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
package/lib/cli/pull.js CHANGED
@@ -4,20 +4,22 @@ import nextEnv from "@next/env";
4
4
  import { createJiti } from "jiti";
5
5
  import { format, resolveConfig } from "prettier";
6
6
  import { generateOntology } from "../generate/ontology.js";
7
- import { createMetaLiveOntology } from "../meta/generated/live.js";
8
7
  import { pull } from "../meta/pull.js";
9
8
  const { loadEnvConfig } = nextEnv;
10
- export const ONTOLOGY_CONFIG_PATH = "src/ontology/config.ts";
9
+ export const ONTOLOGY_PULL_CONFIG_PATH = "src/ontology/config.ts";
11
10
  export const ONTOLOGY_IR_PATH = "src/ontology/ontology.ts";
12
11
  function isRecord(value) {
13
12
  return typeof value === "object" && value !== null;
14
13
  }
15
- function isOntologyConfigAdapter(value) {
16
- return isRecord(value) && typeof value.createAdapter === "function";
14
+ function isOntologyPullSource(value) {
15
+ return (isRecord(value) &&
16
+ typeof value.ontologyId === "string" &&
17
+ typeof value.createInstallation === "function" &&
18
+ typeof value.resolveConnection === "function");
17
19
  }
18
- function isOntologyConfig(value) {
20
+ function isOntologyPullConfig(value) {
19
21
  return (isRecord(value) &&
20
- isOntologyConfigAdapter(value.adapter) &&
22
+ isOntologyPullSource(value.source) &&
21
23
  Array.isArray(value.objectTypeNames) &&
22
24
  value.objectTypeNames.every((entry) => typeof entry === "string") &&
23
25
  Array.isArray(value.actionTypeNames) &&
@@ -26,33 +28,35 @@ function isOntologyConfig(value) {
26
28
  (Array.isArray(value.queryFunctionTypeNames) &&
27
29
  value.queryFunctionTypeNames.every((entry) => typeof entry === "string"))));
28
30
  }
29
- export function discoverOntologyConfigPath(cwd) {
30
- const configPath = resolve(cwd, ONTOLOGY_CONFIG_PATH);
31
+ export function discoverOntologyPullConfigPath(cwd) {
32
+ const configPath = resolve(cwd, ONTOLOGY_PULL_CONFIG_PATH);
31
33
  return existsSync(configPath) ? configPath : null;
32
34
  }
33
- export async function loadOntologyConfig(configPath) {
35
+ export async function loadOntologyPullConfig(configPath) {
34
36
  loadEnvConfig(resolve(dirname(configPath), "../.."));
35
37
  const jiti = createJiti(import.meta.url);
36
38
  const configModule = await jiti.import(configPath);
37
39
  const config = configModule.default;
38
- if (!isOntologyConfig(config)) {
39
- throw new Error(`Config file "${configPath}" must default export an OntologyConfig value.`);
40
+ if (!isOntologyPullConfig(config)) {
41
+ throw new Error(`Config file "${configPath}" must default export an OntologyPullConfig value.`);
40
42
  }
41
43
  return config;
42
44
  }
43
- export async function writePulledOntology(config, outPath, ontologyImportPath = "@party-stack/ontology") {
44
- const backendAdapter = await config.adapter.createAdapter(config.opts);
45
- const liveOntology = await createMetaLiveOntology({
46
- backend: () => backendAdapter,
47
- });
45
+ export async function writePulledOntology(config, outPath, context, ontologyImportPath = "@party-stack/ontology") {
46
+ const installation = await config.source.createInstallation(context);
48
47
  try {
48
+ const connection = await config.source.resolveConnection(installation);
49
+ const liveOntology = await installation.openMetaOntology({
50
+ userId: connection.userId,
51
+ ontologyId: config.source.ontologyId,
52
+ });
49
53
  const pulledOntology = await pull(liveOntology, {
50
54
  objectTypeNames: config.objectTypeNames,
51
55
  actionTypeNames: config.actionTypeNames,
52
56
  queryFunctionTypeNames: config.queryFunctionTypeNames ?? [],
53
57
  });
54
- const ontology = config.adapter.transformOntology
55
- ? await config.adapter.transformOntology(pulledOntology, config.opts)
58
+ const ontology = config.source.transformPulledOntology
59
+ ? await config.source.transformPulledOntology(pulledOntology)
56
60
  : pulledOntology;
57
61
  const output = generateOntology(ontology, { ontologyImportPath });
58
62
  mkdirSync(dirname(outPath), { recursive: true });
@@ -64,7 +68,7 @@ export async function writePulledOntology(config, outPath, ontologyImportPath =
64
68
  writeFileSync(outPath, formatted, "utf-8");
65
69
  }
66
70
  finally {
67
- await liveOntology.cleanup();
71
+ await installation.cleanup();
68
72
  }
69
73
  }
70
74
  //# sourceMappingURL=pull.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/cli/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/cli/pull.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pull.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.test.d.ts","sourceRoot":"","sources":["../../src/cli/pull.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,125 @@
1
+ import { mkdtemp, rm } from "node:fs/promises";
2
+ import { tmpdir } from "node:os";
3
+ import { join } from "node:path";
4
+ import { afterEach, describe, expect, it, vi } from "vitest";
5
+ import { writePulledOntology } from "./pull.js";
6
+ const mocks = vi.hoisted(() => ({
7
+ pull: vi.fn(),
8
+ generateOntology: vi.fn(() => "export default {};"),
9
+ }));
10
+ vi.mock("../meta/pull.js", () => ({
11
+ pull: mocks.pull,
12
+ }));
13
+ vi.mock("../generate/ontology.js", () => ({
14
+ generateOntology: mocks.generateOntology,
15
+ }));
16
+ const directories = [];
17
+ const emptyOntology = {
18
+ types: [],
19
+ objectTypes: [],
20
+ linkTypes: [],
21
+ actionTypes: [],
22
+ queryFunctionTypes: [],
23
+ };
24
+ afterEach(async () => {
25
+ vi.clearAllMocks();
26
+ await Promise.all(directories.splice(0).map((directory) => rm(directory, {
27
+ recursive: true,
28
+ force: true,
29
+ })));
30
+ });
31
+ describe("writePulledOntology", () => {
32
+ it("opens metadata through the source installation", async () => {
33
+ const directory = await mkdtemp(join(tmpdir(), "ontology-pull-"));
34
+ directories.push(directory);
35
+ const runtime = vi.fn();
36
+ const liveOntology = { id: "meta" };
37
+ const cleanup = vi.fn(() => Promise.resolve());
38
+ const openMetaOntology = vi.fn(() => Promise.resolve(liveOntology));
39
+ const installation = {
40
+ openMetaOntology,
41
+ cleanup,
42
+ };
43
+ const createInstallation = vi.fn(() => Promise.resolve(installation));
44
+ const resolveConnection = vi.fn(() => Promise.resolve({
45
+ userId: "user-1",
46
+ state: { status: "active" },
47
+ }));
48
+ const config = {
49
+ source: {
50
+ ontologyId: "ri.ontology.main",
51
+ createInstallation,
52
+ resolveConnection,
53
+ },
54
+ objectTypeNames: [],
55
+ actionTypeNames: [],
56
+ };
57
+ mocks.pull.mockResolvedValue(emptyOntology);
58
+ await writePulledOntology(config, join(directory, "ontology.ts"), {
59
+ runtime,
60
+ });
61
+ expect(createInstallation).toHaveBeenCalledWith({ runtime });
62
+ expect(resolveConnection).toHaveBeenCalledWith(installation);
63
+ expect(openMetaOntology).toHaveBeenCalledWith({
64
+ userId: "user-1",
65
+ ontologyId: "ri.ontology.main",
66
+ });
67
+ expect(mocks.pull).toHaveBeenCalledWith(liveOntology, expect.any(Object));
68
+ expect(cleanup).toHaveBeenCalledOnce();
69
+ });
70
+ it("cleans up the installation when transformation fails", async () => {
71
+ const directory = await mkdtemp(join(tmpdir(), "ontology-pull-"));
72
+ directories.push(directory);
73
+ const cleanup = vi.fn(() => Promise.resolve());
74
+ const installation = {
75
+ openMetaOntology: () => Promise.resolve({}),
76
+ cleanup,
77
+ };
78
+ const config = {
79
+ source: {
80
+ ontologyId: "ri.ontology.main",
81
+ createInstallation: () => Promise.resolve(installation),
82
+ resolveConnection: () => Promise.resolve({
83
+ userId: "user-1",
84
+ state: { status: "active" },
85
+ }),
86
+ transformPulledOntology: () => {
87
+ throw new Error("transform failed");
88
+ },
89
+ },
90
+ objectTypeNames: [],
91
+ actionTypeNames: [],
92
+ };
93
+ mocks.pull.mockResolvedValue(emptyOntology);
94
+ await expect(writePulledOntology(config, join(directory, "ontology.ts"), {
95
+ runtime: vi.fn(),
96
+ })).rejects.toThrow("transform failed");
97
+ expect(cleanup).toHaveBeenCalledOnce();
98
+ });
99
+ it("cleans up the installation when opening metadata fails", async () => {
100
+ const directory = await mkdtemp(join(tmpdir(), "ontology-pull-"));
101
+ directories.push(directory);
102
+ const cleanup = vi.fn(() => Promise.resolve());
103
+ const installation = {
104
+ openMetaOntology: () => Promise.reject(new Error("open failed")),
105
+ cleanup,
106
+ };
107
+ const config = {
108
+ source: {
109
+ ontologyId: "ri.ontology.main",
110
+ createInstallation: () => Promise.resolve(installation),
111
+ resolveConnection: () => Promise.resolve({
112
+ userId: "user-1",
113
+ state: { status: "active" },
114
+ }),
115
+ },
116
+ objectTypeNames: [],
117
+ actionTypeNames: [],
118
+ };
119
+ await expect(writePulledOntology(config, join(directory, "ontology.ts"), {
120
+ runtime: vi.fn(),
121
+ })).rejects.toThrow("open failed");
122
+ expect(cleanup).toHaveBeenCalledOnce();
123
+ });
124
+ });
125
+ //# sourceMappingURL=pull.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.test.js","sourceRoot":"","sources":["../../src/cli/pull.test.ts"],"names":[],"mappings":"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"}
@@ -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,CAiD3E"}
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"}
@@ -13,7 +13,7 @@ export function generateLive(ir, opts) {
13
13
  });
14
14
  sourceFile.addImportDeclaration({
15
15
  moduleSpecifier: opts.ontologyTypesImportPath,
16
- namedImports: [opts.ontologyTypeName],
16
+ namedImports: [opts.ontologyTypeName, `${opts.ontologyTypeName}Context`],
17
17
  isTypeOnly: true,
18
18
  });
19
19
  sourceFile.addImportDeclaration({
@@ -25,21 +25,14 @@ export function generateLive(ir, opts) {
25
25
  name: opts.outputFactoryName,
26
26
  isExported: true,
27
27
  isAsync: true,
28
- typeParameters: [
29
- {
30
- name: "Context",
31
- constraint: "Record<string, unknown>",
32
- default: "Record<string, unknown>",
33
- },
34
- ],
35
28
  parameters: [
36
29
  {
37
30
  name: "opts",
38
- type: 'Omit<CreateLiveOntologyOpts<Context>, "ir">',
31
+ type: `Omit<CreateLiveOntologyOpts<${opts.ontologyTypeName}Context>, "ir">`,
39
32
  },
40
33
  ],
41
34
  returnType: `Promise<LiveOntology<${opts.ontologyTypeName}>>`,
42
- statements: `return createLiveOntology<${opts.ontologyTypeName}, Context>({
35
+ statements: `return createLiveOntology<${opts.ontologyTypeName}, ${opts.ontologyTypeName}Context>({
43
36
  ...opts,
44
37
  ir: ${ontologyImportName},
45
38
  });`,
@@ -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,CAAC;QACrC,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,cAAc,EAAE;YACZ;gBACI,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,yBAAyB;gBACrC,OAAO,EAAE,yBAAyB;aACrC;SACJ;QACD,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,6CAA6C;aACtD;SACJ;QACD,UAAU,EAAE,wBAAwB,IAAI,CAAC,gBAAgB,IAAI;QAC7D,UAAU,EAAE,6BAA6B,IAAI,CAAC,gBAAgB;;kBAEpD,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,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 +1 @@
1
- {"version":3,"file":"ontology.d.ts","sourceRoot":"","sources":["../../src/generate/ontology.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAeR,UAAU,EACb,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,oBAAoB;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAgZD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,GAAE,oBAAyB,GAAG,MAAM,CA4ExF"}
1
+ {"version":3,"file":"ontology.d.ts","sourceRoot":"","sources":["../../src/generate/ontology.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAeR,UAAU,EACb,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,oBAAoB;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAgZD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,GAAE,oBAAyB,GAAG,MAAM,CAoFxF"}
@@ -353,6 +353,14 @@ export function generateOntology(ir, opts = {}) {
353
353
  name: "queryFunctionTypes",
354
354
  value: withWriter((arrayWriter) => writeArray(arrayWriter, ir.queryFunctionTypes.map((queryFunctionType) => renderQueryFunctionType(queryFunctionType)))),
355
355
  },
356
+ ...(ir.contextType
357
+ ? [
358
+ {
359
+ name: "contextType",
360
+ value: renderType(ir.contextType),
361
+ },
362
+ ]
363
+ : []),
356
364
  ]);
357
365
  writer.write(");");
358
366
  writer.newLine();
@@ -1 +1 @@
1
- {"version":3,"file":"ontology.js","sourceRoot":"","sources":["../../src/generate/ontology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ontology.js","sourceRoot":"","sources":["../../src/generate/ontology.ts"],"names":[],"mappings":"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"}
@@ -24,5 +24,40 @@ describe("generateOntology", () => {
24
24
  };
25
25
  expect(generateOntology(ontology)).toContain('title: "name"');
26
26
  });
27
+ it("preserves the ontology context type", () => {
28
+ const ontology = {
29
+ types: [],
30
+ objectTypes: [
31
+ {
32
+ name: "Membership",
33
+ displayName: "Membership",
34
+ pluralDisplayName: "Memberships",
35
+ primaryKey: "id",
36
+ properties: [
37
+ { name: "id", displayName: "ID", type: o.string({}) },
38
+ ],
39
+ },
40
+ ],
41
+ linkTypes: [],
42
+ actionTypes: [],
43
+ queryFunctionTypes: [],
44
+ contextType: o.struct({
45
+ fields: [
46
+ {
47
+ name: "user",
48
+ displayName: "User",
49
+ type: o.optional({
50
+ type: o.objectReference({
51
+ objectType: "Membership",
52
+ }),
53
+ }),
54
+ },
55
+ ],
56
+ }),
57
+ };
58
+ const output = generateOntology(ontology);
59
+ expect(output).toContain("contextType: o.struct");
60
+ expect(output).toContain('objectType: "Membership"');
61
+ });
27
62
  });
28
63
  //# sourceMappingURL=ontology.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ontology.test.js","sourceRoot":"","sources":["../../src/generate/ontology.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,MAAM,QAAQ,GAAe;YACzB,KAAK,EAAE,EAAE;YACT,WAAW,EAAE;gBACT;oBACI,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,UAAU;oBACvB,iBAAiB,EAAE,WAAW;oBAC9B,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,MAAM;oBACb,UAAU,EAAE;wBACR,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;wBACrD,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;qBAC5D;iBACJ;aACJ;YACD,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;SACzB,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ontology.test.js","sourceRoot":"","sources":["../../src/generate/ontology.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,MAAM,QAAQ,GAAe;YACzB,KAAK,EAAE,EAAE;YACT,WAAW,EAAE;gBACT;oBACI,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,UAAU;oBACvB,iBAAiB,EAAE,WAAW;oBAC9B,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,MAAM;oBACb,UAAU,EAAE;wBACR,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;wBACrD,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;qBAC5D;iBACJ;aACJ;YACD,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;SACzB,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC3C,MAAM,QAAQ,GAAe;YACzB,KAAK,EAAE,EAAE;YACT,WAAW,EAAE;gBACT;oBACI,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,YAAY;oBACzB,iBAAiB,EAAE,aAAa;oBAChC,UAAU,EAAE,IAAI;oBAChB,UAAU,EAAE;wBACR,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;qBACxD;iBACJ;aACJ;YACD,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;YACtB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBAClB,MAAM,EAAE;oBACJ;wBACI,IAAI,EAAE,MAAM;wBACZ,WAAW,EAAE,MAAM;wBACnB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC;4BACb,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC;gCACpB,UAAU,EAAE,YAAY;6BAC3B,CAAC;yBACL,CAAC;qBACL;iBACJ;aACJ,CAAC;SACL,CAAC;QAEF,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generate/types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,UAAU,EACV,aAAa,EAEb,OAAO,EAEV,MAAM,0BAA0B,CAAC;AAsBlC,MAAM,WAAW,2BAA2B;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACpD;AAED,UAAU,mBAAmB;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACpD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,GAAE,mBAAwB,GAAG,MAAM,CAoFvF;AAqDD,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EACjC,IAAI,GAAE,2BAAgC,GACvC,MAAM,CAwBR;AAED,MAAM,WAAW,iBAAiB;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAiID,wBAAgB,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,GAAE,iBAAsB,GAAG,MAAM,CAYlF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generate/types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,UAAU,EACV,aAAa,EAEb,OAAO,EAEV,MAAM,0BAA0B,CAAC;AAsBlC,MAAM,WAAW,2BAA2B;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACpD;AAED,UAAU,mBAAmB;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACpD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,GAAE,mBAAwB,GAAG,MAAM,CAoFvF;AAqDD,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EACjC,IAAI,GAAE,2BAAgC,GACvC,MAAM,CAwBR;AAED,MAAM,WAAW,iBAAiB;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAwJD,wBAAgB,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,GAAE,iBAAsB,GAAG,MAAM,CAalF"}