@osdk/generator 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @osdk/generator
2
2
 
3
+ ## 0.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - a2b7874: Addin TimeSeries support and fixing issues during code-gen time with Queries
8
+ - Updated dependencies [a2b7874]
9
+ - @osdk/api@0.0.7
10
+
3
11
  ## 0.0.2
4
12
 
5
13
  ### Patch Changes
package/build/js/index.js CHANGED
@@ -23,18 +23,18 @@ function _interopNamespace(e) {
23
23
 
24
24
  var w__namespace = /*#__PURE__*/_interopNamespace(w);
25
25
 
26
- function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.apiName)}))}}function H(e){return e.replace(/-./g,r=>r[1].toUpperCase())}function j(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 s(e){return prettier.format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:["prettier-plugin-organize-imports"],tabWidth:2,printWidth:120})}async function x(e,r,o){let t=new Set,a=[];for(let i of e.actionTypes){let n=Object.entries(i.parameters),d=j(i),m=Array.from(d.addedObjects),g=Array.from(d.modifiedObjects);m.forEach(t.add,t),g.forEach(t.add,t);let y=["/**"];i.description&&y.push(`* ${i.description}`);let c="";if(n.length>0){c=`params: {
27
- `;for(let[T,b]of n){c+=`"${T}"`,c+=b.required?": ":"?: ";let k=E(b.dataType,t);c+=`${k};
28
- `,y.push(`* @param {${k}} params.${T}`);}c+="}, ";}y.push("*/"),a.push(`
26
+ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.apiName)}))}}function H(e){return e.replace(/-./g,r=>r[1].toUpperCase())}function j(e){let r=new Set,a=new Set;for(let t of e.operations)switch(t.type){case"createObject":r.add(t.objectTypeApiName);break;case"modifyObject":a.add(t.objectTypeApiName);break;}return {addedObjects:r,modifiedObjects:a}}function s(e){return prettier.format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:["prettier-plugin-organize-imports"],tabWidth:2,printWidth:120})}async function D(e,r,a){let t=new Set,o=[];for(let i of e.actionTypes){let n=Object.entries(i.parameters),d=j(i),m=Array.from(d.addedObjects),g=Array.from(d.modifiedObjects);m.forEach(t.add,t),g.forEach(t.add,t);let y=["/**"];i.description&&y.push(`* ${i.description}`);let c="";if(n.length>0){c=`params: {
27
+ `;for(let[b,T]of n){c+=`"${b}"`,c+=T.required?": ":"?: ";let k=E(T.dataType,t);c+=`${k};
28
+ `,y.push(`* @param {${k}} params.${b}`);}c+="}, ";}y.push("*/"),o.push(`
29
29
  ${y.join(`
30
30
  `)}
31
31
  ${i.apiName}<O extends ActionExecutionOptions>(${c}options?: O):
32
- Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(w__namespace.default.join(o,"ontologyActions.ts"),await s(`
32
+ Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(w__namespace.default.join(a,"ontologyActions.ts"),await s(`
33
33
  import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
34
34
  ${Array.from(t).map(i=>`import type { ${i} } from "./objects/${i}";`).join(`
35
35
  `)}
36
36
  export interface Actions {
37
- ${a.join(`
37
+ ${o.join(`
38
38
  `)}
39
39
  }
40
40
  `));}function E(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<${E(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 F(e,r){await e.writeFile(w__namespace.default.join(r,"FoundryClient.ts"),await s(`
@@ -50,7 +50,7 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
50
50
  get ontology(): Ontology {
51
51
  return this.ontology;
52
52
  }
53
- }`));}async function Q(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(w__namespace.join(r,"index.ts"),await s(`
53
+ }`));}async function P(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(w__namespace.join(r,"index.ts"),await s(`
54
54
  export {
55
55
  ActionExecutionMode,
56
56
  ActionResponse,
@@ -116,7 +116,7 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
116
116
  } from '@osdk/legacy-client';
117
117
  export { Ontology } from "./Ontology";
118
118
  export { FoundryClient } from "./FoundryClient";
119
- `));}function l(e){return e.join(",")}async function V(e,r,o){let t=Object.keys(e.objectTypes),a=e.actionTypes.map(n=>n.apiName),i=e.queryTypes.map(n=>n.apiName);await r.writeFile(w__namespace.default.join(o,"Ontology.ts"),await s(`
119
+ `));}function l(e){return e.join(",")}async function V(e,r,a){let t=Object.keys(e.objectTypes),o=e.actionTypes.map(n=>n.apiName),i=e.queryTypes.map(n=>n.apiName);await r.writeFile(w__namespace.default.join(a,"Ontology.ts"),await s(`
120
120
  import type { OntologyDefinition } from "@osdk/api";
121
121
  import type { Ontology as ClientOntology } from "@osdk/legacy-client";
122
122
  import type { Objects } from "./ontologyObjects";
@@ -124,7 +124,7 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
124
124
  import type { Queries } from "./ontologyQueries";
125
125
  ${t.map(n=>`import {${n}} from "./objects/${n}";`).join(`
126
126
  `)}
127
- ${a.map(n=>`import {${n}} from "./actions/${n}";`).join(`
127
+ ${o.map(n=>`import {${n}} from "./actions/${n}";`).join(`
128
128
  `)}
129
129
  ${i.map(n=>`import {${n}} from "./queries/${n}";`).join(`
130
130
  `)}
@@ -139,7 +139,7 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
139
139
  ${l(t)}
140
140
  },
141
141
  actions: {
142
- ${l(a)}
142
+ ${l(o)}
143
143
  },
144
144
  queries: {
145
145
  ${l(i)}
@@ -150,7 +150,7 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
150
150
  objects: Objects;
151
151
  actions: Actions;
152
152
  queries: Queries;
153
- }`));}async function L(e,r,o){await r.writeFile(w__namespace.default.join(o,"ontologyObjects.ts"),await s(`
153
+ }`));}async function L(e,r,a){await r.writeFile(w__namespace.default.join(a,"ontologyObjects.ts"),await s(`
154
154
  import { BaseObjectSet } from "@osdk/legacy-client";
155
155
  import { ${l(Object.keys(e.objectTypes))} } from "./objects";
156
156
 
@@ -158,14 +158,14 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
158
158
  ${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
159
159
  `)}
160
160
  }
161
- ;`));}function R(e){let r=j(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([o,t])=>[o,ae(t)])),displayName:e.displayName,description:e.description,modifiedEntities:ie(r.addedObjects,r.modifiedObjects)}}function ae(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:O(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:O(e.dataType),nullable:!e.required,description:e.description}}}function O(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 O(e.subType)}}function ie(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 M(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let a=new Set(ne(t));await r.writeFile(w__namespace.default.join(o,`${t.apiName}.ts`),await s(`
161
+ ;`));}function R(e){let r=j(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([a,t])=>[a,oe(t)])),displayName:e.displayName,description:e.description,modifiedEntities:ie(r.addedObjects,r.modifiedObjects)}}function oe(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:O(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:O(e.dataType),nullable:!e.required,description:e.description}}}function O(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 O(e.subType)}}function ie(e,r){let a={};for(let t of e)a[t]={created:!0,modified:!1};for(let t of r)a[t]?a[t].modified=!0:a[t]={created:!1,modified:!0};return a}async function M(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let o=new Set(ne(t));await r.writeFile(w__namespace.default.join(a,`${t.apiName}.ts`),await s(`
162
162
  import { ActionDefinition } from "@osdk/api";
163
163
 
164
- export const ${t.apiName} = ${JSON.stringify(R(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${a.size>0?[...a].map(i=>`"${i}"`).join("|"):"never"}>;`));})),await r.writeFile(w__namespace.default.join(o,"index.ts"),await s(`
164
+ export const ${t.apiName} = ${JSON.stringify(R(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${o.size>0?[...o].map(i=>`"${i}"`).join("|"):"never"}>;`));})),await r.writeFile(w__namespace.default.join(a,"index.ts"),await s(`
165
165
  ${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
166
166
  `)}
167
- `));}function ne(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let a=I(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 I(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return I(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function q(e){switch(e.dataType.type){case"integer":case"double":case"string":return e.dataType.type;default:throw new Error(`Not implemented: wirePropertyToSdkPropertyDefinition(${e.dataType.type})`)}}function v(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,type:h(e.dataType),nullable:!0};case"array":return {multiplicity:!0,type:h(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function h(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 h(e.subType);case"timeseries":throw new Error(`Unsupported property type ${e.type}`)}}function $(e,r=[]){return {apiName:e.apiName,primaryKeyType:q(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,v(t)]))}}function _(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
- ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
167
+ `));}function ne(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let o=I(t);return o?[o]:[]});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 I(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return I(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function q(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 _(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,type:h(e.dataType),nullable:!0};case"array":return {multiplicity:!0,type:h(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function h(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 h(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function $(e,r=[]){return {apiName:e.apiName,primaryKeyType:q(e.properties[e.primaryKey]),links:Object.fromEntries(r.map(a=>[a.apiName,{multiplicity:a.cardinality==="MANY",targetType:a.objectTypeApiName}])),properties:Object.fromEntries(Object.entries(e.properties).map(([a,t])=>[a,_(t)]))}}function v(e,r=[]){let a=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
+ ${Array.from(a).map(t=>`import type { ${t} } from "./${t}";`).join(`
169
169
  `)}
170
170
 
171
171
  /**
@@ -174,68 +174,69 @@ ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
174
174
  export interface ${e.apiName} extends OntologyObject {
175
175
  readonly __apiName: "${e.apiName}";
176
176
  readonly __primaryKey: ${A(e.properties[e.primaryKey].dataType)};
177
- ${Object.entries(e.properties).map(([t,a])=>`${se(a.description)}readonly ${t}: ${A(a.dataType)} | undefined`).join(`;
177
+ ${Object.entries(e.properties).map(([t,o])=>`${se(o.description)}readonly ${t}: ${A(o.dataType)} | undefined`).join(`;
178
178
  `)}
179
179
  ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>;`).join(`;
180
180
  `)}
181
181
  }
182
- `}function A(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return A(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 "TimeSeries<number>";default:throw new Error(`Unknown property type ${e}`)}}function se(e){return e?`/**
182
+ `}function A(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return A(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 se(e){return e?`/**
183
183
  * ${e}
184
184
  */
185
- `:""}async function U(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],i=new Set(a?.map(n=>n.objectTypeApiName));await r.writeFile(w__namespace.default.join(o,`${t.apiName}.ts`),await s(`
185
+ `:""}async function G(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(Object.values(e.objectTypes).map(async t=>{let o=e.linkTypes[t.apiName],i=new Set(o?.map(n=>n.objectTypeApiName));await r.writeFile(w__namespace.default.join(a,`${t.apiName}.ts`),await s(`
186
186
  import { ObjectDefinition } from "@osdk/api";
187
- ${_(t,a)}
187
+ ${v(t,o)}
188
188
 
189
- export const ${t.apiName} = ${JSON.stringify($(t,a),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${i.size>0?[...i].map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(w__namespace.default.join(o,"index.ts"),await s(`
189
+ export const ${t.apiName} = ${JSON.stringify($(t,o),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${i.size>0?[...i].map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(w__namespace.default.join(a,"index.ts"),await s(`
190
190
  ${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
191
191
  `)}
192
- `));}function u(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(r=>u(r)):!1}function p(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 {...p(e.subType),multiplicity:!0};case"set":return {type:{type:"set",set:p(e.subType)},nullable:!1};case"union":let r=u(e);if(r&&e.unionTypes.length===2){let t=e.unionTypes.find(a=>a.type!==null);if(t)return {...p(t),nullable:!0}}return {type:{type:"union",union:e.unionTypes.reduce((t,a)=>(a.type==="null"||t.push(p(a)),t),[])},nullable:r};case"struct":return {type:{type:"struct",struct:e.fields.map(t=>({name:t.name,fieldType:p(t.fieldType)}))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:N(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:ce(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){return e.keyType.type==="range"?{keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type}:{keyType:e.keyType.type,valueType:e.valueType.type}}function ce(e){return e.keyType.type==="range"?{keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:N(e.valueType)}:{keyType:e.keyType.type,valueType:N(e.valueType)}}function z(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,pe(o)])),output:p(e.output)}}function pe(e){return {description:e.description,dataType:p(e.dataType)}}async function K(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{await r.writeFile(w__namespace.default.join(o,`${t.apiName}.ts`),await s(`
192
+ `));}function u(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(r=>u(r)):!1}function p(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 {...p(e.subType),multiplicity:!0};case"set":return {type:{type:"set",set:p(e.subType)},nullable:!1};case"union":let r=u(e);if(r&&e.unionTypes.length===2){let t=e.unionTypes.find(o=>o.type!==null);if(t)return {...p(t),nullable:!0}}return {type:{type:"union",union:e.unionTypes.reduce((t,o)=>(o.type==="null"||t.push(p(o)),t),[])},nullable:r};case"struct":return {type:{type:"struct",struct:e.fields.map(t=>({name:t.name,fieldType:p(t.fieldType)}))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:N(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:ce(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){return e.keyType.type==="range"?{keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type}:{keyType:e.keyType.type,valueType:e.valueType.type}}function ce(e){return e.keyType.type==="range"?{keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:N(e.valueType)}:{keyType:e.keyType.type,valueType:N(e.valueType)}}function z(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,a])=>[r,pe(a)])),output:p(e.output)}}function pe(e){return {description:e.description,dataType:p(e.dataType)}}async function K(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{await r.writeFile(w__namespace.default.join(a,`${t.apiName}.ts`),await s(`
193
193
  import { QueryDefinition } from "@osdk/api";
194
194
 
195
- export const ${t.apiName} = ${JSON.stringify(z(t))} satisfies QueryDefinition<"${t.apiName}">;`));})),await r.writeFile(w__namespace.default.join(o,"index.ts"),await s(`
196
- ${e.queryTypes.map(t=>`export * from "./${t.apiName}";`)}
197
- `));}async function Y(e,r,o){let t=new Set,a=[];for(let i of e.queryTypes){let n=["/**"];i.description&&n.push(`* ${i.description}`);let d=f(i.output,t),m=[];for(let[y,c]of Object.entries(i.parameters)){let T=u(c.dataType),b=f(c.dataType,t);m.push(`"${y}"${T?"?":""}: ${b}`),n.push(`* @param {${W(b)}} params.${y}${c.description?` - ${c.description}`:""}`);}let g=m.length===0?"":`params: { ${m.join("; ")} }`;n.push(`* @returns ${W(d)}`,"*/"),a.push(`
195
+ export const ${t.apiName} = ${JSON.stringify(z(t))} satisfies QueryDefinition<"${t.apiName}">;`));})),await r.writeFile(w__namespace.default.join(a,"index.ts"),await s(`
196
+ ${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
197
+ `)}
198
+ `));}async function Y(e,r,a){let t=new Set,o=[];for(let i of e.queryTypes){let n=["/**"];i.description&&n.push(`* ${i.description}`);let d=f(i.output,t),m=[];for(let[y,c]of Object.entries(i.parameters)){let b=u(c.dataType),T=f(c.dataType,t);m.push(`"${y}"${b?"?":""}: ${T}`),n.push(`* @param {${W(T)}} params.${y}${c.description?` - ${c.description}`:""}`);}let g=m.length===0?"":`params: { ${m.join("; ")} }`;n.push(`* @returns ${W(d)}`,"*/"),o.push(`
198
199
  ${n.join(`
199
200
  `)}
200
201
  ${i.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
201
- `);}await r.writeFile(`${o}/ontologyQueries.ts`,await s(`
202
+ `);}await r.writeFile(`${a}/ontologyQueries.ts`,await s(`
202
203
  import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
203
204
  ${Array.from(t).map(i=>`import type { ${i} } from "./objects/${i}";`).join(`
204
205
  `)}
205
206
 
206
207
  export interface Queries {
207
- ${a.join(`
208
+ ${o.join(`
208
209
  `)}
209
210
  }
210
- `));}function f(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<${f(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<${f(e.subType,r)}>`;case"struct":return `{ ${e.fields.map(a=>{let i=u(a.fieldType);return `${a.name}${i?"?":""}: ${f(a.fieldType,r)}`}).join(`,
211
- `)} }`;case"union":return e.unionTypes.map(a=>f(a,r)).join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
211
+ `));}function f(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<${f(e.subType,r)}>`;case"object":{let o=e.objectTypeApiName;return r.add(o),o}case"objectSet":{let o=e.objectTypeApiName;return r.add(o),`ObjectSet<${o}>`}case"set":return `Set<${f(e.subType,r)}>`;case"struct":return `{ ${e.fields.map(o=>{let i=u(o.fieldType);return `${o.name}${i?"?":""}: ${f(o.fieldType,r)}`}).join(`,
212
+ `)} }`;case"union":return e.unionTypes.map(o=>f(o,r)).join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
212
213
  ${S(e.keyType)},
213
214
  ${J(e.valueType)}
214
215
  >`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
215
216
  ${S(e.keyType)},
216
217
  ${S(e.valueType.keyType)},
217
218
  ${J(e.valueType.valueType)}
218
- >`;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 S(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<${me(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function me(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 J(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 W(e){return e.replace(/\s/g,"")}async function ye(e,r,o){let t=D(e);await F(r,o),await V(t,r,o),await L(t,r,o),await U(t,r,w__namespace.join(o,"objects")),await x(t,r,o),await M(t,r,w__namespace.join(o,"actions")),await Y(t,r,o),await K(t,r,w__namespace.join(o,"queries")),await Q(r,o);}function Z(e){return `
219
+ >`;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 S(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<${me(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function me(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 J(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 W(e){return e.replace(/\s/g,"")}async function ye(e,r,a){let t=x(e);await F(r,a),await V(t,r,a),await L(t,r,a),await G(t,r,w__namespace.join(a,"objects")),await D(t,r,a),await M(t,r,w__namespace.join(a,"actions")),await Y(t,r,a),await K(t,r,w__namespace.join(a,"queries")),await P(r,a);}function Z(e){return `
219
220
  export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
220
221
  apiName: "${e.apiName}";
221
222
  properties: {
222
- ${Object.entries(e.properties).map(([r,o])=>`
223
+ ${Object.entries(e.properties).map(([r,a])=>`
223
224
  /**
224
- * ${o.description??""}
225
+ * ${a.description??""}
225
226
  **/
226
227
  ${r}: {
227
- type: "${o.dataType.type}";
228
- displayName: "${o.displayName??r}";
228
+ type: "${a.dataType.type}";
229
+ displayName: "${a.displayName??r}";
229
230
  }
230
231
 
231
232
  `)}
232
233
  }
233
234
  }
234
- `}async function le(e,r,o){r.writeFile(`${o}/index.ts`,await s(`
235
+ `}async function le(e,r,a){r.writeFile(`${a}/index.ts`,await s(`
235
236
  export { Ontology } from "./Ontology";
236
- `));let t=Object.keys(e.objectTypes);r.writeFile(`${o}/Ontology.ts`,await s(`
237
+ `));let t=Object.keys(e.objectTypes);r.writeFile(`${a}/Ontology.ts`,await s(`
237
238
  import type { OntologyDefinition } from "@osdk/api";
238
- ${t.map(a=>`import {${a}} from "./objects/${a}";`).join(`
239
+ ${t.map(o=>`import {${o}} from "./objects/${o}";`).join(`
239
240
  `)}
240
241
 
241
242
  import { OntologyMetadata } from "./OntologyMetadata";
@@ -243,15 +244,15 @@ ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleL
243
244
  export const Ontology = {
244
245
  metadata: OntologyMetadata,
245
246
  objects: {
246
- ${t.map(a=>`${a}: ${a},`).join(`
247
+ ${t.map(o=>`${o}: ${o},`).join(`
247
248
  `)}
248
249
  },
249
- } satisfies OntologyDefinition<${t.map(a=>`"${a}"`).join("|")}>;
250
- `));for(let a of t){let i=e.objectTypes[a];r.writeFile(`${o}/objects/${a}.ts`,await s(`
250
+ } satisfies OntologyDefinition<${t.map(o=>`"${o}"`).join("|")}>;
251
+ `));for(let o of t){let i=e.objectTypes[o];r.writeFile(`${a}/objects/${o}.ts`,await s(`
251
252
 
252
253
  import type { ObjectDefinition } from "@osdk/api";
253
254
 
254
- export const ${a} = ${JSON.stringify($(i),null,2)} satisfies ${a};
255
+ export const ${o} = ${JSON.stringify($(i),null,2)} satisfies ${o};
255
256
 
256
257
  ${Z(i)}
257
258
  `));}}