@osdk/generator 1.0.0 → 1.0.1
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.cjs +130 -105
- package/build/js/index.cjs.map +1 -1
- package/build/js/index.mjs +128 -103
- package/build/js/index.mjs.map +1 -1
- package/build/types/WireOntologyDefinition.d.ts +6 -0
- package/build/types/shared/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts +3 -0
- package/build/types/shared/sanitizeMetadata.d.ts +8 -1
- package/build/types/shared/wireObjectTypeV2ToSdkObjectConst.d.ts +1 -0
- package/build/types/util/test/TodoWireOntology.d.ts +1 -0
- package/build/types/v2.0/generateClientSdkVersionTwoPointZero.d.ts +2 -2
- package/package.json +3 -3
package/build/js/index.mjs
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
1
|
+
import * as d from 'path';
|
|
2
|
+
import d__default, { join } from 'path';
|
|
3
3
|
import { format } from 'prettier';
|
|
4
|
-
import
|
|
4
|
+
import at from 'prettier-plugin-organize-imports';
|
|
5
5
|
|
|
6
|
-
function
|
|
7
|
-
`;for(let[x,
|
|
8
|
-
`,
|
|
9
|
-
${
|
|
6
|
+
function B(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.actionTypes).map(t=>[ee(t.apiName),{...t,apiName:ee(t.apiName)}]))}}function ee(e){return e.replace(/-./g,t=>t[1].toUpperCase())}function N(e){let t=new Set,r=new Set;for(let n of e.operations)switch(n.type){case"createObject":t.add(n.objectTypeApiName);break;case"modifyObject":r.add(n.objectTypeApiName);break;}return {addedObjects:t,modifiedObjects:r}}function o(e){return format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[at],tabWidth:2,printWidth:120})}async function te(e,t,r,n=""){let a=new Set,s=[];for(let c of Object.values(e.actionTypes)){let l=Object.entries(c.parameters),u=N(c),y=Array.from(u.addedObjects),w=Array.from(u.modifiedObjects);y.forEach(a.add,a),w.forEach(a.add,a);let p=["/**"];c.description&&p.push(`* ${c.description}`);let g="";if(l.length>0){g=`params: {
|
|
7
|
+
`;for(let[x,P]of l){g+=`"${x}"`,g+=P.required?": ":"?: ";let X=re(P.dataType,a);g+=`${X};
|
|
8
|
+
`,p.push(`* @param {${X}} params.${x}`);}g+="}, ";}p.push("*/"),s.push(`
|
|
9
|
+
${p.join(`
|
|
10
10
|
`)}
|
|
11
|
-
${
|
|
12
|
-
Promise<Result<ActionResponseFromOptions<O, Edits<${
|
|
11
|
+
${c.apiName}<O extends ActionExecutionOptions>(${g}options?: O):
|
|
12
|
+
Promise<Result<ActionResponseFromOptions<O, Edits<${y.length>0?y.join(" | "):"void"}, ${w.length>0?w.join(" | "):"void"}>>, ActionError>>;`);}await t.mkdir(r,{recursive:!0}),await t.writeFile(d__default.join(r,"Actions.ts"),await o(`
|
|
13
13
|
import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
|
|
14
|
-
${Array.from(a).map(
|
|
14
|
+
${Array.from(a).map(c=>`import type { ${c} } from "../objects/${c}${n}";`).join(`
|
|
15
15
|
`)}
|
|
16
16
|
export interface Actions {
|
|
17
|
-
${
|
|
17
|
+
${s.join(`
|
|
18
18
|
`)}
|
|
19
19
|
}
|
|
20
|
-
`));}function
|
|
20
|
+
`));}function re(e,t){switch(e.type){case"objectSet":{let n=e.objectTypeApiName;return t.add(n),`ObjectSet<${n}>`}case"object":{let n=e.objectTypeApiName;return t.add(n),`${n} | ${n}["__primaryKey"]`}case"array":return `Array<${re(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 m(e){return `
|
|
21
21
|
import { ${e.map(t=>`${t} as OG_${t}`).join(", ")}} from "@osdk/legacy-client";
|
|
22
22
|
|
|
23
23
|
${e.map(t=>`
|
|
@@ -26,19 +26,19 @@ function H(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.action
|
|
|
26
26
|
`).join(`
|
|
27
27
|
|
|
28
28
|
`)}
|
|
29
|
-
`}async function
|
|
29
|
+
`}async function oe(e,t){let r=d__default.join(t,"ConfidentialClient");await e.mkdir(r,{recursive:!0}),await e.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
30
30
|
export * from "./ConfidentialClientAuth";
|
|
31
|
-
`)),await e.writeFile(
|
|
32
|
-
${
|
|
33
|
-
`));}async function
|
|
31
|
+
`)),await e.writeFile(d__default.join(r,"ConfidentialClientAuth.ts"),await o(`
|
|
32
|
+
${m(["ConfidentialClientAuth"])}
|
|
33
|
+
`));}async function ie(e,t){let r=d__default.join(t,"PublicClient");await e.mkdir(r,{recursive:!0}),await e.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
34
34
|
export * from "./PublicClientAuth";
|
|
35
|
-
`)),await e.writeFile(
|
|
36
|
-
${
|
|
37
|
-
`));}async function
|
|
35
|
+
`)),await e.writeFile(d__default.join(r,"PublicClientAuth.ts"),await o(`
|
|
36
|
+
${m(["PublicClientAuth"])}
|
|
37
|
+
`));}async function ae(e,t){let r=d__default.join(t,"UserToken");await e.mkdir(r,{recursive:!0}),await e.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
38
38
|
export * from "./UserTokenAuth";
|
|
39
|
-
`)),await e.writeFile(
|
|
40
|
-
${
|
|
41
|
-
`));}function i(e,t="",r=
|
|
39
|
+
`)),await e.writeFile(d__default.join(r,"UserTokenAuth.ts"),await o(`
|
|
40
|
+
${m(["UserTokenAuth"])}
|
|
41
|
+
`));}function i(e,t="",r=ct(t)){return `
|
|
42
42
|
import type { ${e.map(n=>`${n} as OG_${n}`).join(", ")}} from "@osdk/legacy-client";
|
|
43
43
|
|
|
44
44
|
${e.map(n=>`
|
|
@@ -47,22 +47,22 @@ function H(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.action
|
|
|
47
47
|
`).join(`
|
|
48
48
|
|
|
49
49
|
`)}
|
|
50
|
-
`}var
|
|
50
|
+
`}var st=/<(.*?)>/,pt=/^\s?(.+?)( extends .*?)?( = .*?)?\s?$/;function ct(e){return e.length===0?"":`<${st.exec(e)?.[1]?.split(",")?.map(r=>pt.exec(r)?.[1]??r)?.join(",")}>`}async function ne(e,t){let r=d.join(e,"internal","@foundry","oauth-client","dist");await t.mkdir(r,{recursive:!0}),await t.writeFile(d.join(r,"index.ts"),await o(`
|
|
51
51
|
export * from "./Auth";
|
|
52
52
|
export * from "./ConfidentialClient";
|
|
53
53
|
export * from "./OAuthClient";
|
|
54
54
|
export * from "./PublicClient";
|
|
55
55
|
export * from "./Token";
|
|
56
56
|
export * from "./UserToken";
|
|
57
|
-
`)),await t.writeFile(
|
|
57
|
+
`)),await t.writeFile(d.join(r,"Auth.ts"),await o(i(["Auth"]))),await t.writeFile(d.join(r,"Token.ts"),await o(i(["Token","TokenValue"]))),await t.writeFile(d.join(r,"OAuthClient.ts"),await o(i(["AuthSubscription","UnsubscribeFunction","SignInResponse","RefreshResponse","SignOutResponse"]))),await t.writeFile(d.join(r,"OAuthToken.ts"),await o(m(["OAuthToken"]))),await t.writeFile(d.join(r,"Auth.ts"),await o(i(["Auth"]))),await oe(t,r),await ie(t,r),await ae(t,r);}async function pe(e,t){await e.writeFile(d.join(t,"Aggregations.ts"),await o(`
|
|
58
58
|
import { LocalDate, Timestamp } from "@osdk/legacy-client";
|
|
59
|
-
`+i(["Double","Rangeable","MetricValue","Date","BucketKey","BucketValue","TimeUnit","BucketGroup","Metrics","AggregatableProperties","AggregationClause"])+i(["Range"],"<T extends Rangeable>","<T>")+i(["BaseGroupBy"],"<_T extends BucketValue = BucketValue>")+i(["Duration"],"<_T extends Timestamp | LocalDate = Timestamp | LocalDate>")+i(["AggregatableProperty","MultipleAggregationsOperations"],"<_T extends MetricValue = MetricValue>")+i(["AggregationGroup"],"<TMetrics extends Metrics | MetricValue, TBucketGroup extends BucketGroup>")+i(["Bucketing"],"<_T extends string , _X extends BucketValue>")+i(["AggregationResult"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue>")+i(["BaseBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends BucketValue, Kind extends string>")+i(["ExactValueBucketing","InternalBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends BucketValue>")+i(["RangeBucketing","FixedWidthBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends Range<Rangeable>>")+i(["DurationBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends Date>")+i(["InternalBucketingVisitor"],"<TBucketKey extends BucketKey, T extends BucketValue, R>")+i(["AggregationBuilderResult"],"<T, TMultipleAggregationProperties>")+i(["AggregatablePropertiesForResult","AggregatablePropertyNamesForResult"],"<TAggregatableProperties, TResult extends MetricValue>")+
|
|
60
|
-
`));}async function
|
|
59
|
+
`+i(["Double","Rangeable","MetricValue","Date","BucketKey","BucketValue","TimeUnit","BucketGroup","Metrics","AggregatableProperties","AggregationClause"])+i(["Range"],"<T extends Rangeable>","<T>")+i(["BaseGroupBy"],"<_T extends BucketValue = BucketValue>")+i(["Duration"],"<_T extends Timestamp | LocalDate = Timestamp | LocalDate>")+i(["AggregatableProperty","MultipleAggregationsOperations"],"<_T extends MetricValue = MetricValue>")+i(["AggregationGroup"],"<TMetrics extends Metrics | MetricValue, TBucketGroup extends BucketGroup>")+i(["Bucketing"],"<_T extends string , _X extends BucketValue>")+i(["AggregationResult"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue>")+i(["BaseBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends BucketValue, Kind extends string>")+i(["ExactValueBucketing","InternalBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends BucketValue>")+i(["RangeBucketing","FixedWidthBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends Range<Rangeable>>")+i(["DurationBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends Date>")+i(["InternalBucketingVisitor"],"<TBucketKey extends BucketKey, T extends BucketValue, R>")+i(["AggregationBuilderResult"],"<T, TMultipleAggregationProperties>")+i(["AggregatablePropertiesForResult","AggregatablePropertyNamesForResult"],"<TAggregatableProperties, TResult extends MetricValue>")+m(["assertBucketingInternal","visitInternalBucketing"])+i(["AggregatableObjectSetStep"],"<TAggregatableProperties, TMultipleAggregationProperties, TBucketableProperties, TBucketGroup extends BucketGroup = {}>")+i(["GroupedTerminalAggregationOperations"],"<TAggregatableProperties, TMultipleAggregationProperties, TBucketGroup extends BucketGroup = {}>")));}async function ce(e,t){await e.mkdir(d.join(t,"groupBy"),{recursive:!0});let r=["BooleanGroupBy","LocalDateGroupBy","NumericGroupBy","StringGroupBy","TimestampGroupBy"],n=[...r,"GroupKeyType"];for(let a of n)await e.writeFile(d.join(t,"groupBy",`${a}.ts`),await o(`export {${a}} from "./index";`));await e.writeFile(d.join(t,"groupBy","index.ts"),await o('import { Bucketing, BucketKey, Duration, Range, Rangeable } from "../Aggregations";'+m(r)+i(r,"<T extends BucketKey>")+`export {GroupKeyType} from "@osdk/legacy-client";
|
|
60
|
+
`));}async function me(e,t){let r=d.join(t,"metrics");await e.mkdir(r,{recursive:!0}),await e.writeFile(d.join(r,"metrics.ts"),await o('export {MetricValueType} from "@osdk/legacy-client";')),await e.writeFile(d.join(r,"ApproximateDistinctCountAggregatableProperty.ts"),await o(m(["ApproximateDistinctCountAggregatableProperty"])+i(["ApproximateDistinctCountAggregatableProperty"]))),await e.writeFile(d.join(r,"MultipleAggregatableProperty.ts"),await o(`
|
|
61
61
|
import { Double, MetricValue, MultipleAggregationsOperations } from "../Aggregations";
|
|
62
62
|
import { MetricValueType } from "./metrics";
|
|
63
|
-
`+
|
|
63
|
+
`+m(["MultipleAggregatableProperty"])+i(["MultipleAggregatableProperty"],"<TResult extends MetricValue = Double>")));for(let n of ["DefaultAggregatableProperty","LocalDatePropertyMetric","NumericPropertyMetric","TimestampPropertyMetric"])await e.writeFile(d.join(r,`${n}.ts`),await o(`
|
|
64
64
|
import { MultipleAggregatableProperty } from "./MultipleAggregatableProperty";
|
|
65
|
-
`+
|
|
65
|
+
`+m([n])));await e.writeFile(d.join(r,"index.ts"),await o(`
|
|
66
66
|
export * from "./ApproximateDistinctCountAggregatableProperty";
|
|
67
67
|
export * from "./DefaultAggregatableProperty";
|
|
68
68
|
export * from "./LocalDatePropertyMetric";
|
|
@@ -70,7 +70,7 @@ function H(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.action
|
|
|
70
70
|
export * from "./MultipleAggregatableProperty";
|
|
71
71
|
export * from "./NumericPropertyMetric";
|
|
72
72
|
export * from "./TimestampPropertyMetric";
|
|
73
|
-
`));}async function
|
|
73
|
+
`));}async function le(e,t){let r=d.join(t,"aggregations");await e.mkdir(r,{recursive:!0}),await ce(e,r),await pe(e,r),await me(e,r),await e.writeFile(d.join(r,"index.ts"),await o(`
|
|
74
74
|
|
|
75
75
|
|
|
76
76
|
|
|
@@ -80,16 +80,16 @@ function H(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.action
|
|
|
80
80
|
export * from "./groupBy";
|
|
81
81
|
export * from "./internalAggregationRequest";
|
|
82
82
|
export * from "./metrics";
|
|
83
|
-
`)),await e.writeFile(
|
|
83
|
+
`)),await e.writeFile(d.join(r,"ComputeStep.ts"),await o(`
|
|
84
84
|
import { ObjectSetDefinition } from "../baseTypes";
|
|
85
85
|
import { FoundryClientOptions } from "../client";
|
|
86
86
|
import { AggregateObjectsError, OntologyMetadata, Result } from "../ontologyProvider";
|
|
87
87
|
import { AggregationClause, AggregationResult, BucketGroup, BucketValue, InternalBucketing, Metrics, MetricValue } from "./Aggregations";
|
|
88
|
-
`+
|
|
88
|
+
`+m(["ComputeStep"])+i(["ComputeStep"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue> ")+i(["AggregationComputeStep"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue>")+`
|
|
89
89
|
|
|
90
|
-
`)),await e.writeFile(
|
|
90
|
+
`)),await e.writeFile(d.join(r,"CountOperation.ts"),await o(""+m(["CountOperation","isCountOperation"])+i(["CountOperation"]))),await e.writeFile(d.join(r,"internalAggregationRequest.ts"),await o(i(["InternalAggregationRequest"])));}async function ue(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d__default.join(e,"index.ts"),await o(`export * from "./Attachment";
|
|
91
91
|
export * from "./Attachments";
|
|
92
|
-
`)),await t.writeFile(
|
|
92
|
+
`)),await t.writeFile(d__default.join(e,"Attachment.ts"),await o(i(["Attachment","AttachmentMetadata"]))),await t.writeFile(d__default.join(e,"Attachments.ts"),await o(i(["Attachments"])));}async function ye(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d.join(e,"index.ts"),await o(`export * from "./Distance";
|
|
93
93
|
export * from "./GeoJson";
|
|
94
94
|
export * from "./GeometryCollection";
|
|
95
95
|
export * from "./GeoPoint";
|
|
@@ -98,19 +98,19 @@ function H(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.action
|
|
|
98
98
|
export * from "./MultiGeoPoint";
|
|
99
99
|
export * from "./MultiLineString";
|
|
100
100
|
export * from "./MultiPolygon";
|
|
101
|
-
export * from "./Polygon";`)),await t.writeFile(
|
|
101
|
+
export * from "./Polygon";`)),await t.writeFile(d.join(e,"Distance.ts"),await o(""+m(["Distance","DistanceUnit"])+i(["Distance","DistanceUnit"]))),await t.writeFile(d.join(e,"GeoJson.ts"),await o(i(["GeoJsonPoint","GeoJsonPolygon","GeoJsonLineString","GeoJsonMultiPoint","GeoJsonMultiPolygon","GeoJsonMultiLineString","GeoJsonGeometryCollection","GeoJsonGeometry","GeoJson"]))),await t.writeFile(d.join(e,"GeometryCollection.ts"),await o(m(["GeometryCollection"]))),await t.writeFile(d.join(e,"GeoPoint.ts"),await o(""+m(["isGeoPoint","GeoPoint","mapCoordinatesToGeoPoint"])+i(["GeoHash","Coordinates","GeoPoint"]))),await t.writeFile(d.join(e,"GeoShape.ts"),await o(m(["GeoShape"])+i(["GeoShape"]))),await t.writeFile(d.join(e,"LineString.ts"),await o(m(["LineString"])+i(["LineString"]))),await t.writeFile(d.join(e,"MultiGeoPoint.ts"),await o(m(["MultiGeoPoint"])+i(["MultiGeoPoint"]))),await t.writeFile(d.join(e,"MultiLineString.ts"),await o(m(["MultiLineString"])+i(["MultiLineString"]))),await t.writeFile(d.join(e,"MultiPolygon.ts"),await o(m(["MultiPolygon"])+i(["MultiPolygon"]))),await t.writeFile(d.join(e,"Polygon.ts"),await o(m(["Polygon"])+i(["LinearRing","Polygon"])));}async function ge(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d__default.join(e,"index.ts"),await o(`
|
|
102
102
|
export * from "./ObjectSetDefinition";
|
|
103
103
|
export * from "./OntologyObjectSet";
|
|
104
|
-
`)),await t.writeFile(
|
|
104
|
+
`)),await t.writeFile(d__default.join(e,"ObjectSetDefinition.ts"),await o(i(["BaseObjectSetDefinition","ReferenceObjectSetDefinition","StaticObjectSetDefinition","IntersectObjectSetDefinition","SubtractObjectSetDefinition","SearchAroundObjectSetDefinition","FilterObjectSetDefinition","ObjectSetDefinition"]))),await t.writeFile(d__default.join(e,"OntologyObjectSet.ts"),await o(i(["OntologyObjectSet"])));}async function fe(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d__default.join(e,"index.ts"),await o(`
|
|
105
105
|
export * from "./FilteredPropertiesTerminalOperations";
|
|
106
|
-
`)),await t.writeFile(
|
|
106
|
+
`)),await t.writeFile(d__default.join(e,"FilteredPropertiesTerminalOperations.ts"),await o('import { OntologyObject } from "../OntologyObject'+i(["FilteredPropertiesTerminalOperations","FilteredPropertiesTerminalOperationsWithGet"],"<T extends OntologyObject, V extends Array<keyof T>>")));}async function Te(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d.join(e,"index.ts"),await o(`
|
|
107
107
|
export * from "./TimeSeries";
|
|
108
108
|
export * from "./TimeSeriesDuration";
|
|
109
109
|
export * from "./TimeSeriesPoint";
|
|
110
110
|
|
|
111
111
|
export * from "./TimeSeriesQuery";
|
|
112
112
|
export * from "./TimeSeriesTerminalOperations";
|
|
113
|
-
`)),await t.writeFile(
|
|
113
|
+
`)),await t.writeFile(d.join(e,"TimeSeries.ts"),await o(i(["TimeSeries"],"<T extends number | string>"))),await t.writeFile(d.join(e,"TimeSeriesDuration.ts"),await o(i(["WhenUnit","DurationUnit","TimeSeriesDuration"]))),await t.writeFile(d.join(e,"TimeSeriesPoint.ts"),await o(i(["TimeSeriesPoint"],"<T extends number | string>"))),await t.writeFile(d.join(e,"TimeSeriesQuery.ts"),await o(i(["TimeSeriesQuery"],"<T extends number | string>"))),await t.writeFile(d.join(e,"TimeSeriesTerminalOperations.ts"),await o(i(["TimeSeriesTerminalOperations","TimeSeriesIterator"],"<T extends number | string>")));}async function we(e,t){let r=d.join(e,"baseTypes");await t.mkdir(r,{recursive:!0}),await t.writeFile(d.join(r,"index.ts"),await o(`export * from "./ActionType";
|
|
114
114
|
export * from "./attachments";
|
|
115
115
|
export * from "./geoshapes";
|
|
116
116
|
export * from "./links";
|
|
@@ -120,9 +120,9 @@ function H(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.action
|
|
|
120
120
|
export * from "./OntologyObject";
|
|
121
121
|
export * from "./Queries";
|
|
122
122
|
export * from "./timeseries";
|
|
123
|
-
export * from "./timestamp";`));let n=
|
|
124
|
-
`+
|
|
125
|
-
`+i(["QueryResponse"],"<T>")+i(["BaseBucket"],"<K, V>")+i(["NestedBucket"],"<TGroupKey, TSegmentKey, TValue extends BucketValue>")+i(["TwoDimensionalAggregation"],"<TGroupKey extends QueryBucketKey, TValue extends BucketValue = number>")+i(["ThreeDimensionalAggregation"],"<TGroupKey extends QueryBucketKey, TSegmentKey extends QueryBucketKey, TValue extends BucketValue = number>")+i(["QueryBucketKey"]))),await t.writeFile(
|
|
123
|
+
export * from "./timestamp";`));let n=d.join(r,"geoshapes");await ye(n,t);let a=d.join(r,"timeseries");await Te(a,t);let s=d.join(r,"attachments");await ue(s,t);let c=d.join(r,"objectset");await ge(c,t);let l=d.join(r,"sharedObjectCode");await fe(l,t),await t.writeFile(d.join(r,"ActionType.ts"),await o(`import { OntologyObject } from "./OntologyObject";
|
|
124
|
+
`+m(["ActionExecutionMode","ReturnEditsMode","ActionValidationResult"])+i(["ActionExecutionOptions","ValidationResponse","BulkEdits"])+i(["CreatedObjectEdits","ModifiedObjectEdits"],"<T extends OntologyObject>")+i(["Edits"],"<TAddedObjects extends OntologyObject | void, TModifiedObjects extends OntologyObject | void>")+i(["ActionResponse"],"<TEdits extends Edits<any, any> | undefined = undefined>","<TEdits>")+i(["ActionResponseFromOptions"],"<TOptions extends ActionExecutionOptions | undefined = undefined, TEdits extends Edits<any, any> | undefined = undefined>","<TOptions, TEdits>"))),await t.writeFile(d.join(r,"OntologyObject.ts"),await o(i(["OntologyObject"])+m(["isOntologyObject"]))),await t.writeFile(d.join(r,"links.ts"),await o('import { OntologyObject } from "./OntologyObject'+i(["SingleLink","MultiLink"],"<T extends OntologyObject = OntologyObject>"))),await t.writeFile(d.join(r,"localDate.ts"),await o(m(["LocalDate"])+i(["LocalDate"]))),await t.writeFile(d.join(r,"timestamp.ts"),await o(m(["Timestamp"])+i(["Timestamp"]))),await t.writeFile(d.join(r,"Queries.ts"),await o(`import { BucketValue, Range, Rangeable } from "../aggregations";
|
|
125
|
+
`+i(["QueryResponse"],"<T>")+i(["BaseBucket"],"<K, V>")+i(["NestedBucket"],"<TGroupKey, TSegmentKey, TValue extends BucketValue>")+i(["TwoDimensionalAggregation"],"<TGroupKey extends QueryBucketKey, TValue extends BucketValue = number>")+i(["ThreeDimensionalAggregation"],"<TGroupKey extends QueryBucketKey, TSegmentKey extends QueryBucketKey, TValue extends BucketValue = number>")+i(["QueryBucketKey"]))),await t.writeFile(d.join(r,"ObjectType.ts"),await o('import { OntologyObject } from "./OntologyObject";'+i(["BaseType","StringType","IntegerType","DateType","BooleanType","ByteType","DecimalType","FloatType","TimestampType","ShortType","LongType","DoubleType","GeoPointType","GeoShapeType","AttachmentType","ObjectType","StructField","QueryBucketRangeableType","QueryBucketKeyType","QueryBucketValueType","AllValueTypes","OntologyType","ObjectTypeProperties","StructType"])+i(["TimeSeriesType","ArrayType","SetType"],"<T extends BaseType>")+i(["Property"],"<TType extends OntologyType = OntologyType>")+i(["BaseObjectType"],"<TOntologyObject extends OntologyObject = OntologyObject>")+i(["ObjectSetType"],"<T extends ObjectType>")+i(["RangeType"],"<T extends QueryBucketRangeableType>")+i(["TwoDimensionalAggregationType"],"<TGroupKey extends QueryBucketKeyType, TValue extends QueryBucketValueType>")+i(["ThreeDimensionalAggregationType"],"<TGroupKey extends QueryBucketKeyType, TSegmentKey extends QueryBucketKeyType, TValue extends QueryBucketValueType>")));}async function je(e,t){let r=d__default.join(e,"client");await t.mkdir(r,{recursive:!0}),await t.writeFile(d__default.join(r,"index.ts"),await o('export * from "./clientOptions";')),await t.writeFile(d__default.join(r,"clientOptions.ts"),await o('import {Auth} from "@osdk/legacy-client";'+i(["FoundryClientOptions"],"<TAuth extends Auth = Auth>")));}async function be(e,t){let r=d__default.join(e,"filters");await t.mkdir(r,{recursive:!0}),await t.writeFile(d__default.join(r,"index.ts"),await o(`export * from "./ArrayFilter";
|
|
126
126
|
export * from "./AttachmentFilter";
|
|
127
127
|
export * from "./BooleanFilter";
|
|
128
128
|
export * from "./DateTimeFilters";
|
|
@@ -132,15 +132,15 @@ function H(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.action
|
|
|
132
132
|
export * from "./NumericFilter";
|
|
133
133
|
export * from "./Op";
|
|
134
134
|
export * from "./OrderByOption";
|
|
135
|
-
export * from "./StringFilter";`)),await t.writeFile(
|
|
136
|
-
`+i(["Ok","Err"],"<T>")+i(["Result"],"<V, E = FoundryApiError>","<V,E>")+
|
|
135
|
+
export * from "./StringFilter";`)),await t.writeFile(d__default.join(r,"ArrayFilter.ts"),await o('import { Attachment, GeoPoint, GeoShape, LocalDate, Timestamp } from "../baseTypes";'+m(["ArrayFilter"])+i(["ArrayFilter"],"<T extends string | number | Timestamp | LocalDate | boolean | GeoShape | GeoPoint | Attachment>"))),await t.writeFile(d__default.join(r,"AttachmentFilter.ts"),await o(m(["AttachmentFilter"])+i(["AttachmentFilter"]))),await t.writeFile(d__default.join(r,"BooleanFilter.ts"),await o(m(["BooleanFilter"])+i(["BooleanFilter"]))),await t.writeFile(d__default.join(r,"GeoPointFilter.ts"),await o(m(["GeoPointFilter"])+i(["GeoPointFilter","BoundingBox"]))),await t.writeFile(d__default.join(r,"DateTimeFilters.ts"),await o(m(["TimestampFilter","LocalDateFilter"])+i(["TimestampFilter","LocalDateFilter"]))),await t.writeFile(d__default.join(r,"GeoShapeFilter.ts"),await o(m(["GeoShapeFilter"])+i(["GeoShapeFilter"]))),await t.writeFile(d__default.join(r,"NumericFilter.ts"),await o(m(["NumericFilter"])+i(["NumericFilter"]))),await t.writeFile(d__default.join(r,"Op.ts"),await o(m(["Op"]))),await t.writeFile(d__default.join(r,"OrderByOption.ts"),await o(m(["OrderByOption"])+i(["OrderByOption"]))),await t.writeFile(d__default.join(r,"StringFilter.ts"),await o(m(["StringFilter"])+i(["StringFilter"]))),await t.writeFile(d__default.join(r,"Filters.ts"),await o('import { OntologyObject } from "@osdk/legacy-client";'+i(["ObjectTypeFilterFunction","ObjectTypeOrderByFunction"],"<T extends OntologyObject>")+i(["BoundingBoxFilter","DistanceOf","SearchClause","LtWhereClause","GtWhereClause","LteWhereClause","GteWhereClause","EqWhereClause","IsNullWhereClause","ContainsWhereClause","StartsWithWhereClause","ContainsAllTermsInOrderWhereClause","ContainsAnyTermWhereClause","ContainsAllTermsWhereClause","WithinDistanceOfWhereClause","WithinBoundingBoxWhereClause","IntersectsBoundingBoxWhereClause","DoesNotIntersectBoundingBoxWhereClause","WithinPolygonWhereClause","IntersectsPolygonWhereClause","DoesNotIntersectPolygonWhereClause","AndWhereClause","OrWhereClause","NotWhereClause","WhereClause","OrderByClause"])+i(["FilterType"],"<T extends string | number>")));}async function xe(e,t){await e.writeFile(d.join(t,"Errors.ts"),await o(i(["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 Ae(e,t){await e.writeFile(d.join(t,"OntologyMetadata.ts"),await o(i(["OntologyMetadata"])));}async function Fe(e,t){await e.writeFile(d.join(t,"Result.ts"),await o(`import {FoundryApiError} from "@osdk/legacy-client";
|
|
136
|
+
`+i(["Ok","Err"],"<T>")+i(["Result"],"<V, E = FoundryApiError>","<V,E>")+m(["isOk","isErr","visitError"])+i(["ErrorVisitor"],"<E extends FoundryApiError, R>","<E,R>")+i(["ExtractKeysWithType"],"<T, K extends keyof T>","<T,K>")));}async function ke(e,t){let r=d.join(t,"ontologyProvider");await e.mkdir(r,{recursive:!0}),await xe(e,r),await Ae(e,r),await Fe(e,r),await e.writeFile(d.join(r,"index.ts"),await o(`
|
|
137
137
|
|
|
138
138
|
export * from "./Errors";
|
|
139
139
|
export * from "./OntologyMetadata";
|
|
140
140
|
|
|
141
141
|
|
|
142
142
|
// export * from "./Result";
|
|
143
|
-
`));}async function
|
|
143
|
+
`));}async function Se(e,t){let r=d.join(e,"paging");await t.mkdir(r,{recursive:!0}),await t.writeFile(d.join(r,"index.ts"),await o('export * from "./Page";')),await t.writeFile(d.join(r,"Page.ts"),await o(i(["Page"],"<T>")));}async function Pe(e,t){let r=d.join(e,"internal","@foundry","ontology-runtime","dist");await t.mkdir(r,{recursive:!0}),await ke(t,r),await le(t,r),await Se(r,t),await we(r,t),await je(r,t),await be(r,t),await t.writeFile(d.join(r,"index.ts"),await o(`
|
|
144
144
|
export * from "./aggregations";
|
|
145
145
|
export * from "./baseTypes";
|
|
146
146
|
|
|
@@ -150,7 +150,7 @@ function H(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.action
|
|
|
150
150
|
|
|
151
151
|
export * from "./ontologyProvider";
|
|
152
152
|
export * from "./paging";
|
|
153
|
-
`));}async function
|
|
153
|
+
`));}async function De(e,t){await Pe(t,e),await ne(t,e);}async function Be(e,t,r=""){await e.writeFile(d__default.join(t,"FoundryClient.ts"),await o(`
|
|
154
154
|
import { BaseFoundryClient } from "@osdk/legacy-client";
|
|
155
155
|
import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
|
|
156
156
|
import { Ontology } from "./Ontology${r}";
|
|
@@ -163,21 +163,21 @@ function H(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.action
|
|
|
163
163
|
get ontology(): Ontology {
|
|
164
164
|
return super.ontology;
|
|
165
165
|
}
|
|
166
|
-
}`));}async function
|
|
166
|
+
}`));}async function Ce(e,t,r){await e.mkdir(t,{recursive:!0}),await e.writeFile(d.join(t,"index.ts"),await o(`
|
|
167
167
|
export * from "@osdk/legacy-client";
|
|
168
168
|
export type { Ontology } from "./Ontology${r}";
|
|
169
169
|
export { FoundryClient } from "./FoundryClient${r}";
|
|
170
|
-
`));}function
|
|
170
|
+
`));}function G(e,t){return e.map(r=>{let n=t?.get(r);return n?`${r}: ${n}`:r}).join(",")}function E(e,t){return e.map(r=>`${r}: typeof ${t?.get(r)??r}`).join(",")}async function Me(e,t,r,n=""){let a=Object.keys(e.objectTypes),s=Object.keys(e.actionTypes),c=Object.keys(e.queryTypes),l=new Map,u=new Map,y=new Set(a);for(let p of s)y.has(p)?l.set(p,`${p}Action`):y.add(p);for(let p of c)y.has(p)&&u.set(p,`${p}Query`);let w=(p,g)=>{let x=g.get(p);return x?`${p} as ${x}`:p};await t.writeFile(d__default.join(r,"Ontology.ts"),await o(`
|
|
171
171
|
import type { OntologyDefinition } from "@osdk/api";
|
|
172
172
|
import type { Ontology as ClientOntology } from "@osdk/legacy-client";
|
|
173
173
|
import type { Objects } from "./ontology/objects/Objects${n}";
|
|
174
174
|
import type { Actions } from "./ontology/actions/Actions${n}";
|
|
175
175
|
import type { Queries } from "./ontology/queries/Queries${n}";
|
|
176
|
-
${a.map(
|
|
176
|
+
${a.map(p=>`import {${p}} from "./ontology/objects/${p}${n}";`).join(`
|
|
177
177
|
`)}
|
|
178
|
-
${
|
|
178
|
+
${s.map(p=>`import {${w(p,l)}} from "./ontology/actions/${p}${n}";`).join(`
|
|
179
179
|
`)}
|
|
180
|
-
${
|
|
180
|
+
${c.map(p=>`import {${w(p,u)}} from "./ontology/queries/${p}${n}";`).join(`
|
|
181
181
|
`)}
|
|
182
182
|
|
|
183
183
|
export const Ontology : {
|
|
@@ -187,13 +187,13 @@ function H(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.action
|
|
|
187
187
|
userAgent: "foundry-typescript-osdk/0.0.1",
|
|
188
188
|
},
|
|
189
189
|
objects: {
|
|
190
|
-
${
|
|
190
|
+
${E(a)}
|
|
191
191
|
},
|
|
192
192
|
actions: {
|
|
193
|
-
${
|
|
193
|
+
${E(s,l)}
|
|
194
194
|
},
|
|
195
195
|
queries: {
|
|
196
|
-
${
|
|
196
|
+
${E(c,u)}
|
|
197
197
|
},
|
|
198
198
|
} = {
|
|
199
199
|
metadata: {
|
|
@@ -202,21 +202,21 @@ function H(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.action
|
|
|
202
202
|
userAgent: "foundry-typescript-osdk/0.0.1" as const,
|
|
203
203
|
},
|
|
204
204
|
objects: {
|
|
205
|
-
${
|
|
205
|
+
${G(a)}
|
|
206
206
|
},
|
|
207
207
|
actions: {
|
|
208
|
-
${
|
|
208
|
+
${G(s,l)}
|
|
209
209
|
},
|
|
210
210
|
queries: {
|
|
211
|
-
${
|
|
211
|
+
${G(c,u)}
|
|
212
212
|
}
|
|
213
|
-
} satisfies OntologyDefinition<${a.map(
|
|
213
|
+
} satisfies OntologyDefinition<${a.map(p=>`"${p}"`).join("|")}, ${Object.values(e.actionTypes).map(p=>`"${p.apiName}"`).join("|")}, ${Object.values(e.queryTypes).map(p=>`"${p.apiName}"`).join("|")}>;
|
|
214
214
|
|
|
215
215
|
export interface Ontology extends ClientOntology<typeof Ontology> {
|
|
216
216
|
objects: Objects;
|
|
217
217
|
actions: Actions;
|
|
218
218
|
queries: Queries;
|
|
219
|
-
}`));}async function
|
|
219
|
+
}`));}async function Ge(e,t,r,n=""){await t.mkdir(r,{recursive:!0}),await t.writeFile(d__default.join(r,"Objects.ts"),await o(`
|
|
220
220
|
import { BaseObjectSet } from "@osdk/legacy-client";
|
|
221
221
|
${Array.from(Object.keys(e.objectTypes)).map(a=>`import type { ${a} } from "./${a}${n}";`).join(`
|
|
222
222
|
`)}
|
|
@@ -225,112 +225,137 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
|
|
|
225
225
|
${Object.keys(e.objectTypes).map(a=>`${a} : BaseObjectSet<${a}>;`).join(`
|
|
226
226
|
`)}
|
|
227
227
|
}
|
|
228
|
-
;`));}async function
|
|
228
|
+
;`));}async function Ee(e,t,r,n=""){await t.mkdir(r,{recursive:!0});for(let{objectType:{apiName:a}}of Object.values(e.objectTypes)){let s=join(r,`${a}.ts`),c=`OG_${a}`,l=[];l.push('import { ObjectSetAggregateArg, ObjectSetFilterArg, ObjectSetGroupByArg, ObjectSetMultipleAggregateArg, ObjectSetOrderByArg } from "@osdk/legacy-client";'),l.push(`import { ${a} as ${c} } from "../${a}${n}";`),l.push(""),l.push(`/** @deprecated Use ${a} from ontology/objects instead */`,`export type ${a} = ${c};`),l.push(`/** @deprecated Use ObjectSetFilterArg<${a}> instead */`,`export type ${a}Filter = ObjectSetFilterArg<${c}>;`),l.push(`/** @deprecated Use ObjectSetOrderByArg<${a}> instead */`,`export type ${a}OrderBy = ObjectSetOrderByArg<${c}>;`),l.push(`/** @deprecated Use ObjectSetGroupByArg<${a}> instead */`,`export type ${a}GroupByProperties = ObjectSetGroupByArg<${c}>;`),l.push(`
|
|
229
229
|
/**
|
|
230
230
|
* Aggregation properties for ${a}
|
|
231
231
|
* @deprecated Use ObjectSetAggregateArg<${a}> instead
|
|
232
|
-
*/`,`export type ${a}AggregationProperties = ObjectSetAggregateArg<${
|
|
232
|
+
*/`,`export type ${a}AggregationProperties = ObjectSetAggregateArg<${c}>;`),l.push(`
|
|
233
233
|
/**
|
|
234
234
|
* Multiple aggregation properties for ${a}.
|
|
235
235
|
* @deprecated Use ObjectSetMultipleAggregateArg<${a}> instead
|
|
236
|
-
*/`,`export type ${a}MultipleAggregationProperties = ObjectSetMultipleAggregateArg<${
|
|
237
|
-
`));}}async function
|
|
236
|
+
*/`,`export type ${a}MultipleAggregationProperties = ObjectSetMultipleAggregateArg<${c}>;`),await t.writeFile(s,l.join(`
|
|
237
|
+
`));}}async function Ve(e,t){await e.mkdir(t,{recursive:!0}),await e.writeFile(d.join(t,"index.ts"),await o(`
|
|
238
238
|
export type { ObjectSet } from "@osdk/legacy-client";
|
|
239
|
-
`));}function
|
|
239
|
+
`));}function Re(e){let t=N(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([r,n])=>[r,gt(n)])),displayName:e.displayName,description:e.description,modifiedEntities:dt(t.addedObjects,t.modifiedObjects)}}function gt(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:W(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:W(e.dataType),nullable:!e.required,description:e.description}}}function W(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 W(e.subType)}}function dt(e,t){let r={};for(let n of e)r[n]={created:!0,modified:!1};for(let n of t)r[n]?r[n].modified=!0:r[n]={created:!1,modified:!0};return r}async function v(e,t,r,n=""){await t.mkdir(r,{recursive:!0}),await Promise.all(Object.values(e.actionTypes).map(async a=>{let s=new Set(ft(a));await t.writeFile(d__default.join(r,`${a.apiName}.ts`),await o(`
|
|
240
240
|
import { ActionDefinition } from "@osdk/api";
|
|
241
241
|
|
|
242
|
-
export const ${a.apiName} = ${JSON.stringify(
|
|
243
|
-
${Object.values(e.actionTypes).map(a=>`export * from "./${a.apiName}";`).join(`
|
|
242
|
+
export const ${a.apiName} = ${JSON.stringify(Re(a),null,2)} satisfies ActionDefinition<"${a.apiName}", ${s.size>0?[...s].map(c=>`"${c}"`).join("|"):"never"}>;`));})),await t.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
243
|
+
${Object.values(e.actionTypes).map(a=>`export * from "./${a.apiName}${n}";`).join(`
|
|
244
244
|
`)}
|
|
245
|
-
`));}function
|
|
246
|
-
export const ${e.objectType.apiName} = ${JSON.stringify(
|
|
245
|
+
`));}function ft(e){let t=Object.values(e.parameters).flatMap(({dataType:n})=>{let a=Qe(n);return a?[a]:[]});return [...e.operations.flatMap(n=>{switch(n.type){case"createObject":return [n.objectTypeApiName];case"modifyObject":return [n.objectTypeApiName];case"deleteObject":case"createLink":case"deleteLink":return []}}),...t]}function Qe(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return Qe(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function Ke(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 V(e,t=!0){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:z(e.dataType),nullable:t};case"array":return {multiplicity:!0,description:e.description,type:z(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function z(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 z(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function _e(e,t){if(e.objectType.properties[e.objectType.primaryKey]===void 0)throw new Error(`Primary key ${e.objectType.primaryKey} not found in ${e.objectType.apiName}`);return {apiName:e.objectType.apiName,description:e.objectType.description,primaryKeyType:Ke(e.objectType.properties[e.objectType.primaryKey]),links:Object.fromEntries(e.linkTypes.map(r=>[r.apiName,{multiplicity:r.cardinality==="MANY",targetType:r.objectTypeApiName}])),properties:Object.fromEntries(Object.entries(e.objectType.properties).map(([r,n])=>[r,V(n,!(t&&e.objectType.primaryKey===r))]))}}function R(e,t=!1){let r=new Set(e.linkTypes.map(n=>n.objectTypeApiName));return `
|
|
246
|
+
export const ${e.objectType.apiName} = ${JSON.stringify(_e(e,t),null,2)} satisfies ObjectTypeDefinition<"${e.objectType.apiName}", ${r.size>0?[...r].map(n=>`"${n}"`).join("|"):"never"}>;`}var Tt=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 Le(e){return Tt.has(e)}function qe(e){let t=new Set(e.linkTypes.map(r=>r.objectTypeApiName).filter(r=>r!==e.objectType.apiName));return `import type { OntologyObject, LocalDate, Timestamp, GeoShape, GeoPoint, Attachment, TimeSeries, MultiLink, SingleLink } from "@osdk/legacy-client";
|
|
247
247
|
${Array.from(t).map(r=>`import type { ${r} } from "./${r}";`).join(`
|
|
248
248
|
`)}
|
|
249
249
|
|
|
250
|
-
${
|
|
250
|
+
${Ue(e.objectType.description)}export interface ${e.objectType.apiName} extends OntologyObject {
|
|
251
251
|
readonly __apiName: "${e.objectType.apiName}";
|
|
252
|
-
readonly __primaryKey: ${
|
|
253
|
-
${Object.entries(e.objectType.properties).flatMap(([r,n])=>{let a=
|
|
254
|
-
readonly ${r}_: ${a} | undefined`),
|
|
252
|
+
readonly __primaryKey: ${Y(e.objectType.properties[e.objectType.primaryKey].dataType)};
|
|
253
|
+
${Object.entries(e.objectType.properties).flatMap(([r,n])=>{let a=Y(n.dataType),s=[`${Ue(n.description)}readonly ${r}: ${a} | undefined`];return Le(r)&&s.push(`/** @deprecated please migrate to '${r}' instead */
|
|
254
|
+
readonly ${r}_: ${a} | undefined`),s}).join(`;
|
|
255
255
|
`)}
|
|
256
256
|
${e.linkTypes.flatMap(r=>[`readonly ${r.apiName}: ${r.cardinality==="MANY"?"MultiLink":"SingleLink"}<${r.objectTypeApiName}>`]).join(`;
|
|
257
257
|
`)}
|
|
258
258
|
}
|
|
259
|
-
`}function
|
|
259
|
+
`}function Y(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return Y(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 Ue(e){return e?`/**
|
|
260
260
|
* ${e}
|
|
261
261
|
*/
|
|
262
|
-
`:""}async function
|
|
262
|
+
`:""}async function We(e,t,r,n=""){await t.mkdir(r,{recursive:!0}),await Promise.all(Object.values(e.objectTypes).map(async a=>{a.linkTypes;await t.writeFile(d__default.join(r,`${a.objectType.apiName}.ts`),await o(`
|
|
263
263
|
import { ObjectTypeDefinition } from "@osdk/api";
|
|
264
264
|
${qe(a)}
|
|
265
265
|
|
|
266
|
-
${
|
|
267
|
-
`));})),await t.writeFile(
|
|
266
|
+
${R(a)}
|
|
267
|
+
`));})),await t.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
268
268
|
${Object.keys(e.objectTypes).map(a=>`export * from "./${a}${n}";`).join(`
|
|
269
269
|
`)}
|
|
270
270
|
export type { ObjectSet } from "@osdk/legacy-client";
|
|
271
271
|
|
|
272
|
-
`));}function
|
|
272
|
+
`));}function F(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(t=>F(t)):!1}function b(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:"object",object:e.objectTypeApiName,nullable:!1};case"objectSet":return {type:"objectSet",objectSet:e.objectTypeApiName,nullable:!1};case"array":return {...b(e.subType),multiplicity:!0};case"set":return {type:"set",set:b(e.subType),nullable:!1};case"union":let t=F(e);if(t&&e.unionTypes.length===2){let n=e.unionTypes.find(a=>a.type!==null);if(n)return {...b(n),nullable:!0}}return {type:"union",union:e.unionTypes.reduce((n,a)=>(a.type==="null"||n.push(b(a)),n),[]),nullable:t};case"struct":return {type:"struct",struct:Object.fromEntries(e.fields.map(n=>[n.name,b(n.fieldType)])),nullable:!1};case"twoDimensionalAggregation":return {type:"twoDimensionalAggregation",twoDimensionalAggregation:Z(e)};case"threeDimensionalAggregation":return {type:"threeDimensionalAggregation",threeDimensionalAggregation:wt(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 Z(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type};if(ze(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 wt(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:Z(e.valueType)};if(ze(e.keyType))return {keyType:e.keyType.type,valueType:Z(e.valueType)};throw new Error(`Cannot create 3D aggregation with ${e.keyType.type} as its type`)}function ze(e){return e.type==="string"||e.type==="boolean"}function Ye(e){return {apiName:e.apiName,description:e.description,displayName:e.displayName,version:e.version,parameters:Object.fromEntries(Object.entries(e.parameters).map(([t,r])=>[t,jt(r)])),output:b(e.output)}}function jt(e){return {description:e.description,...b(e.dataType)}}async function He(e,t,r,n=""){await t.mkdir(r,{recursive:!0}),await Promise.all(Object.values(e.queryTypes).map(async a=>{let s=bt(a);await t.writeFile(d__default.join(r,`${a.apiName}.ts`),await o(`
|
|
273
273
|
import { QueryDefinition } from "@osdk/api";
|
|
274
274
|
|
|
275
|
-
export const ${a.apiName} = ${JSON.stringify(Ye(a))} satisfies QueryDefinition<"${a.apiName}", ${
|
|
275
|
+
export const ${a.apiName} = ${JSON.stringify(Ye(a))} satisfies QueryDefinition<"${a.apiName}", ${s.length>0?s.map(c=>`"${c}"`).join("|"):"never"}>;`));})),await t.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
276
276
|
${Object.values(e.queryTypes).map(a=>`export * from "./${a.apiName}${n}";`).join(`
|
|
277
277
|
`)}
|
|
278
|
-
`));}function
|
|
278
|
+
`));}function bt(e){let t=new Set;for(let{dataType:r}of Object.values(e.parameters))D(r,t);return D(e.output,t),Array.from(t)}function D(e,t){switch(e.type){case"array":case"set":D(e.subType,t);return;case"object":t.add(e.objectTypeApiName);return;case"objectSet":t.add(e.objectTypeApiName);return;case"struct":for(let n of Object.values(e.fields))D(n.fieldType,t);return;case"union":for(let n of e.unionTypes)D(n,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 tt(e,t,r,n=""){let a=new Set,s=[];for(let c of Object.values(e.queryTypes)){let l=["/**"];c.description&&l.push(`* ${c.description}`);let u=k(c.output,a,!0),y=[];for(let[p,g]of Object.entries(c.parameters)){let x=F(g.dataType),P=k(g.dataType,a,!1);y.push(`"${p}"${x?"?":""}: ${P}`),l.push(`* @param {${et(P)}} params.${p}${g.description?` - ${g.description}`:""}`);}let w=y.length===0?"":`params: { ${y.join("; ")} }`;l.push(`* @returns ${et(u)}`,"*/"),s.push(`
|
|
279
279
|
${l.join(`
|
|
280
280
|
`)}
|
|
281
|
-
${
|
|
282
|
-
`);}await t.mkdir(r,{recursive:!0}),await t.writeFile(
|
|
281
|
+
${c.apiName}(${w}): Promise<Result<QueryResponse<${u}>, QueryError>>;
|
|
282
|
+
`);}await t.mkdir(r,{recursive:!0}),await t.writeFile(d__default.join(r,"Queries.ts"),await o(`
|
|
283
283
|
import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
|
|
284
|
-
${Array.from(a).map(
|
|
284
|
+
${Array.from(a).map(c=>`import type { ${c} } from "../objects/${c}${n}";`).join(`
|
|
285
285
|
`)}
|
|
286
286
|
|
|
287
287
|
export interface Queries {
|
|
288
|
-
${
|
|
288
|
+
${s.join(`
|
|
289
289
|
`)}
|
|
290
290
|
}
|
|
291
|
-
`));}function
|
|
292
|
-
`)} }`;case"union":return e.unionTypes.map(
|
|
293
|
-
${
|
|
291
|
+
`));}function k(e,t,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<${k(e.subType,t,r)}>`;case"object":{let s=e.objectTypeApiName;return t.add(s),r?s:`${s} | ${s}["__primaryKey"]`}case"objectSet":{let s=e.objectTypeApiName;return t.add(s),`ObjectSet<${s}>`}case"set":return `Set<${k(e.subType,t,r)}>`;case"struct":return `{ ${e.fields.map(s=>{let c=F(s.fieldType);return `${s.name}${c?"?":""}: ${k(s.fieldType,t,r)}`}).join(`,
|
|
292
|
+
`)} }`;case"union":return e.unionTypes.map(s=>k(s,t,r)).filter(s=>s!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
|
|
293
|
+
${H(e.keyType)},
|
|
294
294
|
${Xe(e.valueType)}
|
|
295
295
|
>`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
|
|
296
|
-
${
|
|
297
|
-
${
|
|
296
|
+
${H(e.keyType)},
|
|
297
|
+
${H(e.valueType.keyType)},
|
|
298
298
|
${Xe(e.valueType.valueType)}
|
|
299
|
-
>`;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
|
|
299
|
+
>`;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 H(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<${xt(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function xt(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 Xe(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 et(e){return e.replace(/\s/g,"")}async function ht(e,t,r,n="commonjs"){let a=n==="module"?".js":"",s=d.join(r,"ontology","objects"),c=d.join(r,"ontology","actions"),l=d.join(r,"ontology","queries"),u=B(e);await Be(t,r,a),await Me(u,t,r,a),await Ve(t,d.join(r,"ontology")),await Ge(u,t,s,a),await Ee(u,t,d.join(s,"objects-api"),a),await We(u,t,s,a),await te(u,t,c,a),await v(u,t,c,a),await tt(u,t,l,a),await He(u,t,l,a),await Ce(t,r,a),await De(t,r);}function rt(e,t=!1){return `
|
|
300
|
+
export const ${e.apiName} = ${JSON.stringify(At(e),null,2)} satisfies InterfaceDefinition<"${e.apiName}", "">;`}function At(e,t){return {apiName:e.apiName,description:e.description,properties:Object.fromEntries(Object.entries(e.properties).map(([r,n])=>[r,V(n,!0)]))}}async function ot(e,t,r){t.writeFile(d__default.join(r,"OntologyMetadata.ts"),await o(`
|
|
300
301
|
export const OntologyMetadata = {
|
|
301
302
|
ontologyRid: "${e.ontology.rid}",
|
|
302
303
|
ontologyApiName: "${e.ontology.apiName}",
|
|
303
304
|
userAgent: "foundry-typescript-osdk/2.0.0",
|
|
304
305
|
}
|
|
305
|
-
`));}async function
|
|
306
|
-
export { Ontology } from "./Ontology${
|
|
307
|
-
`))
|
|
306
|
+
`));}async function Ft(e,t,r,n="commonjs"){let a=B(e),s=Object.keys(a.objectTypes),c=Object.keys(a.actionTypes),u=Object.keys(a.__UNSTABLE_interfaceTypes??{}),y=n==="module"?".js":"";await t.mkdir(r,{recursive:!0}),t.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
307
|
+
export { Ontology } from "./Ontology${y}";
|
|
308
|
+
`)),await ot(a,t,r),await t.writeFile(d__default.join(r,"Ontology.ts"),await o(`
|
|
308
309
|
import type { OntologyDefinition } from "@osdk/api";
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
import
|
|
310
|
+
import * as Actions from "./ontology/actions/index${y}";
|
|
311
|
+
import * as Objects from "./ontology/objects${y}";
|
|
312
|
+
import * as Interfaces from "./ontology/interfaces${y}";
|
|
313
|
+
import { OntologyMetadata } from "./OntologyMetadata${y}";
|
|
312
314
|
|
|
313
|
-
|
|
315
|
+
const _Ontology = {
|
|
314
316
|
metadata: OntologyMetadata,
|
|
315
317
|
objects: {
|
|
316
|
-
${
|
|
318
|
+
${s.map(p=>`${p}: Objects.${p}`).join(`,
|
|
319
|
+
`)}
|
|
320
|
+
|
|
321
|
+
},
|
|
322
|
+
actions: {
|
|
323
|
+
${c.map(p=>`${p}: Actions.${p}`).join(`,
|
|
317
324
|
`)}
|
|
318
325
|
},
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
326
|
+
queries: {
|
|
327
|
+
// TODO
|
|
328
|
+
},
|
|
329
|
+
interfaces: {
|
|
330
|
+
${u.map(p=>`${p}: Interfaces.${p}`).join(`,
|
|
331
|
+
`)}
|
|
332
|
+
|
|
333
|
+
}
|
|
334
|
+
} satisfies OntologyDefinition<${s.map(p=>`"${p}"`).join("|")}>;
|
|
335
|
+
|
|
336
|
+
type _Ontology = typeof _Ontology;
|
|
337
|
+
export interface Ontology extends _Ontology {}
|
|
338
|
+
export const Ontology = _Ontology as Ontology;
|
|
339
|
+
`)),await t.mkdir(d__default.join(r,"ontology","objects"),{recursive:!0});for(let p of s){let g=e.objectTypes[p];await t.writeFile(d__default.join(r,"ontology","objects",`${p}.ts`),await o(`
|
|
323
340
|
|
|
324
341
|
import type { ObjectTypeDefinition } from "@osdk/api";
|
|
325
342
|
|
|
326
|
-
${
|
|
343
|
+
${R(g,!0)}
|
|
327
344
|
|
|
328
345
|
|
|
329
|
-
`));}await t.writeFile(
|
|
330
|
-
${Object.keys(e.objectTypes).map(
|
|
346
|
+
`));}await kt(t,r,u,e,y);let w=d__default.join(r,"ontology","actions");await t.mkdir(w,{recursive:!0}),await v(a,t,w,y),await t.writeFile(d__default.join(r,"ontology","objects.ts"),await o(`
|
|
347
|
+
${Object.keys(e.objectTypes).map(p=>`export * from "./objects/${p}${y}";`).join(`
|
|
348
|
+
`)}
|
|
349
|
+
`));}async function kt(e,t,r,n,a){let s=d__default.join(t,"ontology","interfaces");await e.mkdir(s,{recursive:!0});for(let c of r){let l=n.__UNSTABLE_interfaceTypes[c];await e.writeFile(d__default.join(s,`${c}.ts`),await o(`
|
|
350
|
+
|
|
351
|
+
import type { InterfaceDefinition } from "@osdk/api";
|
|
352
|
+
|
|
353
|
+
${rt(l,!0)}
|
|
354
|
+
`));}await e.writeFile(s+".ts",await o(`
|
|
355
|
+
${Object.keys(n.__UNSTABLE_interfaceTypes??{}).map(c=>`export * from "./interfaces/${c}${a}";`).join(`
|
|
331
356
|
`)}
|
|
332
357
|
`));}
|
|
333
358
|
|
|
334
|
-
export {
|
|
359
|
+
export { ht as generateClientSdkVersionOneDotOne, Ft as generateClientSdkVersionTwoPointZero };
|
|
335
360
|
//# sourceMappingURL=out.js.map
|
|
336
361
|
//# sourceMappingURL=index.mjs.map
|