@osdk/client 2.5.0-rc.15 → 2.6.0-beta.2

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 (167) hide show
  1. package/CHANGELOG.md +28 -6
  2. package/build/browser/Client.js +1 -1
  3. package/build/browser/Client.js.map +1 -1
  4. package/build/browser/MinimalClientContext.js.map +1 -1
  5. package/build/browser/actions/applyAction.js +4 -0
  6. package/build/browser/actions/applyAction.js.map +1 -1
  7. package/build/browser/createClient.js +2 -1
  8. package/build/browser/createClient.js.map +1 -1
  9. package/build/browser/createMinimalClient.js +3 -1
  10. package/build/browser/createMinimalClient.js.map +1 -1
  11. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js +17 -0
  12. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  13. package/build/browser/fetchMetadata.test.js +11 -0
  14. package/build/browser/fetchMetadata.test.js.map +1 -1
  15. package/build/browser/index.js +2 -2
  16. package/build/browser/index.js.map +1 -1
  17. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +15 -0
  18. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  19. package/build/browser/object/aggregate.js +2 -0
  20. package/build/browser/object/aggregate.js.map +1 -1
  21. package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
  22. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  23. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +4 -0
  24. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  25. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +10 -0
  26. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  27. package/build/browser/object/convertWireToOsdkObjects.test.js +12 -0
  28. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  29. package/build/browser/object/fetchPage.js +8 -4
  30. package/build/browser/object/fetchPage.js.map +1 -1
  31. package/build/browser/object/formatting/applyPropertyFormatter.js +52 -0
  32. package/build/browser/object/formatting/applyPropertyFormatter.js.map +1 -0
  33. package/build/browser/object/formatting/applyPropertyFormatter.test.js +423 -0
  34. package/build/browser/object/formatting/applyPropertyFormatter.test.js.map +1 -0
  35. package/build/browser/object/formatting/formatBoolean.js +23 -0
  36. package/build/browser/object/formatting/formatBoolean.js.map +1 -0
  37. package/build/browser/object/formatting/formatNumber.js +242 -0
  38. package/build/browser/object/formatting/formatNumber.js.map +1 -0
  39. package/build/browser/object/formatting/propertyFormattingUtils.js +39 -0
  40. package/build/browser/object/formatting/propertyFormattingUtils.js.map +1 -0
  41. package/build/browser/object/mediaUpload.js +3 -0
  42. package/build/browser/object/mediaUpload.js.map +1 -1
  43. package/build/browser/objectSet/createObjectSet.js +11 -0
  44. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  45. package/build/browser/observable/internal/objectMatchesWhereClause.test.js +2 -1
  46. package/build/browser/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
  47. package/build/browser/observable/internal/testUtils.js +2 -1
  48. package/build/browser/observable/internal/testUtils.js.map +1 -1
  49. package/build/browser/ontology/loadActionMetadata.js +3 -1
  50. package/build/browser/ontology/loadActionMetadata.js.map +1 -1
  51. package/build/browser/ontology/loadFullObjectMetadata.js +2 -1
  52. package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
  53. package/build/browser/ontology/loadInterfaceMetadata.js +2 -1
  54. package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -1
  55. package/build/browser/queries/applyQuery.js +5 -4
  56. package/build/browser/queries/applyQuery.js.map +1 -1
  57. package/build/browser/util/UserAgent.js +2 -2
  58. package/build/browser/util/UserAgent.js.map +1 -1
  59. package/build/browser/util/extractObjectOrInterfaceType.js +5 -1
  60. package/build/browser/util/extractObjectOrInterfaceType.js.map +1 -1
  61. package/build/browser/util/extractObjectOrInterfaceType.test.js +21 -2
  62. package/build/browser/util/extractObjectOrInterfaceType.test.js.map +1 -1
  63. package/build/browser/util/toDataValue.js +15 -1
  64. package/build/browser/util/toDataValue.js.map +1 -1
  65. package/build/browser/util/toDataValue.test.js +42 -2
  66. package/build/browser/util/toDataValue.test.js.map +1 -1
  67. package/build/cjs/{chunk-KODTFRP3.cjs → chunk-6L3MX4LH.cjs} +106 -49
  68. package/build/cjs/chunk-6L3MX4LH.cjs.map +1 -0
  69. package/build/cjs/{chunk-56O6U7K6.cjs → chunk-X7WMWKLM.cjs} +341 -72
  70. package/build/cjs/chunk-X7WMWKLM.cjs.map +1 -0
  71. package/build/cjs/{createClient-BJo8T7Js.d.cts → createClient-mOlFts15.d.cts} +1 -0
  72. package/build/cjs/index.cjs +15 -7
  73. package/build/cjs/index.d.cts +10 -3
  74. package/build/cjs/public/internal.cjs +8 -8
  75. package/build/cjs/public/unstable-do-not-use.cjs +31 -31
  76. package/build/cjs/public/unstable-do-not-use.d.cts +1 -1
  77. package/build/esm/Client.js +1 -1
  78. package/build/esm/Client.js.map +1 -1
  79. package/build/esm/MinimalClientContext.js.map +1 -1
  80. package/build/esm/actions/applyAction.js +4 -0
  81. package/build/esm/actions/applyAction.js.map +1 -1
  82. package/build/esm/createClient.js +2 -1
  83. package/build/esm/createClient.js.map +1 -1
  84. package/build/esm/createMinimalClient.js +3 -1
  85. package/build/esm/createMinimalClient.js.map +1 -1
  86. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js +17 -0
  87. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  88. package/build/esm/fetchMetadata.test.js +11 -0
  89. package/build/esm/fetchMetadata.test.js.map +1 -1
  90. package/build/esm/index.js +2 -2
  91. package/build/esm/index.js.map +1 -1
  92. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +15 -0
  93. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  94. package/build/esm/object/aggregate.js +2 -0
  95. package/build/esm/object/aggregate.js.map +1 -1
  96. package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
  97. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  98. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +4 -0
  99. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  100. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +10 -0
  101. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  102. package/build/esm/object/convertWireToOsdkObjects.test.js +12 -0
  103. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  104. package/build/esm/object/fetchPage.js +8 -4
  105. package/build/esm/object/fetchPage.js.map +1 -1
  106. package/build/esm/object/formatting/applyPropertyFormatter.js +52 -0
  107. package/build/esm/object/formatting/applyPropertyFormatter.js.map +1 -0
  108. package/build/esm/object/formatting/applyPropertyFormatter.test.js +423 -0
  109. package/build/esm/object/formatting/applyPropertyFormatter.test.js.map +1 -0
  110. package/build/esm/object/formatting/formatBoolean.js +23 -0
  111. package/build/esm/object/formatting/formatBoolean.js.map +1 -0
  112. package/build/esm/object/formatting/formatNumber.js +242 -0
  113. package/build/esm/object/formatting/formatNumber.js.map +1 -0
  114. package/build/esm/object/formatting/propertyFormattingUtils.js +39 -0
  115. package/build/esm/object/formatting/propertyFormattingUtils.js.map +1 -0
  116. package/build/esm/object/mediaUpload.js +3 -0
  117. package/build/esm/object/mediaUpload.js.map +1 -1
  118. package/build/esm/objectSet/createObjectSet.js +11 -0
  119. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  120. package/build/esm/observable/internal/objectMatchesWhereClause.test.js +2 -1
  121. package/build/esm/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
  122. package/build/esm/observable/internal/testUtils.js +2 -1
  123. package/build/esm/observable/internal/testUtils.js.map +1 -1
  124. package/build/esm/ontology/loadActionMetadata.js +3 -1
  125. package/build/esm/ontology/loadActionMetadata.js.map +1 -1
  126. package/build/esm/ontology/loadFullObjectMetadata.js +2 -1
  127. package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
  128. package/build/esm/ontology/loadInterfaceMetadata.js +2 -1
  129. package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -1
  130. package/build/esm/queries/applyQuery.js +5 -4
  131. package/build/esm/queries/applyQuery.js.map +1 -1
  132. package/build/esm/util/UserAgent.js +2 -2
  133. package/build/esm/util/UserAgent.js.map +1 -1
  134. package/build/esm/util/extractObjectOrInterfaceType.js +5 -1
  135. package/build/esm/util/extractObjectOrInterfaceType.js.map +1 -1
  136. package/build/esm/util/extractObjectOrInterfaceType.test.js +21 -2
  137. package/build/esm/util/extractObjectOrInterfaceType.test.js.map +1 -1
  138. package/build/esm/util/toDataValue.js +15 -1
  139. package/build/esm/util/toDataValue.js.map +1 -1
  140. package/build/esm/util/toDataValue.test.js +42 -2
  141. package/build/esm/util/toDataValue.test.js.map +1 -1
  142. package/build/types/Client.d.ts +1 -1
  143. package/build/types/MinimalClientContext.d.ts +2 -0
  144. package/build/types/MinimalClientContext.d.ts.map +1 -1
  145. package/build/types/actions/applyAction.d.ts.map +1 -1
  146. package/build/types/createClient.d.ts +1 -0
  147. package/build/types/createClient.d.ts.map +1 -1
  148. package/build/types/index.d.ts +2 -2
  149. package/build/types/index.d.ts.map +1 -1
  150. package/build/types/object/fetchPage.d.ts.map +1 -1
  151. package/build/types/object/formatting/applyPropertyFormatter.d.ts +18 -0
  152. package/build/types/object/formatting/applyPropertyFormatter.d.ts.map +1 -0
  153. package/build/types/object/formatting/applyPropertyFormatter.test.d.ts +1 -0
  154. package/build/types/object/formatting/applyPropertyFormatter.test.d.ts.map +1 -0
  155. package/build/types/object/formatting/formatBoolean.d.ts +5 -0
  156. package/build/types/object/formatting/formatBoolean.d.ts.map +1 -0
  157. package/build/types/object/formatting/formatNumber.d.ts +15 -0
  158. package/build/types/object/formatting/formatNumber.d.ts.map +1 -0
  159. package/build/types/object/formatting/propertyFormattingUtils.d.ts +10 -0
  160. package/build/types/object/formatting/propertyFormattingUtils.d.ts.map +1 -0
  161. package/build/types/object/mediaUpload.d.ts +2 -1
  162. package/build/types/object/mediaUpload.d.ts.map +1 -1
  163. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  164. package/build/types/queries/applyQuery.d.ts.map +1 -1
  165. package/package.json +12 -12
  166. package/build/cjs/chunk-56O6U7K6.cjs.map +0 -1
  167. package/build/cjs/chunk-KODTFRP3.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isOk","PalantirApiError","ActionValidationError","createClient","createPlatformClient","createAttachmentUpload","extractDate","extractDateInLocalTime","extractDateInUTC","createObjectSpecifierFromPrimaryKey"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\nexport { isOk } from \"@osdk/api\";\nexport type {\n ActionDefinition,\n ActionEditResponse,\n ActionMetadata,\n ActionParam,\n ActionReturnTypeForOptions,\n ActionValidationResponse,\n ApplyActionOptions,\n ApplyBatchActionOptions,\n Attachment,\n CompileTimeMetadata,\n InterfaceDefinition,\n InterfaceMetadata,\n Logger,\n ObjectMetadata,\n ObjectSet,\n ObjectSpecifier,\n ObjectTypeDefinition,\n Osdk,\n OsdkObject,\n OsdkObjectCreatePropertyType,\n OsdkObjectPropertyType,\n PageResult,\n PropertyDef,\n PropertyKeys,\n PropertyValueWireToClient,\n QueryDefinition,\n QueryParam,\n QueryResult,\n Range,\n Result,\n SingleLinkAccessor,\n ThreeDimensionalAggregation,\n TwoDimensionalAggregation,\n VersionBound,\n WhereClause,\n} from \"@osdk/api\";\nexport { PalantirApiError } from \"@osdk/shared.net.errors\";\n\nexport { ActionValidationError } from \"./actions/ActionValidationError.js\";\nexport type { Client } from \"./Client.js\";\nexport { createClient } from \"./createClient.js\";\nexport { createPlatformClient } from \"./createPlatformClient.js\";\nexport type { PlatformClient } from \"./createPlatformClient.js\";\nexport { createAttachmentUpload } from \"./object/AttachmentUpload.js\";\nexport type { ResultOrError } from \"./ResultOrError.js\";\n\nexport {\n extractDate,\n extractDateInLocalTime,\n extractDateInUTC,\n} from \"./util/datetimeConverters.js\";\n\nexport { createObjectSpecifierFromPrimaryKey } from \"./util/objectSpecifierUtils.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAASA,IAAI,QAAQ,WAAW;AAsChC,SAASC,gBAAgB,QAAQ,yBAAyB;AAE1D,SAASC,qBAAqB,QAAQ,oCAAoC;AAE1E,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,oBAAoB,QAAQ,2BAA2B;AAEhE,SAASC,sBAAsB,QAAQ,8BAA8B;AAGrE,SACEC,WAAW,EACXC,sBAAsB,EACtBC,gBAAgB,QACX,8BAA8B;AAErC,SAASC,mCAAmC,QAAQ,gCAAgC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["isOk","NULL_VALUE","PalantirApiError","ActionValidationError","createClient","createPlatformClient","createAttachmentUpload","extractDate","extractDateInLocalTime","extractDateInUTC","createObjectSpecifierFromPrimaryKey","extractPrimaryKeyFromObjectSpecifier"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\nexport { isOk, NULL_VALUE } from \"@osdk/api\";\nexport type {\n ActionDefinition,\n ActionEditResponse,\n ActionMetadata,\n ActionParam,\n ActionReturnTypeForOptions,\n ActionValidationResponse,\n ApplyActionOptions,\n ApplyBatchActionOptions,\n Attachment,\n CompileTimeMetadata,\n InterfaceDefinition,\n InterfaceMetadata,\n Logger,\n ObjectMetadata,\n ObjectSet,\n ObjectSpecifier,\n ObjectTypeDefinition,\n Osdk,\n OsdkObject,\n OsdkObjectCreatePropertyType,\n OsdkObjectPropertyType,\n PageResult,\n PropertyDef,\n PropertyKeys,\n PropertyValueWireToClient,\n QueryDefinition,\n QueryParam,\n QueryResult,\n Range,\n Result,\n SingleLinkAccessor,\n ThreeDimensionalAggregation,\n TwoDimensionalAggregation,\n VersionBound,\n WhereClause,\n} from \"@osdk/api\";\nexport { PalantirApiError } from \"@osdk/shared.net.errors\";\n\nexport { ActionValidationError } from \"./actions/ActionValidationError.js\";\nexport type { Client } from \"./Client.js\";\nexport { createClient } from \"./createClient.js\";\nexport { createPlatformClient } from \"./createPlatformClient.js\";\nexport type { PlatformClient } from \"./createPlatformClient.js\";\nexport { createAttachmentUpload } from \"./object/AttachmentUpload.js\";\nexport type { ResultOrError } from \"./ResultOrError.js\";\n\nexport {\n extractDate,\n extractDateInLocalTime,\n extractDateInUTC,\n} from \"./util/datetimeConverters.js\";\n\nexport {\n createObjectSpecifierFromPrimaryKey,\n extractPrimaryKeyFromObjectSpecifier,\n} from \"./util/objectSpecifierUtils.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAASA,IAAI,EAAEC,UAAU,QAAQ,WAAW;AAsC5C,SAASC,gBAAgB,QAAQ,yBAAyB;AAE1D,SAASC,qBAAqB,QAAQ,oCAAoC;AAE1E,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,oBAAoB,QAAQ,2BAA2B;AAEhE,SAASC,sBAAsB,QAAQ,8BAA8B;AAGrE,SACEC,WAAW,EACXC,sBAAsB,EACtBC,gBAAgB,QACX,8BAA8B;AAErC,SACEC,mCAAmC,EACnCC,oCAAoC,QAC/B,gCAAgC","ignoreList":[]}
@@ -185,6 +185,21 @@ function handleWherePair([fieldName, filter], objectOrInterface, structFieldSele
185
185
  fuzzy: typeof filter[firstKey] === "string" ? false : filter[firstKey]["fuzzySearch"] ?? false
186
186
  };
187
187
  }
188
+ if (firstKey === "$contains" && filter[firstKey] instanceof Object) {
189
+ const structFilter = Object.entries(filter[firstKey]);
190
+ !(structFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot filter on more than one struct field in the same clause, need to use an and clause") : invariant(false) : void 0;
191
+ const structFieldApiName = structFilter[0][0];
192
+ !(structFilter[0][1] != null && Object.keys(structFilter[0][1]).length === 1 && "$eq" in structFilter[0][1]) ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot filter on a struct field in an array with anything other than a single $eq") : invariant(false) : void 0;
193
+ return {
194
+ type: "contains",
195
+ propertyIdentifier: {
196
+ type: "structField",
197
+ propertyApiName: fieldName,
198
+ structFieldApiName
199
+ },
200
+ value: structFilter[0][1]["$eq"]
201
+ };
202
+ }
188
203
  return {
189
204
  type: firstKey.substring(1),
190
205
  ...(propertyIdentifier != null && {
@@ -1 +1 @@
1
- {"version":3,"file":"modernToLegacyWhereClause.js","names":["DistanceUnitMapping","invariant","extractNamespace","fqApiName","last","lastIndexOf","undefined","slice","modernToLegacyWhereClause","whereClause","objectOrInterface","type","value","$and","map","clause","$or","$not","parts","Object","entries","length","handleWherePair","v","makeGeoFilterBbox","bbox","filterType","propertyIdentifier","field","topLeft","coordinates","bottomRight","makeGeoFilterPolygon","fieldName","filter","structFieldSelector","process","env","NODE_ENV","propertyApiName","fullyQualifyPropName","keysOfFilter","keys","hasDollarSign","some","key","startsWith","structFilter","structFieldApiName","firstKey","withinBody","Array","isArray","$bbox","$distance","$of","center","distance","unit","$polygon","intersectsBody","substring","fuzzy","objApiNamespace","apiName","fieldApiNamespace","fieldShortName"],"sources":["modernToLegacyWhereClause.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n GeoFilterOptions,\n ObjectOrInterfaceDefinition,\n PossibleWhereClauseFilters,\n WhereClause,\n} from \"@osdk/api\";\nimport { DistanceUnitMapping } from \"@osdk/api\";\n\nimport type {\n PropertyIdentifier,\n SearchJsonQueryV2,\n} from \"@osdk/foundry.ontologies\";\nimport type { BBox, Position } from \"geojson\";\nimport invariant from \"tiny-invariant\";\n\nexport function extractNamespace(\n fqApiName: string,\n): [string | undefined, string] {\n const last = fqApiName.lastIndexOf(\".\");\n if (last === -1) return [undefined, fqApiName];\n return [fqApiName.slice(0, last), fqApiName.slice(last + 1)];\n}\n\n/** @internal */\nexport function modernToLegacyWhereClause<\n T extends ObjectOrInterfaceDefinition,\n>(\n whereClause: WhereClause<T>,\n objectOrInterface: T,\n): SearchJsonQueryV2 {\n if (\"$and\" in whereClause) {\n return {\n type: \"and\",\n value: (whereClause.$and as WhereClause<T>[]).map(\n (clause) => modernToLegacyWhereClause(clause, objectOrInterface),\n ),\n };\n } else if (\"$or\" in whereClause) {\n return {\n type: \"or\",\n value: (whereClause.$or as WhereClause<T>[]).map(\n (clause) => modernToLegacyWhereClause(clause, objectOrInterface),\n ),\n };\n } else if (\"$not\" in whereClause) {\n return {\n type: \"not\",\n value: modernToLegacyWhereClause(\n whereClause.$not as WhereClause<T>,\n objectOrInterface,\n ),\n };\n }\n\n const parts = Object.entries(whereClause);\n\n if (parts.length === 1) {\n return handleWherePair(parts[0], objectOrInterface);\n }\n\n return {\n type: \"and\",\n value: parts.map<SearchJsonQueryV2>(\n v => handleWherePair(v, objectOrInterface),\n ),\n };\n}\n\nfunction makeGeoFilterBbox(\n bbox: BBox,\n filterType: \"$within\" | \"$intersects\",\n propertyIdentifier?: PropertyIdentifier,\n field?: string,\n): SearchJsonQueryV2 {\n return {\n type: filterType === \"$within\"\n ? \"withinBoundingBox\"\n : \"intersectsBoundingBox\",\n /**\n * This is a bit ugly, but did this so that propertyIdentifier only shows up in the return object if its defined,\n * this makes it so we don't need to go update our entire test bed either to include a field which may change in near future.\n * Once we solidify that this is the way forward, I can remove field and clean this up\n */\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: {\n topLeft: {\n type: \"Point\",\n coordinates: [bbox[0], bbox[3]],\n },\n bottomRight: {\n type: \"Point\",\n coordinates: [bbox[2], bbox[1]],\n },\n },\n };\n}\n\nfunction makeGeoFilterPolygon(\n coordinates: Position[][],\n filterType: \"intersectsPolygon\" | \"withinPolygon\",\n propertyIdentifier?: PropertyIdentifier,\n field?: string,\n): SearchJsonQueryV2 {\n return {\n type: filterType,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: {\n type: \"Polygon\",\n coordinates,\n },\n };\n}\n\nfunction handleWherePair(\n [fieldName, filter]: [string, any],\n objectOrInterface: ObjectOrInterfaceDefinition,\n structFieldSelector?: { propertyApiName: string; structFieldApiName: string },\n): SearchJsonQueryV2 {\n invariant(\n filter != null,\n \"Defined key values are only allowed when they are not undefined.\",\n );\n\n const propertyIdentifier: PropertyIdentifier | undefined =\n structFieldSelector != null\n ? {\n type: \"structField\",\n ...structFieldSelector,\n propertyApiName: fullyQualifyPropName(\n structFieldSelector.propertyApiName,\n objectOrInterface,\n ),\n }\n : undefined;\n const field = structFieldSelector == null\n ? fullyQualifyPropName(fieldName, objectOrInterface)\n : undefined;\n\n if (\n typeof filter === \"string\" || typeof filter === \"number\"\n || typeof filter === \"boolean\"\n ) {\n propertyIdentifier;\n return {\n type: \"eq\",\n ...(propertyIdentifier != null\n && { propertyIdentifier }),\n field,\n value: filter,\n };\n }\n\n const keysOfFilter = Object.keys(filter);\n\n // If any of the keys start with `$` then they must be the only one.\n // e.g. `where({ name: { $eq: \"foo\", $ne: \"bar\" } })` is invalid currently\n const hasDollarSign = keysOfFilter.some((key) => key.startsWith(\"$\"));\n invariant(\n !hasDollarSign\n || keysOfFilter.length === 1,\n \"A WhereClause Filter with multiple clauses/fields is not allowed. Instead, use an 'or'/'and' clause to combine multiple filters.\",\n );\n\n if (!hasDollarSign) {\n const structFilter = Object.entries(filter);\n invariant(\n structFilter.length === 1,\n \"Cannot filter on more than one struct field in the same clause, need to use an and clause\",\n );\n const structFieldApiName = keysOfFilter[0];\n return handleWherePair(Object.entries(filter)[0], objectOrInterface, {\n propertyApiName: fieldName,\n structFieldApiName,\n });\n }\n\n const firstKey = keysOfFilter[0] as PossibleWhereClauseFilters;\n invariant(filter[firstKey] != null);\n\n if (firstKey === \"$ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey],\n },\n };\n }\n\n if (firstKey === \"$within\") {\n const withinBody = filter[firstKey] as GeoFilterOptions[\"$within\"];\n\n if (Array.isArray(withinBody)) {\n return makeGeoFilterBbox(withinBody, firstKey, propertyIdentifier, field);\n } else if (\"$bbox\" in withinBody && withinBody.$bbox != null) {\n return makeGeoFilterBbox(\n withinBody.$bbox,\n firstKey,\n propertyIdentifier,\n field,\n );\n } else if (\n (\"$distance\" in withinBody && \"$of\" in withinBody)\n && withinBody.$distance != null\n && withinBody.$of != null\n ) {\n return {\n type: \"withinDistanceOf\",\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: {\n center: Array.isArray(withinBody.$of)\n ? {\n type: \"Point\",\n coordinates: withinBody.$of,\n }\n : withinBody.$of,\n distance: {\n value: withinBody.$distance[0],\n unit: DistanceUnitMapping[withinBody.$distance[1]],\n },\n },\n };\n } else {\n const coordinates = (\"$polygon\" in withinBody)\n ? withinBody.$polygon\n : withinBody.coordinates;\n return makeGeoFilterPolygon(\n coordinates,\n \"withinPolygon\",\n propertyIdentifier,\n fieldName,\n );\n }\n }\n if (firstKey === \"$intersects\") {\n const intersectsBody = filter[firstKey] as GeoFilterOptions[\"$intersects\"];\n if (Array.isArray(intersectsBody)) {\n return makeGeoFilterBbox(\n intersectsBody,\n firstKey,\n propertyIdentifier,\n field,\n );\n } else if (\"$bbox\" in intersectsBody && intersectsBody.$bbox != null) {\n return makeGeoFilterBbox(\n intersectsBody.$bbox,\n firstKey,\n propertyIdentifier,\n field,\n );\n } else {\n const coordinates = (\"$polygon\" in intersectsBody)\n ? intersectsBody.$polygon\n : intersectsBody.coordinates;\n return makeGeoFilterPolygon(\n coordinates,\n \"intersectsPolygon\",\n propertyIdentifier,\n field,\n );\n }\n }\n\n if (firstKey === \"$containsAllTerms\" || firstKey === \"$containsAnyTerm\") {\n return {\n type: firstKey.substring(1) as DropDollarSign<typeof firstKey>,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: typeof filter[firstKey] === \"string\"\n ? filter[firstKey]\n : filter[firstKey][\"term\"],\n fuzzy: typeof filter[firstKey] === \"string\"\n ? false\n : filter[firstKey][\"fuzzySearch\"] ?? false,\n };\n }\n\n return {\n type: firstKey.substring(1) as DropDollarSign<typeof firstKey>,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey] as any,\n };\n}\n\ntype DropDollarSign<T extends `$${string}`> = T extends `$${infer U}` ? U\n : never;\n\nfunction fullyQualifyPropName(\n fieldName: string,\n objectOrInterface: ObjectOrInterfaceDefinition,\n) {\n if (objectOrInterface.type === \"interface\") {\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n const [fieldApiNamespace, fieldShortName] = extractNamespace(fieldName);\n return (fieldApiNamespace == null && objApiNamespace != null)\n ? `${objApiNamespace}.${fieldShortName}`\n : fieldName;\n }\n return fieldName;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"modernToLegacyWhereClause.js","names":["DistanceUnitMapping","invariant","extractNamespace","fqApiName","last","lastIndexOf","undefined","slice","modernToLegacyWhereClause","whereClause","objectOrInterface","type","value","$and","map","clause","$or","$not","parts","Object","entries","length","handleWherePair","v","makeGeoFilterBbox","bbox","filterType","propertyIdentifier","field","topLeft","coordinates","bottomRight","makeGeoFilterPolygon","fieldName","filter","structFieldSelector","process","env","NODE_ENV","propertyApiName","fullyQualifyPropName","keysOfFilter","keys","hasDollarSign","some","key","startsWith","structFilter","structFieldApiName","firstKey","withinBody","Array","isArray","$bbox","$distance","$of","center","distance","unit","$polygon","intersectsBody","substring","fuzzy","objApiNamespace","apiName","fieldApiNamespace","fieldShortName"],"sources":["modernToLegacyWhereClause.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n GeoFilterOptions,\n ObjectOrInterfaceDefinition,\n PossibleWhereClauseFilters,\n WhereClause,\n} from \"@osdk/api\";\nimport { DistanceUnitMapping } from \"@osdk/api\";\n\nimport type {\n PropertyIdentifier,\n SearchJsonQueryV2,\n} from \"@osdk/foundry.ontologies\";\nimport type { BBox, Position } from \"geojson\";\nimport invariant from \"tiny-invariant\";\n\nexport function extractNamespace(\n fqApiName: string,\n): [string | undefined, string] {\n const last = fqApiName.lastIndexOf(\".\");\n if (last === -1) return [undefined, fqApiName];\n return [fqApiName.slice(0, last), fqApiName.slice(last + 1)];\n}\n\n/** @internal */\nexport function modernToLegacyWhereClause<\n T extends ObjectOrInterfaceDefinition,\n>(\n whereClause: WhereClause<T>,\n objectOrInterface: T,\n): SearchJsonQueryV2 {\n if (\"$and\" in whereClause) {\n return {\n type: \"and\",\n value: (whereClause.$and as WhereClause<T>[]).map(\n (clause) => modernToLegacyWhereClause(clause, objectOrInterface),\n ),\n };\n } else if (\"$or\" in whereClause) {\n return {\n type: \"or\",\n value: (whereClause.$or as WhereClause<T>[]).map(\n (clause) => modernToLegacyWhereClause(clause, objectOrInterface),\n ),\n };\n } else if (\"$not\" in whereClause) {\n return {\n type: \"not\",\n value: modernToLegacyWhereClause(\n whereClause.$not as WhereClause<T>,\n objectOrInterface,\n ),\n };\n }\n\n const parts = Object.entries(whereClause);\n\n if (parts.length === 1) {\n return handleWherePair(parts[0], objectOrInterface);\n }\n\n return {\n type: \"and\",\n value: parts.map<SearchJsonQueryV2>(\n v => handleWherePair(v, objectOrInterface),\n ),\n };\n}\n\nfunction makeGeoFilterBbox(\n bbox: BBox,\n filterType: \"$within\" | \"$intersects\",\n propertyIdentifier?: PropertyIdentifier,\n field?: string,\n): SearchJsonQueryV2 {\n return {\n type: filterType === \"$within\"\n ? \"withinBoundingBox\"\n : \"intersectsBoundingBox\",\n /**\n * This is a bit ugly, but did this so that propertyIdentifier only shows up in the return object if its defined,\n * this makes it so we don't need to go update our entire test bed either to include a field which may change in near future.\n * Once we solidify that this is the way forward, I can remove field and clean this up\n */\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: {\n topLeft: {\n type: \"Point\",\n coordinates: [bbox[0], bbox[3]],\n },\n bottomRight: {\n type: \"Point\",\n coordinates: [bbox[2], bbox[1]],\n },\n },\n };\n}\n\nfunction makeGeoFilterPolygon(\n coordinates: Position[][],\n filterType: \"intersectsPolygon\" | \"withinPolygon\",\n propertyIdentifier?: PropertyIdentifier,\n field?: string,\n): SearchJsonQueryV2 {\n return {\n type: filterType,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: {\n type: \"Polygon\",\n coordinates,\n },\n };\n}\n\nfunction handleWherePair(\n [fieldName, filter]: [string, any],\n objectOrInterface: ObjectOrInterfaceDefinition,\n structFieldSelector?: { propertyApiName: string; structFieldApiName: string },\n): SearchJsonQueryV2 {\n invariant(\n filter != null,\n \"Defined key values are only allowed when they are not undefined.\",\n );\n\n const propertyIdentifier: PropertyIdentifier | undefined =\n structFieldSelector != null\n ? {\n type: \"structField\",\n ...structFieldSelector,\n propertyApiName: fullyQualifyPropName(\n structFieldSelector.propertyApiName,\n objectOrInterface,\n ),\n }\n : undefined;\n const field = structFieldSelector == null\n ? fullyQualifyPropName(fieldName, objectOrInterface)\n : undefined;\n\n if (\n typeof filter === \"string\" || typeof filter === \"number\"\n || typeof filter === \"boolean\"\n ) {\n propertyIdentifier;\n return {\n type: \"eq\",\n ...(propertyIdentifier != null\n && { propertyIdentifier }),\n field,\n value: filter,\n };\n }\n\n const keysOfFilter = Object.keys(filter);\n\n // If any of the keys start with `$` then they must be the only one.\n // e.g. `where({ name: { $eq: \"foo\", $ne: \"bar\" } })` is invalid currently\n const hasDollarSign = keysOfFilter.some((key) => key.startsWith(\"$\"));\n invariant(\n !hasDollarSign\n || keysOfFilter.length === 1,\n \"A WhereClause Filter with multiple clauses/fields is not allowed. Instead, use an 'or'/'and' clause to combine multiple filters.\",\n );\n\n if (!hasDollarSign) {\n const structFilter = Object.entries(filter);\n invariant(\n structFilter.length === 1,\n \"Cannot filter on more than one struct field in the same clause, need to use an and clause\",\n );\n const structFieldApiName = keysOfFilter[0];\n return handleWherePair(Object.entries(filter)[0], objectOrInterface, {\n propertyApiName: fieldName,\n structFieldApiName,\n });\n }\n\n const firstKey = keysOfFilter[0] as PossibleWhereClauseFilters;\n invariant(filter[firstKey] != null);\n\n if (firstKey === \"$ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey],\n },\n };\n }\n\n if (firstKey === \"$within\") {\n const withinBody = filter[firstKey] as GeoFilterOptions[\"$within\"];\n\n if (Array.isArray(withinBody)) {\n return makeGeoFilterBbox(withinBody, firstKey, propertyIdentifier, field);\n } else if (\"$bbox\" in withinBody && withinBody.$bbox != null) {\n return makeGeoFilterBbox(\n withinBody.$bbox,\n firstKey,\n propertyIdentifier,\n field,\n );\n } else if (\n (\"$distance\" in withinBody && \"$of\" in withinBody)\n && withinBody.$distance != null\n && withinBody.$of != null\n ) {\n return {\n type: \"withinDistanceOf\",\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: {\n center: Array.isArray(withinBody.$of)\n ? {\n type: \"Point\",\n coordinates: withinBody.$of,\n }\n : withinBody.$of,\n distance: {\n value: withinBody.$distance[0],\n unit: DistanceUnitMapping[withinBody.$distance[1]],\n },\n },\n };\n } else {\n const coordinates = (\"$polygon\" in withinBody)\n ? withinBody.$polygon\n : withinBody.coordinates;\n return makeGeoFilterPolygon(\n coordinates,\n \"withinPolygon\",\n propertyIdentifier,\n fieldName,\n );\n }\n }\n if (firstKey === \"$intersects\") {\n const intersectsBody = filter[firstKey] as GeoFilterOptions[\"$intersects\"];\n if (Array.isArray(intersectsBody)) {\n return makeGeoFilterBbox(\n intersectsBody,\n firstKey,\n propertyIdentifier,\n field,\n );\n } else if (\"$bbox\" in intersectsBody && intersectsBody.$bbox != null) {\n return makeGeoFilterBbox(\n intersectsBody.$bbox,\n firstKey,\n propertyIdentifier,\n field,\n );\n } else {\n const coordinates = (\"$polygon\" in intersectsBody)\n ? intersectsBody.$polygon\n : intersectsBody.coordinates;\n return makeGeoFilterPolygon(\n coordinates,\n \"intersectsPolygon\",\n propertyIdentifier,\n field,\n );\n }\n }\n\n if (firstKey === \"$containsAllTerms\" || firstKey === \"$containsAnyTerm\") {\n return {\n type: firstKey.substring(1) as DropDollarSign<typeof firstKey>,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: typeof filter[firstKey] === \"string\"\n ? filter[firstKey]\n : filter[firstKey][\"term\"],\n fuzzy: typeof filter[firstKey] === \"string\"\n ? false\n : filter[firstKey][\"fuzzySearch\"] ?? false,\n };\n }\n\n if (firstKey === \"$contains\" && filter[firstKey] instanceof Object) {\n const structFilter: [string, any][] = Object.entries(filter[firstKey]);\n invariant(\n structFilter.length === 1,\n \"Cannot filter on more than one struct field in the same clause, need to use an and clause\",\n );\n const structFieldApiName = structFilter[0][0];\n invariant(\n structFilter[0][1] != null\n && Object.keys(structFilter[0][1]).length === 1\n && \"$eq\" in structFilter[0][1],\n \"Cannot filter on a struct field in an array with anything other than a single $eq\",\n );\n return {\n type: \"contains\",\n propertyIdentifier: {\n type: \"structField\",\n propertyApiName: fieldName,\n structFieldApiName,\n },\n value: structFilter[0][1][\"$eq\"],\n };\n }\n\n return {\n type: firstKey.substring(1) as DropDollarSign<typeof firstKey>,\n ...(propertyIdentifier != null && { propertyIdentifier }),\n field,\n value: filter[firstKey] as any,\n };\n}\n\ntype DropDollarSign<T extends `$${string}`> = T extends `$${infer U}` ? U\n : never;\n\nfunction fullyQualifyPropName(\n fieldName: string,\n objectOrInterface: ObjectOrInterfaceDefinition,\n) {\n if (objectOrInterface.type === \"interface\") {\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n const [fieldApiNamespace, fieldShortName] = extractNamespace(fieldName);\n return (fieldApiNamespace == null && objApiNamespace != null)\n ? `${objApiNamespace}.${fieldShortName}`\n : fieldName;\n }\n return fieldName;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -37,6 +37,8 @@ export async function aggregate(clientCtx, objectType, objectSet = resolveBaseOb
37
37
  objectSet,
38
38
  groupBy: body.groupBy,
39
39
  aggregation: body.aggregation
40
+ }, {
41
+ branch: clientCtx.branch
40
42
  });
41
43
  if (!req.$groupBy) {
42
44
  !(result.data.length === 1) ? process.env.NODE_ENV !== "production" ? invariant(false, "no group by clause should mean only one data result") : invariant(false) : void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.js","names":["OntologiesV2","invariant","legacyToModernSingleAggregationResult","modernToLegacyAggregationClause","modernToLegacyGroupByClause","addUserAgentAndRequestContextHeaders","resolveBaseObjectSetType","aggregate","clientCtx","objectType","objectSet","req","body","aggregation","$select","groupBy","where","undefined","$groupBy","result","OntologyObjectSets","ontologyRid","data","length","process","env","NODE_ENV","aggregationToCountResult","ret","map","entry","$group","group","aggregateResult","metrics","name","$count","value"],"sources":["aggregate.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AggregateOpts,\n AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy,\n AggregationResultsWithGroups,\n AggregationsResults,\n ObjectOrInterfaceDefinition,\n} from \"@osdk/api\";\nimport type {\n AggregateObjectsRequestV2,\n AggregateObjectsResponseV2,\n ObjectSet,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { legacyToModernSingleAggregationResult } from \"../internal/conversions/legacyToModernSingleAggregationResult.js\";\nimport { modernToLegacyAggregationClause } from \"../internal/conversions/modernToLegacyAggregationClause.js\";\nimport { modernToLegacyGroupByClause } from \"../internal/conversions/modernToLegacyGroupByClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport type { ArrayElement } from \"../util/ArrayElement.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/** @internal */\nexport async function aggregate<\n Q extends ObjectOrInterfaceDefinition,\n AO extends AggregateOpts<Q>,\n>(\n clientCtx: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n req: AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy<Q, AO>,\n): Promise<AggregationsResults<Q, AO>> {\n const resolvedObjectSet = resolveBaseObjectSetType(objectType);\n const body: AggregateObjectsRequestV2 = {\n aggregation: modernToLegacyAggregationClause<AO[\"$select\"]>(\n req.$select,\n ),\n groupBy: [],\n where: undefined,\n };\n\n if (req.$groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.$groupBy);\n }\n\n const result = await OntologiesV2.OntologyObjectSets.aggregate(\n addUserAgentAndRequestContextHeaders(clientCtx, objectType),\n await clientCtx.ontologyRid,\n {\n objectSet,\n groupBy: body.groupBy,\n aggregation: body.aggregation,\n },\n );\n\n if (!req.$groupBy) {\n invariant(\n result.data.length === 1,\n \"no group by clause should mean only one data result\",\n );\n\n return {\n ...aggregationToCountResult(result.data[0]),\n ...legacyToModernSingleAggregationResult(\n result.data[0],\n ),\n } as any;\n }\n\n const ret: AggregationResultsWithGroups<Q, AO[\"$select\"], any> = result.data\n .map((entry) => {\n return {\n $group: entry.group as any,\n ...aggregationToCountResult(entry),\n ...legacyToModernSingleAggregationResult(entry),\n };\n }) as any; // fixme\n\n return ret as any; // FIXME\n}\n\nfunction aggregationToCountResult(\n entry: ArrayElement<AggregateObjectsResponseV2[\"data\"]>,\n): { $count: number } | undefined {\n for (const aggregateResult of entry.metrics) {\n if (aggregateResult.name === \"count\") {\n return { $count: aggregateResult.value };\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,0BAA0B;AACxD,OAAOC,SAAS,MAAM,gBAAgB;AACtC,SAASC,qCAAqC,QAAQ,kEAAkE;AACxH,SAASC,+BAA+B,QAAQ,4DAA4D;AAC5G,SAASC,2BAA2B,QAAQ,wDAAwD;AAEpG,SAASC,oCAAoC,QAAQ,iDAAiD;AAEtG,SAASC,wBAAwB,QAAQ,2BAA2B;;AAEpE;AACA,OAAO,eAAeC,SAASA,CAI7BC,SAAwB,EACxBC,UAAa,EACbC,SAAoB,GAAGJ,wBAAwB,CAACG,UAAU,CAAC,EAC3DE,GAA0E,EACrC;EACXL,wBAAwB,CAACG,UAAU,CAAC;EAC9D,MAAMG,IAA+B,GAAG;IACtCC,WAAW,EAAEV,+BAA+B,CAC1CQ,GAAG,CAACG,OACN,CAAC;IACDC,OAAO,EAAE,EAAE;IACXC,KAAK,EAAEC;EACT,CAAC;EAED,IAAIN,GAAG,CAACO,QAAQ,EAAE;IAChBN,IAAI,CAACG,OAAO,GAAGX,2BAA2B,CAACO,GAAG,CAACO,QAAQ,CAAC;EAC1D;EAEA,MAAMC,MAAM,GAAG,MAAMnB,YAAY,CAACoB,kBAAkB,CAACb,SAAS,CAC5DF,oCAAoC,CAACG,SAAS,EAAEC,UAAU,CAAC,EAC3D,MAAMD,SAAS,CAACa,WAAW,EAC3B;IACEX,SAAS;IACTK,OAAO,EAAEH,IAAI,CAACG,OAAO;IACrBF,WAAW,EAAED,IAAI,CAACC;EACpB,CACF,CAAC;EAED,IAAI,CAACF,GAAG,CAACO,QAAQ,EAAE;IACjB,EACEC,MAAM,CAACG,IAAI,CAACC,MAAM,KAAK,CAAC,IAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAD1BzB,SAAS,QAEP,qDAAqD,IAFvDA,SAAS;IAKT,OAAO;MACL,GAAG0B,wBAAwB,CAACR,MAAM,CAACG,IAAI,CAAC,CAAC,CAAC,CAAC;MAC3C,GAAGpB,qCAAqC,CACtCiB,MAAM,CAACG,IAAI,CAAC,CAAC,CACf;IACF,CAAC;EACH;EAEA,MAAMM,GAAwD,GAAGT,MAAM,CAACG,IAAI,CACzEO,GAAG,CAAEC,KAAK,IAAK;IACd,OAAO;MACLC,MAAM,EAAED,KAAK,CAACE,KAAY;MAC1B,GAAGL,wBAAwB,CAACG,KAAK,CAAC;MAClC,GAAG5B,qCAAqC,CAAC4B,KAAK;IAChD,CAAC;EACH,CAAC,CAAQ,CAAC,CAAC;;EAEb,OAAOF,GAAG,CAAQ,CAAC;AACrB;AAEA,SAASD,wBAAwBA,CAC/BG,KAAuD,EACvB;EAChC,KAAK,MAAMG,eAAe,IAAIH,KAAK,CAACI,OAAO,EAAE;IAC3C,IAAID,eAAe,CAACE,IAAI,KAAK,OAAO,EAAE;MACpC,OAAO;QAAEC,MAAM,EAAEH,eAAe,CAACI;MAAM,CAAC;IAC1C;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"aggregate.js","names":["OntologiesV2","invariant","legacyToModernSingleAggregationResult","modernToLegacyAggregationClause","modernToLegacyGroupByClause","addUserAgentAndRequestContextHeaders","resolveBaseObjectSetType","aggregate","clientCtx","objectType","objectSet","req","body","aggregation","$select","groupBy","where","undefined","$groupBy","result","OntologyObjectSets","ontologyRid","branch","data","length","process","env","NODE_ENV","aggregationToCountResult","ret","map","entry","$group","group","aggregateResult","metrics","name","$count","value"],"sources":["aggregate.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AggregateOpts,\n AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy,\n AggregationResultsWithGroups,\n AggregationsResults,\n ObjectOrInterfaceDefinition,\n} from \"@osdk/api\";\nimport type {\n AggregateObjectsRequestV2,\n AggregateObjectsResponseV2,\n ObjectSet,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { legacyToModernSingleAggregationResult } from \"../internal/conversions/legacyToModernSingleAggregationResult.js\";\nimport { modernToLegacyAggregationClause } from \"../internal/conversions/modernToLegacyAggregationClause.js\";\nimport { modernToLegacyGroupByClause } from \"../internal/conversions/modernToLegacyGroupByClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport type { ArrayElement } from \"../util/ArrayElement.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\n/** @internal */\nexport async function aggregate<\n Q extends ObjectOrInterfaceDefinition,\n AO extends AggregateOpts<Q>,\n>(\n clientCtx: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n req: AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy<Q, AO>,\n): Promise<AggregationsResults<Q, AO>> {\n const resolvedObjectSet = resolveBaseObjectSetType(objectType);\n const body: AggregateObjectsRequestV2 = {\n aggregation: modernToLegacyAggregationClause<AO[\"$select\"]>(\n req.$select,\n ),\n groupBy: [],\n where: undefined,\n };\n\n if (req.$groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.$groupBy);\n }\n\n const result = await OntologiesV2.OntologyObjectSets.aggregate(\n addUserAgentAndRequestContextHeaders(clientCtx, objectType),\n await clientCtx.ontologyRid,\n {\n objectSet,\n groupBy: body.groupBy,\n aggregation: body.aggregation,\n },\n { branch: clientCtx.branch },\n );\n\n if (!req.$groupBy) {\n invariant(\n result.data.length === 1,\n \"no group by clause should mean only one data result\",\n );\n\n return {\n ...aggregationToCountResult(result.data[0]),\n ...legacyToModernSingleAggregationResult(\n result.data[0],\n ),\n } as any;\n }\n\n const ret: AggregationResultsWithGroups<Q, AO[\"$select\"], any> = result.data\n .map((entry) => {\n return {\n $group: entry.group as any,\n ...aggregationToCountResult(entry),\n ...legacyToModernSingleAggregationResult(entry),\n };\n }) as any; // fixme\n\n return ret as any; // FIXME\n}\n\nfunction aggregationToCountResult(\n entry: ArrayElement<AggregateObjectsResponseV2[\"data\"]>,\n): { $count: number } | undefined {\n for (const aggregateResult of entry.metrics) {\n if (aggregateResult.name === \"count\") {\n return { $count: aggregateResult.value };\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,0BAA0B;AACxD,OAAOC,SAAS,MAAM,gBAAgB;AACtC,SAASC,qCAAqC,QAAQ,kEAAkE;AACxH,SAASC,+BAA+B,QAAQ,4DAA4D;AAC5G,SAASC,2BAA2B,QAAQ,wDAAwD;AAEpG,SAASC,oCAAoC,QAAQ,iDAAiD;AAEtG,SAASC,wBAAwB,QAAQ,2BAA2B;;AAEpE;AACA,OAAO,eAAeC,SAASA,CAI7BC,SAAwB,EACxBC,UAAa,EACbC,SAAoB,GAAGJ,wBAAwB,CAACG,UAAU,CAAC,EAC3DE,GAA0E,EACrC;EACXL,wBAAwB,CAACG,UAAU,CAAC;EAC9D,MAAMG,IAA+B,GAAG;IACtCC,WAAW,EAAEV,+BAA+B,CAC1CQ,GAAG,CAACG,OACN,CAAC;IACDC,OAAO,EAAE,EAAE;IACXC,KAAK,EAAEC;EACT,CAAC;EAED,IAAIN,GAAG,CAACO,QAAQ,EAAE;IAChBN,IAAI,CAACG,OAAO,GAAGX,2BAA2B,CAACO,GAAG,CAACO,QAAQ,CAAC;EAC1D;EAEA,MAAMC,MAAM,GAAG,MAAMnB,YAAY,CAACoB,kBAAkB,CAACb,SAAS,CAC5DF,oCAAoC,CAACG,SAAS,EAAEC,UAAU,CAAC,EAC3D,MAAMD,SAAS,CAACa,WAAW,EAC3B;IACEX,SAAS;IACTK,OAAO,EAAEH,IAAI,CAACG,OAAO;IACrBF,WAAW,EAAED,IAAI,CAACC;EACpB,CAAC,EACD;IAAES,MAAM,EAAEd,SAAS,CAACc;EAAO,CAC7B,CAAC;EAED,IAAI,CAACX,GAAG,CAACO,QAAQ,EAAE;IACjB,EACEC,MAAM,CAACI,IAAI,CAACC,MAAM,KAAK,CAAC,IAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAD1B1B,SAAS,QAEP,qDAAqD,IAFvDA,SAAS;IAKT,OAAO;MACL,GAAG2B,wBAAwB,CAACT,MAAM,CAACI,IAAI,CAAC,CAAC,CAAC,CAAC;MAC3C,GAAGrB,qCAAqC,CACtCiB,MAAM,CAACI,IAAI,CAAC,CAAC,CACf;IACF,CAAC;EACH;EAEA,MAAMM,GAAwD,GAAGV,MAAM,CAACI,IAAI,CACzEO,GAAG,CAAEC,KAAK,IAAK;IACd,OAAO;MACLC,MAAM,EAAED,KAAK,CAACE,KAAY;MAC1B,GAAGL,wBAAwB,CAACG,KAAK,CAAC;MAClC,GAAG7B,qCAAqC,CAAC6B,KAAK;IAChD,CAAC;EACH,CAAC,CAAQ,CAAC,CAAC;;EAEb,OAAOF,GAAG,CAAQ,CAAC;AACrB;AAEA,SAASD,wBAAwBA,CAC/BG,KAAuD,EACvB;EAChC,KAAK,MAAMG,eAAe,IAAIH,KAAK,CAACI,OAAO,EAAE;IAC3C,IAAID,eAAe,CAACE,IAAI,KAAK,OAAO,EAAE;MACpC,OAAO;QAAEC,MAAM,EAAEH,eAAe,CAACI;MAAM,CAAC;IAC1C;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseHolder.js","names":[],"sources":["BaseHolder.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ObjectMetadata,\n ObjectOrInterfaceDefinition,\n ObjectSpecifier,\n} from \"@osdk/api\";\nimport type { InterfaceHolder } from \"./InterfaceHolder.js\";\nimport type { UnderlyingOsdkObject } from \"./InternalSymbols.js\";\nimport type { ObjectHolder } from \"./ObjectHolder.js\";\n\n/** @internal */\n\nexport interface BaseHolder {\n readonly [UnderlyingOsdkObject]: ObjectHolder;\n\n readonly $apiName: string;\n readonly $objectType: string;\n readonly $primaryKey: string | number;\n readonly $title: string | undefined;\n readonly $objectSpecifier: ObjectSpecifier<any>;\n\n readonly \"$as\": (\n newDef: string | ObjectOrInterfaceDefinition,\n ) => ObjectHolder | InterfaceHolder;\n\n readonly \"$clone\": (\n newProps?: Record<string, any>,\n ) => this;\n\n readonly \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\": {\n readonly ObjectMetadata: ObjectMetadata;\n };\n\n // [key: `$$${string}`]: any;\n // Unlike SimpleOsdkProperties, all of our remaining types are unknown as the full\n // union is basically `any` when you consider the above fields.\n [key: string]: unknown;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"BaseHolder.js","names":[],"sources":["BaseHolder.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ObjectMetadata,\n ObjectOrInterfaceDefinition,\n ObjectSpecifier,\n} from \"@osdk/api\";\nimport type { FormatPropertyOptions } from \"../formatting/applyPropertyFormatter.js\";\nimport type { InterfaceHolder } from \"./InterfaceHolder.js\";\nimport type { UnderlyingOsdkObject } from \"./InternalSymbols.js\";\nimport type { ObjectHolder } from \"./ObjectHolder.js\";\n\n/** @internal */\n\nexport interface BaseHolder {\n readonly [UnderlyingOsdkObject]: ObjectHolder;\n\n readonly $apiName: string;\n readonly $objectType: string;\n readonly $primaryKey: string | number;\n readonly $title: string | undefined;\n readonly $objectSpecifier: ObjectSpecifier<any>;\n\n readonly \"$as\": (\n newDef: string | ObjectOrInterfaceDefinition,\n ) => ObjectHolder | InterfaceHolder;\n\n readonly \"$clone\": (\n newProps?: Record<string, any>,\n ) => this;\n\n readonly \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\": {\n readonly ObjectMetadata: ObjectMetadata;\n };\n\n readonly \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__getFormattedValue\": <\n PropertyApiName extends string,\n >(\n propertyApiName: PropertyApiName,\n options?: FormatPropertyOptions,\n ) => string | undefined;\n\n // [key: `$$${string}`]: any;\n // Unlike SimpleOsdkProperties, all of our remaining types are unknown as the full\n // union is basically `any` when you consider the above fields.\n [key: string]: unknown;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"InterfaceHolder.js","names":[],"sources":["InterfaceHolder.ts"],"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 */\n\nimport type { InterfaceMetadata, ObjectMetadata, Osdk } from \"@osdk/api\";\nimport type { BaseHolder } from \"./BaseHolder.js\";\nimport type { InterfaceDefRef } from \"./InternalSymbols.js\";\n\n/** @internal */\nexport interface InterfaceHolder<\n _Q extends Osdk.Instance<any> = never,\n> extends BaseHolder {\n [InterfaceDefRef]: InterfaceMetadata;\n\n readonly \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\": {\n readonly ObjectMetadata: ObjectMetadata;\n readonly InterfaceMetadata: InterfaceMetadata;\n };\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"InterfaceHolder.js","names":[],"sources":["InterfaceHolder.ts"],"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 */\n\nimport type { InterfaceMetadata, ObjectMetadata, Osdk } from \"@osdk/api\";\nimport type { FormatPropertyOptions } from \"../formatting/applyPropertyFormatter.js\";\nimport type { BaseHolder } from \"./BaseHolder.js\";\nimport type { InterfaceDefRef } from \"./InternalSymbols.js\";\n\n/** @internal */\nexport interface InterfaceHolder<\n _Q extends Osdk.Instance<any> = never,\n> extends BaseHolder {\n [InterfaceDefRef]: InterfaceMetadata;\n\n readonly \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\": {\n readonly ObjectMetadata: ObjectMetadata;\n readonly InterfaceMetadata: InterfaceMetadata;\n };\n\n readonly \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__getFormattedValue\": <\n PropertyApiName extends string,\n >(\n propertyApiName: PropertyApiName,\n options?: FormatPropertyOptions,\n ) => string | undefined;\n}\n"],"mappings":"","ignoreList":[]}
@@ -64,6 +64,10 @@ export function createOsdkInterface(underlying, interfaceDef) {
64
64
  },
65
65
  enumerable: false
66
66
  },
67
+ "$__EXPERIMENTAL__NOT_SUPPORTED_YET__getFormattedValue": {
68
+ value: underlying.$__EXPERIMENTAL__NOT_SUPPORTED_YET__getFormattedValue,
69
+ enumerable: false
70
+ },
67
71
  "$link": {
68
72
  get: function () {
69
73
  return get$linkForInterface(this);
@@ -1 +1 @@
1
- {"version":3,"file":"createOsdkInterface.js","names":["extractNamespace","get$linkForInterface","InterfaceDefRef","ObjectDefRef","UnderlyingOsdkObject","createOsdkInterface","underlying","interfaceDef","objApiNamespace","apiName","Object","freeze","defineProperties","value","enumerable","$as","$objectType","$primaryKey","$objectSpecifier","$title","$rid","clone","get","fromEntries","keys","properties","map","p","objDef","apiNamespace","targetPropName","interfaceMap","update","$clone","key","Error","remappedProps","mapProperty","filter","x","propertyName"],"sources":["createOsdkInterface.ts"],"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 */\n\nimport type { InterfaceMetadata } from \"@osdk/api\";\nimport { extractNamespace } from \"../../internal/conversions/modernToLegacyWhereClause.js\";\nimport type { FetchedObjectTypeDefinition } from \"../../ontology/OntologyProvider.js\";\nimport { get$linkForInterface } from \"./getDollarLink.js\";\nimport type { InterfaceHolder } from \"./InterfaceHolder.js\";\nimport {\n InterfaceDefRef,\n ObjectDefRef,\n UnderlyingOsdkObject,\n} from \"./InternalSymbols.js\";\nimport type { ObjectHolder } from \"./ObjectHolder.js\";\n\n/** @internal */\nexport function createOsdkInterface<\n Q extends FetchedObjectTypeDefinition,\n>(\n underlying: ObjectHolder,\n interfaceDef: InterfaceMetadata,\n): InterfaceHolder {\n const [objApiNamespace] = extractNamespace(interfaceDef.apiName);\n\n return Object.freeze(\n Object.defineProperties({}, {\n // first to minimize hidden classes\n [UnderlyingOsdkObject]: { value: underlying },\n\n \"$apiName\": { value: interfaceDef.apiName, enumerable: true },\n \"$as\": {\n value: underlying.$as,\n enumerable: false,\n },\n \"$objectType\": {\n value: underlying.$objectType,\n enumerable: \"$objectType\" in underlying,\n },\n \"$primaryKey\": {\n value: underlying.$primaryKey,\n enumerable: \"$primaryKey\" in underlying,\n },\n \"$objectSpecifier\": {\n value: underlying.$objectSpecifier,\n enumerable: \"$objectSpecifier\" in underlying,\n },\n \"$title\": {\n value: underlying.$title,\n enumerable: \"$title\" in underlying,\n },\n \"$rid\": {\n value: (underlying as any).$rid,\n enumerable: \"$rid\" in underlying,\n },\n \"$clone\": {\n value: clone,\n enumerable: false,\n },\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\": {\n value: {\n \"ObjectMetadata\": underlying[ObjectDefRef],\n \"InterfaceMetadata\": interfaceDef,\n },\n enumerable: false,\n },\n\n \"$link\": {\n get: function(this: InterfaceHolder) {\n return get$linkForInterface(this);\n },\n },\n\n [InterfaceDefRef]: { value: interfaceDef },\n\n ...Object.fromEntries(\n Object.keys(interfaceDef.properties).map(p => {\n const objDef = underlying[ObjectDefRef];\n\n const [apiNamespace, apiName] = extractNamespace(p);\n\n const targetPropName = objDef\n .interfaceMap![interfaceDef.apiName][p];\n\n return [apiNamespace === objApiNamespace ? apiName : p, {\n enumerable: targetPropName in underlying,\n value: underlying[targetPropName as keyof typeof underlying],\n }];\n }),\n ),\n }) as InterfaceHolder,\n );\n function clone(update: Record<string, any> | undefined) {\n if (update == null) {\n return underlying.$clone().$as(interfaceDef);\n }\n\n for (const key of Object.keys(update)) {\n if (!(key in interfaceDef.properties)) {\n throw new Error(\n `Invalid property ${key} for interface ${interfaceDef.apiName}`,\n );\n }\n }\n\n const remappedProps = Object.fromEntries(\n Object.keys(update).map(p => mapProperty(p, update[p])).filter(x =>\n x != null\n ),\n );\n\n return underlying.$clone(remappedProps).$as(interfaceDef);\n }\n function mapProperty(propertyName: string, value: any) {\n const objDef = underlying[ObjectDefRef];\n const targetPropName =\n objDef.interfaceMap![interfaceDef.apiName][propertyName];\n // If the underlying object does not implement the SPT, throw errors\n if (targetPropName == null) {\n throw new Error(\n `Cannot clone interface with ${propertyName} as property is not implemented by the underlying object type ${objDef.apiName}`,\n );\n }\n return [targetPropName, value];\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createOsdkInterface.js","names":["extractNamespace","get$linkForInterface","InterfaceDefRef","ObjectDefRef","UnderlyingOsdkObject","createOsdkInterface","underlying","interfaceDef","objApiNamespace","apiName","Object","freeze","defineProperties","value","enumerable","$as","$objectType","$primaryKey","$objectSpecifier","$title","$rid","clone","$__EXPERIMENTAL__NOT_SUPPORTED_YET__getFormattedValue","get","fromEntries","keys","properties","map","p","objDef","apiNamespace","targetPropName","interfaceMap","update","$clone","key","Error","remappedProps","mapProperty","filter","x","propertyName"],"sources":["createOsdkInterface.ts"],"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 */\n\nimport type { InterfaceMetadata } from \"@osdk/api\";\nimport { extractNamespace } from \"../../internal/conversions/modernToLegacyWhereClause.js\";\nimport type { FetchedObjectTypeDefinition } from \"../../ontology/OntologyProvider.js\";\nimport { get$linkForInterface } from \"./getDollarLink.js\";\nimport type { InterfaceHolder } from \"./InterfaceHolder.js\";\nimport {\n InterfaceDefRef,\n ObjectDefRef,\n UnderlyingOsdkObject,\n} from \"./InternalSymbols.js\";\nimport type { ObjectHolder } from \"./ObjectHolder.js\";\n\n/** @internal */\nexport function createOsdkInterface<\n Q extends FetchedObjectTypeDefinition,\n>(\n underlying: ObjectHolder,\n interfaceDef: InterfaceMetadata,\n): InterfaceHolder {\n const [objApiNamespace] = extractNamespace(interfaceDef.apiName);\n\n return Object.freeze(\n Object.defineProperties({}, {\n // first to minimize hidden classes\n [UnderlyingOsdkObject]: { value: underlying },\n\n \"$apiName\": { value: interfaceDef.apiName, enumerable: true },\n \"$as\": {\n value: underlying.$as,\n enumerable: false,\n },\n \"$objectType\": {\n value: underlying.$objectType,\n enumerable: \"$objectType\" in underlying,\n },\n \"$primaryKey\": {\n value: underlying.$primaryKey,\n enumerable: \"$primaryKey\" in underlying,\n },\n \"$objectSpecifier\": {\n value: underlying.$objectSpecifier,\n enumerable: \"$objectSpecifier\" in underlying,\n },\n \"$title\": {\n value: underlying.$title,\n enumerable: \"$title\" in underlying,\n },\n \"$rid\": {\n value: (underlying as any).$rid,\n enumerable: \"$rid\" in underlying,\n },\n \"$clone\": {\n value: clone,\n enumerable: false,\n },\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\": {\n value: {\n \"ObjectMetadata\": underlying[ObjectDefRef],\n \"InterfaceMetadata\": interfaceDef,\n },\n enumerable: false,\n },\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__getFormattedValue\": {\n value: underlying.$__EXPERIMENTAL__NOT_SUPPORTED_YET__getFormattedValue,\n enumerable: false,\n },\n\n \"$link\": {\n get: function(this: InterfaceHolder) {\n return get$linkForInterface(this);\n },\n },\n\n [InterfaceDefRef]: { value: interfaceDef },\n\n ...Object.fromEntries(\n Object.keys(interfaceDef.properties).map(p => {\n const objDef = underlying[ObjectDefRef];\n\n const [apiNamespace, apiName] = extractNamespace(p);\n\n const targetPropName = objDef\n .interfaceMap![interfaceDef.apiName][p];\n\n return [apiNamespace === objApiNamespace ? apiName : p, {\n enumerable: targetPropName in underlying,\n value: underlying[targetPropName as keyof typeof underlying],\n }];\n }),\n ),\n }) as InterfaceHolder,\n );\n function clone(update: Record<string, any> | undefined) {\n if (update == null) {\n return underlying.$clone().$as(interfaceDef);\n }\n\n for (const key of Object.keys(update)) {\n if (!(key in interfaceDef.properties)) {\n throw new Error(\n `Invalid property ${key} for interface ${interfaceDef.apiName}`,\n );\n }\n }\n\n const remappedProps = Object.fromEntries(\n Object.keys(update).map(p => mapProperty(p, update[p])).filter(x =>\n x != null\n ),\n );\n\n return underlying.$clone(remappedProps).$as(interfaceDef);\n }\n function mapProperty(propertyName: string, value: any) {\n const objDef = underlying[ObjectDefRef];\n const targetPropName =\n objDef.interfaceMap![interfaceDef.apiName][propertyName];\n // If the underlying object does not implement the SPT, throw errors\n if (targetPropName == null) {\n throw new Error(\n `Cannot clone interface with ${propertyName} as property is not implemented by the underlying object type ${objDef.apiName}`,\n );\n }\n return [targetPropName, value];\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,gBAAgB,QAAQ,yDAAyD;AAE1F,SAASC,oBAAoB,QAAQ,oBAAoB;AAEzD,SACEC,eAAe,EACfC,YAAY,EACZC,oBAAoB,QACf,sBAAsB;AAG7B;AACA,OAAO,SAASC,mBAAmBA,CAGjCC,UAAwB,EACxBC,YAA+B,EACd;EACjB,MAAM,CAACC,eAAe,CAAC,GAAGR,gBAAgB,CAACO,YAAY,CAACE,OAAO,CAAC;EAEhE,OAAOC,MAAM,CAACC,MAAM,CAClBD,MAAM,CAACE,gBAAgB,CAAC,CAAC,CAAC,EAAE;IAC1B;IACA,CAACR,oBAAoB,GAAG;MAAES,KAAK,EAAEP;IAAW,CAAC;IAE7C,UAAU,EAAE;MAAEO,KAAK,EAAEN,YAAY,CAACE,OAAO;MAAEK,UAAU,EAAE;IAAK,CAAC;IAC7D,KAAK,EAAE;MACLD,KAAK,EAAEP,UAAU,CAACS,GAAG;MACrBD,UAAU,EAAE;IACd,CAAC;IACD,aAAa,EAAE;MACbD,KAAK,EAAEP,UAAU,CAACU,WAAW;MAC7BF,UAAU,EAAE,aAAa,IAAIR;IAC/B,CAAC;IACD,aAAa,EAAE;MACbO,KAAK,EAAEP,UAAU,CAACW,WAAW;MAC7BH,UAAU,EAAE,aAAa,IAAIR;IAC/B,CAAC;IACD,kBAAkB,EAAE;MAClBO,KAAK,EAAEP,UAAU,CAACY,gBAAgB;MAClCJ,UAAU,EAAE,kBAAkB,IAAIR;IACpC,CAAC;IACD,QAAQ,EAAE;MACRO,KAAK,EAAEP,UAAU,CAACa,MAAM;MACxBL,UAAU,EAAE,QAAQ,IAAIR;IAC1B,CAAC;IACD,MAAM,EAAE;MACNO,KAAK,EAAGP,UAAU,CAASc,IAAI;MAC/BN,UAAU,EAAE,MAAM,IAAIR;IACxB,CAAC;IACD,QAAQ,EAAE;MACRO,KAAK,EAAEQ,KAAK;MACZP,UAAU,EAAE;IACd,CAAC;IACD,8CAA8C,EAAE;MAC9CD,KAAK,EAAE;QACL,gBAAgB,EAAEP,UAAU,CAACH,YAAY,CAAC;QAC1C,mBAAmB,EAAEI;MACvB,CAAC;MACDO,UAAU,EAAE;IACd,CAAC;IACD,uDAAuD,EAAE;MACvDD,KAAK,EAAEP,UAAU,CAACgB,qDAAqD;MACvER,UAAU,EAAE;IACd,CAAC;IAED,OAAO,EAAE;MACPS,GAAG,EAAE,SAAAA,CAAA,EAAgC;QACnC,OAAOtB,oBAAoB,CAAC,IAAI,CAAC;MACnC;IACF,CAAC;IAED,CAACC,eAAe,GAAG;MAAEW,KAAK,EAAEN;IAAa,CAAC;IAE1C,GAAGG,MAAM,CAACc,WAAW,CACnBd,MAAM,CAACe,IAAI,CAAClB,YAAY,CAACmB,UAAU,CAAC,CAACC,GAAG,CAACC,CAAC,IAAI;MAC5C,MAAMC,MAAM,GAAGvB,UAAU,CAACH,YAAY,CAAC;MAEvC,MAAM,CAAC2B,YAAY,EAAErB,OAAO,CAAC,GAAGT,gBAAgB,CAAC4B,CAAC,CAAC;MAEnD,MAAMG,cAAc,GAAGF,MAAM,CAC1BG,YAAY,CAAEzB,YAAY,CAACE,OAAO,CAAC,CAACmB,CAAC,CAAC;MAEzC,OAAO,CAACE,YAAY,KAAKtB,eAAe,GAAGC,OAAO,GAAGmB,CAAC,EAAE;QACtDd,UAAU,EAAEiB,cAAc,IAAIzB,UAAU;QACxCO,KAAK,EAAEP,UAAU,CAACyB,cAAc;MAClC,CAAC,CAAC;IACJ,CAAC,CACH;EACF,CAAC,CACH,CAAC;EACD,SAASV,KAAKA,CAACY,MAAuC,EAAE;IACtD,IAAIA,MAAM,IAAI,IAAI,EAAE;MAClB,OAAO3B,UAAU,CAAC4B,MAAM,CAAC,CAAC,CAACnB,GAAG,CAACR,YAAY,CAAC;IAC9C;IAEA,KAAK,MAAM4B,GAAG,IAAIzB,MAAM,CAACe,IAAI,CAACQ,MAAM,CAAC,EAAE;MACrC,IAAI,EAAEE,GAAG,IAAI5B,YAAY,CAACmB,UAAU,CAAC,EAAE;QACrC,MAAM,IAAIU,KAAK,CACb,oBAAoBD,GAAG,kBAAkB5B,YAAY,CAACE,OAAO,EAC/D,CAAC;MACH;IACF;IAEA,MAAM4B,aAAa,GAAG3B,MAAM,CAACc,WAAW,CACtCd,MAAM,CAACe,IAAI,CAACQ,MAAM,CAAC,CAACN,GAAG,CAACC,CAAC,IAAIU,WAAW,CAACV,CAAC,EAAEK,MAAM,CAACL,CAAC,CAAC,CAAC,CAAC,CAACW,MAAM,CAACC,CAAC,IAC9DA,CAAC,IAAI,IACP,CACF,CAAC;IAED,OAAOlC,UAAU,CAAC4B,MAAM,CAACG,aAAa,CAAC,CAACtB,GAAG,CAACR,YAAY,CAAC;EAC3D;EACA,SAAS+B,WAAWA,CAACG,YAAoB,EAAE5B,KAAU,EAAE;IACrD,MAAMgB,MAAM,GAAGvB,UAAU,CAACH,YAAY,CAAC;IACvC,MAAM4B,cAAc,GAClBF,MAAM,CAACG,YAAY,CAAEzB,YAAY,CAACE,OAAO,CAAC,CAACgC,YAAY,CAAC;IAC1D;IACA,IAAIV,cAAc,IAAI,IAAI,EAAE;MAC1B,MAAM,IAAIK,KAAK,CACb,+BAA+BK,YAAY,iEAAiEZ,MAAM,CAACpB,OAAO,EAC5H,CAAC;IACH;IACA,OAAO,CAACsB,cAAc,EAAElB,KAAK,CAAC;EAChC;AACF","ignoreList":[]}
@@ -20,6 +20,7 @@ import { MediaReferencePropertyImpl } from "../../createMediaReferenceProperty.j
20
20
  import { TimeSeriesPropertyImpl } from "../../createTimeseriesProperty.js";
21
21
  import { hydrateAttachmentFromRidInternal } from "../../public-utils/hydrateAttachmentFromRid.js";
22
22
  import { createObjectSpecifierFromPrimaryKey } from "../../util/objectSpecifierUtils.js";
23
+ import { applyPropertyFormatter } from "../formatting/applyPropertyFormatter.js";
23
24
  import { get$as } from "./getDollarAs.js";
24
25
  import { get$link } from "./getDollarLink.js";
25
26
  import { ClientRef, ObjectDefRef, UnderlyingOsdkObject } from "./InternalSymbols.js";
@@ -75,6 +76,15 @@ const basePropDefs = {
75
76
  };
76
77
  },
77
78
  enumerable: false
79
+ },
80
+ "$__EXPERIMENTAL__NOT_SUPPORTED_YET__getFormattedValue": {
81
+ value: function (propertyApiName, options) {
82
+ const rawObj = this[UnderlyingOsdkObject];
83
+ const def = this[ObjectDefRef];
84
+ const propertyValue = rawObj[propertyApiName];
85
+ return applyPropertyFormatter(propertyValue, def.properties[propertyApiName], rawObj, options);
86
+ },
87
+ enumerable: false
78
88
  }
79
89
  };
80
90
 
@@ -1 +1 @@
1
- {"version":3,"file":"createOsdkObject.js","names":["invariant","GeotimeSeriesPropertyImpl","MediaReferencePropertyImpl","TimeSeriesPropertyImpl","hydrateAttachmentFromRidInternal","createObjectSpecifierFromPrimaryKey","get$as","get$link","ClientRef","ObjectDefRef","UnderlyingOsdkObject","specialPropertyTypes","Set","basePropDefs","get","value","update","rawObj","def","createOsdkObject","primaryKeyApiName","Error","apiName","titleProperty","$title","newObject","$primaryKey","enumerable","ObjectMetadata","client","objectDef","simpleOsdkProperties","derivedPropertyTypeByName","Object","defineProperties","propKey","keys","properties","type","has","createSpecialProperty","modifyRdpProperties","freeze","rawValue","definition","operation","num","Number","isSafeInteger","process","env","NODE_ENV","selectedOrCollectedPropertyType","Array","isArray","map","a","rid","rawObject","p","propDef","time","timestamp","coordinates","position","undefined","objectApiName","primaryKey","propertyName","mediaReference"],"sources":["createOsdkObject.ts"],"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 */\n\nimport type { MediaReference } from \"@osdk/foundry.core\";\nimport type { Attachment, ReferenceValue } from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { GeotimeSeriesPropertyImpl } from \"../../createGeotimeSeriesProperty.js\";\nimport { MediaReferencePropertyImpl } from \"../../createMediaReferenceProperty.js\";\nimport { TimeSeriesPropertyImpl } from \"../../createTimeseriesProperty.js\";\nimport type { DerivedPropertyRuntimeMetadata } from \"../../derivedProperties/derivedPropertyRuntimeMetadata.js\";\nimport type { MinimalClient } from \"../../MinimalClientContext.js\";\nimport type { FetchedObjectTypeDefinition } from \"../../ontology/OntologyProvider.js\";\nimport { hydrateAttachmentFromRidInternal } from \"../../public-utils/hydrateAttachmentFromRid.js\";\nimport { createObjectSpecifierFromPrimaryKey } from \"../../util/objectSpecifierUtils.js\";\nimport type { SimpleOsdkProperties } from \"../SimpleOsdkProperties.js\";\nimport { get$as } from \"./getDollarAs.js\";\nimport { get$link } from \"./getDollarLink.js\";\nimport {\n ClientRef,\n ObjectDefRef,\n UnderlyingOsdkObject,\n} from \"./InternalSymbols.js\";\nimport type { ObjectHolder } from \"./ObjectHolder.js\";\n\nconst specialPropertyTypes = new Set(\n [\n \"attachment\",\n \"geotimeSeriesReference\",\n \"mediaReference\",\n \"numericTimeseries\",\n \"stringTimeseries\",\n \"sensorTimeseries\",\n ],\n);\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(this: ObjectHolder) {\n return get$as(this[ObjectDefRef]);\n },\n },\n \"$link\": {\n get: function(this: ObjectHolder) {\n return get$link(this);\n },\n },\n \"$clone\": {\n value: function(\n this: ObjectHolder,\n update: Record<string, any> | undefined,\n ) {\n // I think `rawObj` is the same thing as `this` and can be removed?\n const rawObj = this[UnderlyingOsdkObject] as SimpleOsdkProperties;\n const def = this[ObjectDefRef];\n\n if (update == null) {\n return createOsdkObject(this[ClientRef], def, { ...rawObj });\n }\n\n if (\n def.primaryKeyApiName in update\n && rawObj[def.primaryKeyApiName] !== update[def.primaryKeyApiName]\n ) {\n throw new Error(\n `Cannot update ${def.apiName} object with differing primary key values `,\n );\n }\n\n if (def.titleProperty in update && !(\"$title\" in update)) {\n update.$title = update[def.titleProperty];\n }\n\n const newObject = { ...this[UnderlyingOsdkObject], ...update };\n return createOsdkObject(this[ClientRef], this[ObjectDefRef], newObject);\n },\n },\n \"$objectSpecifier\": {\n get: function(this: ObjectHolder) {\n const rawObj = this[UnderlyingOsdkObject];\n return createObjectSpecifierFromPrimaryKey(\n this[ObjectDefRef],\n rawObj.$primaryKey,\n );\n },\n enumerable: true,\n },\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\": {\n get: function(this: ObjectHolder) {\n return {\n ObjectMetadata: this[ObjectDefRef],\n };\n },\n enumerable: false,\n },\n};\n\n/**\n * @internal\n * @param client\n * @param objectDef\n * @param simpleOsdkProperties\n */\nexport function createOsdkObject(\n client: MinimalClient,\n objectDef: FetchedObjectTypeDefinition,\n simpleOsdkProperties: SimpleOsdkProperties,\n derivedPropertyTypeByName: DerivedPropertyRuntimeMetadata = {},\n): ObjectHolder {\n // updates the object's \"hidden class/map\".\n const rawObj = simpleOsdkProperties as ObjectHolder;\n Object.defineProperties(\n rawObj,\n {\n [UnderlyingOsdkObject]: {\n enumerable: false,\n value: simpleOsdkProperties,\n },\n [ObjectDefRef]: { value: objectDef, enumerable: false }, // TODO: Potentially update when GA metadata field\n [ClientRef]: { value: client, enumerable: false },\n ...basePropDefs,\n } satisfies Record<keyof ObjectHolder, PropertyDescriptor>,\n );\n\n // Assign the special values\n for (const propKey of Object.keys(rawObj)) {\n if (\n propKey in objectDef.properties\n && typeof (objectDef.properties[propKey].type) === \"string\"\n && specialPropertyTypes.has(objectDef.properties[propKey].type)\n ) {\n rawObj[propKey] = createSpecialProperty(\n client,\n objectDef,\n rawObj,\n propKey,\n );\n } else if (propKey in derivedPropertyTypeByName) {\n rawObj[propKey] = modifyRdpProperties(\n client,\n derivedPropertyTypeByName,\n rawObj[propKey],\n propKey,\n );\n }\n }\n\n return Object.freeze(rawObj);\n}\n\nfunction modifyRdpProperties(\n client: MinimalClient,\n derivedPropertyTypeByName: DerivedPropertyRuntimeMetadata,\n rawValue: any,\n propKey: string,\n): any {\n if (\n derivedPropertyTypeByName[propKey].definition.type === \"selection\"\n && derivedPropertyTypeByName[propKey].definition.operation.type\n === \"count\"\n ) {\n const num = Number(rawValue);\n invariant(\n Number.isSafeInteger(num),\n \"Count aggregation for derived property \" + propKey\n + \" returned a value larger than safe integer.\",\n );\n return num;\n } // Selected or collected properties need to be deserialized specially when constructed with RDP\n else if (\n derivedPropertyTypeByName[propKey].selectedOrCollectedPropertyType\n != null\n && typeof (derivedPropertyTypeByName[propKey]\n .selectedOrCollectedPropertyType.type)\n === \"string\"\n && specialPropertyTypes.has(\n derivedPropertyTypeByName[propKey].selectedOrCollectedPropertyType\n .type,\n )\n ) {\n switch (\n derivedPropertyTypeByName[propKey].selectedOrCollectedPropertyType\n ?.type\n ) {\n case \"attachment\":\n if (Array.isArray(rawValue)) {\n return rawValue.map(a =>\n hydrateAttachmentFromRidInternal(client, a.rid)\n );\n } else {\n return hydrateAttachmentFromRidInternal(\n client,\n (rawValue as Attachment).rid,\n );\n }\n break;\n default:\n invariant(\n false,\n \"Derived property aggregations for Timeseries and Media are not supported\",\n );\n }\n }\n return rawValue;\n}\n\nfunction createSpecialProperty(\n client: MinimalClient,\n objectDef: FetchedObjectTypeDefinition,\n rawObject: ObjectHolder,\n p: keyof typeof rawObject & string | symbol,\n) {\n const rawValue = rawObject[p as any];\n const propDef = objectDef.properties[p as any];\n if (process.env.NODE_ENV !== \"production\") {\n invariant(\n propDef != null && typeof propDef.type === \"string\"\n && specialPropertyTypes.has(propDef.type),\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(\n client,\n (rawValue as Attachment).rid,\n );\n }\n\n if (\n propDef.type === \"numericTimeseries\"\n || propDef.type === \"stringTimeseries\"\n || propDef.type === \"sensorTimeseries\"\n ) {\n return new TimeSeriesPropertyImpl<\n (typeof propDef)[\"type\"] extends \"numericTimeseries\" ? number\n : (typeof propDef)[\"type\"] extends \"stringTimeseries\" ? string\n : number | string\n >(\n client,\n objectDef.apiName,\n rawObject[objectDef.primaryKeyApiName as string],\n p as string,\n );\n }\n\n if (propDef.type === \"geotimeSeriesReference\") {\n return new GeotimeSeriesPropertyImpl<GeoJSON.Point>(\n client,\n objectDef.apiName,\n rawObject[objectDef.primaryKeyApiName as string],\n p as string,\n (rawValue as ReferenceValue).type === \"geotimeSeriesValue\"\n ? {\n time: (rawValue as ReferenceValue).timestamp,\n value: {\n type: \"Point\",\n coordinates: (rawValue as ReferenceValue).position,\n },\n }\n : undefined,\n );\n }\n if (propDef.type === \"mediaReference\") {\n return new MediaReferencePropertyImpl({\n client,\n objectApiName: objectDef.apiName,\n primaryKey: rawObject[objectDef.primaryKeyApiName as string],\n propertyName: p as string,\n mediaReference: rawValue as MediaReference,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createOsdkObject.js","names":["invariant","GeotimeSeriesPropertyImpl","MediaReferencePropertyImpl","TimeSeriesPropertyImpl","hydrateAttachmentFromRidInternal","createObjectSpecifierFromPrimaryKey","applyPropertyFormatter","get$as","get$link","ClientRef","ObjectDefRef","UnderlyingOsdkObject","specialPropertyTypes","Set","basePropDefs","get","value","update","rawObj","def","createOsdkObject","primaryKeyApiName","Error","apiName","titleProperty","$title","newObject","$primaryKey","enumerable","ObjectMetadata","propertyApiName","options","propertyValue","properties","client","objectDef","simpleOsdkProperties","derivedPropertyTypeByName","Object","defineProperties","propKey","keys","type","has","createSpecialProperty","modifyRdpProperties","freeze","rawValue","definition","operation","num","Number","isSafeInteger","process","env","NODE_ENV","selectedOrCollectedPropertyType","Array","isArray","map","a","rid","rawObject","p","propDef","time","timestamp","coordinates","position","undefined","objectApiName","primaryKey","propertyName","mediaReference"],"sources":["createOsdkObject.ts"],"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 */\n\nimport type { MediaReference } from \"@osdk/foundry.core\";\nimport type { Attachment, ReferenceValue } from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { GeotimeSeriesPropertyImpl } from \"../../createGeotimeSeriesProperty.js\";\nimport { MediaReferencePropertyImpl } from \"../../createMediaReferenceProperty.js\";\nimport { TimeSeriesPropertyImpl } from \"../../createTimeseriesProperty.js\";\nimport type { DerivedPropertyRuntimeMetadata } from \"../../derivedProperties/derivedPropertyRuntimeMetadata.js\";\nimport type { MinimalClient } from \"../../MinimalClientContext.js\";\nimport type { FetchedObjectTypeDefinition } from \"../../ontology/OntologyProvider.js\";\nimport { hydrateAttachmentFromRidInternal } from \"../../public-utils/hydrateAttachmentFromRid.js\";\nimport { createObjectSpecifierFromPrimaryKey } from \"../../util/objectSpecifierUtils.js\";\nimport {\n applyPropertyFormatter,\n type FormatPropertyOptions,\n} from \"../formatting/applyPropertyFormatter.js\";\nimport type { SimpleOsdkProperties } from \"../SimpleOsdkProperties.js\";\nimport { get$as } from \"./getDollarAs.js\";\nimport { get$link } from \"./getDollarLink.js\";\nimport {\n ClientRef,\n ObjectDefRef,\n UnderlyingOsdkObject,\n} from \"./InternalSymbols.js\";\nimport type { ObjectHolder } from \"./ObjectHolder.js\";\n\nconst specialPropertyTypes = new Set(\n [\n \"attachment\",\n \"geotimeSeriesReference\",\n \"mediaReference\",\n \"numericTimeseries\",\n \"stringTimeseries\",\n \"sensorTimeseries\",\n ],\n);\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(this: ObjectHolder) {\n return get$as(this[ObjectDefRef]);\n },\n },\n \"$link\": {\n get: function(this: ObjectHolder) {\n return get$link(this);\n },\n },\n \"$clone\": {\n value: function(\n this: ObjectHolder,\n update: Record<string, any> | undefined,\n ) {\n // I think `rawObj` is the same thing as `this` and can be removed?\n const rawObj = this[UnderlyingOsdkObject] as SimpleOsdkProperties;\n const def = this[ObjectDefRef];\n\n if (update == null) {\n return createOsdkObject(this[ClientRef], def, { ...rawObj });\n }\n\n if (\n def.primaryKeyApiName in update\n && rawObj[def.primaryKeyApiName] !== update[def.primaryKeyApiName]\n ) {\n throw new Error(\n `Cannot update ${def.apiName} object with differing primary key values `,\n );\n }\n\n if (def.titleProperty in update && !(\"$title\" in update)) {\n update.$title = update[def.titleProperty];\n }\n\n const newObject = { ...this[UnderlyingOsdkObject], ...update };\n return createOsdkObject(this[ClientRef], this[ObjectDefRef], newObject);\n },\n },\n \"$objectSpecifier\": {\n get: function(this: ObjectHolder) {\n const rawObj = this[UnderlyingOsdkObject];\n return createObjectSpecifierFromPrimaryKey(\n this[ObjectDefRef],\n rawObj.$primaryKey,\n );\n },\n enumerable: true,\n },\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\": {\n get: function(this: ObjectHolder) {\n return {\n ObjectMetadata: this[ObjectDefRef],\n };\n },\n enumerable: false,\n },\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__getFormattedValue\": {\n value: function(\n this: ObjectHolder,\n propertyApiName: string,\n options?: FormatPropertyOptions,\n ): string | undefined {\n const rawObj = this[UnderlyingOsdkObject] as SimpleOsdkProperties;\n const def = this[ObjectDefRef];\n const propertyValue = rawObj[propertyApiName];\n\n return applyPropertyFormatter(\n propertyValue,\n def.properties[propertyApiName],\n rawObj,\n options,\n );\n },\n enumerable: false,\n },\n};\n\n/**\n * @internal\n * @param client\n * @param objectDef\n * @param simpleOsdkProperties\n */\nexport function createOsdkObject(\n client: MinimalClient,\n objectDef: FetchedObjectTypeDefinition,\n simpleOsdkProperties: SimpleOsdkProperties,\n derivedPropertyTypeByName: DerivedPropertyRuntimeMetadata = {},\n): ObjectHolder {\n // updates the object's \"hidden class/map\".\n const rawObj = simpleOsdkProperties as ObjectHolder;\n Object.defineProperties(\n rawObj,\n {\n [UnderlyingOsdkObject]: {\n enumerable: false,\n value: simpleOsdkProperties,\n },\n [ObjectDefRef]: { value: objectDef, enumerable: false }, // TODO: Potentially update when GA metadata field\n [ClientRef]: { value: client, enumerable: false },\n ...basePropDefs,\n } satisfies Record<keyof ObjectHolder, PropertyDescriptor>,\n );\n\n // Assign the special values\n for (const propKey of Object.keys(rawObj)) {\n if (\n propKey in objectDef.properties\n && typeof (objectDef.properties[propKey].type) === \"string\"\n && specialPropertyTypes.has(objectDef.properties[propKey].type)\n ) {\n rawObj[propKey] = createSpecialProperty(\n client,\n objectDef,\n rawObj,\n propKey,\n );\n } else if (propKey in derivedPropertyTypeByName) {\n rawObj[propKey] = modifyRdpProperties(\n client,\n derivedPropertyTypeByName,\n rawObj[propKey],\n propKey,\n );\n }\n }\n\n return Object.freeze(rawObj);\n}\n\nfunction modifyRdpProperties(\n client: MinimalClient,\n derivedPropertyTypeByName: DerivedPropertyRuntimeMetadata,\n rawValue: any,\n propKey: string,\n): any {\n if (\n derivedPropertyTypeByName[propKey].definition.type === \"selection\"\n && derivedPropertyTypeByName[propKey].definition.operation.type\n === \"count\"\n ) {\n const num = Number(rawValue);\n invariant(\n Number.isSafeInteger(num),\n \"Count aggregation for derived property \" + propKey\n + \" returned a value larger than safe integer.\",\n );\n return num;\n } // Selected or collected properties need to be deserialized specially when constructed with RDP\n else if (\n derivedPropertyTypeByName[propKey].selectedOrCollectedPropertyType\n != null\n && typeof (derivedPropertyTypeByName[propKey]\n .selectedOrCollectedPropertyType.type)\n === \"string\"\n && specialPropertyTypes.has(\n derivedPropertyTypeByName[propKey].selectedOrCollectedPropertyType\n .type,\n )\n ) {\n switch (\n derivedPropertyTypeByName[propKey].selectedOrCollectedPropertyType\n ?.type\n ) {\n case \"attachment\":\n if (Array.isArray(rawValue)) {\n return rawValue.map(a =>\n hydrateAttachmentFromRidInternal(client, a.rid)\n );\n } else {\n return hydrateAttachmentFromRidInternal(\n client,\n (rawValue as Attachment).rid,\n );\n }\n break;\n default:\n invariant(\n false,\n \"Derived property aggregations for Timeseries and Media are not supported\",\n );\n }\n }\n return rawValue;\n}\n\nfunction createSpecialProperty(\n client: MinimalClient,\n objectDef: FetchedObjectTypeDefinition,\n rawObject: ObjectHolder,\n p: keyof typeof rawObject & string | symbol,\n) {\n const rawValue = rawObject[p as any];\n const propDef = objectDef.properties[p as any];\n if (process.env.NODE_ENV !== \"production\") {\n invariant(\n propDef != null && typeof propDef.type === \"string\"\n && specialPropertyTypes.has(propDef.type),\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(\n client,\n (rawValue as Attachment).rid,\n );\n }\n\n if (\n propDef.type === \"numericTimeseries\"\n || propDef.type === \"stringTimeseries\"\n || propDef.type === \"sensorTimeseries\"\n ) {\n return new TimeSeriesPropertyImpl<\n (typeof propDef)[\"type\"] extends \"numericTimeseries\" ? number\n : (typeof propDef)[\"type\"] extends \"stringTimeseries\" ? string\n : number | string\n >(\n client,\n objectDef.apiName,\n rawObject[objectDef.primaryKeyApiName as string],\n p as string,\n );\n }\n\n if (propDef.type === \"geotimeSeriesReference\") {\n return new GeotimeSeriesPropertyImpl<GeoJSON.Point>(\n client,\n objectDef.apiName,\n rawObject[objectDef.primaryKeyApiName as string],\n p as string,\n (rawValue as ReferenceValue).type === \"geotimeSeriesValue\"\n ? {\n time: (rawValue as ReferenceValue).timestamp,\n value: {\n type: \"Point\",\n coordinates: (rawValue as ReferenceValue).position,\n },\n }\n : undefined,\n );\n }\n if (propDef.type === \"mediaReference\") {\n return new MediaReferencePropertyImpl({\n client,\n objectApiName: objectDef.apiName,\n primaryKey: rawObject[objectDef.primaryKeyApiName as string],\n propertyName: p as string,\n mediaReference: rawValue as MediaReference,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -499,6 +499,7 @@ describe("convertWireToOsdkObjects", () => {
499
499
  "multiplicity": false,
500
500
  "nullable": true,
501
501
  "type": "string",
502
+ "valueFormatting": undefined,
502
503
  "valueTypeApiName": undefined,
503
504
  },
504
505
  "employeeId": {
@@ -507,6 +508,7 @@ describe("convertWireToOsdkObjects", () => {
507
508
  "multiplicity": false,
508
509
  "nullable": false,
509
510
  "type": "integer",
511
+ "valueFormatting": undefined,
510
512
  "valueTypeApiName": undefined,
511
513
  },
512
514
  "employeeLocation": {
@@ -515,6 +517,7 @@ describe("convertWireToOsdkObjects", () => {
515
517
  "multiplicity": false,
516
518
  "nullable": true,
517
519
  "type": "geotimeSeriesReference",
520
+ "valueFormatting": undefined,
518
521
  "valueTypeApiName": undefined,
519
522
  },
520
523
  "employeeSensor": {
@@ -523,6 +526,7 @@ describe("convertWireToOsdkObjects", () => {
523
526
  "multiplicity": false,
524
527
  "nullable": true,
525
528
  "type": "sensorTimeseries",
529
+ "valueFormatting": undefined,
526
530
  "valueTypeApiName": undefined,
527
531
  },
528
532
  "employeeStatus": {
@@ -531,6 +535,7 @@ describe("convertWireToOsdkObjects", () => {
531
535
  "multiplicity": false,
532
536
  "nullable": true,
533
537
  "type": "stringTimeseries",
538
+ "valueFormatting": undefined,
534
539
  "valueTypeApiName": undefined,
535
540
  },
536
541
  "fullName": {
@@ -539,6 +544,7 @@ describe("convertWireToOsdkObjects", () => {
539
544
  "multiplicity": false,
540
545
  "nullable": true,
541
546
  "type": "string",
547
+ "valueFormatting": undefined,
542
548
  "valueTypeApiName": undefined,
543
549
  },
544
550
  "office": {
@@ -548,6 +554,7 @@ describe("convertWireToOsdkObjects", () => {
548
554
  "multiplicity": false,
549
555
  "nullable": true,
550
556
  "type": "string",
557
+ "valueFormatting": undefined,
551
558
  "valueTypeApiName": undefined,
552
559
  },
553
560
  "skillSet": {
@@ -556,6 +563,7 @@ describe("convertWireToOsdkObjects", () => {
556
563
  "multiplicity": false,
557
564
  "nullable": true,
558
565
  "type": "string",
566
+ "valueFormatting": undefined,
559
567
  "valueTypeApiName": undefined,
560
568
  },
561
569
  "skillSetEmbedding": {
@@ -564,6 +572,7 @@ describe("convertWireToOsdkObjects", () => {
564
572
  "multiplicity": false,
565
573
  "nullable": true,
566
574
  "type": "vector",
575
+ "valueFormatting": undefined,
567
576
  "valueTypeApiName": undefined,
568
577
  },
569
578
  "startDate": {
@@ -572,6 +581,7 @@ describe("convertWireToOsdkObjects", () => {
572
581
  "multiplicity": false,
573
582
  "nullable": true,
574
583
  "type": "datetime",
584
+ "valueFormatting": undefined,
575
585
  "valueTypeApiName": undefined,
576
586
  },
577
587
  },
@@ -605,6 +615,7 @@ describe("convertWireToOsdkObjects", () => {
605
615
  "multiplicity": false,
606
616
  "nullable": true,
607
617
  "type": "string",
618
+ "valueFormatting": undefined,
608
619
  "valueTypeApiName": undefined,
609
620
  },
610
621
  },
@@ -671,6 +682,7 @@ describe("convertWireToOsdkObjects", () => {
671
682
  "multiplicity": false,
672
683
  "nullable": true,
673
684
  "type": "string",
685
+ "valueFormatting": undefined,
674
686
  "valueTypeApiName": undefined,
675
687
  },
676
688
  },