@osdk/generator 0.0.10 → 0.0.12

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.
@@ -3,21 +3,21 @@ import j__default from 'path';
3
3
  import { format } from 'prettier';
4
4
  import ce from 'prettier-plugin-organize-imports';
5
5
 
6
- function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.apiName)}))}}function ie(e){return e.replace(/-./g,r=>r[1].toUpperCase())}function w(e){let r=new Set,o=new Set;for(let t of e.operations)switch(t.type){case"createObject":r.add(t.objectTypeApiName);break;case"modifyObject":o.add(t.objectTypeApiName);break;}return {addedObjects:r,modifiedObjects:o}}function c(e){return format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[ce],tabWidth:2,printWidth:120})}async function Q(e,r,o){let t=new Set,a=[];for(let n of e.actionTypes){let s=Object.entries(n.parameters),y=w(n),m=Array.from(y.addedObjects),l=Array.from(y.modifiedObjects);m.forEach(t.add,t),l.forEach(t.add,t);let i=["/**"];n.description&&i.push(`* ${n.description}`);let p="";if(s.length>0){p=`params: {
6
+ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.apiName)}))}}function ie(e){return e.replace(/-./g,r=>r[1].toUpperCase())}function $(e){let r=new Set,o=new Set;for(let t of e.operations)switch(t.type){case"createObject":r.add(t.objectTypeApiName);break;case"modifyObject":o.add(t.objectTypeApiName);break;}return {addedObjects:r,modifiedObjects:o}}function c(e){return format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[ce],tabWidth:2,printWidth:120})}async function Q(e,r,o){let t=new Set,n=[];for(let a of e.actionTypes){let s=Object.entries(a.parameters),y=$(a),m=Array.from(y.addedObjects),l=Array.from(y.modifiedObjects);m.forEach(t.add,t),l.forEach(t.add,t);let i=["/**"];a.description&&i.push(`* ${a.description}`);let p="";if(s.length>0){p=`params: {
7
7
  `;for(let[f,b]of s){p+=`"${f}"`,p+=b.required?": ":"?: ";let E=P(b.dataType,t);p+=`${E};
8
- `,i.push(`* @param {${E}} params.${f}`);}p+="}, ";}i.push("*/"),a.push(`
8
+ `,i.push(`* @param {${E}} params.${f}`);}p+="}, ";}i.push("*/"),n.push(`
9
9
  ${i.join(`
10
10
  `)}
11
- ${n.apiName}<O extends ActionExecutionOptions>(${p}options?: O):
11
+ ${a.apiName}<O extends ActionExecutionOptions>(${p}options?: O):
12
12
  Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${l.length>0?l.join(" | "):"void"}>>, ActionError>>;`);}await r.mkdir(o,{recursive:!0}),await r.writeFile(j__default.join(o,"Actions.ts"),await c(`
13
13
  import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
14
- ${Array.from(t).map(n=>`import type { ${n} } from "../objects/${n}";`).join(`
14
+ ${Array.from(t).map(a=>`import type { ${a} } from "../objects/${a}";`).join(`
15
15
  `)}
16
16
  export interface Actions {
17
- ${a.join(`
17
+ ${n.join(`
18
18
  `)}
19
19
  }
20
- `));}function P(e,r){switch(e.type){case"objectSet":{let t=e.objectTypeApiName;return r.add(t),`ObjectSet<${t}>`}case"object":{let t=e.objectTypeApiName;return r.add(t),`${t}`}case"array":return `Array<${P(e.subType,r)}>`;case"string":return "string";case"boolean":return "boolean";case"attachment":return "Attachment";case"date":return "LocalDate";case"double":case"integer":case"long":return "number";case"timestamp":return "Timestamp";default:throw new Error(`Unsupported action parameter type: ${e}`)}}async function v(e,r){await e.writeFile(j__default.join(r,"FoundryClient.ts"),await c(`
20
+ `));}function P(e,r){switch(e.type){case"objectSet":{let t=e.objectTypeApiName;return r.add(t),`ObjectSet<${t}>`}case"object":{let t=e.objectTypeApiName;return r.add(t),`${t} | ${t}["__primaryKey"]`}case"array":return `Array<${P(e.subType,r)}>`;case"string":return "string";case"boolean":return "boolean";case"attachment":return "Attachment";case"date":return "LocalDate";case"double":case"integer":case"long":return "number";case"timestamp":return "Timestamp";default:throw new Error(`Unsupported action parameter type: ${e}`)}}async function v(e,r){await e.writeFile(j__default.join(r,"FoundryClient.ts"),await c(`
21
21
  import { BaseFoundryClient } from "@osdk/legacy-client";
22
22
  import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
23
23
  import { Ontology } from "./Ontology";
@@ -30,7 +30,7 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
30
30
  get ontology(): Ontology {
31
31
  return super.ontology;
32
32
  }
33
- }`));}async function C(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j.join(r,"index.ts"),await c(`
33
+ }`));}async function I(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j.join(r,"index.ts"),await c(`
34
34
  export {
35
35
  ActionExecutionMode,
36
36
  ActionResponse,
@@ -99,7 +99,7 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
99
99
  } from '@osdk/legacy-client';
100
100
  export { Ontology } from "./Ontology";
101
101
  export { FoundryClient } from "./FoundryClient";
102
- `));}function $(e,r){return e.map(o=>{let t=r?.get(o);return t?`${o}: ${t}`:o}).join(",")}function h(e,r){return e.map(o=>`${o}: typeof ${r?.get(o)??o}`).join(",")}async function I(e,r,o){let t=Object.keys(e.objectTypes),a=e.actionTypes.map(i=>i.apiName),n=e.queryTypes.map(i=>i.apiName),s=new Map,y=new Map,m=new Set(t);for(let i of a)m.has(i)?s.set(i,`${i}Action`):m.add(i);for(let i of n)m.has(i)&&y.set(i,`${i}Query`);let l=(i,p)=>{let f=p.get(i);return f?`${i} as ${f}`:i};await r.writeFile(j__default.join(o,"Ontology.ts"),await c(`
102
+ `));}function w(e,r){return e.map(o=>{let t=r?.get(o);return t?`${o}: ${t}`:o}).join(",")}function h(e,r){return e.map(o=>`${o}: typeof ${r?.get(o)??o}`).join(",")}async function L(e,r,o){let t=Object.keys(e.objectTypes),n=e.actionTypes.map(i=>i.apiName),a=e.queryTypes.map(i=>i.apiName),s=new Map,y=new Map,m=new Set(t);for(let i of n)m.has(i)?s.set(i,`${i}Action`):m.add(i);for(let i of a)m.has(i)&&y.set(i,`${i}Query`);let l=(i,p)=>{let f=p.get(i);return f?`${i} as ${f}`:i};await r.writeFile(j__default.join(o,"Ontology.ts"),await c(`
103
103
  import type { OntologyDefinition } from "@osdk/api";
104
104
  import type { Ontology as ClientOntology } from "@osdk/legacy-client";
105
105
  import type { Objects } from "./ontology/objects/Objects";
@@ -107,9 +107,9 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
107
107
  import type { Queries } from "./ontology/queries/Queries";
108
108
  ${t.map(i=>`import {${i}} from "./ontology/objects/${i}";`).join(`
109
109
  `)}
110
- ${a.map(i=>`import {${l(i,s)}} from "./ontology/actions/${i}";`).join(`
110
+ ${n.map(i=>`import {${l(i,s)}} from "./ontology/actions/${i}";`).join(`
111
111
  `)}
112
- ${n.map(i=>`import {${l(i,y)}} from "./ontology/queries/${i}";`).join(`
112
+ ${a.map(i=>`import {${l(i,y)}} from "./ontology/queries/${i}";`).join(`
113
113
  `)}
114
114
 
115
115
  export const Ontology : {
@@ -122,10 +122,10 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
122
122
  ${h(t)}
123
123
  },
124
124
  actions: {
125
- ${h(a,s)}
125
+ ${h(n,s)}
126
126
  },
127
127
  queries: {
128
- ${h(n,y)}
128
+ ${h(a,y)}
129
129
  },
130
130
  } = {
131
131
  metadata: {
@@ -134,13 +134,13 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
134
134
  userAgent: "foundry-typescript-osdk/0.0.1" as const,
135
135
  },
136
136
  objects: {
137
- ${$(t)}
137
+ ${w(t)}
138
138
  },
139
139
  actions: {
140
- ${$(a,s)}
140
+ ${w(n,s)}
141
141
  },
142
142
  queries: {
143
- ${$(n,y)}
143
+ ${w(a,y)}
144
144
  }
145
145
  } satisfies OntologyDefinition<${t.map(i=>`"${i}"`).join("|")}, ${e.actionTypes.map(i=>`"${i.apiName}"`).join("|")}, ${e.queryTypes.map(i=>`"${i.apiName}"`).join("|")}>;
146
146
 
@@ -148,7 +148,7 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
148
148
  objects: Objects;
149
149
  actions: Actions;
150
150
  queries: Queries;
151
- }`));}async function L(e,r,o){await r.mkdir(o,{recursive:!0}),await r.writeFile(j__default.join(o,"Objects.ts"),await c(`
151
+ }`));}async function M(e,r,o){await r.mkdir(o,{recursive:!0}),await r.writeFile(j__default.join(o,"Objects.ts"),await c(`
152
152
  import { BaseObjectSet } from "@osdk/legacy-client";
153
153
  ${Array.from(Object.keys(e.objectTypes)).map(t=>`import type { ${t} } from "./${t}";`).join(`
154
154
  `)}
@@ -157,23 +157,23 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
157
157
  ${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
158
158
  `)}
159
159
  }
160
- ;`));}async function M(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j.join(r,"index.ts"),await c(`
160
+ ;`));}async function R(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j.join(r,"index.ts"),await c(`
161
161
  export type { ObjectSet } from "@osdk/legacy-client";
162
- `));}function q(e){let r=w(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([o,t])=>[o,ue(t)])),displayName:e.displayName,description:e.description,modifiedEntities:fe(r.addedObjects,r.modifiedObjects)}}function ue(e){switch(e.dataType.type){case"string":case"boolean":case"object":case"attachment":case"date":case"double":case"integer":case"long":case"objectSet":case"timestamp":return {multiplicity:!1,type:A(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:A(e.dataType),nullable:!e.required,description:e.description}}}function A(e){switch(e.type){case"string":case"boolean":case"attachment":case"double":case"integer":case"long":case"timestamp":return e.type;case"date":return "datetime";case"objectSet":return {type:"objectSet",objectSet:e.objectTypeApiName};case"object":return {type:"object",object:e.objectTypeApiName};case"array":return A(e.subType)}}function fe(e,r){let o={};for(let t of e)o[t]={created:!0,modified:!1};for(let t of r)o[t]?o[t].modified=!0:o[t]={created:!1,modified:!0};return o}async function K(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let a=new Set(de(t));await r.writeFile(j__default.join(o,`${t.apiName}.ts`),await c(`
162
+ `));}function _(e){let r=$(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([o,t])=>[o,ue(t)])),displayName:e.displayName,description:e.description,modifiedEntities:fe(r.addedObjects,r.modifiedObjects)}}function ue(e){switch(e.dataType.type){case"string":case"boolean":case"object":case"attachment":case"date":case"double":case"integer":case"long":case"objectSet":case"timestamp":return {multiplicity:!1,type:A(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:A(e.dataType),nullable:!e.required,description:e.description}}}function A(e){switch(e.type){case"string":case"boolean":case"attachment":case"double":case"integer":case"long":case"timestamp":return e.type;case"date":return "datetime";case"objectSet":return {type:"objectSet",objectSet:e.objectTypeApiName};case"object":return {type:"object",object:e.objectTypeApiName};case"array":return A(e.subType)}}function fe(e,r){let o={};for(let t of e)o[t]={created:!0,modified:!1};for(let t of r)o[t]?o[t].modified=!0:o[t]={created:!1,modified:!0};return o}async function K(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let n=new Set(de(t));await r.writeFile(j__default.join(o,`${t.apiName}.ts`),await c(`
163
163
  import { ActionDefinition } from "@osdk/api";
164
164
 
165
- export const ${t.apiName} = ${JSON.stringify(q(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${a.size>0?[...a].map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(j__default.join(o,"index.ts"),await c(`
165
+ export const ${t.apiName} = ${JSON.stringify(_(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${n.size>0?[...n].map(a=>`"${a}"`).join("|"):"never"}>;`));})),await r.writeFile(j__default.join(o,"index.ts"),await c(`
166
166
  ${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
167
167
  `)}
168
- `));}function de(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let a=U(t);return a?[a]:[]});return [...e.operations.flatMap(t=>{switch(t.type){case"createObject":return [t.objectTypeApiName];case"modifyObject":return [t.objectTypeApiName];case"deleteObject":case"createLink":case"deleteLink":return []}}),...r]}function U(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return U(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function G(e){switch(e.dataType.type){case"integer":case"double":case"string":case"boolean":case"attachment":case"byte":case"decimal":case"float":case"geopoint":case"geoshape":case"long":case"short":return e.dataType.type;case"date":return "datetime";case"timestamp":return "timestamp";case"timeseries":case"array":throw new Error(`Type not supported for primaryKey: ${e.dataType.type}`);default:e.dataType;throw new Error(`Unknown type encountered for primaryKey: ${e.dataType}`)}}function z(e){switch(e.dataType.type){case"integer":case"string":case"byte":case"decimal":case"double":case"float":case"long":case"short":case"boolean":case"date":case"attachment":case"geopoint":case"geoshape":case"timestamp":case"timeseries":return {multiplicity:!1,description:e.description,type:k(e.dataType),nullable:!0};case"array":return {multiplicity:!0,description:e.description,type:k(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function k(e){switch(e.type){case"integer":case"string":case"byte":case"decimal":case"double":case"float":case"long":case"short":case"boolean":case"attachment":case"geopoint":case"geoshape":case"timestamp":return e.type;case"date":return "datetime";case"array":return k(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function O(e,r=[]){return {apiName:e.apiName,description:e.description,primaryKeyType:G(e.properties[e.primaryKey]),links:Object.fromEntries(r.map(o=>[o.apiName,{multiplicity:o.cardinality==="MANY",targetType:o.objectTypeApiName}])),properties:Object.fromEntries(Object.entries(e.properties).map(([o,t])=>[o,z(t)]))}}var ge=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","implements","interface","let","package","private","protected","public","static","yield"]);function B(e){return ge.has(e)}function W(e,r=[]){let o=new Set(r.map(t=>t.objectTypeApiName).filter(t=>t!==e.apiName));return `import type { OntologyObject, LocalDate, Timestamp, GeoShape, GeoPoint, Attachment, TimeSeries, MultiLink, SingleLink } from "@osdk/legacy-client";
168
+ `));}function de(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let n=U(t);return n?[n]:[]});return [...e.operations.flatMap(t=>{switch(t.type){case"createObject":return [t.objectTypeApiName];case"modifyObject":return [t.objectTypeApiName];case"deleteObject":case"createLink":case"deleteLink":return []}}),...r]}function U(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return U(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function G(e){switch(e.dataType.type){case"integer":case"double":case"string":case"boolean":case"attachment":case"byte":case"decimal":case"float":case"geopoint":case"geoshape":case"long":case"short":return e.dataType.type;case"date":return "datetime";case"timestamp":return "timestamp";case"timeseries":case"array":throw new Error(`Type not supported for primaryKey: ${e.dataType.type}`);default:e.dataType;throw new Error(`Unknown type encountered for primaryKey: ${e.dataType}`)}}function z(e){switch(e.dataType.type){case"integer":case"string":case"byte":case"decimal":case"double":case"float":case"long":case"short":case"boolean":case"date":case"attachment":case"geopoint":case"geoshape":case"timestamp":case"timeseries":return {multiplicity:!1,description:e.description,type:k(e.dataType),nullable:!0};case"array":return {multiplicity:!0,description:e.description,type:k(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function k(e){switch(e.type){case"integer":case"string":case"byte":case"decimal":case"double":case"float":case"long":case"short":case"boolean":case"attachment":case"geopoint":case"geoshape":case"timestamp":return e.type;case"date":return "datetime";case"array":return k(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function O(e,r=[]){return {apiName:e.apiName,description:e.description,primaryKeyType:G(e.properties[e.primaryKey]),links:Object.fromEntries(r.map(o=>[o.apiName,{multiplicity:o.cardinality==="MANY",targetType:o.objectTypeApiName}])),properties:Object.fromEntries(Object.entries(e.properties).map(([o,t])=>[o,z(t)]))}}var ge=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","implements","interface","let","package","private","protected","public","static","yield"]);function B(e){return ge.has(e)}function W(e,r=[]){let o=new Set(r.map(t=>t.objectTypeApiName).filter(t=>t!==e.apiName));return `import type { OntologyObject, LocalDate, Timestamp, GeoShape, GeoPoint, Attachment, TimeSeries, MultiLink, SingleLink } from "@osdk/legacy-client";
169
169
  ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
170
170
  `)}
171
171
 
172
172
  ${J(e.description)}export interface ${e.apiName} extends OntologyObject {
173
173
  readonly __apiName: "${e.apiName}";
174
174
  readonly __primaryKey: ${S(e.properties[e.primaryKey].dataType)};
175
- ${Object.entries(e.properties).flatMap(([t,a])=>{let n=S(a.dataType),s=[`${J(a.description)}readonly ${t}: ${n} | undefined`];return B(t)&&s.push(`/** @deprecated please migrate to '${t}' instead */
176
- readonly ${t}_: ${n} | undefined`),s}).join(`;
175
+ ${Object.entries(e.properties).flatMap(([t,n])=>{let a=S(n.dataType),s=[`${J(n.description)}readonly ${t}: ${a} | undefined`];return B(t)&&s.push(`/** @deprecated please migrate to '${t}' instead */
176
+ readonly ${t}_: ${a} | undefined`),s}).join(`;
177
177
  `)}
178
178
  ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`]).join(`;
179
179
  `)}
@@ -181,43 +181,43 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
181
181
  `}function S(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return S(e.subType)+"[]";case"integer":return "number";case"attachment":return "Attachment";case"byte":return "number";case"date":return "LocalDate";case"decimal":return "number";case"double":return "number";case"float":return "number";case"geopoint":return "GeoPoint";case"geoshape":return "GeoShape";case"long":return "number";case"short":return "number";case"timestamp":return "Timestamp";case"timeseries":return e.itemType.type==="string"?"TimeSeries<string>":"TimeSeries<number>";default:throw new Error(`Unknown property type ${e}`)}}function J(e){return e?`/**
182
182
  * ${e}
183
183
  */
184
- `:""}async function Z(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(Object.values(e.objectTypes).map(async t=>{let a=e.linkTypes[t.apiName],n=new Set(a?.map(s=>s.objectTypeApiName));await r.writeFile(j__default.join(o,`${t.apiName}.ts`),await c(`
184
+ `:""}async function Z(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(Object.values(e.objectTypes).map(async t=>{let n=e.linkTypes[t.apiName],a=new Set(n?.map(s=>s.objectTypeApiName));await r.writeFile(j__default.join(o,`${t.apiName}.ts`),await c(`
185
185
  import { ObjectDefinition } from "@osdk/api";
186
- ${W(t,a)}
186
+ ${W(t,n)}
187
187
 
188
- export const ${t.apiName} = ${JSON.stringify(O(t,a),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${n.size>0?[...n].map(s=>`"${s}"`).join("|"):"never"}>;`));})),await r.writeFile(j__default.join(o,"index.ts"),await c(`
188
+ export const ${t.apiName} = ${JSON.stringify(O(t,n),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${a.size>0?[...a].map(s=>`"${s}"`).join("|"):"never"}>;`));})),await r.writeFile(j__default.join(o,"index.ts"),await c(`
189
189
  ${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
190
190
  `)}
191
191
  export type { ObjectSet } from "@osdk/legacy-client";
192
192
 
193
- `));}function d(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(r=>d(r)):!1}function u(e){switch(e.type){case"double":case"float":case"integer":case"long":case"attachment":case"boolean":case"date":case"string":case"timestamp":return {type:e.type,nullable:!1};case"object":return {type:{type:"object",object:e.objectTypeApiName},nullable:!1};case"objectSet":return {type:{type:"objectSet",objectSet:e.objectTypeApiName},nullable:!1};case"array":return {...u(e.subType),multiplicity:!0};case"set":return {type:{type:"set",set:u(e.subType)},nullable:!1};case"union":let r=d(e);if(r&&e.unionTypes.length===2){let t=e.unionTypes.find(a=>a.type!==null);if(t)return {...u(t),nullable:!0}}return {type:{type:"union",union:e.unionTypes.reduce((t,a)=>(a.type==="null"||t.push(u(a)),t),[])},nullable:r};case"struct":return {type:{type:"struct",struct:Object.fromEntries(e.fields.map(t=>[t.name,u(t.fieldType)]))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:N(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:be(e)}};case"null":case"unsupported":throw new Error(`Accidentally tried to handle QueryDataType.type ${e.type}`);default:throw new Error(`Unsupported QueryDataType.type ${e.type}`)}}function N(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type};if(H(e.keyType))return {keyType:e.keyType.type,valueType:e.valueType.type};throw new Error(`Cannot create 2D aggregation with ${e.keyType.type} as its type`)}function be(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:N(e.valueType)};if(H(e.keyType))return {keyType:e.keyType.type,valueType:N(e.valueType)};throw new Error(`Cannot create 3D aggregation with ${e.keyType.type} as its type`)}function H(e){return e.type==="string"||e.type==="boolean"}function X(e){return {apiName:e.apiName,description:e.description,displayName:e.displayName,rid:e.rid,version:e.version,parameters:Object.fromEntries(Object.entries(e.parameters).map(([r,o])=>[r,Te(o)])),output:u(e.output)}}function Te(e){return {description:e.description,dataType:u(e.dataType)}}async function te(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{let a=je(t);await r.writeFile(j__default.join(o,`${t.apiName}.ts`),await c(`
193
+ `));}function d(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(r=>d(r)):!1}function u(e){switch(e.type){case"double":case"float":case"integer":case"long":case"attachment":case"boolean":case"date":case"string":case"timestamp":return {type:e.type,nullable:!1};case"object":return {type:{type:"object",object:e.objectTypeApiName},nullable:!1};case"objectSet":return {type:{type:"objectSet",objectSet:e.objectTypeApiName},nullable:!1};case"array":return {...u(e.subType),multiplicity:!0};case"set":return {type:{type:"set",set:u(e.subType)},nullable:!1};case"union":let r=d(e);if(r&&e.unionTypes.length===2){let t=e.unionTypes.find(n=>n.type!==null);if(t)return {...u(t),nullable:!0}}return {type:{type:"union",union:e.unionTypes.reduce((t,n)=>(n.type==="null"||t.push(u(n)),t),[])},nullable:r};case"struct":return {type:{type:"struct",struct:Object.fromEntries(e.fields.map(t=>[t.name,u(t.fieldType)]))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:N(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:be(e)}};case"null":case"unsupported":throw new Error(`Accidentally tried to handle QueryDataType.type ${e.type}`);default:throw new Error(`Unsupported QueryDataType.type ${e.type}`)}}function N(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type};if(H(e.keyType))return {keyType:e.keyType.type,valueType:e.valueType.type};throw new Error(`Cannot create 2D aggregation with ${e.keyType.type} as its type`)}function be(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:N(e.valueType)};if(H(e.keyType))return {keyType:e.keyType.type,valueType:N(e.valueType)};throw new Error(`Cannot create 3D aggregation with ${e.keyType.type} as its type`)}function H(e){return e.type==="string"||e.type==="boolean"}function X(e){return {apiName:e.apiName,description:e.description,displayName:e.displayName,rid:e.rid,version:e.version,parameters:Object.fromEntries(Object.entries(e.parameters).map(([r,o])=>[r,Te(o)])),output:u(e.output)}}function Te(e){return {description:e.description,dataType:u(e.dataType)}}async function te(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{let n=je(t);await r.writeFile(j__default.join(o,`${t.apiName}.ts`),await c(`
194
194
  import { QueryDefinition } from "@osdk/api";
195
195
 
196
- export const ${t.apiName} = ${JSON.stringify(X(t))} satisfies QueryDefinition<"${t.apiName}", ${a.length>0?a.map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(j__default.join(o,"index.ts"),await c(`
196
+ export const ${t.apiName} = ${JSON.stringify(X(t))} satisfies QueryDefinition<"${t.apiName}", ${n.length>0?n.map(a=>`"${a}"`).join("|"):"never"}>;`));})),await r.writeFile(j__default.join(o,"index.ts"),await c(`
197
197
  ${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
198
198
  `)}
199
- `));}function je(e){let r=new Set;for(let{dataType:o}of Object.values(e.parameters))T(o,r);return T(e.output,r),Array.from(r)}function T(e,r){switch(e.type){case"array":case"set":T(e.subType,r);return;case"object":r.add(e.objectTypeApiName);return;case"objectSet":r.add(e.objectTypeApiName);return;case"struct":for(let t of Object.values(e.fields))T(t.fieldType,r);return;case"union":for(let t of e.unionTypes)T(t,r);return;case"attachment":case"boolean":case"date":case"double":case"float":case"integer":case"long":case"null":case"string":case"threeDimensionalAggregation":case"timestamp":case"twoDimensionalAggregation":case"unsupported":return;default:throw new Error(`Cannot find object types from unsupported QueryDataType ${e.type}`)}}async function ae(e,r,o){let t=new Set,a=[];for(let n of e.queryTypes){let s=["/**"];n.description&&s.push(`* ${n.description}`);let y=g(n.output,t),m=[];for(let[i,p]of Object.entries(n.parameters)){let f=d(p.dataType),b=g(p.dataType,t);m.push(`"${i}"${f?"?":""}: ${b}`),s.push(`* @param {${oe(b)}} params.${i}${p.description?` - ${p.description}`:""}`);}let l=m.length===0?"":`params: { ${m.join("; ")} }`;s.push(`* @returns ${oe(y)}`,"*/"),a.push(`
199
+ `));}function je(e){let r=new Set;for(let{dataType:o}of Object.values(e.parameters))T(o,r);return T(e.output,r),Array.from(r)}function T(e,r){switch(e.type){case"array":case"set":T(e.subType,r);return;case"object":r.add(e.objectTypeApiName);return;case"objectSet":r.add(e.objectTypeApiName);return;case"struct":for(let t of Object.values(e.fields))T(t.fieldType,r);return;case"union":for(let t of e.unionTypes)T(t,r);return;case"attachment":case"boolean":case"date":case"double":case"float":case"integer":case"long":case"null":case"string":case"threeDimensionalAggregation":case"timestamp":case"twoDimensionalAggregation":case"unsupported":return;default:throw new Error(`Cannot find object types from unsupported QueryDataType ${e.type}`)}}async function ae(e,r,o){let t=new Set,n=[];for(let a of e.queryTypes){let s=["/**"];a.description&&s.push(`* ${a.description}`);let y=g(a.output,t,!0),m=[];for(let[i,p]of Object.entries(a.parameters)){let f=d(p.dataType),b=g(p.dataType,t,!1);m.push(`"${i}"${f?"?":""}: ${b}`),s.push(`* @param {${oe(b)}} params.${i}${p.description?` - ${p.description}`:""}`);}let l=m.length===0?"":`params: { ${m.join("; ")} }`;s.push(`* @returns ${oe(y)}`,"*/"),n.push(`
200
200
  ${s.join(`
201
201
  `)}
202
- ${n.apiName}(${l}): Promise<Result<QueryResponse<${y}>, QueryError>>;
202
+ ${a.apiName}(${l}): Promise<Result<QueryResponse<${y}>, QueryError>>;
203
203
  `);}await r.mkdir(o,{recursive:!0}),await r.writeFile(j__default.join(o,"Queries.ts"),await c(`
204
204
  import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
205
- ${Array.from(t).map(n=>`import type { ${n} } from "../objects/${n}";`).join(`
205
+ ${Array.from(t).map(a=>`import type { ${a} } from "../objects/${a}";`).join(`
206
206
  `)}
207
207
 
208
208
  export interface Queries {
209
- ${a.join(`
209
+ ${n.join(`
210
210
  `)}
211
211
  }
212
- `));}function g(e,r){switch(e.type){case"boolean":return "boolean";case"string":return "string";case"double":case"float":case"integer":case"long":return "number";case"date":return "LocalDate";case"timestamp":return "Timestamp";case"attachment":return "Attachment";case"array":return `Array<${g(e.subType,r)}>`;case"object":{let a=e.objectTypeApiName;return r.add(a),a}case"objectSet":{let a=e.objectTypeApiName;return r.add(a),`ObjectSet<${a}>`}case"set":return `Set<${g(e.subType,r)}>`;case"struct":return `{ ${e.fields.map(a=>{let n=d(a.fieldType);return `${a.name}${n?"?":""}: ${g(a.fieldType,r)}`}).join(`,
213
- `)} }`;case"union":return e.unionTypes.map(a=>g(a,r)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
212
+ `));}function g(e,r,o){switch(e.type){case"boolean":return "boolean";case"string":return "string";case"double":case"float":case"integer":case"long":return "number";case"date":return "LocalDate";case"timestamp":return "Timestamp";case"attachment":return "Attachment";case"array":return `Array<${g(e.subType,r,o)}>`;case"object":{let a=e.objectTypeApiName;return r.add(a),o?a:`${a} | ${a}["__primaryKey"]`}case"objectSet":{let a=e.objectTypeApiName;return r.add(a),`ObjectSet<${a}>`}case"set":return `Set<${g(e.subType,r,o)}>`;case"struct":return `{ ${e.fields.map(a=>{let s=d(a.fieldType);return `${a.name}${s?"?":""}: ${g(a.fieldType,r,o)}`}).join(`,
213
+ `)} }`;case"union":return e.unionTypes.map(a=>g(a,r,o)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
214
214
  ${x(e.keyType)},
215
215
  ${re(e.valueType)}
216
216
  >`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
217
217
  ${x(e.keyType)},
218
218
  ${x(e.valueType.keyType)},
219
219
  ${re(e.valueType.valueType)}
220
- >`;case"null":return "null";case"unsupported":throw new Error("Cannot generate queries for unsupported type");default:throw new Error(`Cannot generate queries for type ${e.type}`)}}function x(e){switch(e.type){case"boolean":return "boolean";case"double":case"integer":return "number";case"string":return "string";case"date":return "LocalDate";case"timestamp":return "Timestamp";case"range":return `Range<${$e(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function $e(e){switch(e.type){case"date":return "LocalDate";case"double":case"integer":return "number";case"timestamp":return "Timestamp";default:throw new Error(`Unsupported QueryAggregationRangeSubType ${e.type}`)}}function re(e){switch(e.type){case"date":return "LocalDate";case"double":return "number";case"timestamp":return "Timestamp";default:throw new Error(`Unsupported QueryAggregationValueType ${e.type}`)}}function oe(e){return e.replace(/\s/g,"")}async function he(e,r,o){let t=j.join(o,"ontology","objects"),a=j.join(o,"ontology","actions"),n=j.join(o,"ontology","queries"),s=F(e);await v(r,o),await I(s,r,o),await M(r,j.join(o,"ontology")),await L(s,r,t),await Z(s,r,t),await Q(s,r,a),await K(s,r,a),await ae(s,r,n),await te(s,r,n),await C(r,o);}function ne(e){return `
220
+ >`;case"null":return "null";case"unsupported":throw new Error("Cannot generate queries for unsupported type");default:throw new Error(`Cannot generate queries for type ${e.type}`)}}function x(e){switch(e.type){case"boolean":return "boolean";case"double":case"integer":return "number";case"string":return "string";case"date":return "LocalDate";case"timestamp":return "Timestamp";case"range":return `Range<${we(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function we(e){switch(e.type){case"date":return "LocalDate";case"double":case"integer":return "number";case"timestamp":return "Timestamp";default:throw new Error(`Unsupported QueryAggregationRangeSubType ${e.type}`)}}function re(e){switch(e.type){case"date":return "LocalDate";case"double":return "number";case"timestamp":return "Timestamp";default:throw new Error(`Unsupported QueryAggregationValueType ${e.type}`)}}function oe(e){return e.replace(/\s/g,"")}async function he(e,r,o){let t=j.join(o,"ontology","objects"),n=j.join(o,"ontology","actions"),a=j.join(o,"ontology","queries"),s=F(e);await v(r,o),await L(s,r,o),await R(r,j.join(o,"ontology")),await M(s,r,t),await Z(s,r,t),await Q(s,r,n),await K(s,r,n),await ae(s,r,a),await te(s,r,a),await I(r,o);}function ne(e){return `
221
221
  export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
222
222
  apiName: "${e.apiName}";
223
223
  properties: {
@@ -237,7 +237,7 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
237
237
  export { Ontology } from "./Ontology";
238
238
  `));let t=Object.keys(e.objectTypes);r.writeFile(j__default.join(o,"Ontology.ts"),await c(`
239
239
  import type { OntologyDefinition } from "@osdk/api";
240
- ${t.map(a=>`import {${a}} from "./objects/${a}";`).join(`
240
+ ${t.map(n=>`import {${n}} from "./objects/${n}";`).join(`
241
241
  `)}
242
242
 
243
243
  import { OntologyMetadata } from "./OntologyMetadata";
@@ -245,17 +245,17 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
245
245
  export const Ontology = {
246
246
  metadata: OntologyMetadata,
247
247
  objects: {
248
- ${t.map(a=>`${a}: ${a},`).join(`
248
+ ${t.map(n=>`${n}: ${n},`).join(`
249
249
  `)}
250
250
  },
251
- } satisfies OntologyDefinition<${t.map(a=>`"${a}"`).join("|")}>;
252
- `));for(let a of t){let n=e.objectTypes[a];r.writeFile(j__default.join(o,"objects",`${a}.ts`),await c(`
251
+ } satisfies OntologyDefinition<${t.map(n=>`"${n}"`).join("|")}>;
252
+ `));for(let n of t){let a=e.objectTypes[n];r.writeFile(j__default.join(o,"objects",`${n}.ts`),await c(`
253
253
 
254
254
  import type { ObjectDefinition } from "@osdk/api";
255
255
 
256
- export const ${a} = ${JSON.stringify(O(n),null,2)} satisfies ${a};
256
+ export const ${n} = ${JSON.stringify(O(a),null,2)} satisfies ${n};
257
257
 
258
- ${ne(n)}
258
+ ${ne(a)}
259
259
  `));}}
260
260
 
261
261
  export { he as generateClientSdkVersionOneDotOne, Oe as generateClientSdkVersionTwoPointZero };