@osdk/generator 0.0.4 → 0.0.6

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,18 @@
1
1
  # @osdk/generator
2
2
 
3
+ ## 0.0.6
4
+
5
+ ### Patch Changes
6
+
7
+ - e22ce70: Adding proper support for reservered keywords in properties
8
+ - 66cb4ce: Fixing generator for integration
9
+
10
+ ## 0.0.5
11
+
12
+ ### Patch Changes
13
+
14
+ - 70719db: Fixing nits, and adding support for legacy reservered word backcompat
15
+
3
16
  ## 0.0.4
4
17
 
5
18
  ### Patch Changes
package/build/js/index.js CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  var O = require('path');
4
4
  var prettier = require('prettier');
5
+ var ie = require('prettier-plugin-organize-imports');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
5
8
 
6
9
  function _interopNamespace(e) {
7
10
  if (e && e.__esModule) return e;
@@ -22,22 +25,23 @@ function _interopNamespace(e) {
22
25
  }
23
26
 
24
27
  var O__namespace = /*#__PURE__*/_interopNamespace(O);
28
+ var ie__default = /*#__PURE__*/_interopDefault(ie);
25
29
 
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(`
30
+ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.apiName)}))}}function ae(e){return e.replace(/-./g,r=>r[1].toUpperCase())}function $(e){let r=new Set,o=new Set;for(let t of e.operations)switch(t.type){case"createObject":r.add(t.objectTypeApiName);break;case"modifyObject":o.add(t.objectTypeApiName);break;}return {addedObjects:r,modifiedObjects:o}}function s(e){return prettier.format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[ie__default.default],tabWidth:2,printWidth:120})}async function Q(e,r,o){let t=new Set,a=[];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: {
31
+ `;for(let[j,b]of i){c+=`"${j}"`,c+=b.required?": ":"?: ";let E=P(b.dataType,t);c+=`${E};
32
+ `,y.push(`* @param {${E}} params.${j}`);}c+="}, ";}y.push("*/"),a.push(`
29
33
  ${y.join(`
30
34
  `)}
31
35
  ${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(`
36
+ 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(o,"ontologyActions.ts"),await s(`
33
37
  import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
34
38
  ${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
35
39
  `)}
36
40
  export interface Actions {
37
- ${o.join(`
41
+ ${a.join(`
38
42
  `)}
39
43
  }
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(`
44
+ `));}function P(e,r){switch(e.type){case"objectSet":{let t=e.objectTypeApiName;return r.add(t),`ObjectSet<${t}>`}case"object":{let t=e.objectTypeApiName;return r.add(t),`${t}`}case"array":return `Array<${P(e.subType,r)}>`;case"string":return "string";case"boolean":return "boolean";case"attachment":return "Attachment";case"date":return "LocalDate";case"double":case"integer":case"long":return "number";case"timestamp":return "Timestamp";default:throw new Error(`Unsupported action parameter type: ${e}`)}}async function V(e,r){await e.writeFile(O__namespace.default.join(r,"FoundryClient.ts"),await s(`
41
45
  import { BaseFoundryClient } from "@osdk/legacy-client";
42
46
  import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
43
47
  import { Ontology } from "./Ontology";
@@ -50,7 +54,7 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.
50
54
  get ontology(): Ontology {
51
55
  return super.ontology;
52
56
  }
53
- }`));}async function V(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(O__namespace.join(r,"index.ts"),await s(`
57
+ }`));}async function L(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(O__namespace.join(r,"index.ts"),await s(`
54
58
  export {
55
59
  ActionExecutionMode,
56
60
  ActionResponse,
@@ -63,7 +67,7 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.
63
67
  DecimalType,
64
68
  DoubleType,
65
69
  FloatType,
66
- FoundryApiError,
70
+ FoundryApiError,
67
71
  GeoPoint,
68
72
  GeoPointType,
69
73
  GeoShape,
@@ -74,9 +78,9 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.
74
78
  LocalDate,
75
79
  LongType,
76
80
  ObjectType,
77
- Op,
81
+ Op,
78
82
  Polygon,
79
- ReturnEditsMode,
83
+ ReturnEditsMode,
80
84
  SetType,
81
85
  ShortType,
82
86
  StringType,
@@ -85,7 +89,10 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.
85
89
  TimeSeriesType,
86
90
  Timestamp,
87
91
  TimestampType,
88
- visitError,
92
+ visitError,
93
+ PublicClientAuth,
94
+ ConfidentialClientAuth,
95
+ UserTokenAuth
89
96
  } from '@osdk/legacy-client';
90
97
  export type {
91
98
  ActionError,
@@ -116,7 +123,7 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.
116
123
  } from '@osdk/legacy-client';
117
124
  export { Ontology } from "./Ontology";
118
125
  export { FoundryClient } from "./FoundryClient";
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(`
126
+ `));}function u(e){return e.join(",")}function w(e){return e.map(r=>`${r}: typeof ${r}`).join(",")}async function R(e,r,o){let t=Object.keys(e.objectTypes),a=e.actionTypes.map(i=>i.apiName),n=e.queryTypes.map(i=>i.apiName);await r.writeFile(O__namespace.default.join(o,"Ontology.ts"),await s(`
120
127
  import type { OntologyDefinition } from "@osdk/api";
121
128
  import type { Ontology as ClientOntology } from "@osdk/legacy-client";
122
129
  import type { Objects } from "./ontologyObjects";
@@ -124,22 +131,37 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.
124
131
  import type { Queries } from "./ontologyQueries";
125
132
  ${t.map(i=>`import {${i}} from "./objects/${i}";`).join(`
126
133
  `)}
127
- ${o.map(i=>`import {${i}} from "./actions/${i}";`).join(`
134
+ ${a.map(i=>`import {${i}} from "./actions/${i}";`).join(`
128
135
  `)}
129
136
  ${n.map(i=>`import {${i}} from "./queries/${i}";`).join(`
130
137
  `)}
131
138
 
132
- export const Ontology = {
139
+ export const Ontology : {
140
+ metadata: {
141
+ ontologyRid: "${e.rid}",
142
+ ontologyApiName: "${e.apiName}",
143
+ userAgent: "foundry-typescript-osdk/0.0.1",
144
+ },
145
+ objects: {
146
+ ${w(t)}
147
+ },
148
+ actions: {
149
+ ${w(a)}
150
+ },
151
+ queries: {
152
+ ${w(n)}
153
+ },
154
+ } = {
133
155
  metadata: {
134
- ontologyRid: "${e.rid}",
135
- ontologyApiName: "${e.apiName}",
136
- userAgent: "foundry-typescript-osdk/0.0.1",
156
+ ontologyRid: "${e.rid}" as const,
157
+ ontologyApiName: "${e.apiName}" as const,
158
+ userAgent: "foundry-typescript-osdk/0.0.1" as const,
137
159
  },
138
160
  objects: {
139
161
  ${u(t)}
140
162
  },
141
163
  actions: {
142
- ${u(o)}
164
+ ${u(a)}
143
165
  },
144
166
  queries: {
145
167
  ${u(n)}
@@ -150,7 +172,7 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
150
172
  objects: Objects;
151
173
  actions: Actions;
152
174
  queries: Queries;
153
- }`));}async function C(e,r,a){await r.writeFile(O__namespace.default.join(a,"ontologyObjects.ts"),await s(`
175
+ }`));}async function v(e,r,o){await r.writeFile(O__namespace.default.join(o,"ontologyObjects.ts"),await s(`
154
176
  import { BaseObjectSet } from "@osdk/legacy-client";
155
177
  import { ${u(Object.keys(e.objectTypes))} } from "./objects";
156
178
 
@@ -158,85 +180,83 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
158
180
  ${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
159
181
  `)}
160
182
  }
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(`
183
+ ;`));}function I(e){let r=$(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([o,t])=>[o,ye(t)])),displayName:e.displayName,description:e.description,modifiedEntities:ue(r.addedObjects,r.modifiedObjects)}}function ye(e){switch(e.dataType.type){case"string":case"boolean":case"object":case"attachment":case"date":case"double":case"integer":case"long":case"objectSet":case"timestamp":return {multiplicity:!1,type:A(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:A(e.dataType),nullable:!e.required,description:e.description}}}function A(e){switch(e.type){case"string":case"boolean":case"attachment":case"double":case"integer":case"long":case"timestamp":return e.type;case"date":return "datetime";case"objectSet":return {type:"objectSet",objectSet:e.objectTypeApiName};case"object":return {type:"object",object:e.objectTypeApiName};case"array":return A(e.subType)}}function ue(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 _(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let a=new Set(le(t));await r.writeFile(O__namespace.default.join(o,`${t.apiName}.ts`),await s(`
162
184
  import { ActionDefinition } from "@osdk/api";
163
185
 
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(`
186
+ export const ${t.apiName} = ${JSON.stringify(I(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${a.size>0?[...a].map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(O__namespace.default.join(o,"index.ts"),await s(`
165
187
  ${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
166
188
  `)}
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(`
189
+ `));}function le(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let a=q(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 q(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return q(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function K(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 U(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:S(e.dataType),nullable:!0};case"array":return {multiplicity:!0,description:e.description,type:S(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function S(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 S(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function h(e,r=[]){return {apiName:e.apiName,description:e.description,primaryKeyType:K(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,U(t)]))}}var fe=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","implements","interface","let","package","private","protected","public","static","yield"]);function G(e){return fe.has(e)}function B(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";
190
+ ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
169
191
  `)}
170
192
 
171
- /**
172
- * ${e.description}
173
- */
174
- export interface ${e.apiName} extends OntologyObject {
193
+ ${z(e.description)}export interface ${e.apiName} extends OntologyObject {
175
194
  readonly __apiName: "${e.apiName}";
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(`;
195
+ readonly __primaryKey: ${k(e.properties[e.primaryKey].dataType)};
196
+ ${Object.entries(e.properties).flatMap(([t,a])=>{let n=k(a.dataType),i=[`${z(a.description)}readonly ${t}: ${n} | undefined`];return G(t)&&i.push(`/** @deprecated please migrate to '${t}' instead */
197
+ readonly ${t}_: ${n} | undefined`),i}).join(`;
178
198
  `)}
179
- ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`).join(`;
199
+ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`]).join(`;
180
200
  `)}
181
201
  }
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?`/**
202
+ `}function k(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return k(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 z(e){return e?`/**
183
203
  * ${e}
184
204
  */
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(`
205
+ `:""}async function W(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(Object.values(e.objectTypes).map(async t=>{let a=e.linkTypes[t.apiName],n=new Set(a?.map(i=>i.objectTypeApiName));await r.writeFile(O__namespace.default.join(o,`${t.apiName}.ts`),await s(`
186
206
  import { ObjectDefinition } from "@osdk/api";
187
- ${U(t,o)}
207
+ ${B(t,a)}
188
208
 
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(`
209
+ export const ${t.apiName} = ${JSON.stringify(h(t,a),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${n.size>0?[...n].map(i=>`"${i}"`).join("|"):"never"}>;`));})),await r.writeFile(O__namespace.default.join(o,"index.ts"),await s(`
190
210
  ${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
191
211
  `)}
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(`
212
+ `));}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(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:Object.fromEntries(e.fields.map(t=>[t.name,p(t.fieldType)]))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:N(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:de(e)}};case"null":case"unsupported":throw new Error(`Accidentally tried to handle QueryDataType.type ${e.type}`);default:throw new Error(`Unsupported QueryDataType.type ${e.type}`)}}function N(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type};if(Y(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 de(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:N(e.valueType)};if(Y(e.keyType))return {keyType:e.keyType.type,valueType:N(e.valueType)};throw new Error(`Cannot create 3D aggregation with ${e.keyType.type} as its type`)}function Y(e){return e.type==="string"||e.type==="boolean"}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,ge(o)])),output:p(e.output)}}function ge(e){return {description:e.description,dataType:p(e.dataType)}}async function X(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{let a=be(t);await r.writeFile(O__namespace.default.join(o,`${t.apiName}.ts`),await s(`
193
213
  import { QueryDefinition } from "@osdk/api";
194
214
 
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(`
215
+ export const ${t.apiName} = ${JSON.stringify(Z(t))} satisfies QueryDefinition<"${t.apiName}", ${a.length>0?a.map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(O__namespace.default.join(o,"index.ts"),await s(`
196
216
  ${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
197
217
  `)}
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(`
218
+ `));}function be(e){let r=new Set;for(let{dataType:o}of Object.values(e.parameters))T(o,r);return T(e.output,r),Array.from(r)}function T(e,r){switch(e.type){case"array":case"set":T(e.subType,r);return;case"object":r.add(e.objectTypeApiName);return;case"objectSet":r.add(e.objectTypeApiName);return;case"struct":for(let t of Object.values(e.fields))T(t.fieldType,r);return;case"union":for(let t of e.unionTypes)T(t,r);return;case"attachment":case"boolean":case"date":case"double":case"float":case"integer":case"long":case"null":case"string":case"threeDimensionalAggregation":case"timestamp":case"twoDimensionalAggregation":case"unsupported":return;default:throw new Error(`Cannot find object types from unsupported QueryDataType ${e.type}`)}}async function re(e,r,o){let t=new Set,a=[];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 {${te(b)}} params.${y}${c.description?` - ${c.description}`:""}`);}let g=m.length===0?"":`params: { ${m.join("; ")} }`;i.push(`* @returns ${te(d)}`,"*/"),a.push(`
199
219
  ${i.join(`
200
220
  `)}
201
221
  ${n.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
202
- `);}await r.writeFile(`${a}/ontologyQueries.ts`,await s(`
222
+ `);}await r.writeFile(O__namespace.default.join(o,"ontologyQueries.ts"),await s(`
203
223
  import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
204
224
  ${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
205
225
  `)}
206
226
 
207
227
  export interface Queries {
208
- ${o.join(`
228
+ ${a.join(`
209
229
  `)}
210
230
  }
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)}
231
+ `));}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 n=l(a.fieldType);return `${a.name}${n?"?":""}: ${f(a.fieldType,r)}`}).join(`,
232
+ `)} }`;case"union":return e.unionTypes.map(a=>f(a,r)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
233
+ ${D(e.keyType)},
234
+ ${ee(e.valueType)}
215
235
  >`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
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 `
236
+ ${D(e.keyType)},
237
+ ${D(e.valueType.keyType)},
238
+ ${ee(e.valueType.valueType)}
239
+ >`;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 D(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<${je(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function je(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 ee(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 te(e){return e.replace(/\s/g,"")}async function $e(e,r,o){let t=F(e);await V(r,o),await R(t,r,o),await v(t,r,o),await W(t,r,O__namespace.join(o,"objects")),await Q(t,r,o),await _(t,r,O__namespace.join(o,"actions")),await re(t,r,o),await X(t,r,O__namespace.join(o,"queries")),await L(r,o);}function oe(e){return `
220
240
  export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
221
241
  apiName: "${e.apiName}";
222
242
  properties: {
223
- ${Object.entries(e.properties).map(([r,a])=>`
243
+ ${Object.entries(e.properties).map(([r,o])=>`
224
244
  /**
225
- * ${a.description??""}
245
+ * ${o.description??""}
226
246
  **/
227
247
  ${r}: {
228
- type: "${a.dataType.type}";
229
- displayName: "${a.displayName??r}";
248
+ type: "${o.dataType.type}";
249
+ displayName: "${o.displayName??r}";
230
250
  }
231
251
 
232
252
  `)}
233
253
  }
234
254
  }
235
- `}async function de(e,r,a){r.writeFile(`${a}/index.ts`,await s(`
255
+ `}async function we(e,r,o){r.writeFile(O__namespace.default.join(o,"index.ts"),await s(`
236
256
  export { Ontology } from "./Ontology";
237
- `));let t=Object.keys(e.objectTypes);r.writeFile(`${a}/Ontology.ts`,await s(`
257
+ `));let t=Object.keys(e.objectTypes);r.writeFile(O__namespace.default.join(o,"Ontology.ts"),await s(`
238
258
  import type { OntologyDefinition } from "@osdk/api";
239
- ${t.map(o=>`import {${o}} from "./objects/${o}";`).join(`
259
+ ${t.map(a=>`import {${a}} from "./objects/${a}";`).join(`
240
260
  `)}
241
261
 
242
262
  import { OntologyMetadata } from "./OntologyMetadata";
@@ -244,20 +264,20 @@ ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleL
244
264
  export const Ontology = {
245
265
  metadata: OntologyMetadata,
246
266
  objects: {
247
- ${t.map(o=>`${o}: ${o},`).join(`
267
+ ${t.map(a=>`${a}: ${a},`).join(`
248
268
  `)}
249
269
  },
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(`
270
+ } satisfies OntologyDefinition<${t.map(a=>`"${a}"`).join("|")}>;
271
+ `));for(let a of t){let n=e.objectTypes[a];r.writeFile(O__namespace.default.join(o,"objects",`${a}.ts`),await s(`
252
272
 
253
273
  import type { ObjectDefinition } from "@osdk/api";
254
274
 
255
- export const ${o} = ${JSON.stringify(w(n),null,2)} satisfies ${o};
275
+ export const ${a} = ${JSON.stringify(h(n),null,2)} satisfies ${a};
256
276
 
257
- ${X(n)}
277
+ ${oe(n)}
258
278
  `));}}
259
279
 
260
- exports.generateClientSdkVersionOneDotOne = fe;
261
- exports.generateClientSdkVersionTwoPointZero = de;
280
+ exports.generateClientSdkVersionOneDotOne = $e;
281
+ exports.generateClientSdkVersionTwoPointZero = we;
262
282
  //# sourceMappingURL=out.js.map
263
283
  //# sourceMappingURL=index.js.map