@osdk/generator 0.0.8 → 0.0.10
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 +20 -0
- package/build/js/index.js +43 -42
- package/build/js/index.js.map +1 -1
- package/build/js/index.mjs +43 -42
- package/build/js/index.mjs.map +1 -1
- package/build/types/util/commaSeparatedIdentifiers.d.ts +1 -1
- package/build/types/util/commaSeparatedTypeIdentifiers.d.ts +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @osdk/generator
|
|
2
2
|
|
|
3
|
+
## 0.0.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- dfc2b94: Fix OAuth login process
|
|
8
|
+
- Updated dependencies [dfc2b94]
|
|
9
|
+
- @osdk/gateway@0.0.5
|
|
10
|
+
- @osdk/api@0.0.12
|
|
11
|
+
|
|
12
|
+
## 0.0.9
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- f3120fb: Move 2.0 client into @osdk/client to fix typescript 4.9 compatability in @osdk/api"
|
|
17
|
+
- 848404c: Handle conflicts between object, action, and query names
|
|
18
|
+
- Updated dependencies [f3120fb]
|
|
19
|
+
- Updated dependencies [848404c]
|
|
20
|
+
- @osdk/gateway@0.0.4
|
|
21
|
+
- @osdk/api@0.0.11
|
|
22
|
+
|
|
3
23
|
## 0.0.8
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
package/build/js/index.js
CHANGED
|
@@ -27,21 +27,21 @@ function _interopNamespace(e) {
|
|
|
27
27
|
var j__namespace = /*#__PURE__*/_interopNamespace(j);
|
|
28
28
|
var ce__default = /*#__PURE__*/_interopDefault(ce);
|
|
29
29
|
|
|
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
|
|
31
|
-
`;for(let[
|
|
32
|
-
`,
|
|
33
|
-
${
|
|
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 w(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 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 s=Object.entries(n.parameters),y=w(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: {
|
|
31
|
+
`;for(let[f,b]of s){p+=`"${f}"`,p+=b.required?": ":"?: ";let E=P(b.dataType,t);p+=`${E};
|
|
32
|
+
`,i.push(`* @param {${E}} params.${f}`);}p+="}, ";}i.push("*/"),a.push(`
|
|
33
|
+
${i.join(`
|
|
34
34
|
`)}
|
|
35
|
-
${n.apiName}<O extends ActionExecutionOptions>(${
|
|
36
|
-
Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${
|
|
35
|
+
${n.apiName}<O extends ActionExecutionOptions>(${p}options?: O):
|
|
36
|
+
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__namespace.default.join(o,"Actions.ts"),await c(`
|
|
37
37
|
import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
|
|
38
|
-
${Array.from(t).map(n=>`import type { ${n} } from "
|
|
38
|
+
${Array.from(t).map(n=>`import type { ${n} } from "../objects/${n}";`).join(`
|
|
39
39
|
`)}
|
|
40
40
|
export interface Actions {
|
|
41
41
|
${a.join(`
|
|
42
42
|
`)}
|
|
43
43
|
}
|
|
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
|
|
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 c(`
|
|
45
45
|
import { BaseFoundryClient } from "@osdk/legacy-client";
|
|
46
46
|
import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
|
|
47
47
|
import { Ontology } from "./Ontology";
|
|
@@ -54,7 +54,7 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
|
|
|
54
54
|
get ontology(): Ontology {
|
|
55
55
|
return super.ontology;
|
|
56
56
|
}
|
|
57
|
-
}`));}async function
|
|
57
|
+
}`));}async function C(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j__namespace.join(r,"index.ts"),await c(`
|
|
58
58
|
export {
|
|
59
59
|
ActionExecutionMode,
|
|
60
60
|
ActionResponse,
|
|
@@ -123,17 +123,17 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
|
|
|
123
123
|
} from '@osdk/legacy-client';
|
|
124
124
|
export { Ontology } from "./Ontology";
|
|
125
125
|
export { FoundryClient } from "./FoundryClient";
|
|
126
|
-
`));}function
|
|
126
|
+
`));}function $(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__namespace.default.join(o,"Ontology.ts"),await c(`
|
|
127
127
|
import type { OntologyDefinition } from "@osdk/api";
|
|
128
128
|
import type { Ontology as ClientOntology } from "@osdk/legacy-client";
|
|
129
|
-
import type { Objects } from "./
|
|
130
|
-
import type { Actions } from "./
|
|
131
|
-
import type { Queries } from "./
|
|
129
|
+
import type { Objects } from "./ontology/objects/Objects";
|
|
130
|
+
import type { Actions } from "./ontology/actions/Actions";
|
|
131
|
+
import type { Queries } from "./ontology/queries/Queries";
|
|
132
132
|
${t.map(i=>`import {${i}} from "./ontology/objects/${i}";`).join(`
|
|
133
133
|
`)}
|
|
134
|
-
${a.map(i=>`import {${i}} from "./ontology/actions/${i}";`).join(`
|
|
134
|
+
${a.map(i=>`import {${l(i,s)}} from "./ontology/actions/${i}";`).join(`
|
|
135
135
|
`)}
|
|
136
|
-
${n.map(i=>`import {${i}} from "./ontology/queries/${i}";`).join(`
|
|
136
|
+
${n.map(i=>`import {${l(i,y)}} from "./ontology/queries/${i}";`).join(`
|
|
137
137
|
`)}
|
|
138
138
|
|
|
139
139
|
export const Ontology : {
|
|
@@ -146,10 +146,10 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
|
|
|
146
146
|
${h(t)}
|
|
147
147
|
},
|
|
148
148
|
actions: {
|
|
149
|
-
${h(a)}
|
|
149
|
+
${h(a,s)}
|
|
150
150
|
},
|
|
151
151
|
queries: {
|
|
152
|
-
${h(n)}
|
|
152
|
+
${h(n,y)}
|
|
153
153
|
},
|
|
154
154
|
} = {
|
|
155
155
|
metadata: {
|
|
@@ -158,13 +158,13 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
|
|
|
158
158
|
userAgent: "foundry-typescript-osdk/0.0.1" as const,
|
|
159
159
|
},
|
|
160
160
|
objects: {
|
|
161
|
-
${
|
|
161
|
+
${$(t)}
|
|
162
162
|
},
|
|
163
163
|
actions: {
|
|
164
|
-
${
|
|
164
|
+
${$(a,s)}
|
|
165
165
|
},
|
|
166
166
|
queries: {
|
|
167
|
-
${
|
|
167
|
+
${$(n,y)}
|
|
168
168
|
}
|
|
169
169
|
} satisfies OntologyDefinition<${t.map(i=>`"${i}"`).join("|")}, ${e.actionTypes.map(i=>`"${i.apiName}"`).join("|")}, ${e.queryTypes.map(i=>`"${i.apiName}"`).join("|")}>;
|
|
170
170
|
|
|
@@ -172,20 +172,21 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
|
|
|
172
172
|
objects: Objects;
|
|
173
173
|
actions: Actions;
|
|
174
174
|
queries: Queries;
|
|
175
|
-
}`));}async function
|
|
175
|
+
}`));}async function L(e,r,o){await r.mkdir(o,{recursive:!0}),await r.writeFile(j__namespace.default.join(o,"Objects.ts"),await c(`
|
|
176
176
|
import { BaseObjectSet } from "@osdk/legacy-client";
|
|
177
|
-
|
|
177
|
+
${Array.from(Object.keys(e.objectTypes)).map(t=>`import type { ${t} } from "./${t}";`).join(`
|
|
178
|
+
`)}
|
|
178
179
|
|
|
179
180
|
export interface Objects {
|
|
180
181
|
${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
|
|
181
182
|
`)}
|
|
182
183
|
}
|
|
183
|
-
;`));}async function M(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j__namespace.join(r,"index.ts"),await
|
|
184
|
+
;`));}async function M(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j__namespace.join(r,"index.ts"),await c(`
|
|
184
185
|
export type { ObjectSet } from "@osdk/legacy-client";
|
|
185
|
-
`));}function
|
|
186
|
+
`));}function q(e){let r=w(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 c(`
|
|
186
187
|
import { ActionDefinition } from "@osdk/api";
|
|
187
188
|
|
|
188
|
-
export const ${t.apiName} = ${JSON.stringify(
|
|
189
|
+
export const ${t.apiName} = ${JSON.stringify(q(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 c(`
|
|
189
190
|
${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
|
|
190
191
|
`)}
|
|
191
192
|
`));}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";
|
|
@@ -195,8 +196,8 @@ ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
|
|
|
195
196
|
${J(e.description)}export interface ${e.apiName} extends OntologyObject {
|
|
196
197
|
readonly __apiName: "${e.apiName}";
|
|
197
198
|
readonly __primaryKey: ${S(e.properties[e.primaryKey].dataType)};
|
|
198
|
-
${Object.entries(e.properties).flatMap(([t,a])=>{let n=S(a.dataType),
|
|
199
|
-
readonly ${t}_: ${n} | undefined`),
|
|
199
|
+
${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 */
|
|
200
|
+
readonly ${t}_: ${n} | undefined`),s}).join(`;
|
|
200
201
|
`)}
|
|
201
202
|
${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`]).join(`;
|
|
202
203
|
`)}
|
|
@@ -204,43 +205,43 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
|
|
|
204
205
|
`}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?`/**
|
|
205
206
|
* ${e}
|
|
206
207
|
*/
|
|
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(
|
|
208
|
+
`:""}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__namespace.default.join(o,`${t.apiName}.ts`),await c(`
|
|
208
209
|
import { ObjectDefinition } from "@osdk/api";
|
|
209
210
|
${W(t,a)}
|
|
210
211
|
|
|
211
|
-
export const ${t.apiName} = ${JSON.stringify(O(t,a),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${n.size>0?[...n].map(
|
|
212
|
+
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__namespace.default.join(o,"index.ts"),await c(`
|
|
212
213
|
${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
|
|
213
214
|
`)}
|
|
214
215
|
export type { ObjectSet } from "@osdk/legacy-client";
|
|
215
216
|
|
|
216
|
-
`));}function
|
|
217
|
+
`));}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__namespace.default.join(o,`${t.apiName}.ts`),await c(`
|
|
217
218
|
import { QueryDefinition } from "@osdk/api";
|
|
218
219
|
|
|
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
|
|
220
|
+
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 c(`
|
|
220
221
|
${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
|
|
221
222
|
`)}
|
|
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
|
|
223
|
-
${
|
|
223
|
+
`));}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(`
|
|
224
|
+
${s.join(`
|
|
224
225
|
`)}
|
|
225
|
-
${n.apiName}(${
|
|
226
|
-
`);}await r.writeFile(j__namespace.default.join(o,"
|
|
226
|
+
${n.apiName}(${l}): Promise<Result<QueryResponse<${y}>, QueryError>>;
|
|
227
|
+
`);}await r.mkdir(o,{recursive:!0}),await r.writeFile(j__namespace.default.join(o,"Queries.ts"),await c(`
|
|
227
228
|
import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
|
|
228
|
-
${Array.from(t).map(n=>`import type { ${n} } from "
|
|
229
|
+
${Array.from(t).map(n=>`import type { ${n} } from "../objects/${n}";`).join(`
|
|
229
230
|
`)}
|
|
230
231
|
|
|
231
232
|
export interface Queries {
|
|
232
233
|
${a.join(`
|
|
233
234
|
`)}
|
|
234
235
|
}
|
|
235
|
-
`));}function
|
|
236
|
-
`)} }`;case"union":return e.unionTypes.map(a=>
|
|
236
|
+
`));}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}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(`,
|
|
237
|
+
`)} }`;case"union":return e.unionTypes.map(a=>g(a,r)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
|
|
237
238
|
${x(e.keyType)},
|
|
238
239
|
${re(e.valueType)}
|
|
239
240
|
>`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
|
|
240
241
|
${x(e.keyType)},
|
|
241
242
|
${x(e.valueType.keyType)},
|
|
242
243
|
${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
|
|
244
|
+
>`;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=j__namespace.join(o,"ontology","objects"),a=j__namespace.join(o,"ontology","actions"),n=j__namespace.join(o,"ontology","queries"),s=F(e);await v(r,o),await I(s,r,o),await M(r,j__namespace.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 `
|
|
244
245
|
export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
|
|
245
246
|
apiName: "${e.apiName}";
|
|
246
247
|
properties: {
|
|
@@ -256,9 +257,9 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
|
|
|
256
257
|
`)}
|
|
257
258
|
}
|
|
258
259
|
}
|
|
259
|
-
`}async function Oe(e,r,o){r.writeFile(j__namespace.default.join(o,"index.ts"),await
|
|
260
|
+
`}async function Oe(e,r,o){r.writeFile(j__namespace.default.join(o,"index.ts"),await c(`
|
|
260
261
|
export { Ontology } from "./Ontology";
|
|
261
|
-
`));let t=Object.keys(e.objectTypes);r.writeFile(j__namespace.default.join(o,"Ontology.ts"),await
|
|
262
|
+
`));let t=Object.keys(e.objectTypes);r.writeFile(j__namespace.default.join(o,"Ontology.ts"),await c(`
|
|
262
263
|
import type { OntologyDefinition } from "@osdk/api";
|
|
263
264
|
${t.map(a=>`import {${a}} from "./objects/${a}";`).join(`
|
|
264
265
|
`)}
|
|
@@ -272,7 +273,7 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
|
|
|
272
273
|
`)}
|
|
273
274
|
},
|
|
274
275
|
} 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
|
|
276
|
+
`));for(let a of t){let n=e.objectTypes[a];r.writeFile(j__namespace.default.join(o,"objects",`${a}.ts`),await c(`
|
|
276
277
|
|
|
277
278
|
import type { ObjectDefinition } from "@osdk/api";
|
|
278
279
|
|