@osdk/generator 0.0.6 → 0.0.7
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 +8 -0
- package/build/js/index.js +56 -52
- package/build/js/index.js.map +1 -1
- package/build/js/index.mjs +54 -50
- package/build/js/index.mjs.map +1 -1
- package/build/types/v1.1/generateOntologyIndexFile.d.ts +2 -0
- package/package.json +3 -3
package/build/js/index.mjs
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
1
|
+
import * as j from 'path';
|
|
2
|
+
import j__default from 'path';
|
|
3
3
|
import { format } from 'prettier';
|
|
4
|
-
import
|
|
4
|
+
import ce from 'prettier-plugin-organize-imports';
|
|
5
5
|
|
|
6
|
-
function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:
|
|
7
|
-
`;for(let[
|
|
8
|
-
`,y.push(`* @param {${E}} params.${
|
|
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 s(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 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[w,b]of i){c+=`"${w}"`,c+=b.required?": ":"?: ";let E=P(b.dataType,t);c+=`${E};
|
|
8
|
+
`,y.push(`* @param {${E}} params.${w}`);}c+="}, ";}y.push("*/"),a.push(`
|
|
9
9
|
${y.join(`
|
|
10
10
|
`)}
|
|
11
11
|
${n.apiName}<O extends ActionExecutionOptions>(${c}options?: O):
|
|
12
|
-
Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(
|
|
12
|
+
Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(j__default.join(o,"ontologyActions.ts"),await s(`
|
|
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(n=>`import type { ${n} } from "./ontology/objects/${n}";`).join(`
|
|
15
15
|
`)}
|
|
16
16
|
export interface Actions {
|
|
17
17
|
${a.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}`}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(
|
|
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(j__default.join(r,"FoundryClient.ts"),await s(`
|
|
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:ae(r.
|
|
|
30
30
|
get ontology(): Ontology {
|
|
31
31
|
return super.ontology;
|
|
32
32
|
}
|
|
33
|
-
}`));}async function
|
|
33
|
+
}`));}async function v(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j.join(r,"index.ts"),await s(`
|
|
34
34
|
export {
|
|
35
35
|
ActionExecutionMode,
|
|
36
36
|
ActionResponse,
|
|
@@ -99,17 +99,17 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
|
|
|
99
99
|
} from '@osdk/legacy-client';
|
|
100
100
|
export { Ontology } from "./Ontology";
|
|
101
101
|
export { FoundryClient } from "./FoundryClient";
|
|
102
|
-
`));}function
|
|
102
|
+
`));}function l(e){return e.join(",")}function h(e){return e.map(r=>`${r}: typeof ${r}`).join(",")}async function L(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(j__default.join(o,"Ontology.ts"),await s(`
|
|
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 "./ontologyObjects";
|
|
106
106
|
import type { Actions } from "./ontologyActions";
|
|
107
107
|
import type { Queries } from "./ontologyQueries";
|
|
108
|
-
${t.map(i=>`import {${i}} from "./objects/${i}";`).join(`
|
|
108
|
+
${t.map(i=>`import {${i}} from "./ontology/objects/${i}";`).join(`
|
|
109
109
|
`)}
|
|
110
|
-
${a.map(i=>`import {${i}} from "./actions/${i}";`).join(`
|
|
110
|
+
${a.map(i=>`import {${i}} from "./ontology/actions/${i}";`).join(`
|
|
111
111
|
`)}
|
|
112
|
-
${n.map(i=>`import {${i}} from "./queries/${i}";`).join(`
|
|
112
|
+
${n.map(i=>`import {${i}} from "./ontology/queries/${i}";`).join(`
|
|
113
113
|
`)}
|
|
114
114
|
|
|
115
115
|
export const Ontology : {
|
|
@@ -119,13 +119,13 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
|
|
|
119
119
|
userAgent: "foundry-typescript-osdk/0.0.1",
|
|
120
120
|
},
|
|
121
121
|
objects: {
|
|
122
|
-
${
|
|
122
|
+
${h(t)}
|
|
123
123
|
},
|
|
124
124
|
actions: {
|
|
125
|
-
${
|
|
125
|
+
${h(a)}
|
|
126
126
|
},
|
|
127
127
|
queries: {
|
|
128
|
-
${
|
|
128
|
+
${h(n)}
|
|
129
129
|
},
|
|
130
130
|
} = {
|
|
131
131
|
metadata: {
|
|
@@ -134,13 +134,13 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
|
|
|
134
134
|
userAgent: "foundry-typescript-osdk/0.0.1" as const,
|
|
135
135
|
},
|
|
136
136
|
objects: {
|
|
137
|
-
${
|
|
137
|
+
${l(t)}
|
|
138
138
|
},
|
|
139
139
|
actions: {
|
|
140
|
-
${
|
|
140
|
+
${l(a)}
|
|
141
141
|
},
|
|
142
142
|
queries: {
|
|
143
|
-
${
|
|
143
|
+
${l(n)}
|
|
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,71 +148,75 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
|
|
|
148
148
|
objects: Objects;
|
|
149
149
|
actions: Actions;
|
|
150
150
|
queries: Queries;
|
|
151
|
-
}`));}async function
|
|
151
|
+
}`));}async function R(e,r,o){await r.writeFile(j__default.join(o,"ontologyObjects.ts"),await s(`
|
|
152
152
|
import { BaseObjectSet } from "@osdk/legacy-client";
|
|
153
|
-
import { ${
|
|
153
|
+
import { ${l(Object.keys(e.objectTypes))} } from "./ontology/objects";
|
|
154
154
|
|
|
155
155
|
export interface Objects {
|
|
156
156
|
${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
|
|
157
157
|
`)}
|
|
158
158
|
}
|
|
159
|
-
;`));}
|
|
159
|
+
;`));}async function M(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j.join(r,"index.ts"),await s(`
|
|
160
|
+
export type { ObjectSet } from "@osdk/legacy-client";
|
|
161
|
+
`));}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 s(`
|
|
160
162
|
import { ActionDefinition } from "@osdk/api";
|
|
161
163
|
|
|
162
|
-
export const ${t.apiName} = ${JSON.stringify(
|
|
164
|
+
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 s(`
|
|
163
165
|
${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
|
|
164
166
|
`)}
|
|
165
|
-
`));}function
|
|
167
|
+
`));}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";
|
|
166
168
|
${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
|
|
167
169
|
`)}
|
|
168
170
|
|
|
169
|
-
${
|
|
171
|
+
${J(e.description)}export interface ${e.apiName} extends OntologyObject {
|
|
170
172
|
readonly __apiName: "${e.apiName}";
|
|
171
|
-
readonly __primaryKey: ${
|
|
172
|
-
${Object.entries(e.properties).flatMap(([t,a])=>{let n=
|
|
173
|
+
readonly __primaryKey: ${S(e.properties[e.primaryKey].dataType)};
|
|
174
|
+
${Object.entries(e.properties).flatMap(([t,a])=>{let n=S(a.dataType),i=[`${J(a.description)}readonly ${t}: ${n} | undefined`];return B(t)&&i.push(`/** @deprecated please migrate to '${t}' instead */
|
|
173
175
|
readonly ${t}_: ${n} | undefined`),i}).join(`;
|
|
174
176
|
`)}
|
|
175
177
|
${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`]).join(`;
|
|
176
178
|
`)}
|
|
177
179
|
}
|
|
178
|
-
`}function
|
|
180
|
+
`}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?`/**
|
|
179
181
|
* ${e}
|
|
180
182
|
*/
|
|
181
|
-
`:""}async function
|
|
183
|
+
`:""}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(i=>i.objectTypeApiName));await r.writeFile(j__default.join(o,`${t.apiName}.ts`),await s(`
|
|
182
184
|
import { ObjectDefinition } from "@osdk/api";
|
|
183
|
-
${
|
|
185
|
+
${W(t,a)}
|
|
184
186
|
|
|
185
|
-
export const ${t.apiName} = ${JSON.stringify(
|
|
187
|
+
export const ${t.apiName} = ${JSON.stringify(O(t,a),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${n.size>0?[...n].map(i=>`"${i}"`).join("|"):"never"}>;`));})),await r.writeFile(j__default.join(o,"index.ts"),await s(`
|
|
186
188
|
${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
|
|
187
189
|
`)}
|
|
188
|
-
|
|
190
|
+
export type { ObjectSet } from "@osdk/legacy-client";
|
|
191
|
+
|
|
192
|
+
`));}function u(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(r=>u(r)):!1}function p(e){switch(e.type){case"double":case"float":case"integer":case"long":case"attachment":case"boolean":case"date":case"string":case"timestamp":return {type:e.type,nullable:!1};case"object":return {type:{type:"object",object:e.objectTypeApiName},nullable:!1};case"objectSet":return {type:{type:"objectSet",objectSet:e.objectTypeApiName},nullable:!1};case"array":return {...p(e.subType),multiplicity:!0};case"set":return {type:{type:"set",set:p(e.subType)},nullable:!1};case"union":let r=u(e);if(r&&e.unionTypes.length===2){let t=e.unionTypes.find(a=>a.type!==null);if(t)return {...p(t),nullable:!0}}return {type:{type:"union",union:e.unionTypes.reduce((t,a)=>(a.type==="null"||t.push(p(a)),t),[])},nullable:r};case"struct":return {type:{type:"struct",struct: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: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:p(e.output)}}function Te(e){return {description:e.description,dataType:p(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 s(`
|
|
189
193
|
import { QueryDefinition } from "@osdk/api";
|
|
190
194
|
|
|
191
|
-
export const ${t.apiName} = ${JSON.stringify(
|
|
195
|
+
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 s(`
|
|
192
196
|
${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
|
|
193
197
|
`)}
|
|
194
|
-
`));}function
|
|
198
|
+
`));}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 i=["/**"];n.description&&i.push(`* ${n.description}`);let d=f(n.output,t),m=[];for(let[y,c]of Object.entries(n.parameters)){let w=u(c.dataType),b=f(c.dataType,t);m.push(`"${y}"${w?"?":""}: ${b}`),i.push(`* @param {${oe(b)}} params.${y}${c.description?` - ${c.description}`:""}`);}let g=m.length===0?"":`params: { ${m.join("; ")} }`;i.push(`* @returns ${oe(d)}`,"*/"),a.push(`
|
|
195
199
|
${i.join(`
|
|
196
200
|
`)}
|
|
197
201
|
${n.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
|
|
198
|
-
`);}await r.writeFile(
|
|
202
|
+
`);}await r.writeFile(j__default.join(o,"ontologyQueries.ts"),await s(`
|
|
199
203
|
import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
|
|
200
|
-
${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
|
|
204
|
+
${Array.from(t).map(n=>`import type { ${n} } from "./ontology/objects/${n}";`).join(`
|
|
201
205
|
`)}
|
|
202
206
|
|
|
203
207
|
export interface Queries {
|
|
204
208
|
${a.join(`
|
|
205
209
|
`)}
|
|
206
210
|
}
|
|
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=
|
|
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 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=u(a.fieldType);return `${a.name}${n?"?":""}: ${f(a.fieldType,r)}`}).join(`,
|
|
208
212
|
`)} }`;case"union":return e.unionTypes.map(a=>f(a,r)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
|
|
209
|
-
${
|
|
210
|
-
${
|
|
213
|
+
${x(e.keyType)},
|
|
214
|
+
${re(e.valueType)}
|
|
211
215
|
>`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
|
|
212
|
-
${
|
|
213
|
-
${
|
|
214
|
-
${
|
|
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
|
|
216
|
+
${x(e.keyType)},
|
|
217
|
+
${x(e.valueType.keyType)},
|
|
218
|
+
${re(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 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<${$e(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function $e(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=F(e);await V(r,o),await L(t,r,o),await M(r,j.join(o,"ontology")),await R(t,r,o),await Z(t,r,j.join(o,"ontology","objects")),await Q(t,r,o),await K(t,r,j.join(o,"ontology","actions")),await ae(t,r,o),await te(t,r,j.join(o,"ontology","queries")),await v(r,o);}function ne(e){return `
|
|
216
220
|
export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
|
|
217
221
|
apiName: "${e.apiName}";
|
|
218
222
|
properties: {
|
|
@@ -228,9 +232,9 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
|
|
|
228
232
|
`)}
|
|
229
233
|
}
|
|
230
234
|
}
|
|
231
|
-
`}async function
|
|
235
|
+
`}async function Oe(e,r,o){r.writeFile(j__default.join(o,"index.ts"),await s(`
|
|
232
236
|
export { Ontology } from "./Ontology";
|
|
233
|
-
`));let t=Object.keys(e.objectTypes);r.writeFile(
|
|
237
|
+
`));let t=Object.keys(e.objectTypes);r.writeFile(j__default.join(o,"Ontology.ts"),await s(`
|
|
234
238
|
import type { OntologyDefinition } from "@osdk/api";
|
|
235
239
|
${t.map(a=>`import {${a}} from "./objects/${a}";`).join(`
|
|
236
240
|
`)}
|
|
@@ -244,15 +248,15 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
|
|
|
244
248
|
`)}
|
|
245
249
|
},
|
|
246
250
|
} satisfies OntologyDefinition<${t.map(a=>`"${a}"`).join("|")}>;
|
|
247
|
-
`));for(let a of t){let n=e.objectTypes[a];r.writeFile(
|
|
251
|
+
`));for(let a of t){let n=e.objectTypes[a];r.writeFile(j__default.join(o,"objects",`${a}.ts`),await s(`
|
|
248
252
|
|
|
249
253
|
import type { ObjectDefinition } from "@osdk/api";
|
|
250
254
|
|
|
251
|
-
export const ${a} = ${JSON.stringify(
|
|
255
|
+
export const ${a} = ${JSON.stringify(O(n),null,2)} satisfies ${a};
|
|
252
256
|
|
|
253
|
-
${
|
|
257
|
+
${ne(n)}
|
|
254
258
|
`));}}
|
|
255
259
|
|
|
256
|
-
export {
|
|
260
|
+
export { he as generateClientSdkVersionOneDotOne, Oe as generateClientSdkVersionTwoPointZero };
|
|
257
261
|
//# sourceMappingURL=out.js.map
|
|
258
262
|
//# sourceMappingURL=index.mjs.map
|