@osdk/generator 0.0.2 → 0.0.3
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 +40 -39
- package/build/js/index.js.map +1 -1
- package/build/js/index.mjs +40 -39
- package/build/js/index.mjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
package/build/js/index.js
CHANGED
|
@@ -23,18 +23,18 @@ function _interopNamespace(e) {
|
|
|
23
23
|
|
|
24
24
|
var w__namespace = /*#__PURE__*/_interopNamespace(w);
|
|
25
25
|
|
|
26
|
-
function
|
|
27
|
-
`;for(let[T
|
|
28
|
-
`,y.push(`* @param {${k}} params.${
|
|
26
|
+
function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.apiName)}))}}function H(e){return e.replace(/-./g,r=>r[1].toUpperCase())}function j(e){let r=new Set,a=new Set;for(let t of e.operations)switch(t.type){case"createObject":r.add(t.objectTypeApiName);break;case"modifyObject":a.add(t.objectTypeApiName);break;}return {addedObjects:r,modifiedObjects:a}}function s(e){return prettier.format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:["prettier-plugin-organize-imports"],tabWidth:2,printWidth:120})}async function D(e,r,a){let t=new Set,o=[];for(let i of e.actionTypes){let n=Object.entries(i.parameters),d=j(i),m=Array.from(d.addedObjects),g=Array.from(d.modifiedObjects);m.forEach(t.add,t),g.forEach(t.add,t);let y=["/**"];i.description&&y.push(`* ${i.description}`);let c="";if(n.length>0){c=`params: {
|
|
27
|
+
`;for(let[b,T]of n){c+=`"${b}"`,c+=T.required?": ":"?: ";let k=E(T.dataType,t);c+=`${k};
|
|
28
|
+
`,y.push(`* @param {${k}} params.${b}`);}c+="}, ";}y.push("*/"),o.push(`
|
|
29
29
|
${y.join(`
|
|
30
30
|
`)}
|
|
31
31
|
${i.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(w__namespace.default.join(
|
|
32
|
+
Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(w__namespace.default.join(a,"ontologyActions.ts"),await s(`
|
|
33
33
|
import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
|
|
34
34
|
${Array.from(t).map(i=>`import type { ${i} } from "./objects/${i}";`).join(`
|
|
35
35
|
`)}
|
|
36
36
|
export interface Actions {
|
|
37
|
-
${
|
|
37
|
+
${o.join(`
|
|
38
38
|
`)}
|
|
39
39
|
}
|
|
40
40
|
`));}function E(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<${E(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 F(e,r){await e.writeFile(w__namespace.default.join(r,"FoundryClient.ts"),await s(`
|
|
@@ -50,7 +50,7 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
|
|
|
50
50
|
get ontology(): Ontology {
|
|
51
51
|
return this.ontology;
|
|
52
52
|
}
|
|
53
|
-
}`));}async function
|
|
53
|
+
}`));}async function P(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(w__namespace.join(r,"index.ts"),await s(`
|
|
54
54
|
export {
|
|
55
55
|
ActionExecutionMode,
|
|
56
56
|
ActionResponse,
|
|
@@ -116,7 +116,7 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
|
|
|
116
116
|
} from '@osdk/legacy-client';
|
|
117
117
|
export { Ontology } from "./Ontology";
|
|
118
118
|
export { FoundryClient } from "./FoundryClient";
|
|
119
|
-
`));}function l(e){return e.join(",")}async function V(e,r,
|
|
119
|
+
`));}function l(e){return e.join(",")}async function V(e,r,a){let t=Object.keys(e.objectTypes),o=e.actionTypes.map(n=>n.apiName),i=e.queryTypes.map(n=>n.apiName);await r.writeFile(w__namespace.default.join(a,"Ontology.ts"),await s(`
|
|
120
120
|
import type { OntologyDefinition } from "@osdk/api";
|
|
121
121
|
import type { Ontology as ClientOntology } from "@osdk/legacy-client";
|
|
122
122
|
import type { Objects } from "./ontologyObjects";
|
|
@@ -124,7 +124,7 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
|
|
|
124
124
|
import type { Queries } from "./ontologyQueries";
|
|
125
125
|
${t.map(n=>`import {${n}} from "./objects/${n}";`).join(`
|
|
126
126
|
`)}
|
|
127
|
-
${
|
|
127
|
+
${o.map(n=>`import {${n}} from "./actions/${n}";`).join(`
|
|
128
128
|
`)}
|
|
129
129
|
${i.map(n=>`import {${n}} from "./queries/${n}";`).join(`
|
|
130
130
|
`)}
|
|
@@ -139,7 +139,7 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
|
|
|
139
139
|
${l(t)}
|
|
140
140
|
},
|
|
141
141
|
actions: {
|
|
142
|
-
${l(
|
|
142
|
+
${l(o)}
|
|
143
143
|
},
|
|
144
144
|
queries: {
|
|
145
145
|
${l(i)}
|
|
@@ -150,7 +150,7 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
|
|
|
150
150
|
objects: Objects;
|
|
151
151
|
actions: Actions;
|
|
152
152
|
queries: Queries;
|
|
153
|
-
}`));}async function L(e,r,
|
|
153
|
+
}`));}async function L(e,r,a){await r.writeFile(w__namespace.default.join(a,"ontologyObjects.ts"),await s(`
|
|
154
154
|
import { BaseObjectSet } from "@osdk/legacy-client";
|
|
155
155
|
import { ${l(Object.keys(e.objectTypes))} } from "./objects";
|
|
156
156
|
|
|
@@ -158,14 +158,14 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
|
|
|
158
158
|
${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
|
|
159
159
|
`)}
|
|
160
160
|
}
|
|
161
|
-
;`));}function R(e){let r=j(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([
|
|
161
|
+
;`));}function R(e){let r=j(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([a,t])=>[a,oe(t)])),displayName:e.displayName,description:e.description,modifiedEntities:ie(r.addedObjects,r.modifiedObjects)}}function oe(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:O(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:O(e.dataType),nullable:!e.required,description:e.description}}}function O(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 O(e.subType)}}function ie(e,r){let a={};for(let t of e)a[t]={created:!0,modified:!1};for(let t of r)a[t]?a[t].modified=!0:a[t]={created:!1,modified:!0};return a}async function M(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let o=new Set(ne(t));await r.writeFile(w__namespace.default.join(a,`${t.apiName}.ts`),await s(`
|
|
162
162
|
import { ActionDefinition } from "@osdk/api";
|
|
163
163
|
|
|
164
|
-
export const ${t.apiName} = ${JSON.stringify(R(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${
|
|
164
|
+
export const ${t.apiName} = ${JSON.stringify(R(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${o.size>0?[...o].map(i=>`"${i}"`).join("|"):"never"}>;`));})),await r.writeFile(w__namespace.default.join(a,"index.ts"),await s(`
|
|
165
165
|
${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
|
|
166
166
|
`)}
|
|
167
|
-
`));}function ne(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let
|
|
168
|
-
${Array.from(
|
|
167
|
+
`));}function ne(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let o=I(t);return o?[o]:[]});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 I(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return I(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function q(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 _(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,type:h(e.dataType),nullable:!0};case"array":return {multiplicity:!0,type:h(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function h(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 h(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function $(e,r=[]){return {apiName:e.apiName,primaryKeyType:q(e.properties[e.primaryKey]),links:Object.fromEntries(r.map(a=>[a.apiName,{multiplicity:a.cardinality==="MANY",targetType:a.objectTypeApiName}])),properties:Object.fromEntries(Object.entries(e.properties).map(([a,t])=>[a,_(t)]))}}function v(e,r=[]){let a=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";
|
|
168
|
+
${Array.from(a).map(t=>`import type { ${t} } from "./${t}";`).join(`
|
|
169
169
|
`)}
|
|
170
170
|
|
|
171
171
|
/**
|
|
@@ -174,68 +174,69 @@ ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
|
|
|
174
174
|
export interface ${e.apiName} extends OntologyObject {
|
|
175
175
|
readonly __apiName: "${e.apiName}";
|
|
176
176
|
readonly __primaryKey: ${A(e.properties[e.primaryKey].dataType)};
|
|
177
|
-
${Object.entries(e.properties).map(([t,
|
|
177
|
+
${Object.entries(e.properties).map(([t,o])=>`${se(o.description)}readonly ${t}: ${A(o.dataType)} | undefined`).join(`;
|
|
178
178
|
`)}
|
|
179
179
|
${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>;`).join(`;
|
|
180
180
|
`)}
|
|
181
181
|
}
|
|
182
|
-
`}function A(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return A(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 "TimeSeries<number>";default:throw new Error(`Unknown property type ${e}`)}}function se(e){return e?`/**
|
|
182
|
+
`}function A(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return A(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 se(e){return e?`/**
|
|
183
183
|
* ${e}
|
|
184
184
|
*/
|
|
185
|
-
`:""}async function
|
|
185
|
+
`:""}async function G(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(Object.values(e.objectTypes).map(async t=>{let o=e.linkTypes[t.apiName],i=new Set(o?.map(n=>n.objectTypeApiName));await r.writeFile(w__namespace.default.join(a,`${t.apiName}.ts`),await s(`
|
|
186
186
|
import { ObjectDefinition } from "@osdk/api";
|
|
187
|
-
${
|
|
187
|
+
${v(t,o)}
|
|
188
188
|
|
|
189
|
-
export const ${t.apiName} = ${JSON.stringify($(t,
|
|
189
|
+
export const ${t.apiName} = ${JSON.stringify($(t,o),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${i.size>0?[...i].map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(w__namespace.default.join(a,"index.ts"),await s(`
|
|
190
190
|
${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
|
|
191
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(
|
|
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(o=>o.type!==null);if(t)return {...p(t),nullable:!0}}return {type:{type:"union",union:e.unionTypes.reduce((t,o)=>(o.type==="null"||t.push(p(o)),t),[])},nullable:r};case"struct":return {type:{type:"struct",struct:e.fields.map(t=>({name:t.name,fieldType:p(t.fieldType)}))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:N(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:ce(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){return e.keyType.type==="range"?{keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type}:{keyType:e.keyType.type,valueType:e.valueType.type}}function ce(e){return e.keyType.type==="range"?{keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:N(e.valueType)}:{keyType:e.keyType.type,valueType:N(e.valueType)}}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,a])=>[r,pe(a)])),output:p(e.output)}}function pe(e){return {description:e.description,dataType:p(e.dataType)}}async function K(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{await r.writeFile(w__namespace.default.join(a,`${t.apiName}.ts`),await s(`
|
|
193
193
|
import { QueryDefinition } from "@osdk/api";
|
|
194
194
|
|
|
195
|
-
export const ${t.apiName} = ${JSON.stringify(z(t))} satisfies QueryDefinition<"${t.apiName}">;`));})),await r.writeFile(w__namespace.default.join(
|
|
196
|
-
${e.queryTypes.map(t=>`export * from "./${t.apiName}";`)
|
|
197
|
-
|
|
195
|
+
export const ${t.apiName} = ${JSON.stringify(z(t))} satisfies QueryDefinition<"${t.apiName}">;`));})),await r.writeFile(w__namespace.default.join(a,"index.ts"),await s(`
|
|
196
|
+
${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
|
|
197
|
+
`)}
|
|
198
|
+
`));}async function Y(e,r,a){let t=new Set,o=[];for(let i of e.queryTypes){let n=["/**"];i.description&&n.push(`* ${i.description}`);let d=f(i.output,t),m=[];for(let[y,c]of Object.entries(i.parameters)){let b=u(c.dataType),T=f(c.dataType,t);m.push(`"${y}"${b?"?":""}: ${T}`),n.push(`* @param {${W(T)}} params.${y}${c.description?` - ${c.description}`:""}`);}let g=m.length===0?"":`params: { ${m.join("; ")} }`;n.push(`* @returns ${W(d)}`,"*/"),o.push(`
|
|
198
199
|
${n.join(`
|
|
199
200
|
`)}
|
|
200
201
|
${i.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
|
|
201
|
-
`);}await r.writeFile(`${
|
|
202
|
+
`);}await r.writeFile(`${a}/ontologyQueries.ts`,await s(`
|
|
202
203
|
import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
|
|
203
204
|
${Array.from(t).map(i=>`import type { ${i} } from "./objects/${i}";`).join(`
|
|
204
205
|
`)}
|
|
205
206
|
|
|
206
207
|
export interface Queries {
|
|
207
|
-
${
|
|
208
|
+
${o.join(`
|
|
208
209
|
`)}
|
|
209
210
|
}
|
|
210
|
-
`));}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
|
|
211
|
-
`)} }`;case"union":return e.unionTypes.map(
|
|
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 o=e.objectTypeApiName;return r.add(o),o}case"objectSet":{let o=e.objectTypeApiName;return r.add(o),`ObjectSet<${o}>`}case"set":return `Set<${f(e.subType,r)}>`;case"struct":return `{ ${e.fields.map(o=>{let i=u(o.fieldType);return `${o.name}${i?"?":""}: ${f(o.fieldType,r)}`}).join(`,
|
|
212
|
+
`)} }`;case"union":return e.unionTypes.map(o=>f(o,r)).join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
|
|
212
213
|
${S(e.keyType)},
|
|
213
214
|
${J(e.valueType)}
|
|
214
215
|
>`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
|
|
215
216
|
${S(e.keyType)},
|
|
216
217
|
${S(e.valueType.keyType)},
|
|
217
218
|
${J(e.valueType.valueType)}
|
|
218
|
-
>`;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 S(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<${me(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function me(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 J(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 W(e){return e.replace(/\s/g,"")}async function ye(e,r,
|
|
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 S(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<${me(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function me(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 J(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 W(e){return e.replace(/\s/g,"")}async function ye(e,r,a){let t=x(e);await F(r,a),await V(t,r,a),await L(t,r,a),await G(t,r,w__namespace.join(a,"objects")),await D(t,r,a),await M(t,r,w__namespace.join(a,"actions")),await Y(t,r,a),await K(t,r,w__namespace.join(a,"queries")),await P(r,a);}function Z(e){return `
|
|
219
220
|
export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
|
|
220
221
|
apiName: "${e.apiName}";
|
|
221
222
|
properties: {
|
|
222
|
-
${Object.entries(e.properties).map(([r,
|
|
223
|
+
${Object.entries(e.properties).map(([r,a])=>`
|
|
223
224
|
/**
|
|
224
|
-
* ${
|
|
225
|
+
* ${a.description??""}
|
|
225
226
|
**/
|
|
226
227
|
${r}: {
|
|
227
|
-
type: "${
|
|
228
|
-
displayName: "${
|
|
228
|
+
type: "${a.dataType.type}";
|
|
229
|
+
displayName: "${a.displayName??r}";
|
|
229
230
|
}
|
|
230
231
|
|
|
231
232
|
`)}
|
|
232
233
|
}
|
|
233
234
|
}
|
|
234
|
-
`}async function le(e,r,
|
|
235
|
+
`}async function le(e,r,a){r.writeFile(`${a}/index.ts`,await s(`
|
|
235
236
|
export { Ontology } from "./Ontology";
|
|
236
|
-
`));let t=Object.keys(e.objectTypes);r.writeFile(`${
|
|
237
|
+
`));let t=Object.keys(e.objectTypes);r.writeFile(`${a}/Ontology.ts`,await s(`
|
|
237
238
|
import type { OntologyDefinition } from "@osdk/api";
|
|
238
|
-
${t.map(
|
|
239
|
+
${t.map(o=>`import {${o}} from "./objects/${o}";`).join(`
|
|
239
240
|
`)}
|
|
240
241
|
|
|
241
242
|
import { OntologyMetadata } from "./OntologyMetadata";
|
|
@@ -243,15 +244,15 @@ ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleL
|
|
|
243
244
|
export const Ontology = {
|
|
244
245
|
metadata: OntologyMetadata,
|
|
245
246
|
objects: {
|
|
246
|
-
${t.map(
|
|
247
|
+
${t.map(o=>`${o}: ${o},`).join(`
|
|
247
248
|
`)}
|
|
248
249
|
},
|
|
249
|
-
} satisfies OntologyDefinition<${t.map(
|
|
250
|
-
`));for(let
|
|
250
|
+
} satisfies OntologyDefinition<${t.map(o=>`"${o}"`).join("|")}>;
|
|
251
|
+
`));for(let o of t){let i=e.objectTypes[o];r.writeFile(`${a}/objects/${o}.ts`,await s(`
|
|
251
252
|
|
|
252
253
|
import type { ObjectDefinition } from "@osdk/api";
|
|
253
254
|
|
|
254
|
-
export const ${
|
|
255
|
+
export const ${o} = ${JSON.stringify($(i),null,2)} satisfies ${o};
|
|
255
256
|
|
|
256
257
|
${Z(i)}
|
|
257
258
|
`));}}
|