@osdk/client 2.1.0-beta.22 → 2.1.0-beta.23
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 +22 -0
- package/build/browser/__unstable/ConjureSupport.d.ts.map +1 -1
- package/build/browser/__unstable/ConjureSupport.js +4 -1
- package/build/browser/__unstable/ConjureSupport.js.map +1 -1
- package/build/browser/actions/actions.test.js +20 -4
- package/build/browser/actions/actions.test.js.map +1 -1
- package/build/browser/actions/applyAction.d.ts +1 -1
- package/build/browser/actions/applyAction.d.ts.map +1 -1
- package/build/browser/createMediaReferenceProperty.d.ts +14 -0
- package/build/browser/createMediaReferenceProperty.d.ts.map +1 -0
- package/build/browser/createMediaReferenceProperty.js +46 -0
- package/build/browser/createMediaReferenceProperty.js.map +1 -0
- package/build/browser/intellisense.test.js +1 -1
- package/build/browser/intellisense.test.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +10 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.test.js +18 -0
- package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/browser/object/media.test.d.ts +2 -0
- package/build/browser/object/media.test.d.ts.map +1 -0
- package/build/browser/object/media.test.js +54 -0
- package/build/browser/object/media.test.js.map +1 -0
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts +2 -2
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -1
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +1 -1
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -1
- package/build/browser/public-utils/hydrateAttachmentFromRid.d.ts +1 -1
- package/build/browser/public-utils/hydrateAttachmentFromRid.js +1 -1
- package/build/browser/public-utils/hydrateAttachmentFromRid.js.map +1 -1
- package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts +7 -7
- package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -1
- package/build/browser/public-utils/hydrateObjectSetFromRid.js +5 -5
- package/build/browser/public-utils/hydrateObjectSetFromRid.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/datetimeConverters.d.ts.map +1 -1
- package/build/esm/__unstable/ConjureSupport.d.ts.map +1 -1
- package/build/esm/__unstable/ConjureSupport.js +4 -1
- package/build/esm/__unstable/ConjureSupport.js.map +1 -1
- package/build/esm/actions/actions.test.js +20 -4
- package/build/esm/actions/actions.test.js.map +1 -1
- package/build/esm/actions/applyAction.d.ts +1 -1
- package/build/esm/actions/applyAction.d.ts.map +1 -1
- package/build/esm/createMediaReferenceProperty.d.ts +14 -0
- package/build/esm/createMediaReferenceProperty.d.ts.map +1 -0
- package/build/esm/createMediaReferenceProperty.js +46 -0
- package/build/esm/createMediaReferenceProperty.js.map +1 -0
- package/build/esm/intellisense.test.js +1 -1
- package/build/esm/intellisense.test.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +10 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.test.js +18 -0
- package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/esm/object/media.test.d.ts +2 -0
- package/build/esm/object/media.test.d.ts.map +1 -0
- package/build/esm/object/media.test.js +54 -0
- package/build/esm/object/media.test.js.map +1 -0
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts +2 -2
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -1
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +1 -1
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -1
- package/build/esm/public-utils/hydrateAttachmentFromRid.d.ts +1 -1
- package/build/esm/public-utils/hydrateAttachmentFromRid.js +1 -1
- package/build/esm/public-utils/hydrateAttachmentFromRid.js.map +1 -1
- package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts +7 -7
- package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -1
- package/build/esm/public-utils/hydrateObjectSetFromRid.js +5 -5
- package/build/esm/public-utils/hydrateObjectSetFromRid.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/datetimeConverters.d.ts.map +1 -1
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @osdk/client
|
|
2
2
|
|
|
3
|
+
## 2.1.0-beta.23
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- d794c19: Adding support for struct action params.
|
|
8
|
+
- 7a95618: Generate new OMS APIs
|
|
9
|
+
- 62c1d63: Add support for reading media reference property in OSDK.
|
|
10
|
+
- 3fc2ee6: Include more descriptive JS docs for public utils
|
|
11
|
+
- d665147: Update platform sdk deps
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [d794c19]
|
|
16
|
+
- Updated dependencies [f0b519d]
|
|
17
|
+
- Updated dependencies [7a95618]
|
|
18
|
+
- Updated dependencies [62c1d63]
|
|
19
|
+
- Updated dependencies [83e7ea3]
|
|
20
|
+
- Updated dependencies [d665147]
|
|
21
|
+
- @osdk/generator-converters@2.1.0-beta.23
|
|
22
|
+
- @osdk/api@2.1.0-beta.23
|
|
23
|
+
- @osdk/client.unstable@2.1.0-beta.23
|
|
24
|
+
|
|
3
25
|
## 2.1.0-beta.22
|
|
4
26
|
|
|
5
27
|
### Minor Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConjureSupport.d.ts","sourceRoot":"","sources":["../../../src/__unstable/ConjureSupport.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,mBAAmB,EAInB,IAAI,EACL,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAOhE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,EAAE,EAAE;QACF,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,IAAI,CAAC;KACZ,CAAC;CACH;AAED,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC,CAAC;AA4BH,qBAAa,cAAc;;gBAKb,MAAM,EAAE,aAAa;IAUjC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QACvC,kBAAkB,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzD,cAAc,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,EAAE,MAAM,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;KAC/C,CAAC,CAOC;IAEH,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAC3C,kBAAkB,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzD,cAAc,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,EAAE,MAAM,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;KAC/C,CAAC,CAOA;
|
|
1
|
+
{"version":3,"file":"ConjureSupport.d.ts","sourceRoot":"","sources":["../../../src/__unstable/ConjureSupport.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,mBAAmB,EAInB,IAAI,EACL,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAOhE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,EAAE,EAAE;QACF,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,IAAI,CAAC;KACZ,CAAC;CACH;AAED,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC,CAAC;AA4BH,qBAAa,cAAc;;gBAKb,MAAM,EAAE,aAAa;IAUjC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QACvC,kBAAkB,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzD,cAAc,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,EAAE,MAAM,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;KAC/C,CAAC,CAOC;IAEH,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAC3C,kBAAkB,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzD,cAAc,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,EAAE,MAAM,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;KAC/C,CAAC,CAOA;IA+HF,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAEyB;CAC3E;AAED,eAAO,MAAM,mBAAmB,EAAE,CAChC,GAAG,EAAE,aAAa,KACf,OAAO,CAAC,cAAc,CAE1B,CAAC"}
|
|
@@ -137,7 +137,10 @@ export class MetadataClient {
|
|
|
137
137
|
loadRedacted: false,
|
|
138
138
|
includeObjectTypeCount: undefined,
|
|
139
139
|
includeObjectTypesWithoutSearchableDatasources: true,
|
|
140
|
-
includeEntityMetadata: undefined
|
|
140
|
+
includeEntityMetadata: undefined,
|
|
141
|
+
actionTypes: [],
|
|
142
|
+
includeTypeGroupEntitiesCount: undefined,
|
|
143
|
+
entityMetadata: undefined
|
|
141
144
|
};
|
|
142
145
|
const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);
|
|
143
146
|
!entities.objectTypes[0]?.objectType ? process.env.NODE_ENV !== "production" ? invariant(false, "object type should be loaded") : invariant(false) : void 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConjureSupport.js","names":["bulkLoadOntologyEntities","getLinkTypesForObjectTypes","loadAllOntologies","invariant","createSimpleAsyncCache","createSimpleCache","makeConjureContext","cachedAllOntologies","getOntologyVersionForRid","ctx","ontologyRid","ontologies","process","env","NODE_ENV","currentOntologyVersion","strongMemoSync","fn","Map","get","weakMemoSync","WeakMap","strongMemoAsync","weakMemoAsync","MetadataClient","client","logger","constructor","ontologyProvider","getObjectDefinition","child","mcc","forObjectByRid","rid","Promise","resolve","getPropertyMapping","objectPropertyMapping","bind","getLinkMapping","objectLinkMapping","getRid","getApiName","getConjureObjectType","apiName","forObjectByApiName","objectApiName","objectDef","objectTypeRid","conjureObjectType","createObjectPropertyMapping","linkTypes","includeObjectTypesWithoutSearchableDatasources","loadRedacted","objectTypeBranches","objectTypeVersions","ontologyVersion","ret","l","helper","linkSide","otherObjectType","directedLinkTypeRid","linkTypeRid","definition","type","oneToMany","objectTypeRidManySide","manyToOneLinkMetadata","objectTypeRidOneSide","oneToManyLinkMetadata","manyToMany","objectTypeRidA","objectTypeAToBLinkMetadata","objectTypeRidB","objectTypeBToALinkMetadata","debug","body","datasourceTypes","objectTypes","identifier","versionReference","sharedPropertyTypes","interfaceTypes","typeGroups","includeObjectTypeCount","undefined","includeEntityMetadata","entities","objectType","metadataCacheClient","conjureOT","primaryKeys","length","pkRid","pkProperty","Object","values","propertyTypes","find","a","Error","propertyIdToApiNameMapping","fromEntries","map","property","id","propertyApiNameToIdMapping","pk"],"sources":["ConjureSupport.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { bulkLoadOntologyEntities, getLinkTypesForObjectTypes, loadAllOntologies, } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { createSimpleAsyncCache, createSimpleCache, } from \"../object/SimpleCache.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nlet cachedAllOntologies;\nasync function getOntologyVersionForRid(ctx, ontologyRid) {\n cachedAllOntologies ??= await loadAllOntologies(ctx, {});\n invariant(cachedAllOntologies.ontologies[ontologyRid], \"ontology should be loaded\");\n return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;\n}\nconst strongMemoSync = (fn) => createSimpleCache(new Map(), fn).get;\nconst weakMemoSync = (fn) => createSimpleCache(new WeakMap(), fn).get; // FIXME\nconst strongMemoAsync = (fn) => createSimpleAsyncCache(\"strong\", fn).get;\nconst weakMemoAsync = (fn) => createSimpleAsyncCache(\"weak\", fn).get;\nexport class MetadataClient {\n #client;\n #ctx;\n #logger;\n constructor(client) {\n this.#client = client;\n this.#ctx = makeConjureContext(client, \"ontology-metadata/api\");\n this.#client.ontologyProvider.getObjectDefinition;\n this.#logger = this.#client.logger?.child({\n mcc: true,\n });\n }\n forObjectByRid = strongMemoAsync(async (rid) => {\n return Promise.resolve({\n getPropertyMapping: this.#objectPropertyMapping.bind(this, rid),\n getLinkMapping: this.#objectLinkMapping.bind(this, rid),\n getRid: () => rid,\n getApiName: async () => (await this.#getConjureObjectType(rid)).apiName,\n });\n });\n forObjectByApiName = strongMemoAsync(async (objectApiName) => {\n const objectDef = await this.#client.ontologyProvider.getObjectDefinition(objectApiName);\n return this.forObjectByRid(objectDef.rid);\n });\n #objectPropertyMapping = strongMemoAsync(async (objectTypeRid) => {\n const conjureObjectType = await this.#getConjureObjectType(objectTypeRid);\n return createObjectPropertyMapping(conjureObjectType);\n });\n #objectLinkMapping = strongMemoAsync(async (objectTypeRid) => {\n const linkTypes = await getLinkTypesForObjectTypes(this.#ctx, {\n includeObjectTypesWithoutSearchableDatasources: true,\n loadRedacted: false,\n objectTypeBranches: {},\n objectTypeVersions: {\n [objectTypeRid]: await this.ontologyVersion(\"\"),\n },\n });\n invariant(linkTypes.linkTypes[objectTypeRid], \"link type should be loaded\");\n // apiName to content\n const ret = {};\n for (const l of linkTypes.linkTypes[objectTypeRid]) {\n const helper = ({ apiName }, linkSide, otherObjectType) => {\n if (apiName) {\n ret[apiName] = {\n apiName,\n directedLinkTypeRid: {\n linkTypeRid: l.rid,\n linkSide,\n },\n otherObjectType,\n };\n }\n };\n if (l.definition.type === \"oneToMany\") {\n const { oneToMany: { objectTypeRidManySide, manyToOneLinkMetadata, objectTypeRidOneSide, oneToManyLinkMetadata, }, } = l.definition;\n if (objectTypeRidManySide === objectTypeRid) {\n helper(manyToOneLinkMetadata, \"TARGET\", objectTypeRidOneSide);\n }\n if (objectTypeRidOneSide === objectTypeRid) {\n helper(oneToManyLinkMetadata, \"SOURCE\", objectTypeRidManySide);\n }\n }\n else if (l.definition.type === \"manyToMany\") {\n const { manyToMany: { objectTypeRidA, objectTypeAToBLinkMetadata, objectTypeRidB, objectTypeBToALinkMetadata, }, } = l.definition;\n if (objectTypeRidA === objectTypeRid) {\n helper(objectTypeAToBLinkMetadata, \"SOURCE\", objectTypeRidB);\n }\n if (objectTypeRidB === objectTypeRid) {\n helper(objectTypeBToALinkMetadata, \"TARGET\", objectTypeRidA);\n }\n }\n }\n return ret;\n });\n #getConjureObjectType = strongMemoAsync(async (objectTypeRid) => {\n this.#logger?.debug(`getConjureObjectType(${objectTypeRid})`);\n const body = {\n datasourceTypes: [],\n objectTypes: [{\n identifier: {\n type: \"objectTypeRid\",\n objectTypeRid: objectTypeRid,\n },\n versionReference: {\n type: \"ontologyVersion\",\n ontologyVersion: await this.ontologyVersion(\"\"),\n },\n }],\n linkTypes: [],\n sharedPropertyTypes: [],\n interfaceTypes: [],\n typeGroups: [],\n loadRedacted: false,\n includeObjectTypeCount: undefined,\n includeObjectTypesWithoutSearchableDatasources: true,\n includeEntityMetadata: undefined,\n };\n const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);\n invariant(entities.objectTypes[0]?.objectType, \"object type should be loaded\");\n return entities.objectTypes[0].objectType;\n });\n ontologyVersion = strongMemoAsync(async (_) => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));\n}\nexport const metadataCacheClient = weakMemoAsync((client) => Promise.resolve(new MetadataClient(client)));\nfunction createObjectPropertyMapping(conjureOT) {\n invariant(conjureOT.primaryKeys.length === 1, `only one primary key supported, got ${conjureOT.primaryKeys.length}`);\n const pkRid = conjureOT.primaryKeys[0];\n const pkProperty = Object.values(conjureOT.propertyTypes).find(a => a.rid === pkRid);\n if (!pkProperty) {\n throw new Error(`Could not find PK property by rid: ${pkRid}`);\n }\n const propertyIdToApiNameMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.id, property.apiName];\n }));\n const propertyApiNameToIdMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.apiName, property.id];\n }));\n return {\n apiName: conjureOT.apiName,\n id: conjureOT.id,\n propertyIdToApiNameMapping,\n propertyApiNameToIdMapping,\n pk: {\n rid: pkRid,\n apiName: pkProperty.apiName,\n type: pkProperty.type,\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ConjureSupport.js","names":["bulkLoadOntologyEntities","getLinkTypesForObjectTypes","loadAllOntologies","invariant","createSimpleAsyncCache","createSimpleCache","makeConjureContext","cachedAllOntologies","getOntologyVersionForRid","ctx","ontologyRid","ontologies","process","env","NODE_ENV","currentOntologyVersion","strongMemoSync","fn","Map","get","weakMemoSync","WeakMap","strongMemoAsync","weakMemoAsync","MetadataClient","client","logger","constructor","ontologyProvider","getObjectDefinition","child","mcc","forObjectByRid","rid","Promise","resolve","getPropertyMapping","objectPropertyMapping","bind","getLinkMapping","objectLinkMapping","getRid","getApiName","getConjureObjectType","apiName","forObjectByApiName","objectApiName","objectDef","objectTypeRid","conjureObjectType","createObjectPropertyMapping","linkTypes","includeObjectTypesWithoutSearchableDatasources","loadRedacted","objectTypeBranches","objectTypeVersions","ontologyVersion","ret","l","helper","linkSide","otherObjectType","directedLinkTypeRid","linkTypeRid","definition","type","oneToMany","objectTypeRidManySide","manyToOneLinkMetadata","objectTypeRidOneSide","oneToManyLinkMetadata","manyToMany","objectTypeRidA","objectTypeAToBLinkMetadata","objectTypeRidB","objectTypeBToALinkMetadata","debug","body","datasourceTypes","objectTypes","identifier","versionReference","sharedPropertyTypes","interfaceTypes","typeGroups","includeObjectTypeCount","undefined","includeEntityMetadata","actionTypes","includeTypeGroupEntitiesCount","entityMetadata","entities","objectType","metadataCacheClient","conjureOT","primaryKeys","length","pkRid","pkProperty","Object","values","propertyTypes","find","a","Error","propertyIdToApiNameMapping","fromEntries","map","property","id","propertyApiNameToIdMapping","pk"],"sources":["ConjureSupport.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { bulkLoadOntologyEntities, getLinkTypesForObjectTypes, loadAllOntologies, } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { createSimpleAsyncCache, createSimpleCache, } from \"../object/SimpleCache.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nlet cachedAllOntologies;\nasync function getOntologyVersionForRid(ctx, ontologyRid) {\n cachedAllOntologies ??= await loadAllOntologies(ctx, {});\n invariant(cachedAllOntologies.ontologies[ontologyRid], \"ontology should be loaded\");\n return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;\n}\nconst strongMemoSync = (fn) => createSimpleCache(new Map(), fn).get;\nconst weakMemoSync = (fn) => createSimpleCache(new WeakMap(), fn).get; // FIXME\nconst strongMemoAsync = (fn) => createSimpleAsyncCache(\"strong\", fn).get;\nconst weakMemoAsync = (fn) => createSimpleAsyncCache(\"weak\", fn).get;\nexport class MetadataClient {\n #client;\n #ctx;\n #logger;\n constructor(client) {\n this.#client = client;\n this.#ctx = makeConjureContext(client, \"ontology-metadata/api\");\n this.#client.ontologyProvider.getObjectDefinition;\n this.#logger = this.#client.logger?.child({\n mcc: true,\n });\n }\n forObjectByRid = strongMemoAsync(async (rid) => {\n return Promise.resolve({\n getPropertyMapping: this.#objectPropertyMapping.bind(this, rid),\n getLinkMapping: this.#objectLinkMapping.bind(this, rid),\n getRid: () => rid,\n getApiName: async () => (await this.#getConjureObjectType(rid)).apiName,\n });\n });\n forObjectByApiName = strongMemoAsync(async (objectApiName) => {\n const objectDef = await this.#client.ontologyProvider.getObjectDefinition(objectApiName);\n return this.forObjectByRid(objectDef.rid);\n });\n #objectPropertyMapping = strongMemoAsync(async (objectTypeRid) => {\n const conjureObjectType = await this.#getConjureObjectType(objectTypeRid);\n return createObjectPropertyMapping(conjureObjectType);\n });\n #objectLinkMapping = strongMemoAsync(async (objectTypeRid) => {\n const linkTypes = await getLinkTypesForObjectTypes(this.#ctx, {\n includeObjectTypesWithoutSearchableDatasources: true,\n loadRedacted: false,\n objectTypeBranches: {},\n objectTypeVersions: {\n [objectTypeRid]: await this.ontologyVersion(\"\"),\n },\n });\n invariant(linkTypes.linkTypes[objectTypeRid], \"link type should be loaded\");\n // apiName to content\n const ret = {};\n for (const l of linkTypes.linkTypes[objectTypeRid]) {\n const helper = ({ apiName }, linkSide, otherObjectType) => {\n if (apiName) {\n ret[apiName] = {\n apiName,\n directedLinkTypeRid: {\n linkTypeRid: l.rid,\n linkSide,\n },\n otherObjectType,\n };\n }\n };\n if (l.definition.type === \"oneToMany\") {\n const { oneToMany: { objectTypeRidManySide, manyToOneLinkMetadata, objectTypeRidOneSide, oneToManyLinkMetadata, }, } = l.definition;\n if (objectTypeRidManySide === objectTypeRid) {\n helper(manyToOneLinkMetadata, \"TARGET\", objectTypeRidOneSide);\n }\n if (objectTypeRidOneSide === objectTypeRid) {\n helper(oneToManyLinkMetadata, \"SOURCE\", objectTypeRidManySide);\n }\n }\n else if (l.definition.type === \"manyToMany\") {\n const { manyToMany: { objectTypeRidA, objectTypeAToBLinkMetadata, objectTypeRidB, objectTypeBToALinkMetadata, }, } = l.definition;\n if (objectTypeRidA === objectTypeRid) {\n helper(objectTypeAToBLinkMetadata, \"SOURCE\", objectTypeRidB);\n }\n if (objectTypeRidB === objectTypeRid) {\n helper(objectTypeBToALinkMetadata, \"TARGET\", objectTypeRidA);\n }\n }\n }\n return ret;\n });\n #getConjureObjectType = strongMemoAsync(async (objectTypeRid) => {\n this.#logger?.debug(`getConjureObjectType(${objectTypeRid})`);\n const body = {\n datasourceTypes: [],\n objectTypes: [{\n identifier: {\n type: \"objectTypeRid\",\n objectTypeRid: objectTypeRid,\n },\n versionReference: {\n type: \"ontologyVersion\",\n ontologyVersion: await this.ontologyVersion(\"\"),\n },\n }],\n linkTypes: [],\n sharedPropertyTypes: [],\n interfaceTypes: [],\n typeGroups: [],\n loadRedacted: false,\n includeObjectTypeCount: undefined,\n includeObjectTypesWithoutSearchableDatasources: true,\n includeEntityMetadata: undefined,\n actionTypes: [],\n includeTypeGroupEntitiesCount: undefined,\n entityMetadata: undefined,\n };\n const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);\n invariant(entities.objectTypes[0]?.objectType, \"object type should be loaded\");\n return entities.objectTypes[0].objectType;\n });\n ontologyVersion = strongMemoAsync(async (_) => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));\n}\nexport const metadataCacheClient = weakMemoAsync((client) => Promise.resolve(new MetadataClient(client)));\nfunction createObjectPropertyMapping(conjureOT) {\n invariant(conjureOT.primaryKeys.length === 1, `only one primary key supported, got ${conjureOT.primaryKeys.length}`);\n const pkRid = conjureOT.primaryKeys[0];\n const pkProperty = Object.values(conjureOT.propertyTypes).find(a => a.rid === pkRid);\n if (!pkProperty) {\n throw new Error(`Could not find PK property by rid: ${pkRid}`);\n }\n const propertyIdToApiNameMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.id, property.apiName];\n }));\n const propertyApiNameToIdMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.apiName, property.id];\n }));\n return {\n apiName: conjureOT.apiName,\n id: conjureOT.id,\n propertyIdToApiNameMapping,\n propertyApiNameToIdMapping,\n pk: {\n rid: pkRid,\n apiName: pkProperty.apiName,\n type: pkProperty.type,\n },\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,wBAAwB,EAAEC,0BAA0B,EAAEC,iBAAiB,QAAS,uBAAuB;AAChH,OAAOC,SAAS,MAAM,gBAAgB;AACtC,SAASC,sBAAsB,EAAEC,iBAAiB,QAAS,0BAA0B;AACrF,SAASC,kBAAkB,QAAQ,mCAAmC;AACtE,IAAIC,mBAAmB;AACvB,eAAeC,wBAAwBA,CAACC,GAAG,EAAEC,WAAW,EAAE;EACtDH,mBAAmB,KAAK,MAAML,iBAAiB,CAACO,GAAG,EAAE,CAAC,CAAC,CAAC;EACxD,CAAUF,mBAAmB,CAACI,UAAU,CAACD,WAAW,CAAC,GAAAE,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAArDX,SAAS,QAA8C,2BAA2B,IAAlFA,SAAS;EACT,OAAOI,mBAAmB,CAACI,UAAU,CAACD,WAAW,CAAC,CAACK,sBAAsB;AAC7E;AACA,MAAMC,cAAc,GAAIC,EAAE,IAAKZ,iBAAiB,CAAC,IAAIa,GAAG,CAAC,CAAC,EAAED,EAAE,CAAC,CAACE,GAAG;AACnE,MAAMC,YAAY,GAAIH,EAAE,IAAKZ,iBAAiB,CAAC,IAAIgB,OAAO,CAAC,CAAC,EAAEJ,EAAE,CAAC,CAACE,GAAG,CAAC,CAAC;AACvE,MAAMG,eAAe,GAAIL,EAAE,IAAKb,sBAAsB,CAAC,QAAQ,EAAEa,EAAE,CAAC,CAACE,GAAG;AACxE,MAAMI,aAAa,GAAIN,EAAE,IAAKb,sBAAsB,CAAC,MAAM,EAAEa,EAAE,CAAC,CAACE,GAAG;AACpE,OAAO,MAAMK,cAAc,CAAC;EACxB,CAACC,MAAM;EACP,CAAChB,GAAG;EACJ,CAACiB,MAAM;EACPC,WAAWA,CAACF,MAAM,EAAE;IAChB,IAAI,CAAC,CAACA,MAAM,GAAGA,MAAM;IACrB,IAAI,CAAC,CAAChB,GAAG,GAAGH,kBAAkB,CAACmB,MAAM,EAAE,uBAAuB,CAAC;IAC/D,IAAI,CAAC,CAACA,MAAM,CAACG,gBAAgB,CAACC,mBAAmB;IACjD,IAAI,CAAC,CAACH,MAAM,GAAG,IAAI,CAAC,CAACD,MAAM,CAACC,MAAM,EAAEI,KAAK,CAAC;MACtCC,GAAG,EAAE;IACT,CAAC,CAAC;EACN;EACAC,cAAc,GAAGV,eAAe,CAAC,MAAOW,GAAG,IAAK;IAC5C,OAAOC,OAAO,CAACC,OAAO,CAAC;MACnBC,kBAAkB,EAAE,IAAI,CAAC,CAACC,qBAAqB,CAACC,IAAI,CAAC,IAAI,EAAEL,GAAG,CAAC;MAC/DM,cAAc,EAAE,IAAI,CAAC,CAACC,iBAAiB,CAACF,IAAI,CAAC,IAAI,EAAEL,GAAG,CAAC;MACvDQ,MAAM,EAAEA,CAAA,KAAMR,GAAG;MACjBS,UAAU,EAAE,MAAAA,CAAA,KAAY,CAAC,MAAM,IAAI,CAAC,CAACC,oBAAoB,CAACV,GAAG,CAAC,EAAEW;IACpE,CAAC,CAAC;EACN,CAAC,CAAC;EACFC,kBAAkB,GAAGvB,eAAe,CAAC,MAAOwB,aAAa,IAAK;IAC1D,MAAMC,SAAS,GAAG,MAAM,IAAI,CAAC,CAACtB,MAAM,CAACG,gBAAgB,CAACC,mBAAmB,CAACiB,aAAa,CAAC;IACxF,OAAO,IAAI,CAACd,cAAc,CAACe,SAAS,CAACd,GAAG,CAAC;EAC7C,CAAC,CAAC;EACF,CAACI,qBAAqB,GAAGf,eAAe,CAAC,MAAO0B,aAAa,IAAK;IAC9D,MAAMC,iBAAiB,GAAG,MAAM,IAAI,CAAC,CAACN,oBAAoB,CAACK,aAAa,CAAC;IACzE,OAAOE,2BAA2B,CAACD,iBAAiB,CAAC;EACzD,CAAC,CAAC;EACF,CAACT,iBAAiB,GAAGlB,eAAe,CAAC,MAAO0B,aAAa,IAAK;IAC1D,MAAMG,SAAS,GAAG,MAAMlD,0BAA0B,CAAC,IAAI,CAAC,CAACQ,GAAG,EAAE;MAC1D2C,8CAA8C,EAAE,IAAI;MACpDC,YAAY,EAAE,KAAK;MACnBC,kBAAkB,EAAE,CAAC,CAAC;MACtBC,kBAAkB,EAAE;QAChB,CAACP,aAAa,GAAG,MAAM,IAAI,CAACQ,eAAe,CAAC,EAAE;MAClD;IACJ,CAAC,CAAC;IACF,CAAUL,SAAS,CAACA,SAAS,CAACH,aAAa,CAAC,GAAApC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAA5CX,SAAS,QAAqC,4BAA4B,IAA1EA,SAAS;IACT;IACA,MAAMsD,GAAG,GAAG,CAAC,CAAC;IACd,KAAK,MAAMC,CAAC,IAAIP,SAAS,CAACA,SAAS,CAACH,aAAa,CAAC,EAAE;MAChD,MAAMW,MAAM,GAAGA,CAAC;QAAEf;MAAQ,CAAC,EAAEgB,QAAQ,EAAEC,eAAe,KAAK;QACvD,IAAIjB,OAAO,EAAE;UACTa,GAAG,CAACb,OAAO,CAAC,GAAG;YACXA,OAAO;YACPkB,mBAAmB,EAAE;cACjBC,WAAW,EAAEL,CAAC,CAACzB,GAAG;cAClB2B;YACJ,CAAC;YACDC;UACJ,CAAC;QACL;MACJ,CAAC;MACD,IAAIH,CAAC,CAACM,UAAU,CAACC,IAAI,KAAK,WAAW,EAAE;QACnC,MAAM;UAAEC,SAAS,EAAE;YAAEC,qBAAqB;YAAEC,qBAAqB;YAAEC,oBAAoB;YAAEC;UAAuB;QAAG,CAAC,GAAGZ,CAAC,CAACM,UAAU;QACnI,IAAIG,qBAAqB,KAAKnB,aAAa,EAAE;UACzCW,MAAM,CAACS,qBAAqB,EAAE,QAAQ,EAAEC,oBAAoB,CAAC;QACjE;QACA,IAAIA,oBAAoB,KAAKrB,aAAa,EAAE;UACxCW,MAAM,CAACW,qBAAqB,EAAE,QAAQ,EAAEH,qBAAqB,CAAC;QAClE;MACJ,CAAC,MACI,IAAIT,CAAC,CAACM,UAAU,CAACC,IAAI,KAAK,YAAY,EAAE;QACzC,MAAM;UAAEM,UAAU,EAAE;YAAEC,cAAc;YAAEC,0BAA0B;YAAEC,cAAc;YAAEC;UAA4B;QAAG,CAAC,GAAGjB,CAAC,CAACM,UAAU;QACjI,IAAIQ,cAAc,KAAKxB,aAAa,EAAE;UAClCW,MAAM,CAACc,0BAA0B,EAAE,QAAQ,EAAEC,cAAc,CAAC;QAChE;QACA,IAAIA,cAAc,KAAK1B,aAAa,EAAE;UAClCW,MAAM,CAACgB,0BAA0B,EAAE,QAAQ,EAAEH,cAAc,CAAC;QAChE;MACJ;IACJ;IACA,OAAOf,GAAG;EACd,CAAC,CAAC;EACF,CAACd,oBAAoB,GAAGrB,eAAe,CAAC,MAAO0B,aAAa,IAAK;IAC7D,IAAI,CAAC,CAACtB,MAAM,EAAEkD,KAAK,CAAC,wBAAwB5B,aAAa,GAAG,CAAC;IAC7D,MAAM6B,IAAI,GAAG;MACTC,eAAe,EAAE,EAAE;MACnBC,WAAW,EAAE,CAAC;QACNC,UAAU,EAAE;UACRf,IAAI,EAAE,eAAe;UACrBjB,aAAa,EAAEA;QACnB,CAAC;QACDiC,gBAAgB,EAAE;UACdhB,IAAI,EAAE,iBAAiB;UACvBT,eAAe,EAAE,MAAM,IAAI,CAACA,eAAe,CAAC,EAAE;QAClD;MACJ,CAAC,CAAC;MACNL,SAAS,EAAE,EAAE;MACb+B,mBAAmB,EAAE,EAAE;MACvBC,cAAc,EAAE,EAAE;MAClBC,UAAU,EAAE,EAAE;MACd/B,YAAY,EAAE,KAAK;MACnBgC,sBAAsB,EAAEC,SAAS;MACjClC,8CAA8C,EAAE,IAAI;MACpDmC,qBAAqB,EAAED,SAAS;MAChCE,WAAW,EAAE,EAAE;MACfC,6BAA6B,EAAEH,SAAS;MACxCI,cAAc,EAAEJ;IACpB,CAAC;IACD,MAAMK,QAAQ,GAAG,MAAM3F,wBAAwB,CAAC,IAAI,CAAC,CAACS,GAAG,EAAE6E,SAAS,EAAET,IAAI,CAAC;IAC3E,CAAUc,QAAQ,CAACZ,WAAW,CAAC,CAAC,CAAC,EAAEa,UAAU,GAAAhF,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAA7CX,SAAS,QAAsC,8BAA8B,IAA7EA,SAAS;IACT,OAAOwF,QAAQ,CAACZ,WAAW,CAAC,CAAC,CAAC,CAACa,UAAU;EAC7C,CAAC,CAAC;EACFpC,eAAe,GAAGlC,eAAe,CAAC,YAAad,wBAAwB,CAAC,IAAI,CAAC,CAACC,GAAG,EAAE,MAAM,IAAI,CAAC,CAACgB,MAAM,CAACf,WAAW,CAAC,CAAC;AACvH;AACA,OAAO,MAAMmF,mBAAmB,GAAGtE,aAAa,CAAEE,MAAM,IAAKS,OAAO,CAACC,OAAO,CAAC,IAAIX,cAAc,CAACC,MAAM,CAAC,CAAC,CAAC;AACzG,SAASyB,2BAA2BA,CAAC4C,SAAS,EAAE;EAC5C,EAAUA,SAAS,CAACC,WAAW,CAACC,MAAM,KAAK,CAAC,IAAApF,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAA5CX,SAAS,QAAqC,uCAAuC2F,SAAS,CAACC,WAAW,CAACC,MAAM,EAAE,IAAnH7F,SAAS;EACT,MAAM8F,KAAK,GAAGH,SAAS,CAACC,WAAW,CAAC,CAAC,CAAC;EACtC,MAAMG,UAAU,GAAGC,MAAM,CAACC,MAAM,CAACN,SAAS,CAACO,aAAa,CAAC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACtE,GAAG,KAAKgE,KAAK,CAAC;EACpF,IAAI,CAACC,UAAU,EAAE;IACb,MAAM,IAAIM,KAAK,CAAC,sCAAsCP,KAAK,EAAE,CAAC;EAClE;EACA,MAAMQ,0BAA0B,GAAGN,MAAM,CACpCO,WAAW,CAACP,MAAM,CAACC,MAAM,CAACN,SAAS,CAACO,aAAa,CAAC,CAACM,GAAG,CAACC,QAAQ,IAAI;IACpE,OAAO,CAACA,QAAQ,CAACC,EAAE,EAAED,QAAQ,CAAChE,OAAO,CAAC;EAC1C,CAAC,CAAC,CAAC;EACH,MAAMkE,0BAA0B,GAAGX,MAAM,CACpCO,WAAW,CAACP,MAAM,CAACC,MAAM,CAACN,SAAS,CAACO,aAAa,CAAC,CAACM,GAAG,CAACC,QAAQ,IAAI;IACpE,OAAO,CAACA,QAAQ,CAAChE,OAAO,EAAEgE,QAAQ,CAACC,EAAE,CAAC;EAC1C,CAAC,CAAC,CAAC;EACH,OAAO;IACHjE,OAAO,EAAEkD,SAAS,CAAClD,OAAO;IAC1BiE,EAAE,EAAEf,SAAS,CAACe,EAAE;IAChBJ,0BAA0B;IAC1BK,0BAA0B;IAC1BC,EAAE,EAAE;MACA9E,GAAG,EAAEgE,KAAK;MACVrD,OAAO,EAAEsD,UAAU,CAACtD,OAAO;MAC3BqB,IAAI,EAAEiC,UAAU,CAACjC;IACrB;EACJ,CAAC;AACL","ignoreList":[]}
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { $Actions, $ontologyRid, actionTakesAttachment, createOffice, moveOffice } from "@osdk/client.test.ontology";
|
|
16
|
+
import { $Actions, $ontologyRid, actionTakesAttachment, createOffice, createStructPerson, moveOffice } from "@osdk/client.test.ontology";
|
|
17
17
|
import { apiServer, stubData } from "@osdk/shared.test";
|
|
18
|
-
import { afterAll, beforeAll, describe, expect, expectTypeOf, it } from "vitest";
|
|
18
|
+
import { afterAll, beforeAll, describe, expect, expectTypeOf, it, vi } from "vitest";
|
|
19
19
|
import { createClient } from "../createClient.js";
|
|
20
20
|
import { createAttachmentUpload } from "../object/AttachmentUpload.js";
|
|
21
21
|
import { ActionValidationError } from "./ActionValidationError.js";
|
|
@@ -58,6 +58,7 @@ describe("actions", () => {
|
|
|
58
58
|
"type": "edits",
|
|
59
59
|
}
|
|
60
60
|
`);
|
|
61
|
+
// eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
|
|
61
62
|
const undefinedResult = await client(createOffice).applyAction({
|
|
62
63
|
officeId: "NYC",
|
|
63
64
|
address: "123 Main Street",
|
|
@@ -66,7 +67,8 @@ describe("actions", () => {
|
|
|
66
67
|
expectTypeOf().toEqualTypeOf();
|
|
67
68
|
expect(undefinedResult).toBeUndefined();
|
|
68
69
|
client(createOffice).batchApplyAction;
|
|
69
|
-
|
|
70
|
+
const clientCreateOfficeMock = vi.fn();
|
|
71
|
+
void clientCreateOfficeMock([{
|
|
70
72
|
officeId: "NYC",
|
|
71
73
|
address: "123 Main Street",
|
|
72
74
|
capacity: 100
|
|
@@ -129,6 +131,20 @@ describe("actions", () => {
|
|
|
129
131
|
`);
|
|
130
132
|
}
|
|
131
133
|
});
|
|
134
|
+
it("Accepts structs", async () => {
|
|
135
|
+
client(createStructPerson).applyAction;
|
|
136
|
+
expectTypeOf().toMatchTypeOf();
|
|
137
|
+
const result = await client(createStructPerson).applyAction({
|
|
138
|
+
name: "testMan",
|
|
139
|
+
address: {
|
|
140
|
+
city: "NYC",
|
|
141
|
+
state: "NY",
|
|
142
|
+
zipcode: 12345
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
expectTypeOf().toEqualTypeOf();
|
|
146
|
+
expect(result).toBeUndefined();
|
|
147
|
+
});
|
|
132
148
|
it("Accepts attachments", async () => {
|
|
133
149
|
client(actionTakesAttachment).applyAction;
|
|
134
150
|
expectTypeOf().toMatchTypeOf();
|
|
@@ -345,7 +361,7 @@ describe("ActionResponse remapping", () => {
|
|
|
345
361
|
});
|
|
346
362
|
it("actions are enumerable", async () => {
|
|
347
363
|
const actions = Object.keys($Actions);
|
|
348
|
-
expect(actions).toStrictEqual(["actionTakesAttachment", "actionTakesObjectSet", "createOffice", "createOfficeAndEmployee", "moveOffice", "promoteEmployee", "promoteEmployeeObject"]);
|
|
364
|
+
expect(actions).toStrictEqual(["actionTakesAttachment", "actionTakesObjectSet", "createOffice", "createOfficeAndEmployee", "createStructPerson", "moveOffice", "promoteEmployee", "promoteEmployeeObject"]);
|
|
349
365
|
});
|
|
350
366
|
});
|
|
351
367
|
//# sourceMappingURL=actions.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.test.js","names":["$Actions","$ontologyRid","actionTakesAttachment","createOffice","moveOffice","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","createAttachmentUpload","ActionValidationError","remapActionResponse","client","customEntryPointClient","listen","close","result","applyAction","officeId","address","capacity","$returnEdits","toEqualTypeOf","toMatchInlineSnapshot","undefinedResult","toBeUndefined","batchApplyAction","toBeCallableWith","newAddress","newCapacity","$validateOnly","fail","e","toBeInstanceOf","validation","toMatchTypeOf","attachment","blob","attachmentUploadRequestBody","localAttachment1","filename","fileAttachment","Object","assign","name","result2","actionResponse","edits","type","deletedLinksCount","deletedObjectsCount","addedObjectCount","modifiedObjectsCount","addedLinksCount","batchActionResponse","remappedActionResponse","remappedBatchActionResponse","actions","keys","toStrictEqual"],"sources":["actions.test.js"],"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 */\nimport { $Actions, $ontologyRid, actionTakesAttachment, createOffice, moveOffice, } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nimport { remapActionResponse } from \"./applyAction.js\";\ndescribe(\"actions\", () => {\n let client;\n let customEntryPointClient;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n customEntryPointClient = createClient(\"https://stack.palantirCustom.com/foo/first/someStuff\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"conditionally returns the edits\", async () => {\n const result = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }, { $returnEdits: true });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [],\n \"addedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [],\n \"type\": \"edits\",\n }\n `);\n const undefinedResult = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n });\n expectTypeOf().toEqualTypeOf();\n expect(undefinedResult).toBeUndefined();\n const clientCreateOffice = client(createOffice).batchApplyAction;\n expectTypeOf().toBeCallableWith([{\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }], { $returnEdits: true });\n });\n it(\"returns validation directly on validateOnly mode\", async () => {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $validateOnly: true,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n });\n it(\"returns validation directly on validateOnly mode, with custom entry point in URL\", async () => {\n const result = await customEntryPointClient(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $validateOnly: true,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n });\n it(\"throws on validation errors\", async () => {\n try {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $returnEdits: true,\n });\n expect.fail(\"Should not reach here\");\n }\n catch (e) {\n expect(e).toBeInstanceOf(ActionValidationError);\n expect(e.validation).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n }\n });\n it(\"Accepts attachments\", async () => {\n const clientBoundActionTakesAttachment = client(actionTakesAttachment).applyAction;\n expectTypeOf().toMatchTypeOf();\n const clientBoundBatchActionTakesAttachment = client(actionTakesAttachment).batchApplyAction;\n expectTypeOf().toMatchTypeOf();\n const result = await client(actionTakesAttachment).applyAction({\n attachment: \"attachment.rid\",\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toBeUndefined();\n });\n it(\"Accepts attachment uploads\", async () => {\n const clientBoundActionTakesAttachment = client(actionTakesAttachment).applyAction;\n const clientBoundBatchActionTakesAttachment = client(actionTakesAttachment).batchApplyAction;\n expectTypeOf().toMatchTypeOf();\n expectTypeOf().toMatchTypeOf();\n const blob = stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename];\n const attachment = createAttachmentUpload(blob, \"file1.txt\");\n // Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above\n const fileAttachment = Object.assign(blob, { name: \"file1.txt\" });\n const result = await client(actionTakesAttachment).applyAction({\n attachment,\n });\n const result2 = await client(actionTakesAttachment).applyAction({\n attachment: fileAttachment,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toBeUndefined();\n expectTypeOf().toEqualTypeOf();\n expect(result2).toBeUndefined();\n });\n it(\"conditionally returns edits in batch mode\", async () => {\n const result = await client(moveOffice).batchApplyAction([\n {\n officeId: \"SEA\",\n newAddress: \"456 Good Place\",\n newCapacity: 40,\n },\n {\n officeId: \"NYC\",\n newAddress: \"123 Main Street\",\n newCapacity: 80,\n },\n ], { $returnEdits: true });\n expect(result).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [],\n \"addedObjects\": [],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"SEA\",\n },\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n});\ndescribe(\"ActionResponse remapping\", () => {\n const actionResponse = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n const batchActionResponse = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n it(\"Correctly unpacks edits and editedObjectTypes\", () => {\n const remappedActionResponse = remapActionResponse(actionResponse);\n const remappedBatchActionResponse = remapActionResponse(batchActionResponse);\n expect(remappedActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n expect(remappedBatchActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n it(\"actions are enumerable\", async () => {\n const actions = Object.keys($Actions);\n expect(actions).toStrictEqual([\n \"actionTakesAttachment\",\n \"actionTakesObjectSet\",\n \"createOffice\",\n \"createOfficeAndEmployee\",\n \"moveOffice\",\n \"promoteEmployee\",\n \"promoteEmployeeObject\",\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"actions.test.js","names":["$Actions","$ontologyRid","actionTakesAttachment","createOffice","createStructPerson","moveOffice","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","vi","createClient","createAttachmentUpload","ActionValidationError","remapActionResponse","client","customEntryPointClient","listen","close","result","applyAction","officeId","address","capacity","$returnEdits","toEqualTypeOf","toMatchInlineSnapshot","undefinedResult","toBeUndefined","batchApplyAction","clientCreateOfficeMock","fn","newAddress","newCapacity","$validateOnly","fail","e","toBeInstanceOf","validation","toMatchTypeOf","name","city","state","zipcode","attachment","blob","attachmentUploadRequestBody","localAttachment1","filename","fileAttachment","Object","assign","result2","actionResponse","edits","type","deletedLinksCount","deletedObjectsCount","addedObjectCount","modifiedObjectsCount","addedLinksCount","batchActionResponse","remappedActionResponse","remappedBatchActionResponse","actions","keys","toStrictEqual"],"sources":["actions.test.js"],"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 */\nimport { $Actions, $ontologyRid, actionTakesAttachment, createOffice, createStructPerson, moveOffice, } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, vi, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nimport { remapActionResponse } from \"./applyAction.js\";\ndescribe(\"actions\", () => {\n let client;\n let customEntryPointClient;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n customEntryPointClient = createClient(\"https://stack.palantirCustom.com/foo/first/someStuff\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"conditionally returns the edits\", async () => {\n const result = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }, { $returnEdits: true });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [],\n \"addedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [],\n \"type\": \"edits\",\n }\n `);\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const undefinedResult = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n });\n expectTypeOf().toEqualTypeOf();\n expect(undefinedResult).toBeUndefined();\n const clientCreateOffice = client(createOffice).batchApplyAction;\n const clientCreateOfficeMock = vi.fn();\n void clientCreateOfficeMock([{\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }], { $returnEdits: true });\n });\n it(\"returns validation directly on validateOnly mode\", async () => {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $validateOnly: true,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n });\n it(\"returns validation directly on validateOnly mode, with custom entry point in URL\", async () => {\n const result = await customEntryPointClient(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $validateOnly: true,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n });\n it(\"throws on validation errors\", async () => {\n try {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $returnEdits: true,\n });\n expect.fail(\"Should not reach here\");\n }\n catch (e) {\n expect(e).toBeInstanceOf(ActionValidationError);\n expect(e.validation).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n }\n });\n it(\"Accepts structs\", async () => {\n const clientBoundActionTakesStruct = client(createStructPerson).applyAction;\n expectTypeOf()\n .toMatchTypeOf();\n const result = await client(createStructPerson).applyAction({\n name: \"testMan\",\n address: { city: \"NYC\", state: \"NY\", zipcode: 12345 },\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toBeUndefined();\n });\n it(\"Accepts attachments\", async () => {\n const clientBoundActionTakesAttachment = client(actionTakesAttachment).applyAction;\n expectTypeOf().toMatchTypeOf();\n const clientBoundBatchActionTakesAttachment = client(actionTakesAttachment).batchApplyAction;\n expectTypeOf().toMatchTypeOf();\n const result = await client(actionTakesAttachment).applyAction({\n attachment: \"attachment.rid\",\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toBeUndefined();\n });\n it(\"Accepts attachment uploads\", async () => {\n const clientBoundActionTakesAttachment = client(actionTakesAttachment).applyAction;\n const clientBoundBatchActionTakesAttachment = client(actionTakesAttachment).batchApplyAction;\n expectTypeOf().toMatchTypeOf();\n expectTypeOf().toMatchTypeOf();\n const blob = stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename];\n const attachment = createAttachmentUpload(blob, \"file1.txt\");\n // Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above\n const fileAttachment = Object.assign(blob, { name: \"file1.txt\" });\n const result = await client(actionTakesAttachment).applyAction({\n attachment,\n });\n const result2 = await client(actionTakesAttachment).applyAction({\n attachment: fileAttachment,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toBeUndefined();\n expectTypeOf().toEqualTypeOf();\n expect(result2).toBeUndefined();\n });\n it(\"conditionally returns edits in batch mode\", async () => {\n const result = await client(moveOffice).batchApplyAction([\n {\n officeId: \"SEA\",\n newAddress: \"456 Good Place\",\n newCapacity: 40,\n },\n {\n officeId: \"NYC\",\n newAddress: \"123 Main Street\",\n newCapacity: 80,\n },\n ], { $returnEdits: true });\n expect(result).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [],\n \"addedObjects\": [],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"SEA\",\n },\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n});\ndescribe(\"ActionResponse remapping\", () => {\n const actionResponse = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n const batchActionResponse = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n it(\"Correctly unpacks edits and editedObjectTypes\", () => {\n const remappedActionResponse = remapActionResponse(actionResponse);\n const remappedBatchActionResponse = remapActionResponse(batchActionResponse);\n expect(remappedActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n expect(remappedBatchActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n it(\"actions are enumerable\", async () => {\n const actions = Object.keys($Actions);\n expect(actions).toStrictEqual([\n \"actionTakesAttachment\",\n \"actionTakesObjectSet\",\n \"createOffice\",\n \"createOfficeAndEmployee\",\n \"createStructPerson\",\n \"moveOffice\",\n \"promoteEmployee\",\n \"promoteEmployeeObject\",\n ]);\n });\n});\n"],"mappings":"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ACZ,CAAC,CAAC;MACNE,iBAAiB,EAAE,CAAC;MACpBC,mBAAmB,EAAE,CAAC;MACtBC,gBAAgB,EAAE,CAAC;MACnBC,oBAAoB,EAAE,CAAC;MACvBC,eAAe,EAAE;IACrB;EACJ,CAAC;EACDnD,EAAE,CAAC,+CAA+C,EAAE,MAAM;IACtD,MAAMqD,sBAAsB,GAAGhD,mBAAmB,CAACuC,cAAc,CAAC;IAClE,MAAMU,2BAA2B,GAAGjD,mBAAmB,CAAC+C,mBAAmB,CAAC;IAC5EtD,MAAM,CAACuD,sBAAsB,CAAC,CAACpC,qBAAqB,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;IACEnB,MAAM,CAACwD,2BAA2B,CAAC,CAACrC,qBAAqB,CAAC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACFjB,EAAE,CAAC,wBAAwB,EAAE,YAAY;IACrC,MAAMuD,OAAO,GAAGd,MAAM,CAACe,IAAI,CAACrE,QAAQ,CAAC;IACrCW,MAAM,CAACyD,OAAO,CAAC,CAACE,aAAa,CAAC,CAC1B,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,yBAAyB,EACzB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,CAC1B,CAAC;EACN,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import type { MinimalClient } from "../MinimalClientContext.js";
|
|
|
4
4
|
import type { NOOP } from "../util/NOOP.js";
|
|
5
5
|
import type { NullableProps } from "../util/NullableProps.js";
|
|
6
6
|
import type { PartialBy } from "../util/partialBy.js";
|
|
7
|
-
type BaseType<APD extends Pick<ActionMetadata.Parameter<any>, "type">> = APD["type"] extends ActionMetadata.DataType.Object<infer TTargetType> ? ActionParam.ObjectType<TTargetType> : APD["type"] extends ActionMetadata.DataType.ObjectSet<infer TTargetType> ? ActionParam.ObjectSetType<TTargetType> : APD["type"] extends keyof DataValueClientToWire ? ActionParam.PrimitiveType<APD["type"]> : never;
|
|
7
|
+
type BaseType<APD extends Pick<ActionMetadata.Parameter<any>, "type">> = APD["type"] extends ActionMetadata.DataType.Object<infer TTargetType> ? ActionParam.ObjectType<TTargetType> : APD["type"] extends ActionMetadata.DataType.ObjectSet<infer TTargetType> ? ActionParam.ObjectSetType<TTargetType> : APD["type"] extends ActionMetadata.DataType.Struct<infer TStructType> ? ActionParam.StructType<TStructType> : APD["type"] extends keyof DataValueClientToWire ? ActionParam.PrimitiveType<APD["type"]> : never;
|
|
8
8
|
type MaybeArrayType<APD extends ActionMetadata.Parameter<any>> = APD["multiplicity"] extends true ? Array<BaseType<APD>> : BaseType<APD>;
|
|
9
9
|
type NotOptionalParams<X extends ActionParametersDefinition> = {
|
|
10
10
|
[P in keyof X]: MaybeArrayType<X[P]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyAction.d.ts","sourceRoot":"","sources":["../../../src/actions/applyAction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"applyAction.d.ts","sourceRoot":"","sources":["../../../src/actions/applyAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Media, MediaMetadata } from "@osdk/api";
|
|
2
|
+
import type { MinimalClient } from "./MinimalClientContext.js";
|
|
3
|
+
export declare class MediaReferencePropertyImpl implements Media {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(args: {
|
|
6
|
+
client: MinimalClient;
|
|
7
|
+
objectApiName: string;
|
|
8
|
+
primaryKey: any;
|
|
9
|
+
propertyName: string;
|
|
10
|
+
});
|
|
11
|
+
fetchContents(): Promise<Response>;
|
|
12
|
+
fetchMetadata(): Promise<MediaMetadata>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=createMediaReferenceProperty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createMediaReferenceProperty.d.ts","sourceRoot":"","sources":["../../src/createMediaReferenceProperty.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,qBAAa,0BAA2B,YAAW,KAAK;;gBAI1C,IAAI,EAAE;QAChB,MAAM,EAAE,aAAa,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,GAAG,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;KACtB;IAMY,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC;IAWlC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;CAerD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import * as OntologiesV2 from "@osdk/internal.foundry.ontologiesv2";
|
|
17
|
+
export class MediaReferencePropertyImpl {
|
|
18
|
+
#triplet;
|
|
19
|
+
#client;
|
|
20
|
+
constructor(args) {
|
|
21
|
+
const {
|
|
22
|
+
client,
|
|
23
|
+
objectApiName,
|
|
24
|
+
primaryKey,
|
|
25
|
+
propertyName
|
|
26
|
+
} = args;
|
|
27
|
+
this.#client = client;
|
|
28
|
+
this.#triplet = [objectApiName, primaryKey, propertyName];
|
|
29
|
+
}
|
|
30
|
+
async fetchContents() {
|
|
31
|
+
return OntologiesV2.MediaReferenceProperties.getMediaContent(this.#client, await this.#client.ontologyRid, ...this.#triplet, {
|
|
32
|
+
preview: true // TODO: Can turn this back off when backend is no longer in beta.
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async fetchMetadata() {
|
|
36
|
+
const r = await OntologiesV2.MediaReferenceProperties.getMediaMetadata(this.#client, await this.#client.ontologyRid, ...this.#triplet, {
|
|
37
|
+
preview: true // TODO: Can turn this back off when backend is no longer in beta.
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
path: r.path,
|
|
41
|
+
sizeBytes: Number(r.sizeBytes),
|
|
42
|
+
mediaType: r.mediaType
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=createMediaReferenceProperty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createMediaReferenceProperty.js","names":["OntologiesV2","MediaReferencePropertyImpl","triplet","client","constructor","args","objectApiName","primaryKey","propertyName","fetchContents","MediaReferenceProperties","getMediaContent","ontologyRid","preview","fetchMetadata","r","getMediaMetadata","path","sizeBytes","Number","mediaType"],"sources":["createMediaReferenceProperty.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nexport class MediaReferencePropertyImpl {\n #triplet;\n #client;\n constructor(args) {\n const { client, objectApiName, primaryKey, propertyName } = args;\n this.#client = client;\n this.#triplet = [objectApiName, primaryKey, propertyName];\n }\n async fetchContents() {\n return OntologiesV2.MediaReferenceProperties.getMediaContent(this.#client, await this.#client.ontologyRid, ...this.#triplet, {\n preview: true, // TODO: Can turn this back off when backend is no longer in beta.\n });\n }\n async fetchMetadata() {\n const r = await OntologiesV2.MediaReferenceProperties.getMediaMetadata(this.#client, await this.#client.ontologyRid, ...this.#triplet, {\n preview: true, // TODO: Can turn this back off when backend is no longer in beta.\n });\n return {\n path: r.path,\n sizeBytes: Number(r.sizeBytes),\n mediaType: r.mediaType,\n };\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,YAAY,MAAM,qCAAqC;AACnE,OAAO,MAAMC,0BAA0B,CAAC;EACpC,CAACC,OAAO;EACR,CAACC,MAAM;EACPC,WAAWA,CAACC,IAAI,EAAE;IACd,MAAM;MAAEF,MAAM;MAAEG,aAAa;MAAEC,UAAU;MAAEC;IAAa,CAAC,GAAGH,IAAI;IAChE,IAAI,CAAC,CAACF,MAAM,GAAGA,MAAM;IACrB,IAAI,CAAC,CAACD,OAAO,GAAG,CAACI,aAAa,EAAEC,UAAU,EAAEC,YAAY,CAAC;EAC7D;EACA,MAAMC,aAAaA,CAAA,EAAG;IAClB,OAAOT,YAAY,CAACU,wBAAwB,CAACC,eAAe,CAAC,IAAI,CAAC,CAACR,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACS,WAAW,EAAE,GAAG,IAAI,CAAC,CAACV,OAAO,EAAE;MACzHW,OAAO,EAAE,IAAI,CAAE;IACnB,CAAC,CAAC;EACN;EACA,MAAMC,aAAaA,CAAA,EAAG;IAClB,MAAMC,CAAC,GAAG,MAAMf,YAAY,CAACU,wBAAwB,CAACM,gBAAgB,CAAC,IAAI,CAAC,CAACb,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACS,WAAW,EAAE,GAAG,IAAI,CAAC,CAACV,OAAO,EAAE;MACnIW,OAAO,EAAE,IAAI,CAAE;IACnB,CAAC,CAAC;IACF,OAAO;MACHI,IAAI,EAAEF,CAAC,CAACE,IAAI;MACZC,SAAS,EAAEC,MAAM,CAACJ,CAAC,CAACG,SAAS,CAAC;MAC9BE,SAAS,EAAEL,CAAC,CAACK;IACjB,CAAC;EACL;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intellisense.test.js","names":["findUpSync","path","invariant","ts","afterEach","beforeAll","beforeEach","describe","expect","it","vi","startTsServer","rootLogger","hoisted","pino","pinoPretty","EventEmitter","Promise","resolve","level","build","sync","timestampKey","undefined","errorLikeObjectKeys","errorProps","ignore","destination","write","a","at","slice","console","log","packagesDir","clientPackagePath","clientsPackageJson","cwd","import","meta","url","process","env","NODE_ENV","join","dirname","tsServer","intellisenseFilePath","task","name","sys","fileExists","toBeTruthy","sendOpenRequest","file","stop","timeout","resp","sendQuickInfoRequest","line","offset","body","documentation","toMatchInlineSnapshot"],"sources":["intellisense.test.js"],"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 */\nimport { findUpSync } from \"find-up\";\nimport * as path from \"node:path\";\nimport invariant from \"tiny-invariant\";\nimport * as ts from \"typescript\";\nimport { afterEach, beforeAll, beforeEach, describe, expect, it, vi, } from \"vitest\";\nimport { startTsServer } from \"./tsserver.js\";\n// it needs to be hoisted because its referenced from our mocked WebSocket\n// which must be hoisted to work\nconst rootLogger = await vi.hoisted(async () => {\n const pino = (await import(\"pino\")).pino;\n const pinoPretty = await import(\"pino-pretty\");\n const { EventEmitter } = await import(\"node:events\");\n class PinoConsoleLogDestination extends EventEmitter {\n write(a) {\n // remove trailing newline since console.log adds one\n if (a.at(-1) === \"\\n\")\n a = a.slice(0, -1);\n // This lets the test framework aggregate the logs per test, whereas direct to stdout does not\n console.log(a);\n }\n }\n return Promise.resolve(pino({ level: \"info\" }, (pinoPretty.build)({\n sync: true,\n timestampKey: undefined,\n errorLikeObjectKeys: [\"error\", \"err\", \"exception\"],\n errorProps: \"stack,cause,properties\",\n ignore: \"time,hostname,pid\",\n destination: new PinoConsoleLogDestination(),\n })));\n});\ndescribe(\"intellisense\", () => {\n let packagesDir;\n let clientPackagePath;\n beforeAll(() => {\n const clientsPackageJson = findUpSync(\"package.json\", {\n cwd: import.meta.url,\n });\n invariant(clientsPackageJson != null);\n packagesDir = path.join(path.dirname(clientsPackageJson), \"..\");\n clientPackagePath = path.join(packagesDir, \"client\");\n });\n let tsServer;\n let intellisenseFilePath;\n beforeEach(async (a) => {\n intellisenseFilePath = path.join(clientPackagePath, \"src\", \"intellisense.test.helpers\", `${a.task.name}.ts`);\n expect(ts.sys.fileExists(intellisenseFilePath)).toBeTruthy();\n tsServer = await startTsServer(rootLogger);\n await tsServer.sendOpenRequest({ file: intellisenseFilePath });\n });\n afterEach(async () => {\n tsServer.stop();\n tsServer = undefined;\n });\n it(\"callsQueryAcceptsObject\", { timeout:
|
|
1
|
+
{"version":3,"file":"intellisense.test.js","names":["findUpSync","path","invariant","ts","afterEach","beforeAll","beforeEach","describe","expect","it","vi","startTsServer","rootLogger","hoisted","pino","pinoPretty","EventEmitter","Promise","resolve","level","build","sync","timestampKey","undefined","errorLikeObjectKeys","errorProps","ignore","destination","write","a","at","slice","console","log","packagesDir","clientPackagePath","clientsPackageJson","cwd","import","meta","url","process","env","NODE_ENV","join","dirname","tsServer","intellisenseFilePath","task","name","sys","fileExists","toBeTruthy","sendOpenRequest","file","stop","timeout","resp","sendQuickInfoRequest","line","offset","body","documentation","toMatchInlineSnapshot"],"sources":["intellisense.test.js"],"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 */\nimport { findUpSync } from \"find-up\";\nimport * as path from \"node:path\";\nimport invariant from \"tiny-invariant\";\nimport * as ts from \"typescript\";\nimport { afterEach, beforeAll, beforeEach, describe, expect, it, vi, } from \"vitest\";\nimport { startTsServer } from \"./tsserver.js\";\n// it needs to be hoisted because its referenced from our mocked WebSocket\n// which must be hoisted to work\nconst rootLogger = await vi.hoisted(async () => {\n const pino = (await import(\"pino\")).pino;\n const pinoPretty = await import(\"pino-pretty\");\n const { EventEmitter } = await import(\"node:events\");\n class PinoConsoleLogDestination extends EventEmitter {\n write(a) {\n // remove trailing newline since console.log adds one\n if (a.at(-1) === \"\\n\")\n a = a.slice(0, -1);\n // This lets the test framework aggregate the logs per test, whereas direct to stdout does not\n console.log(a);\n }\n }\n return Promise.resolve(pino({ level: \"info\" }, (pinoPretty.build)({\n sync: true,\n timestampKey: undefined,\n errorLikeObjectKeys: [\"error\", \"err\", \"exception\"],\n errorProps: \"stack,cause,properties\",\n ignore: \"time,hostname,pid\",\n destination: new PinoConsoleLogDestination(),\n })));\n});\ndescribe(\"intellisense\", () => {\n let packagesDir;\n let clientPackagePath;\n beforeAll(() => {\n const clientsPackageJson = findUpSync(\"package.json\", {\n cwd: import.meta.url,\n });\n invariant(clientsPackageJson != null);\n packagesDir = path.join(path.dirname(clientsPackageJson), \"..\");\n clientPackagePath = path.join(packagesDir, \"client\");\n });\n let tsServer;\n let intellisenseFilePath;\n beforeEach(async (a) => {\n intellisenseFilePath = path.join(clientPackagePath, \"src\", \"intellisense.test.helpers\", `${a.task.name}.ts`);\n expect(ts.sys.fileExists(intellisenseFilePath)).toBeTruthy();\n tsServer = await startTsServer(rootLogger);\n await tsServer.sendOpenRequest({ file: intellisenseFilePath });\n });\n afterEach(async () => {\n tsServer.stop();\n tsServer = undefined;\n });\n it(\"callsQueryAcceptsObject\", { timeout: 40_000 }, async () => {\n const { resp } = await tsServer.sendQuickInfoRequest({\n file: intellisenseFilePath,\n line: 27,\n offset: 6,\n });\n expect(resp.body?.documentation).toMatchInlineSnapshot(`\"(no ontology metadata)\"`);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,12 +15,13 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import invariant from "tiny-invariant";
|
|
17
17
|
import { GeotimeSeriesPropertyImpl } from "../../createGeotimeSeriesProperty.js";
|
|
18
|
+
import { MediaReferencePropertyImpl } from "../../createMediaReferenceProperty.js";
|
|
18
19
|
import { TimeSeriesPropertyImpl } from "../../createTimeseriesProperty.js";
|
|
19
20
|
import { hydrateAttachmentFromRidInternal } from "../../public-utils/hydrateAttachmentFromRid.js";
|
|
20
21
|
import { get$as } from "./getDollarAs.js";
|
|
21
22
|
import { get$link } from "./getDollarLink.js";
|
|
22
23
|
import { ClientRef, ObjectDefRef, UnderlyingOsdkObject } from "./InternalSymbols.js";
|
|
23
|
-
const specialPropertyTypes = new Set(["attachment", "geotimeSeriesReference", "numericTimeseries", "stringTimeseries", "sensorTimeseries"]);
|
|
24
|
+
const specialPropertyTypes = new Set(["attachment", "geotimeSeriesReference", "mediaReference", "numericTimeseries", "stringTimeseries", "sensorTimeseries"]);
|
|
24
25
|
// kept separate so we are not redefining these functions
|
|
25
26
|
// every time an object is created.
|
|
26
27
|
const basePropDefs = {
|
|
@@ -89,6 +90,14 @@ function createSpecialProperty(client, objectDef, rawObject, p) {
|
|
|
89
90
|
}
|
|
90
91
|
} : undefined);
|
|
91
92
|
}
|
|
93
|
+
if (propDef.type === "mediaReference") {
|
|
94
|
+
return new MediaReferencePropertyImpl({
|
|
95
|
+
client,
|
|
96
|
+
objectApiName: objectDef.apiName,
|
|
97
|
+
primaryKey: rawObject[objectDef.primaryKeyApiName],
|
|
98
|
+
propertyName: p
|
|
99
|
+
});
|
|
100
|
+
}
|
|
92
101
|
}
|
|
93
102
|
}
|
|
94
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createOsdkObject.js","names":["invariant","GeotimeSeriesPropertyImpl","TimeSeriesPropertyImpl","hydrateAttachmentFromRidInternal","get$as","get$link","ClientRef","ObjectDefRef","UnderlyingOsdkObject","specialPropertyTypes","Set","basePropDefs","get","createOsdkObject","client","objectDef","rawObj","Object","defineProperties","enumerable","value","propKey","keys","properties","type","has","createSpecialProperty","freeze","rawObject","p","rawValue","propDef","process","env","NODE_ENV","Array","isArray","map","a","rid","apiName","primaryKeyApiName","time","timestamp","coordinates","position","undefined"],"sources":["createOsdkObject.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport invariant from \"tiny-invariant\";\nimport { GeotimeSeriesPropertyImpl } from \"../../createGeotimeSeriesProperty.js\";\nimport { TimeSeriesPropertyImpl } from \"../../createTimeseriesProperty.js\";\nimport { hydrateAttachmentFromRidInternal } from \"../../public-utils/hydrateAttachmentFromRid.js\";\nimport { get$as } from \"./getDollarAs.js\";\nimport { get$link } from \"./getDollarLink.js\";\nimport { ClientRef, ObjectDefRef, UnderlyingOsdkObject, } from \"./InternalSymbols.js\";\nconst specialPropertyTypes = new Set([\n \"attachment\",\n \"geotimeSeriesReference\",\n \"numericTimeseries\",\n \"stringTimeseries\",\n \"sensorTimeseries\",\n]);\n// kept separate so we are not redefining these functions\n// every time an object is created.\nconst basePropDefs = {\n \"$as\": {\n get: function () {\n return get$as(this[ObjectDefRef]);\n },\n },\n \"$link\": {\n get: function () {\n return get$link(this);\n },\n },\n};\n/** @internal */\nexport function createOsdkObject(client, objectDef, rawObj) {\n // updates the object's \"hidden class/map\".\n Object.defineProperties(rawObj, {\n [UnderlyingOsdkObject]: {\n enumerable: false,\n value: rawObj,\n },\n [ObjectDefRef]: { value: objectDef, enumerable: false },\n [ClientRef]: { value: client, enumerable: false },\n ...basePropDefs,\n });\n // Assign the special values\n for (const propKey of Object.keys(rawObj)) {\n if (propKey in objectDef.properties\n && typeof (objectDef.properties[propKey].type) === \"string\"\n && specialPropertyTypes.has(objectDef.properties[propKey].type)) {\n rawObj[propKey] = createSpecialProperty(client, objectDef, rawObj, propKey);\n }\n }\n return Object.freeze(rawObj);\n}\nfunction createSpecialProperty(client, objectDef, rawObject, p) {\n const rawValue = rawObject[p];\n const propDef = objectDef.properties[p];\n if (process.env.NODE_ENV !== \"production\") {\n invariant(propDef != null && typeof propDef.type === \"string\"\n && specialPropertyTypes.has(propDef.type));\n }\n {\n {\n {\n {\n if (propDef.type === \"attachment\") {\n if (Array.isArray(rawValue)) {\n return rawValue.map(a => hydrateAttachmentFromRidInternal(client, a.rid));\n }\n return hydrateAttachmentFromRidInternal(client, rawValue.rid);\n }\n if (propDef.type === \"numericTimeseries\"\n || propDef.type === \"stringTimeseries\"\n || propDef.type === \"sensorTimeseries\") {\n return new TimeSeriesPropertyImpl(client, objectDef.apiName, rawObject[objectDef.primaryKeyApiName], p);\n }\n if (propDef.type === \"geotimeSeriesReference\") {\n return new GeotimeSeriesPropertyImpl(client, objectDef.apiName, rawObject[objectDef.primaryKeyApiName], p, rawValue.type === \"geotimeSeriesValue\"\n ? {\n time: rawValue.timestamp,\n value: {\n type: \"Point\",\n coordinates: rawValue.position,\n },\n }\n : undefined);\n }\n }\n }\n }\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,SAAS,MAAM,gBAAgB;AACtC,SAASC,yBAAyB,QAAQ,sCAAsC;AAChF,SAASC,sBAAsB,QAAQ,mCAAmC;AAC1E,SAASC,gCAAgC,QAAQ,gDAAgD;AACjG,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,SAAS,EAAEC,YAAY,EAAEC,oBAAoB,QAAS,sBAAsB;AACrF,MAAMC,oBAAoB,GAAG,IAAIC,GAAG,CAAC,CACjC,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,CACrB,CAAC;AACF;AACA;AACA,MAAMC,YAAY,GAAG;EACjB,KAAK,EAAE;IACHC,GAAG,EAAE,SAAAA,CAAA,EAAY;MACb,OAAOR,MAAM,CAAC,IAAI,CAACG,YAAY,CAAC,CAAC;IACrC;EACJ,CAAC;EACD,OAAO,EAAE;IACLK,GAAG,EAAE,SAAAA,CAAA,EAAY;MACb,OAAOP,QAAQ,CAAC,IAAI,CAAC;IACzB;EACJ;AACJ,CAAC;AACD;AACA,OAAO,SAASQ,gBAAgBA,CAACC,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAE;EACxD;EACAC,MAAM,CAACC,gBAAgB,CAACF,MAAM,EAAE;IAC5B,CAACR,oBAAoB,GAAG;MACpBW,UAAU,EAAE,KAAK;MACjBC,KAAK,EAAEJ;IACX,CAAC;IACD,CAACT,YAAY,GAAG;MAAEa,KAAK,EAAEL,SAAS;MAAEI,UAAU,EAAE;IAAM,CAAC;IACvD,CAACb,SAAS,GAAG;MAAEc,KAAK,EAAEN,MAAM;MAAEK,UAAU,EAAE;IAAM,CAAC;IACjD,GAAGR;EACP,CAAC,CAAC;EACF;EACA,KAAK,MAAMU,OAAO,IAAIJ,MAAM,CAACK,IAAI,CAACN,MAAM,CAAC,EAAE;IACvC,IAAIK,OAAO,IAAIN,SAAS,CAACQ,UAAU,IAC5B,OAAQR,SAAS,CAACQ,UAAU,CAACF,OAAO,CAAC,CAACG,IAAK,KAAK,QAAQ,IACxDf,oBAAoB,CAACgB,GAAG,CAACV,SAAS,CAACQ,UAAU,CAACF,OAAO,CAAC,CAACG,IAAI,CAAC,EAAE;MACjER,MAAM,CAACK,OAAO,CAAC,GAAGK,qBAAqB,CAACZ,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEK,OAAO,CAAC;IAC/E;EACJ;EACA,OAAOJ,MAAM,CAACU,MAAM,CAACX,MAAM,CAAC;AAChC;AACA,SAASU,qBAAqBA,CAACZ,MAAM,EAAEC,SAAS,EAAEa,SAAS,EAAEC,CAAC,EAAE;EAC5D,MAAMC,QAAQ,GAAGF,SAAS,CAACC,CAAC,CAAC;EAC7B,MAAME,OAAO,GAAGhB,SAAS,CAACQ,UAAU,CAACM,CAAC,CAAC;EACvC,IAAIG,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACvC,EAAUH,OAAO,IAAI,IAAI,IAAI,OAAOA,OAAO,CAACP,IAAI,KAAK,QAAQ,IACtDf,oBAAoB,CAACgB,GAAG,CAACM,OAAO,CAACP,IAAI,CAAC,IAAAQ,OAAA,CAAAC,GAAA,CAAAC,QAAA,
|
|
1
|
+
{"version":3,"file":"createOsdkObject.js","names":["invariant","GeotimeSeriesPropertyImpl","MediaReferencePropertyImpl","TimeSeriesPropertyImpl","hydrateAttachmentFromRidInternal","get$as","get$link","ClientRef","ObjectDefRef","UnderlyingOsdkObject","specialPropertyTypes","Set","basePropDefs","get","createOsdkObject","client","objectDef","rawObj","Object","defineProperties","enumerable","value","propKey","keys","properties","type","has","createSpecialProperty","freeze","rawObject","p","rawValue","propDef","process","env","NODE_ENV","Array","isArray","map","a","rid","apiName","primaryKeyApiName","time","timestamp","coordinates","position","undefined","objectApiName","primaryKey","propertyName"],"sources":["createOsdkObject.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport invariant from \"tiny-invariant\";\nimport { GeotimeSeriesPropertyImpl } from \"../../createGeotimeSeriesProperty.js\";\nimport { MediaReferencePropertyImpl } from \"../../createMediaReferenceProperty.js\";\nimport { TimeSeriesPropertyImpl } from \"../../createTimeseriesProperty.js\";\nimport { hydrateAttachmentFromRidInternal } from \"../../public-utils/hydrateAttachmentFromRid.js\";\nimport { get$as } from \"./getDollarAs.js\";\nimport { get$link } from \"./getDollarLink.js\";\nimport { ClientRef, ObjectDefRef, UnderlyingOsdkObject, } from \"./InternalSymbols.js\";\nconst specialPropertyTypes = new Set([\n \"attachment\",\n \"geotimeSeriesReference\",\n \"mediaReference\",\n \"numericTimeseries\",\n \"stringTimeseries\",\n \"sensorTimeseries\",\n]);\n// kept separate so we are not redefining these functions\n// every time an object is created.\nconst basePropDefs = {\n \"$as\": {\n get: function () {\n return get$as(this[ObjectDefRef]);\n },\n },\n \"$link\": {\n get: function () {\n return get$link(this);\n },\n },\n};\n/** @internal */\nexport function createOsdkObject(client, objectDef, rawObj) {\n // updates the object's \"hidden class/map\".\n Object.defineProperties(rawObj, {\n [UnderlyingOsdkObject]: {\n enumerable: false,\n value: rawObj,\n },\n [ObjectDefRef]: { value: objectDef, enumerable: false },\n [ClientRef]: { value: client, enumerable: false },\n ...basePropDefs,\n });\n // Assign the special values\n for (const propKey of Object.keys(rawObj)) {\n if (propKey in objectDef.properties\n && typeof (objectDef.properties[propKey].type) === \"string\"\n && specialPropertyTypes.has(objectDef.properties[propKey].type)) {\n rawObj[propKey] = createSpecialProperty(client, objectDef, rawObj, propKey);\n }\n }\n return Object.freeze(rawObj);\n}\nfunction createSpecialProperty(client, objectDef, rawObject, p) {\n const rawValue = rawObject[p];\n const propDef = objectDef.properties[p];\n if (process.env.NODE_ENV !== \"production\") {\n invariant(propDef != null && typeof propDef.type === \"string\"\n && specialPropertyTypes.has(propDef.type));\n }\n {\n {\n {\n {\n if (propDef.type === \"attachment\") {\n if (Array.isArray(rawValue)) {\n return rawValue.map(a => hydrateAttachmentFromRidInternal(client, a.rid));\n }\n return hydrateAttachmentFromRidInternal(client, rawValue.rid);\n }\n if (propDef.type === \"numericTimeseries\"\n || propDef.type === \"stringTimeseries\"\n || propDef.type === \"sensorTimeseries\") {\n return new TimeSeriesPropertyImpl(client, objectDef.apiName, rawObject[objectDef.primaryKeyApiName], p);\n }\n if (propDef.type === \"geotimeSeriesReference\") {\n return new GeotimeSeriesPropertyImpl(client, objectDef.apiName, rawObject[objectDef.primaryKeyApiName], p, rawValue.type === \"geotimeSeriesValue\"\n ? {\n time: rawValue.timestamp,\n value: {\n type: \"Point\",\n coordinates: rawValue.position,\n },\n }\n : undefined);\n }\n if (propDef.type === \"mediaReference\") {\n return new MediaReferencePropertyImpl({\n client,\n objectApiName: objectDef.apiName,\n primaryKey: rawObject[objectDef.primaryKeyApiName],\n propertyName: p,\n });\n }\n }\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -98,6 +98,24 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
98
98
|
expect(emptyAttachment).toBeUndefined();
|
|
99
99
|
expect(emptyAttachmentArray).toBeUndefined();
|
|
100
100
|
});
|
|
101
|
+
it("converts media as expected", async () => {
|
|
102
|
+
const withValues = await client(objectTypeWithAllPropertyTypes).where({
|
|
103
|
+
id: 1
|
|
104
|
+
}).fetchPage();
|
|
105
|
+
expect(withValues.data.length).toBeGreaterThanOrEqual(1);
|
|
106
|
+
const {
|
|
107
|
+
mediaReference
|
|
108
|
+
} = withValues.data[0];
|
|
109
|
+
expectTypeOf(mediaReference).toMatchTypeOf;
|
|
110
|
+
expect(mediaReference).toBeDefined();
|
|
111
|
+
const withoutValues = await client(objectTypeWithAllPropertyTypes).where({
|
|
112
|
+
id: 2
|
|
113
|
+
}).fetchPage();
|
|
114
|
+
const {
|
|
115
|
+
mediaReference: emptyMedia
|
|
116
|
+
} = withoutValues.data[0];
|
|
117
|
+
expect(emptyMedia).toBeUndefined();
|
|
118
|
+
});
|
|
101
119
|
it("creates immutable objects", async () => {
|
|
102
120
|
const employees = await client(Employee).fetchPage();
|
|
103
121
|
expect(employees.data.length).toBeGreaterThanOrEqual(2);
|