@osdk/generator 0.0.2 → 0.0.4

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,22 @@
1
1
  # @osdk/generator
2
2
 
3
+ ## 0.0.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 1674b35: Releasing clients for integration
8
+ - Updated dependencies [1674b35]
9
+ - @osdk/api@0.0.8
10
+ - @osdk/gateway@0.0.3
11
+
12
+ ## 0.0.3
13
+
14
+ ### Patch Changes
15
+
16
+ - a2b7874: Addin TimeSeries support and fixing issues during code-gen time with Queries
17
+ - Updated dependencies [a2b7874]
18
+ - @osdk/api@0.0.7
19
+
3
20
  ## 0.0.2
4
21
 
5
22
  ### Patch Changes
package/build/js/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var w = require('path');
3
+ var O = require('path');
4
4
  var prettier = require('prettier');
5
5
 
6
6
  function _interopNamespace(e) {
@@ -21,23 +21,23 @@ function _interopNamespace(e) {
21
21
  return Object.freeze(n);
22
22
  }
23
23
 
24
- var w__namespace = /*#__PURE__*/_interopNamespace(w);
24
+ var O__namespace = /*#__PURE__*/_interopNamespace(O);
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:ee(r.apiName)}))}}function ee(e){return e.replace(/-./g,r=>r[1].toUpperCase())}function $(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 E(e,r,a){let t=new Set,o=[];for(let n of e.actionTypes){let i=Object.entries(n.parameters),d=$(n),m=Array.from(d.addedObjects),g=Array.from(d.modifiedObjects);m.forEach(t.add,t),g.forEach(t.add,t);let y=["/**"];n.description&&y.push(`* ${n.description}`);let c="";if(i.length>0){c=`params: {
27
+ `;for(let[j,b]of i){c+=`"${j}"`,c+=b.required?": ":"?: ";let D=F(b.dataType,t);c+=`${D};
28
+ `,y.push(`* @param {${D}} params.${j}`);}c+="}, ";}y.push("*/"),o.push(`
29
29
  ${y.join(`
30
30
  `)}
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(`
31
+ ${n.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(O__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
- ${Array.from(t).map(i=>`import type { ${i} } from "./objects/${i}";`).join(`
34
+ ${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
35
35
  `)}
36
36
  export interface Actions {
37
- ${a.join(`
37
+ ${o.join(`
38
38
  `)}
39
39
  }
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(`
40
+ `));}function F(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<${F(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 Q(e,r){await e.writeFile(O__namespace.default.join(r,"FoundryClient.ts"),await s(`
41
41
  import { BaseFoundryClient } from "@osdk/legacy-client";
42
42
  import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
43
43
  import { Ontology } from "./Ontology";
@@ -48,9 +48,9 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
48
48
  }
49
49
 
50
50
  get ontology(): Ontology {
51
- return this.ontology;
51
+ return super.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 V(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(O__namespace.join(r,"index.ts"),await s(`
54
54
  export {
55
55
  ActionExecutionMode,
56
56
  ActionResponse,
@@ -116,17 +116,17 @@ 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 u(e){return e.join(",")}async function L(e,r,a){let t=Object.keys(e.objectTypes),o=e.actionTypes.map(i=>i.apiName),n=e.queryTypes.map(i=>i.apiName);await r.writeFile(O__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";
123
123
  import type { Actions } from "./ontologyActions";
124
124
  import type { Queries } from "./ontologyQueries";
125
- ${t.map(n=>`import {${n}} from "./objects/${n}";`).join(`
125
+ ${t.map(i=>`import {${i}} from "./objects/${i}";`).join(`
126
126
  `)}
127
- ${a.map(n=>`import {${n}} from "./actions/${n}";`).join(`
127
+ ${o.map(i=>`import {${i}} from "./actions/${i}";`).join(`
128
128
  `)}
129
- ${i.map(n=>`import {${n}} from "./queries/${n}";`).join(`
129
+ ${n.map(i=>`import {${i}} from "./queries/${i}";`).join(`
130
130
  `)}
131
131
 
132
132
  export const Ontology = {
@@ -136,36 +136,36 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
136
136
  userAgent: "foundry-typescript-osdk/0.0.1",
137
137
  },
138
138
  objects: {
139
- ${l(t)}
139
+ ${u(t)}
140
140
  },
141
141
  actions: {
142
- ${l(a)}
142
+ ${u(o)}
143
143
  },
144
144
  queries: {
145
- ${l(i)}
145
+ ${u(n)}
146
146
  }
147
- } satisfies OntologyDefinition<${t.map(n=>`"${n}"`).join("|")}, ${e.actionTypes.map(n=>`"${n.apiName}"`).join("|")}, ${e.queryTypes.map(n=>`"${n.apiName}"`).join("|")}>;
147
+ } satisfies OntologyDefinition<${t.map(i=>`"${i}"`).join("|")}, ${e.actionTypes.map(i=>`"${i.apiName}"`).join("|")}, ${e.queryTypes.map(i=>`"${i.apiName}"`).join("|")}>;
148
148
 
149
149
  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 C(e,r,a){await r.writeFile(O__namespace.default.join(a,"ontologyObjects.ts"),await s(`
154
154
  import { BaseObjectSet } from "@osdk/legacy-client";
155
- import { ${l(Object.keys(e.objectTypes))} } from "./objects";
155
+ import { ${u(Object.keys(e.objectTypes))} } from "./objects";
156
156
 
157
157
  export interface Objects {
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=$(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([a,t])=>[a,ie(t)])),displayName:e.displayName,description:e.description,modifiedEntities:se(r.addedObjects,r.modifiedObjects)}}function ie(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:h(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:h(e.dataType),nullable:!e.required,description:e.description}}}function h(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 h(e.subType)}}function se(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 I(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let o=new Set(ce(t));await r.writeFile(O__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(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(O__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 ce(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let o=v(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 v(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return v(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function _(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 q(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:A(e.dataType),nullable:!0};case"array":return {multiplicity:!0,description:e.description,type:A(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function A(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 A(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function w(e,r=[]){return {apiName:e.apiName,description:e.description,primaryKeyType:_(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,q(t)]))}}function U(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
  /**
@@ -173,69 +173,70 @@ ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
173
173
  */
174
174
  export interface ${e.apiName} extends OntologyObject {
175
175
  readonly __apiName: "${e.apiName}";
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(`;
176
+ readonly __primaryKey: ${N(e.properties[e.primaryKey].dataType)};
177
+ ${Object.entries(e.properties).map(([t,o])=>`${pe(o.description)}readonly ${t}: ${N(o.dataType)} | undefined`).join(`;
178
178
  `)}
179
- ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>;`).join(`;
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 N(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return N(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 pe(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 K(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],n=new Set(o?.map(i=>i.objectTypeApiName));await r.writeFile(O__namespace.default.join(a,`${t.apiName}.ts`),await s(`
186
186
  import { ObjectDefinition } from "@osdk/api";
187
- ${_(t,a)}
187
+ ${U(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(w(t,o),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${n.size>0?[...n].map(i=>`"${i}"`).join("|"):"never"}>;`));})),await r.writeFile(O__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 l(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(r=>l(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=l(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:Object.fromEntries(e.fields.map(t=>[t.name,p(t.fieldType)]))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:S(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:me(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 S(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type};if(z(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 me(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:S(e.valueType)};if(z(e.keyType))return {keyType:e.keyType.type,valueType:S(e.valueType)};throw new Error(`Cannot create 3D aggregation with ${e.keyType.type} as its type`)}function z(e){return e.type==="string"||e.type==="boolean"}function B(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,ye(a)])),output:p(e.output)}}function ye(e){return {description:e.description,dataType:p(e.dataType)}}async function W(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{let o=ue(t);await r.writeFile(O__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(`
198
- ${n.join(`
195
+ export const ${t.apiName} = ${JSON.stringify(B(t))} satisfies QueryDefinition<"${t.apiName}", ${o.length>0?o.map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(O__namespace.default.join(a,"index.ts"),await s(`
196
+ ${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
199
197
  `)}
200
- ${i.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
201
- `);}await r.writeFile(`${o}/ontologyQueries.ts`,await s(`
198
+ `));}function ue(e){let r=new Set;for(let{dataType:a}of Object.values(e.parameters))T(a,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 H(e,r,a){let t=new Set,o=[];for(let n of e.queryTypes){let i=["/**"];n.description&&i.push(`* ${n.description}`);let d=f(n.output,t),m=[];for(let[y,c]of Object.entries(n.parameters)){let j=l(c.dataType),b=f(c.dataType,t);m.push(`"${y}"${j?"?":""}: ${b}`),i.push(`* @param {${Z(b)}} params.${y}${c.description?` - ${c.description}`:""}`);}let g=m.length===0?"":`params: { ${m.join("; ")} }`;i.push(`* @returns ${Z(d)}`,"*/"),o.push(`
199
+ ${i.join(`
200
+ `)}
201
+ ${n.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
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
- ${Array.from(t).map(i=>`import type { ${i} } from "./objects/${i}";`).join(`
204
+ ${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).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<
212
- ${S(e.keyType)},
213
- ${J(e.valueType)}
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 n=l(o.fieldType);return `${o.name}${n?"?":""}: ${f(o.fieldType,r)}`}).join(`,
212
+ `)} }`;case"union":return e.unionTypes.map(o=>f(o,r)).join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
213
+ ${k(e.keyType)},
214
+ ${Y(e.valueType)}
214
215
  >`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
215
- ${S(e.keyType)},
216
- ${S(e.valueType.keyType)},
217
- ${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 `
216
+ ${k(e.keyType)},
217
+ ${k(e.valueType.keyType)},
218
+ ${Y(e.valueType.valueType)}
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 k(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<${le(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function le(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 Y(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 Z(e){return e.replace(/\s/g,"")}async function fe(e,r,a){let t=x(e);await Q(r,a),await L(t,r,a),await C(t,r,a),await K(t,r,O__namespace.join(a,"objects")),await E(t,r,a),await I(t,r,O__namespace.join(a,"actions")),await H(t,r,a),await W(t,r,O__namespace.join(a,"queries")),await V(r,a);}function X(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 de(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,20 +244,20 @@ ${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 n=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(w(n),null,2)} satisfies ${o};
255
256
 
256
- ${Z(i)}
257
+ ${X(n)}
257
258
  `));}}
258
259
 
259
- exports.generateClientSdkVersionOneDotOne = ye;
260
- exports.generateClientSdkVersionTwoPointZero = le;
260
+ exports.generateClientSdkVersionOneDotOne = fe;
261
+ exports.generateClientSdkVersionTwoPointZero = de;
261
262
  //# sourceMappingURL=out.js.map
262
263
  //# sourceMappingURL=index.js.map