@osdk/generator 0.0.11 → 0.0.13

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,23 +1,23 @@
1
- import * as j from 'path';
2
- import j__default from 'path';
1
+ import * as b from 'path';
2
+ import b__default, { join } from 'path';
3
3
  import { format } from 'prettier';
4
- import ce from 'prettier-plugin-organize-imports';
4
+ import pe from 'prettier-plugin-organize-imports';
5
5
 
6
- function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.apiName)}))}}function ie(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 c(e){return format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[ce],tabWidth:2,printWidth:120})}async function Q(e,r,o){let t=new Set,a=[];for(let n of e.actionTypes){let s=Object.entries(n.parameters),y=$(n),m=Array.from(y.addedObjects),l=Array.from(y.modifiedObjects);m.forEach(t.add,t),l.forEach(t.add,t);let i=["/**"];n.description&&i.push(`* ${n.description}`);let p="";if(s.length>0){p=`params: {
7
- `;for(let[f,b]of s){p+=`"${f}"`,p+=b.required?": ":"?: ";let E=P(b.dataType,t);p+=`${E};
8
- `,i.push(`* @param {${E}} params.${f}`);}p+="}, ";}i.push("*/"),a.push(`
6
+ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:se(r.apiName)}))}}function se(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 c(e){return format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[pe],tabWidth:2,printWidth:120})}async function Q(e,r,o){let t=new Set,n=[];for(let a of e.actionTypes){let s=Object.entries(a.parameters),y=$(a),m=Array.from(y.addedObjects),l=Array.from(y.modifiedObjects);m.forEach(t.add,t),l.forEach(t.add,t);let i=["/**"];a.description&&i.push(`* ${a.description}`);let p="";if(s.length>0){p=`params: {
7
+ `;for(let[f,T]of s){p+=`"${f}"`,p+=T.required?": ":"?: ";let E=P(T.dataType,t);p+=`${E};
8
+ `,i.push(`* @param {${E}} params.${f}`);}p+="}, ";}i.push("*/"),n.push(`
9
9
  ${i.join(`
10
10
  `)}
11
- ${n.apiName}<O extends ActionExecutionOptions>(${p}options?: O):
12
- Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${l.length>0?l.join(" | "):"void"}>>, ActionError>>;`);}await r.mkdir(o,{recursive:!0}),await r.writeFile(j__default.join(o,"Actions.ts"),await c(`
11
+ ${a.apiName}<O extends ActionExecutionOptions>(${p}options?: O):
12
+ Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${l.length>0?l.join(" | "):"void"}>>, ActionError>>;`);}await r.mkdir(o,{recursive:!0}),await r.writeFile(b__default.join(o,"Actions.ts"),await c(`
13
13
  import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
14
- ${Array.from(t).map(n=>`import type { ${n} } from "../objects/${n}";`).join(`
14
+ ${Array.from(t).map(a=>`import type { ${a} } from "../objects/${a}";`).join(`
15
15
  `)}
16
16
  export interface Actions {
17
- ${a.join(`
17
+ ${n.join(`
18
18
  `)}
19
19
  }
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} | ${t}["__primaryKey"]`}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(j__default.join(r,"FoundryClient.ts"),await c(`
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} | ${t}["__primaryKey"]`}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(b__default.join(r,"FoundryClient.ts"),await c(`
21
21
  import { BaseFoundryClient } from "@osdk/legacy-client";
22
22
  import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
23
23
  import { Ontology } from "./Ontology";
@@ -30,7 +30,7 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
30
30
  get ontology(): Ontology {
31
31
  return super.ontology;
32
32
  }
33
- }`));}async function C(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j.join(r,"index.ts"),await c(`
33
+ }`));}async function C(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(b.join(r,"index.ts"),await c(`
34
34
  export {
35
35
  ActionExecutionMode,
36
36
  ActionResponse,
@@ -99,7 +99,7 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
99
99
  } from '@osdk/legacy-client';
100
100
  export { Ontology } from "./Ontology";
101
101
  export { FoundryClient } from "./FoundryClient";
102
- `));}function w(e,r){return e.map(o=>{let t=r?.get(o);return t?`${o}: ${t}`:o}).join(",")}function h(e,r){return e.map(o=>`${o}: typeof ${r?.get(o)??o}`).join(",")}async function I(e,r,o){let t=Object.keys(e.objectTypes),a=e.actionTypes.map(i=>i.apiName),n=e.queryTypes.map(i=>i.apiName),s=new Map,y=new Map,m=new Set(t);for(let i of a)m.has(i)?s.set(i,`${i}Action`):m.add(i);for(let i of n)m.has(i)&&y.set(i,`${i}Query`);let l=(i,p)=>{let f=p.get(i);return f?`${i} as ${f}`:i};await r.writeFile(j__default.join(o,"Ontology.ts"),await c(`
102
+ `));}function w(e,r){return e.map(o=>{let t=r?.get(o);return t?`${o}: ${t}`:o}).join(",")}function h(e,r){return e.map(o=>`${o}: typeof ${r?.get(o)??o}`).join(",")}async function I(e,r,o){let t=Object.keys(e.objectTypes),n=e.actionTypes.map(i=>i.apiName),a=e.queryTypes.map(i=>i.apiName),s=new Map,y=new Map,m=new Set(t);for(let i of n)m.has(i)?s.set(i,`${i}Action`):m.add(i);for(let i of a)m.has(i)&&y.set(i,`${i}Query`);let l=(i,p)=>{let f=p.get(i);return f?`${i} as ${f}`:i};await r.writeFile(b__default.join(o,"Ontology.ts"),await c(`
103
103
  import type { OntologyDefinition } from "@osdk/api";
104
104
  import type { Ontology as ClientOntology } from "@osdk/legacy-client";
105
105
  import type { Objects } from "./ontology/objects/Objects";
@@ -107,9 +107,9 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
107
107
  import type { Queries } from "./ontology/queries/Queries";
108
108
  ${t.map(i=>`import {${i}} from "./ontology/objects/${i}";`).join(`
109
109
  `)}
110
- ${a.map(i=>`import {${l(i,s)}} from "./ontology/actions/${i}";`).join(`
110
+ ${n.map(i=>`import {${l(i,s)}} from "./ontology/actions/${i}";`).join(`
111
111
  `)}
112
- ${n.map(i=>`import {${l(i,y)}} from "./ontology/queries/${i}";`).join(`
112
+ ${a.map(i=>`import {${l(i,y)}} from "./ontology/queries/${i}";`).join(`
113
113
  `)}
114
114
 
115
115
  export const Ontology : {
@@ -122,10 +122,10 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
122
122
  ${h(t)}
123
123
  },
124
124
  actions: {
125
- ${h(a,s)}
125
+ ${h(n,s)}
126
126
  },
127
127
  queries: {
128
- ${h(n,y)}
128
+ ${h(a,y)}
129
129
  },
130
130
  } = {
131
131
  metadata: {
@@ -137,10 +137,10 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
137
137
  ${w(t)}
138
138
  },
139
139
  actions: {
140
- ${w(a,s)}
140
+ ${w(n,s)}
141
141
  },
142
142
  queries: {
143
- ${w(n,y)}
143
+ ${w(a,y)}
144
144
  }
145
145
  } satisfies OntologyDefinition<${t.map(i=>`"${i}"`).join("|")}, ${e.actionTypes.map(i=>`"${i.apiName}"`).join("|")}, ${e.queryTypes.map(i=>`"${i.apiName}"`).join("|")}>;
146
146
 
@@ -148,7 +148,7 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
148
148
  objects: Objects;
149
149
  actions: Actions;
150
150
  queries: Queries;
151
- }`));}async function L(e,r,o){await r.mkdir(o,{recursive:!0}),await r.writeFile(j__default.join(o,"Objects.ts"),await c(`
151
+ }`));}async function L(e,r,o){await r.mkdir(o,{recursive:!0}),await r.writeFile(b__default.join(o,"Objects.ts"),await c(`
152
152
  import { BaseObjectSet } from "@osdk/legacy-client";
153
153
  ${Array.from(Object.keys(e.objectTypes)).map(t=>`import type { ${t} } from "./${t}";`).join(`
154
154
  `)}
@@ -157,67 +157,68 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
157
157
  ${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
158
158
  `)}
159
159
  }
160
- ;`));}async function M(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j.join(r,"index.ts"),await c(`
160
+ ;`));}async function V(e,r,o){await r.mkdir(o,{recursive:!0});for(let{apiName:t}of Object.values(e.objectTypes)){let n=join(o,`${t}.ts`),a=[];a.push('import { ObjectSetAggregateArg, ObjectSetFilterArg, ObjectSetGroupByArg, ObjectSetMultipleAggregateArg, ObjectSetOrderByArg } from "@osdk/legacy-client";'),a.push(`import { ${t} } from "../${t}";`),a.push(""),a.push(`export type ${t}Filter = ObjectSetFilterArg<${t}>;`),a.push(`export type ${t}OrderBy = ObjectSetOrderByArg<${t}>;`),a.push(`export type ${t}GroupByProperties = ObjectSetGroupByArg<${t}>;`),a.push(`/** Aggregation properties for ${t}. */`,`export type ${t}AggregationProperties = ObjectSetAggregateArg<${t}>;`),a.push(`/** Multiple aggregation properties for ${t}. */`,`export type ${t}MultipleAggregationProperties = ObjectSetMultipleAggregateArg<${t}>;`),await r.writeFile(n,a.join(`
161
+ `));}}async function _(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(b.join(r,"index.ts"),await c(`
161
162
  export type { ObjectSet } from "@osdk/legacy-client";
162
- `));}function _(e){let r=$(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([o,t])=>[o,ue(t)])),displayName:e.displayName,description:e.description,modifiedEntities:fe(r.addedObjects,r.modifiedObjects)}}function ue(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 fe(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 K(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let a=new Set(de(t));await r.writeFile(j__default.join(o,`${t.apiName}.ts`),await c(`
163
+ `));}function q(e){let r=$(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([o,t])=>[o,de(t)])),displayName:e.displayName,description:e.description,modifiedEntities:ge(r.addedObjects,r.modifiedObjects)}}function de(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 ge(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 K(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let n=new Set(be(t));await r.writeFile(b__default.join(o,`${t.apiName}.ts`),await c(`
163
164
  import { ActionDefinition } from "@osdk/api";
164
165
 
165
- export const ${t.apiName} = ${JSON.stringify(_(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${a.size>0?[...a].map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(j__default.join(o,"index.ts"),await c(`
166
+ export const ${t.apiName} = ${JSON.stringify(q(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${n.size>0?[...n].map(a=>`"${a}"`).join("|"):"never"}>;`));})),await r.writeFile(b__default.join(o,"index.ts"),await c(`
166
167
  ${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
167
168
  `)}
168
- `));}function de(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let a=U(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 U(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return U(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function G(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 z(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:k(e.dataType),nullable:!0};case"array":return {multiplicity:!0,description:e.description,type:k(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function k(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 k(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function O(e,r=[]){return {apiName:e.apiName,description:e.description,primaryKeyType:G(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,z(t)]))}}var ge=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 B(e){return ge.has(e)}function W(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";
169
+ `));}function be(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let n=G(t);return n?[n]:[]});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 G(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return G(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function U(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 z(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 O(e,r=[]){return {apiName:e.apiName,description:e.description,primaryKeyType:U(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,z(t)]))}}var Te=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 J(e){return Te.has(e)}function Y(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";
169
170
  ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
170
171
  `)}
171
172
 
172
- ${J(e.description)}export interface ${e.apiName} extends OntologyObject {
173
+ ${W(e.description)}export interface ${e.apiName} extends OntologyObject {
173
174
  readonly __apiName: "${e.apiName}";
174
- readonly __primaryKey: ${S(e.properties[e.primaryKey].dataType)};
175
- ${Object.entries(e.properties).flatMap(([t,a])=>{let n=S(a.dataType),s=[`${J(a.description)}readonly ${t}: ${n} | undefined`];return B(t)&&s.push(`/** @deprecated please migrate to '${t}' instead */
176
- readonly ${t}_: ${n} | undefined`),s}).join(`;
175
+ readonly __primaryKey: ${k(e.properties[e.primaryKey].dataType)};
176
+ ${Object.entries(e.properties).flatMap(([t,n])=>{let a=k(n.dataType),s=[`${W(n.description)}readonly ${t}: ${a} | undefined`];return J(t)&&s.push(`/** @deprecated please migrate to '${t}' instead */
177
+ readonly ${t}_: ${a} | undefined`),s}).join(`;
177
178
  `)}
178
179
  ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`]).join(`;
179
180
  `)}
180
181
  }
181
- `}function S(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return S(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 J(e){return e?`/**
182
+ `}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 W(e){return e?`/**
182
183
  * ${e}
183
184
  */
184
- `:""}async function Z(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(s=>s.objectTypeApiName));await r.writeFile(j__default.join(o,`${t.apiName}.ts`),await c(`
185
+ `:""}async function H(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(Object.values(e.objectTypes).map(async t=>{let n=e.linkTypes[t.apiName],a=new Set(n?.map(s=>s.objectTypeApiName));await r.writeFile(b__default.join(o,`${t.apiName}.ts`),await c(`
185
186
  import { ObjectDefinition } from "@osdk/api";
186
- ${W(t,a)}
187
+ ${Y(t,n)}
187
188
 
188
- export const ${t.apiName} = ${JSON.stringify(O(t,a),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${n.size>0?[...n].map(s=>`"${s}"`).join("|"):"never"}>;`));})),await r.writeFile(j__default.join(o,"index.ts"),await c(`
189
+ export const ${t.apiName} = ${JSON.stringify(O(t,n),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${a.size>0?[...a].map(s=>`"${s}"`).join("|"):"never"}>;`));})),await r.writeFile(b__default.join(o,"index.ts"),await c(`
189
190
  ${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
190
191
  `)}
191
192
  export type { ObjectSet } from "@osdk/legacy-client";
192
193
 
193
- `));}function d(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(r=>d(r)):!1}function u(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 {...u(e.subType),multiplicity:!0};case"set":return {type:{type:"set",set:u(e.subType)},nullable:!1};case"union":let r=d(e);if(r&&e.unionTypes.length===2){let t=e.unionTypes.find(a=>a.type!==null);if(t)return {...u(t),nullable:!0}}return {type:{type:"union",union:e.unionTypes.reduce((t,a)=>(a.type==="null"||t.push(u(a)),t),[])},nullable:r};case"struct":return {type:{type:"struct",struct:Object.fromEntries(e.fields.map(t=>[t.name,u(t.fieldType)]))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:N(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:be(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(H(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 be(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:N(e.valueType)};if(H(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 H(e){return e.type==="string"||e.type==="boolean"}function X(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,Te(o)])),output:u(e.output)}}function Te(e){return {description:e.description,dataType:u(e.dataType)}}async function te(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{let a=je(t);await r.writeFile(j__default.join(o,`${t.apiName}.ts`),await c(`
194
+ `));}function d(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(r=>d(r)):!1}function u(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 {...u(e.subType),multiplicity:!0};case"set":return {type:{type:"set",set:u(e.subType)},nullable:!1};case"union":let r=d(e);if(r&&e.unionTypes.length===2){let t=e.unionTypes.find(n=>n.type!==null);if(t)return {...u(t),nullable:!0}}return {type:{type:"union",union:e.unionTypes.reduce((t,n)=>(n.type==="null"||t.push(u(n)),t),[])},nullable:r};case"struct":return {type:{type:"struct",struct:Object.fromEntries(e.fields.map(t=>[t.name,u(t.fieldType)]))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:N(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:je(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(X(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 je(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:N(e.valueType)};if(X(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 X(e){return e.type==="string"||e.type==="boolean"}function ee(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,$e(o)])),output:u(e.output)}}function $e(e){return {description:e.description,dataType:u(e.dataType)}}async function re(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{let n=we(t);await r.writeFile(b__default.join(o,`${t.apiName}.ts`),await c(`
194
195
  import { QueryDefinition } from "@osdk/api";
195
196
 
196
- export const ${t.apiName} = ${JSON.stringify(X(t))} satisfies QueryDefinition<"${t.apiName}", ${a.length>0?a.map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(j__default.join(o,"index.ts"),await c(`
197
+ export const ${t.apiName} = ${JSON.stringify(ee(t))} satisfies QueryDefinition<"${t.apiName}", ${n.length>0?n.map(a=>`"${a}"`).join("|"):"never"}>;`));})),await r.writeFile(b__default.join(o,"index.ts"),await c(`
197
198
  ${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
198
199
  `)}
199
- `));}function je(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 ae(e,r,o){let t=new Set,a=[];for(let n of e.queryTypes){let s=["/**"];n.description&&s.push(`* ${n.description}`);let y=g(n.output,t),m=[];for(let[i,p]of Object.entries(n.parameters)){let f=d(p.dataType),b=g(p.dataType,t);m.push(`"${i}"${f?"?":""}: ${b}`),s.push(`* @param {${oe(b)}} params.${i}${p.description?` - ${p.description}`:""}`);}let l=m.length===0?"":`params: { ${m.join("; ")} }`;s.push(`* @returns ${oe(y)}`,"*/"),a.push(`
200
+ `));}function we(e){let r=new Set;for(let{dataType:o}of Object.values(e.parameters))j(o,r);return j(e.output,r),Array.from(r)}function j(e,r){switch(e.type){case"array":case"set":j(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))j(t.fieldType,r);return;case"union":for(let t of e.unionTypes)j(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 ne(e,r,o){let t=new Set,n=[];for(let a of e.queryTypes){let s=["/**"];a.description&&s.push(`* ${a.description}`);let y=g(a.output,t,!0),m=[];for(let[i,p]of Object.entries(a.parameters)){let f=d(p.dataType),T=g(p.dataType,t,!1);m.push(`"${i}"${f?"?":""}: ${T}`),s.push(`* @param {${ae(T)}} params.${i}${p.description?` - ${p.description}`:""}`);}let l=m.length===0?"":`params: { ${m.join("; ")} }`;s.push(`* @returns ${ae(y)}`,"*/"),n.push(`
200
201
  ${s.join(`
201
202
  `)}
202
- ${n.apiName}(${l}): Promise<Result<QueryResponse<${y}>, QueryError>>;
203
- `);}await r.mkdir(o,{recursive:!0}),await r.writeFile(j__default.join(o,"Queries.ts"),await c(`
203
+ ${a.apiName}(${l}): Promise<Result<QueryResponse<${y}>, QueryError>>;
204
+ `);}await r.mkdir(o,{recursive:!0}),await r.writeFile(b__default.join(o,"Queries.ts"),await c(`
204
205
  import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
205
- ${Array.from(t).map(n=>`import type { ${n} } from "../objects/${n}";`).join(`
206
+ ${Array.from(t).map(a=>`import type { ${a} } from "../objects/${a}";`).join(`
206
207
  `)}
207
208
 
208
209
  export interface Queries {
209
- ${a.join(`
210
+ ${n.join(`
210
211
  `)}
211
212
  }
212
- `));}function g(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<${g(e.subType,r)}>`;case"object":{let a=e.objectTypeApiName;return r.add(a),`${a} | ${a}["__primaryKey"]`}case"objectSet":{let a=e.objectTypeApiName;return r.add(a),`ObjectSet<${a}>`}case"set":return `Set<${g(e.subType,r)}>`;case"struct":return `{ ${e.fields.map(a=>{let n=d(a.fieldType);return `${a.name}${n?"?":""}: ${g(a.fieldType,r)}`}).join(`,
213
- `)} }`;case"union":return e.unionTypes.map(a=>g(a,r)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
213
+ `));}function g(e,r,o){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<${g(e.subType,r,o)}>`;case"object":{let a=e.objectTypeApiName;return r.add(a),o?a:`${a} | ${a}["__primaryKey"]`}case"objectSet":{let a=e.objectTypeApiName;return r.add(a),`ObjectSet<${a}>`}case"set":return `Set<${g(e.subType,r,o)}>`;case"struct":return `{ ${e.fields.map(a=>{let s=d(a.fieldType);return `${a.name}${s?"?":""}: ${g(a.fieldType,r,o)}`}).join(`,
214
+ `)} }`;case"union":return e.unionTypes.map(a=>g(a,r,o)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
214
215
  ${x(e.keyType)},
215
- ${re(e.valueType)}
216
+ ${oe(e.valueType)}
216
217
  >`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
217
218
  ${x(e.keyType)},
218
219
  ${x(e.valueType.keyType)},
219
- ${re(e.valueType.valueType)}
220
- >`;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 x(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<${we(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function we(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 re(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 oe(e){return e.replace(/\s/g,"")}async function he(e,r,o){let t=j.join(o,"ontology","objects"),a=j.join(o,"ontology","actions"),n=j.join(o,"ontology","queries"),s=F(e);await v(r,o),await I(s,r,o),await M(r,j.join(o,"ontology")),await L(s,r,t),await Z(s,r,t),await Q(s,r,a),await K(s,r,a),await ae(s,r,n),await te(s,r,n),await C(r,o);}function ne(e){return `
220
+ ${oe(e.valueType.valueType)}
221
+ >`;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 x(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<${Oe(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function Oe(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 oe(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 ae(e){return e.replace(/\s/g,"")}async function Ae(e,r,o){let t=b.join(o,"ontology","objects"),n=b.join(o,"ontology","actions"),a=b.join(o,"ontology","queries"),s=F(e);await v(r,o),await I(s,r,o),await _(r,b.join(o,"ontology")),await L(s,r,t),await V(s,r,b.join(t,"objects-api")),await H(s,r,t),await Q(s,r,n),await K(s,r,n),await ne(s,r,a),await re(s,r,a),await C(r,o);}function ie(e){return `
221
222
  export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
222
223
  apiName: "${e.apiName}";
223
224
  properties: {
@@ -233,11 +234,11 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
233
234
  `)}
234
235
  }
235
236
  }
236
- `}async function Oe(e,r,o){r.writeFile(j__default.join(o,"index.ts"),await c(`
237
+ `}async function Se(e,r,o){r.writeFile(b__default.join(o,"index.ts"),await c(`
237
238
  export { Ontology } from "./Ontology";
238
- `));let t=Object.keys(e.objectTypes);r.writeFile(j__default.join(o,"Ontology.ts"),await c(`
239
+ `));let t=Object.keys(e.objectTypes);r.writeFile(b__default.join(o,"Ontology.ts"),await c(`
239
240
  import type { OntologyDefinition } from "@osdk/api";
240
- ${t.map(a=>`import {${a}} from "./objects/${a}";`).join(`
241
+ ${t.map(n=>`import {${n}} from "./objects/${n}";`).join(`
241
242
  `)}
242
243
 
243
244
  import { OntologyMetadata } from "./OntologyMetadata";
@@ -245,19 +246,19 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
245
246
  export const Ontology = {
246
247
  metadata: OntologyMetadata,
247
248
  objects: {
248
- ${t.map(a=>`${a}: ${a},`).join(`
249
+ ${t.map(n=>`${n}: ${n},`).join(`
249
250
  `)}
250
251
  },
251
- } satisfies OntologyDefinition<${t.map(a=>`"${a}"`).join("|")}>;
252
- `));for(let a of t){let n=e.objectTypes[a];r.writeFile(j__default.join(o,"objects",`${a}.ts`),await c(`
252
+ } satisfies OntologyDefinition<${t.map(n=>`"${n}"`).join("|")}>;
253
+ `));for(let n of t){let a=e.objectTypes[n];r.writeFile(b__default.join(o,"objects",`${n}.ts`),await c(`
253
254
 
254
255
  import type { ObjectDefinition } from "@osdk/api";
255
256
 
256
- export const ${a} = ${JSON.stringify(O(n),null,2)} satisfies ${a};
257
+ export const ${n} = ${JSON.stringify(O(a),null,2)} satisfies ${n};
257
258
 
258
- ${ne(n)}
259
+ ${ie(a)}
259
260
  `));}}
260
261
 
261
- export { he as generateClientSdkVersionOneDotOne, Oe as generateClientSdkVersionTwoPointZero };
262
+ export { Ae as generateClientSdkVersionOneDotOne, Se as generateClientSdkVersionTwoPointZero };
262
263
  //# sourceMappingURL=out.js.map
263
264
  //# sourceMappingURL=index.mjs.map