@osdk/generator 0.0.5 → 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 +15 -0
- package/build/js/index.js +67 -60
- package/build/js/index.js.map +1 -1
- package/build/js/index.mjs +63 -59
- package/build/js/index.mjs.map +1 -1
- package/build/types/index.d.ts +1 -0
- package/build/types/v1.1/generateOntologyIndexFile.d.ts +2 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @osdk/generator
|
|
2
2
|
|
|
3
|
+
## 0.0.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 7fc9fdc: Adjusting package structure to match existing
|
|
8
|
+
- Updated dependencies [0860ae9]
|
|
9
|
+
- @osdk/api@0.0.9
|
|
10
|
+
|
|
11
|
+
## 0.0.6
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- e22ce70: Adding proper support for reservered keywords in properties
|
|
16
|
+
- 66cb4ce: Fixing generator for integration
|
|
17
|
+
|
|
3
18
|
## 0.0.5
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/build/js/index.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var j = require('path');
|
|
4
4
|
var prettier = require('prettier');
|
|
5
|
+
var ce = require('prettier-plugin-organize-imports');
|
|
6
|
+
|
|
7
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
8
|
|
|
6
9
|
function _interopNamespace(e) {
|
|
7
10
|
if (e && e.__esModule) return e;
|
|
@@ -21,23 +24,24 @@ function _interopNamespace(e) {
|
|
|
21
24
|
return Object.freeze(n);
|
|
22
25
|
}
|
|
23
26
|
|
|
24
|
-
var
|
|
27
|
+
var j__namespace = /*#__PURE__*/_interopNamespace(j);
|
|
28
|
+
var ce__default = /*#__PURE__*/_interopDefault(ce);
|
|
25
29
|
|
|
26
|
-
function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:
|
|
27
|
-
`;for(let[
|
|
28
|
-
`,y.push(`* @param {${E}} params.${
|
|
30
|
+
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 prettier.format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[ce__default.default],tabWidth:2,printWidth:120})}async function Q(e,r,o){let t=new Set,a=[];for(let n of e.actionTypes){let i=Object.entries(n.parameters),d=$(n),m=Array.from(d.addedObjects),g=Array.from(d.modifiedObjects);m.forEach(t.add,t),g.forEach(t.add,t);let y=["/**"];n.description&&y.push(`* ${n.description}`);let c="";if(i.length>0){c=`params: {
|
|
31
|
+
`;for(let[w,b]of i){c+=`"${w}"`,c+=b.required?": ":"?: ";let E=P(b.dataType,t);c+=`${E};
|
|
32
|
+
`,y.push(`* @param {${E}} params.${w}`);}c+="}, ";}y.push("*/"),a.push(`
|
|
29
33
|
${y.join(`
|
|
30
34
|
`)}
|
|
31
35
|
${n.apiName}<O extends ActionExecutionOptions>(${c}options?: O):
|
|
32
|
-
Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(
|
|
36
|
+
Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(j__namespace.default.join(o,"ontologyActions.ts"),await s(`
|
|
33
37
|
import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
|
|
34
|
-
${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
|
|
38
|
+
${Array.from(t).map(n=>`import type { ${n} } from "./ontology/objects/${n}";`).join(`
|
|
35
39
|
`)}
|
|
36
40
|
export interface Actions {
|
|
37
|
-
${
|
|
41
|
+
${a.join(`
|
|
38
42
|
`)}
|
|
39
43
|
}
|
|
40
|
-
`));}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(
|
|
44
|
+
`));}function P(e,r){switch(e.type){case"objectSet":{let t=e.objectTypeApiName;return r.add(t),`ObjectSet<${t}>`}case"object":{let t=e.objectTypeApiName;return r.add(t),`${t}`}case"array":return `Array<${P(e.subType,r)}>`;case"string":return "string";case"boolean":return "boolean";case"attachment":return "Attachment";case"date":return "LocalDate";case"double":case"integer":case"long":return "number";case"timestamp":return "Timestamp";default:throw new Error(`Unsupported action parameter type: ${e}`)}}async function V(e,r){await e.writeFile(j__namespace.default.join(r,"FoundryClient.ts"),await s(`
|
|
41
45
|
import { BaseFoundryClient } from "@osdk/legacy-client";
|
|
42
46
|
import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
|
|
43
47
|
import { Ontology } from "./Ontology";
|
|
@@ -50,7 +54,7 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
|
|
|
50
54
|
get ontology(): Ontology {
|
|
51
55
|
return super.ontology;
|
|
52
56
|
}
|
|
53
|
-
}`));}async function
|
|
57
|
+
}`));}async function v(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j__namespace.join(r,"index.ts"),await s(`
|
|
54
58
|
export {
|
|
55
59
|
ActionExecutionMode,
|
|
56
60
|
ActionResponse,
|
|
@@ -119,17 +123,17 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
|
|
|
119
123
|
} from '@osdk/legacy-client';
|
|
120
124
|
export { Ontology } from "./Ontology";
|
|
121
125
|
export { FoundryClient } from "./FoundryClient";
|
|
122
|
-
`));}function
|
|
126
|
+
`));}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__namespace.default.join(o,"Ontology.ts"),await s(`
|
|
123
127
|
import type { OntologyDefinition } from "@osdk/api";
|
|
124
128
|
import type { Ontology as ClientOntology } from "@osdk/legacy-client";
|
|
125
129
|
import type { Objects } from "./ontologyObjects";
|
|
126
130
|
import type { Actions } from "./ontologyActions";
|
|
127
131
|
import type { Queries } from "./ontologyQueries";
|
|
128
|
-
${t.map(i=>`import {${i}} from "./objects/${i}";`).join(`
|
|
132
|
+
${t.map(i=>`import {${i}} from "./ontology/objects/${i}";`).join(`
|
|
129
133
|
`)}
|
|
130
|
-
${
|
|
134
|
+
${a.map(i=>`import {${i}} from "./ontology/actions/${i}";`).join(`
|
|
131
135
|
`)}
|
|
132
|
-
${n.map(i=>`import {${i}} from "./queries/${i}";`).join(`
|
|
136
|
+
${n.map(i=>`import {${i}} from "./ontology/queries/${i}";`).join(`
|
|
133
137
|
`)}
|
|
134
138
|
|
|
135
139
|
export const Ontology : {
|
|
@@ -139,13 +143,13 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
|
|
|
139
143
|
userAgent: "foundry-typescript-osdk/0.0.1",
|
|
140
144
|
},
|
|
141
145
|
objects: {
|
|
142
|
-
${
|
|
146
|
+
${h(t)}
|
|
143
147
|
},
|
|
144
148
|
actions: {
|
|
145
|
-
${
|
|
149
|
+
${h(a)}
|
|
146
150
|
},
|
|
147
151
|
queries: {
|
|
148
|
-
${
|
|
152
|
+
${h(n)}
|
|
149
153
|
},
|
|
150
154
|
} = {
|
|
151
155
|
metadata: {
|
|
@@ -154,13 +158,13 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
|
|
|
154
158
|
userAgent: "foundry-typescript-osdk/0.0.1" as const,
|
|
155
159
|
},
|
|
156
160
|
objects: {
|
|
157
|
-
${
|
|
161
|
+
${l(t)}
|
|
158
162
|
},
|
|
159
163
|
actions: {
|
|
160
|
-
${
|
|
164
|
+
${l(a)}
|
|
161
165
|
},
|
|
162
166
|
queries: {
|
|
163
|
-
${
|
|
167
|
+
${l(n)}
|
|
164
168
|
}
|
|
165
169
|
} satisfies OntologyDefinition<${t.map(i=>`"${i}"`).join("|")}, ${e.actionTypes.map(i=>`"${i.apiName}"`).join("|")}, ${e.queryTypes.map(i=>`"${i.apiName}"`).join("|")}>;
|
|
166
170
|
|
|
@@ -168,92 +172,95 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
|
|
|
168
172
|
objects: Objects;
|
|
169
173
|
actions: Actions;
|
|
170
174
|
queries: Queries;
|
|
171
|
-
}`));}async function
|
|
175
|
+
}`));}async function R(e,r,o){await r.writeFile(j__namespace.default.join(o,"ontologyObjects.ts"),await s(`
|
|
172
176
|
import { BaseObjectSet } from "@osdk/legacy-client";
|
|
173
|
-
import { ${
|
|
177
|
+
import { ${l(Object.keys(e.objectTypes))} } from "./ontology/objects";
|
|
174
178
|
|
|
175
179
|
export interface Objects {
|
|
176
180
|
${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
|
|
177
181
|
`)}
|
|
178
182
|
}
|
|
179
|
-
;`));}
|
|
183
|
+
;`));}async function M(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j__namespace.join(r,"index.ts"),await s(`
|
|
184
|
+
export type { ObjectSet } from "@osdk/legacy-client";
|
|
185
|
+
`));}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__namespace.default.join(o,`${t.apiName}.ts`),await s(`
|
|
180
186
|
import { ActionDefinition } from "@osdk/api";
|
|
181
187
|
|
|
182
|
-
export const ${t.apiName} = ${JSON.stringify(
|
|
188
|
+
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__namespace.default.join(o,"index.ts"),await s(`
|
|
183
189
|
${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
|
|
184
190
|
`)}
|
|
185
|
-
`));}function
|
|
186
|
-
${Array.from(
|
|
191
|
+
`));}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";
|
|
192
|
+
${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
|
|
187
193
|
`)}
|
|
188
194
|
|
|
189
|
-
${
|
|
195
|
+
${J(e.description)}export interface ${e.apiName} extends OntologyObject {
|
|
190
196
|
readonly __apiName: "${e.apiName}";
|
|
191
|
-
readonly __primaryKey: ${
|
|
192
|
-
${Object.entries(e.properties).flatMap(([t,
|
|
197
|
+
readonly __primaryKey: ${S(e.properties[e.primaryKey].dataType)};
|
|
198
|
+
${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 */
|
|
193
199
|
readonly ${t}_: ${n} | undefined`),i}).join(`;
|
|
194
200
|
`)}
|
|
195
|
-
${r.flatMap(t=>
|
|
196
|
-
readonly ${t.apiName}_: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`),o}).join(`;
|
|
201
|
+
${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`]).join(`;
|
|
197
202
|
`)}
|
|
198
203
|
}
|
|
199
|
-
`}function
|
|
204
|
+
`}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?`/**
|
|
200
205
|
* ${e}
|
|
201
206
|
*/
|
|
202
|
-
`:""}async function
|
|
207
|
+
`:""}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__namespace.default.join(o,`${t.apiName}.ts`),await s(`
|
|
203
208
|
import { ObjectDefinition } from "@osdk/api";
|
|
204
|
-
${
|
|
209
|
+
${W(t,a)}
|
|
205
210
|
|
|
206
|
-
export const ${t.apiName} = ${JSON.stringify(
|
|
211
|
+
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__namespace.default.join(o,"index.ts"),await s(`
|
|
207
212
|
${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
|
|
208
213
|
`)}
|
|
209
|
-
|
|
214
|
+
export type { ObjectSet } from "@osdk/legacy-client";
|
|
215
|
+
|
|
216
|
+
`));}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__namespace.default.join(o,`${t.apiName}.ts`),await s(`
|
|
210
217
|
import { QueryDefinition } from "@osdk/api";
|
|
211
218
|
|
|
212
|
-
export const ${t.apiName} = ${JSON.stringify(
|
|
219
|
+
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__namespace.default.join(o,"index.ts"),await s(`
|
|
213
220
|
${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
|
|
214
221
|
`)}
|
|
215
|
-
`));}function
|
|
222
|
+
`));}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(`
|
|
216
223
|
${i.join(`
|
|
217
224
|
`)}
|
|
218
225
|
${n.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
|
|
219
|
-
`);}await r.writeFile(
|
|
226
|
+
`);}await r.writeFile(j__namespace.default.join(o,"ontologyQueries.ts"),await s(`
|
|
220
227
|
import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
|
|
221
|
-
${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
|
|
228
|
+
${Array.from(t).map(n=>`import type { ${n} } from "./ontology/objects/${n}";`).join(`
|
|
222
229
|
`)}
|
|
223
230
|
|
|
224
231
|
export interface Queries {
|
|
225
|
-
${
|
|
232
|
+
${a.join(`
|
|
226
233
|
`)}
|
|
227
234
|
}
|
|
228
|
-
`));}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
|
|
229
|
-
`)} }`;case"union":return e.unionTypes.map(
|
|
235
|
+
`));}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(`,
|
|
236
|
+
`)} }`;case"union":return e.unionTypes.map(a=>f(a,r)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
|
|
230
237
|
${x(e.keyType)},
|
|
231
|
-
${
|
|
238
|
+
${re(e.valueType)}
|
|
232
239
|
>`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
|
|
233
240
|
${x(e.keyType)},
|
|
234
241
|
${x(e.valueType.keyType)},
|
|
235
|
-
${
|
|
236
|
-
>`;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<${
|
|
242
|
+
${re(e.valueType.valueType)}
|
|
243
|
+
>`;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__namespace.join(o,"ontology")),await R(t,r,o),await Z(t,r,j__namespace.join(o,"ontology","objects")),await Q(t,r,o),await K(t,r,j__namespace.join(o,"ontology","actions")),await ae(t,r,o),await te(t,r,j__namespace.join(o,"ontology","queries")),await v(r,o);}function ne(e){return `
|
|
237
244
|
export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
|
|
238
245
|
apiName: "${e.apiName}";
|
|
239
246
|
properties: {
|
|
240
|
-
${Object.entries(e.properties).map(([r,
|
|
247
|
+
${Object.entries(e.properties).map(([r,o])=>`
|
|
241
248
|
/**
|
|
242
|
-
* ${
|
|
249
|
+
* ${o.description??""}
|
|
243
250
|
**/
|
|
244
251
|
${r}: {
|
|
245
|
-
type: "${
|
|
246
|
-
displayName: "${
|
|
252
|
+
type: "${o.dataType.type}";
|
|
253
|
+
displayName: "${o.displayName??r}";
|
|
247
254
|
}
|
|
248
255
|
|
|
249
256
|
`)}
|
|
250
257
|
}
|
|
251
258
|
}
|
|
252
|
-
`}async function
|
|
259
|
+
`}async function Oe(e,r,o){r.writeFile(j__namespace.default.join(o,"index.ts"),await s(`
|
|
253
260
|
export { Ontology } from "./Ontology";
|
|
254
|
-
`));let t=Object.keys(e.objectTypes);r.writeFile(
|
|
261
|
+
`));let t=Object.keys(e.objectTypes);r.writeFile(j__namespace.default.join(o,"Ontology.ts"),await s(`
|
|
255
262
|
import type { OntologyDefinition } from "@osdk/api";
|
|
256
|
-
${t.map(
|
|
263
|
+
${t.map(a=>`import {${a}} from "./objects/${a}";`).join(`
|
|
257
264
|
`)}
|
|
258
265
|
|
|
259
266
|
import { OntologyMetadata } from "./OntologyMetadata";
|
|
@@ -261,20 +268,20 @@ ${r.flatMap(t=>{let o=[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLi
|
|
|
261
268
|
export const Ontology = {
|
|
262
269
|
metadata: OntologyMetadata,
|
|
263
270
|
objects: {
|
|
264
|
-
${t.map(
|
|
271
|
+
${t.map(a=>`${a}: ${a},`).join(`
|
|
265
272
|
`)}
|
|
266
273
|
},
|
|
267
|
-
} satisfies OntologyDefinition<${t.map(
|
|
268
|
-
`));for(let
|
|
274
|
+
} satisfies OntologyDefinition<${t.map(a=>`"${a}"`).join("|")}>;
|
|
275
|
+
`));for(let a of t){let n=e.objectTypes[a];r.writeFile(j__namespace.default.join(o,"objects",`${a}.ts`),await s(`
|
|
269
276
|
|
|
270
277
|
import type { ObjectDefinition } from "@osdk/api";
|
|
271
278
|
|
|
272
|
-
export const ${
|
|
279
|
+
export const ${a} = ${JSON.stringify(O(n),null,2)} satisfies ${a};
|
|
273
280
|
|
|
274
|
-
${
|
|
281
|
+
${ne(n)}
|
|
275
282
|
`));}}
|
|
276
283
|
|
|
277
|
-
exports.generateClientSdkVersionOneDotOne =
|
|
278
|
-
exports.generateClientSdkVersionTwoPointZero =
|
|
284
|
+
exports.generateClientSdkVersionOneDotOne = he;
|
|
285
|
+
exports.generateClientSdkVersionTwoPointZero = Oe;
|
|
279
286
|
//# sourceMappingURL=out.js.map
|
|
280
287
|
//# sourceMappingURL=index.js.map
|