@osdk/generator 0.0.2 → 0.0.4
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 +17 -0
- package/build/js/index.js +65 -64
- package/build/js/index.js.map +1 -1
- package/build/js/index.mjs +64 -63
- package/build/js/index.mjs.map +1 -1
- package/build/types/shared/wireQueryDataTypeToQueryDataTypeDefinition.d.ts +1 -1
- package/build/types/shared/wireQueryTypeV2ToSdkQueryDefinition.d.ts +1 -1
- package/package.json +3 -3
package/build/js/index.mjs
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
1
|
+
import * as O from 'path';
|
|
2
|
+
import O__default from 'path';
|
|
3
3
|
import { format } from 'prettier';
|
|
4
4
|
|
|
5
|
-
function
|
|
6
|
-
`;for(let[
|
|
7
|
-
`,y.push(`* @param {${
|
|
5
|
+
function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.apiName)}))}}function ee(e){return e.replace(/-./g,r=>r[1].toUpperCase())}function $(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 format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:["prettier-plugin-organize-imports"],tabWidth:2,printWidth:120})}async function E(e,r,a){let t=new Set,o=[];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: {
|
|
6
|
+
`;for(let[j,b]of i){c+=`"${j}"`,c+=b.required?": ":"?: ";let D=F(b.dataType,t);c+=`${D};
|
|
7
|
+
`,y.push(`* @param {${D}} params.${j}`);}c+="}, ";}y.push("*/"),o.push(`
|
|
8
8
|
${y.join(`
|
|
9
9
|
`)}
|
|
10
|
-
${
|
|
11
|
-
Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(
|
|
10
|
+
${n.apiName}<O extends ActionExecutionOptions>(${c}options?: O):
|
|
11
|
+
Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(O__default.join(a,"ontologyActions.ts"),await s(`
|
|
12
12
|
import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
|
|
13
|
-
${Array.from(t).map(
|
|
13
|
+
${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
|
|
14
14
|
`)}
|
|
15
15
|
export interface Actions {
|
|
16
|
-
${
|
|
16
|
+
${o.join(`
|
|
17
17
|
`)}
|
|
18
18
|
}
|
|
19
|
-
`));}function
|
|
19
|
+
`));}function F(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<${F(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 Q(e,r){await e.writeFile(O__default.join(r,"FoundryClient.ts"),await s(`
|
|
20
20
|
import { BaseFoundryClient } from "@osdk/legacy-client";
|
|
21
21
|
import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
|
|
22
22
|
import { Ontology } from "./Ontology";
|
|
@@ -27,9 +27,9 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
get ontology(): Ontology {
|
|
30
|
-
return
|
|
30
|
+
return super.ontology;
|
|
31
31
|
}
|
|
32
|
-
}`));}async function
|
|
32
|
+
}`));}async function V(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(O.join(r,"index.ts"),await s(`
|
|
33
33
|
export {
|
|
34
34
|
ActionExecutionMode,
|
|
35
35
|
ActionResponse,
|
|
@@ -95,17 +95,17 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
|
|
|
95
95
|
} from '@osdk/legacy-client';
|
|
96
96
|
export { Ontology } from "./Ontology";
|
|
97
97
|
export { FoundryClient } from "./FoundryClient";
|
|
98
|
-
`));}function
|
|
98
|
+
`));}function u(e){return e.join(",")}async function L(e,r,a){let t=Object.keys(e.objectTypes),o=e.actionTypes.map(i=>i.apiName),n=e.queryTypes.map(i=>i.apiName);await r.writeFile(O__default.join(a,"Ontology.ts"),await s(`
|
|
99
99
|
import type { OntologyDefinition } from "@osdk/api";
|
|
100
100
|
import type { Ontology as ClientOntology } from "@osdk/legacy-client";
|
|
101
101
|
import type { Objects } from "./ontologyObjects";
|
|
102
102
|
import type { Actions } from "./ontologyActions";
|
|
103
103
|
import type { Queries } from "./ontologyQueries";
|
|
104
|
-
${t.map(
|
|
104
|
+
${t.map(i=>`import {${i}} from "./objects/${i}";`).join(`
|
|
105
105
|
`)}
|
|
106
|
-
${
|
|
106
|
+
${o.map(i=>`import {${i}} from "./actions/${i}";`).join(`
|
|
107
107
|
`)}
|
|
108
|
-
${
|
|
108
|
+
${n.map(i=>`import {${i}} from "./queries/${i}";`).join(`
|
|
109
109
|
`)}
|
|
110
110
|
|
|
111
111
|
export const Ontology = {
|
|
@@ -115,36 +115,36 @@ function D(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
|
|
|
115
115
|
userAgent: "foundry-typescript-osdk/0.0.1",
|
|
116
116
|
},
|
|
117
117
|
objects: {
|
|
118
|
-
${
|
|
118
|
+
${u(t)}
|
|
119
119
|
},
|
|
120
120
|
actions: {
|
|
121
|
-
${
|
|
121
|
+
${u(o)}
|
|
122
122
|
},
|
|
123
123
|
queries: {
|
|
124
|
-
${
|
|
124
|
+
${u(n)}
|
|
125
125
|
}
|
|
126
|
-
} satisfies OntologyDefinition<${t.map(
|
|
126
|
+
} satisfies OntologyDefinition<${t.map(i=>`"${i}"`).join("|")}, ${e.actionTypes.map(i=>`"${i.apiName}"`).join("|")}, ${e.queryTypes.map(i=>`"${i.apiName}"`).join("|")}>;
|
|
127
127
|
|
|
128
128
|
export interface Ontology extends ClientOntology<typeof Ontology> {
|
|
129
129
|
objects: Objects;
|
|
130
130
|
actions: Actions;
|
|
131
131
|
queries: Queries;
|
|
132
|
-
}`));}async function
|
|
132
|
+
}`));}async function C(e,r,a){await r.writeFile(O__default.join(a,"ontologyObjects.ts"),await s(`
|
|
133
133
|
import { BaseObjectSet } from "@osdk/legacy-client";
|
|
134
|
-
import { ${
|
|
134
|
+
import { ${u(Object.keys(e.objectTypes))} } from "./objects";
|
|
135
135
|
|
|
136
136
|
export interface Objects {
|
|
137
137
|
${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
|
|
138
138
|
`)}
|
|
139
139
|
}
|
|
140
|
-
;`));}function R(e){let r
|
|
140
|
+
;`));}function R(e){let r=$(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([a,t])=>[a,ie(t)])),displayName:e.displayName,description:e.description,modifiedEntities:se(r.addedObjects,r.modifiedObjects)}}function ie(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:h(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:h(e.dataType),nullable:!e.required,description:e.description}}}function h(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 h(e.subType)}}function se(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 I(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let o=new Set(ce(t));await r.writeFile(O__default.join(a,`${t.apiName}.ts`),await s(`
|
|
141
141
|
import { ActionDefinition } from "@osdk/api";
|
|
142
142
|
|
|
143
|
-
export const ${t.apiName} = ${JSON.stringify(R(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${
|
|
143
|
+
export const ${t.apiName} = ${JSON.stringify(R(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${o.size>0?[...o].map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(O__default.join(a,"index.ts"),await s(`
|
|
144
144
|
${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
|
|
145
145
|
`)}
|
|
146
|
-
`));}function
|
|
147
|
-
${Array.from(
|
|
146
|
+
`));}function ce(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let o=v(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 v(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return v(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function _(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 q(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:A(e.dataType),nullable:!0};case"array":return {multiplicity:!0,description:e.description,type:A(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function A(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 A(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function w(e,r=[]){return {apiName:e.apiName,description:e.description,primaryKeyType:_(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,q(t)]))}}function U(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";
|
|
147
|
+
${Array.from(a).map(t=>`import type { ${t} } from "./${t}";`).join(`
|
|
148
148
|
`)}
|
|
149
149
|
|
|
150
150
|
/**
|
|
@@ -152,69 +152,70 @@ ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
|
|
|
152
152
|
*/
|
|
153
153
|
export interface ${e.apiName} extends OntologyObject {
|
|
154
154
|
readonly __apiName: "${e.apiName}";
|
|
155
|
-
readonly __primaryKey: ${
|
|
156
|
-
${Object.entries(e.properties).map(([t,
|
|
155
|
+
readonly __primaryKey: ${N(e.properties[e.primaryKey].dataType)};
|
|
156
|
+
${Object.entries(e.properties).map(([t,o])=>`${pe(o.description)}readonly ${t}: ${N(o.dataType)} | undefined`).join(`;
|
|
157
157
|
`)}
|
|
158
|
-
${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}
|
|
158
|
+
${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`).join(`;
|
|
159
159
|
`)}
|
|
160
160
|
}
|
|
161
|
-
`}function
|
|
161
|
+
`}function N(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return N(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 pe(e){return e?`/**
|
|
162
162
|
* ${e}
|
|
163
163
|
*/
|
|
164
|
-
`:""}async function
|
|
164
|
+
`:""}async function K(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],n=new Set(o?.map(i=>i.objectTypeApiName));await r.writeFile(O__default.join(a,`${t.apiName}.ts`),await s(`
|
|
165
165
|
import { ObjectDefinition } from "@osdk/api";
|
|
166
|
-
${
|
|
166
|
+
${U(t,o)}
|
|
167
167
|
|
|
168
|
-
export const ${t.apiName} = ${JSON.stringify(
|
|
168
|
+
export const ${t.apiName} = ${JSON.stringify(w(t,o),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${n.size>0?[...n].map(i=>`"${i}"`).join("|"):"never"}>;`));})),await r.writeFile(O__default.join(a,"index.ts"),await s(`
|
|
169
169
|
${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
|
|
170
170
|
`)}
|
|
171
|
-
`));}function
|
|
171
|
+
`));}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(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:Object.fromEntries(e.fields.map(t=>[t.name,p(t.fieldType)]))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:S(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:me(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 S(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type};if(z(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 me(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:S(e.valueType)};if(z(e.keyType))return {keyType:e.keyType.type,valueType:S(e.valueType)};throw new Error(`Cannot create 3D aggregation with ${e.keyType.type} as its type`)}function z(e){return e.type==="string"||e.type==="boolean"}function B(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,ye(a)])),output:p(e.output)}}function ye(e){return {description:e.description,dataType:p(e.dataType)}}async function W(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{let o=ue(t);await r.writeFile(O__default.join(a,`${t.apiName}.ts`),await s(`
|
|
172
172
|
import { QueryDefinition } from "@osdk/api";
|
|
173
173
|
|
|
174
|
-
export const ${t.apiName} = ${JSON.stringify(
|
|
175
|
-
${e.queryTypes.map(t=>`export * from "./${t.apiName}";`)
|
|
176
|
-
`));}async function Y(e,r,o){let t=new Set,a=[];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 T=u(c.dataType),b=f(c.dataType,t);m.push(`"${y}"${T?"?":""}: ${b}`),n.push(`* @param {${W(b)}} params.${y}${c.description?` - ${c.description}`:""}`);}let g=m.length===0?"":`params: { ${m.join("; ")} }`;n.push(`* @returns ${W(d)}`,"*/"),a.push(`
|
|
177
|
-
${n.join(`
|
|
174
|
+
export const ${t.apiName} = ${JSON.stringify(B(t))} satisfies QueryDefinition<"${t.apiName}", ${o.length>0?o.map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(O__default.join(a,"index.ts"),await s(`
|
|
175
|
+
${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
|
|
178
176
|
`)}
|
|
179
|
-
|
|
180
|
-
|
|
177
|
+
`));}function ue(e){let r=new Set;for(let{dataType:a}of Object.values(e.parameters))T(a,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 H(e,r,a){let t=new Set,o=[];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 {${Z(b)}} params.${y}${c.description?` - ${c.description}`:""}`);}let g=m.length===0?"":`params: { ${m.join("; ")} }`;i.push(`* @returns ${Z(d)}`,"*/"),o.push(`
|
|
178
|
+
${i.join(`
|
|
179
|
+
`)}
|
|
180
|
+
${n.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
|
|
181
|
+
`);}await r.writeFile(`${a}/ontologyQueries.ts`,await s(`
|
|
181
182
|
import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
|
|
182
|
-
${Array.from(t).map(
|
|
183
|
+
${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
|
|
183
184
|
`)}
|
|
184
185
|
|
|
185
186
|
export interface Queries {
|
|
186
|
-
${
|
|
187
|
+
${o.join(`
|
|
187
188
|
`)}
|
|
188
189
|
}
|
|
189
|
-
`));}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
|
|
190
|
-
`)} }`;case"union":return e.unionTypes.map(
|
|
191
|
-
${
|
|
192
|
-
${
|
|
190
|
+
`));}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 n=l(o.fieldType);return `${o.name}${n?"?":""}: ${f(o.fieldType,r)}`}).join(`,
|
|
191
|
+
`)} }`;case"union":return e.unionTypes.map(o=>f(o,r)).join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
|
|
192
|
+
${k(e.keyType)},
|
|
193
|
+
${Y(e.valueType)}
|
|
193
194
|
>`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
|
|
194
|
-
${
|
|
195
|
-
${
|
|
196
|
-
${
|
|
197
|
-
>`;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
|
|
195
|
+
${k(e.keyType)},
|
|
196
|
+
${k(e.valueType.keyType)},
|
|
197
|
+
${Y(e.valueType.valueType)}
|
|
198
|
+
>`;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 k(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<${le(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function le(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 Y(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 Z(e){return e.replace(/\s/g,"")}async function fe(e,r,a){let t=x(e);await Q(r,a),await L(t,r,a),await C(t,r,a),await K(t,r,O.join(a,"objects")),await E(t,r,a),await I(t,r,O.join(a,"actions")),await H(t,r,a),await W(t,r,O.join(a,"queries")),await V(r,a);}function X(e){return `
|
|
198
199
|
export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
|
|
199
200
|
apiName: "${e.apiName}";
|
|
200
201
|
properties: {
|
|
201
|
-
${Object.entries(e.properties).map(([r,
|
|
202
|
+
${Object.entries(e.properties).map(([r,a])=>`
|
|
202
203
|
/**
|
|
203
|
-
* ${
|
|
204
|
+
* ${a.description??""}
|
|
204
205
|
**/
|
|
205
206
|
${r}: {
|
|
206
|
-
type: "${
|
|
207
|
-
displayName: "${
|
|
207
|
+
type: "${a.dataType.type}";
|
|
208
|
+
displayName: "${a.displayName??r}";
|
|
208
209
|
}
|
|
209
210
|
|
|
210
211
|
`)}
|
|
211
212
|
}
|
|
212
213
|
}
|
|
213
|
-
`}async function
|
|
214
|
+
`}async function de(e,r,a){r.writeFile(`${a}/index.ts`,await s(`
|
|
214
215
|
export { Ontology } from "./Ontology";
|
|
215
|
-
`));let t=Object.keys(e.objectTypes);r.writeFile(`${
|
|
216
|
+
`));let t=Object.keys(e.objectTypes);r.writeFile(`${a}/Ontology.ts`,await s(`
|
|
216
217
|
import type { OntologyDefinition } from "@osdk/api";
|
|
217
|
-
${t.map(
|
|
218
|
+
${t.map(o=>`import {${o}} from "./objects/${o}";`).join(`
|
|
218
219
|
`)}
|
|
219
220
|
|
|
220
221
|
import { OntologyMetadata } from "./OntologyMetadata";
|
|
@@ -222,19 +223,19 @@ ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleL
|
|
|
222
223
|
export const Ontology = {
|
|
223
224
|
metadata: OntologyMetadata,
|
|
224
225
|
objects: {
|
|
225
|
-
${t.map(
|
|
226
|
+
${t.map(o=>`${o}: ${o},`).join(`
|
|
226
227
|
`)}
|
|
227
228
|
},
|
|
228
|
-
} satisfies OntologyDefinition<${t.map(
|
|
229
|
-
`));for(let
|
|
229
|
+
} satisfies OntologyDefinition<${t.map(o=>`"${o}"`).join("|")}>;
|
|
230
|
+
`));for(let o of t){let n=e.objectTypes[o];r.writeFile(`${a}/objects/${o}.ts`,await s(`
|
|
230
231
|
|
|
231
232
|
import type { ObjectDefinition } from "@osdk/api";
|
|
232
233
|
|
|
233
|
-
export const ${
|
|
234
|
+
export const ${o} = ${JSON.stringify(w(n),null,2)} satisfies ${o};
|
|
234
235
|
|
|
235
|
-
${
|
|
236
|
+
${X(n)}
|
|
236
237
|
`));}}
|
|
237
238
|
|
|
238
|
-
export {
|
|
239
|
+
export { fe as generateClientSdkVersionOneDotOne, de as generateClientSdkVersionTwoPointZero };
|
|
239
240
|
//# sourceMappingURL=out.js.map
|
|
240
241
|
//# sourceMappingURL=index.mjs.map
|