@osdk/generator 0.0.12 → 0.0.14
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 +18 -0
- package/build/js/index.js +154 -73
- package/build/js/index.js.map +1 -1
- package/build/js/index.mjs +152 -71
- package/build/js/index.mjs.map +1 -1
- package/build/types/v1.1/backcompat/generateOntologyRuntimeDistDir.d.ts +2 -0
- package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateAggregationsAggregations.d.ts +2 -0
- package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateGroupBy.d.ts +2 -0
- package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/aggregations/generateMetrics.d.ts +2 -0
- package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateAggregationsDir.d.ts +2 -0
- package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateCommonDir.d.ts +2 -0
- package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generateOntologyProviderDir.d.ts +2 -0
- package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/generatePagingDir.d.ts +2 -0
- package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateErrors.d.ts +2 -0
- package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateOntologyMetadata.d.ts +2 -0
- package/build/types/v1.1/backcompat/internal-foundry-ontology-runtime-dist/ontologyProvider/generateResult.d.ts +2 -0
- package/build/types/v1.1/backcompat/util/reexportConsts.d.ts +1 -0
- package/build/types/v1.1/backcompat/util/reexportTypes.d.ts +1 -0
- package/build/types/v1.1/generateBackCompatDeprecatedExports.d.ts +2 -0
- package/build/types/v1.1/generateObjectsInterfaceSupportFiles.d.ts +3 -0
- package/build/types/v1.1/generateObjectsInterfaceSupportFiles.test.d.ts +1 -0
- package/package.json +3 -3
package/build/js/index.mjs
CHANGED
|
@@ -1,23 +1,92 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
1
|
+
import * as T from 'path';
|
|
2
|
+
import T__default, { join } from 'path';
|
|
3
3
|
import { format } from 'prettier';
|
|
4
|
-
import
|
|
4
|
+
import Be from 'prettier-plugin-organize-imports';
|
|
5
5
|
|
|
6
|
-
function
|
|
7
|
-
`;for(let[f,
|
|
8
|
-
`,
|
|
9
|
-
${
|
|
6
|
+
function I(e){return {...e,actionTypes:e.actionTypes.map(t=>({...t,apiName:De(t.apiName)}))}}function De(e){return e.replace(/-./g,t=>t[1].toUpperCase())}function x(e){let t=new Set,o=new Set;for(let r of e.operations)switch(r.type){case"createObject":t.add(r.objectTypeApiName);break;case"modifyObject":o.add(r.objectTypeApiName);break;}return {addedObjects:t,modifiedObjects:o}}function i(e){return format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[Be],tabWidth:2,printWidth:120})}async function G(e,t,o){let r=new Set,n=[];for(let a of e.actionTypes){let c=Object.entries(a.parameters),l=x(a),y=Array.from(l.addedObjects),g=Array.from(l.modifiedObjects);y.forEach(r.add,r),g.forEach(r.add,r);let s=["/**"];a.description&&s.push(`* ${a.description}`);let m="";if(c.length>0){m=`params: {
|
|
7
|
+
`;for(let[f,A]of c){m+=`"${f}"`,m+=A.required?": ":"?: ";let R=Q(A.dataType,r);m+=`${R};
|
|
8
|
+
`,s.push(`* @param {${R}} params.${f}`);}m+="}, ";}s.push("*/"),n.push(`
|
|
9
|
+
${s.join(`
|
|
10
10
|
`)}
|
|
11
|
-
${a.apiName}<O extends ActionExecutionOptions>(${
|
|
12
|
-
Promise<Result<ActionResponseFromOptions<O, Edits<${
|
|
11
|
+
${a.apiName}<O extends ActionExecutionOptions>(${m}options?: O):
|
|
12
|
+
Promise<Result<ActionResponseFromOptions<O, Edits<${y.length>0?y.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await t.mkdir(o,{recursive:!0}),await t.writeFile(T__default.join(o,"Actions.ts"),await i(`
|
|
13
13
|
import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
|
|
14
|
-
${Array.from(
|
|
14
|
+
${Array.from(r).map(a=>`import type { ${a} } from "../objects/${a}";`).join(`
|
|
15
15
|
`)}
|
|
16
16
|
export interface Actions {
|
|
17
17
|
${n.join(`
|
|
18
18
|
`)}
|
|
19
19
|
}
|
|
20
|
-
`));}function
|
|
20
|
+
`));}function Q(e,t){switch(e.type){case"objectSet":{let r=e.objectTypeApiName;return t.add(r),`ObjectSet<${r}>`}case"object":{let r=e.objectTypeApiName;return t.add(r),`${r} | ${r}["__primaryKey"]`}case"array":return `Array<${Q(e.subType,t)}>`;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}`)}}function u(e){return `
|
|
21
|
+
import { ${e.map(t=>`${t} as OG_${t}`).join(", ")}} from "@osdk/legacy-client";
|
|
22
|
+
|
|
23
|
+
${e.map(t=>`
|
|
24
|
+
/** @deprecated submodule imports arent public api **/
|
|
25
|
+
export const ${t} = OG_${t};
|
|
26
|
+
`).join(`
|
|
27
|
+
|
|
28
|
+
`)}
|
|
29
|
+
`}function p(e,t="",o=Ve(t)){return `
|
|
30
|
+
import type { ${e.map(r=>`${r} as OG_${r}`).join(", ")}} from "@osdk/legacy-client";
|
|
31
|
+
|
|
32
|
+
${e.map(r=>`
|
|
33
|
+
/** @deprecated submodule imports arent public api **/
|
|
34
|
+
export type ${r}${t} = OG_${r}${o};
|
|
35
|
+
`).join(`
|
|
36
|
+
|
|
37
|
+
`)}
|
|
38
|
+
`}var Me=/<(.*?)>/,ve=/^\s?(.+?)( extends .*?)?( = .*?)?\s?$/;function Ve(e){return e.length===0?"":`<${Me.exec(e)?.[1]?.split(",")?.map(o=>ve.exec(o)?.[1]??o)?.join(",")}>`}async function K(e,t){await e.writeFile(T.join(t,"Aggregations.ts"),await i(`
|
|
39
|
+
import { LocalDate, Timestamp } from "@osdk/legacy-client";
|
|
40
|
+
`+p(["Double","Rangeable","MetricValue","Date","BucketKey","BucketValue","TimeUnit","BucketGroup","Metrics","AggregatableProperties","AggregationClause"])+p(["Range"],"<T extends Rangeable>","<T>")+p(["BaseGroupBy"],"<_T extends BucketValue = BucketValue>")+p(["Duration"],"<_T extends Timestamp | LocalDate = Timestamp | LocalDate>")+p(["AggregatableProperty","MultipleAggregationsOperations"],"<_T extends MetricValue = MetricValue>")+p(["AggregationGroup"],"<TMetrics extends Metrics | MetricValue, TBucketGroup extends BucketGroup>")+p(["Bucketing"],"<_T extends string , _X extends BucketValue>")+p(["AggregationResult"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue>")+p(["BaseBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends BucketValue, Kind extends string>")+p(["ExactValueBucketing","InternalBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends BucketValue>")+p(["RangeBucketing","FixedWidthBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends Range<Rangeable>>")+p(["DurationBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends Date>")+p(["InternalBucketingVisitor"],"<TBucketKey extends BucketKey, T extends BucketValue, R>")+p(["AggregationBuilderResult"],"<T, TMultipleAggregationProperties>")+p(["AggregatablePropertiesForResult","AggregatablePropertyNamesForResult"],"<TAggregatableProperties, TResult extends MetricValue>")+u(["assertBucketingInternal","visitInternalBucketing"])+p(["AggregatableObjectSetStep"],"<TAggregatableProperties, TMultipleAggregationProperties, TBucketableProperties, TBucketGroup extends BucketGroup = {}>")+p(["GroupedTerminalAggregationOperations"],"<TAggregatableProperties, TMultipleAggregationProperties, TBucketGroup extends BucketGroup = {}>")));}async function _(e,t){await e.mkdir(T.join(t,"groupBy"),{recursive:!0});let o=["BooleanGroupBy","LocalDateGroupBy","NumericGroupBy","StringGroupBy","TimestampGroupBy"],r=[...o,"GroupKeyType"];for(let n of r)await e.writeFile(T.join(t,"groupBy",`${n}.ts`),await i(`export {${n}} from "./index";`));await e.writeFile(T.join(t,"groupBy","index.ts"),await i('import { Bucketing, BucketKey, Duration, Range, Rangeable } from "../Aggregations";'+u(o)+p(o,"<T extends BucketKey>")+`export {GroupKeyType} from "@osdk/legacy-client";
|
|
41
|
+
`));}async function U(e,t){let o=T.join(t,"metrics");await e.mkdir(o,{recursive:!0}),await e.writeFile(T.join(o,"metrics.ts"),await i('export {MetricValueType} from "@osdk/legacy-client";')),await e.writeFile(T.join(o,"ApproximateDistinctCountAggregatableProperty.ts"),await i(u(["ApproximateDistinctCountAggregatableProperty"])+p(["ApproximateDistinctCountAggregatableProperty"]))),await e.writeFile(T.join(o,"MultipleAggregatableProperty.ts"),await i(`
|
|
42
|
+
import { Double, MetricValue, MultipleAggregationsOperations } from "../Aggregations";
|
|
43
|
+
import { MetricValueType } from "./metrics";
|
|
44
|
+
`+u(["MultipleAggregatableProperty"])+p(["MultipleAggregatableProperty"],"<TResult extends MetricValue = Double>")));for(let r of ["DefaultAggregatableProperty","LocalDatePropertyMetric","NumericPropertyMetric","TimestampPropertyMetric"])await e.writeFile(T.join(o,`${r}.ts`),await i(`
|
|
45
|
+
import { MultipleAggregatableProperty } from "./MultipleAggregatableProperty";
|
|
46
|
+
`+u([r])));await e.writeFile(T.join(o,"index.ts"),await i(`
|
|
47
|
+
export * from "./ApproximateDistinctCountAggregatableProperty";
|
|
48
|
+
export * from "./DefaultAggregatableProperty";
|
|
49
|
+
export * from "./LocalDatePropertyMetric";
|
|
50
|
+
export * from "./metrics";
|
|
51
|
+
export * from "./MultipleAggregatableProperty";
|
|
52
|
+
export * from "./NumericPropertyMetric";
|
|
53
|
+
export * from "./TimestampPropertyMetric";
|
|
54
|
+
`));}async function q(e,t){let o=T.join(t,"aggregations");await e.mkdir(o,{recursive:!0}),await _(e,o),await K(e,o),await U(e,o),await e.writeFile(T.join(o,"index.ts"),await i(`
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
export * from "./Aggregations";
|
|
59
|
+
export * from "./ComputeStep";
|
|
60
|
+
export * from "./CountOperation";
|
|
61
|
+
export * from "./groupBy";
|
|
62
|
+
export * from "./internalAggregationRequest";
|
|
63
|
+
export * from "./metrics";
|
|
64
|
+
`)),await e.writeFile(T.join(o,"ComputeStep.ts"),await i(`
|
|
65
|
+
import { ObjectSetDefinition } from "../baseTypes";
|
|
66
|
+
import { FoundryClientOptions } from "../client";
|
|
67
|
+
import { AggregateObjectsError, OntologyMetadata, Result } from "../ontologyProvider";
|
|
68
|
+
import { AggregationClause, AggregationResult, BucketGroup, BucketValue, InternalBucketing, Metrics, MetricValue } from "./Aggregations";
|
|
69
|
+
`+u(["ComputeStep"])+p(["ComputeStep"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue> ")+p(["AggregationComputeStep"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue>")+`
|
|
70
|
+
|
|
71
|
+
`)),await e.writeFile(T.join(o,"CountOperation.ts"),await i(""+u(["CountOperation","isCountOperation"])+p(["CountOperation"]))),await e.writeFile(T.join(o,"internalAggregationRequest.ts"),await i(p(["InternalAggregationRequest"])));}async function J(e,t){await e.writeFile(T.join(t,"Errors.ts"),await i(p(["PermissionDenied","Unauthorized","InvalidAggregationRangeValue","MalformedPropertyFilters","PropertiesNotFilterable","ParametersNotFound","ApplyActionFailed","PropertyTypesSearchNotSupported","InvalidParameterValue","QueryTimeExceededLimit","CompositePrimaryKeyNotSupported","PropertyBaseTypeNotSupported","PropertiesNotSearchable","AttachmentNotFound","ObjectTypeNotFound","InvalidGroupId","OntologySyncing","ActionNotFound","ParameterObjectSetRidNotFound","LinkTypeNotFound","InvalidRangeQuery","ActionParameterObjectNotFound","InvalidPropertyValue","PropertiesNotSortable","FunctionExecutionTimedOut","InvalidFields","ActionTypeNotFound","ObjectTypeNotSynced","OntologyEditsExceededLimit","AggregationGroupCountExceededLimit","InvalidContentType","PropertiesNotFound","FunctionInvalidInput","InvalidSortOrder","QueryDepthExceededLimit","InvalidPropertyFiltersCombination","ObjectsExceededLimit","DuplicateOrderBy","FunctionEncounteredUserFacingError","InvalidUserId","QueryNotFound","InvalidAggregationRange","ParameterObjectNotFound","QueryMemoryExceededLimit","InvalidContentLength","OntologyNotFound","ActionParameterObjectTypeNotFound","UnknownParameter","InvalidSortType","PropertyFiltersNotSupported","ActionValidationFailed","MultipleGroupByOnFieldNotSupported","LinkedObjectNotFound","ActionEditedPropertiesNotFound","InvalidPropertyFilterValue","QueryEncounteredUserFacingError","AttachmentSizeExceededLimit","ObjectNotFound","PropertyApiNameNotFound","ParameterTypeNotSupported","InvalidAggregationRangePropertyType","MissingParameter"])));}async function Y(e,t){await e.writeFile(T.join(t,"OntologyMetadata.ts"),await i(p(["OntologyMetadata"])));}async function X(e,t){await e.writeFile(T.join(t,"Result.ts"),await i(`import {FoundryApiError} from "@osdk/legacy-client";
|
|
72
|
+
`+p(["Ok","Err"],"<T>")+p(["Result"],"<V, E = FoundryApiError>","<V,E>")+u(["isOk","isErr","visitError"])+p(["ErrorVisitor"],"<E extends FoundryApiError, R>","<E,R>")+p(["ExtractKeysWithType"],"<T, K extends keyof T>","<T,K>")));}async function H(e,t){let o=T.join(t,"ontologyProvider");await e.mkdir(o,{recursive:!0}),await J(e,o),await Y(e,o),await X(e,o),await e.writeFile(T.join(o,"index.ts"),await i(`
|
|
73
|
+
|
|
74
|
+
export * from "./Errors";
|
|
75
|
+
export * from "./OntologyMetadata";
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
// export * from "./Result";
|
|
79
|
+
`));}async function ee(e,t){let o=T.join(e,"paging");await t.mkdir(o,{recursive:!0}),await t.writeFile(T.join(o,"index.ts"),await i('export * from "./Page";')),await t.writeFile(T.join(o,"Page.ts"),await i(p(["Page"],"<T>")));}async function te(e,t){let o=T.join(e,"internal","@foundry","ontology-runtime","dist");await t.mkdir(o,{recursive:!0}),await H(t,o),await q(t,o),await ee(o,t),await t.writeFile(T.join(o,"index.ts"),await i(`
|
|
80
|
+
export * from "./aggregations";
|
|
81
|
+
// export * from "./baseTypes";
|
|
82
|
+
|
|
83
|
+
// export * from "./filters";
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
export * from "./ontologyProvider";
|
|
88
|
+
export * from "./paging";
|
|
89
|
+
`));}async function re(e,t){await te(t,e);}async function oe(e,t){await e.writeFile(T__default.join(t,"FoundryClient.ts"),await i(`
|
|
21
90
|
import { BaseFoundryClient } from "@osdk/legacy-client";
|
|
22
91
|
import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
|
|
23
92
|
import { Ontology } from "./Ontology";
|
|
@@ -30,7 +99,7 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
|
|
|
30
99
|
get ontology(): Ontology {
|
|
31
100
|
return super.ontology;
|
|
32
101
|
}
|
|
33
|
-
}`));}async function
|
|
102
|
+
}`));}async function ie(e,t){await e.mkdir(t,{recursive:!0}),await e.writeFile(T.join(t,"index.ts"),await i(`
|
|
34
103
|
export {
|
|
35
104
|
ActionExecutionMode,
|
|
36
105
|
ActionResponse,
|
|
@@ -85,6 +154,11 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
|
|
|
85
154
|
ListLinkedObjectsError,
|
|
86
155
|
ListObjectsError,
|
|
87
156
|
LoadObjectSetError,
|
|
157
|
+
ObjectSetAggregateArg,
|
|
158
|
+
ObjectSetFilterArg,
|
|
159
|
+
ObjectSetGroupByArg,
|
|
160
|
+
ObjectSetMultipleAggregateArg,
|
|
161
|
+
ObjectSetOrderByArg,
|
|
88
162
|
Page,
|
|
89
163
|
PermissionDenied,
|
|
90
164
|
QueryError,
|
|
@@ -97,19 +171,19 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
|
|
|
97
171
|
Unauthorized,
|
|
98
172
|
UnknownError,
|
|
99
173
|
} from '@osdk/legacy-client';
|
|
100
|
-
export { Ontology } from "./Ontology";
|
|
174
|
+
export type { Ontology } from "./Ontology";
|
|
101
175
|
export { FoundryClient } from "./FoundryClient";
|
|
102
|
-
`));}function
|
|
176
|
+
`));}function S(e,t){return e.map(o=>{let r=t?.get(o);return r?`${o}: ${r}`:o}).join(",")}function N(e,t){return e.map(o=>`${o}: typeof ${t?.get(o)??o}`).join(",")}async function ne(e,t,o){let r=Object.keys(e.objectTypes),n=e.actionTypes.map(s=>s.apiName),a=e.queryTypes.map(s=>s.apiName),c=new Map,l=new Map,y=new Set(r);for(let s of n)y.has(s)?c.set(s,`${s}Action`):y.add(s);for(let s of a)y.has(s)&&l.set(s,`${s}Query`);let g=(s,m)=>{let f=m.get(s);return f?`${s} as ${f}`:s};await t.writeFile(T__default.join(o,"Ontology.ts"),await i(`
|
|
103
177
|
import type { OntologyDefinition } from "@osdk/api";
|
|
104
178
|
import type { Ontology as ClientOntology } from "@osdk/legacy-client";
|
|
105
179
|
import type { Objects } from "./ontology/objects/Objects";
|
|
106
180
|
import type { Actions } from "./ontology/actions/Actions";
|
|
107
181
|
import type { Queries } from "./ontology/queries/Queries";
|
|
108
|
-
${
|
|
182
|
+
${r.map(s=>`import {${s}} from "./ontology/objects/${s}";`).join(`
|
|
109
183
|
`)}
|
|
110
|
-
${n.map(
|
|
184
|
+
${n.map(s=>`import {${g(s,c)}} from "./ontology/actions/${s}";`).join(`
|
|
111
185
|
`)}
|
|
112
|
-
${a.map(
|
|
186
|
+
${a.map(s=>`import {${g(s,l)}} from "./ontology/queries/${s}";`).join(`
|
|
113
187
|
`)}
|
|
114
188
|
|
|
115
189
|
export const Ontology : {
|
|
@@ -119,13 +193,13 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
|
|
|
119
193
|
userAgent: "foundry-typescript-osdk/0.0.1",
|
|
120
194
|
},
|
|
121
195
|
objects: {
|
|
122
|
-
${
|
|
196
|
+
${N(r)}
|
|
123
197
|
},
|
|
124
198
|
actions: {
|
|
125
|
-
${
|
|
199
|
+
${N(n,c)}
|
|
126
200
|
},
|
|
127
201
|
queries: {
|
|
128
|
-
${
|
|
202
|
+
${N(a,l)}
|
|
129
203
|
},
|
|
130
204
|
} = {
|
|
131
205
|
metadata: {
|
|
@@ -134,110 +208,117 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
|
|
|
134
208
|
userAgent: "foundry-typescript-osdk/0.0.1" as const,
|
|
135
209
|
},
|
|
136
210
|
objects: {
|
|
137
|
-
${
|
|
211
|
+
${S(r)}
|
|
138
212
|
},
|
|
139
213
|
actions: {
|
|
140
|
-
${
|
|
214
|
+
${S(n,c)}
|
|
141
215
|
},
|
|
142
216
|
queries: {
|
|
143
|
-
${
|
|
217
|
+
${S(a,l)}
|
|
144
218
|
}
|
|
145
|
-
} satisfies OntologyDefinition<${
|
|
219
|
+
} satisfies OntologyDefinition<${r.map(s=>`"${s}"`).join("|")}, ${e.actionTypes.map(s=>`"${s.apiName}"`).join("|")}, ${e.queryTypes.map(s=>`"${s.apiName}"`).join("|")}>;
|
|
146
220
|
|
|
147
221
|
export interface Ontology extends ClientOntology<typeof Ontology> {
|
|
148
222
|
objects: Objects;
|
|
149
223
|
actions: Actions;
|
|
150
224
|
queries: Queries;
|
|
151
|
-
}`));}async function
|
|
225
|
+
}`));}async function se(e,t,o){await t.mkdir(o,{recursive:!0}),await t.writeFile(T__default.join(o,"Objects.ts"),await i(`
|
|
152
226
|
import { BaseObjectSet } from "@osdk/legacy-client";
|
|
153
|
-
${Array.from(Object.keys(e.objectTypes)).map(
|
|
227
|
+
${Array.from(Object.keys(e.objectTypes)).map(r=>`import type { ${r} } from "./${r}";`).join(`
|
|
154
228
|
`)}
|
|
155
229
|
|
|
156
230
|
export interface Objects {
|
|
157
|
-
${Object.keys(e.objectTypes).map(
|
|
231
|
+
${Object.keys(e.objectTypes).map(r=>`${r} : BaseObjectSet<${r}>;`).join(`
|
|
158
232
|
`)}
|
|
159
233
|
}
|
|
160
|
-
;`));}async function
|
|
234
|
+
;`));}async function pe(e,t,o){await t.mkdir(o,{recursive:!0});for(let{apiName:r}of Object.values(e.objectTypes)){let n=join(o,`${r}.ts`),a=[];a.push('import { ObjectSetAggregateArg, ObjectSetFilterArg, ObjectSetGroupByArg, ObjectSetMultipleAggregateArg, ObjectSetOrderByArg } from "@osdk/legacy-client";'),a.push(`import { ${r} } from "../${r}";`),a.push(""),a.push(`/** @deprecated Use ObjectSetFilterArg<${r}> instead */`,`export type ${r}Filter = ObjectSetFilterArg<${r}>;`),a.push(`/** @deprecated Use ObjectSetOrderByArg<${r}> instead */`,`export type ${r}OrderBy = ObjectSetOrderByArg<${r}>;`),a.push(`/** @deprecated Use ObjectSetGroupByArg<${r}> instead */`,`export type ${r}GroupByProperties = ObjectSetGroupByArg<${r}>;`),a.push(`/**
|
|
235
|
+
* Aggregation properties for ${r}
|
|
236
|
+
* @deprecated Use ObjectSetAggregateArg<${r}> instead
|
|
237
|
+
*/`,`export type ${r}AggregationProperties = ObjectSetAggregateArg<${r}>;`),a.push(`/**
|
|
238
|
+
* Multiple aggregation properties for ${r}.
|
|
239
|
+
* @deprecated Use ObjectSetMultipleAggregateArg<${r}> instead
|
|
240
|
+
*/`,`export type ${r}MultipleAggregationProperties = ObjectSetMultipleAggregateArg<${r}>;`),await t.writeFile(n,a.join(`
|
|
241
|
+
`));}}async function me(e,t){await e.mkdir(t,{recursive:!0}),await e.writeFile(T.join(t,"index.ts"),await i(`
|
|
161
242
|
export type { ObjectSet } from "@osdk/legacy-client";
|
|
162
|
-
`));}function
|
|
243
|
+
`));}function ue(e){let t=x(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([o,r])=>[o,Qe(r)])),displayName:e.displayName,description:e.description,modifiedEntities:Le(t.addedObjects,t.modifiedObjects)}}function Qe(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:B(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:B(e.dataType),nullable:!e.required,description:e.description}}}function B(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 B(e.subType)}}function Le(e,t){let o={};for(let r of e)o[r]={created:!0,modified:!1};for(let r of t)o[r]?o[r].modified=!0:o[r]={created:!1,modified:!0};return o}async function le(e,t,o){await t.mkdir(o,{recursive:!0}),await Promise.all(e.actionTypes.map(async r=>{let n=new Set(Ke(r));await t.writeFile(T__default.join(o,`${r.apiName}.ts`),await i(`
|
|
163
244
|
import { ActionDefinition } from "@osdk/api";
|
|
164
245
|
|
|
165
|
-
export const ${
|
|
166
|
-
${e.actionTypes.map(
|
|
246
|
+
export const ${r.apiName} = ${JSON.stringify(ue(r),null,2)} satisfies ActionDefinition<"${r.apiName}", ${n.size>0?[...n].map(a=>`"${a}"`).join("|"):"never"}>;`));})),await t.writeFile(T__default.join(o,"index.ts"),await i(`
|
|
247
|
+
${e.actionTypes.map(r=>`export * from "./${r.apiName}";`).join(`
|
|
167
248
|
`)}
|
|
168
|
-
`));}function
|
|
169
|
-
${Array.from(o).map(
|
|
249
|
+
`));}function Ke(e){let t=Object.values(e.parameters).flatMap(({dataType:r})=>{let n=ge(r);return n?[n]:[]});return [...e.operations.flatMap(r=>{switch(r.type){case"createObject":return [r.objectTypeApiName];case"modifyObject":return [r.objectTypeApiName];case"deleteObject":case"createLink":case"deleteLink":return []}}),...t]}function ge(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return ge(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function de(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 fe(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:E(e.dataType),nullable:!0};case"array":return {multiplicity:!0,description:e.description,type:E(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function E(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 E(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function F(e,t=[]){return {apiName:e.apiName,description:e.description,primaryKeyType:de(e.properties[e.primaryKey]),links:Object.fromEntries(t.map(o=>[o.apiName,{multiplicity:o.cardinality==="MANY",targetType:o.objectTypeApiName}])),properties:Object.fromEntries(Object.entries(e.properties).map(([o,r])=>[o,fe(r)]))}}var _e=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 Te(e){return _e.has(e)}function je(e,t=[]){let o=new Set(t.map(r=>r.objectTypeApiName).filter(r=>r!==e.apiName));return `import type { OntologyObject, LocalDate, Timestamp, GeoShape, GeoPoint, Attachment, TimeSeries, MultiLink, SingleLink } from "@osdk/legacy-client";
|
|
250
|
+
${Array.from(o).map(r=>`import type { ${r} } from "./${r}";`).join(`
|
|
170
251
|
`)}
|
|
171
252
|
|
|
172
|
-
${
|
|
253
|
+
${be(e.description)}export interface ${e.apiName} extends OntologyObject {
|
|
173
254
|
readonly __apiName: "${e.apiName}";
|
|
174
|
-
readonly __primaryKey: ${
|
|
175
|
-
${Object.entries(e.properties).flatMap(([
|
|
176
|
-
readonly ${
|
|
255
|
+
readonly __primaryKey: ${M(e.properties[e.primaryKey].dataType)};
|
|
256
|
+
${Object.entries(e.properties).flatMap(([r,n])=>{let a=M(n.dataType),c=[`${be(n.description)}readonly ${r}: ${a} | undefined`];return Te(r)&&c.push(`/** @deprecated please migrate to '${r}' instead */
|
|
257
|
+
readonly ${r}_: ${a} | undefined`),c}).join(`;
|
|
177
258
|
`)}
|
|
178
|
-
${
|
|
259
|
+
${t.flatMap(r=>[`readonly ${r.apiName}: ${r.cardinality==="MANY"?"MultiLink":"SingleLink"}<${r.objectTypeApiName}>`]).join(`;
|
|
179
260
|
`)}
|
|
180
261
|
}
|
|
181
|
-
`}function
|
|
262
|
+
`}function M(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return M(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 be(e){return e?`/**
|
|
182
263
|
* ${e}
|
|
183
264
|
*/
|
|
184
|
-
`:""}async function
|
|
265
|
+
`:""}async function $e(e,t,o){await t.mkdir(o,{recursive:!0}),await Promise.all(Object.values(e.objectTypes).map(async r=>{let n=e.linkTypes[r.apiName],a=new Set(n?.map(c=>c.objectTypeApiName));await t.writeFile(T__default.join(o,`${r.apiName}.ts`),await i(`
|
|
185
266
|
import { ObjectDefinition } from "@osdk/api";
|
|
186
|
-
${
|
|
267
|
+
${je(r,n)}
|
|
187
268
|
|
|
188
|
-
export const ${
|
|
189
|
-
${Object.keys(e.objectTypes).map(
|
|
269
|
+
export const ${r.apiName} = ${JSON.stringify(F(r,n),null,2)} satisfies ObjectDefinition<"${r.apiName}", ${a.size>0?[...a].map(c=>`"${c}"`).join("|"):"never"}>;`));})),await t.writeFile(T__default.join(o,"index.ts"),await i(`
|
|
270
|
+
${Object.keys(e.objectTypes).map(r=>`export * from "./${r}";`).join(`
|
|
190
271
|
`)}
|
|
191
272
|
export type { ObjectSet } from "@osdk/legacy-client";
|
|
192
273
|
|
|
193
|
-
`));}function
|
|
274
|
+
`));}function j(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(t=>j(t)):!1}function d(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 {...d(e.subType),multiplicity:!0};case"set":return {type:{type:"set",set:d(e.subType)},nullable:!1};case"union":let t=j(e);if(t&&e.unionTypes.length===2){let r=e.unionTypes.find(n=>n.type!==null);if(r)return {...d(r),nullable:!0}}return {type:{type:"union",union:e.unionTypes.reduce((r,n)=>(n.type==="null"||r.push(d(n)),r),[])},nullable:t};case"struct":return {type:{type:"struct",struct:Object.fromEntries(e.fields.map(r=>[r.name,d(r.fieldType)]))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:v(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:Ue(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 v(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type};if(Ae(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 Ue(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:v(e.valueType)};if(Ae(e.keyType))return {keyType:e.keyType.type,valueType:v(e.valueType)};throw new Error(`Cannot create 3D aggregation with ${e.keyType.type} as its type`)}function Ae(e){return e.type==="string"||e.type==="boolean"}function Oe(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(([t,o])=>[t,qe(o)])),output:d(e.output)}}function qe(e){return {description:e.description,dataType:d(e.dataType)}}async function he(e,t,o){await t.mkdir(o,{recursive:!0}),await Promise.all(e.queryTypes.map(async r=>{let n=ze(r);await t.writeFile(T__default.join(o,`${r.apiName}.ts`),await i(`
|
|
194
275
|
import { QueryDefinition } from "@osdk/api";
|
|
195
276
|
|
|
196
|
-
export const ${
|
|
197
|
-
${e.queryTypes.map(
|
|
277
|
+
export const ${r.apiName} = ${JSON.stringify(Oe(r))} satisfies QueryDefinition<"${r.apiName}", ${n.length>0?n.map(a=>`"${a}"`).join("|"):"never"}>;`));})),await t.writeFile(T__default.join(o,"index.ts"),await i(`
|
|
278
|
+
${e.queryTypes.map(r=>`export * from "./${r.apiName}";`).join(`
|
|
198
279
|
`)}
|
|
199
|
-
`));}function
|
|
200
|
-
${
|
|
280
|
+
`));}function ze(e){let t=new Set;for(let{dataType:o}of Object.values(e.parameters))O(o,t);return O(e.output,t),Array.from(t)}function O(e,t){switch(e.type){case"array":case"set":O(e.subType,t);return;case"object":t.add(e.objectTypeApiName);return;case"objectSet":t.add(e.objectTypeApiName);return;case"struct":for(let r of Object.values(e.fields))O(r.fieldType,t);return;case"union":for(let r of e.unionTypes)O(r,t);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 Ne(e,t,o){let r=new Set,n=[];for(let a of e.queryTypes){let c=["/**"];a.description&&c.push(`* ${a.description}`);let l=w(a.output,r,!0),y=[];for(let[s,m]of Object.entries(a.parameters)){let f=j(m.dataType),A=w(m.dataType,r,!1);y.push(`"${s}"${f?"?":""}: ${A}`),c.push(`* @param {${Se(A)}} params.${s}${m.description?` - ${m.description}`:""}`);}let g=y.length===0?"":`params: { ${y.join("; ")} }`;c.push(`* @returns ${Se(l)}`,"*/"),n.push(`
|
|
281
|
+
${c.join(`
|
|
201
282
|
`)}
|
|
202
|
-
${a.apiName}(${
|
|
203
|
-
`);}await
|
|
283
|
+
${a.apiName}(${g}): Promise<Result<QueryResponse<${l}>, QueryError>>;
|
|
284
|
+
`);}await t.mkdir(o,{recursive:!0}),await t.writeFile(T__default.join(o,"Queries.ts"),await i(`
|
|
204
285
|
import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
|
|
205
|
-
${Array.from(
|
|
286
|
+
${Array.from(r).map(a=>`import type { ${a} } from "../objects/${a}";`).join(`
|
|
206
287
|
`)}
|
|
207
288
|
|
|
208
289
|
export interface Queries {
|
|
209
290
|
${n.join(`
|
|
210
291
|
`)}
|
|
211
292
|
}
|
|
212
|
-
`));}function
|
|
213
|
-
`)} }`;case"union":return e.unionTypes.map(a=>
|
|
214
|
-
${
|
|
215
|
-
${
|
|
293
|
+
`));}function w(e,t,o){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<${w(e.subType,t,o)}>`;case"object":{let a=e.objectTypeApiName;return t.add(a),o?a:`${a} | ${a}["__primaryKey"]`}case"objectSet":{let a=e.objectTypeApiName;return t.add(a),`ObjectSet<${a}>`}case"set":return `Set<${w(e.subType,t,o)}>`;case"struct":return `{ ${e.fields.map(a=>{let c=j(a.fieldType);return `${a.name}${c?"?":""}: ${w(a.fieldType,t,o)}`}).join(`,
|
|
294
|
+
`)} }`;case"union":return e.unionTypes.map(a=>w(a,t,o)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
|
|
295
|
+
${V(e.keyType)},
|
|
296
|
+
${ke(e.valueType)}
|
|
216
297
|
>`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
|
|
217
|
-
${
|
|
218
|
-
${
|
|
219
|
-
${
|
|
220
|
-
>`;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
|
|
298
|
+
${V(e.keyType)},
|
|
299
|
+
${V(e.valueType.keyType)},
|
|
300
|
+
${ke(e.valueType.valueType)}
|
|
301
|
+
>`;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 V(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<${We(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function We(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 ke(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 Se(e){return e.replace(/\s/g,"")}async function Ye(e,t,o){let r=T.join(o,"ontology","objects"),n=T.join(o,"ontology","actions"),a=T.join(o,"ontology","queries"),c=I(e);await oe(t,o),await ne(c,t,o),await me(t,T.join(o,"ontology")),await se(c,t,r),await pe(c,t,T.join(r,"objects-api")),await $e(c,t,r),await G(c,t,n),await le(c,t,n),await Ne(c,t,a),await he(c,t,a),await ie(t,o),await re(t,o);}function Fe(e){return `
|
|
221
302
|
export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
|
|
222
303
|
apiName: "${e.apiName}";
|
|
223
304
|
properties: {
|
|
224
|
-
${Object.entries(e.properties).map(([
|
|
305
|
+
${Object.entries(e.properties).map(([t,o])=>`
|
|
225
306
|
/**
|
|
226
307
|
* ${o.description??""}
|
|
227
308
|
**/
|
|
228
|
-
${
|
|
309
|
+
${t}: {
|
|
229
310
|
type: "${o.dataType.type}";
|
|
230
|
-
displayName: "${o.displayName??
|
|
311
|
+
displayName: "${o.displayName??t}";
|
|
231
312
|
}
|
|
232
313
|
|
|
233
314
|
`)}
|
|
234
315
|
}
|
|
235
316
|
}
|
|
236
|
-
`}async function
|
|
317
|
+
`}async function Ze(e,t,o){t.writeFile(T__default.join(o,"index.ts"),await i(`
|
|
237
318
|
export { Ontology } from "./Ontology";
|
|
238
|
-
`));let
|
|
319
|
+
`));let r=Object.keys(e.objectTypes);t.writeFile(T__default.join(o,"Ontology.ts"),await i(`
|
|
239
320
|
import type { OntologyDefinition } from "@osdk/api";
|
|
240
|
-
${
|
|
321
|
+
${r.map(n=>`import {${n}} from "./objects/${n}";`).join(`
|
|
241
322
|
`)}
|
|
242
323
|
|
|
243
324
|
import { OntologyMetadata } from "./OntologyMetadata";
|
|
@@ -245,19 +326,19 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
|
|
|
245
326
|
export const Ontology = {
|
|
246
327
|
metadata: OntologyMetadata,
|
|
247
328
|
objects: {
|
|
248
|
-
${
|
|
329
|
+
${r.map(n=>`${n}: ${n},`).join(`
|
|
249
330
|
`)}
|
|
250
331
|
},
|
|
251
|
-
} satisfies OntologyDefinition<${
|
|
252
|
-
`));for(let n of
|
|
332
|
+
} satisfies OntologyDefinition<${r.map(n=>`"${n}"`).join("|")}>;
|
|
333
|
+
`));for(let n of r){let a=e.objectTypes[n];t.writeFile(T__default.join(o,"objects",`${n}.ts`),await i(`
|
|
253
334
|
|
|
254
335
|
import type { ObjectDefinition } from "@osdk/api";
|
|
255
336
|
|
|
256
|
-
export const ${n} = ${JSON.stringify(
|
|
337
|
+
export const ${n} = ${JSON.stringify(F(a),null,2)} satisfies ${n};
|
|
257
338
|
|
|
258
|
-
${
|
|
339
|
+
${Fe(a)}
|
|
259
340
|
`));}}
|
|
260
341
|
|
|
261
|
-
export {
|
|
342
|
+
export { Ye as generateClientSdkVersionOneDotOne, Ze as generateClientSdkVersionTwoPointZero };
|
|
262
343
|
//# sourceMappingURL=out.js.map
|
|
263
344
|
//# sourceMappingURL=index.mjs.map
|