@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.
@@ -2,18 +2,18 @@ import * as w from 'path';
2
2
  import w__default from 'path';
3
3
  import { format } from 'prettier';
4
4
 
5
- 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 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: {
6
- `;for(let[T,b]of n){c+=`"${T}"`,c+=b.required?": ":"?: ";let k=E(b.dataType,t);c+=`${k};
7
- `,y.push(`* @param {${k}} params.${T}`);}c+="}, ";}y.push("*/"),a.push(`
5
+ 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 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: {
6
+ `;for(let[b,T]of n){c+=`"${b}"`,c+=T.required?": ":"?: ";let k=E(T.dataType,t);c+=`${k};
7
+ `,y.push(`* @param {${k}} params.${b}`);}c+="}, ";}y.push("*/"),o.push(`
8
8
  ${y.join(`
9
9
  `)}
10
10
  ${i.apiName}<O extends ActionExecutionOptions>(${c}options?: O):
11
- Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(w__default.join(o,"ontologyActions.ts"),await s(`
11
+ Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(w__default.join(a,"ontologyActions.ts"),await s(`
12
12
  import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
13
13
  ${Array.from(t).map(i=>`import type { ${i} } from "./objects/${i}";`).join(`
14
14
  `)}
15
15
  export interface Actions {
16
- ${a.join(`
16
+ ${o.join(`
17
17
  `)}
18
18
  }
19
19
  `));}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__default.join(r,"FoundryClient.ts"),await s(`
@@ -29,7 +29,7 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
29
29
  get ontology(): Ontology {
30
30
  return this.ontology;
31
31
  }
32
- }`));}async function Q(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(w.join(r,"index.ts"),await s(`
32
+ }`));}async function P(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(w.join(r,"index.ts"),await s(`
33
33
  export {
34
34
  ActionExecutionMode,
35
35
  ActionResponse,
@@ -95,7 +95,7 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
95
95
  } from '@osdk/legacy-client';
96
96
  export { Ontology } from "./Ontology";
97
97
  export { FoundryClient } from "./FoundryClient";
98
- `));}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__default.join(o,"Ontology.ts"),await s(`
98
+ `));}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__default.join(a,"Ontology.ts"),await s(`
99
99
  import type { OntologyDefinition } from "@osdk/api";
100
100
  import type { Ontology as ClientOntology } from "@osdk/legacy-client";
101
101
  import type { Objects } from "./ontologyObjects";
@@ -103,7 +103,7 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
103
103
  import type { Queries } from "./ontologyQueries";
104
104
  ${t.map(n=>`import {${n}} from "./objects/${n}";`).join(`
105
105
  `)}
106
- ${a.map(n=>`import {${n}} from "./actions/${n}";`).join(`
106
+ ${o.map(n=>`import {${n}} from "./actions/${n}";`).join(`
107
107
  `)}
108
108
  ${i.map(n=>`import {${n}} from "./queries/${n}";`).join(`
109
109
  `)}
@@ -118,7 +118,7 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
118
118
  ${l(t)}
119
119
  },
120
120
  actions: {
121
- ${l(a)}
121
+ ${l(o)}
122
122
  },
123
123
  queries: {
124
124
  ${l(i)}
@@ -129,7 +129,7 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
129
129
  objects: Objects;
130
130
  actions: Actions;
131
131
  queries: Queries;
132
- }`));}async function L(e,r,o){await r.writeFile(w__default.join(o,"ontologyObjects.ts"),await s(`
132
+ }`));}async function L(e,r,a){await r.writeFile(w__default.join(a,"ontologyObjects.ts"),await s(`
133
133
  import { BaseObjectSet } from "@osdk/legacy-client";
134
134
  import { ${l(Object.keys(e.objectTypes))} } from "./objects";
135
135
 
@@ -137,14 +137,14 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
137
137
  ${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
138
138
  `)}
139
139
  }
140
- ;`));}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__default.join(o,`${t.apiName}.ts`),await s(`
140
+ ;`));}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__default.join(a,`${t.apiName}.ts`),await s(`
141
141
  import { ActionDefinition } from "@osdk/api";
142
142
 
143
- 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__default.join(o,"index.ts"),await s(`
143
+ 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__default.join(a,"index.ts"),await s(`
144
144
  ${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
145
145
  `)}
146
- `));}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";
147
- ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
146
+ `));}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";
147
+ ${Array.from(a).map(t=>`import type { ${t} } from "./${t}";`).join(`
148
148
  `)}
149
149
 
150
150
  /**
@@ -153,68 +153,69 @@ ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
153
153
  export interface ${e.apiName} extends OntologyObject {
154
154
  readonly __apiName: "${e.apiName}";
155
155
  readonly __primaryKey: ${A(e.properties[e.primaryKey].dataType)};
156
- ${Object.entries(e.properties).map(([t,a])=>`${se(a.description)}readonly ${t}: ${A(a.dataType)} | undefined`).join(`;
156
+ ${Object.entries(e.properties).map(([t,o])=>`${se(o.description)}readonly ${t}: ${A(o.dataType)} | undefined`).join(`;
157
157
  `)}
158
158
  ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>;`).join(`;
159
159
  `)}
160
160
  }
161
- `}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?`/**
161
+ `}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?`/**
162
162
  * ${e}
163
163
  */
164
- `:""}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__default.join(o,`${t.apiName}.ts`),await s(`
164
+ `:""}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__default.join(a,`${t.apiName}.ts`),await s(`
165
165
  import { ObjectDefinition } from "@osdk/api";
166
- ${_(t,a)}
166
+ ${v(t,o)}
167
167
 
168
- 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__default.join(o,"index.ts"),await s(`
168
+ 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__default.join(a,"index.ts"),await s(`
169
169
  ${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
170
170
  `)}
171
- `));}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__default.join(o,`${t.apiName}.ts`),await s(`
171
+ `));}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__default.join(a,`${t.apiName}.ts`),await s(`
172
172
  import { QueryDefinition } from "@osdk/api";
173
173
 
174
- export const ${t.apiName} = ${JSON.stringify(z(t))} satisfies QueryDefinition<"${t.apiName}">;`));})),await r.writeFile(w__default.join(o,"index.ts"),await s(`
175
- ${e.queryTypes.map(t=>`export * from "./${t.apiName}";`)}
176
- `));}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(`
174
+ export const ${t.apiName} = ${JSON.stringify(z(t))} satisfies QueryDefinition<"${t.apiName}">;`));})),await r.writeFile(w__default.join(a,"index.ts"),await s(`
175
+ ${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
176
+ `)}
177
+ `));}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(`
177
178
  ${n.join(`
178
179
  `)}
179
180
  ${i.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
180
- `);}await r.writeFile(`${o}/ontologyQueries.ts`,await s(`
181
+ `);}await r.writeFile(`${a}/ontologyQueries.ts`,await s(`
181
182
  import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
182
183
  ${Array.from(t).map(i=>`import type { ${i} } from "./objects/${i}";`).join(`
183
184
  `)}
184
185
 
185
186
  export interface Queries {
186
- ${a.join(`
187
+ ${o.join(`
187
188
  `)}
188
189
  }
189
- `));}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(`,
190
- `)} }`;case"union":return e.unionTypes.map(a=>f(a,r)).join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
190
+ `));}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(`,
191
+ `)} }`;case"union":return e.unionTypes.map(o=>f(o,r)).join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
191
192
  ${S(e.keyType)},
192
193
  ${J(e.valueType)}
193
194
  >`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
194
195
  ${S(e.keyType)},
195
196
  ${S(e.valueType.keyType)},
196
197
  ${J(e.valueType.valueType)}
197
- >`;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.join(o,"objects")),await x(t,r,o),await M(t,r,w.join(o,"actions")),await Y(t,r,o),await K(t,r,w.join(o,"queries")),await Q(r,o);}function Z(e){return `
198
+ >`;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.join(a,"objects")),await D(t,r,a),await M(t,r,w.join(a,"actions")),await Y(t,r,a),await K(t,r,w.join(a,"queries")),await P(r,a);}function Z(e){return `
198
199
  export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
199
200
  apiName: "${e.apiName}";
200
201
  properties: {
201
- ${Object.entries(e.properties).map(([r,o])=>`
202
+ ${Object.entries(e.properties).map(([r,a])=>`
202
203
  /**
203
- * ${o.description??""}
204
+ * ${a.description??""}
204
205
  **/
205
206
  ${r}: {
206
- type: "${o.dataType.type}";
207
- displayName: "${o.displayName??r}";
207
+ type: "${a.dataType.type}";
208
+ displayName: "${a.displayName??r}";
208
209
  }
209
210
 
210
211
  `)}
211
212
  }
212
213
  }
213
- `}async function le(e,r,o){r.writeFile(`${o}/index.ts`,await s(`
214
+ `}async function le(e,r,a){r.writeFile(`${a}/index.ts`,await s(`
214
215
  export { Ontology } from "./Ontology";
215
- `));let t=Object.keys(e.objectTypes);r.writeFile(`${o}/Ontology.ts`,await s(`
216
+ `));let t=Object.keys(e.objectTypes);r.writeFile(`${a}/Ontology.ts`,await s(`
216
217
  import type { OntologyDefinition } from "@osdk/api";
217
- ${t.map(a=>`import {${a}} from "./objects/${a}";`).join(`
218
+ ${t.map(o=>`import {${o}} from "./objects/${o}";`).join(`
218
219
  `)}
219
220
 
220
221
  import { OntologyMetadata } from "./OntologyMetadata";
@@ -222,15 +223,15 @@ ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleL
222
223
  export const Ontology = {
223
224
  metadata: OntologyMetadata,
224
225
  objects: {
225
- ${t.map(a=>`${a}: ${a},`).join(`
226
+ ${t.map(o=>`${o}: ${o},`).join(`
226
227
  `)}
227
228
  },
228
- } satisfies OntologyDefinition<${t.map(a=>`"${a}"`).join("|")}>;
229
- `));for(let a of t){let i=e.objectTypes[a];r.writeFile(`${o}/objects/${a}.ts`,await s(`
229
+ } satisfies OntologyDefinition<${t.map(o=>`"${o}"`).join("|")}>;
230
+ `));for(let o of t){let i=e.objectTypes[o];r.writeFile(`${a}/objects/${o}.ts`,await s(`
230
231
 
231
232
  import type { ObjectDefinition } from "@osdk/api";
232
233
 
233
- export const ${a} = ${JSON.stringify($(i),null,2)} satisfies ${a};
234
+ export const ${o} = ${JSON.stringify($(i),null,2)} satisfies ${o};
234
235
 
235
236
  ${Z(i)}
236
237
  `));}}