@osdk/client 2.6.1 → 2.7.0-beta.10

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 (265) hide show
  1. package/CHANGELOG.md +92 -88
  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/actions.test.js +9 -0
  6. package/build/browser/actions/actions.test.js.map +1 -1
  7. package/build/browser/actions/applyAction.js +4 -0
  8. package/build/browser/actions/applyAction.js.map +1 -1
  9. package/build/browser/createClient.js +2 -1
  10. package/build/browser/createClient.js.map +1 -1
  11. package/build/browser/createMinimalClient.js +1 -0
  12. package/build/browser/createMinimalClient.js.map +1 -1
  13. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js +17 -1
  14. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  15. package/build/browser/fetchMetadata.test.js +31 -0
  16. package/build/browser/fetchMetadata.test.js.map +1 -1
  17. package/build/browser/intellisense.test.js +1 -1
  18. package/build/browser/intellisense.test.js.map +1 -1
  19. package/build/browser/object/aggregate.js +1 -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/InternalSymbols.js +3 -0
  24. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  25. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +8 -0
  26. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  27. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +95 -3
  28. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  29. package/build/browser/object/convertWireToOsdkObjects.js +18 -6
  30. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  31. package/build/browser/object/convertWireToOsdkObjects.test.js +189 -28
  32. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  33. package/build/browser/object/fetchPage.js +18 -5
  34. package/build/browser/object/fetchPage.js.map +1 -1
  35. package/build/browser/object/fetchPage.test.js.map +1 -1
  36. package/build/browser/object/formatting/applyPropertyFormatter.js +58 -0
  37. package/build/browser/object/formatting/applyPropertyFormatter.js.map +1 -0
  38. package/build/browser/object/formatting/applyPropertyFormatter.test.js +726 -0
  39. package/build/browser/object/formatting/applyPropertyFormatter.test.js.map +1 -0
  40. package/build/browser/object/formatting/formatBoolean.js +23 -0
  41. package/build/browser/object/formatting/formatBoolean.js.map +1 -0
  42. package/build/browser/object/formatting/formatDateTime.js +158 -0
  43. package/build/browser/object/formatting/formatDateTime.js.map +1 -0
  44. package/build/browser/object/formatting/formatNumber.js +242 -0
  45. package/build/browser/object/formatting/formatNumber.js.map +1 -0
  46. package/build/browser/object/formatting/propertyFormattingUtils.js +39 -0
  47. package/build/browser/object/formatting/propertyFormattingUtils.js.map +1 -0
  48. package/build/browser/object/object.test.js +123 -0
  49. package/build/browser/object/object.test.js.map +1 -1
  50. package/build/browser/objectSet/InterfaceObjectSet.test.js +1 -1
  51. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -1
  52. package/build/browser/objectSet/ObjectSet.test.js +7 -6
  53. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  54. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +2 -2
  55. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  56. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +3 -1
  57. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  58. package/build/browser/objectSet/createObjectSet.js +13 -0
  59. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  60. package/build/browser/objectSet/fetchLinksPage.js +57 -0
  61. package/build/browser/objectSet/fetchLinksPage.js.map +1 -0
  62. package/build/browser/objectSet/fetchLinksPage.test.js +102 -0
  63. package/build/browser/objectSet/fetchLinksPage.test.js.map +1 -0
  64. package/build/browser/observable/ListPayload.js.map +1 -1
  65. package/build/browser/observable/ObjectPayload.js.map +1 -1
  66. package/build/browser/observable/ObservableClient.js +0 -5
  67. package/build/browser/observable/ObservableClient.js.map +1 -1
  68. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  69. package/build/browser/observable/internal/Store.test.js +104 -1
  70. package/build/browser/observable/internal/Store.test.js.map +1 -1
  71. package/build/browser/observable/internal/actions/OptimisticJob.js +1 -1
  72. package/build/browser/observable/internal/actions/OptimisticJob.js.map +1 -1
  73. package/build/browser/observable/internal/base-list/BaseListQuery.js +1 -1
  74. package/build/browser/observable/internal/base-list/BaseListQuery.js.map +1 -1
  75. package/build/browser/observable/internal/links/SpecificLinkQuery.js +9 -1
  76. package/build/browser/observable/internal/links/SpecificLinkQuery.js.map +1 -1
  77. package/build/browser/observable/internal/list/ListQuery.js +17 -2
  78. package/build/browser/observable/internal/list/ListQuery.js.map +1 -1
  79. package/build/browser/observable/internal/objectset/ObjectSetQuery.js +9 -7
  80. package/build/browser/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  81. package/build/browser/observable/internal/utils/rdpFieldOperations.js +46 -25
  82. package/build/browser/observable/internal/utils/rdpFieldOperations.js.map +1 -1
  83. package/build/browser/observable/internal/utils/rdpFieldOperations.test.js +172 -0
  84. package/build/browser/observable/internal/utils/rdpFieldOperations.test.js.map +1 -0
  85. package/build/browser/ontology/loadActionMetadata.js +3 -1
  86. package/build/browser/ontology/loadActionMetadata.js.map +1 -1
  87. package/build/browser/ontology/loadFullObjectMetadata.js +2 -1
  88. package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
  89. package/build/browser/ontology/loadInterfaceMetadata.js +2 -1
  90. package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -1
  91. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  92. package/build/browser/queries/applyQuery.js +14 -0
  93. package/build/browser/queries/applyQuery.js.map +1 -1
  94. package/build/browser/queries/queries.test.js +14 -2
  95. package/build/browser/queries/queries.test.js.map +1 -1
  96. package/build/browser/util/UserAgent.js +2 -2
  97. package/build/browser/util/UserAgent.js.map +1 -1
  98. package/build/browser/util/toDataValue.js +0 -1
  99. package/build/browser/util/toDataValue.js.map +1 -1
  100. package/build/browser/util/toDataValue.test.js +4 -0
  101. package/build/browser/util/toDataValue.test.js.map +1 -1
  102. package/build/cjs/{chunk-6SCDLAU2.cjs → chunk-LDTMSHUZ.cjs} +4 -4
  103. package/build/cjs/{chunk-6SCDLAU2.cjs.map → chunk-LDTMSHUZ.cjs.map} +1 -1
  104. package/build/cjs/{chunk-BRUBBJUT.cjs → chunk-MZZAHBN6.cjs} +636 -138
  105. package/build/cjs/chunk-MZZAHBN6.cjs.map +1 -0
  106. package/build/cjs/{chunk-EHMN4DL4.cjs → chunk-RDZ5NKAI.cjs} +210 -129
  107. package/build/cjs/chunk-RDZ5NKAI.cjs.map +1 -0
  108. package/build/cjs/{createClient-DvwysJMX.d.cts → createClient-D5G3qzAO.d.cts} +1 -0
  109. package/build/cjs/{delay-KIUUJ5NJ.cjs → delay-W2TSML2P.cjs} +4 -4
  110. package/build/cjs/{delay-KIUUJ5NJ.cjs.map → delay-W2TSML2P.cjs.map} +1 -1
  111. package/build/cjs/index.cjs +12 -12
  112. package/build/cjs/index.d.cts +1 -1
  113. package/build/cjs/public/internal-node.cjs +219 -219
  114. package/build/cjs/public/internal.cjs +14 -14
  115. package/build/cjs/public/unstable-do-not-use.cjs +335 -145
  116. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  117. package/build/cjs/public/unstable-do-not-use.d.cts +9 -9
  118. package/build/esm/Client.js +1 -1
  119. package/build/esm/Client.js.map +1 -1
  120. package/build/esm/MinimalClientContext.js.map +1 -1
  121. package/build/esm/actions/actions.test.js +9 -0
  122. package/build/esm/actions/actions.test.js.map +1 -1
  123. package/build/esm/actions/applyAction.js +4 -0
  124. package/build/esm/actions/applyAction.js.map +1 -1
  125. package/build/esm/createClient.js +2 -1
  126. package/build/esm/createClient.js.map +1 -1
  127. package/build/esm/createMinimalClient.js +1 -0
  128. package/build/esm/createMinimalClient.js.map +1 -1
  129. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js +17 -1
  130. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  131. package/build/esm/fetchMetadata.test.js +31 -0
  132. package/build/esm/fetchMetadata.test.js.map +1 -1
  133. package/build/esm/intellisense.test.js +1 -1
  134. package/build/esm/intellisense.test.js.map +1 -1
  135. package/build/esm/object/aggregate.js +1 -0
  136. package/build/esm/object/aggregate.js.map +1 -1
  137. package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
  138. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  139. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +3 -0
  140. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  141. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +8 -0
  142. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  143. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +95 -3
  144. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  145. package/build/esm/object/convertWireToOsdkObjects.js +18 -6
  146. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  147. package/build/esm/object/convertWireToOsdkObjects.test.js +189 -28
  148. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  149. package/build/esm/object/fetchPage.js +18 -5
  150. package/build/esm/object/fetchPage.js.map +1 -1
  151. package/build/esm/object/fetchPage.test.js.map +1 -1
  152. package/build/esm/object/formatting/applyPropertyFormatter.js +58 -0
  153. package/build/esm/object/formatting/applyPropertyFormatter.js.map +1 -0
  154. package/build/esm/object/formatting/applyPropertyFormatter.test.js +726 -0
  155. package/build/esm/object/formatting/applyPropertyFormatter.test.js.map +1 -0
  156. package/build/esm/object/formatting/formatBoolean.js +23 -0
  157. package/build/esm/object/formatting/formatBoolean.js.map +1 -0
  158. package/build/esm/object/formatting/formatDateTime.js +158 -0
  159. package/build/esm/object/formatting/formatDateTime.js.map +1 -0
  160. package/build/esm/object/formatting/formatNumber.js +242 -0
  161. package/build/esm/object/formatting/formatNumber.js.map +1 -0
  162. package/build/esm/object/formatting/propertyFormattingUtils.js +39 -0
  163. package/build/esm/object/formatting/propertyFormattingUtils.js.map +1 -0
  164. package/build/esm/object/object.test.js +123 -0
  165. package/build/esm/object/object.test.js.map +1 -1
  166. package/build/esm/objectSet/InterfaceObjectSet.test.js +1 -1
  167. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -1
  168. package/build/esm/objectSet/ObjectSet.test.js +7 -6
  169. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  170. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +2 -2
  171. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  172. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +3 -1
  173. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  174. package/build/esm/objectSet/createObjectSet.js +13 -0
  175. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  176. package/build/esm/objectSet/fetchLinksPage.js +57 -0
  177. package/build/esm/objectSet/fetchLinksPage.js.map +1 -0
  178. package/build/esm/objectSet/fetchLinksPage.test.js +102 -0
  179. package/build/esm/objectSet/fetchLinksPage.test.js.map +1 -0
  180. package/build/esm/observable/ListPayload.js.map +1 -1
  181. package/build/esm/observable/ObjectPayload.js.map +1 -1
  182. package/build/esm/observable/ObservableClient.js +0 -5
  183. package/build/esm/observable/ObservableClient.js.map +1 -1
  184. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  185. package/build/esm/observable/internal/Store.test.js +104 -1
  186. package/build/esm/observable/internal/Store.test.js.map +1 -1
  187. package/build/esm/observable/internal/actions/OptimisticJob.js +1 -1
  188. package/build/esm/observable/internal/actions/OptimisticJob.js.map +1 -1
  189. package/build/esm/observable/internal/base-list/BaseListQuery.js +1 -1
  190. package/build/esm/observable/internal/base-list/BaseListQuery.js.map +1 -1
  191. package/build/esm/observable/internal/links/SpecificLinkQuery.js +9 -1
  192. package/build/esm/observable/internal/links/SpecificLinkQuery.js.map +1 -1
  193. package/build/esm/observable/internal/list/ListQuery.js +17 -2
  194. package/build/esm/observable/internal/list/ListQuery.js.map +1 -1
  195. package/build/esm/observable/internal/objectset/ObjectSetQuery.js +9 -7
  196. package/build/esm/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  197. package/build/esm/observable/internal/utils/rdpFieldOperations.js +46 -25
  198. package/build/esm/observable/internal/utils/rdpFieldOperations.js.map +1 -1
  199. package/build/esm/observable/internal/utils/rdpFieldOperations.test.js +172 -0
  200. package/build/esm/observable/internal/utils/rdpFieldOperations.test.js.map +1 -0
  201. package/build/esm/ontology/loadActionMetadata.js +3 -1
  202. package/build/esm/ontology/loadActionMetadata.js.map +1 -1
  203. package/build/esm/ontology/loadFullObjectMetadata.js +2 -1
  204. package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
  205. package/build/esm/ontology/loadInterfaceMetadata.js +2 -1
  206. package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -1
  207. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  208. package/build/esm/queries/applyQuery.js +14 -0
  209. package/build/esm/queries/applyQuery.js.map +1 -1
  210. package/build/esm/queries/queries.test.js +14 -2
  211. package/build/esm/queries/queries.test.js.map +1 -1
  212. package/build/esm/util/UserAgent.js +2 -2
  213. package/build/esm/util/UserAgent.js.map +1 -1
  214. package/build/esm/util/toDataValue.js +0 -1
  215. package/build/esm/util/toDataValue.js.map +1 -1
  216. package/build/esm/util/toDataValue.test.js +4 -0
  217. package/build/esm/util/toDataValue.test.js.map +1 -1
  218. package/build/types/Client.d.ts +1 -1
  219. package/build/types/MinimalClientContext.d.ts +1 -0
  220. package/build/types/MinimalClientContext.d.ts.map +1 -1
  221. package/build/types/actions/applyAction.d.ts.map +1 -1
  222. package/build/types/createClient.d.ts +1 -0
  223. package/build/types/createClient.d.ts.map +1 -1
  224. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts +2 -0
  225. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
  226. package/build/types/object/convertWireToOsdkObjects.d.ts +4 -4
  227. package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -1
  228. package/build/types/object/fetchPage.d.ts.map +1 -1
  229. package/build/types/object/formatting/applyPropertyFormatter.d.ts +18 -0
  230. package/build/types/object/formatting/applyPropertyFormatter.d.ts.map +1 -0
  231. package/build/types/object/formatting/applyPropertyFormatter.test.d.ts +1 -0
  232. package/build/types/object/formatting/applyPropertyFormatter.test.d.ts.map +1 -0
  233. package/build/types/object/formatting/formatBoolean.d.ts +5 -0
  234. package/build/types/object/formatting/formatBoolean.d.ts.map +1 -0
  235. package/build/types/object/formatting/formatDateTime.d.ts +6 -0
  236. package/build/types/object/formatting/formatDateTime.d.ts.map +1 -0
  237. package/build/types/object/formatting/formatNumber.d.ts +15 -0
  238. package/build/types/object/formatting/formatNumber.d.ts.map +1 -0
  239. package/build/types/object/formatting/propertyFormattingUtils.d.ts +10 -0
  240. package/build/types/object/formatting/propertyFormattingUtils.d.ts.map +1 -0
  241. package/build/types/object/object.test.d.ts.map +1 -1
  242. package/build/types/objectSet/fetchLinksPage.d.ts +1 -0
  243. package/build/types/objectSet/fetchLinksPage.d.ts.map +1 -0
  244. package/build/types/objectSet/fetchLinksPage.test.d.ts +1 -0
  245. package/build/types/objectSet/fetchLinksPage.test.d.ts.map +1 -0
  246. package/build/types/observable/ListPayload.d.ts +3 -2
  247. package/build/types/observable/ListPayload.d.ts.map +1 -1
  248. package/build/types/observable/ObjectPayload.d.ts +2 -2
  249. package/build/types/observable/ObjectPayload.d.ts.map +1 -1
  250. package/build/types/observable/ObservableClient.d.ts +10 -7
  251. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  252. package/build/types/observable/internal/Store.test.d.ts.map +1 -1
  253. package/build/types/observable/internal/actions/OptimisticJob.d.ts.map +1 -1
  254. package/build/types/observable/internal/links/SpecificLinkQuery.d.ts.map +1 -1
  255. package/build/types/observable/internal/list/ListQuery.d.ts.map +1 -1
  256. package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts.map +1 -1
  257. package/build/types/observable/internal/utils/rdpFieldOperations.d.ts.map +1 -1
  258. package/build/types/observable/internal/utils/rdpFieldOperations.test.d.ts +1 -0
  259. package/build/types/observable/internal/utils/rdpFieldOperations.test.d.ts.map +1 -0
  260. package/build/types/public/unstable-do-not-use.d.ts +1 -1
  261. package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
  262. package/build/types/queries/applyQuery.d.ts.map +1 -1
  263. package/package.json +14 -14
  264. package/build/cjs/chunk-BRUBBJUT.cjs.map +0 -1
  265. package/build/cjs/chunk-EHMN4DL4.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"convertWireToOsdkObjects.test.js","names":["$ontologyRid","Employee","FooInterface","objectTypeWithAllPropertyTypes","createSharedClientContext","LegacyFauxFoundry","startNodeApiServer","beforeAll","describe","expect","expectTypeOf","it","additionalContext","createClient","createMinimalClient","convertWireToOsdkObjects","convertWireToOsdkObjects2","client","interfaceToObjectTypeMappings","fooSpt","testSetup","apiServer","close","data","employee","fetchPage","Object","keys","sort","toEqual","$as","$link","asFoo","employee2","where","$and","employeeId","$gt","$lt","JSON","stringify","toMatchInlineSnapshot","employees","length","toBeGreaterThanOrEqual","a","b","getPrototypeOf","toBe","withValues","id","attachment","attachmentArray","toMatchTypeOf","rid","Array","isArray","toBeTruthy","withoutValues","emptyAttachment","emptyAttachmentArray","toBeUndefined","mediaReference","toBeDefined","emptyMedia","somePropertyThatShouldNotExist","toThrow","objAsFoo","clientCtx","ontologyRid","object","__apiName","apiName","__primaryKey","prototypeBefore","object2","undefined","prototypeAfter","not","__title","obj","fullName","__rid","$rid","rejects","toThrowErrorMatchingInlineSnapshot","resolves","to","result","$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata","ObjectMetadata","propertyIsEnumerable","isFrozen","InterfaceMetadata","objAsFoo2","instance","osdk"],"sources":["convertWireToOsdkObjects.test.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 { Attachment, Media, Osdk, PropertyKeys } from \"@osdk/api\";\nimport {\n $ontologyRid,\n Employee,\n FooInterface,\n objectTypeWithAllPropertyTypes,\n} from \"@osdk/client.test.ontology\";\nimport type { OntologyObjectV2 } from \"@osdk/foundry.ontologies\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport { LegacyFauxFoundry, startNodeApiServer } from \"@osdk/shared.test\";\nimport { beforeAll, describe, expect, expectTypeOf, it } from \"vitest\";\nimport { additionalContext, type Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./convertWireToOsdkObjects.js\";\n\ndescribe(\"convertWireToOsdkObjects\", () => {\n let client: Client;\n const interfaceToObjectTypeMappings = {\n FooInterface: { Employee: { fooSpt: \"fullName\" } },\n };\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);\n ({ client } = testSetup);\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"configures properties correctly\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n\n expect(Object.keys(employee).sort()).toEqual([\n \"employeeId\",\n \"$title\",\n \"fullName\",\n \"office\",\n \"class\",\n \"startDate\",\n \"employeeSensor\",\n \"employeeStatus\",\n \"$apiName\",\n \"$objectType\",\n \"$primaryKey\",\n \"$objectSpecifier\",\n \"employeeLocation\",\n ].sort());\n\n expect(Object.keys(employee.$as)).toEqual([]);\n expect(Object.keys(employee.$link)).toEqual([\n \"lead\",\n \"officeLink\",\n \"peeps\",\n \"visitedOffices\",\n ]);\n\n const asFoo = employee.$as(FooInterface);\n expect(Object.keys(asFoo.$link)).toEqual([\n \"toBar\",\n ]);\n });\n\n it(\"stringifies properties on objects and interfaces correctly\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const { data: [employee2] } = await client(Employee).where({\n $and: [{ employeeId: { $gt: 50030 } }, { employeeId: { $lt: 50032 } }],\n }).fetchPage();\n\n // Should not have $title\n expect(JSON.stringify(employee)).toMatchInlineSnapshot(\n `\"{\"employeeId\":50030,\"fullName\":\"John Doe\",\"office\":\"NYC\",\"class\":\"Red\",\"startDate\":\"2019-01-01\",\"employeeStatus\":{},\"employeeSensor\":{},\"employeeLocation\":{},\"$apiName\":\"Employee\",\"$objectType\":\"Employee\",\"$primaryKey\":50030,\"$objectSpecifier\":\"Employee:50030\"}\"`,\n );\n\n expect(JSON.stringify(employee.$as(FooInterface))).toMatchInlineSnapshot(\n `\"{\"$apiName\":\"FooInterface\",\"$objectType\":\"Employee\",\"$primaryKey\":50030,\"$objectSpecifier\":\"Employee:50030\",\"fooSpt\":\"John Doe\"}\"`,\n );\n\n // Should have $title\n expect(JSON.stringify(employee2)).toMatchInlineSnapshot(\n `\"{\"employeeId\":50031,\"fullName\":\"Jane Doe\",\"office\":\"SEA\",\"class\":\"Blue\",\"startDate\":\"2012-02-12\",\"employeeStatus\":{},\"employeeSensor\":{},\"employeeLocation\":{},\"$apiName\":\"Employee\",\"$objectType\":\"Employee\",\"$primaryKey\":50031,\"$title\":\"Jane Doe\",\"$objectSpecifier\":\"Employee:50031\"}\"`,\n );\n\n expect(JSON.stringify(employee2.$as(FooInterface))).toMatchInlineSnapshot(\n `\"{\"$apiName\":\"FooInterface\",\"$objectType\":\"Employee\",\"$primaryKey\":50031,\"$objectSpecifier\":\"Employee:50031\",\"$title\":\"Jane Doe\",\"fooSpt\":\"Jane Doe\"}\"`,\n );\n });\n\n it(\"reuses the object prototype across objects\", async () => {\n const employees = await client(Employee).fetchPage();\n expect(employees.data.length).toBeGreaterThanOrEqual(2);\n const [a, b] = employees.data;\n\n expect(Object.getPrototypeOf(Object.getPrototypeOf(a))).toBe(\n Object.getPrototypeOf(Object.getPrototypeOf(b)),\n );\n });\n\n it(\"converts attachments as expected\", async () => {\n const withValues = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: 1 })\n .fetchPage();\n expect(withValues.data.length).toBeGreaterThanOrEqual(1);\n\n const { attachment, attachmentArray } = withValues.data[0];\n\n expectTypeOf(attachment).toMatchTypeOf<\n Attachment | undefined\n >;\n expect(attachment?.rid).toEqual(\n \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n );\n expect(Array.isArray(attachmentArray)).toBeTruthy();\n expectTypeOf(attachmentArray![0]).toMatchTypeOf<Attachment>;\n\n const withoutValues = await client(\n objectTypeWithAllPropertyTypes,\n ).where({ id: 2 }).fetchPage();\n\n const {\n attachment: emptyAttachment,\n attachmentArray: emptyAttachmentArray,\n } = withoutValues.data[0];\n expect(emptyAttachment).toBeUndefined();\n expect(emptyAttachmentArray).toBeUndefined();\n });\n\n it(\"converts media as expected\", async () => {\n const withValues = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: 1 })\n .fetchPage();\n expect(withValues.data.length).toBeGreaterThanOrEqual(1);\n\n const { mediaReference } = withValues.data[0];\n\n expectTypeOf(mediaReference).toMatchTypeOf<\n Media | undefined\n >;\n expect(mediaReference).toBeDefined();\n\n const withoutValues = await client(\n objectTypeWithAllPropertyTypes,\n ).where({ id: 2 }).fetchPage();\n\n const {\n mediaReference: emptyMedia,\n } = withoutValues.data[0];\n expect(emptyMedia).toBeUndefined();\n });\n\n it(\"creates immutable objects\", async () => {\n const employees = await client(Employee).fetchPage();\n expect(employees.data.length).toBeGreaterThanOrEqual(2);\n const [a, b] = employees.data;\n\n expect(a).toBeDefined();\n expect(() => {\n (a as any).somePropertyThatShouldNotExist = 5;\n }).toThrow();\n\n const objAsFoo = a.$as(FooInterface);\n expect(objAsFoo).toBeDefined();\n expect(() => {\n (objAsFoo as any).somePropertyThatShouldNotExist = 5;\n }).toThrow();\n });\n\n it(\"works even with unknown apiNames - old\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n createSharedClientContext(\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n \"userAgent\",\n );\n\n const object = {\n __apiName: Employee.apiName,\n __primaryKey: 0,\n } as const;\n const prototypeBefore = Object.getPrototypeOf(object);\n const object2 = await convertWireToOsdkObjects(\n clientCtx,\n [object],\n undefined,\n undefined,\n {},\n undefined,\n false,\n );\n const prototypeAfter = Object.getPrototypeOf(object2);\n\n expect(prototypeBefore).not.toBe(prototypeAfter);\n });\n\n it(\"works even with unknown apiNames - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n createSharedClientContext(\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n \"userAgent\",\n );\n\n const object = {\n __apiName: Employee.apiName,\n __primaryKey: 0,\n } as const;\n const prototypeBefore = Object.getPrototypeOf(object);\n const object2 = await convertWireToOsdkObjects2(\n clientCtx,\n [object],\n undefined,\n {},\n undefined,\n undefined,\n false,\n );\n const prototypeAfter = Object.getPrototypeOf(object2);\n\n expect(prototypeBefore).not.toBe(prototypeAfter);\n });\n\n it(\"reconstitutes interfaces properly without rid - old\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n fooSpt: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n undefined,\n {},\n )) as unknown as Osdk<FooInterface>[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n });\n\n it(\"reconstitutes interfaces properly without rid - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n fullName: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n {},\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n )) as unknown as Osdk<FooInterface>[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fullName\": \"Steve\",\n }\n `);\n });\n\n it(\"reconstitutes interfaces properly with rid\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n __rid: \"hiMom\",\n fooSpt: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n undefined,\n {},\n )) as unknown as Osdk<FooInterface, \"$rid\" | \"$all\">[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n expect(objAsFoo.$rid).toEqual(\"hiMom\");\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n expect(obj.$rid).toEqual(\"hiMom\");\n });\n\n it(\"reconstitutes interfaces properly with rid - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n __rid: \"hiMom\",\n fullName: \"Steve\",\n employeeId: 0,\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n {},\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n )) as unknown as Osdk<FooInterface, \"$rid\" | \"$all\">[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n expect(objAsFoo.$rid).toEqual(\"hiMom\");\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n expect(obj.$rid).toEqual(\"hiMom\");\n });\n\n describe(\"selection keys\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n {},\n [\"employeeId\"],\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when optional is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n {},\n [\"fullName\"],\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n {},\n [\"employeeId\"],\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n {},\n [\"fullName\"],\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"selection keys - new\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n [\"employeeId\"],\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when optional is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n [\"fullName\"],\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n [\"employeeId\"],\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n [\"fullName\"],\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"without selection keys\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when required is present\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"without selection keys - new\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when required is present\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n it(\"behaves correctly when converting\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n fooSpt: \"hi\",\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n \"FooInterface\",\n {},\n undefined,\n [\"fooSpt\"],\n \"drop\",\n interfaceToObjectTypeMappings,\n );\n\n expect(result.length).toBe(1);\n });\n\n describe(\"$metadata\", () => {\n describe(\"object\", () => {\n it(\"has an accessible object on $__experimental-metadata\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n expect(employee.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata)\n .toBeDefined();\n expect(\n employee.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata.ObjectMetadata,\n )\n .toMatchInlineSnapshot(\n `\n {\n \"apiName\": \"Employee\",\n \"description\": \"A full-time or part-time \n\n employee of our firm\",\n \"displayName\": \"Employee\",\n \"icon\": {\n \"color\": \"blue\",\n \"name\": \"person\",\n \"type\": \"blueprint\",\n },\n \"implements\": [\n \"FooInterface\",\n ],\n \"interfaceMap\": {\n \"FooInterface\": {\n \"fooSpt\": \"fullName\",\n },\n },\n \"inverseInterfaceMap\": {\n \"FooInterface\": {\n \"fullName\": \"fooSpt\",\n },\n },\n \"links\": {\n \"lead\": {\n \"multiplicity\": false,\n \"targetType\": \"Employee\",\n },\n \"officeLink\": {\n \"multiplicity\": false,\n \"targetType\": \"Office\",\n },\n \"peeps\": {\n \"multiplicity\": true,\n \"targetType\": \"Employee\",\n },\n \"visitedOffices\": {\n \"multiplicity\": true,\n \"targetType\": \"Office\",\n },\n },\n \"pluralDisplayName\": \"Employees\",\n \"primaryKeyApiName\": \"employeeId\",\n \"primaryKeyType\": \"integer\",\n \"properties\": {\n \"class\": {\n \"description\": \"\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueTypeApiName\": undefined,\n },\n \"employeeId\": {\n \"description\": undefined,\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": false,\n \"type\": \"integer\",\n \"valueTypeApiName\": undefined,\n },\n \"employeeLocation\": {\n \"description\": \"Geotime series reference of the location of the employee\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"geotimeSeriesReference\",\n \"valueTypeApiName\": undefined,\n },\n \"employeeSensor\": {\n \"description\": \"TimeSeries sensor of the status of the employee\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"stringTimeseries\",\n \"valueTypeApiName\": undefined,\n },\n \"employeeStatus\": {\n \"description\": \"TimeSeries of the status of the employee\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"stringTimeseries\",\n \"valueTypeApiName\": undefined,\n },\n \"fullName\": {\n \"description\": undefined,\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueTypeApiName\": undefined,\n },\n \"office\": {\n \"description\": \"The unique \"ID\" of the employee's \\\\\"primary\\\\\" assigned office.\n This is some more text.\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueTypeApiName\": undefined,\n },\n \"skillSet\": {\n \"description\": \"The skills of the employee\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueTypeApiName\": undefined,\n },\n \"skillSetEmbedding\": {\n \"description\": \"Vectorized skill set\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"vector\",\n \"valueTypeApiName\": undefined,\n },\n \"startDate\": {\n \"description\": \"The date the employee was hired (most recently, if they were re-hired)\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"datetime\",\n \"valueTypeApiName\": undefined,\n },\n },\n \"rid\": \"ri.ontology.main.object-type.401ac022-89eb-4591-8b7e-0a912b9efb44\",\n \"status\": \"ACTIVE\",\n \"titleProperty\": \"fullName\",\n \"type\": \"object\",\n \"visibility\": \"NORMAL\",\n Symbol(InterfaceDefinitions): {\n \"FooInterface\": {\n \"def\": {\n \"apiName\": \"FooInterface\",\n \"description\": \"Interface for Foo\",\n \"displayName\": \"Foo Interface\",\n \"implementedBy\": [\n \"Employee\",\n \"Person\",\n ],\n \"implements\": [],\n \"links\": {\n \"toBar\": {\n \"multiplicity\": true,\n \"targetType\": \"interface\",\n \"targetTypeApiName\": \"BarInterface\",\n },\n },\n \"properties\": {\n \"fooSpt\": {\n \"description\": \"A foo\",\n \"displayName\": \"Foo\",\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueTypeApiName\": undefined,\n },\n },\n \"rid\": \"ri.interface.main.interface.1\",\n \"type\": \"interface\",\n },\n \"handler\": undefined,\n },\n },\n }\n `,\n );\n });\n\n it(\"$experimental_metadata is not enumerable\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n\n expect(\n employee.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .propertyIsEnumerable(\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\",\n ),\n ).toEqual(\n false,\n );\n });\n\n it(\"returns frozen metadata\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n expect(employee.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata)\n .toBeDefined();\n expect(\n Object.isFrozen(\n employee.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .ObjectMetadata,\n ),\n ).toBe(true);\n });\n\n it(\"returns the same reference\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const { data: [employee2] } = await client(Employee).fetchPage();\n expect(\n employee.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata.ObjectMetadata,\n )\n .toBe(\n employee2.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .ObjectMetadata,\n );\n });\n });\n\n describe(\"interface\", () => {\n it(\"has an accessible interface on $__experimental-metadata\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const objAsFoo = employee.$as(FooInterface);\n expect(objAsFoo.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata)\n .toBeDefined();\n expect(\n objAsFoo.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .InterfaceMetadata,\n )\n .toMatchInlineSnapshot(\n `\n {\n \"apiName\": \"FooInterface\",\n \"description\": \"Interface for Foo\",\n \"displayName\": \"Foo Interface\",\n \"implementedBy\": [\n \"Employee\",\n \"Person\",\n ],\n \"implements\": [],\n \"links\": {\n \"toBar\": {\n \"multiplicity\": true,\n \"targetType\": \"interface\",\n \"targetTypeApiName\": \"BarInterface\",\n },\n },\n \"properties\": {\n \"fooSpt\": {\n \"description\": \"A foo\",\n \"displayName\": \"Foo\",\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueTypeApiName\": undefined,\n },\n },\n \"rid\": \"ri.interface.main.interface.1\",\n \"type\": \"interface\",\n }\n `,\n );\n });\n it(\"$experimental_metadata is not enumerable\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const objAsFoo = employee.$as(FooInterface);\n expect(\n objAsFoo.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .propertyIsEnumerable(\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\",\n ),\n ).toEqual(\n false,\n );\n });\n it(\"returns frozen metadata\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const objAsFoo = employee.$as(FooInterface);\n expect(objAsFoo.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata)\n .toBeDefined();\n expect(\n Object.isFrozen(\n objAsFoo.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .InterfaceMetadata,\n ),\n ).toBe(true);\n });\n it(\"returns the same reference\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const objAsFoo = employee.$as(FooInterface);\n const { data: [employee2] } = await client(Employee).fetchPage();\n const objAsFoo2 = employee2.$as(FooInterface);\n expect(\n objAsFoo.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .InterfaceMetadata,\n )\n .toBe(\n objAsFoo2.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .InterfaceMetadata,\n );\n });\n });\n });\n});\n\ndescribe(\"Osdk.Instance\", () => {\n it(\"is assignable to Osdk<>\", () => {\n const instance: Osdk.Instance<Employee> = {} as any;\n const osdk: Osdk<Employee> = instance;\n });\n\n it(\"is assignable from Osdk<>\", () => {\n const osdk: Osdk<Employee> = {} as any;\n const instance: Osdk.Instance<Employee> = osdk;\n });\n\n it(\"is assignable to Osdk<> with $notStrict\", () => {\n const instance: Osdk.Instance<Employee> = {} as any;\n const osdk: Osdk<Employee, \"$notStrict\"> = instance;\n const osdk2: Osdk<Employee, \"$notStrict\" | \"$all\"> = instance;\n });\n\n it(\"is assignable from Osdk<> with $notStrict\", () => {\n const osdk: Osdk<Employee, \"$notStrict\"> = {} as any;\n const osdk2: Osdk<Employee, \"$notStrict\" | \"$all\"> = osdk;\n const instance: Osdk.Instance<Employee> = osdk;\n const instance2: Osdk.Instance<Employee> = osdk2;\n });\n\n it(\"object with any for props is assignable to its normal self\", () => {\n const foo: readonly Osdk.Instance<Employee, never, any>[] = {} as any;\n\n const bar: readonly Osdk.Instance<\n Employee,\n never,\n PropertyKeys<Employee>\n >[] = foo;\n });\n});\n"],"mappings":"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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WACU,CAAC;MACL,CAAC,CAAC;MAEF9B,EAAE,CAAC,0CAA0C,EAAE,YAAY;QACzD,MAAM;UAAEY,IAAI,EAAE,CAACC,QAAQ;QAAE,CAAC,GAAG,MAAMP,MAAM,CAAChB,QAAQ,CAAC,CAACwB,SAAS,CAAC,CAAC;QAE/DhB,MAAM,CACJe,QAAQ,CAACiE,4CAA4C,CAClDE,oBAAoB,CACnB,8CACF,CACJ,CAAC,CAAC9D,OAAO,CACP,KACF,CAAC;MACH,CAAC,CAAC;MAEFlB,EAAE,CAAC,yBAAyB,EAAE,YAAY;QACxC,MAAM;UAAEY,IAAI,EAAE,CAACC,QAAQ;QAAE,CAAC,GAAG,MAAMP,MAAM,CAAChB,QAAQ,CAA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","ignoreList":[]}
1
+ {"version":3,"file":"convertWireToOsdkObjects.test.js","names":["$ontologyRid","Employee","FooInterface","objectTypeWithAllPropertyTypes","createSharedClientContext","LegacyFauxFoundry","startNodeApiServer","beforeAll","describe","expect","expectTypeOf","it","additionalContext","createClient","createMinimalClient","convertWireToOsdkObjects","convertWireToOsdkObjects2","client","interfaceToObjectTypeMappings","fooSpt","interfaceToObjectTypeMappingsV2","type","propertyApiName","fooIdp","testSetup","apiServer","close","data","employee","fetchPage","Object","keys","sort","toEqual","$as","$link","asFoo","employee2","where","$and","employeeId","$gt","$lt","JSON","stringify","toMatchInlineSnapshot","employees","length","toBeGreaterThanOrEqual","a","b","getPrototypeOf","toBe","withValues","id","attachment","attachmentArray","toMatchTypeOf","rid","Array","isArray","toBeTruthy","withoutValues","emptyAttachment","emptyAttachmentArray","toBeUndefined","mediaReference","toBeDefined","emptyMedia","somePropertyThatShouldNotExist","toThrow","objAsFoo","clientCtx","ontologyRid","object","__apiName","apiName","__primaryKey","prototypeBefore","object2","undefined","prototypeAfter","not","__title","obj","fullName","office","__rid","$rid","rejects","toThrowErrorMatchingInlineSnapshot","resolves","to","result","fooDip","$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata","ObjectMetadata","propertyIsEnumerable","isFrozen","InterfaceMetadata","objAsFoo2","instance","osdk"],"sources":["convertWireToOsdkObjects.test.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 { Attachment, Media, Osdk, PropertyKeys } from \"@osdk/api\";\nimport {\n $ontologyRid,\n Employee,\n FooInterface,\n objectTypeWithAllPropertyTypes,\n} from \"@osdk/client.test.ontology\";\nimport type {\n InterfacePropertyTypeImplementation,\n OntologyObjectV2,\n} from \"@osdk/foundry.ontologies\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport { LegacyFauxFoundry, startNodeApiServer } from \"@osdk/shared.test\";\nimport { beforeAll, describe, expect, expectTypeOf, it } from \"vitest\";\nimport { additionalContext, type Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./convertWireToOsdkObjects.js\";\n\ndescribe(\"convertWireToOsdkObjects\", () => {\n let client: Client;\n const interfaceToObjectTypeMappings = {\n FooInterface: { Employee: { fooSpt: \"fullName\" } },\n };\n const interfaceToObjectTypeMappingsV2 = {\n FooInterface: {\n Employee: {\n fooSpt: {\n type: \"localPropertyImplementation\",\n propertyApiName: \"fullName\",\n } as InterfacePropertyTypeImplementation,\n fooIdp: {\n type: \"localPropertyImplementation\",\n propertyApiName: \"office\",\n } as InterfacePropertyTypeImplementation,\n },\n },\n };\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);\n ({ client } = testSetup);\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"configures properties correctly\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n\n expect(Object.keys(employee).sort()).toEqual([\n \"employeeId\",\n \"$title\",\n \"fullName\",\n \"office\",\n \"class\",\n \"startDate\",\n \"employeeSensor\",\n \"employeeStatus\",\n \"$apiName\",\n \"$objectType\",\n \"$primaryKey\",\n \"$propertySecurities\",\n \"$objectSpecifier\",\n \"employeeLocation\",\n ].sort());\n\n expect(Object.keys(employee.$as)).toEqual([]);\n expect(Object.keys(employee.$link)).toEqual([\n \"lead\",\n \"officeLink\",\n \"peeps\",\n \"visitedOffices\",\n ]);\n\n const asFoo = employee.$as(FooInterface);\n expect(Object.keys(asFoo.$link)).toEqual([\n \"toBar\",\n ]);\n });\n\n it(\"stringifies properties on objects and interfaces correctly\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const { data: [employee2] } = await client(Employee).where({\n $and: [{ employeeId: { $gt: 50030 } }, { employeeId: { $lt: 50032 } }],\n }).fetchPage();\n\n // Should not have $title\n expect(JSON.stringify(employee)).toMatchInlineSnapshot(\n `\"{\"employeeId\":50030,\"fullName\":\"John Doe\",\"office\":\"NYC\",\"class\":\"Red\",\"startDate\":\"2019-01-01\",\"employeeStatus\":{},\"employeeSensor\":{},\"employeeLocation\":{},\"$apiName\":\"Employee\",\"$objectType\":\"Employee\",\"$primaryKey\":50030,\"$objectSpecifier\":\"Employee:50030\"}\"`,\n );\n\n expect(JSON.stringify(employee.$as(FooInterface))).toMatchInlineSnapshot(\n `\"{\"$apiName\":\"FooInterface\",\"$objectType\":\"Employee\",\"$primaryKey\":50030,\"$objectSpecifier\":\"Employee:50030\",\"fooSpt\":\"John Doe\",\"fooIdp\":\"NYC\"}\"`,\n );\n\n // Should have $title\n expect(JSON.stringify(employee2)).toMatchInlineSnapshot(\n `\"{\"employeeId\":50031,\"fullName\":\"Jane Doe\",\"office\":\"SEA\",\"class\":\"Blue\",\"startDate\":\"2012-02-12\",\"employeeStatus\":{},\"employeeSensor\":{},\"employeeLocation\":{},\"$apiName\":\"Employee\",\"$objectType\":\"Employee\",\"$primaryKey\":50031,\"$title\":\"Jane Doe\",\"$objectSpecifier\":\"Employee:50031\"}\"`,\n );\n\n expect(JSON.stringify(employee2.$as(FooInterface))).toMatchInlineSnapshot(\n `\"{\"$apiName\":\"FooInterface\",\"$objectType\":\"Employee\",\"$primaryKey\":50031,\"$objectSpecifier\":\"Employee:50031\",\"$title\":\"Jane Doe\",\"fooSpt\":\"Jane Doe\",\"fooIdp\":\"SEA\"}\"`,\n );\n });\n\n it(\"reuses the object prototype across objects\", async () => {\n const employees = await client(Employee).fetchPage();\n expect(employees.data.length).toBeGreaterThanOrEqual(2);\n const [a, b] = employees.data;\n\n expect(Object.getPrototypeOf(Object.getPrototypeOf(a))).toBe(\n Object.getPrototypeOf(Object.getPrototypeOf(b)),\n );\n });\n\n it(\"converts attachments as expected\", async () => {\n const withValues = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: 1 })\n .fetchPage();\n expect(withValues.data.length).toBeGreaterThanOrEqual(1);\n\n const { attachment, attachmentArray } = withValues.data[0];\n\n expectTypeOf(attachment).toMatchTypeOf<\n Attachment | undefined\n >;\n expect(attachment?.rid).toEqual(\n \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n );\n expect(Array.isArray(attachmentArray)).toBeTruthy();\n expectTypeOf(attachmentArray![0]).toMatchTypeOf<Attachment>;\n\n const withoutValues = await client(\n objectTypeWithAllPropertyTypes,\n ).where({ id: 2 }).fetchPage();\n\n const {\n attachment: emptyAttachment,\n attachmentArray: emptyAttachmentArray,\n } = withoutValues.data[0];\n expect(emptyAttachment).toBeUndefined();\n expect(emptyAttachmentArray).toBeUndefined();\n });\n\n it(\"converts media as expected\", async () => {\n const withValues = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: 1 })\n .fetchPage();\n expect(withValues.data.length).toBeGreaterThanOrEqual(1);\n\n const { mediaReference } = withValues.data[0];\n\n expectTypeOf(mediaReference).toMatchTypeOf<\n Media | undefined\n >;\n expect(mediaReference).toBeDefined();\n\n const withoutValues = await client(\n objectTypeWithAllPropertyTypes,\n ).where({ id: 2 }).fetchPage();\n\n const {\n mediaReference: emptyMedia,\n } = withoutValues.data[0];\n expect(emptyMedia).toBeUndefined();\n });\n\n it(\"creates immutable objects\", async () => {\n const employees = await client(Employee).fetchPage();\n expect(employees.data.length).toBeGreaterThanOrEqual(2);\n const [a, b] = employees.data;\n\n expect(a).toBeDefined();\n expect(() => {\n (a as any).somePropertyThatShouldNotExist = 5;\n }).toThrow();\n\n const objAsFoo = a.$as(FooInterface);\n expect(objAsFoo).toBeDefined();\n expect(() => {\n (objAsFoo as any).somePropertyThatShouldNotExist = 5;\n }).toThrow();\n });\n\n it(\"works even with unknown apiNames - old\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n createSharedClientContext(\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n \"userAgent\",\n );\n\n const object = {\n __apiName: Employee.apiName,\n __primaryKey: 0,\n } as const;\n const prototypeBefore = Object.getPrototypeOf(object);\n const object2 = await convertWireToOsdkObjects(\n clientCtx,\n [object],\n undefined,\n undefined,\n {},\n undefined,\n undefined,\n false,\n );\n const prototypeAfter = Object.getPrototypeOf(object2);\n\n expect(prototypeBefore).not.toBe(prototypeAfter);\n });\n\n it(\"works even with unknown apiNames - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n createSharedClientContext(\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n \"userAgent\",\n );\n\n const object = {\n __apiName: Employee.apiName,\n __primaryKey: 0,\n } as const;\n const prototypeBefore = Object.getPrototypeOf(object);\n const object2 = await convertWireToOsdkObjects2(\n clientCtx,\n [object],\n undefined,\n {},\n undefined,\n undefined,\n undefined,\n false,\n );\n const prototypeAfter = Object.getPrototypeOf(object2);\n\n expect(prototypeBefore).not.toBe(prototypeAfter);\n });\n\n it(\"reconstitutes interfaces properly without rid - old\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n fooSpt: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n undefined,\n {},\n undefined,\n )) as unknown as Osdk<FooInterface>[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$propertySecurities\": undefined,\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$propertySecurities\": undefined,\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n });\n\n it(\"reconstitutes interfaces properly without rid - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n fullName: \"Steve\",\n office: \"SEA\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n {},\n undefined,\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n )) as unknown as Osdk<FooInterface>[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$propertySecurities\": undefined,\n \"$title\": \"Steve\",\n \"fooIdp\": \"SEA\",\n \"fooSpt\": \"Steve\",\n }\n `);\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$propertySecurities\": undefined,\n \"$title\": \"Steve\",\n \"fullName\": \"Steve\",\n \"office\": \"SEA\",\n }\n `);\n });\n\n it(\"reconstitutes interfaces properly without rid - new with IDP\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n fullName: \"Steve\",\n office: \"SEA\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n {},\n undefined,\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n interfaceToObjectTypeMappingsV2,\n )) as unknown as Osdk<FooInterface>[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$propertySecurities\": undefined,\n \"$title\": \"Steve\",\n \"fooIdp\": \"SEA\",\n \"fooSpt\": \"Steve\",\n }\n `);\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$propertySecurities\": undefined,\n \"$title\": \"Steve\",\n \"fullName\": \"Steve\",\n \"office\": \"SEA\",\n }\n `);\n });\n\n it(\"reconstitutes interfaces properly with rid\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n __rid: \"hiMom\",\n fooSpt: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n undefined,\n {},\n undefined,\n )) as unknown as Osdk<FooInterface, \"$rid\" | \"$all\">[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$propertySecurities\": undefined,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n expect(objAsFoo.$rid).toEqual(\"hiMom\");\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$propertySecurities\": undefined,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n expect(obj.$rid).toEqual(\"hiMom\");\n });\n\n it(\"reconstitutes interfaces properly with rid - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n __rid: \"hiMom\",\n fullName: \"Steve\",\n employeeId: 0,\n office: \"SEA\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n {},\n undefined,\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n )) as unknown as Osdk<FooInterface, \"$rid\" | \"$all\">[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$propertySecurities\": undefined,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"fooIdp\": \"SEA\",\n \"fooSpt\": \"Steve\",\n }\n `);\n expect(objAsFoo.$rid).toEqual(\"hiMom\");\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$propertySecurities\": undefined,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n \"office\": \"SEA\",\n }\n `);\n expect(obj.$rid).toEqual(\"hiMom\");\n });\n\n it(\"reconstitutes interfaces properly with rid - new with IDP\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n __rid: \"hiMom\",\n fullName: \"Steve\",\n employeeId: 0,\n office: \"SEA\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n {},\n undefined,\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n interfaceToObjectTypeMappingsV2,\n )) as unknown as Osdk<FooInterface, \"$rid\" | \"$all\">[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$propertySecurities\": undefined,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"fooIdp\": \"SEA\",\n \"fooSpt\": \"Steve\",\n }\n `);\n expect(objAsFoo.$rid).toEqual(\"hiMom\");\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$propertySecurities\": undefined,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n \"office\": \"SEA\",\n }\n `);\n expect(obj.$rid).toEqual(\"hiMom\");\n });\n\n describe(\"selection keys\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n {},\n undefined,\n [\"employeeId\"],\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when optional is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n {},\n undefined,\n [\"fullName\"],\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n {},\n undefined,\n [\"employeeId\"],\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n {},\n undefined,\n [\"fullName\"],\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"selection keys - new\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n [\"employeeId\"],\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when optional is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n [\"fullName\"],\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n [\"employeeId\"],\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n [\"fullName\"],\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"without selection keys\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n undefined,\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when required is present\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n undefined,\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"without selection keys - new\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n undefined,\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when required is present\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n undefined,\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n it(\"behaves correctly when converting\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n fooSpt: \"hi\",\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n \"FooInterface\",\n {},\n undefined,\n undefined,\n [\"fooSpt\"],\n \"drop\",\n interfaceToObjectTypeMappings,\n );\n\n expect(result.length).toBe(1);\n });\n\n it(\"behaves correctly when converting with IDP\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n fooSpt: \"hi\",\n fooDip: \"howdy\",\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n \"FooInterface\",\n {},\n undefined,\n undefined,\n [\"fooSpt\", \"fooIdp\"],\n \"drop\",\n interfaceToObjectTypeMappings,\n interfaceToObjectTypeMappingsV2,\n );\n\n expect(result.length).toBe(1);\n });\n\n describe(\"$metadata\", () => {\n describe(\"object\", () => {\n it(\"has an accessible object on $__experimental-metadata\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n expect(employee.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata)\n .toBeDefined();\n expect(\n employee.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata.ObjectMetadata,\n )\n .toMatchInlineSnapshot(\n `\n {\n \"apiName\": \"Employee\",\n \"description\": \"A full-time or part-time \n\n employee of our firm\",\n \"displayName\": \"Employee\",\n \"icon\": {\n \"color\": \"blue\",\n \"name\": \"person\",\n \"type\": \"blueprint\",\n },\n \"implements\": [\n \"FooInterface\",\n ],\n \"interfaceMap\": {\n \"FooInterface\": {\n \"fooIdp\": \"office\",\n \"fooSpt\": \"fullName\",\n },\n },\n \"inverseInterfaceMap\": {\n \"FooInterface\": {\n \"fullName\": \"fooSpt\",\n \"office\": \"fooIdp\",\n },\n },\n \"links\": {\n \"lead\": {\n \"multiplicity\": false,\n \"targetType\": \"Employee\",\n },\n \"officeLink\": {\n \"multiplicity\": false,\n \"targetType\": \"Office\",\n },\n \"peeps\": {\n \"multiplicity\": true,\n \"targetType\": \"Employee\",\n },\n \"visitedOffices\": {\n \"multiplicity\": true,\n \"targetType\": \"Office\",\n },\n },\n \"pluralDisplayName\": \"Employees\",\n \"primaryKeyApiName\": \"employeeId\",\n \"primaryKeyType\": \"integer\",\n \"properties\": {\n \"class\": {\n \"description\": \"\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n \"employeeId\": {\n \"description\": undefined,\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": false,\n \"type\": \"integer\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n \"employeeLocation\": {\n \"description\": \"Geotime series reference of the location of the employee\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"geotimeSeriesReference\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n \"employeeSensor\": {\n \"description\": \"TimeSeries sensor of the status of the employee\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"stringTimeseries\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n \"employeeStatus\": {\n \"description\": \"TimeSeries of the status of the employee\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"stringTimeseries\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n \"favoriteRestaurants\": {\n \"description\": undefined,\n \"displayName\": undefined,\n \"multiplicity\": true,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n \"fullName\": {\n \"description\": undefined,\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n \"office\": {\n \"description\": \"The unique \"ID\" of the employee's \\\\\"primary\\\\\" assigned office.\n This is some more text.\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n \"skillSet\": {\n \"description\": \"The skills of the employee\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n \"skillSetEmbedding\": {\n \"description\": \"Vectorized skill set\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"vector\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n \"startDate\": {\n \"description\": \"The date the employee was hired (most recently, if they were re-hired)\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"datetime\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n },\n \"rid\": \"ri.ontology.main.object-type.401ac022-89eb-4591-8b7e-0a912b9efb44\",\n \"status\": \"ACTIVE\",\n \"titleProperty\": \"fullName\",\n \"type\": \"object\",\n \"visibility\": \"NORMAL\",\n Symbol(InterfaceDefinitions): {\n \"FooInterface\": {\n \"def\": {\n \"apiName\": \"FooInterface\",\n \"description\": \"Interface for Foo\",\n \"displayName\": \"Foo Interface\",\n \"implementedBy\": [\n \"Employee\",\n \"Person\",\n ],\n \"implements\": [],\n \"links\": {\n \"toBar\": {\n \"multiplicity\": true,\n \"targetType\": \"interface\",\n \"targetTypeApiName\": \"BarInterface\",\n },\n },\n \"properties\": {\n \"fooIdp\": {\n \"description\": \"A Foo IDP\",\n \"displayName\": \"Foo IDP\",\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n \"fooSpt\": {\n \"description\": \"A foo\",\n \"displayName\": \"Foo\",\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n },\n \"rid\": \"ri.interface.main.interface.1\",\n \"type\": \"interface\",\n },\n \"handler\": undefined,\n },\n },\n }\n `,\n );\n });\n\n it(\"$experimental_metadata is not enumerable\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n\n expect(\n employee.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .propertyIsEnumerable(\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\",\n ),\n ).toEqual(\n false,\n );\n });\n\n it(\"returns frozen metadata\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n expect(employee.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata)\n .toBeDefined();\n expect(\n Object.isFrozen(\n employee.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .ObjectMetadata,\n ),\n ).toBe(true);\n });\n\n it(\"returns the same reference\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const { data: [employee2] } = await client(Employee).fetchPage();\n expect(\n employee.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata.ObjectMetadata,\n )\n .toBe(\n employee2.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .ObjectMetadata,\n );\n });\n });\n\n describe(\"interface\", () => {\n it(\"has an accessible interface on $__experimental-metadata\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const objAsFoo = employee.$as(FooInterface);\n expect(objAsFoo.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata)\n .toBeDefined();\n expect(\n objAsFoo.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .InterfaceMetadata,\n )\n .toMatchInlineSnapshot(\n `\n {\n \"apiName\": \"FooInterface\",\n \"description\": \"Interface for Foo\",\n \"displayName\": \"Foo Interface\",\n \"implementedBy\": [\n \"Employee\",\n \"Person\",\n ],\n \"implements\": [],\n \"links\": {\n \"toBar\": {\n \"multiplicity\": true,\n \"targetType\": \"interface\",\n \"targetTypeApiName\": \"BarInterface\",\n },\n },\n \"properties\": {\n \"fooIdp\": {\n \"description\": \"A Foo IDP\",\n \"displayName\": \"Foo IDP\",\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n \"fooSpt\": {\n \"description\": \"A foo\",\n \"displayName\": \"Foo\",\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n \"valueFormatting\": undefined,\n \"valueTypeApiName\": undefined,\n },\n },\n \"rid\": \"ri.interface.main.interface.1\",\n \"type\": \"interface\",\n }\n `,\n );\n });\n it(\"$experimental_metadata is not enumerable\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const objAsFoo = employee.$as(FooInterface);\n expect(\n objAsFoo.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .propertyIsEnumerable(\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\",\n ),\n ).toEqual(\n false,\n );\n });\n it(\"returns frozen metadata\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const objAsFoo = employee.$as(FooInterface);\n expect(objAsFoo.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata)\n .toBeDefined();\n expect(\n Object.isFrozen(\n objAsFoo.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .InterfaceMetadata,\n ),\n ).toBe(true);\n });\n it(\"returns the same reference\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const objAsFoo = employee.$as(FooInterface);\n const { data: [employee2] } = await client(Employee).fetchPage();\n const objAsFoo2 = employee2.$as(FooInterface);\n expect(\n objAsFoo.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .InterfaceMetadata,\n )\n .toBe(\n objAsFoo2.$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\n .InterfaceMetadata,\n );\n });\n });\n });\n});\n\ndescribe(\"Osdk.Instance\", () => {\n it(\"is assignable to Osdk<>\", () => {\n const instance: Osdk.Instance<Employee> = {} as any;\n const osdk: Osdk<Employee> = instance;\n });\n\n it(\"is assignable from Osdk<>\", () => {\n const osdk: Osdk<Employee> = {} as any;\n const instance: Osdk.Instance<Employee> = osdk;\n });\n\n it(\"is assignable to Osdk<> with $notStrict\", () => {\n const instance: Osdk.Instance<Employee> = {} as any;\n const osdk: Osdk<Employee, \"$notStrict\"> = instance;\n const osdk2: Osdk<Employee, \"$notStrict\" | \"$all\"> = instance;\n });\n\n it(\"is assignable from Osdk<> with $notStrict\", () => {\n const osdk: Osdk<Employee, \"$notStrict\"> = {} as any;\n const osdk2: Osdk<Employee, \"$notStrict\" | \"$all\"> = osdk;\n const instance: Osdk.Instance<Employee> = osdk;\n const instance2: Osdk.Instance<Employee> = osdk2;\n });\n\n it(\"object with any for props is assignable to its normal self\", () => {\n const foo: readonly Osdk.Instance<Employee, never, any>[] = {} as any;\n\n const bar: readonly Osdk.Instance<\n Employee,\n never,\n PropertyKeys<Employee>\n >[] = foo;\n });\n});\n"],"mappings":"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CK,IAAI,CAAC,CAAC,CAAC;EAC/B,CAAC,CAAC;EAEF5C,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC1BA,QAAQ,CAAC,QAAQ,EAAE,MAAM;MACvBG,EAAE,CAAC,sDAAsD,EAAE,YAAY;QACrE,MAAM;UAAEgB,IAAI,EAAE,CAACC,QAAQ;QAAE,CAAC,GAAG,MAAMX,MAAM,CAAChB,QAAQ,CAAC,CAAC4B,SAAS,CAAC,CAAC;QAC/DpB,MAAM,CAACmB,QAAQ,CAACmE,4CAA4C,CAAC,CAC1D5B,WAAW,CAAC,CAAC;QAChB1D,MAAM,CACJmB,QAAQ,CAACmE,4CAA4C,CAACC,cACxD,CAAC,CACEnD,qBAAqB,CACpB;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WACU,CAAC;MACL,CAAC,CAAC;MAEFlC,EAAE,CAAC,0CAA0C,EAAE,YAAY;QACzD,MAAM;UAAEgB,IAAI,EAAE,CAACC,QAAQ;QAAE,CAAC,GAAG,MAAMX,MAAM,CAAChB,QAAQ,CAAC,CAAC4B,SAAS,CAAC,CAAC;QAE/DpB,MAAM,CACJmB,QAAQ,CAACmE,4CAA4C,CAClDE,oBAAoB,CACnB,8CACF,CACJ,CAAC,CAAChE,OAAO,CACP,KACF,CAAC;MACH,CAAC,CAAC;MAEFtB,EAAE,CAAC,yBAAyB,EAAE,YAAY;QACxC,MAAM;UAAEgB,IAAI,EAAE,CAACC,QAAQ;QAAE,CAAC,GAAG,MAAMX,MAAM,CAAChB,QAAQ,CAAC,CAAC4B,SAAS,CAAC,CAAC;QAC/DpB,MAAM,CAACmB,QAAQ,CAACmE,4CAA4C,CAAC,CAC1D5B,WAAW,CAAC,CAAC;QAChB1D,MAAM,CACJqB,MAAM,CAACoE,QAAQ,CACbtE,QAAQ,CAACmE,4CAA4C,CAClDC,cACL,CACF,CAAC,CAAC5C,IAAI,CAAC,IAAI,CAAC;MACd,CAAC,CAAC;MAEFzC,EAAE,CAAC,4BAA4B,EAAE,YAAY;QAC3C,MAAM;UAAEgB,IAAI,EAAE,CAACC,QAAQ;QAAE,CAAC,GAAG,MAAMX,MAAM,CAAChB,QAAQ,CAAC,CAAC4B,SAAS,CAAC,CAAC;QAC/D,MAAM;UAAEF,IAAI,EAAE,CAACU,SAAS;QAAE,CAAC,GAAG,MAAMpB,MAAM,CAAChB,QAAQ,CAAC,CAAC4B,SAAS,CAAC,CAAC;QAChEpB,MAAM,CACJmB,QAAQ,CAACmE,4CAA4C,CAACC,cACxD,CAAC,CACE5C,IAAI,CACHf,SAAS,CAAC0D,4CAA4C,CACnDC,cACL,CAAC;MACL,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFxF,QAAQ,CAAC,WAAW,EAAE,MAAM;MAC1BG,EAAE,CAAC,yDAAyD,EAAE,YAAY;QACxE,MAAM;UAAEgB,IAAI,EAAE,CAACC,QAAQ;QAAE,CAAC,GAAG,MAAMX,MAAM,CAAChB,QAAQ,CAAC,CAAC4B,SAAS,CAAC,CAAC;QAC/D,MAAM0C,QAAQ,GAAG3C,QAAQ,CAACM,GAAG,CAAChC,YAAY,CAAC;QAC3CO,MAAM,CAAC8D,QAAQ,CAACwB,4CAA4C,CAAC,CAC1D5B,WAAW,CAAC,CAAC;QAChB1D,MAAM,CACJ8D,QAAQ,CAACwB,4CAA4C,CAClDI,iBACL,CAAC,CACEtD,qBAAqB,CACpB;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WACU,CAAC;MACL,CAAC,CAAC;MACFlC,EAAE,CAAC,0CAA0C,EAAE,YAAY;QACzD,MAAM;UAAEgB,IAAI,EAAE,CAACC,QAAQ;QAAE,CAAC,GAAG,MAAMX,MAAM,CAAChB,QAAQ,CAAC,CAAC4B,SAAS,CAAC,CAAC;QAC/D,MAAM0C,QAAQ,GAAG3C,QAAQ,CAACM,GAAG,CAAChC,YAAY,CAAC;QAC3CO,MAAM,CACJ8D,QAAQ,CAACwB,4CAA4C,CAClDE,oBAAoB,CACnB,8CACF,CACJ,CAAC,CAAChE,OAAO,CACP,KACF,CAAC;MACH,CAAC,CAAC;MACFtB,EAAE,CAAC,yBAAyB,EAAE,YAAY;QACxC,MAAM;UAAEgB,IAAI,EAAE,CAACC,QAAQ;QAAE,CAAC,GAAG,MAAMX,MAAM,CAAChB,QAAQ,CAAC,CAAC4B,SAAS,CAAC,CAAC;QAC/D,MAAM0C,QAAQ,GAAG3C,QAAQ,CAACM,GAAG,CAAChC,YAAY,CAAC;QAC3CO,MAAM,CAAC8D,QAAQ,CAACwB,4CAA4C,CAAC,CAC1D5B,WAAW,CAAC,CAAC;QAChB1D,MAAM,CACJqB,MAAM,CAACoE,QAAQ,CACb3B,QAAQ,CAACwB,4CAA4C,CAClDI,iBACL,CACF,CAAC,CAAC/C,IAAI,CAAC,IAAI,CAAC;MACd,CAAC,CAAC;MACFzC,EAAE,CAAC,4BAA4B,EAAE,YAAY;QAC3C,MAAM;UAAEgB,IAAI,EAAE,CAACC,QAAQ;QAAE,CAAC,GAAG,MAAMX,MAAM,CAAChB,QAAQ,CAAC,CAAC4B,SAAS,CAAC,CAAC;QAC/D,MAAM0C,QAAQ,GAAG3C,QAAQ,CAACM,GAAG,CAAChC,YAAY,CAAC;QAC3C,MAAM;UAAEyB,IAAI,EAAE,CAACU,SAAS;QAAE,CAAC,GAAG,MAAMpB,MAAM,CAAChB,QAAQ,CAAC,CAAC4B,SAAS,CAAC,CAAC;QAChE,MAAMuE,SAAS,GAAG/D,SAAS,CAACH,GAAG,CAAChC,YAAY,CAAC;QAC7CO,MAAM,CACJ8D,QAAQ,CAACwB,4CAA4C,CAClDI,iBACL,CAAC,CACE/C,IAAI,CACHgD,SAAS,CAACL,4CAA4C,CACnDI,iBACL,CAAC;MACL,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF3F,QAAQ,CAAC,eAAe,EAAE,MAAM;EAC9BG,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAGpC,CAAC,CAAC;EAEFA,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAGtC,CAAC,CAAC;EAEFA,EAAE,CAAC,yCAAyC,EAAE,MAAM;IAClD,MAAM0F,QAAiC,GAAG,CAAC,CAAQ;EAGrD,CAAC,CAAC;EAEF1F,EAAE,CAAC,2CAA2C,EAAE,MAAM;IACpD,MAAM2F,IAAkC,GAAG,CAAC,CAAQ;EAItD,CAAC,CAAC;EAEF3F,EAAE,CAAC,4DAA4D,EAAE,MAAM,CAQvE,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -15,6 +15,7 @@
15
15
  */
16
16
 
17
17
  import * as OntologiesV2 from "@osdk/foundry.ontologies";
18
+ import invariant from "tiny-invariant";
18
19
  import { extractNamespace } from "../internal/conversions/extractNamespace.js";
19
20
  import { addUserAgentAndRequestContextHeaders } from "../util/addUserAgentAndRequestContextHeaders.js";
20
21
  import { extractObjectOrInterfaceType } from "../util/extractObjectOrInterfaceType.js";
@@ -60,6 +61,7 @@ export function resolveInterfaceObjectSet(objectSet, interfaceTypeApiName, args)
60
61
 
61
62
  /** @internal */
62
63
  export async function fetchStaticRidPage(client, rids, args, useSnapshot = false) {
64
+ const shouldLoadPropertySecurities = args.$loadPropertySecurityMetadata ?? false;
63
65
  const requestBody = await applyFetchArgs(args, {
64
66
  objectSet: {
65
67
  type: "static",
@@ -67,7 +69,8 @@ export async function fetchStaticRidPage(client, rids, args, useSnapshot = false
67
69
  },
68
70
  select: args?.$select ?? [],
69
71
  excludeRid: !args?.$includeRid,
70
- snapshot: useSnapshot
72
+ snapshot: useSnapshot,
73
+ loadPropertySecurities: shouldLoadPropertySecurities
71
74
  }, client, {
72
75
  type: "object",
73
76
  apiName: ""
@@ -82,13 +85,14 @@ export async function fetchStaticRidPage(client, rids, args, useSnapshot = false
82
85
  transactionId: client.transactionId
83
86
  });
84
87
  return Promise.resolve({
85
- data: await client.objectFactory2(client, result.data, undefined, {}, !args.$includeRid, args.$select, false, result.interfaceToObjectTypeMappings),
88
+ data: await client.objectFactory2(client, result.data, undefined, {}, shouldLoadPropertySecurities ? result.propertySecurities : undefined, !args.$includeRid, args.$select, false, result.interfaceToObjectTypeMappings, result.interfaceToObjectTypeMappingsV2),
86
89
  nextPageToken: result.nextPageToken,
87
90
  totalCount: result.totalCount
88
91
  });
89
92
  }
90
93
  async function fetchInterfacePage(client, interfaceType, args, objectSet, useSnapshot = false) {
91
94
  if (args.$__UNSTABLE_useOldInterfaceApis) {
95
+ !(args.$loadPropertySecurityMetadata === false || args.$loadPropertySecurityMetadata === undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, "`$loadPropertySecurityMetadata` is not supported with old interface APIs") : invariant(false) : void 0;
92
96
  const baseRequestBody = {
93
97
  augmentedProperties: {},
94
98
  augmentedSharedPropertyTypes: {},
@@ -112,15 +116,17 @@ async function fetchInterfacePage(client, interfaceType, args, objectSet, useSna
112
116
  });
113
117
  result.data = await client.objectFactory(client, result.data,
114
118
  // drop readonly
115
- interfaceType.apiName, !args.$includeRid, await extractRdpDefinition(client, objectSet));
119
+ interfaceType.apiName, !args.$includeRid, await extractRdpDefinition(client, objectSet), undefined);
116
120
  return result;
117
121
  }
118
122
  const extractedInterfaceTypeApiName = (await extractObjectOrInterfaceType(client, objectSet))?.apiName ?? interfaceType.apiName;
119
123
  const resolvedInterfaceObjectSet = resolveInterfaceObjectSet(objectSet, extractedInterfaceTypeApiName, args);
124
+ const shouldLoadPropertySecurities = args.$loadPropertySecurityMetadata ?? false;
120
125
  const requestBody = await buildAndRemapRequestBody(args, {
121
126
  objectSet: resolvedInterfaceObjectSet,
122
127
  select: args?.$select ? [...args.$select] : [],
123
128
  selectV2: [],
129
+ loadPropertySecurities: shouldLoadPropertySecurities,
124
130
  excludeRid: !args?.$includeRid,
125
131
  snapshot: useSnapshot
126
132
  }, client, interfaceType);
@@ -129,10 +135,11 @@ async function fetchInterfacePage(client, interfaceType, args, objectSet, useSna
129
135
  }
130
136
  const result = await OntologiesV2.OntologyObjectSets.loadMultipleObjectTypes(addUserAgentAndRequestContextHeaders(client, interfaceType), await client.ontologyRid, requestBody, {
131
137
  preview: true,
138
+ branch: client.branch,
132
139
  transactionId: client.transactionId
133
140
  });
134
141
  return Promise.resolve({
135
- data: await client.objectFactory2(client, result.data, extractedInterfaceTypeApiName, {}, !args.$includeRid, args.$select, false, result.interfaceToObjectTypeMappings),
142
+ data: await client.objectFactory2(client, result.data, extractedInterfaceTypeApiName, {}, shouldLoadPropertySecurities ? result.propertySecurities : undefined, !args.$includeRid, args.$select, false, result.interfaceToObjectTypeMappings, result.interfaceToObjectTypeMappingsV2),
136
143
  nextPageToken: result.nextPageToken,
137
144
  totalCount: result.totalCount
138
145
  });
@@ -217,6 +224,9 @@ async function applyFetchArgs(args, body, _client, objectType) {
217
224
  if (args?.$pageSize != null) {
218
225
  body.pageSize = args.$pageSize;
219
226
  }
227
+ if (args?.$loadPropertySecurityMetadata) {
228
+ body.loadPropertySecurities = true;
229
+ }
220
230
  const orderBy = args?.$orderBy;
221
231
  if (orderBy) {
222
232
  if (orderBy === "relevance") {
@@ -247,10 +257,12 @@ export async function fetchObjectPage(client, objectType, args, objectSet, useSn
247
257
  // We have an empty catch here so that if this call errors before we await later, we won't have an unhandled promise rejection that would crash the process
248
258
  // Swallowing the error is ok because we await the metadata load in the objectFactory later anyways which eventually bubbles up the error to the user
249
259
  void client.ontologyProvider.getObjectDefinition(objectType.apiName).catch(() => {});
260
+ const shouldLoadPropertySecurities = args.$loadPropertySecurityMetadata ?? false;
250
261
  const requestBody = await buildAndRemapRequestBody(args, {
251
262
  objectSet,
252
263
  select: args?.$select ? [...args.$select] : [],
253
264
  selectV2: [],
265
+ loadPropertySecurities: shouldLoadPropertySecurities,
254
266
  excludeRid: !args?.$includeRid,
255
267
  snapshot: useSnapshot
256
268
  }, client, objectType);
@@ -258,10 +270,11 @@ export async function fetchObjectPage(client, objectType, args, objectSet, useSn
258
270
  await client.flushEdits();
259
271
  }
260
272
  const r = await OntologiesV2.OntologyObjectSets.load(addUserAgentAndRequestContextHeaders(client, objectType), await client.ontologyRid, requestBody, {
273
+ branch: client.branch,
261
274
  transactionId: client.transactionId
262
275
  });
263
276
  return Promise.resolve({
264
- data: await client.objectFactory(client, r.data, undefined, undefined, await extractRdpDefinition(client, objectSet), args.$select, false),
277
+ data: await client.objectFactory(client, r.data, undefined, undefined, await extractRdpDefinition(client, objectSet), shouldLoadPropertySecurities ? r.propertySecurities : undefined, args.$select, false),
265
278
  nextPageToken: r.nextPageToken,
266
279
  totalCount: r.totalCount
267
280
  });
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPage.js","names":["OntologiesV2","extractNamespace","addUserAgentAndRequestContextHeaders","extractObjectOrInterfaceType","extractRdpDefinition","resolveBaseObjectSetType","augment","type","properties","apiName","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","undefined","objectType","Error","interfaceType","where","value","resolveInterfaceObjectSet","interfaceTypeApiName","args","$includeAllBaseObjectProperties","objectSets","includeAllBaseObjectProperties","fetchStaticRidPage","client","rids","useSnapshot","requestBody","applyFetchArgs","objects","select","$select","excludeRid","$includeRid","snapshot","flushEdits","result","OntologyObjectSets","loadMultipleObjectTypes","osdkMetadata","ontologyRid","preview","transactionId","Promise","resolve","data","objectFactory2","interfaceToObjectTypeMappings","nextPageToken","totalCount","fetchInterfacePage","$__UNSTABLE_useOldInterfaceApis","baseRequestBody","augmentedProperties","augmentedSharedPropertyTypes","augmentedInterfacePropertyTypes","otherInterfaceTypes","selectedObjectTypes","selectedSharedPropertyTypes","selectedInterfacePropertyTypes","length","remapped","remapPropertyNames","Array","from","OntologyInterfaces","search","objectFactory","extractedInterfaceTypeApiName","resolvedInterfaceObjectSet","buildAndRemapRequestBody","selectV2","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","baseBody","objectOrInterface","propertyNames","objApiNamespace","map","name","fieldApiNamespace","fieldShortName","body","_client","$nextPageToken","pageToken","$pageSize","pageSize","orderBy","$orderBy","orderType","fields","orderByEntries","Object","entries","fieldNames","field","remappedFields","direction","index","ontologyProvider","getObjectDefinition","catch","r","load"],"sources":["fetchPage.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 Augment,\n Augments,\n FetchPageArgs,\n FetchPageResult,\n InterfaceDefinition,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSetArgs,\n ObjectTypeDefinition,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\nimport type { PageSize, PageToken } from \"@osdk/foundry.core\";\nimport type {\n LoadObjectSetV2MultipleObjectTypesRequest,\n ObjectSet,\n OntologyObjectV2,\n SearchJsonQueryV2,\n SearchObjectsForInterfaceRequest,\n SearchOrderByV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { extractNamespace } from \"../internal/conversions/extractNamespace.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { extractObjectOrInterfaceType } from \"../util/extractObjectOrInterfaceType.js\";\nimport { extractRdpDefinition } from \"../util/extractRdpDefinition.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\nexport function augment<\n Q extends ObjectOrInterfaceDefinition,\n T extends PropertyKeys<Q>,\n>(\n type: Q,\n ...properties: T[]\n): Augment<Q, T> {\n return { [type.apiName]: properties } as any;\n}\n\n/** @internal */\nexport function objectSetToSearchJsonV2(\n objectSet: ObjectSet,\n expectedApiName: string,\n existingWhere: SearchJsonQueryV2 | undefined = undefined,\n): SearchJsonQueryV2 | undefined {\n if (objectSet.type === \"base\" || objectSet.type === \"interfaceBase\") {\n if (objectSet.type === \"base\" && objectSet.objectType !== expectedApiName) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.objectType}`,\n );\n }\n if (\n objectSet.type === \"interfaceBase\"\n && objectSet.interfaceType !== expectedApiName\n ) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.interfaceType}`,\n );\n }\n\n return existingWhere;\n }\n\n if (objectSet.type === \"filter\") {\n return objectSetToSearchJsonV2(\n objectSet.objectSet,\n expectedApiName,\n existingWhere == null ? objectSet.where : {\n type: \"and\",\n value: [existingWhere, objectSet.where],\n },\n );\n }\n\n throw new Error(`Unsupported objectSet type: ${objectSet.type}`);\n}\n\n/** @internal */\nexport function resolveInterfaceObjectSet(\n objectSet: ObjectSet,\n interfaceTypeApiName: string,\n args: FetchPageArgs<any, any, any, any, any, any>,\n): ObjectSet {\n return args?.$includeAllBaseObjectProperties\n ? {\n type: \"intersect\",\n objectSets: [objectSet, {\n type: \"interfaceBase\",\n interfaceType: interfaceTypeApiName,\n includeAllBaseObjectProperties: true,\n }],\n }\n : objectSet;\n}\n\n/** @internal */\nexport async function fetchStaticRidPage<\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n rids: readonly string[],\n args: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n any,\n S,\n T\n >,\n useSnapshot: boolean = false,\n): Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T\n >\n> {\n const requestBody = await applyFetchArgs(\n args,\n {\n objectSet: {\n type: \"static\",\n objects: rids as string[],\n },\n select: ((args?.$select as string[] | undefined) ?? []),\n excludeRid: !args?.$includeRid,\n snapshot: useSnapshot,\n } as LoadObjectSetV2MultipleObjectTypesRequest,\n client,\n { type: \"object\", apiName: \"\" },\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologiesV2.OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, { osdkMetadata: undefined }),\n await client.ontologyRid,\n requestBody,\n { preview: true, transactionId: client.transactionId },\n );\n\n return Promise.resolve({\n data: await client.objectFactory2(\n client,\n result.data,\n undefined,\n {},\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T\n >\n >;\n}\n\nasync function fetchInterfacePage<\n Q extends InterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n interfaceType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet,\n useSnapshot: boolean = false,\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n if (args.$__UNSTABLE_useOldInterfaceApis) {\n const baseRequestBody: SearchObjectsForInterfaceRequest = {\n augmentedProperties: {},\n augmentedSharedPropertyTypes: {},\n augmentedInterfacePropertyTypes: {},\n otherInterfaceTypes: [],\n selectedObjectTypes: [],\n selectedSharedPropertyTypes: args.$select ? [...args.$select] : [],\n selectedInterfacePropertyTypes: [],\n where: objectSetToSearchJsonV2(objectSet, interfaceType.apiName),\n };\n\n const requestBody = await applyFetchArgs(\n args,\n baseRequestBody,\n client,\n interfaceType,\n );\n\n if (requestBody.selectedSharedPropertyTypes.length > 0) {\n const remapped = remapPropertyNames(\n interfaceType,\n requestBody.selectedSharedPropertyTypes,\n );\n requestBody.selectedSharedPropertyTypes = Array.from(remapped);\n }\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologiesV2.OntologyInterfaces\n .search(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n interfaceType.apiName,\n requestBody,\n { preview: true },\n );\n\n result.data = await client.objectFactory(\n client,\n result.data as OntologyObjectV2[], // drop readonly\n interfaceType.apiName,\n !args.$includeRid,\n await extractRdpDefinition(client, objectSet),\n );\n return result as any;\n }\n\n const extractedInterfaceTypeApiName = (await extractObjectOrInterfaceType(\n client,\n objectSet,\n ))?.apiName ?? interfaceType.apiName;\n const resolvedInterfaceObjectSet = resolveInterfaceObjectSet(\n objectSet,\n extractedInterfaceTypeApiName,\n args,\n );\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet: resolvedInterfaceObjectSet,\n select: args?.$select ? [...args.$select] : [],\n selectV2: [],\n excludeRid: !args?.$includeRid,\n snapshot: useSnapshot,\n },\n client,\n interfaceType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologiesV2.OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n requestBody,\n {\n preview: true,\n transactionId: client.transactionId,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory2(\n client,\n result.data,\n extractedInterfaceTypeApiName,\n {},\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T>>;\n}\n\n/** @internal */\nexport async function fetchPageInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T, never, ORDER_BY_OPTIONS> = {},\n useSnapshot: boolean = false,\n): Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>> {\n if (objectType.type === \"interface\") {\n return await fetchInterfacePage(\n client,\n objectType,\n args as FetchPageArgs<\n InterfaceDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n useSnapshot,\n ) as any; // fixme\n } else {\n return await fetchObjectPage(\n client,\n objectType,\n args as FetchPageArgs<\n ObjectTypeDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n useSnapshot,\n ) as any; // fixme\n }\n}\n\n/** @internal */\nexport async function fetchPageWithErrorsInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T> = {},\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n try {\n const result = await fetchPageInternal(client, objectType, objectSet, args);\n return { value: result };\n } catch (e) {\n if (e instanceof Error) {\n return { error: e };\n }\n return { error: e as Error };\n }\n}\n\n/**\n * @param client\n * @param objectType\n * @param args\n * @param objectSet\n * @returns\n * @internal\n */\nexport async function fetchPage<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n return fetchPageInternal(client, objectType, objectSet, args);\n}\n\n/** @internal */\nexport async function fetchPageWithErrors<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n return fetchPageWithErrorsInternal(client, objectType, objectSet, args);\n}\n\n/** @internal */\nasync function buildAndRemapRequestBody<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n RequestBody extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n select?: readonly string[];\n selectedSharedPropertyTypes?: readonly string[];\n },\n>(\n args: FetchPageArgs<Q, L, R, A, S, T>,\n baseBody: RequestBody,\n client: MinimalClient,\n objectType: Q,\n): Promise<RequestBody> {\n const requestBody = await applyFetchArgs(\n args,\n baseBody,\n client,\n objectType,\n );\n\n if (requestBody.select != null && requestBody.select.length > 0) {\n const remapped = remapPropertyNames(\n objectType,\n requestBody.select,\n );\n return { ...requestBody, select: remapped };\n }\n\n return requestBody;\n}\n\n/** @internal */\nexport function remapPropertyNames(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n propertyNames: readonly string[],\n): readonly string[] {\n if (objectOrInterface == null) {\n return propertyNames;\n }\n\n if (objectOrInterface.type === \"interface\") {\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n return propertyNames.map(name => {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(name);\n return (fieldApiNamespace == null && objApiNamespace != null)\n ? `${objApiNamespace}.${fieldShortName}`\n : name;\n });\n }\n\n return propertyNames;\n}\n\nasync function applyFetchArgs<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n X extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n },\n>(\n args: FetchPageArgs<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n ObjectSetArgs.OrderByOptions<any>\n >,\n body: X,\n _client: MinimalClient,\n objectType: Q,\n): Promise<X> {\n if (args?.$nextPageToken) {\n body.pageToken = args.$nextPageToken;\n }\n\n if (args?.$pageSize != null) {\n body.pageSize = args.$pageSize;\n }\n\n const orderBy = args?.$orderBy;\n if (orderBy) {\n if (orderBy === \"relevance\") {\n body.orderBy = { orderType: \"relevance\", fields: [] };\n } else {\n const orderByEntries = Object.entries(orderBy);\n const fieldNames = orderByEntries.map(([field]) => field);\n const remappedFields = remapPropertyNames(\n objectType,\n fieldNames,\n );\n\n body.orderBy = {\n fields: orderByEntries.map(([, direction], index) => ({\n field: remappedFields[index],\n direction,\n })),\n };\n }\n }\n\n return body;\n}\n\n/** @internal */\nexport async function fetchObjectPage<\n Q extends ObjectTypeDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, Augments, S, T, never, ORDER_BY_OPTIONS>,\n objectSet: ObjectSet,\n useSnapshot: boolean = false,\n): Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>> {\n // For simple object fetches, since we know the object type up front\n // we can parallelize network requests for loading metadata and loading the actual objects\n // In our object factory we await and block on loading the metadata, which if this call finishes, should already be cached on the client\n // We have an empty catch here so that if this call errors before we await later, we won't have an unhandled promise rejection that would crash the process\n // Swallowing the error is ok because we await the metadata load in the objectFactory later anyways which eventually bubbles up the error to the user\n void client.ontologyProvider.getObjectDefinition(objectType.apiName).catch(\n () => {},\n );\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet,\n select: args?.$select ? [...args.$select] : [],\n selectV2: [],\n excludeRid: !args?.$includeRid,\n snapshot: useSnapshot,\n },\n client,\n objectType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const r = await OntologiesV2.OntologyObjectSets.load(\n addUserAgentAndRequestContextHeaders(client, objectType),\n await client.ontologyRid,\n requestBody,\n { transactionId: client.transactionId },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n r.data as OntologyObjectV2[],\n undefined,\n undefined,\n await extractRdpDefinition(client, objectSet),\n args.$select,\n false,\n ),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>>;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"fetchPage.js","names":["OntologiesV2","invariant","extractNamespace","addUserAgentAndRequestContextHeaders","extractObjectOrInterfaceType","extractRdpDefinition","resolveBaseObjectSetType","augment","type","properties","apiName","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","undefined","objectType","Error","interfaceType","where","value","resolveInterfaceObjectSet","interfaceTypeApiName","args","$includeAllBaseObjectProperties","objectSets","includeAllBaseObjectProperties","fetchStaticRidPage","client","rids","useSnapshot","shouldLoadPropertySecurities","$loadPropertySecurityMetadata","requestBody","applyFetchArgs","objects","select","$select","excludeRid","$includeRid","snapshot","loadPropertySecurities","flushEdits","result","OntologyObjectSets","loadMultipleObjectTypes","osdkMetadata","ontologyRid","preview","transactionId","Promise","resolve","data","objectFactory2","propertySecurities","interfaceToObjectTypeMappings","interfaceToObjectTypeMappingsV2","nextPageToken","totalCount","fetchInterfacePage","$__UNSTABLE_useOldInterfaceApis","process","env","NODE_ENV","baseRequestBody","augmentedProperties","augmentedSharedPropertyTypes","augmentedInterfacePropertyTypes","otherInterfaceTypes","selectedObjectTypes","selectedSharedPropertyTypes","selectedInterfacePropertyTypes","length","remapped","remapPropertyNames","Array","from","OntologyInterfaces","search","objectFactory","extractedInterfaceTypeApiName","resolvedInterfaceObjectSet","buildAndRemapRequestBody","selectV2","branch","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","baseBody","objectOrInterface","propertyNames","objApiNamespace","map","name","fieldApiNamespace","fieldShortName","body","_client","$nextPageToken","pageToken","$pageSize","pageSize","orderBy","$orderBy","orderType","fields","orderByEntries","Object","entries","fieldNames","field","remappedFields","direction","index","ontologyProvider","getObjectDefinition","catch","r","load"],"sources":["fetchPage.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 Augment,\n Augments,\n FetchPageArgs,\n FetchPageResult,\n InterfaceDefinition,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSetArgs,\n ObjectTypeDefinition,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\nimport type { PageSize, PageToken } from \"@osdk/foundry.core\";\nimport type {\n LoadObjectSetV2MultipleObjectTypesRequest,\n ObjectSet,\n OntologyObjectV2,\n SearchJsonQueryV2,\n SearchObjectsForInterfaceRequest,\n SearchOrderByV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { extractNamespace } from \"../internal/conversions/extractNamespace.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { extractObjectOrInterfaceType } from \"../util/extractObjectOrInterfaceType.js\";\nimport { extractRdpDefinition } from \"../util/extractRdpDefinition.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\nexport function augment<\n Q extends ObjectOrInterfaceDefinition,\n T extends PropertyKeys<Q>,\n>(\n type: Q,\n ...properties: T[]\n): Augment<Q, T> {\n return { [type.apiName]: properties } as any;\n}\n\n/** @internal */\nexport function objectSetToSearchJsonV2(\n objectSet: ObjectSet,\n expectedApiName: string,\n existingWhere: SearchJsonQueryV2 | undefined = undefined,\n): SearchJsonQueryV2 | undefined {\n if (objectSet.type === \"base\" || objectSet.type === \"interfaceBase\") {\n if (objectSet.type === \"base\" && objectSet.objectType !== expectedApiName) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.objectType}`,\n );\n }\n if (\n objectSet.type === \"interfaceBase\"\n && objectSet.interfaceType !== expectedApiName\n ) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.interfaceType}`,\n );\n }\n\n return existingWhere;\n }\n\n if (objectSet.type === \"filter\") {\n return objectSetToSearchJsonV2(\n objectSet.objectSet,\n expectedApiName,\n existingWhere == null ? objectSet.where : {\n type: \"and\",\n value: [existingWhere, objectSet.where],\n },\n );\n }\n\n throw new Error(`Unsupported objectSet type: ${objectSet.type}`);\n}\n\n/** @internal */\nexport function resolveInterfaceObjectSet(\n objectSet: ObjectSet,\n interfaceTypeApiName: string,\n args: FetchPageArgs<any, any, any, any, any, any>,\n): ObjectSet {\n return args?.$includeAllBaseObjectProperties\n ? {\n type: \"intersect\",\n objectSets: [objectSet, {\n type: \"interfaceBase\",\n interfaceType: interfaceTypeApiName,\n includeAllBaseObjectProperties: true,\n }],\n }\n : objectSet;\n}\n\n/** @internal */\nexport async function fetchStaticRidPage<\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n rids: readonly string[],\n args: FetchPageArgs<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n any,\n S,\n T\n >,\n useSnapshot: boolean = false,\n): Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T\n >\n> {\n const shouldLoadPropertySecurities = args.$loadPropertySecurityMetadata\n ?? false;\n const requestBody = await applyFetchArgs(\n args,\n {\n objectSet: {\n type: \"static\",\n objects: rids as string[],\n },\n select: ((args?.$select as string[] | undefined) ?? []),\n excludeRid: !args?.$includeRid,\n snapshot: useSnapshot,\n loadPropertySecurities: shouldLoadPropertySecurities,\n } as LoadObjectSetV2MultipleObjectTypesRequest,\n client,\n { type: \"object\", apiName: \"\" },\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologiesV2.OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, { osdkMetadata: undefined }),\n await client.ontologyRid,\n requestBody,\n { preview: true, transactionId: client.transactionId },\n );\n\n return Promise.resolve({\n data: await client.objectFactory2(\n client,\n result.data,\n undefined,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n R,\n S,\n T\n >\n >;\n}\n\nasync function fetchInterfacePage<\n Q extends InterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n interfaceType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet,\n useSnapshot: boolean = false,\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n if (args.$__UNSTABLE_useOldInterfaceApis) {\n invariant(\n args.$loadPropertySecurityMetadata === false\n || args.$loadPropertySecurityMetadata === undefined,\n \"`$loadPropertySecurityMetadata` is not supported with old interface APIs\",\n );\n const baseRequestBody: SearchObjectsForInterfaceRequest = {\n augmentedProperties: {},\n augmentedSharedPropertyTypes: {},\n augmentedInterfacePropertyTypes: {},\n otherInterfaceTypes: [],\n selectedObjectTypes: [],\n selectedSharedPropertyTypes: args.$select ? [...args.$select] : [],\n selectedInterfacePropertyTypes: [],\n where: objectSetToSearchJsonV2(objectSet, interfaceType.apiName),\n };\n\n const requestBody = await applyFetchArgs(\n args,\n baseRequestBody,\n client,\n interfaceType,\n );\n\n if (requestBody.selectedSharedPropertyTypes.length > 0) {\n const remapped = remapPropertyNames(\n interfaceType,\n requestBody.selectedSharedPropertyTypes,\n );\n requestBody.selectedSharedPropertyTypes = Array.from(remapped);\n }\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologiesV2.OntologyInterfaces\n .search(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n interfaceType.apiName,\n requestBody,\n { preview: true },\n );\n\n result.data = await client.objectFactory(\n client,\n result.data as OntologyObjectV2[], // drop readonly\n interfaceType.apiName,\n !args.$includeRid,\n await extractRdpDefinition(client, objectSet),\n undefined,\n );\n return result as any;\n }\n\n const extractedInterfaceTypeApiName = (await extractObjectOrInterfaceType(\n client,\n objectSet,\n ))?.apiName ?? interfaceType.apiName;\n const resolvedInterfaceObjectSet = resolveInterfaceObjectSet(\n objectSet,\n extractedInterfaceTypeApiName,\n args,\n );\n const shouldLoadPropertySecurities = args.$loadPropertySecurityMetadata\n ?? false;\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet: resolvedInterfaceObjectSet,\n select: args?.$select ? [...args.$select] : [],\n selectV2: [],\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: useSnapshot,\n },\n client,\n interfaceType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const result = await OntologiesV2.OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n requestBody,\n {\n preview: true,\n branch: client.branch,\n transactionId: client.transactionId,\n },\n );\n\n return Promise.resolve({\n data: await client.objectFactory2(\n client,\n result.data,\n extractedInterfaceTypeApiName,\n {},\n shouldLoadPropertySecurities ? result.propertySecurities : undefined,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n result.interfaceToObjectTypeMappingsV2,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T>>;\n}\n\n/** @internal */\nexport async function fetchPageInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T, never, ORDER_BY_OPTIONS> = {},\n useSnapshot: boolean = false,\n): Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>> {\n if (objectType.type === \"interface\") {\n return await fetchInterfacePage(\n client,\n objectType,\n args as FetchPageArgs<\n InterfaceDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n useSnapshot,\n ) as any; // fixme\n } else {\n return await fetchObjectPage(\n client,\n objectType,\n args as FetchPageArgs<\n ObjectTypeDefinition,\n L,\n R,\n A,\n S,\n T,\n never,\n ORDER_BY_OPTIONS\n >,\n objectSet,\n useSnapshot,\n ) as any; // fixme\n }\n}\n\n/** @internal */\nexport async function fetchPageWithErrorsInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T> = {},\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n try {\n const result = await fetchPageInternal(client, objectType, objectSet, args);\n return { value: result };\n } catch (e) {\n if (e instanceof Error) {\n return { error: e };\n }\n return { error: e as Error };\n }\n}\n\n/**\n * @param client\n * @param objectType\n * @param args\n * @param objectSet\n * @returns\n * @internal\n */\nexport async function fetchPage<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n return fetchPageInternal(client, objectType, objectSet, args);\n}\n\n/** @internal */\nexport async function fetchPageWithErrors<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n return fetchPageWithErrorsInternal(client, objectType, objectSet, args);\n}\n\n/** @internal */\nasync function buildAndRemapRequestBody<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n RequestBody extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n select?: readonly string[];\n selectedSharedPropertyTypes?: readonly string[];\n loadPropertySecurity?: boolean;\n },\n>(\n args: FetchPageArgs<Q, L, R, A, S, T>,\n baseBody: RequestBody,\n client: MinimalClient,\n objectType: Q,\n): Promise<RequestBody> {\n const requestBody = await applyFetchArgs(\n args,\n baseBody,\n client,\n objectType,\n );\n\n if (requestBody.select != null && requestBody.select.length > 0) {\n const remapped = remapPropertyNames(\n objectType,\n requestBody.select,\n );\n return { ...requestBody, select: remapped };\n }\n\n return requestBody;\n}\n\n/** @internal */\nexport function remapPropertyNames(\n objectOrInterface: ObjectOrInterfaceDefinition | undefined,\n propertyNames: readonly string[],\n): readonly string[] {\n if (objectOrInterface == null) {\n return propertyNames;\n }\n\n if (objectOrInterface.type === \"interface\") {\n const [objApiNamespace] = extractNamespace(objectOrInterface.apiName);\n return propertyNames.map(name => {\n const [fieldApiNamespace, fieldShortName] = extractNamespace(name);\n return (fieldApiNamespace == null && objApiNamespace != null)\n ? `${objApiNamespace}.${fieldShortName}`\n : name;\n });\n }\n\n return propertyNames;\n}\n\nasync function applyFetchArgs<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n X extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n loadPropertySecurities?: boolean;\n },\n>(\n args: FetchPageArgs<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n ObjectSetArgs.OrderByOptions<any>\n >,\n body: X,\n _client: MinimalClient,\n objectType: Q,\n): Promise<X> {\n if (args?.$nextPageToken) {\n body.pageToken = args.$nextPageToken;\n }\n\n if (args?.$pageSize != null) {\n body.pageSize = args.$pageSize;\n }\n\n if (args?.$loadPropertySecurityMetadata) {\n body.loadPropertySecurities = true;\n }\n\n const orderBy = args?.$orderBy;\n if (orderBy) {\n if (orderBy === \"relevance\") {\n body.orderBy = { orderType: \"relevance\", fields: [] };\n } else {\n const orderByEntries = Object.entries(orderBy);\n const fieldNames = orderByEntries.map(([field]) => field);\n const remappedFields = remapPropertyNames(\n objectType,\n fieldNames,\n );\n\n body.orderBy = {\n fields: orderByEntries.map(([, direction], index) => ({\n field: remappedFields[index],\n direction,\n })),\n };\n }\n }\n\n return body;\n}\n\n/** @internal */\nexport async function fetchObjectPage<\n Q extends ObjectTypeDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L>,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, Augments, S, T, never, ORDER_BY_OPTIONS>,\n objectSet: ObjectSet,\n useSnapshot: boolean = false,\n): Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>> {\n // For simple object fetches, since we know the object type up front\n // we can parallelize network requests for loading metadata and loading the actual objects\n // In our object factory we await and block on loading the metadata, which if this call finishes, should already be cached on the client\n // We have an empty catch here so that if this call errors before we await later, we won't have an unhandled promise rejection that would crash the process\n // Swallowing the error is ok because we await the metadata load in the objectFactory later anyways which eventually bubbles up the error to the user\n void client.ontologyProvider.getObjectDefinition(objectType.apiName).catch(\n () => {},\n );\n\n const shouldLoadPropertySecurities = args.$loadPropertySecurityMetadata\n ?? false;\n\n const requestBody = await buildAndRemapRequestBody(\n args,\n {\n objectSet,\n select: args?.$select ? [...args.$select] : [],\n selectV2: [],\n loadPropertySecurities: shouldLoadPropertySecurities,\n excludeRid: !args?.$includeRid,\n snapshot: useSnapshot,\n },\n client,\n objectType,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const r = await OntologiesV2.OntologyObjectSets.load(\n addUserAgentAndRequestContextHeaders(client, objectType),\n await client.ontologyRid,\n requestBody,\n { branch: client.branch, transactionId: client.transactionId },\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n r.data as OntologyObjectV2[],\n undefined,\n undefined,\n await extractRdpDefinition(client, objectSet),\n shouldLoadPropertySecurities ? r.propertySecurities : undefined,\n args.$select,\n false,\n ),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T, ORDER_BY_OPTIONS>>;\n}\n"],"mappings":"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","ignoreList":[]}