@osdk/generator 0.0.13 → 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 +9 -0
- package/build/js/index.js +154 -74
- package/build/js/index.js.map +1 -1
- package/build/js/index.mjs +152 -72
- 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/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:se(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:se(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:se(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:se(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,111 +208,117 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:se(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
|
|
161
|
-
|
|
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(`
|
|
162
242
|
export type { ObjectSet } from "@osdk/legacy-client";
|
|
163
|
-
`));}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(`
|
|
164
244
|
import { ActionDefinition } from "@osdk/api";
|
|
165
245
|
|
|
166
|
-
export const ${
|
|
167
|
-
${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(`
|
|
168
248
|
`)}
|
|
169
|
-
`));}function
|
|
170
|
-
${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(`
|
|
171
251
|
`)}
|
|
172
252
|
|
|
173
|
-
${
|
|
253
|
+
${be(e.description)}export interface ${e.apiName} extends OntologyObject {
|
|
174
254
|
readonly __apiName: "${e.apiName}";
|
|
175
|
-
readonly __primaryKey: ${
|
|
176
|
-
${Object.entries(e.properties).flatMap(([
|
|
177
|
-
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(`;
|
|
178
258
|
`)}
|
|
179
|
-
${
|
|
259
|
+
${t.flatMap(r=>[`readonly ${r.apiName}: ${r.cardinality==="MANY"?"MultiLink":"SingleLink"}<${r.objectTypeApiName}>`]).join(`;
|
|
180
260
|
`)}
|
|
181
261
|
}
|
|
182
|
-
`}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?`/**
|
|
183
263
|
* ${e}
|
|
184
264
|
*/
|
|
185
|
-
`:""}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(`
|
|
186
266
|
import { ObjectDefinition } from "@osdk/api";
|
|
187
|
-
${
|
|
267
|
+
${je(r,n)}
|
|
188
268
|
|
|
189
|
-
export const ${
|
|
190
|
-
${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(`
|
|
191
271
|
`)}
|
|
192
272
|
export type { ObjectSet } from "@osdk/legacy-client";
|
|
193
273
|
|
|
194
|
-
`));}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(`
|
|
195
275
|
import { QueryDefinition } from "@osdk/api";
|
|
196
276
|
|
|
197
|
-
export const ${
|
|
198
|
-
${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(`
|
|
199
279
|
`)}
|
|
200
|
-
`));}function
|
|
201
|
-
${
|
|
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(`
|
|
202
282
|
`)}
|
|
203
|
-
${a.apiName}(${
|
|
204
|
-
`);}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(`
|
|
205
285
|
import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
|
|
206
|
-
${Array.from(
|
|
286
|
+
${Array.from(r).map(a=>`import type { ${a} } from "../objects/${a}";`).join(`
|
|
207
287
|
`)}
|
|
208
288
|
|
|
209
289
|
export interface Queries {
|
|
210
290
|
${n.join(`
|
|
211
291
|
`)}
|
|
212
292
|
}
|
|
213
|
-
`));}function
|
|
214
|
-
`)} }`;case"union":return e.unionTypes.map(a=>
|
|
215
|
-
${
|
|
216
|
-
${
|
|
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)}
|
|
217
297
|
>`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
|
|
218
|
-
${
|
|
219
|
-
${
|
|
220
|
-
${
|
|
221
|
-
>`;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 `
|
|
222
302
|
export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
|
|
223
303
|
apiName: "${e.apiName}";
|
|
224
304
|
properties: {
|
|
225
|
-
${Object.entries(e.properties).map(([
|
|
305
|
+
${Object.entries(e.properties).map(([t,o])=>`
|
|
226
306
|
/**
|
|
227
307
|
* ${o.description??""}
|
|
228
308
|
**/
|
|
229
|
-
${
|
|
309
|
+
${t}: {
|
|
230
310
|
type: "${o.dataType.type}";
|
|
231
|
-
displayName: "${o.displayName??
|
|
311
|
+
displayName: "${o.displayName??t}";
|
|
232
312
|
}
|
|
233
313
|
|
|
234
314
|
`)}
|
|
235
315
|
}
|
|
236
316
|
}
|
|
237
|
-
`}async function
|
|
317
|
+
`}async function Ze(e,t,o){t.writeFile(T__default.join(o,"index.ts"),await i(`
|
|
238
318
|
export { Ontology } from "./Ontology";
|
|
239
|
-
`));let
|
|
319
|
+
`));let r=Object.keys(e.objectTypes);t.writeFile(T__default.join(o,"Ontology.ts"),await i(`
|
|
240
320
|
import type { OntologyDefinition } from "@osdk/api";
|
|
241
|
-
${
|
|
321
|
+
${r.map(n=>`import {${n}} from "./objects/${n}";`).join(`
|
|
242
322
|
`)}
|
|
243
323
|
|
|
244
324
|
import { OntologyMetadata } from "./OntologyMetadata";
|
|
@@ -246,19 +326,19 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
|
|
|
246
326
|
export const Ontology = {
|
|
247
327
|
metadata: OntologyMetadata,
|
|
248
328
|
objects: {
|
|
249
|
-
${
|
|
329
|
+
${r.map(n=>`${n}: ${n},`).join(`
|
|
250
330
|
`)}
|
|
251
331
|
},
|
|
252
|
-
} satisfies OntologyDefinition<${
|
|
253
|
-
`));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(`
|
|
254
334
|
|
|
255
335
|
import type { ObjectDefinition } from "@osdk/api";
|
|
256
336
|
|
|
257
|
-
export const ${n} = ${JSON.stringify(
|
|
337
|
+
export const ${n} = ${JSON.stringify(F(a),null,2)} satisfies ${n};
|
|
258
338
|
|
|
259
|
-
${
|
|
339
|
+
${Fe(a)}
|
|
260
340
|
`));}}
|
|
261
341
|
|
|
262
|
-
export {
|
|
342
|
+
export { Ye as generateClientSdkVersionOneDotOne, Ze as generateClientSdkVersionTwoPointZero };
|
|
263
343
|
//# sourceMappingURL=out.js.map
|
|
264
344
|
//# sourceMappingURL=index.mjs.map
|