@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.
Files changed (70) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/build/browser/__unstable/ConjureSupport.d.ts.map +1 -1
  3. package/build/browser/__unstable/ConjureSupport.js +4 -1
  4. package/build/browser/__unstable/ConjureSupport.js.map +1 -1
  5. package/build/browser/actions/actions.test.js +20 -4
  6. package/build/browser/actions/actions.test.js.map +1 -1
  7. package/build/browser/actions/applyAction.d.ts +1 -1
  8. package/build/browser/actions/applyAction.d.ts.map +1 -1
  9. package/build/browser/createMediaReferenceProperty.d.ts +14 -0
  10. package/build/browser/createMediaReferenceProperty.d.ts.map +1 -0
  11. package/build/browser/createMediaReferenceProperty.js +46 -0
  12. package/build/browser/createMediaReferenceProperty.js.map +1 -0
  13. package/build/browser/intellisense.test.js +1 -1
  14. package/build/browser/intellisense.test.js.map +1 -1
  15. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +10 -1
  16. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  17. package/build/browser/object/convertWireToOsdkObjects.test.js +18 -0
  18. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  19. package/build/browser/object/media.test.d.ts +2 -0
  20. package/build/browser/object/media.test.d.ts.map +1 -0
  21. package/build/browser/object/media.test.js +54 -0
  22. package/build/browser/object/media.test.js.map +1 -0
  23. package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts +2 -2
  24. package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -1
  25. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +1 -1
  26. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -1
  27. package/build/browser/public-utils/hydrateAttachmentFromRid.d.ts +1 -1
  28. package/build/browser/public-utils/hydrateAttachmentFromRid.js +1 -1
  29. package/build/browser/public-utils/hydrateAttachmentFromRid.js.map +1 -1
  30. package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts +7 -7
  31. package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -1
  32. package/build/browser/public-utils/hydrateObjectSetFromRid.js +5 -5
  33. package/build/browser/public-utils/hydrateObjectSetFromRid.js.map +1 -1
  34. package/build/browser/util/UserAgent.js +1 -1
  35. package/build/browser/util/datetimeConverters.d.ts.map +1 -1
  36. package/build/esm/__unstable/ConjureSupport.d.ts.map +1 -1
  37. package/build/esm/__unstable/ConjureSupport.js +4 -1
  38. package/build/esm/__unstable/ConjureSupport.js.map +1 -1
  39. package/build/esm/actions/actions.test.js +20 -4
  40. package/build/esm/actions/actions.test.js.map +1 -1
  41. package/build/esm/actions/applyAction.d.ts +1 -1
  42. package/build/esm/actions/applyAction.d.ts.map +1 -1
  43. package/build/esm/createMediaReferenceProperty.d.ts +14 -0
  44. package/build/esm/createMediaReferenceProperty.d.ts.map +1 -0
  45. package/build/esm/createMediaReferenceProperty.js +46 -0
  46. package/build/esm/createMediaReferenceProperty.js.map +1 -0
  47. package/build/esm/intellisense.test.js +1 -1
  48. package/build/esm/intellisense.test.js.map +1 -1
  49. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +10 -1
  50. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  51. package/build/esm/object/convertWireToOsdkObjects.test.js +18 -0
  52. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  53. package/build/esm/object/media.test.d.ts +2 -0
  54. package/build/esm/object/media.test.d.ts.map +1 -0
  55. package/build/esm/object/media.test.js +54 -0
  56. package/build/esm/object/media.test.js.map +1 -0
  57. package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts +2 -2
  58. package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -1
  59. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +1 -1
  60. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -1
  61. package/build/esm/public-utils/hydrateAttachmentFromRid.d.ts +1 -1
  62. package/build/esm/public-utils/hydrateAttachmentFromRid.js +1 -1
  63. package/build/esm/public-utils/hydrateAttachmentFromRid.js.map +1 -1
  64. package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts +7 -7
  65. package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -1
  66. package/build/esm/public-utils/hydrateObjectSetFromRid.js +5 -5
  67. package/build/esm/public-utils/hydrateObjectSetFromRid.js.map +1 -1
  68. package/build/esm/util/UserAgent.js +1 -1
  69. package/build/esm/util/datetimeConverters.d.ts.map +1 -1
  70. 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;IA4HF,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"}
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":"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","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
- expectTypeOf().toBeCallableWith([{
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":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,YAAY,EAAEC,qBAAqB,EAAEC,YAAY,EAAEC,kBAAkB,EAAEC,UAAU,QAAS,4BAA4B;AACzI,SAASC,SAAS,EAAEC,QAAQ,QAAQ,mBAAmB;AACvD,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,YAAY,EAAEC,EAAE,EAAEC,EAAE,QAAS,QAAQ;AACrF,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,sBAAsB,QAAQ,+BAA+B;AACtE,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,mBAAmB,QAAQ,kBAAkB;AACtDR,QAAQ,CAAC,SAAS,EAAE,MAAM;EACtB,IAAIS,MAAM;EACV,IAAIC,sBAAsB;EAC1BX,SAAS,CAAC,YAAY;IAClBH,SAAS,CAACe,MAAM,CAAC,CAAC;IAClBF,MAAM,GAAGJ,YAAY,CAAC,4BAA4B,EAAEd,YAAY,EAAE,YAAY,eAAe,CAAC;IAC9FmB,sBAAsB,GAAGL,YAAY,CAAC,sDAAsD,EAAEd,YAAY,EAAE,YAAY,eAAe,CAAC;EAC5I,CAAC,CAAC;EACFO,QAAQ,CAAC,MAAM;IACXF,SAAS,CAACgB,KAAK,CAAC,CAAC;EACrB,CAAC,CAAC;EACFT,EAAE,CAAC,iCAAiC,EAAE,YAAY;IAC9C,MAAMU,MAAM,GAAG,MAAMJ,MAAM,CAAChB,YAAY,CAAC,CAACqB,WAAW,CAAC;MAClDC,QAAQ,EAAE,KAAK;MACfC,OAAO,EAAE,iBAAiB;MAC1BC,QAAQ,EAAE;IACd,CAAC,EAAE;MAAEC,YAAY,EAAE;IAAK,CAAC,CAAC;IAC1BhB,YAAY,CAAC,CAAC,CAACiB,aAAa,CAAC,CAAC;IAC9BlB,MAAM,CAACY,MAAM,CAAC,CAACO,qBAAqB,CAAC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;IACE;IACA,MAAMC,eAAe,GAAG,MAAMZ,MAAM,CAAChB,YAAY,CAAC,CAACqB,WAAW,CAAC;MAC3DC,QAAQ,EAAE,KAAK;MACfC,OAAO,EAAE,iBAAiB;MAC1BC,QAAQ,EAAE;IACd,CAAC,CAAC;IACFf,YAAY,CAAC,CAAC,CAACiB,aAAa,CAAC,CAAC;IAC9BlB,MAAM,CAACoB,eAAe,CAAC,CAACC,aAAa,CAAC,CAAC;IACZb,MAAM,CAAChB,YAAY,CAAC,CAAC8B,gBAAgB;IAChE,MAAMC,sBAAsB,GAAGpB,EAAE,CAACqB,EAAE,CAAC,CAAC;IACtC,KAAKD,sBAAsB,CAAC,CAAC;MACrBT,QAAQ,EAAE,KAAK;MACfC,OAAO,EAAE,iBAAiB;MAC1BC,QAAQ,EAAE;IACd,CAAC,CAAC,EAAE;MAAEC,YAAY,EAAE;IAAK,CAAC,CAAC;EACnC,CAAC,CAAC;EACFf,EAAE,CAAC,kDAAkD,EAAE,YAAY;IAC/D,MAAMU,MAAM,GAAG,MAAMJ,MAAM,CAACd,UAAU,CAAC,CAACmB,WAAW,CAAC;MAChDC,QAAQ,EAAE,KAAK;MACfW,UAAU,EAAE,gBAAgB;MAC5BC,WAAW,EAAE;IACjB,CAAC,EAAE;MACCC,aAAa,EAAE;IACnB,CAAC,CAAC;IACF1B,YAAY,CAAC,CAAC,CAACiB,aAAa,CAAC,CAAC;IAC9BlB,MAAM,CAACY,MAAM,CAAC,CAACO,qBAAqB,CAAC;AAC7C;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACJ,CAAC,CAAC;EACFjB,EAAE,CAAC,kFAAkF,EAAE,YAAY;IAC/F,MAAMU,MAAM,GAAG,MAAMH,sBAAsB,CAACf,UAAU,CAAC,CAACmB,WAAW,CAAC;MAChEC,QAAQ,EAAE,KAAK;MACfW,UAAU,EAAE,gBAAgB;MAC5BC,WAAW,EAAE;IACjB,CAAC,EAAE;MACCC,aAAa,EAAE;IACnB,CAAC,CAAC;IACF1B,YAAY,CAAC,CAAC,CAACiB,aAAa,CAAC,CAAC;IAC9BlB,MAAM,CAACY,MAAM,CAAC,CAACO,qBAAqB,CAAC;AAC7C;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACJ,CAAC,CAAC;EACFjB,EAAE,CAAC,6BAA6B,EAAE,YAAY;IAC1C,IAAI;MACe,MAAMM,MAAM,CAACd,UAAU,CAAC,CAACmB,WAAW,CAAC;QAChDC,QAAQ,EAAE,KAAK;QACfW,UAAU,EAAE,gBAAgB;QAC5BC,WAAW,EAAE;MACjB,CAAC,EAAE;QACCT,YAAY,EAAE;MAClB,CAAC,CAAC;MACFjB,MAAM,CAAC4B,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC,CACD,OAAOC,CAAC,EAAE;MACN7B,MAAM,CAAC6B,CAAC,CAAC,CAACC,cAAc,CAACxB,qBAAqB,CAAC;MAC/CN,MAAM,CAAC6B,CAAC,CAACE,UAAU,CAAC,CAACZ,qBAAqB,CAAC;AACvD;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACA;EACJ,CAAC,CAAC;EACFjB,EAAE,CAAC,iBAAiB,EAAE,YAAY;IACOM,MAAM,CAACf,kBAAkB,CAAC,CAACoB,WAAW;IAC3EZ,YAAY,CAAC,CAAC,CACT+B,aAAa,CAAC,CAAC;IACpB,MAAMpB,MAAM,GAAG,MAAMJ,MAAM,CAACf,kBAAkB,CAAC,CAACoB,WAAW,CAAC;MACxDoB,IAAI,EAAE,SAAS;MACflB,OAAO,EAAE;QAAEmB,IAAI,EAAE,KAAK;QAAEC,KAAK,EAAE,IAAI;QAAEC,OAAO,EAAE;MAAM;IACxD,CAAC,CAAC;IACFnC,YAAY,CAAC,CAAC,CAACiB,aAAa,CAAC,CAAC;IAC9BlB,MAAM,CAACY,MAAM,CAAC,CAACS,aAAa,CAAC,CAAC;EAClC,CAAC,CAAC;EACFnB,EAAE,CAAC,qBAAqB,EAAE,YAAY;IACOM,MAAM,CAACjB,qBAAqB,CAAC,CAACsB,WAAW;IAClFZ,YAAY,CAAC,CAAC,CAAC+B,aAAa,CAAC,CAAC;IACgBxB,MAAM,CAACjB,qBAAqB,CAAC,CAAC+B,gBAAgB;IAC5FrB,YAAY,CAAC,CAAC,CAAC+B,aAAa,CAAC,CAAC;IAC9B,MAAMpB,MAAM,GAAG,MAAMJ,MAAM,CAACjB,qBAAqB,CAAC,CAACsB,WAAW,CAAC;MAC3DwB,UAAU,EAAE;IAChB,CAAC,CAAC;IACFpC,YAAY,CAAC,CAAC,CAACiB,aAAa,CAAC,CAAC;IAC9BlB,MAAM,CAACY,MAAM,CAAC,CAACS,aAAa,CAAC,CAAC;EAClC,CAAC,CAAC;EACFnB,EAAE,CAAC,4BAA4B,EAAE,YAAY;IACAM,MAAM,CAACjB,qBAAqB,CAAC,CAACsB,WAAW;IACpCL,MAAM,CAACjB,qBAAqB,CAAC,CAAC+B,gBAAgB;IAC5FrB,YAAY,CAAC,CAAC,CAAC+B,aAAa,CAAC,CAAC;IAC9B/B,YAAY,CAAC,CAAC,CAAC+B,aAAa,CAAC,CAAC;IAC9B,MAAMM,IAAI,GAAG1C,QAAQ,CAAC2C,2BAA2B,CAAC3C,QAAQ,CAAC4C,gBAAgB,CAACC,QAAQ,CAAC;IACrF,MAAMJ,UAAU,GAAGhC,sBAAsB,CAACiC,IAAI,EAAE,WAAW,CAAC;IAC5D;IACA,MAAMI,cAAc,GAAGC,MAAM,CAACC,MAAM,CAACN,IAAI,EAAE;MAAEL,IAAI,EAAE;IAAY,CAAC,CAAC;IACjE,MAAMrB,MAAM,GAAG,MAAMJ,MAAM,CAACjB,qBAAqB,CAAC,CAACsB,WAAW,CAAC;MAC3DwB;IACJ,CAAC,CAAC;IACF,MAAMQ,OAAO,GAAG,MAAMrC,MAAM,CAACjB,qBAAqB,CAAC,CAACsB,WAAW,CAAC;MAC5DwB,UAAU,EAAEK;IAChB,CAAC,CAAC;IACFzC,YAAY,CAAC,CAAC,CAACiB,aAAa,CAAC,CAAC;IAC9BlB,MAAM,CAACY,MAAM,CAAC,CAACS,aAAa,CAAC,CAAC;IAC9BpB,YAAY,CAAC,CAAC,CAACiB,aAAa,CAAC,CAAC;IAC9BlB,MAAM,CAAC6C,OAAO,CAAC,CAACxB,aAAa,CAAC,CAAC;EACnC,CAAC,CAAC;EACFnB,EAAE,CAAC,2CAA2C,EAAE,YAAY;IACxD,MAAMU,MAAM,GAAG,MAAMJ,MAAM,CAACd,UAAU,CAAC,CAAC4B,gBAAgB,CAAC,CACrD;MACIR,QAAQ,EAAE,KAAK;MACfW,UAAU,EAAE,gBAAgB;MAC5BC,WAAW,EAAE;IACjB,CAAC,EACD;MACIZ,QAAQ,EAAE,KAAK;MACfW,UAAU,EAAE,iBAAiB;MAC7BC,WAAW,EAAE;IACjB,CAAC,CACJ,EAAE;MAAET,YAAY,EAAE;IAAK,CAAC,CAAC;IAC1BjB,MAAM,CAACY,MAAM,CAAC,CAACO,qBAAqB,CAAC;AAC7C;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;AACN,CAAC,CAAC;AACFpB,QAAQ,CAAC,0BAA0B,EAAE,MAAM;EACvC,MAAM+C,cAAc,GAAG;IACnBC,KAAK,EAAE;MACHC,IAAI,EAAE,OAAO;MACbD,KAAK,EAAE,CAAC;QACA,YAAY,EAAE,WAAW;QACzB,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE;MACZ,CAAC,EAAE;QACC,YAAY,EAAE,YAAY;QAC1B,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE;MACZ,CAAC,EAAE;QACC,aAAa,EAAE;UAAE,YAAY,EAAE,MAAM;UAAE,YAAY,EAAE;QAAS,CAAC;QAC/D,qBAAqB,EAAE,MAAM;QAC7B,qBAAqB,EAAE,MAAM;QAC7B,aAAa,EAAE;UAAE,YAAY,EAAE,MAAM;UAAE,YAAY,EAAE;QAAW,CAAC;QACjE,MAAM,EAAE;MACZ,CAAC,CAAC;MACNE,iBAAiB,EAAE,CAAC;MACpBC,mBAAmB,EAAE,CAAC;MACtBC,gBAAgB,EAAE,CAAC;MACnBC,oBAAoB,EAAE,CAAC;MACvBC,eAAe,EAAE;IACrB;EACJ,CAAC;EACD,MAAMC,mBAAmB,GAAG;IACxBP,KAAK,EAAE;MACHC,IAAI,EAAE,OAAO;MACbD,KAAK,EAAE,CAAC;QACA,YAAY,EAAE,WAAW;QACzB,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE;MACZ,CAAC,EAAE;QACC,YAAY,EAAE,YAAY;QAC1B,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE;MACZ,CAAC,EAAE;QACC,aAAa,EAAE;UAAE,YAAY,EAAE,MAAM;UAAE,YAAY,EAAE;QAAS,CAAC;QAC/D,qBAAqB,EAAE,MAAM;QAC7B,qBAAqB,EAAE,MAAM;QAC7B,aAAa,EAAE;UAAE,YAAY,EAAE,MAAM;UAAE,YAAY,EAAE;QAAW,CAAC;QACjE,MAAM,EAAE;MACZ,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":[]}
@@ -71,7 +71,7 @@ describe("intellisense", () => {
71
71
  tsServer = undefined;
72
72
  });
73
73
  it("callsQueryAcceptsObject", {
74
- timeout: 20_000
74
+ timeout: 40_000
75
75
  }, async () => {
76
76
  const {
77
77
  resp
@@ -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: 20_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":[]}
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,oBAD7ClC,SAAS,UAATA,SAAS;EAEb;EACA;IACI;MACI;QACI;UACI,IAAI+B,OAAO,CAACP,IAAI,KAAK,YAAY,EAAE;YAC/B,IAAIW,KAAK,CAACC,OAAO,CAACN,QAAQ,CAAC,EAAE;cACzB,OAAOA,QAAQ,CAACO,GAAG,CAACC,CAAC,IAAInC,gCAAgC,CAACW,MAAM,EAAEwB,CAAC,CAACC,GAAG,CAAC,CAAC;YAC7E;YACA,OAAOpC,gCAAgC,CAACW,MAAM,EAAEgB,QAAQ,CAACS,GAAG,CAAC;UACjE;UACA,IAAIR,OAAO,CAACP,IAAI,KAAK,mBAAmB,IACjCO,OAAO,CAACP,IAAI,KAAK,kBAAkB,IACnCO,OAAO,CAACP,IAAI,KAAK,kBAAkB,EAAE;YACxC,OAAO,IAAItB,sBAAsB,CAACY,MAAM,EAAEC,SAAS,CAACyB,OAAO,EAAEZ,SAAS,CAACb,SAAS,CAAC0B,iBAAiB,CAAC,EAAEZ,CAAC,CAAC;UAC3G;UACA,IAAIE,OAAO,CAACP,IAAI,KAAK,wBAAwB,EAAE;YAC3C,OAAO,IAAIvB,yBAAyB,CAACa,MAAM,EAAEC,SAAS,CAACyB,OAAO,EAAEZ,SAAS,CAACb,SAAS,CAAC0B,iBAAiB,CAAC,EAAEZ,CAAC,EAAEC,QAAQ,CAACN,IAAI,KAAK,oBAAoB,GAC3I;cACEkB,IAAI,EAAEZ,QAAQ,CAACa,SAAS;cACxBvB,KAAK,EAAE;gBACHI,IAAI,EAAE,OAAO;gBACboB,WAAW,EAAEd,QAAQ,CAACe;cAC1B;YACJ,CAAC,GACCC,SAAS,CAAC;UACpB;QACJ;MACJ;IACJ;EACJ;AACJ","ignoreList":[]}
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":"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,0BAA0B,QAAQ,uCAAuC;AAClF,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,gBAAgB,EAChB,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,oBAD7CnC,SAAS,UAATA,SAAS;EAEb;EACA;IACI;MACI;QACI;UACI,IAAIgC,OAAO,CAACP,IAAI,KAAK,YAAY,EAAE;YAC/B,IAAIW,KAAK,CAACC,OAAO,CAACN,QAAQ,CAAC,EAAE;cACzB,OAAOA,QAAQ,CAACO,GAAG,CAACC,CAAC,IAAInC,gCAAgC,CAACW,MAAM,EAAEwB,CAAC,CAACC,GAAG,CAAC,CAAC;YAC7E;YACA,OAAOpC,gCAAgC,CAACW,MAAM,EAAEgB,QAAQ,CAACS,GAAG,CAAC;UACjE;UACA,IAAIR,OAAO,CAACP,IAAI,KAAK,mBAAmB,IACjCO,OAAO,CAACP,IAAI,KAAK,kBAAkB,IACnCO,OAAO,CAACP,IAAI,KAAK,kBAAkB,EAAE;YACxC,OAAO,IAAItB,sBAAsB,CAACY,MAAM,EAAEC,SAAS,CAACyB,OAAO,EAAEZ,SAAS,CAACb,SAAS,CAAC0B,iBAAiB,CAAC,EAAEZ,CAAC,CAAC;UAC3G;UACA,IAAIE,OAAO,CAACP,IAAI,KAAK,wBAAwB,EAAE;YAC3C,OAAO,IAAIxB,yBAAyB,CAACc,MAAM,EAAEC,SAAS,CAACyB,OAAO,EAAEZ,SAAS,CAACb,SAAS,CAAC0B,iBAAiB,CAAC,EAAEZ,CAAC,EAAEC,QAAQ,CAACN,IAAI,KAAK,oBAAoB,GAC3I;cACEkB,IAAI,EAAEZ,QAAQ,CAACa,SAAS;cACxBvB,KAAK,EAAE;gBACHI,IAAI,EAAE,OAAO;gBACboB,WAAW,EAAEd,QAAQ,CAACe;cAC1B;YACJ,CAAC,GACCC,SAAS,CAAC;UACpB;UACA,IAAIf,OAAO,CAACP,IAAI,KAAK,gBAAgB,EAAE;YACnC,OAAO,IAAIvB,0BAA0B,CAAC;cAClCa,MAAM;cACNiC,aAAa,EAAEhC,SAAS,CAACyB,OAAO;cAChCQ,UAAU,EAAEpB,SAAS,CAACb,SAAS,CAAC0B,iBAAiB,CAAC;cAClDQ,YAAY,EAAEpB;YAClB,CAAC,CAAC;UACN;QACJ;MACJ;IACJ;EACJ;AACJ","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);