@osdk/client 0.5.0 → 0.7.0
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/build/js/{chunk-MCG6J7IR.cjs → chunk-EU5GNJBK.cjs} +13 -8
- package/build/js/chunk-EU5GNJBK.cjs.map +1 -0
- package/build/js/{chunk-2KAHVPSN.mjs → chunk-OBZVMJLZ.mjs} +13 -9
- package/build/js/chunk-OBZVMJLZ.mjs.map +1 -0
- package/build/js/index.cjs +99 -23
- package/build/js/index.cjs.map +1 -1
- package/build/js/index.mjs +95 -20
- package/build/js/index.mjs.map +1 -1
- package/build/js/public/objects.cjs +3 -3
- package/build/js/public/objects.mjs +1 -1
- package/build/types/actions/ActionValidationError.d.ts +5 -0
- package/build/types/actions/Actions.d.ts +11 -5
- package/build/types/actions/actions.test.d.ts +1 -0
- package/build/types/actions/applyAction.d.ts +14 -6
- package/build/types/actions/createActionInvoker.d.ts +2 -1
- package/build/types/createClient.test.d.ts +1 -0
- package/build/types/generatedNoCheck/Ontology.d.ts +12 -0
- package/build/types/generatedNoCheck/ontology/actions/actionTakesAttachment.d.ts +12 -0
- package/build/types/generatedNoCheck/ontology/actions/index.d.ts +1 -0
- package/build/types/index.d.ts +2 -0
- package/build/types/objectSet/ObjectSet.d.ts +2 -0
- package/build/types/util/UserAgent.d.ts +1 -0
- package/build/types/util/WireObjectSet.d.ts +2 -0
- package/build/types/util/isOntologyObjectV2.d.ts +2 -0
- package/build/types/util/toDataValue.d.ts +7 -0
- package/build/types/util/toDataValue.test.d.ts +1 -0
- package/package.json +4 -3
- package/build/js/chunk-2KAHVPSN.mjs.map +0 -1
- package/build/js/chunk-MCG6J7IR.cjs.map +0 -1
|
@@ -195,6 +195,9 @@ var Attachment = class {
|
|
|
195
195
|
this.rid = rid;
|
|
196
196
|
}
|
|
197
197
|
};
|
|
198
|
+
function isAttachment(o) {
|
|
199
|
+
return o instanceof Attachment;
|
|
200
|
+
}
|
|
198
201
|
async function getLinkedObjectByPkOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, linkedObjectPrimaryKey, select) {
|
|
199
202
|
const object = await requests.getLinkedObjectV2(shared_net.createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, sourceApiName, primaryKey, linkTypeApiName, linkedObjectPrimaryKey, {
|
|
200
203
|
select: select ?? []
|
|
@@ -235,6 +238,9 @@ var OriginClient = Symbol();
|
|
|
235
238
|
function createPrototype(ontology, type) {
|
|
236
239
|
const objDef = ontology.objects[type];
|
|
237
240
|
const proto = {};
|
|
241
|
+
if (!objDef) {
|
|
242
|
+
return proto;
|
|
243
|
+
}
|
|
238
244
|
Object.defineProperty(proto, "$link", {
|
|
239
245
|
get: function() {
|
|
240
246
|
const client = this[OriginClient];
|
|
@@ -265,17 +271,15 @@ function createPrototype(ontology, type) {
|
|
|
265
271
|
enumerable: false,
|
|
266
272
|
configurable: false
|
|
267
273
|
});
|
|
268
|
-
Object.defineProperty(proto, "__name", {
|
|
269
|
-
value: type,
|
|
270
|
-
enumerable: false,
|
|
271
|
-
configurable: false,
|
|
272
|
-
writable: false
|
|
273
|
-
});
|
|
274
274
|
return proto;
|
|
275
275
|
}
|
|
276
276
|
function createConverter(ontology, type) {
|
|
277
|
+
const objDef = ontology.objects[type];
|
|
278
|
+
if (!objDef) {
|
|
279
|
+
return false;
|
|
280
|
+
}
|
|
277
281
|
const steps = [];
|
|
278
|
-
for (const [key, value] of Object.entries(
|
|
282
|
+
for (const [key, value] of Object.entries(objDef.properties)) {
|
|
279
283
|
if (value.type === "attachment") {
|
|
280
284
|
steps.push((o) => {
|
|
281
285
|
if (o[key] != null) {
|
|
@@ -343,7 +347,8 @@ __export(object_exports, {
|
|
|
343
347
|
exports.aggregateOrThrow = aggregateOrThrow;
|
|
344
348
|
exports.convertWireToOsdkObjects = convertWireToOsdkObjects;
|
|
345
349
|
exports.fetchPageOrThrow = fetchPageOrThrow;
|
|
350
|
+
exports.isAttachment = isAttachment;
|
|
346
351
|
exports.modernToLegacyWhereClause = modernToLegacyWhereClause;
|
|
347
352
|
exports.object_exports = object_exports;
|
|
348
353
|
//# sourceMappingURL=out.js.map
|
|
349
|
-
//# sourceMappingURL=chunk-
|
|
354
|
+
//# sourceMappingURL=chunk-EU5GNJBK.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/object/aggregateOrThrow.ts","../../src/internal/conversions/legacyToModernSingleAggregationResult.ts","../../src/internal/conversions/modernToLegacyAggregationClause.ts","../../src/internal/conversions/modernToLegacyGroupByClause.ts","../../src/internal/conversions/modernToLegacyWhereClause.ts","../../src/object/fetchPageOrThrow.ts","../../src/createCachedOntologyTransform.ts","../../src/object/Attachment.ts","../../src/object/getLinkedObjectByPkOrThrow.ts","../../src/object/getLinkedObjectOrThrow.ts","../../src/object/pageLinkedObjectsOrThrow.ts","../../src/object/convertWireToOsdkObjects.ts","../../src/object/index.ts"],"names":["invariant","createOpenApiRequest"],"mappings":"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","sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { aggregateObjectsV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport invariant from \"tiny-invariant\";\nimport { legacyToModernSingleAggregationResult, modernToLegacyAggregationClause, modernToLegacyGroupByClause, modernToLegacyWhereClause } from \"../internal/conversions/index.js\";\nexport async function aggregateOrThrow(clientCtx, objectType, req) {\n const body = {\n aggregation: modernToLegacyAggregationClause(req.select),\n groupBy: [],\n where: undefined\n };\n if (req.groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.groupBy);\n }\n if (req.where) {\n body.where = modernToLegacyWhereClause(req.where);\n // TODO: orderBy\n // TODO The token stuff here sucks\n }\n const result = await aggregateObjectsV2(createOpenApiRequest(clientCtx.stack, clientCtx.fetch), clientCtx.ontology.metadata.ontologyApiName, objectType, body);\n if (!req.groupBy) {\n !(result.data.length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"no group by clause should mean only one data result\") : invariant(false) : void 0;\n return legacyToModernSingleAggregationResult(result.data[0]);\n }\n const ret = result.data.map(entry => {\n return {\n group: entry.group,\n values: legacyToModernSingleAggregationResult(entry)\n };\n }); // fixme\n\n return ret; // FIXME\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport invariant from \"tiny-invariant\";\nexport function legacyToModernSingleAggregationResult(entry) {\n return entry.metrics.reduce((accumulator, curValue) => {\n const parts = curValue.name.split(\".\");\n !(parts.length == 2) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"assumed we were getting a `${key}.${type}`\") : invariant(false) : void 0;\n if (!(parts[0] in accumulator)) {\n accumulator[parts[0]] = {};\n }\n accumulator[parts[0]][parts[1]] = curValue.value;\n return accumulator;\n }, {});\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function modernToLegacyAggregationClause(select) {\n return Object.entries(select).flatMap(([k, v]) => {\n if (Array.isArray(v)) {\n return v.map(v2 => {\n return {\n type: v2,\n name: `${k}.${v2}`,\n field: k\n };\n });\n } else {\n return [{\n type: v,\n // FIXME v has additional possible values\n name: `${k}.${v}`,\n field: k\n }];\n }\n });\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function modernToLegacyGroupByClause(groupByClause) {\n if (!groupByClause) return [];\n return Object.entries(groupByClause).flatMap(([field, type]) => {\n if (type === \"exact\") {\n return [{\n type,\n field\n }];\n } else if (type.exactWithLimit) {\n return [{\n type: \"exact\",\n field,\n maxGroupCount: type.exactWithLimit\n }];\n } else {\n return [];\n }\n });\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport invariant from \"tiny-invariant\";\nexport function modernToLegacyWhereClause(whereClause) {\n if (\"$and\" in whereClause) {\n return {\n type: \"and\",\n value: whereClause.$and.map(modernToLegacyWhereClause)\n };\n } else if (\"$or\" in whereClause) {\n return {\n type: \"or\",\n value: whereClause.$or.map(modernToLegacyWhereClause)\n };\n } else if (\"$not\" in whereClause) {\n return {\n type: \"not\",\n value: modernToLegacyWhereClause(whereClause.$not)\n };\n }\n const parts = Object.entries(whereClause);\n if (parts.length === 1) {\n const [field, filter] = parts[0];\n !(filter != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Defined key values are only allowed when they are not undefined.\") : invariant(false) : void 0;\n if (typeof filter === \"string\" || typeof filter === \"number\") {\n return {\n type: \"eq\",\n field,\n value: filter\n };\n }\n !(Object.keys(filter).length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"WhereClause Filter with multiple properties isn't allowed\") : invariant(false) : void 0;\n const type = Object.keys(filter)[0];\n !(filter[type] != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n if (type === \"ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n field,\n value: filter[type]\n }\n };\n }\n return {\n type,\n field,\n value: filter[type]\n };\n }\n return {\n type: \"and\",\n value: Object.entries(whereClause).map(([field, filter]) => {\n !(filter != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Defined key values are only allowed when they are not undefined.\") : invariant(false) : void 0;\n if (typeof filter === \"string\" || typeof filter === \"number\") {\n return {\n type: \"eq\",\n field,\n value: filter\n };\n }\n !(Object.keys(filter).length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"WhereClause Filter with multiple properties isn't allowed\") : invariant(false) : void 0;\n const q = Object.keys(filter)[0];\n !(filter[q] != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n if (q === \"ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n field,\n value: filter[q]\n }\n };\n }\n return {\n type: q,\n field,\n value: filter[q]\n };\n })\n };\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { loadObjectSetV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport async function fetchPageOrThrow(client, objectType, args, objectSet = {\n type: \"base\",\n objectType\n}) {\n const body = {\n objectSet,\n // We have to do the following case because LoadObjectSetRequestV2 isnt readonly\n select: args?.select ?? [] // FIXME?\n };\n if (args?.nextPageToken) {\n body.pageToken = args.nextPageToken;\n }\n if (args?.pageSize != null) {\n body.pageSize = args.pageSize;\n }\n const r = await loadObjectSetV2(createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, body);\n convertWireToOsdkObjects(client, r.data);\n\n // any is okay here because we have properly converted the wire objects via prototypes\n // which don't type out correctly.\n return r;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Creates a getter function that caches based on the ontology.objects[type] value\n *\n * Any extra arguments are passed through, but only the first args passed in will be used and are not considered as part of the caching\n */\nexport function createCachedOntologyTransform(creator) {\n // We can use the ObjectTypeDefinition as the key because it will be a globally unique singleton\n // Use Map instead of WeakMap here so usage for things like object prototypes do not churn over time\n const cache = new Map();\n return (ontology, type) => {\n const objectDefinition = ontology.objects[type];\n let result = cache.get(objectDefinition);\n if (result == null) {\n result = creator(ontology, type);\n cache.set(objectDefinition, result);\n }\n return result;\n };\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class Attachment {\n constructor(rid) {\n this.rid = rid;\n }\n}\nexport function isAttachment(o) {\n return o instanceof Attachment;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getLinkedObjectV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport async function getLinkedObjectByPkOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, linkedObjectPrimaryKey, select) {\n const object = await getLinkedObjectV2(createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, sourceApiName, primaryKey, linkTypeApiName, linkedObjectPrimaryKey, {\n select: select ?? []\n });\n const objects = [object];\n convertWireToOsdkObjects(client, objects);\n return objects[0];\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { PalantirApiError } from \"@osdk/shared.net\";\nimport { pageLinkedObjectsOrThrow } from \"./pageLinkedObjectsOrThrow.js\";\nexport async function getLinkedObjectOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, select) {\n const result = await pageLinkedObjectsOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, {\n pageSize: 1,\n select\n });\n if (result.data.length !== 1 || result.nextPageToken != null) {\n throw new PalantirApiError(`Expected a single result but got ${result.data.length} instead${result.nextPageToken != null ? \" with nextPageToken set\" : \"\"}`);\n }\n return result.data[0];\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { listLinkedObjectsV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport async function pageLinkedObjectsOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, options) {\n const page = await listLinkedObjectsV2(createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, sourceApiName, primaryKey, linkTypeApiName, {\n pageSize: options?.pageSize,\n pageToken: options?.nextPageToken,\n select: options?.select ?? []\n });\n convertWireToOsdkObjects(client, page.data);\n return {\n nextPageToken: page.nextPageToken,\n data: page.data\n };\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createCachedOntologyTransform } from \"../createCachedOntologyTransform.js\";\nimport { Attachment } from \"./Attachment.js\";\nimport { getLinkedObjectByPkOrThrow } from \"./getLinkedObjectByPkOrThrow.js\";\nimport { getLinkedObjectOrThrow } from \"./getLinkedObjectOrThrow.js\";\nimport { pageLinkedObjectsOrThrow } from \"./pageLinkedObjectsOrThrow.js\";\nconst getPrototype = createCachedOntologyTransform(createPrototype);\nconst getConverter = createCachedOntologyTransform(createConverter);\nconst OriginClient = Symbol();\nfunction createPrototype(ontology, type) {\n const objDef = ontology.objects[type];\n const proto = {};\n if (!objDef) {\n return proto;\n }\n Object.defineProperty(proto, \"$link\", {\n get: function () {\n const client = this[OriginClient];\n const primaryKey = this[\"__primaryKey\"];\n return new Proxy({}, {\n get(_target, p, _receiver) {\n const linkDef = objDef.links[p];\n if (linkDef == null) {\n return;\n }\n if (!linkDef.multiplicity) {\n return {\n get: options => getLinkedObjectOrThrow(client, type, primaryKey, p, options?.select)\n };\n } else {\n return {\n get: (targetPrimaryKey, options) => getLinkedObjectByPkOrThrow(client, type, primaryKey, p, targetPrimaryKey, options?.select),\n fetchPageOrThrow: options => pageLinkedObjectsOrThrow(client, type, primaryKey, p, {\n nextPageToken: options?.nextPageToken,\n pageSize: options?.pageSize,\n select: options?.select\n })\n };\n }\n }\n });\n },\n enumerable: false,\n configurable: false\n });\n return proto;\n}\n\n// preprocess the ontology definition to more quickly apply object conversions when needed\nfunction createConverter(ontology, type) {\n const objDef = ontology.objects[type];\n if (!objDef) {\n return false;\n }\n const steps = [];\n for (const [key, value] of Object.entries(objDef.properties)) {\n // attachments need a wrapper to provide functionality and to identify them at serialization time\n if (value.type === \"attachment\") {\n steps.push(o => {\n if (o[key] != null) {\n if (Array.isArray(o[key])) {\n o[key] = o[key].map(a => new Attachment(a.rid));\n } else {\n o[key] = new Attachment(o[key].rid);\n }\n }\n });\n }\n }\n return steps.length > 0 ? o => {\n for (const step of steps) {\n step(o);\n }\n } : false;\n}\n\n/**\n * @param objs the objects to be converted, the contents of this array will be mutated\n */\nexport function convertWireToOsdkObjects(client, objs) {\n for (const obj of objs) {\n const proto = getPrototype(client.ontology, obj.__apiName);\n const converter = getConverter(client.ontology, obj.__apiName);\n Object.setPrototypeOf(obj, proto);\n Object.defineProperty(obj, OriginClient, {\n value: client,\n enumerable: false,\n configurable: false,\n writable: false\n });\n if (converter) {\n converter(obj);\n }\n }\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport { aggregateOrThrow } from \"./aggregateOrThrow.js\";\nexport { fetchPageOrThrow } from \"./fetchPageOrThrow.js\";"]}
|
|
@@ -189,6 +189,9 @@ var Attachment = class {
|
|
|
189
189
|
this.rid = rid;
|
|
190
190
|
}
|
|
191
191
|
};
|
|
192
|
+
function isAttachment(o) {
|
|
193
|
+
return o instanceof Attachment;
|
|
194
|
+
}
|
|
192
195
|
async function getLinkedObjectByPkOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, linkedObjectPrimaryKey, select) {
|
|
193
196
|
const object = await getLinkedObjectV2(createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, sourceApiName, primaryKey, linkTypeApiName, linkedObjectPrimaryKey, {
|
|
194
197
|
select: select ?? []
|
|
@@ -229,6 +232,9 @@ var OriginClient = Symbol();
|
|
|
229
232
|
function createPrototype(ontology, type) {
|
|
230
233
|
const objDef = ontology.objects[type];
|
|
231
234
|
const proto = {};
|
|
235
|
+
if (!objDef) {
|
|
236
|
+
return proto;
|
|
237
|
+
}
|
|
232
238
|
Object.defineProperty(proto, "$link", {
|
|
233
239
|
get: function() {
|
|
234
240
|
const client = this[OriginClient];
|
|
@@ -259,17 +265,15 @@ function createPrototype(ontology, type) {
|
|
|
259
265
|
enumerable: false,
|
|
260
266
|
configurable: false
|
|
261
267
|
});
|
|
262
|
-
Object.defineProperty(proto, "__name", {
|
|
263
|
-
value: type,
|
|
264
|
-
enumerable: false,
|
|
265
|
-
configurable: false,
|
|
266
|
-
writable: false
|
|
267
|
-
});
|
|
268
268
|
return proto;
|
|
269
269
|
}
|
|
270
270
|
function createConverter(ontology, type) {
|
|
271
|
+
const objDef = ontology.objects[type];
|
|
272
|
+
if (!objDef) {
|
|
273
|
+
return false;
|
|
274
|
+
}
|
|
271
275
|
const steps = [];
|
|
272
|
-
for (const [key, value] of Object.entries(
|
|
276
|
+
for (const [key, value] of Object.entries(objDef.properties)) {
|
|
273
277
|
if (value.type === "attachment") {
|
|
274
278
|
steps.push((o) => {
|
|
275
279
|
if (o[key] != null) {
|
|
@@ -334,6 +338,6 @@ __export(object_exports, {
|
|
|
334
338
|
fetchPageOrThrow: () => fetchPageOrThrow
|
|
335
339
|
});
|
|
336
340
|
|
|
337
|
-
export { aggregateOrThrow, convertWireToOsdkObjects, fetchPageOrThrow, modernToLegacyWhereClause, object_exports };
|
|
341
|
+
export { aggregateOrThrow, convertWireToOsdkObjects, fetchPageOrThrow, isAttachment, modernToLegacyWhereClause, object_exports };
|
|
338
342
|
//# sourceMappingURL=out.js.map
|
|
339
|
-
//# sourceMappingURL=chunk-
|
|
343
|
+
//# sourceMappingURL=chunk-OBZVMJLZ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/object/aggregateOrThrow.ts","../../src/internal/conversions/legacyToModernSingleAggregationResult.ts","../../src/internal/conversions/modernToLegacyAggregationClause.ts","../../src/internal/conversions/modernToLegacyGroupByClause.ts","../../src/internal/conversions/modernToLegacyWhereClause.ts","../../src/object/fetchPageOrThrow.ts","../../src/createCachedOntologyTransform.ts","../../src/object/Attachment.ts","../../src/object/getLinkedObjectByPkOrThrow.ts","../../src/object/getLinkedObjectOrThrow.ts","../../src/object/pageLinkedObjectsOrThrow.ts","../../src/object/convertWireToOsdkObjects.ts","../../src/object/index.ts"],"names":["invariant","createOpenApiRequest"],"mappings":";;;;;;;AAgBA,SAAS,0BAA0B;AACnC,SAAS,4BAA4B;AACrC,OAAOA,gBAAe;;;ACFtB,OAAO,eAAe;AACf,SAAS,sCAAsC,OAAO;AAC3D,SAAO,MAAM,QAAQ,OAAO,CAAC,aAAa,aAAa;AACrD,UAAM,QAAQ,SAAS,KAAK,MAAM,GAAG;AACrC,MAAE,MAAM,UAAU,KAAK,QAAQ,IAAI,aAAa,eAAe,UAAU,OAAO,4CAA4C,IAAI,UAAU,KAAK,IAAI;AACnJ,QAAI,EAAE,MAAM,CAAC,KAAK,cAAc;AAC9B,kBAAY,MAAM,CAAC,CAAC,IAAI,CAAC;AAAA,IAC3B;AACA,gBAAY,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,SAAS;AAC3C,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACXO,SAAS,gCAAgC,QAAQ;AACtD,SAAO,OAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM;AAChD,QAAI,MAAM,QAAQ,CAAC,GAAG;AACpB,aAAO,EAAE,IAAI,QAAM;AACjB,eAAO;AAAA,UACL,MAAM;AAAA,UACN,MAAM,GAAG,CAAC,IAAI,EAAE;AAAA,UAChB,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACH,OAAO;AACL,aAAO,CAAC;AAAA,QACN,MAAM;AAAA;AAAA,QAEN,MAAM,GAAG,CAAC,IAAI,CAAC;AAAA,QACf,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;;;ACnBO,SAAS,4BAA4B,eAAe;AACzD,MAAI,CAAC;AAAe,WAAO,CAAC;AAC5B,SAAO,OAAO,QAAQ,aAAa,EAAE,QAAQ,CAAC,CAAC,OAAO,IAAI,MAAM;AAC9D,QAAI,SAAS,SAAS;AACpB,aAAO,CAAC;AAAA,QACN;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH,WAAW,KAAK,gBAAgB;AAC9B,aAAO,CAAC;AAAA,QACN,MAAM;AAAA,QACN;AAAA,QACA,eAAe,KAAK;AAAA,MACtB,CAAC;AAAA,IACH,OAAO;AACL,aAAO,CAAC;AAAA,IACV;AAAA,EACF,CAAC;AACH;;;AClBA,OAAOA,gBAAe;AACf,SAAS,0BAA0B,aAAa;AACrD,MAAI,UAAU,aAAa;AACzB,WAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO,YAAY,KAAK,IAAI,yBAAyB;AAAA,IACvD;AAAA,EACF,WAAW,SAAS,aAAa;AAC/B,WAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO,YAAY,IAAI,IAAI,yBAAyB;AAAA,IACtD;AAAA,EACF,WAAW,UAAU,aAAa;AAChC,WAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO,0BAA0B,YAAY,IAAI;AAAA,IACnD;AAAA,EACF;AACA,QAAM,QAAQ,OAAO,QAAQ,WAAW;AACxC,MAAI,MAAM,WAAW,GAAG;AACtB,UAAM,CAAC,OAAO,MAAM,IAAI,MAAM,CAAC;AAC/B,MAAE,UAAU,QAAQ,QAAQ,IAAI,aAAa,eAAeA,WAAU,OAAO,kEAAkE,IAAIA,WAAU,KAAK,IAAI;AACtK,QAAI,OAAO,WAAW,YAAY,OAAO,WAAW,UAAU;AAC5D,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA,OAAO;AAAA,MACT;AAAA,IACF;AACA,MAAE,OAAO,KAAK,MAAM,EAAE,WAAW,KAAK,QAAQ,IAAI,aAAa,eAAeA,WAAU,OAAO,2DAA2D,IAAIA,WAAU,KAAK,IAAI;AACjL,UAAM,OAAO,OAAO,KAAK,MAAM,EAAE,CAAC;AAClC,MAAE,OAAO,IAAI,KAAK,QAAQ,QAAQ,IAAI,aAAa,eAAeA,WAAU,KAAK,IAAIA,WAAU,KAAK,IAAI;AACxG,QAAI,SAAS,MAAM;AACjB,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO;AAAA,UACL,MAAM;AAAA,UACN;AAAA,UACA,OAAO,OAAO,IAAI;AAAA,QACpB;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,OAAO,OAAO,IAAI;AAAA,IACpB;AAAA,EACF;AACA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO,OAAO,QAAQ,WAAW,EAAE,IAAI,CAAC,CAAC,OAAO,MAAM,MAAM;AAC1D,QAAE,UAAU,QAAQ,QAAQ,IAAI,aAAa,eAAeA,WAAU,OAAO,kEAAkE,IAAIA,WAAU,KAAK,IAAI;AACtK,UAAI,OAAO,WAAW,YAAY,OAAO,WAAW,UAAU;AAC5D,eAAO;AAAA,UACL,MAAM;AAAA,UACN;AAAA,UACA,OAAO;AAAA,QACT;AAAA,MACF;AACA,QAAE,OAAO,KAAK,MAAM,EAAE,WAAW,KAAK,QAAQ,IAAI,aAAa,eAAeA,WAAU,OAAO,2DAA2D,IAAIA,WAAU,KAAK,IAAI;AACjL,YAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;AAC/B,QAAE,OAAO,CAAC,KAAK,QAAQ,QAAQ,IAAI,aAAa,eAAeA,WAAU,KAAK,IAAIA,WAAU,KAAK,IAAI;AACrG,UAAI,MAAM,MAAM;AACd,eAAO;AAAA,UACL,MAAM;AAAA,UACN,OAAO;AAAA,YACL,MAAM;AAAA,YACN;AAAA,YACA,OAAO,OAAO,CAAC;AAAA,UACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA,OAAO,OAAO,CAAC;AAAA,MACjB;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AJ3EA,eAAsB,iBAAiB,WAAW,YAAY,KAAK;AACjE,QAAM,OAAO;AAAA,IACX,aAAa,gCAAgC,IAAI,MAAM;AAAA,IACvD,SAAS,CAAC;AAAA,IACV,OAAO;AAAA,EACT;AACA,MAAI,IAAI,SAAS;AACf,SAAK,UAAU,4BAA4B,IAAI,OAAO;AAAA,EACxD;AACA,MAAI,IAAI,OAAO;AACb,SAAK,QAAQ,0BAA0B,IAAI,KAAK;AAAA,EAGlD;AACA,QAAM,SAAS,MAAM,mBAAmB,qBAAqB,UAAU,OAAO,UAAU,KAAK,GAAG,UAAU,SAAS,SAAS,iBAAiB,YAAY,IAAI;AAC7J,MAAI,CAAC,IAAI,SAAS;AAChB,MAAE,OAAO,KAAK,WAAW,KAAK,QAAQ,IAAI,aAAa,eAAeA,WAAU,OAAO,qDAAqD,IAAIA,WAAU,KAAK,IAAI;AACnK,WAAO,sCAAsC,OAAO,KAAK,CAAC,CAAC;AAAA,EAC7D;AACA,QAAM,MAAM,OAAO,KAAK,IAAI,WAAS;AACnC,WAAO;AAAA,MACL,OAAO,MAAM;AAAA,MACb,QAAQ,sCAAsC,KAAK;AAAA,IACrD;AAAA,EACF,CAAC;AAED,SAAO;AACT;;;AK/BA,SAAS,uBAAuB;AAChC,SAAS,wBAAAC,6BAA4B;;;ACI9B,SAAS,8BAA8B,SAAS;AAGrD,QAAM,QAAQ,oBAAI,IAAI;AACtB,SAAO,CAAC,UAAU,SAAS;AACzB,UAAM,mBAAmB,SAAS,QAAQ,IAAI;AAC9C,QAAI,SAAS,MAAM,IAAI,gBAAgB;AACvC,QAAI,UAAU,MAAM;AAClB,eAAS,QAAQ,UAAU,IAAI;AAC/B,YAAM,IAAI,kBAAkB,MAAM;AAAA,IACpC;AACA,WAAO;AAAA,EACT;AACF;;;AClBO,IAAM,aAAN,MAAiB;AAAA,EACtB,YAAY,KAAK;AACf,SAAK,MAAM;AAAA,EACb;AACF;AACO,SAAS,aAAa,GAAG;AAC9B,SAAO,aAAa;AACtB;;;ACPA,SAAS,yBAAyB;AAClC,SAAS,wBAAAA,6BAA4B;AAErC,eAAsB,2BAA2B,QAAQ,eAAe,YAAY,iBAAiB,wBAAwB,QAAQ;AACnI,QAAM,SAAS,MAAM,kBAAkBA,sBAAqB,OAAO,OAAO,OAAO,KAAK,GAAG,OAAO,SAAS,SAAS,iBAAiB,eAAe,YAAY,iBAAiB,wBAAwB;AAAA,IACrM,QAAQ,UAAU,CAAC;AAAA,EACrB,CAAC;AACD,QAAM,UAAU,CAAC,MAAM;AACvB,2BAAyB,QAAQ,OAAO;AACxC,SAAO,QAAQ,CAAC;AAClB;;;ACVA,SAAS,wBAAwB;;;ACAjC,SAAS,2BAA2B;AACpC,SAAS,wBAAAA,6BAA4B;AAErC,eAAsB,yBAAyB,QAAQ,eAAe,YAAY,iBAAiB,SAAS;AAC1G,QAAM,OAAO,MAAM,oBAAoBA,sBAAqB,OAAO,OAAO,OAAO,KAAK,GAAG,OAAO,SAAS,SAAS,iBAAiB,eAAe,YAAY,iBAAiB;AAAA,IAC7K,UAAU,SAAS;AAAA,IACnB,WAAW,SAAS;AAAA,IACpB,QAAQ,SAAS,UAAU,CAAC;AAAA,EAC9B,CAAC;AACD,2BAAyB,QAAQ,KAAK,IAAI;AAC1C,SAAO;AAAA,IACL,eAAe,KAAK;AAAA,IACpB,MAAM,KAAK;AAAA,EACb;AACF;;;ADZA,eAAsB,uBAAuB,QAAQ,eAAe,YAAY,iBAAiB,QAAQ;AACvG,QAAM,SAAS,MAAM,yBAAyB,QAAQ,eAAe,YAAY,iBAAiB;AAAA,IAChG,UAAU;AAAA,IACV;AAAA,EACF,CAAC;AACD,MAAI,OAAO,KAAK,WAAW,KAAK,OAAO,iBAAiB,MAAM;AAC5D,UAAM,IAAI,iBAAiB,oCAAoC,OAAO,KAAK,MAAM,WAAW,OAAO,iBAAiB,OAAO,4BAA4B,EAAE,EAAE;AAAA,EAC7J;AACA,SAAO,OAAO,KAAK,CAAC;AACtB;;;AENA,IAAM,eAAe,8BAA8B,eAAe;AAClE,IAAM,eAAe,8BAA8B,eAAe;AAClE,IAAM,eAAe,OAAO;AAC5B,SAAS,gBAAgB,UAAU,MAAM;AACvC,QAAM,SAAS,SAAS,QAAQ,IAAI;AACpC,QAAM,QAAQ,CAAC;AACf,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AACA,SAAO,eAAe,OAAO,SAAS;AAAA,IACpC,KAAK,WAAY;AACf,YAAM,SAAS,KAAK,YAAY;AAChC,YAAM,aAAa,KAAK,cAAc;AACtC,aAAO,IAAI,MAAM,CAAC,GAAG;AAAA,QACnB,IAAI,SAAS,GAAG,WAAW;AACzB,gBAAM,UAAU,OAAO,MAAM,CAAC;AAC9B,cAAI,WAAW,MAAM;AACnB;AAAA,UACF;AACA,cAAI,CAAC,QAAQ,cAAc;AACzB,mBAAO;AAAA,cACL,KAAK,aAAW,uBAAuB,QAAQ,MAAM,YAAY,GAAG,SAAS,MAAM;AAAA,YACrF;AAAA,UACF,OAAO;AACL,mBAAO;AAAA,cACL,KAAK,CAAC,kBAAkB,YAAY,2BAA2B,QAAQ,MAAM,YAAY,GAAG,kBAAkB,SAAS,MAAM;AAAA,cAC7H,kBAAkB,aAAW,yBAAyB,QAAQ,MAAM,YAAY,GAAG;AAAA,gBACjF,eAAe,SAAS;AAAA,gBACxB,UAAU,SAAS;AAAA,gBACnB,QAAQ,SAAS;AAAA,cACnB,CAAC;AAAA,YACH;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,YAAY;AAAA,IACZ,cAAc;AAAA,EAChB,CAAC;AACD,SAAO;AACT;AAGA,SAAS,gBAAgB,UAAU,MAAM;AACvC,QAAM,SAAS,SAAS,QAAQ,IAAI;AACpC,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,CAAC;AACf,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,UAAU,GAAG;AAE5D,QAAI,MAAM,SAAS,cAAc;AAC/B,YAAM,KAAK,OAAK;AACd,YAAI,EAAE,GAAG,KAAK,MAAM;AAClB,cAAI,MAAM,QAAQ,EAAE,GAAG,CAAC,GAAG;AACzB,cAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,OAAK,IAAI,WAAW,EAAE,GAAG,CAAC;AAAA,UAChD,OAAO;AACL,cAAE,GAAG,IAAI,IAAI,WAAW,EAAE,GAAG,EAAE,GAAG;AAAA,UACpC;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO,MAAM,SAAS,IAAI,OAAK;AAC7B,eAAW,QAAQ,OAAO;AACxB,WAAK,CAAC;AAAA,IACR;AAAA,EACF,IAAI;AACN;AAKO,SAAS,yBAAyB,QAAQ,MAAM;AACrD,aAAW,OAAO,MAAM;AACtB,UAAM,QAAQ,aAAa,OAAO,UAAU,IAAI,SAAS;AACzD,UAAM,YAAY,aAAa,OAAO,UAAU,IAAI,SAAS;AAC7D,WAAO,eAAe,KAAK,KAAK;AAChC,WAAO,eAAe,KAAK,cAAc;AAAA,MACvC,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,UAAU;AAAA,IACZ,CAAC;AACD,QAAI,WAAW;AACb,gBAAU,GAAG;AAAA,IACf;AAAA,EACF;AACF;;;AN1FA,eAAsB,iBAAiB,QAAQ,YAAY,MAAM,YAAY;AAAA,EAC3E,MAAM;AAAA,EACN;AACF,GAAG;AACD,QAAM,OAAO;AAAA,IACX;AAAA;AAAA,IAEA,QAAQ,MAAM,UAAU,CAAC;AAAA;AAAA,EAC3B;AACA,MAAI,MAAM,eAAe;AACvB,SAAK,YAAY,KAAK;AAAA,EACxB;AACA,MAAI,MAAM,YAAY,MAAM;AAC1B,SAAK,WAAW,KAAK;AAAA,EACvB;AACA,QAAM,IAAI,MAAM,gBAAgBA,sBAAqB,OAAO,OAAO,OAAO,KAAK,GAAG,OAAO,SAAS,SAAS,iBAAiB,IAAI;AAChI,2BAAyB,QAAQ,EAAE,IAAI;AAIvC,SAAO;AACT;;;AOxCA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { aggregateObjectsV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport invariant from \"tiny-invariant\";\nimport { legacyToModernSingleAggregationResult, modernToLegacyAggregationClause, modernToLegacyGroupByClause, modernToLegacyWhereClause } from \"../internal/conversions/index.js\";\nexport async function aggregateOrThrow(clientCtx, objectType, req) {\n const body = {\n aggregation: modernToLegacyAggregationClause(req.select),\n groupBy: [],\n where: undefined\n };\n if (req.groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.groupBy);\n }\n if (req.where) {\n body.where = modernToLegacyWhereClause(req.where);\n // TODO: orderBy\n // TODO The token stuff here sucks\n }\n const result = await aggregateObjectsV2(createOpenApiRequest(clientCtx.stack, clientCtx.fetch), clientCtx.ontology.metadata.ontologyApiName, objectType, body);\n if (!req.groupBy) {\n !(result.data.length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"no group by clause should mean only one data result\") : invariant(false) : void 0;\n return legacyToModernSingleAggregationResult(result.data[0]);\n }\n const ret = result.data.map(entry => {\n return {\n group: entry.group,\n values: legacyToModernSingleAggregationResult(entry)\n };\n }); // fixme\n\n return ret; // FIXME\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport invariant from \"tiny-invariant\";\nexport function legacyToModernSingleAggregationResult(entry) {\n return entry.metrics.reduce((accumulator, curValue) => {\n const parts = curValue.name.split(\".\");\n !(parts.length == 2) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"assumed we were getting a `${key}.${type}`\") : invariant(false) : void 0;\n if (!(parts[0] in accumulator)) {\n accumulator[parts[0]] = {};\n }\n accumulator[parts[0]][parts[1]] = curValue.value;\n return accumulator;\n }, {});\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function modernToLegacyAggregationClause(select) {\n return Object.entries(select).flatMap(([k, v]) => {\n if (Array.isArray(v)) {\n return v.map(v2 => {\n return {\n type: v2,\n name: `${k}.${v2}`,\n field: k\n };\n });\n } else {\n return [{\n type: v,\n // FIXME v has additional possible values\n name: `${k}.${v}`,\n field: k\n }];\n }\n });\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function modernToLegacyGroupByClause(groupByClause) {\n if (!groupByClause) return [];\n return Object.entries(groupByClause).flatMap(([field, type]) => {\n if (type === \"exact\") {\n return [{\n type,\n field\n }];\n } else if (type.exactWithLimit) {\n return [{\n type: \"exact\",\n field,\n maxGroupCount: type.exactWithLimit\n }];\n } else {\n return [];\n }\n });\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport invariant from \"tiny-invariant\";\nexport function modernToLegacyWhereClause(whereClause) {\n if (\"$and\" in whereClause) {\n return {\n type: \"and\",\n value: whereClause.$and.map(modernToLegacyWhereClause)\n };\n } else if (\"$or\" in whereClause) {\n return {\n type: \"or\",\n value: whereClause.$or.map(modernToLegacyWhereClause)\n };\n } else if (\"$not\" in whereClause) {\n return {\n type: \"not\",\n value: modernToLegacyWhereClause(whereClause.$not)\n };\n }\n const parts = Object.entries(whereClause);\n if (parts.length === 1) {\n const [field, filter] = parts[0];\n !(filter != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Defined key values are only allowed when they are not undefined.\") : invariant(false) : void 0;\n if (typeof filter === \"string\" || typeof filter === \"number\") {\n return {\n type: \"eq\",\n field,\n value: filter\n };\n }\n !(Object.keys(filter).length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"WhereClause Filter with multiple properties isn't allowed\") : invariant(false) : void 0;\n const type = Object.keys(filter)[0];\n !(filter[type] != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n if (type === \"ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n field,\n value: filter[type]\n }\n };\n }\n return {\n type,\n field,\n value: filter[type]\n };\n }\n return {\n type: \"and\",\n value: Object.entries(whereClause).map(([field, filter]) => {\n !(filter != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Defined key values are only allowed when they are not undefined.\") : invariant(false) : void 0;\n if (typeof filter === \"string\" || typeof filter === \"number\") {\n return {\n type: \"eq\",\n field,\n value: filter\n };\n }\n !(Object.keys(filter).length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"WhereClause Filter with multiple properties isn't allowed\") : invariant(false) : void 0;\n const q = Object.keys(filter)[0];\n !(filter[q] != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n if (q === \"ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n field,\n value: filter[q]\n }\n };\n }\n return {\n type: q,\n field,\n value: filter[q]\n };\n })\n };\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { loadObjectSetV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport async function fetchPageOrThrow(client, objectType, args, objectSet = {\n type: \"base\",\n objectType\n}) {\n const body = {\n objectSet,\n // We have to do the following case because LoadObjectSetRequestV2 isnt readonly\n select: args?.select ?? [] // FIXME?\n };\n if (args?.nextPageToken) {\n body.pageToken = args.nextPageToken;\n }\n if (args?.pageSize != null) {\n body.pageSize = args.pageSize;\n }\n const r = await loadObjectSetV2(createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, body);\n convertWireToOsdkObjects(client, r.data);\n\n // any is okay here because we have properly converted the wire objects via prototypes\n // which don't type out correctly.\n return r;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Creates a getter function that caches based on the ontology.objects[type] value\n *\n * Any extra arguments are passed through, but only the first args passed in will be used and are not considered as part of the caching\n */\nexport function createCachedOntologyTransform(creator) {\n // We can use the ObjectTypeDefinition as the key because it will be a globally unique singleton\n // Use Map instead of WeakMap here so usage for things like object prototypes do not churn over time\n const cache = new Map();\n return (ontology, type) => {\n const objectDefinition = ontology.objects[type];\n let result = cache.get(objectDefinition);\n if (result == null) {\n result = creator(ontology, type);\n cache.set(objectDefinition, result);\n }\n return result;\n };\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class Attachment {\n constructor(rid) {\n this.rid = rid;\n }\n}\nexport function isAttachment(o) {\n return o instanceof Attachment;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getLinkedObjectV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport async function getLinkedObjectByPkOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, linkedObjectPrimaryKey, select) {\n const object = await getLinkedObjectV2(createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, sourceApiName, primaryKey, linkTypeApiName, linkedObjectPrimaryKey, {\n select: select ?? []\n });\n const objects = [object];\n convertWireToOsdkObjects(client, objects);\n return objects[0];\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { PalantirApiError } from \"@osdk/shared.net\";\nimport { pageLinkedObjectsOrThrow } from \"./pageLinkedObjectsOrThrow.js\";\nexport async function getLinkedObjectOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, select) {\n const result = await pageLinkedObjectsOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, {\n pageSize: 1,\n select\n });\n if (result.data.length !== 1 || result.nextPageToken != null) {\n throw new PalantirApiError(`Expected a single result but got ${result.data.length} instead${result.nextPageToken != null ? \" with nextPageToken set\" : \"\"}`);\n }\n return result.data[0];\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { listLinkedObjectsV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport async function pageLinkedObjectsOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, options) {\n const page = await listLinkedObjectsV2(createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, sourceApiName, primaryKey, linkTypeApiName, {\n pageSize: options?.pageSize,\n pageToken: options?.nextPageToken,\n select: options?.select ?? []\n });\n convertWireToOsdkObjects(client, page.data);\n return {\n nextPageToken: page.nextPageToken,\n data: page.data\n };\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createCachedOntologyTransform } from \"../createCachedOntologyTransform.js\";\nimport { Attachment } from \"./Attachment.js\";\nimport { getLinkedObjectByPkOrThrow } from \"./getLinkedObjectByPkOrThrow.js\";\nimport { getLinkedObjectOrThrow } from \"./getLinkedObjectOrThrow.js\";\nimport { pageLinkedObjectsOrThrow } from \"./pageLinkedObjectsOrThrow.js\";\nconst getPrototype = createCachedOntologyTransform(createPrototype);\nconst getConverter = createCachedOntologyTransform(createConverter);\nconst OriginClient = Symbol();\nfunction createPrototype(ontology, type) {\n const objDef = ontology.objects[type];\n const proto = {};\n if (!objDef) {\n return proto;\n }\n Object.defineProperty(proto, \"$link\", {\n get: function () {\n const client = this[OriginClient];\n const primaryKey = this[\"__primaryKey\"];\n return new Proxy({}, {\n get(_target, p, _receiver) {\n const linkDef = objDef.links[p];\n if (linkDef == null) {\n return;\n }\n if (!linkDef.multiplicity) {\n return {\n get: options => getLinkedObjectOrThrow(client, type, primaryKey, p, options?.select)\n };\n } else {\n return {\n get: (targetPrimaryKey, options) => getLinkedObjectByPkOrThrow(client, type, primaryKey, p, targetPrimaryKey, options?.select),\n fetchPageOrThrow: options => pageLinkedObjectsOrThrow(client, type, primaryKey, p, {\n nextPageToken: options?.nextPageToken,\n pageSize: options?.pageSize,\n select: options?.select\n })\n };\n }\n }\n });\n },\n enumerable: false,\n configurable: false\n });\n return proto;\n}\n\n// preprocess the ontology definition to more quickly apply object conversions when needed\nfunction createConverter(ontology, type) {\n const objDef = ontology.objects[type];\n if (!objDef) {\n return false;\n }\n const steps = [];\n for (const [key, value] of Object.entries(objDef.properties)) {\n // attachments need a wrapper to provide functionality and to identify them at serialization time\n if (value.type === \"attachment\") {\n steps.push(o => {\n if (o[key] != null) {\n if (Array.isArray(o[key])) {\n o[key] = o[key].map(a => new Attachment(a.rid));\n } else {\n o[key] = new Attachment(o[key].rid);\n }\n }\n });\n }\n }\n return steps.length > 0 ? o => {\n for (const step of steps) {\n step(o);\n }\n } : false;\n}\n\n/**\n * @param objs the objects to be converted, the contents of this array will be mutated\n */\nexport function convertWireToOsdkObjects(client, objs) {\n for (const obj of objs) {\n const proto = getPrototype(client.ontology, obj.__apiName);\n const converter = getConverter(client.ontology, obj.__apiName);\n Object.setPrototypeOf(obj, proto);\n Object.defineProperty(obj, OriginClient, {\n value: client,\n enumerable: false,\n configurable: false,\n writable: false\n });\n if (converter) {\n converter(obj);\n }\n }\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport { aggregateOrThrow } from \"./aggregateOrThrow.js\";\nexport { fetchPageOrThrow } from \"./fetchPageOrThrow.js\";"]}
|
package/build/js/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkEU5GNJBK_cjs = require('./chunk-EU5GNJBK.cjs');
|
|
4
4
|
var shared_net = require('@osdk/shared.net');
|
|
5
5
|
var requests = require('@osdk/gateway/requests');
|
|
6
6
|
var WebSocket = require('isomorphic-ws');
|
|
@@ -12,40 +12,111 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
12
12
|
var WebSocket__default = /*#__PURE__*/_interopDefault(WebSocket);
|
|
13
13
|
var invariant__default = /*#__PURE__*/_interopDefault(invariant);
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
// src/util/isOntologyObjectV2.ts
|
|
16
|
+
function isOntologyObjectV2(o) {
|
|
17
|
+
return o && typeof o === "object" && typeof o.__apiName === "string" && o.__primaryKey != null;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// src/util/WireObjectSet.ts
|
|
21
|
+
var WIRE_OBJECT_SET_TYPES = /* @__PURE__ */ new Set(["base", "filter", "intersect", "reference", "searchAround", "static", "subtract", "union"]);
|
|
22
|
+
function isWireObjectSet(o) {
|
|
23
|
+
return o != null && typeof o === "object" && WIRE_OBJECT_SET_TYPES.has(o.type);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// src/util/toDataValue.ts
|
|
27
|
+
function toDataValue(value) {
|
|
28
|
+
if (value == null) {
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
if (Array.isArray(value) || value instanceof Set) {
|
|
32
|
+
return Array.from(value, toDataValue);
|
|
33
|
+
}
|
|
34
|
+
if (chunkEU5GNJBK_cjs.isAttachment(value)) {
|
|
35
|
+
return value.rid;
|
|
36
|
+
}
|
|
37
|
+
if (isOntologyObjectV2(value)) {
|
|
38
|
+
return toDataValue(value.__primaryKey);
|
|
39
|
+
}
|
|
40
|
+
if (isWireObjectSet(value)) {
|
|
41
|
+
return value;
|
|
42
|
+
}
|
|
43
|
+
if (isObjectSet(value)) {
|
|
44
|
+
return value.definition;
|
|
45
|
+
}
|
|
46
|
+
if (typeof value === "object") {
|
|
47
|
+
return Object.entries(value).reduce((acc, [key, structValue]) => {
|
|
48
|
+
acc[key] = toDataValue(structValue);
|
|
49
|
+
return acc;
|
|
50
|
+
}, {});
|
|
51
|
+
}
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
function isObjectSet(o) {
|
|
55
|
+
return o != null && typeof o === "object" && isWireObjectSet(o.definition);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// src/actions/ActionValidationError.ts
|
|
59
|
+
var ActionValidationError = class extends Error {
|
|
60
|
+
constructor(validation) {
|
|
61
|
+
super("Validation Error");
|
|
62
|
+
this.validation = validation;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
// src/actions/applyAction.ts
|
|
67
|
+
async function applyAction(client, actionApiName, parameters, options = {}) {
|
|
16
68
|
const response = await requests.applyActionV2(shared_net.createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, actionApiName, {
|
|
17
|
-
parameters,
|
|
69
|
+
parameters: remapActionParams(parameters),
|
|
18
70
|
options: {
|
|
19
71
|
mode: options?.validateOnly ? "VALIDATE_ONLY" : "VALIDATE_AND_EXECUTE",
|
|
20
72
|
returnEdits: options?.returnEdits ? "ALL" : "NONE"
|
|
21
73
|
}
|
|
22
74
|
});
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
}
|
|
75
|
+
if (options?.validateOnly) {
|
|
76
|
+
return response.validation;
|
|
77
|
+
}
|
|
78
|
+
if (response.validation?.result === "INVALID") {
|
|
79
|
+
throw new ActionValidationError(response.validation);
|
|
80
|
+
}
|
|
81
|
+
return options?.returnEdits ? response.edits : void 0;
|
|
82
|
+
}
|
|
83
|
+
function remapActionParams(params) {
|
|
84
|
+
if (params == null) {
|
|
85
|
+
return {};
|
|
86
|
+
}
|
|
87
|
+
const parameterMap = {};
|
|
88
|
+
const remappedParams = Object.entries(params).reduce((acc, [key, value]) => {
|
|
89
|
+
acc[key] = toDataValue(value);
|
|
90
|
+
return acc;
|
|
91
|
+
}, parameterMap);
|
|
92
|
+
return remappedParams;
|
|
35
93
|
}
|
|
36
94
|
|
|
37
95
|
// src/actions/createActionInvoker.ts
|
|
38
96
|
function createActionInvoker(client) {
|
|
39
|
-
|
|
40
|
-
get: (
|
|
97
|
+
const proxy = new Proxy({}, {
|
|
98
|
+
get: (_target, p, _receiver) => {
|
|
41
99
|
if (typeof p === "string") {
|
|
42
100
|
return function(...args) {
|
|
43
101
|
return applyAction(client, p, ...args);
|
|
44
102
|
};
|
|
45
103
|
}
|
|
46
104
|
return void 0;
|
|
105
|
+
},
|
|
106
|
+
ownKeys(_target) {
|
|
107
|
+
return Object.keys(client.ontology.actions);
|
|
108
|
+
},
|
|
109
|
+
getOwnPropertyDescriptor(_target, p) {
|
|
110
|
+
if (typeof p === "string") {
|
|
111
|
+
return {
|
|
112
|
+
enumerable: client.ontology.actions[p] != null,
|
|
113
|
+
configurable: true,
|
|
114
|
+
value: proxy[p]
|
|
115
|
+
};
|
|
116
|
+
}
|
|
47
117
|
}
|
|
48
118
|
});
|
|
119
|
+
return proxy;
|
|
49
120
|
}
|
|
50
121
|
async function createTemporaryObjectSet(ctx, request) {
|
|
51
122
|
return conjureLite.conjureFetch(ctx, `/objectSets/temporary`, "POST", request);
|
|
@@ -527,7 +598,7 @@ async function convertFoundryToOsdkObjects(client, ctx, objects) {
|
|
|
527
598
|
}), [propertyMapping?.propertyIdToApiNameMapping[Object.entries(object.key)[0][0]], Object.entries(object.key)[0][1]], ["__apiName", propertyMapping?.apiName]]);
|
|
528
599
|
return convertedObject;
|
|
529
600
|
}));
|
|
530
|
-
|
|
601
|
+
chunkEU5GNJBK_cjs.convertWireToOsdkObjects(client, osdkObjects);
|
|
531
602
|
return osdkObjects;
|
|
532
603
|
}
|
|
533
604
|
var objectTypeMapping = /* @__PURE__ */ new WeakMap();
|
|
@@ -586,6 +657,7 @@ function createObjectSet2(objectType, clientCtx, objectSet = {
|
|
|
586
657
|
objectType
|
|
587
658
|
}) {
|
|
588
659
|
const base = {
|
|
660
|
+
definition: objectSet,
|
|
589
661
|
// aggregate: <
|
|
590
662
|
// AC extends AggregationClause<O, K>,
|
|
591
663
|
// GBC extends GroupByClause<O, K> | undefined = undefined,
|
|
@@ -597,13 +669,13 @@ function createObjectSet2(objectType, clientCtx, objectSet = {
|
|
|
597
669
|
// throw "TODO";
|
|
598
670
|
// },
|
|
599
671
|
aggregateOrThrow: async (req) => {
|
|
600
|
-
return
|
|
672
|
+
return chunkEU5GNJBK_cjs.aggregateOrThrow(clientCtx, objectType, req);
|
|
601
673
|
},
|
|
602
674
|
// fetchPage: async (args?: { nextPageToken?: string }) => {
|
|
603
675
|
// throw "TODO";
|
|
604
676
|
// },
|
|
605
677
|
fetchPageOrThrow: async (args) => {
|
|
606
|
-
return
|
|
678
|
+
return chunkEU5GNJBK_cjs.fetchPageOrThrow(clientCtx, objectType, args ?? {}, objectSet);
|
|
607
679
|
},
|
|
608
680
|
// asyncIter: () => {
|
|
609
681
|
// throw "";
|
|
@@ -612,7 +684,7 @@ function createObjectSet2(objectType, clientCtx, objectSet = {
|
|
|
612
684
|
return createObjectSet2(objectType, clientCtx, {
|
|
613
685
|
type: "filter",
|
|
614
686
|
objectSet,
|
|
615
|
-
where:
|
|
687
|
+
where: chunkEU5GNJBK_cjs.modernToLegacyWhereClause(clause)
|
|
616
688
|
});
|
|
617
689
|
},
|
|
618
690
|
// [Symbol.asyncIterator]: () => {
|
|
@@ -668,9 +740,12 @@ function createObjectSetCreator(client, clientContext) {
|
|
|
668
740
|
});
|
|
669
741
|
}
|
|
670
742
|
|
|
743
|
+
// src/util/UserAgent.ts
|
|
744
|
+
var USER_AGENT = `osdk-client/${"0.7.0"}`;
|
|
745
|
+
|
|
671
746
|
// src/createClient.ts
|
|
672
747
|
function createClient(ontology, stack, tokenProvider, fetchFn = fetch) {
|
|
673
|
-
const clientCtx = shared_net.createClientContext(ontology, stack, tokenProvider,
|
|
748
|
+
const clientCtx = shared_net.createClientContext(ontology, stack, tokenProvider, USER_AGENT, fetchFn);
|
|
674
749
|
const objectSetFactory = (type) => createObjectSet2(type, clientCtx);
|
|
675
750
|
const client = Object.defineProperties({}, {
|
|
676
751
|
objectSet: {
|
|
@@ -702,7 +777,7 @@ function createClient(ontology, stack, tokenProvider, fetchFn = fetch) {
|
|
|
702
777
|
|
|
703
778
|
Object.defineProperty(exports, 'Objects', {
|
|
704
779
|
enumerable: true,
|
|
705
|
-
get: function () { return
|
|
780
|
+
get: function () { return chunkEU5GNJBK_cjs.object_exports; }
|
|
706
781
|
});
|
|
707
782
|
Object.defineProperty(exports, 'createClientContext', {
|
|
708
783
|
enumerable: true,
|
|
@@ -712,6 +787,7 @@ Object.defineProperty(exports, 'isOk', {
|
|
|
712
787
|
enumerable: true,
|
|
713
788
|
get: function () { return shared_net.isOk; }
|
|
714
789
|
});
|
|
790
|
+
exports.ActionValidationError = ActionValidationError;
|
|
715
791
|
exports.createClient = createClient;
|
|
716
792
|
//# sourceMappingURL=out.js.map
|
|
717
793
|
//# sourceMappingURL=index.cjs.map
|