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