@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.
@@ -1,22 +1,23 @@
1
1
  import * as O from 'path';
2
2
  import O__default from 'path';
3
3
  import { format } from 'prettier';
4
+ import ie from 'prettier-plugin-organize-imports';
4
5
 
5
- 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 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: {
6
- `;for(let[j,b]of i){c+=`"${j}"`,c+=b.required?": ":"?: ";let D=F(b.dataType,t);c+=`${D};
7
- `,y.push(`* @param {${D}} params.${j}`);}c+="}, ";}y.push("*/"),o.push(`
6
+ 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 format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[ie],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: {
7
+ `;for(let[j,b]of i){c+=`"${j}"`,c+=b.required?": ":"?: ";let E=P(b.dataType,t);c+=`${E};
8
+ `,y.push(`* @param {${E}} params.${j}`);}c+="}, ";}y.push("*/"),a.push(`
8
9
  ${y.join(`
9
10
  `)}
10
11
  ${n.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(O__default.join(a,"ontologyActions.ts"),await s(`
12
+ Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(O__default.join(o,"ontologyActions.ts"),await s(`
12
13
  import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
13
14
  ${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
14
15
  `)}
15
16
  export interface Actions {
16
- ${o.join(`
17
+ ${a.join(`
17
18
  `)}
18
19
  }
19
- `));}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__default.join(r,"FoundryClient.ts"),await s(`
20
+ `));}function P(e,r){switch(e.type){case"objectSet":{let t=e.objectTypeApiName;return r.add(t),`ObjectSet<${t}>`}case"object":{let t=e.objectTypeApiName;return r.add(t),`${t}`}case"array":return `Array<${P(e.subType,r)}>`;case"string":return "string";case"boolean":return "boolean";case"attachment":return "Attachment";case"date":return "LocalDate";case"double":case"integer":case"long":return "number";case"timestamp":return "Timestamp";default:throw new Error(`Unsupported action parameter type: ${e}`)}}async function V(e,r){await e.writeFile(O__default.join(r,"FoundryClient.ts"),await s(`
20
21
  import { BaseFoundryClient } from "@osdk/legacy-client";
21
22
  import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
22
23
  import { Ontology } from "./Ontology";
@@ -29,7 +30,7 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.
29
30
  get ontology(): Ontology {
30
31
  return super.ontology;
31
32
  }
32
- }`));}async function V(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(O.join(r,"index.ts"),await s(`
33
+ }`));}async function L(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(O.join(r,"index.ts"),await s(`
33
34
  export {
34
35
  ActionExecutionMode,
35
36
  ActionResponse,
@@ -42,7 +43,7 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.
42
43
  DecimalType,
43
44
  DoubleType,
44
45
  FloatType,
45
- FoundryApiError,
46
+ FoundryApiError,
46
47
  GeoPoint,
47
48
  GeoPointType,
48
49
  GeoShape,
@@ -53,9 +54,9 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.
53
54
  LocalDate,
54
55
  LongType,
55
56
  ObjectType,
56
- Op,
57
+ Op,
57
58
  Polygon,
58
- ReturnEditsMode,
59
+ ReturnEditsMode,
59
60
  SetType,
60
61
  ShortType,
61
62
  StringType,
@@ -64,7 +65,10 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.
64
65
  TimeSeriesType,
65
66
  Timestamp,
66
67
  TimestampType,
67
- visitError,
68
+ visitError,
69
+ PublicClientAuth,
70
+ ConfidentialClientAuth,
71
+ UserTokenAuth
68
72
  } from '@osdk/legacy-client';
69
73
  export type {
70
74
  ActionError,
@@ -95,7 +99,7 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.
95
99
  } from '@osdk/legacy-client';
96
100
  export { Ontology } from "./Ontology";
97
101
  export { FoundryClient } from "./FoundryClient";
98
- `));}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__default.join(a,"Ontology.ts"),await s(`
102
+ `));}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__default.join(o,"Ontology.ts"),await s(`
99
103
  import type { OntologyDefinition } from "@osdk/api";
100
104
  import type { Ontology as ClientOntology } from "@osdk/legacy-client";
101
105
  import type { Objects } from "./ontologyObjects";
@@ -103,22 +107,37 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.
103
107
  import type { Queries } from "./ontologyQueries";
104
108
  ${t.map(i=>`import {${i}} from "./objects/${i}";`).join(`
105
109
  `)}
106
- ${o.map(i=>`import {${i}} from "./actions/${i}";`).join(`
110
+ ${a.map(i=>`import {${i}} from "./actions/${i}";`).join(`
107
111
  `)}
108
112
  ${n.map(i=>`import {${i}} from "./queries/${i}";`).join(`
109
113
  `)}
110
114
 
111
- export const Ontology = {
115
+ export const Ontology : {
112
116
  metadata: {
113
- ontologyRid: "${e.rid}",
114
- ontologyApiName: "${e.apiName}",
115
- userAgent: "foundry-typescript-osdk/0.0.1",
117
+ ontologyRid: "${e.rid}",
118
+ ontologyApiName: "${e.apiName}",
119
+ userAgent: "foundry-typescript-osdk/0.0.1",
120
+ },
121
+ objects: {
122
+ ${w(t)}
123
+ },
124
+ actions: {
125
+ ${w(a)}
126
+ },
127
+ queries: {
128
+ ${w(n)}
129
+ },
130
+ } = {
131
+ metadata: {
132
+ ontologyRid: "${e.rid}" as const,
133
+ ontologyApiName: "${e.apiName}" as const,
134
+ userAgent: "foundry-typescript-osdk/0.0.1" as const,
116
135
  },
117
136
  objects: {
118
137
  ${u(t)}
119
138
  },
120
139
  actions: {
121
- ${u(o)}
140
+ ${u(a)}
122
141
  },
123
142
  queries: {
124
143
  ${u(n)}
@@ -129,7 +148,7 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
129
148
  objects: Objects;
130
149
  actions: Actions;
131
150
  queries: Queries;
132
- }`));}async function C(e,r,a){await r.writeFile(O__default.join(a,"ontologyObjects.ts"),await s(`
151
+ }`));}async function v(e,r,o){await r.writeFile(O__default.join(o,"ontologyObjects.ts"),await s(`
133
152
  import { BaseObjectSet } from "@osdk/legacy-client";
134
153
  import { ${u(Object.keys(e.objectTypes))} } from "./objects";
135
154
 
@@ -137,85 +156,83 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
137
156
  ${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
138
157
  `)}
139
158
  }
140
- ;`));}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__default.join(a,`${t.apiName}.ts`),await s(`
159
+ ;`));}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__default.join(o,`${t.apiName}.ts`),await s(`
141
160
  import { ActionDefinition } from "@osdk/api";
142
161
 
143
- 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__default.join(a,"index.ts"),await s(`
162
+ 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__default.join(o,"index.ts"),await s(`
144
163
  ${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
145
164
  `)}
146
- `));}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";
147
- ${Array.from(a).map(t=>`import type { ${t} } from "./${t}";`).join(`
165
+ `));}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";
166
+ ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
148
167
  `)}
149
168
 
150
- /**
151
- * ${e.description}
152
- */
153
- export interface ${e.apiName} extends OntologyObject {
169
+ ${z(e.description)}export interface ${e.apiName} extends OntologyObject {
154
170
  readonly __apiName: "${e.apiName}";
155
- readonly __primaryKey: ${N(e.properties[e.primaryKey].dataType)};
156
- ${Object.entries(e.properties).map(([t,o])=>`${pe(o.description)}readonly ${t}: ${N(o.dataType)} | undefined`).join(`;
171
+ readonly __primaryKey: ${k(e.properties[e.primaryKey].dataType)};
172
+ ${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 */
173
+ readonly ${t}_: ${n} | undefined`),i}).join(`;
157
174
  `)}
158
- ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`).join(`;
175
+ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`]).join(`;
159
176
  `)}
160
177
  }
161
- `}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?`/**
178
+ `}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?`/**
162
179
  * ${e}
163
180
  */
164
- `:""}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__default.join(a,`${t.apiName}.ts`),await s(`
181
+ `:""}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__default.join(o,`${t.apiName}.ts`),await s(`
165
182
  import { ObjectDefinition } from "@osdk/api";
166
- ${U(t,o)}
183
+ ${B(t,a)}
167
184
 
168
- 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__default.join(a,"index.ts"),await s(`
185
+ 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__default.join(o,"index.ts"),await s(`
169
186
  ${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
170
187
  `)}
171
- `));}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__default.join(a,`${t.apiName}.ts`),await s(`
188
+ `));}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__default.join(o,`${t.apiName}.ts`),await s(`
172
189
  import { QueryDefinition } from "@osdk/api";
173
190
 
174
- 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__default.join(a,"index.ts"),await s(`
191
+ 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__default.join(o,"index.ts"),await s(`
175
192
  ${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
176
193
  `)}
177
- `));}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(`
194
+ `));}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(`
178
195
  ${i.join(`
179
196
  `)}
180
197
  ${n.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
181
- `);}await r.writeFile(`${a}/ontologyQueries.ts`,await s(`
198
+ `);}await r.writeFile(O__default.join(o,"ontologyQueries.ts"),await s(`
182
199
  import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
183
200
  ${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
184
201
  `)}
185
202
 
186
203
  export interface Queries {
187
- ${o.join(`
204
+ ${a.join(`
188
205
  `)}
189
206
  }
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 n=l(o.fieldType);return `${o.name}${n?"?":""}: ${f(o.fieldType,r)}`}).join(`,
191
- `)} }`;case"union":return e.unionTypes.map(o=>f(o,r)).join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
192
- ${k(e.keyType)},
193
- ${Y(e.valueType)}
207
+ `));}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(`,
208
+ `)} }`;case"union":return e.unionTypes.map(a=>f(a,r)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
209
+ ${D(e.keyType)},
210
+ ${ee(e.valueType)}
194
211
  >`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
195
- ${k(e.keyType)},
196
- ${k(e.valueType.keyType)},
197
- ${Y(e.valueType.valueType)}
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 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.join(a,"objects")),await E(t,r,a),await I(t,r,O.join(a,"actions")),await H(t,r,a),await W(t,r,O.join(a,"queries")),await V(r,a);}function X(e){return `
212
+ ${D(e.keyType)},
213
+ ${D(e.valueType.keyType)},
214
+ ${ee(e.valueType.valueType)}
215
+ >`;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.join(o,"objects")),await Q(t,r,o),await _(t,r,O.join(o,"actions")),await re(t,r,o),await X(t,r,O.join(o,"queries")),await L(r,o);}function oe(e){return `
199
216
  export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
200
217
  apiName: "${e.apiName}";
201
218
  properties: {
202
- ${Object.entries(e.properties).map(([r,a])=>`
219
+ ${Object.entries(e.properties).map(([r,o])=>`
203
220
  /**
204
- * ${a.description??""}
221
+ * ${o.description??""}
205
222
  **/
206
223
  ${r}: {
207
- type: "${a.dataType.type}";
208
- displayName: "${a.displayName??r}";
224
+ type: "${o.dataType.type}";
225
+ displayName: "${o.displayName??r}";
209
226
  }
210
227
 
211
228
  `)}
212
229
  }
213
230
  }
214
- `}async function de(e,r,a){r.writeFile(`${a}/index.ts`,await s(`
231
+ `}async function we(e,r,o){r.writeFile(O__default.join(o,"index.ts"),await s(`
215
232
  export { Ontology } from "./Ontology";
216
- `));let t=Object.keys(e.objectTypes);r.writeFile(`${a}/Ontology.ts`,await s(`
233
+ `));let t=Object.keys(e.objectTypes);r.writeFile(O__default.join(o,"Ontology.ts"),await s(`
217
234
  import type { OntologyDefinition } from "@osdk/api";
218
- ${t.map(o=>`import {${o}} from "./objects/${o}";`).join(`
235
+ ${t.map(a=>`import {${a}} from "./objects/${a}";`).join(`
219
236
  `)}
220
237
 
221
238
  import { OntologyMetadata } from "./OntologyMetadata";
@@ -223,19 +240,19 @@ ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleL
223
240
  export const Ontology = {
224
241
  metadata: OntologyMetadata,
225
242
  objects: {
226
- ${t.map(o=>`${o}: ${o},`).join(`
243
+ ${t.map(a=>`${a}: ${a},`).join(`
227
244
  `)}
228
245
  },
229
- } satisfies OntologyDefinition<${t.map(o=>`"${o}"`).join("|")}>;
230
- `));for(let o of t){let n=e.objectTypes[o];r.writeFile(`${a}/objects/${o}.ts`,await s(`
246
+ } satisfies OntologyDefinition<${t.map(a=>`"${a}"`).join("|")}>;
247
+ `));for(let a of t){let n=e.objectTypes[a];r.writeFile(O__default.join(o,"objects",`${a}.ts`),await s(`
231
248
 
232
249
  import type { ObjectDefinition } from "@osdk/api";
233
250
 
234
- export const ${o} = ${JSON.stringify(w(n),null,2)} satisfies ${o};
251
+ export const ${a} = ${JSON.stringify(h(n),null,2)} satisfies ${a};
235
252
 
236
- ${X(n)}
253
+ ${oe(n)}
237
254
  `));}}
238
255
 
239
- export { fe as generateClientSdkVersionOneDotOne, de as generateClientSdkVersionTwoPointZero };
256
+ export { $e as generateClientSdkVersionOneDotOne, we as generateClientSdkVersionTwoPointZero };
240
257
  //# sourceMappingURL=out.js.map
241
258
  //# sourceMappingURL=index.mjs.map