@osdk/client 2.1.0-beta.2 → 2.1.0-beta.21

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 (298) hide show
  1. package/CHANGELOG.md +297 -0
  2. package/build/browser/Client.d.ts +6 -22
  3. package/build/browser/Client.d.ts.map +1 -1
  4. package/build/browser/Client.js +3 -1
  5. package/build/browser/Client.js.map +1 -1
  6. package/build/browser/MinimalClientContext.d.ts +1 -1
  7. package/build/browser/MinimalClientContext.d.ts.map +1 -1
  8. package/build/browser/__unstable/ConjureSupport.js +5 -5
  9. package/build/browser/__unstable/ConjureSupport.js.map +1 -1
  10. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts +1 -6
  11. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -1
  12. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js +2 -2
  13. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  14. package/build/browser/actions/actions.test.js +28 -0
  15. package/build/browser/actions/actions.test.js.map +1 -1
  16. package/build/browser/actions/applyAction.js +1 -1
  17. package/build/browser/actions/applyAction.js.map +1 -1
  18. package/build/browser/createClient.d.ts +1 -1
  19. package/build/browser/createClient.d.ts.map +1 -1
  20. package/build/browser/createClient.js +41 -19
  21. package/build/browser/createClient.js.map +1 -1
  22. package/build/browser/createClient.test.js +24 -0
  23. package/build/browser/createClient.test.js.map +1 -1
  24. package/build/browser/createGeotimeSeriesProperty.d.ts +1 -1
  25. package/build/browser/createGeotimeSeriesProperty.d.ts.map +1 -1
  26. package/build/browser/createGeotimeSeriesProperty.js +4 -1
  27. package/build/browser/createGeotimeSeriesProperty.js.map +1 -1
  28. package/build/browser/createMinimalClient.js +9 -4
  29. package/build/browser/createMinimalClient.js.map +1 -1
  30. package/build/browser/createPlatformClient.d.ts +1 -1
  31. package/build/browser/createPlatformClient.d.ts.map +1 -1
  32. package/build/browser/createTimeseriesProperty.d.ts.map +1 -1
  33. package/build/browser/fetchMetadata.test.js +14 -0
  34. package/build/browser/fetchMetadata.test.js.map +1 -1
  35. package/build/browser/index.d.ts +2 -2
  36. package/build/browser/index.d.ts.map +1 -1
  37. package/build/browser/index.js +1 -1
  38. package/build/browser/index.js.map +1 -1
  39. package/build/browser/intellisense.test.js +1 -1
  40. package/build/browser/intellisense.test.js.map +1 -1
  41. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js +1 -1
  42. package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  43. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +11 -3
  44. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  45. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +208 -7
  46. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  47. package/build/browser/object/AttachmentUpload.d.ts.map +1 -1
  48. package/build/browser/object/AttachmentUpload.js +5 -7
  49. package/build/browser/object/AttachmentUpload.js.map +1 -1
  50. package/build/browser/object/aggregate.js +4 -5
  51. package/build/browser/object/aggregate.js.map +1 -1
  52. package/build/browser/object/aggregate.test.js +6 -9
  53. package/build/browser/object/aggregate.test.js.map +1 -1
  54. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -10
  55. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -1
  56. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  57. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
  58. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +4 -3
  59. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  60. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +41 -85
  61. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  62. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js +0 -6
  63. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  64. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +60 -89
  65. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  66. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js +2 -2
  67. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  68. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +14 -38
  69. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  70. package/build/browser/object/convertWireToOsdkObjects.js +42 -6
  71. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  72. package/build/browser/object/convertWireToOsdkObjects.test.js +177 -45
  73. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  74. package/build/browser/object/fetchPage.d.ts.map +1 -1
  75. package/build/browser/object/fetchPage.js +34 -23
  76. package/build/browser/object/fetchPage.js.map +1 -1
  77. package/build/browser/object/fetchPage.test.js +75 -1
  78. package/build/browser/object/fetchPage.test.js.map +1 -1
  79. package/build/browser/object/object.test.d.ts.map +1 -1
  80. package/build/browser/object/object.test.js +25 -1
  81. package/build/browser/object/object.test.js.map +1 -1
  82. package/build/browser/object/timeseries.test.js +10 -0
  83. package/build/browser/object/timeseries.test.js.map +1 -1
  84. package/build/browser/objectSet/InterfaceObjectSet.test.d.ts +2 -0
  85. package/build/browser/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
  86. package/build/browser/objectSet/InterfaceObjectSet.test.js +61 -0
  87. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -0
  88. package/build/browser/objectSet/ObjectSet.test.js +162 -48
  89. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  90. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +136 -74
  91. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  92. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +150 -42
  93. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  94. package/build/browser/objectSet/createObjectSet.js +10 -8
  95. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  96. package/build/browser/objectSet/toConjureObjectSet.js +2 -0
  97. package/build/browser/objectSet/toConjureObjectSet.js.map +1 -1
  98. package/build/browser/ontology/makeConjureContext.d.ts +1 -1
  99. package/build/browser/ontology/makeConjureContext.d.ts.map +1 -1
  100. package/build/browser/public/internal.d.ts +4 -0
  101. package/build/browser/public/internal.d.ts.map +1 -0
  102. package/build/browser/public/internal.js +19 -0
  103. package/build/browser/public/internal.js.map +1 -0
  104. package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts +11 -0
  105. package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -0
  106. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +32 -0
  107. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
  108. package/build/browser/public-utils/hydrateAttachmentFromRid.d.ts +10 -0
  109. package/build/browser/public-utils/hydrateAttachmentFromRid.d.ts.map +1 -0
  110. package/build/{esm/createAttachmentFromRid.js → browser/public-utils/hydrateAttachmentFromRid.js} +9 -4
  111. package/build/browser/public-utils/hydrateAttachmentFromRid.js.map +1 -0
  112. package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts +11 -0
  113. package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -0
  114. package/build/browser/public-utils/hydrateObjectSetFromRid.js +37 -0
  115. package/build/browser/public-utils/hydrateObjectSetFromRid.js.map +1 -0
  116. package/build/browser/queries/applyQuery.d.ts.map +1 -1
  117. package/build/browser/queries/applyQuery.js +3 -4
  118. package/build/browser/queries/applyQuery.js.map +1 -1
  119. package/build/browser/queries/queries.test.js +30 -2
  120. package/build/browser/queries/queries.test.js.map +1 -1
  121. package/build/browser/tsserver.js +1 -1
  122. package/build/browser/tsserver.js.map +1 -1
  123. package/build/browser/util/UserAgent.js +1 -1
  124. package/build/browser/util/UserAgent.js.map +1 -1
  125. package/build/browser/util/datetimeConverters.d.ts +22 -0
  126. package/build/browser/util/datetimeConverters.d.ts.map +1 -0
  127. package/build/browser/util/datetimeConverters.js +55 -0
  128. package/build/browser/util/datetimeConverters.js.map +1 -0
  129. package/build/browser/util/datetimeConverters.test.d.ts +2 -0
  130. package/build/browser/util/datetimeConverters.test.d.ts.map +1 -0
  131. package/build/browser/util/datetimeConverters.test.js +75 -0
  132. package/build/browser/util/datetimeConverters.test.js.map +1 -0
  133. package/build/browser/util/objectSetUtils.d.ts +4 -0
  134. package/build/browser/util/objectSetUtils.d.ts.map +1 -0
  135. package/build/browser/util/objectSetUtils.js +25 -0
  136. package/build/browser/util/objectSetUtils.js.map +1 -0
  137. package/build/browser/util/timeseriesUtils.d.ts +1 -1
  138. package/build/browser/util/timeseriesUtils.d.ts.map +1 -1
  139. package/build/browser/util/timeseriesUtils.js +1 -1
  140. package/build/browser/util/timeseriesUtils.js.map +1 -1
  141. package/build/browser/util/toDataValue.js +6 -0
  142. package/build/browser/util/toDataValue.js.map +1 -1
  143. package/build/browser/util/toDataValue.test.js +9 -1
  144. package/build/browser/util/toDataValue.test.js.map +1 -1
  145. package/build/browser/util/toDataValueQueries.js +6 -0
  146. package/build/browser/util/toDataValueQueries.js.map +1 -1
  147. package/build/esm/Client.d.ts +6 -22
  148. package/build/esm/Client.d.ts.map +1 -1
  149. package/build/esm/Client.js +3 -1
  150. package/build/esm/Client.js.map +1 -1
  151. package/build/esm/MinimalClientContext.d.ts +1 -1
  152. package/build/esm/MinimalClientContext.d.ts.map +1 -1
  153. package/build/esm/__unstable/ConjureSupport.js +5 -5
  154. package/build/esm/__unstable/ConjureSupport.js.map +1 -1
  155. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts +1 -6
  156. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -1
  157. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js +2 -2
  158. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  159. package/build/esm/actions/actions.test.js +28 -0
  160. package/build/esm/actions/actions.test.js.map +1 -1
  161. package/build/esm/actions/applyAction.js +1 -1
  162. package/build/esm/actions/applyAction.js.map +1 -1
  163. package/build/esm/createClient.d.ts +1 -1
  164. package/build/esm/createClient.d.ts.map +1 -1
  165. package/build/esm/createClient.js +41 -19
  166. package/build/esm/createClient.js.map +1 -1
  167. package/build/esm/createClient.test.js +24 -0
  168. package/build/esm/createClient.test.js.map +1 -1
  169. package/build/esm/createGeotimeSeriesProperty.d.ts +1 -1
  170. package/build/esm/createGeotimeSeriesProperty.d.ts.map +1 -1
  171. package/build/esm/createGeotimeSeriesProperty.js +4 -1
  172. package/build/esm/createGeotimeSeriesProperty.js.map +1 -1
  173. package/build/esm/createMinimalClient.js +9 -4
  174. package/build/esm/createMinimalClient.js.map +1 -1
  175. package/build/esm/createPlatformClient.d.ts +1 -1
  176. package/build/esm/createPlatformClient.d.ts.map +1 -1
  177. package/build/esm/createTimeseriesProperty.d.ts.map +1 -1
  178. package/build/esm/fetchMetadata.test.js +14 -0
  179. package/build/esm/fetchMetadata.test.js.map +1 -1
  180. package/build/esm/index.d.ts +2 -2
  181. package/build/esm/index.d.ts.map +1 -1
  182. package/build/esm/index.js +1 -1
  183. package/build/esm/index.js.map +1 -1
  184. package/build/esm/intellisense.test.js +1 -1
  185. package/build/esm/intellisense.test.js.map +1 -1
  186. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js +1 -1
  187. package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
  188. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +11 -3
  189. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  190. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +208 -7
  191. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  192. package/build/esm/object/AttachmentUpload.d.ts.map +1 -1
  193. package/build/esm/object/AttachmentUpload.js +5 -7
  194. package/build/esm/object/AttachmentUpload.js.map +1 -1
  195. package/build/esm/object/aggregate.js +4 -5
  196. package/build/esm/object/aggregate.js.map +1 -1
  197. package/build/esm/object/aggregate.test.js +6 -9
  198. package/build/esm/object/aggregate.test.js.map +1 -1
  199. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -10
  200. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -1
  201. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
  202. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
  203. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +4 -3
  204. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  205. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +41 -85
  206. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  207. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js +0 -6
  208. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  209. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +60 -89
  210. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  211. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js +2 -2
  212. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  213. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +14 -38
  214. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  215. package/build/esm/object/convertWireToOsdkObjects.js +42 -6
  216. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  217. package/build/esm/object/convertWireToOsdkObjects.test.js +177 -45
  218. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  219. package/build/esm/object/fetchPage.d.ts.map +1 -1
  220. package/build/esm/object/fetchPage.js +34 -23
  221. package/build/esm/object/fetchPage.js.map +1 -1
  222. package/build/esm/object/fetchPage.test.js +75 -1
  223. package/build/esm/object/fetchPage.test.js.map +1 -1
  224. package/build/esm/object/object.test.d.ts.map +1 -1
  225. package/build/esm/object/object.test.js +25 -1
  226. package/build/esm/object/object.test.js.map +1 -1
  227. package/build/esm/object/timeseries.test.js +10 -0
  228. package/build/esm/object/timeseries.test.js.map +1 -1
  229. package/build/esm/objectSet/InterfaceObjectSet.test.d.ts +2 -0
  230. package/build/esm/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
  231. package/build/esm/objectSet/InterfaceObjectSet.test.js +61 -0
  232. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -0
  233. package/build/esm/objectSet/ObjectSet.test.js +162 -48
  234. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  235. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +136 -77
  236. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  237. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +150 -42
  238. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  239. package/build/esm/objectSet/createObjectSet.js +10 -8
  240. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  241. package/build/esm/objectSet/toConjureObjectSet.js +2 -0
  242. package/build/esm/objectSet/toConjureObjectSet.js.map +1 -1
  243. package/build/esm/ontology/makeConjureContext.d.ts +1 -1
  244. package/build/esm/ontology/makeConjureContext.d.ts.map +1 -1
  245. package/build/esm/public/internal.d.ts +4 -0
  246. package/build/esm/public/internal.d.ts.map +1 -0
  247. package/build/esm/public/internal.js +19 -0
  248. package/build/esm/public/internal.js.map +1 -0
  249. package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts +11 -0
  250. package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -0
  251. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +32 -0
  252. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
  253. package/build/esm/public-utils/hydrateAttachmentFromRid.d.ts +10 -0
  254. package/build/esm/public-utils/hydrateAttachmentFromRid.d.ts.map +1 -0
  255. package/build/{browser/createAttachmentFromRid.js → esm/public-utils/hydrateAttachmentFromRid.js} +9 -4
  256. package/build/esm/public-utils/hydrateAttachmentFromRid.js.map +1 -0
  257. package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts +11 -0
  258. package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -0
  259. package/build/esm/public-utils/hydrateObjectSetFromRid.js +37 -0
  260. package/build/esm/public-utils/hydrateObjectSetFromRid.js.map +1 -0
  261. package/build/esm/queries/applyQuery.d.ts.map +1 -1
  262. package/build/esm/queries/applyQuery.js +3 -4
  263. package/build/esm/queries/applyQuery.js.map +1 -1
  264. package/build/esm/queries/queries.test.js +30 -2
  265. package/build/esm/queries/queries.test.js.map +1 -1
  266. package/build/esm/tsserver.js +1 -1
  267. package/build/esm/tsserver.js.map +1 -1
  268. package/build/esm/util/UserAgent.js +1 -1
  269. package/build/esm/util/UserAgent.js.map +1 -1
  270. package/build/esm/util/datetimeConverters.d.ts +22 -0
  271. package/build/esm/util/datetimeConverters.d.ts.map +1 -0
  272. package/build/esm/util/datetimeConverters.js +55 -0
  273. package/build/esm/util/datetimeConverters.js.map +1 -0
  274. package/build/esm/util/datetimeConverters.test.d.ts +2 -0
  275. package/build/esm/util/datetimeConverters.test.d.ts.map +1 -0
  276. package/build/esm/util/datetimeConverters.test.js +75 -0
  277. package/build/esm/util/datetimeConverters.test.js.map +1 -0
  278. package/build/esm/util/objectSetUtils.d.ts +4 -0
  279. package/build/esm/util/objectSetUtils.d.ts.map +1 -0
  280. package/build/esm/util/objectSetUtils.js +25 -0
  281. package/build/esm/util/objectSetUtils.js.map +1 -0
  282. package/build/esm/util/timeseriesUtils.d.ts +1 -1
  283. package/build/esm/util/timeseriesUtils.d.ts.map +1 -1
  284. package/build/esm/util/timeseriesUtils.js +1 -1
  285. package/build/esm/util/timeseriesUtils.js.map +1 -1
  286. package/build/esm/util/toDataValue.js +6 -0
  287. package/build/esm/util/toDataValue.js.map +1 -1
  288. package/build/esm/util/toDataValue.test.js +9 -1
  289. package/build/esm/util/toDataValue.test.js.map +1 -1
  290. package/build/esm/util/toDataValueQueries.js +6 -0
  291. package/build/esm/util/toDataValueQueries.js.map +1 -1
  292. package/package.json +23 -19
  293. package/build/browser/createAttachmentFromRid.d.ts +0 -10
  294. package/build/browser/createAttachmentFromRid.d.ts.map +0 -1
  295. package/build/browser/createAttachmentFromRid.js.map +0 -1
  296. package/build/esm/createAttachmentFromRid.d.ts +0 -10
  297. package/build/esm/createAttachmentFromRid.d.ts.map +0 -1
  298. package/build/esm/createAttachmentFromRid.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","names":["MaxOsdkVersion","ErrorMessage","Symbol"],"sources":["Client.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.\nconst MaxOsdkVersion = \"2.1.0\";\nconst ErrorMessage = Symbol(\"ErrorMessage\");\nexport {};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,OAAO;AAC9B,MAAMC,YAAY,GAAGC,MAAM,CAAC,cAAc,CAAC;AAC3C","ignoreList":[]}
1
+ {"version":3,"file":"Client.js","names":["additionalContext","Symbol","MaxOsdkVersion","ErrorMessage"],"sources":["Client.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// DO NOT EXPORT FROM PACKAGE\n/** @internal */\nexport const additionalContext = Symbol(\"additionalContext\");\n// BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.\nconst MaxOsdkVersion = \"2.1.0\";\nconst ErrorMessage = Symbol(\"ErrorMessage\");\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,iBAAiB,GAAGC,MAAM,CAAC,mBAAmB,CAAC;AAC5D;AACA,MAAMC,cAAc,GAAG,OAAO;AAC9B,MAAMC,YAAY,GAAGF,MAAM,CAAC,cAAc,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { SharedClientContext } from "@osdk/shared.client";
1
+ import type { SharedClientContext } from "@osdk/shared.client2";
2
2
  import type { Logger } from "./Logger.js";
3
3
  import type { OntologyProvider } from "./ontology/OntologyProvider.js";
4
4
  declare const tag: unique symbol;
@@ -1 +1 @@
1
- {"version":3,"file":"MinimalClientContext.d.ts","sourceRoot":"","sources":["../../src/MinimalClientContext.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,MAAM,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG,EAAE,GAAG;IAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,QAAQ,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC"}
1
+ {"version":3,"file":"MinimalClientContext.d.ts","sourceRoot":"","sources":["../../src/MinimalClientContext.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAM1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,MAAM,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG,EAAE,GAAG;IAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAQhB,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,QAAQ,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC"}
@@ -20,7 +20,7 @@ import { makeConjureContext } from "../ontology/makeConjureContext.js";
20
20
  let cachedAllOntologies;
21
21
  async function getOntologyVersionForRid(ctx, ontologyRid) {
22
22
  cachedAllOntologies ??= await loadAllOntologies(ctx, {});
23
- !cachedAllOntologies.ontologies[ontologyRid] ? invariant(false, "ontology should be loaded") : void 0;
23
+ !cachedAllOntologies.ontologies[ontologyRid] ? process.env.NODE_ENV !== "production" ? invariant(false, "ontology should be loaded") : invariant(false) : void 0;
24
24
  return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;
25
25
  }
26
26
  const strongMemoSync = fn => createSimpleCache(new Map(), fn).get;
@@ -33,7 +33,7 @@ export class MetadataClient {
33
33
  #logger;
34
34
  constructor(client) {
35
35
  this.#client = client;
36
- this.#ctx = makeConjureContext(client, "/ontology-metadata/api");
36
+ this.#ctx = makeConjureContext(client, "ontology-metadata/api");
37
37
  this.#client.ontologyProvider.getObjectDefinition;
38
38
  this.#logger = this.#client.logger?.child({
39
39
  mcc: true
@@ -64,7 +64,7 @@ export class MetadataClient {
64
64
  [objectTypeRid]: await this.ontologyVersion("")
65
65
  }
66
66
  });
67
- !linkTypes.linkTypes[objectTypeRid] ? invariant(false, "link type should be loaded") : void 0;
67
+ !linkTypes.linkTypes[objectTypeRid] ? process.env.NODE_ENV !== "production" ? invariant(false, "link type should be loaded") : invariant(false) : void 0;
68
68
  // apiName to content
69
69
  const ret = {};
70
70
  for (const l of linkTypes.linkTypes[objectTypeRid]) {
@@ -140,14 +140,14 @@ export class MetadataClient {
140
140
  includeEntityMetadata: undefined
141
141
  };
142
142
  const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);
143
- !entities.objectTypes[0]?.objectType ? invariant(false, "object type should be loaded") : void 0;
143
+ !entities.objectTypes[0]?.objectType ? process.env.NODE_ENV !== "production" ? invariant(false, "object type should be loaded") : invariant(false) : void 0;
144
144
  return entities.objectTypes[0].objectType;
145
145
  });
146
146
  ontologyVersion = strongMemoAsync(async () => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));
147
147
  }
148
148
  export const metadataCacheClient = weakMemoAsync(client => Promise.resolve(new MetadataClient(client)));
149
149
  function createObjectPropertyMapping(conjureOT) {
150
- !(conjureOT.primaryKeys.length === 1) ? invariant(false, `only one primary key supported, got ${conjureOT.primaryKeys.length}`) : void 0;
150
+ !(conjureOT.primaryKeys.length === 1) ? process.env.NODE_ENV !== "production" ? invariant(false, `only one primary key supported, got ${conjureOT.primaryKeys.length}`) : invariant(false) : void 0;
151
151
  const pkRid = conjureOT.primaryKeys[0];
152
152
  const pkProperty = Object.values(conjureOT.propertyTypes).find(a => a.rid === pkRid);
153
153
  if (!pkProperty) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConjureSupport.js","names":["bulkLoadOntologyEntities","getLinkTypesForObjectTypes","loadAllOntologies","invariant","createSimpleAsyncCache","createSimpleCache","makeConjureContext","cachedAllOntologies","getOntologyVersionForRid","ctx","ontologyRid","ontologies","currentOntologyVersion","strongMemoSync","fn","Map","get","weakMemoSync","WeakMap","strongMemoAsync","weakMemoAsync","MetadataClient","client","logger","constructor","ontologyProvider","getObjectDefinition","child","mcc","forObjectByRid","rid","Promise","resolve","getPropertyMapping","objectPropertyMapping","bind","getLinkMapping","objectLinkMapping","getRid","getApiName","getConjureObjectType","apiName","forObjectByApiName","objectApiName","objectDef","objectTypeRid","conjureObjectType","createObjectPropertyMapping","linkTypes","includeObjectTypesWithoutSearchableDatasources","loadRedacted","objectTypeBranches","objectTypeVersions","ontologyVersion","ret","l","helper","linkSide","otherObjectType","directedLinkTypeRid","linkTypeRid","definition","type","oneToMany","objectTypeRidManySide","manyToOneLinkMetadata","objectTypeRidOneSide","oneToManyLinkMetadata","manyToMany","objectTypeRidA","objectTypeAToBLinkMetadata","objectTypeRidB","objectTypeBToALinkMetadata","debug","body","datasourceTypes","objectTypes","identifier","versionReference","sharedPropertyTypes","interfaceTypes","typeGroups","includeObjectTypeCount","undefined","includeEntityMetadata","entities","objectType","metadataCacheClient","conjureOT","primaryKeys","length","pkRid","pkProperty","Object","values","propertyTypes","find","a","Error","propertyIdToApiNameMapping","fromEntries","map","property","id","propertyApiNameToIdMapping","pk"],"sources":["ConjureSupport.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { bulkLoadOntologyEntities, getLinkTypesForObjectTypes, loadAllOntologies, } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { createSimpleAsyncCache, createSimpleCache, } from \"../object/SimpleCache.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nlet cachedAllOntologies;\nasync function getOntologyVersionForRid(ctx, ontologyRid) {\n cachedAllOntologies ??= await loadAllOntologies(ctx, {});\n invariant(cachedAllOntologies.ontologies[ontologyRid], \"ontology should be loaded\");\n return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;\n}\nconst strongMemoSync = (fn) => createSimpleCache(new Map(), fn).get;\nconst weakMemoSync = (fn) => createSimpleCache(new WeakMap(), fn).get; // FIXME\nconst strongMemoAsync = (fn) => createSimpleAsyncCache(\"strong\", fn).get;\nconst weakMemoAsync = (fn) => createSimpleAsyncCache(\"weak\", fn).get;\nexport class MetadataClient {\n #client;\n #ctx;\n #logger;\n constructor(client) {\n this.#client = client;\n this.#ctx = makeConjureContext(client, \"/ontology-metadata/api\");\n this.#client.ontologyProvider.getObjectDefinition;\n this.#logger = this.#client.logger?.child({\n mcc: true,\n });\n }\n forObjectByRid = strongMemoAsync(async (rid) => {\n return Promise.resolve({\n getPropertyMapping: this.#objectPropertyMapping.bind(this, rid),\n getLinkMapping: this.#objectLinkMapping.bind(this, rid),\n getRid: () => rid,\n getApiName: async () => (await this.#getConjureObjectType(rid)).apiName,\n });\n });\n forObjectByApiName = strongMemoAsync(async (objectApiName) => {\n const objectDef = await this.#client.ontologyProvider.getObjectDefinition(objectApiName);\n return this.forObjectByRid(objectDef.rid);\n });\n #objectPropertyMapping = strongMemoAsync(async (objectTypeRid) => {\n const conjureObjectType = await this.#getConjureObjectType(objectTypeRid);\n return createObjectPropertyMapping(conjureObjectType);\n });\n #objectLinkMapping = strongMemoAsync(async (objectTypeRid) => {\n const linkTypes = await getLinkTypesForObjectTypes(this.#ctx, {\n includeObjectTypesWithoutSearchableDatasources: true,\n loadRedacted: false,\n objectTypeBranches: {},\n objectTypeVersions: {\n [objectTypeRid]: await this.ontologyVersion(\"\"),\n },\n });\n invariant(linkTypes.linkTypes[objectTypeRid], \"link type should be loaded\");\n // apiName to content\n const ret = {};\n for (const l of linkTypes.linkTypes[objectTypeRid]) {\n const helper = ({ apiName }, linkSide, otherObjectType) => {\n if (apiName) {\n ret[apiName] = {\n apiName,\n directedLinkTypeRid: {\n linkTypeRid: l.rid,\n linkSide,\n },\n otherObjectType,\n };\n }\n };\n if (l.definition.type === \"oneToMany\") {\n const { oneToMany: { objectTypeRidManySide, manyToOneLinkMetadata, objectTypeRidOneSide, oneToManyLinkMetadata, }, } = l.definition;\n if (objectTypeRidManySide === objectTypeRid) {\n helper(manyToOneLinkMetadata, \"TARGET\", objectTypeRidOneSide);\n }\n if (objectTypeRidOneSide === objectTypeRid) {\n helper(oneToManyLinkMetadata, \"SOURCE\", objectTypeRidManySide);\n }\n }\n else if (l.definition.type === \"manyToMany\") {\n const { manyToMany: { objectTypeRidA, objectTypeAToBLinkMetadata, objectTypeRidB, objectTypeBToALinkMetadata, }, } = l.definition;\n if (objectTypeRidA === objectTypeRid) {\n helper(objectTypeAToBLinkMetadata, \"SOURCE\", objectTypeRidB);\n }\n if (objectTypeRidB === objectTypeRid) {\n helper(objectTypeBToALinkMetadata, \"TARGET\", objectTypeRidA);\n }\n }\n }\n return ret;\n });\n #getConjureObjectType = strongMemoAsync(async (objectTypeRid) => {\n this.#logger?.debug(`getConjureObjectType(${objectTypeRid})`);\n const body = {\n datasourceTypes: [],\n objectTypes: [{\n identifier: {\n type: \"objectTypeRid\",\n objectTypeRid: objectTypeRid,\n },\n versionReference: {\n type: \"ontologyVersion\",\n ontologyVersion: await this.ontologyVersion(\"\"),\n },\n }],\n linkTypes: [],\n sharedPropertyTypes: [],\n interfaceTypes: [],\n typeGroups: [],\n loadRedacted: false,\n includeObjectTypeCount: undefined,\n includeObjectTypesWithoutSearchableDatasources: true,\n includeEntityMetadata: undefined,\n };\n const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);\n invariant(entities.objectTypes[0]?.objectType, \"object type should be loaded\");\n return entities.objectTypes[0].objectType;\n });\n ontologyVersion = strongMemoAsync(async (_) => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));\n}\nexport const metadataCacheClient = weakMemoAsync((client) => Promise.resolve(new MetadataClient(client)));\nfunction createObjectPropertyMapping(conjureOT) {\n invariant(conjureOT.primaryKeys.length === 1, `only one primary key supported, got ${conjureOT.primaryKeys.length}`);\n const pkRid = conjureOT.primaryKeys[0];\n const pkProperty = Object.values(conjureOT.propertyTypes).find(a => a.rid === pkRid);\n if (!pkProperty) {\n throw new Error(`Could not find PK property by rid: ${pkRid}`);\n }\n const propertyIdToApiNameMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.id, property.apiName];\n }));\n const propertyApiNameToIdMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.apiName, property.id];\n }));\n return {\n apiName: conjureOT.apiName,\n id: conjureOT.id,\n propertyIdToApiNameMapping,\n propertyApiNameToIdMapping,\n pk: {\n rid: pkRid,\n apiName: pkProperty.apiName,\n type: pkProperty.type,\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ConjureSupport.js","names":["bulkLoadOntologyEntities","getLinkTypesForObjectTypes","loadAllOntologies","invariant","createSimpleAsyncCache","createSimpleCache","makeConjureContext","cachedAllOntologies","getOntologyVersionForRid","ctx","ontologyRid","ontologies","process","env","NODE_ENV","currentOntologyVersion","strongMemoSync","fn","Map","get","weakMemoSync","WeakMap","strongMemoAsync","weakMemoAsync","MetadataClient","client","logger","constructor","ontologyProvider","getObjectDefinition","child","mcc","forObjectByRid","rid","Promise","resolve","getPropertyMapping","objectPropertyMapping","bind","getLinkMapping","objectLinkMapping","getRid","getApiName","getConjureObjectType","apiName","forObjectByApiName","objectApiName","objectDef","objectTypeRid","conjureObjectType","createObjectPropertyMapping","linkTypes","includeObjectTypesWithoutSearchableDatasources","loadRedacted","objectTypeBranches","objectTypeVersions","ontologyVersion","ret","l","helper","linkSide","otherObjectType","directedLinkTypeRid","linkTypeRid","definition","type","oneToMany","objectTypeRidManySide","manyToOneLinkMetadata","objectTypeRidOneSide","oneToManyLinkMetadata","manyToMany","objectTypeRidA","objectTypeAToBLinkMetadata","objectTypeRidB","objectTypeBToALinkMetadata","debug","body","datasourceTypes","objectTypes","identifier","versionReference","sharedPropertyTypes","interfaceTypes","typeGroups","includeObjectTypeCount","undefined","includeEntityMetadata","entities","objectType","metadataCacheClient","conjureOT","primaryKeys","length","pkRid","pkProperty","Object","values","propertyTypes","find","a","Error","propertyIdToApiNameMapping","fromEntries","map","property","id","propertyApiNameToIdMapping","pk"],"sources":["ConjureSupport.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { bulkLoadOntologyEntities, getLinkTypesForObjectTypes, loadAllOntologies, } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { createSimpleAsyncCache, createSimpleCache, } from \"../object/SimpleCache.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nlet cachedAllOntologies;\nasync function getOntologyVersionForRid(ctx, ontologyRid) {\n cachedAllOntologies ??= await loadAllOntologies(ctx, {});\n invariant(cachedAllOntologies.ontologies[ontologyRid], \"ontology should be loaded\");\n return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;\n}\nconst strongMemoSync = (fn) => createSimpleCache(new Map(), fn).get;\nconst weakMemoSync = (fn) => createSimpleCache(new WeakMap(), fn).get; // FIXME\nconst strongMemoAsync = (fn) => createSimpleAsyncCache(\"strong\", fn).get;\nconst weakMemoAsync = (fn) => createSimpleAsyncCache(\"weak\", fn).get;\nexport class MetadataClient {\n #client;\n #ctx;\n #logger;\n constructor(client) {\n this.#client = client;\n this.#ctx = makeConjureContext(client, \"ontology-metadata/api\");\n this.#client.ontologyProvider.getObjectDefinition;\n this.#logger = this.#client.logger?.child({\n mcc: true,\n });\n }\n forObjectByRid = strongMemoAsync(async (rid) => {\n return Promise.resolve({\n getPropertyMapping: this.#objectPropertyMapping.bind(this, rid),\n getLinkMapping: this.#objectLinkMapping.bind(this, rid),\n getRid: () => rid,\n getApiName: async () => (await this.#getConjureObjectType(rid)).apiName,\n });\n });\n forObjectByApiName = strongMemoAsync(async (objectApiName) => {\n const objectDef = await this.#client.ontologyProvider.getObjectDefinition(objectApiName);\n return this.forObjectByRid(objectDef.rid);\n });\n #objectPropertyMapping = strongMemoAsync(async (objectTypeRid) => {\n const conjureObjectType = await this.#getConjureObjectType(objectTypeRid);\n return createObjectPropertyMapping(conjureObjectType);\n });\n #objectLinkMapping = strongMemoAsync(async (objectTypeRid) => {\n const linkTypes = await getLinkTypesForObjectTypes(this.#ctx, {\n includeObjectTypesWithoutSearchableDatasources: true,\n loadRedacted: false,\n objectTypeBranches: {},\n objectTypeVersions: {\n [objectTypeRid]: await this.ontologyVersion(\"\"),\n },\n });\n invariant(linkTypes.linkTypes[objectTypeRid], \"link type should be loaded\");\n // apiName to content\n const ret = {};\n for (const l of linkTypes.linkTypes[objectTypeRid]) {\n const helper = ({ apiName }, linkSide, otherObjectType) => {\n if (apiName) {\n ret[apiName] = {\n apiName,\n directedLinkTypeRid: {\n linkTypeRid: l.rid,\n linkSide,\n },\n otherObjectType,\n };\n }\n };\n if (l.definition.type === \"oneToMany\") {\n const { oneToMany: { objectTypeRidManySide, manyToOneLinkMetadata, objectTypeRidOneSide, oneToManyLinkMetadata, }, } = l.definition;\n if (objectTypeRidManySide === objectTypeRid) {\n helper(manyToOneLinkMetadata, \"TARGET\", objectTypeRidOneSide);\n }\n if (objectTypeRidOneSide === objectTypeRid) {\n helper(oneToManyLinkMetadata, \"SOURCE\", objectTypeRidManySide);\n }\n }\n else if (l.definition.type === \"manyToMany\") {\n const { manyToMany: { objectTypeRidA, objectTypeAToBLinkMetadata, objectTypeRidB, objectTypeBToALinkMetadata, }, } = l.definition;\n if (objectTypeRidA === objectTypeRid) {\n helper(objectTypeAToBLinkMetadata, \"SOURCE\", objectTypeRidB);\n }\n if (objectTypeRidB === objectTypeRid) {\n helper(objectTypeBToALinkMetadata, \"TARGET\", objectTypeRidA);\n }\n }\n }\n return ret;\n });\n #getConjureObjectType = strongMemoAsync(async (objectTypeRid) => {\n this.#logger?.debug(`getConjureObjectType(${objectTypeRid})`);\n const body = {\n datasourceTypes: [],\n objectTypes: [{\n identifier: {\n type: \"objectTypeRid\",\n objectTypeRid: objectTypeRid,\n },\n versionReference: {\n type: \"ontologyVersion\",\n ontologyVersion: await this.ontologyVersion(\"\"),\n },\n }],\n linkTypes: [],\n sharedPropertyTypes: [],\n interfaceTypes: [],\n typeGroups: [],\n loadRedacted: false,\n includeObjectTypeCount: undefined,\n includeObjectTypesWithoutSearchableDatasources: true,\n includeEntityMetadata: undefined,\n };\n const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);\n invariant(entities.objectTypes[0]?.objectType, \"object type should be loaded\");\n return entities.objectTypes[0].objectType;\n });\n ontologyVersion = strongMemoAsync(async (_) => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));\n}\nexport const metadataCacheClient = weakMemoAsync((client) => Promise.resolve(new MetadataClient(client)));\nfunction createObjectPropertyMapping(conjureOT) {\n invariant(conjureOT.primaryKeys.length === 1, `only one primary key supported, got ${conjureOT.primaryKeys.length}`);\n const pkRid = conjureOT.primaryKeys[0];\n const pkProperty = Object.values(conjureOT.propertyTypes).find(a => a.rid === pkRid);\n if (!pkProperty) {\n throw new Error(`Could not find PK property by rid: ${pkRid}`);\n }\n const propertyIdToApiNameMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.id, property.apiName];\n }));\n const propertyApiNameToIdMapping = Object\n .fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.apiName, property.id];\n }));\n return {\n apiName: conjureOT.apiName,\n id: conjureOT.id,\n propertyIdToApiNameMapping,\n propertyApiNameToIdMapping,\n pk: {\n rid: pkRid,\n apiName: pkProperty.apiName,\n type: pkProperty.type,\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,5 @@
1
1
  import type { OsdkBase } from "@osdk/api";
2
+ import type { EXPERIMENTAL_BulkLinkResult as BulkLinkResult } from "@osdk/api/unstable";
2
3
  import type { MinimalClient } from "../MinimalClientContext.js";
3
- export interface BulkLinkResult {
4
- object: OsdkBase<any>;
5
- linkApiName: string;
6
- otherObjectApiName: string | undefined;
7
- otherObjectPk: unknown;
8
- }
9
4
  export declare function createBulkLinksAsyncIterFactory(ctx: MinimalClient): (objs: Array<OsdkBase<any>>, linkTypes: string[]) => AsyncGenerator<BulkLinkResult, void, unknown>;
10
5
  //# sourceMappingURL=createBulkLinksAsyncIterFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBulkLinksAsyncIterFactory.d.ts","sourceRoot":"","sources":["../../../src/__unstable/createBulkLinksAsyncIterFactory.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAS1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAUhE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,aAAa,UAExD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aACf,MAAM,EAAE,KAClB,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CA8GjD"}
1
+ {"version":3,"file":"createBulkLinksAsyncIterFactory.d.ts","sourceRoot":"","sources":["../../../src/__unstable/createBulkLinksAsyncIterFactory.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,2BAA2B,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AASxF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAUhE,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,aAAa,UAExD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aACf,MAAM,EAAE,KAClB,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CA8GjD"}
@@ -26,7 +26,7 @@ export function createBulkLinksAsyncIterFactory(ctx) {
26
26
  }
27
27
  ctx.logger?.debug("Preparing to fetch bulk links");
28
28
  // require all objects to be the same type for now
29
- !objs.every(a => a.$objectType === objs[0].$objectType) ? invariant(false) : void 0;
29
+ !objs.every(a => a.$objectType === objs[0].$objectType) ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
30
30
  const mcc = await metadataCacheClient(ctx);
31
31
  const helper = await mcc.forObjectByApiName(objs[0].$objectType);
32
32
  const [objectTypeRid, propertyMapping, fullLinkMapping] = await Promise.all([helper.getRid(), helper.getPropertyMapping(), helper.getLinkMapping()]);
@@ -66,7 +66,7 @@ export function createBulkLinksAsyncIterFactory(ctx) {
66
66
  })))
67
67
  }]
68
68
  };
69
- const bulkLinksIter = pageRequestAsAsyncIter(getBulkLinksPage.bind(undefined, makeConjureContext(ctx, "/object-set-service/api")), getResults, applyPageToken, req);
69
+ const bulkLinksIter = pageRequestAsAsyncIter(getBulkLinksPage.bind(undefined, makeConjureContext(ctx, "object-set-service/api")), getResults, applyPageToken, req);
70
70
  for await (const item of bulkLinksIter) {
71
71
  const {
72
72
  objectIdentifier
@@ -1 +1 @@
1
- {"version":3,"file":"createBulkLinksAsyncIterFactory.js","names":["getBulkLinksPage","invariant","conjureUnionType","makeConjureContext","applyPageToken","getResults","pageRequestAsAsyncIter","metadataCacheClient","createBulkLinksAsyncIterFactory","ctx","objs","linkTypes","length","logger","debug","every","a","$objectType","mcc","helper","forObjectByApiName","objectTypeRid","propertyMapping","fullLinkMapping","Promise","all","getRid","getPropertyMapping","getLinkMapping","linkMapping","Object","fromEntries","entries","filter","apiName","includes","linkType","req","objectSetContext","forkRid","undefined","objectSetFilterContext","parameterOverrides","ontologyBranchRid","owningRid","reportUsage","workstateRid","responseOptions","includeObjectSetEntities","includeUsageCost","pageSize","pageToken","linksRequests","directedLinkTypes","values","map","directedLinkTypeRid","objects","o","objectPrimaryKey","pk","rid","type","$primaryKey","bulkLinksIter","bind","item","objectIdentifier","obj","findObject","link","links","ref","linkSide","getPrimaryKeyOrThrow","otherObjectApiName","forObjectByRid","getApiName","mappedLink","find","linkTypeRid","Error","object","linkApiName","otherObjectPk","pkValue","pks","objectLocatorV2"],"sources":["createBulkLinksAsyncIterFactory.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { getBulkLinksPage } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { conjureUnionType } from \"../objectSet/conjureUnionType.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nimport { applyPageToken, getResults, pageRequestAsAsyncIter, } from \"../pageRequestAsAsyncIter.js\";\nimport { metadataCacheClient } from \"./ConjureSupport.js\";\nexport function createBulkLinksAsyncIterFactory(ctx) {\n return async function* (objs, linkTypes) {\n if (objs.length === 0) {\n return;\n }\n ctx.logger?.debug(\"Preparing to fetch bulk links\");\n // require all objects to be the same type for now\n invariant(objs.every(a => a.$objectType === objs[0].$objectType));\n const mcc = await metadataCacheClient(ctx);\n const helper = await mcc.forObjectByApiName(objs[0].$objectType);\n const [objectTypeRid, propertyMapping, fullLinkMapping] = await Promise.all([\n helper.getRid(),\n helper.getPropertyMapping(),\n helper.getLinkMapping(),\n ]);\n const linkMapping = Object.fromEntries(Object.entries(fullLinkMapping)\n .filter(([apiName]) => linkTypes.includes(apiName)));\n // make sure the link being requested exists\n for (const linkType of linkTypes) {\n if (linkMapping[linkType] == null) {\n throw \"Unable to find link type: \" + linkType;\n }\n }\n const req = {\n objectSetContext: {\n forkRid: undefined,\n objectSetFilterContext: { parameterOverrides: {} },\n ontologyBranchRid: undefined,\n owningRid: undefined,\n reportUsage: undefined,\n workstateRid: undefined,\n },\n responseOptions: {\n includeObjectSetEntities: true,\n includeUsageCost: false,\n },\n pageSize: 1000,\n pageToken: undefined,\n linksRequests: [{\n directedLinkTypes: Object.values(linkMapping)\n .map(({ directedLinkTypeRid }) => directedLinkTypeRid),\n objects: conjureUnionType(\"objects\", objs.map(o => conjureUnionType(\"objectLocatorV2\", {\n objectTypeRid,\n objectPrimaryKey: {\n [propertyMapping.pk.rid]: conjureUnionType(propertyMapping.pk.type.type, o.$primaryKey),\n },\n }))),\n }],\n };\n const bulkLinksIter = pageRequestAsAsyncIter(getBulkLinksPage.bind(undefined, makeConjureContext(ctx, \"/object-set-service/api\")), getResults, applyPageToken, req);\n for await (const item of bulkLinksIter) {\n const { objectIdentifier } = item;\n const obj = findObject(objectIdentifier, objs);\n for (const link of item.links) {\n const ref = link.link[link.linkSide === \"SOURCE\"\n ? \"objectSideB\"\n : \"objectSideA\"];\n const pk = getPrimaryKeyOrThrow(ref);\n const otherObjectApiName = await (await mcc.forObjectByRid(pk.objectTypeRid))\n .getApiName();\n const mappedLink = Object.values(linkMapping).find(a => a.directedLinkTypeRid.linkTypeRid === link.link.linkTypeRid\n && a.directedLinkTypeRid.linkSide === link.linkSide);\n if (!mappedLink)\n throw new Error(\"Could not find link type\"); // should not happens\n yield {\n object: obj,\n linkApiName: mappedLink.apiName,\n otherObjectApiName: otherObjectApiName,\n otherObjectPk: pk.pkValue,\n };\n }\n }\n };\n}\nfunction findObject(objectIdentifier, objs) {\n const { pkValue } = getPrimaryKeyOrThrow(objectIdentifier);\n const obj = objs.find(o => o.$primaryKey === pkValue);\n if (obj == null) {\n throw new Error(`Needed to find object with pk ${pkValue}} and could not`);\n }\n return obj;\n}\nfunction getPrimaryKeyOrThrow(ref) {\n if (\"type\" in ref && ref.type !== \"objectLocatorV2\") {\n throw new Error(\"We do not support looking up object by rid\");\n }\n const pks = Object.entries(ref.objectLocatorV2.objectPrimaryKey);\n if (pks.length !== 1) {\n throw new Error(\"Unable to support this request due to multiple pks\");\n }\n return {\n objectTypeRid: ref.objectLocatorV2.objectTypeRid,\n pkValue: pks[0][1][pks[0][1].type],\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,gBAAgB,QAAQ,uBAAuB;AACxD,OAAOC,SAAS,MAAM,gBAAgB;AACtC,SAASC,gBAAgB,QAAQ,kCAAkC;AACnE,SAASC,kBAAkB,QAAQ,mCAAmC;AACtE,SAASC,cAAc,EAAEC,UAAU,EAAEC,sBAAsB,QAAS,8BAA8B;AAClG,SAASC,mBAAmB,QAAQ,qBAAqB;AACzD,OAAO,SAASC,+BAA+BA,CAACC,GAAG,EAAE;EACjD,OAAO,iBAAiBC,IAAI,EAAEC,SAAS,EAAE;IACrC,IAAID,IAAI,CAACE,MAAM,KAAK,CAAC,EAAE;MACnB;IACJ;IACAH,GAAG,CAACI,MAAM,EAAEC,KAAK,CAAC,+BAA+B,CAAC;IAClD;IACA,CAAUJ,IAAI,CAACK,KAAK,CAACC,CAAC,IAAIA,CAAC,CAACC,WAAW,KAAKP,IAAI,CAAC,CAAC,CAAC,CAACO,WAAW,CAAC,GAAhEhB,SAAS;IACT,MAAMiB,GAAG,GAAG,MAAMX,mBAAmB,CAACE,GAAG,CAAC;IAC1C,MAAMU,MAAM,GAAG,MAAMD,GAAG,CAACE,kBAAkB,CAACV,IAAI,CAAC,CAAC,CAAC,CAACO,WAAW,CAAC;IAChE,MAAM,CAACI,aAAa,EAAEC,eAAe,EAAEC,eAAe,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CACxEN,MAAM,CAACO,MAAM,CAAC,CAAC,EACfP,MAAM,CAACQ,kBAAkB,CAAC,CAAC,EAC3BR,MAAM,CAACS,cAAc,CAAC,CAAC,CAC1B,CAAC;IACF,MAAMC,WAAW,GAAGC,MAAM,CAACC,WAAW,CAACD,MAAM,CAACE,OAAO,CAACT,eAAe,CAAC,CACjEU,MAAM,CAAC,CAAC,CAACC,OAAO,CAAC,KAAKvB,SAAS,CAACwB,QAAQ,CAACD,OAAO,CAAC,CAAC,CAAC;IACxD;IACA,KAAK,MAAME,QAAQ,IAAIzB,SAAS,EAAE;MAC9B,IAAIkB,WAAW,CAACO,QAAQ,CAAC,IAAI,IAAI,EAAE;QAC/B,MAAM,4BAA4B,GAAGA,QAAQ;MACjD;IACJ;IACA,MAAMC,GAAG,GAAG;MACRC,gBAAgB,EAAE;QACdC,OAAO,EAAEC,SAAS;QAClBC,sBAAsB,EAAE;UAAEC,kBAAkB,EAAE,CAAC;QAAE,CAAC;QAClDC,iBAAiB,EAAEH,SAAS;QAC5BI,SAAS,EAAEJ,SAAS;QACpBK,WAAW,EAAEL,SAAS;QACtBM,YAAY,EAAEN;MAClB,CAAC;MACDO,eAAe,EAAE;QACbC,wBAAwB,EAAE,IAAI;QAC9BC,gBAAgB,EAAE;MACtB,CAAC;MACDC,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAEX,SAAS;MACpBY,aAAa,EAAE,CAAC;QACRC,iBAAiB,EAAEvB,MAAM,CAACwB,MAAM,CAACzB,WAAW,CAAC,CACxC0B,GAAG,CAAC,CAAC;UAAEC;QAAoB,CAAC,KAAKA,mBAAmB,CAAC;QAC1DC,OAAO,EAAEvD,gBAAgB,CAAC,SAAS,EAAEQ,IAAI,CAAC6C,GAAG,CAACG,CAAC,IAAIxD,gBAAgB,CAAC,iBAAiB,EAAE;UACnFmB,aAAa;UACbsC,gBAAgB,EAAE;YACd,CAACrC,eAAe,CAACsC,EAAE,CAACC,GAAG,GAAG3D,gBAAgB,CAACoB,eAAe,CAACsC,EAAE,CAACE,IAAI,CAACA,IAAI,EAAEJ,CAAC,CAACK,WAAW;UAC1F;QACJ,CAAC,CAAC,CAAC;MACP,CAAC;IACT,CAAC;IACD,MAAMC,aAAa,GAAG1D,sBAAsB,CAACN,gBAAgB,CAACiE,IAAI,CAACzB,SAAS,EAAErC,kBAAkB,CAACM,GAAG,EAAE,yBAAyB,CAAC,CAAC,EAAEJ,UAAU,EAAED,cAAc,EAAEiC,GAAG,CAAC;IACnK,WAAW,MAAM6B,IAAI,IAAIF,aAAa,EAAE;MACpC,MAAM;QAAEG;MAAiB,CAAC,GAAGD,IAAI;MACjC,MAAME,GAAG,GAAGC,UAAU,CAACF,gBAAgB,EAAEzD,IAAI,CAAC;MAC9C,KAAK,MAAM4D,IAAI,IAAIJ,IAAI,CAACK,KAAK,EAAE;QAC3B,MAAMC,GAAG,GAAGF,IAAI,CAACA,IAAI,CAACA,IAAI,CAACG,QAAQ,KAAK,QAAQ,GAC1C,aAAa,GACb,aAAa,CAAC;QACpB,MAAMb,EAAE,GAAGc,oBAAoB,CAACF,GAAG,CAAC;QACpC,MAAMG,kBAAkB,GAAG,MAAM,CAAC,MAAMzD,GAAG,CAAC0D,cAAc,CAAChB,EAAE,CAACvC,aAAa,CAAC,EACvEwD,UAAU,CAAC,CAAC;QACjB,MAAMC,UAAU,GAAGhD,MAAM,CAACwB,MAAM,CAACzB,WAAW,CAAC,CAACkD,IAAI,CAAC/D,CAAC,IAAIA,CAAC,CAACwC,mBAAmB,CAACwB,WAAW,KAAKV,IAAI,CAACA,IAAI,CAACU,WAAW,IAC5GhE,CAAC,CAACwC,mBAAmB,CAACiB,QAAQ,KAAKH,IAAI,CAACG,QAAQ,CAAC;QACxD,IAAI,CAACK,UAAU,EACX,MAAM,IAAIG,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACjD,MAAM;UACFC,MAAM,EAAEd,GAAG;UACXe,WAAW,EAAEL,UAAU,CAAC5C,OAAO;UAC/ByC,kBAAkB,EAAEA,kBAAkB;UACtCS,aAAa,EAAExB,EAAE,CAACyB;QACtB,CAAC;MACL;IACJ;EACJ,CAAC;AACL;AACA,SAAShB,UAAUA,CAACF,gBAAgB,EAAEzD,IAAI,EAAE;EACxC,MAAM;IAAE2E;EAAQ,CAAC,GAAGX,oBAAoB,CAACP,gBAAgB,CAAC;EAC1D,MAAMC,GAAG,GAAG1D,IAAI,CAACqE,IAAI,CAACrB,CAAC,IAAIA,CAAC,CAACK,WAAW,KAAKsB,OAAO,CAAC;EACrD,IAAIjB,GAAG,IAAI,IAAI,EAAE;IACb,MAAM,IAAIa,KAAK,CAAC,iCAAiCI,OAAO,iBAAiB,CAAC;EAC9E;EACA,OAAOjB,GAAG;AACd;AACA,SAASM,oBAAoBA,CAACF,GAAG,EAAE;EAC/B,IAAI,MAAM,IAAIA,GAAG,IAAIA,GAAG,CAACV,IAAI,KAAK,iBAAiB,EAAE;IACjD,MAAM,IAAImB,KAAK,CAAC,4CAA4C,CAAC;EACjE;EACA,MAAMK,GAAG,GAAGxD,MAAM,CAACE,OAAO,CAACwC,GAAG,CAACe,eAAe,CAAC5B,gBAAgB,CAAC;EAChE,IAAI2B,GAAG,CAAC1E,MAAM,KAAK,CAAC,EAAE;IAClB,MAAM,IAAIqE,KAAK,CAAC,oDAAoD,CAAC;EACzE;EACA,OAAO;IACH5D,aAAa,EAAEmD,GAAG,CAACe,eAAe,CAAClE,aAAa;IAChDgE,OAAO,EAAEC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACA,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACxB,IAAI;EACrC,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"file":"createBulkLinksAsyncIterFactory.js","names":["getBulkLinksPage","invariant","conjureUnionType","makeConjureContext","applyPageToken","getResults","pageRequestAsAsyncIter","metadataCacheClient","createBulkLinksAsyncIterFactory","ctx","objs","linkTypes","length","logger","debug","every","a","$objectType","process","env","NODE_ENV","mcc","helper","forObjectByApiName","objectTypeRid","propertyMapping","fullLinkMapping","Promise","all","getRid","getPropertyMapping","getLinkMapping","linkMapping","Object","fromEntries","entries","filter","apiName","includes","linkType","req","objectSetContext","forkRid","undefined","objectSetFilterContext","parameterOverrides","ontologyBranchRid","owningRid","reportUsage","workstateRid","responseOptions","includeObjectSetEntities","includeUsageCost","pageSize","pageToken","linksRequests","directedLinkTypes","values","map","directedLinkTypeRid","objects","o","objectPrimaryKey","pk","rid","type","$primaryKey","bulkLinksIter","bind","item","objectIdentifier","obj","findObject","link","links","ref","linkSide","getPrimaryKeyOrThrow","otherObjectApiName","forObjectByRid","getApiName","mappedLink","find","linkTypeRid","Error","object","linkApiName","otherObjectPk","pkValue","pks","objectLocatorV2"],"sources":["createBulkLinksAsyncIterFactory.js"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { getBulkLinksPage } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { conjureUnionType } from \"../objectSet/conjureUnionType.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nimport { applyPageToken, getResults, pageRequestAsAsyncIter, } from \"../pageRequestAsAsyncIter.js\";\nimport { metadataCacheClient } from \"./ConjureSupport.js\";\nexport function createBulkLinksAsyncIterFactory(ctx) {\n return async function* (objs, linkTypes) {\n if (objs.length === 0) {\n return;\n }\n ctx.logger?.debug(\"Preparing to fetch bulk links\");\n // require all objects to be the same type for now\n invariant(objs.every(a => a.$objectType === objs[0].$objectType));\n const mcc = await metadataCacheClient(ctx);\n const helper = await mcc.forObjectByApiName(objs[0].$objectType);\n const [objectTypeRid, propertyMapping, fullLinkMapping] = await Promise.all([\n helper.getRid(),\n helper.getPropertyMapping(),\n helper.getLinkMapping(),\n ]);\n const linkMapping = Object.fromEntries(Object.entries(fullLinkMapping)\n .filter(([apiName]) => linkTypes.includes(apiName)));\n // make sure the link being requested exists\n for (const linkType of linkTypes) {\n if (linkMapping[linkType] == null) {\n throw \"Unable to find link type: \" + linkType;\n }\n }\n const req = {\n objectSetContext: {\n forkRid: undefined,\n objectSetFilterContext: { parameterOverrides: {} },\n ontologyBranchRid: undefined,\n owningRid: undefined,\n reportUsage: undefined,\n workstateRid: undefined,\n },\n responseOptions: {\n includeObjectSetEntities: true,\n includeUsageCost: false,\n },\n pageSize: 1000,\n pageToken: undefined,\n linksRequests: [{\n directedLinkTypes: Object.values(linkMapping)\n .map(({ directedLinkTypeRid }) => directedLinkTypeRid),\n objects: conjureUnionType(\"objects\", objs.map(o => conjureUnionType(\"objectLocatorV2\", {\n objectTypeRid,\n objectPrimaryKey: {\n [propertyMapping.pk.rid]: conjureUnionType(propertyMapping.pk.type.type, o.$primaryKey),\n },\n }))),\n }],\n };\n const bulkLinksIter = pageRequestAsAsyncIter(getBulkLinksPage.bind(undefined, makeConjureContext(ctx, \"object-set-service/api\")), getResults, applyPageToken, req);\n for await (const item of bulkLinksIter) {\n const { objectIdentifier } = item;\n const obj = findObject(objectIdentifier, objs);\n for (const link of item.links) {\n const ref = link.link[link.linkSide === \"SOURCE\"\n ? \"objectSideB\"\n : \"objectSideA\"];\n const pk = getPrimaryKeyOrThrow(ref);\n const otherObjectApiName = await (await mcc.forObjectByRid(pk.objectTypeRid))\n .getApiName();\n const mappedLink = Object.values(linkMapping).find(a => a.directedLinkTypeRid.linkTypeRid === link.link.linkTypeRid\n && a.directedLinkTypeRid.linkSide === link.linkSide);\n if (!mappedLink)\n throw new Error(\"Could not find link type\"); // should not happens\n yield {\n object: obj,\n linkApiName: mappedLink.apiName,\n otherObjectApiName: otherObjectApiName,\n otherObjectPk: pk.pkValue,\n };\n }\n }\n };\n}\nfunction findObject(objectIdentifier, objs) {\n const { pkValue } = getPrimaryKeyOrThrow(objectIdentifier);\n const obj = objs.find(o => o.$primaryKey === pkValue);\n if (obj == null) {\n throw new Error(`Needed to find object with pk ${pkValue}} and could not`);\n }\n return obj;\n}\nfunction getPrimaryKeyOrThrow(ref) {\n if (\"type\" in ref && ref.type !== \"objectLocatorV2\") {\n throw new Error(\"We do not support looking up object by rid\");\n }\n const pks = Object.entries(ref.objectLocatorV2.objectPrimaryKey);\n if (pks.length !== 1) {\n throw new Error(\"Unable to support this request due to multiple pks\");\n }\n return {\n objectTypeRid: ref.objectLocatorV2.objectTypeRid,\n pkValue: pks[0][1][pks[0][1].type],\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -22,9 +22,11 @@ import { ActionValidationError } from "./ActionValidationError.js";
22
22
  import { remapActionResponse } from "./applyAction.js";
23
23
  describe("actions", () => {
24
24
  let client;
25
+ let customEntryPointClient;
25
26
  beforeAll(async () => {
26
27
  apiServer.listen();
27
28
  client = createClient("https://stack.palantir.com", $ontologyRid, async () => "myAccessToken");
29
+ customEntryPointClient = createClient("https://stack.palantirCustom.com/foo/first/someStuff", $ontologyRid, async () => "myAccessToken");
28
30
  });
29
31
  afterAll(() => {
30
32
  apiServer.close();
@@ -89,6 +91,23 @@ describe("actions", () => {
89
91
  }
90
92
  `);
91
93
  });
94
+ it("returns validation directly on validateOnly mode, with custom entry point in URL", async () => {
95
+ const result = await customEntryPointClient(moveOffice).applyAction({
96
+ officeId: "SEA",
97
+ newAddress: "456 Pike Place",
98
+ newCapacity: 40
99
+ }, {
100
+ $validateOnly: true
101
+ });
102
+ expectTypeOf().toEqualTypeOf();
103
+ expect(result).toMatchInlineSnapshot(`
104
+ {
105
+ "parameters": {},
106
+ "result": "INVALID",
107
+ "submissionCriteria": [],
108
+ }
109
+ `);
110
+ });
92
111
  it("throws on validation errors", async () => {
93
112
  try {
94
113
  await client(moveOffice).applyAction({
@@ -128,11 +147,20 @@ describe("actions", () => {
128
147
  expectTypeOf().toMatchTypeOf();
129
148
  const blob = stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename];
130
149
  const attachment = createAttachmentUpload(blob, "file1.txt");
150
+ // Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above
151
+ const fileAttachment = Object.assign(blob, {
152
+ name: "file1.txt"
153
+ });
131
154
  const result = await client(actionTakesAttachment).applyAction({
132
155
  attachment
133
156
  });
157
+ const result2 = await client(actionTakesAttachment).applyAction({
158
+ attachment: fileAttachment
159
+ });
134
160
  expectTypeOf().toEqualTypeOf();
135
161
  expect(result).toBeUndefined();
162
+ expectTypeOf().toEqualTypeOf();
163
+ expect(result2).toBeUndefined();
136
164
  });
137
165
  it("conditionally returns edits in batch mode", async () => {
138
166
  const result = await client(moveOffice).batchApplyAction([{
@@ -1 +1 @@
1
- {"version":3,"file":"actions.test.js","names":["$Actions","$ontologyRid","actionTakesAttachment","createOffice","moveOffice","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","createAttachmentUpload","ActionValidationError","remapActionResponse","client","listen","close","result","applyAction","officeId","address","capacity","$returnEdits","toEqualTypeOf","toMatchInlineSnapshot","undefinedResult","toBeUndefined","batchApplyAction","toBeCallableWith","newAddress","newCapacity","$validateOnly","fail","e","toBeInstanceOf","validation","toMatchTypeOf","attachment","blob","attachmentUploadRequestBody","localAttachment1","filename","actionResponse","edits","type","deletedLinksCount","deletedObjectsCount","addedObjectCount","modifiedObjectsCount","addedLinksCount","batchActionResponse","remappedActionResponse","remappedBatchActionResponse","actions","Object","keys","toStrictEqual"],"sources":["actions.test.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { $Actions, $ontologyRid, actionTakesAttachment, createOffice, moveOffice, } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nimport { remapActionResponse } from \"./applyAction.js\";\ndescribe(\"actions\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"conditionally returns the edits\", async () => {\n const result = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }, { $returnEdits: true });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [],\n \"addedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [],\n \"type\": \"edits\",\n }\n `);\n const undefinedResult = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n });\n expectTypeOf().toEqualTypeOf();\n expect(undefinedResult).toBeUndefined();\n const clientCreateOffice = client(createOffice).batchApplyAction;\n expectTypeOf().toBeCallableWith([{\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }], { $returnEdits: true });\n });\n it(\"returns validation directly on validateOnly mode\", async () => {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $validateOnly: true,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n });\n it(\"throws on validation errors\", async () => {\n try {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $returnEdits: true,\n });\n expect.fail(\"Should not reach here\");\n }\n catch (e) {\n expect(e).toBeInstanceOf(ActionValidationError);\n expect(e.validation).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n }\n });\n it(\"Accepts attachments\", async () => {\n const clientBoundActionTakesAttachment = client(actionTakesAttachment).applyAction;\n expectTypeOf().toMatchTypeOf();\n const clientBoundBatchActionTakesAttachment = client(actionTakesAttachment).batchApplyAction;\n expectTypeOf().toMatchTypeOf();\n const result = await client(actionTakesAttachment).applyAction({\n attachment: \"attachment.rid\",\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toBeUndefined();\n });\n it(\"Accepts attachment uploads\", async () => {\n const clientBoundActionTakesAttachment = client(actionTakesAttachment).applyAction;\n const clientBoundBatchActionTakesAttachment = client(actionTakesAttachment).batchApplyAction;\n expectTypeOf().toMatchTypeOf();\n expectTypeOf().toMatchTypeOf();\n const blob = stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename];\n const attachment = createAttachmentUpload(blob, \"file1.txt\");\n const result = await client(actionTakesAttachment).applyAction({\n attachment,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toBeUndefined();\n });\n it(\"conditionally returns edits in batch mode\", async () => {\n const result = await client(moveOffice).batchApplyAction([\n {\n officeId: \"SEA\",\n newAddress: \"456 Good Place\",\n newCapacity: 40,\n },\n {\n officeId: \"NYC\",\n newAddress: \"123 Main Street\",\n newCapacity: 80,\n },\n ], { $returnEdits: true });\n expect(result).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [],\n \"addedObjects\": [],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"SEA\",\n },\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n});\ndescribe(\"ActionResponse remapping\", () => {\n const actionResponse = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n const batchActionResponse = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n it(\"Correctly unpacks edits and editedObjectTypes\", () => {\n const remappedActionResponse = remapActionResponse(actionResponse);\n const remappedBatchActionResponse = remapActionResponse(batchActionResponse);\n expect(remappedActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n expect(remappedBatchActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n it(\"actions are enumerable\", async () => {\n const actions = Object.keys($Actions);\n expect(actions).toStrictEqual([\n \"actionTakesAttachment\",\n \"actionTakesObjectSet\",\n \"createOffice\",\n \"createOfficeAndEmployee\",\n \"moveOffice\",\n \"promoteEmployee\",\n \"promoteEmployeeObject\",\n ]);\n });\n});\n"],"mappings":"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BC,mBAAmB,EAAE,CAAC;MACtBC,gBAAgB,EAAE,CAAC;MACnBC,oBAAoB,EAAE,CAAC;MACvBC,eAAe,EAAE;IACrB;EACJ,CAAC;EACDxC,EAAE,CAAC,+CAA+C,EAAE,MAAM;IACtD,MAAM0C,sBAAsB,GAAGtC,mBAAmB,CAAC6B,cAAc,CAAC;IAClE,MAAMU,2BAA2B,GAAGvC,mBAAmB,CAACqC,mBAAmB,CAAC;IAC5E3C,MAAM,CAAC4C,sBAAsB,CAAC,CAAC3B,qBAAqB,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;IACEjB,MAAM,CAAC6C,2BAA2B,CAAC,CAAC5B,qBAAqB,CAAC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACFf,EAAE,CAAC,wBAAwB,EAAE,YAAY;IACrC,MAAM4C,OAAO,GAAGC,MAAM,CAACC,IAAI,CAAC1D,QAAQ,CAAC;IACrCU,MAAM,CAAC8C,OAAO,CAAC,CAACG,aAAa,CAAC,CAC1B,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,yBAAyB,EACzB,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,CAC1B,CAAC;EACN,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"actions.test.js","names":["$Actions","$ontologyRid","actionTakesAttachment","createOffice","moveOffice","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","createAttachmentUpload","ActionValidationError","remapActionResponse","client","customEntryPointClient","listen","close","result","applyAction","officeId","address","capacity","$returnEdits","toEqualTypeOf","toMatchInlineSnapshot","undefinedResult","toBeUndefined","batchApplyAction","toBeCallableWith","newAddress","newCapacity","$validateOnly","fail","e","toBeInstanceOf","validation","toMatchTypeOf","attachment","blob","attachmentUploadRequestBody","localAttachment1","filename","fileAttachment","Object","assign","name","result2","actionResponse","edits","type","deletedLinksCount","deletedObjectsCount","addedObjectCount","modifiedObjectsCount","addedLinksCount","batchActionResponse","remappedActionResponse","remappedBatchActionResponse","actions","keys","toStrictEqual"],"sources":["actions.test.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { $Actions, $ontologyRid, actionTakesAttachment, createOffice, moveOffice, } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nimport { remapActionResponse } from \"./applyAction.js\";\ndescribe(\"actions\", () => {\n let client;\n let customEntryPointClient;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n customEntryPointClient = createClient(\"https://stack.palantirCustom.com/foo/first/someStuff\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"conditionally returns the edits\", async () => {\n const result = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }, { $returnEdits: true });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [],\n \"addedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [],\n \"type\": \"edits\",\n }\n `);\n const undefinedResult = await client(createOffice).applyAction({\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n });\n expectTypeOf().toEqualTypeOf();\n expect(undefinedResult).toBeUndefined();\n const clientCreateOffice = client(createOffice).batchApplyAction;\n expectTypeOf().toBeCallableWith([{\n officeId: \"NYC\",\n address: \"123 Main Street\",\n capacity: 100,\n }], { $returnEdits: true });\n });\n it(\"returns validation directly on validateOnly mode\", async () => {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $validateOnly: true,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n });\n it(\"returns validation directly on validateOnly mode, with custom entry point in URL\", async () => {\n const result = await customEntryPointClient(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $validateOnly: true,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n });\n it(\"throws on validation errors\", async () => {\n try {\n const result = await client(moveOffice).applyAction({\n officeId: \"SEA\",\n newAddress: \"456 Pike Place\",\n newCapacity: 40,\n }, {\n $returnEdits: true,\n });\n expect.fail(\"Should not reach here\");\n }\n catch (e) {\n expect(e).toBeInstanceOf(ActionValidationError);\n expect(e.validation).toMatchInlineSnapshot(`\n {\n \"parameters\": {},\n \"result\": \"INVALID\",\n \"submissionCriteria\": [],\n }\n `);\n }\n });\n it(\"Accepts attachments\", async () => {\n const clientBoundActionTakesAttachment = client(actionTakesAttachment).applyAction;\n expectTypeOf().toMatchTypeOf();\n const clientBoundBatchActionTakesAttachment = client(actionTakesAttachment).batchApplyAction;\n expectTypeOf().toMatchTypeOf();\n const result = await client(actionTakesAttachment).applyAction({\n attachment: \"attachment.rid\",\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toBeUndefined();\n });\n it(\"Accepts attachment uploads\", async () => {\n const clientBoundActionTakesAttachment = client(actionTakesAttachment).applyAction;\n const clientBoundBatchActionTakesAttachment = client(actionTakesAttachment).batchApplyAction;\n expectTypeOf().toMatchTypeOf();\n expectTypeOf().toMatchTypeOf();\n const blob = stubData.attachmentUploadRequestBody[stubData.localAttachment1.filename];\n const attachment = createAttachmentUpload(blob, \"file1.txt\");\n // Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above\n const fileAttachment = Object.assign(blob, { name: \"file1.txt\" });\n const result = await client(actionTakesAttachment).applyAction({\n attachment,\n });\n const result2 = await client(actionTakesAttachment).applyAction({\n attachment: fileAttachment,\n });\n expectTypeOf().toEqualTypeOf();\n expect(result).toBeUndefined();\n expectTypeOf().toEqualTypeOf();\n expect(result2).toBeUndefined();\n });\n it(\"conditionally returns edits in batch mode\", async () => {\n const result = await client(moveOffice).batchApplyAction([\n {\n officeId: \"SEA\",\n newAddress: \"456 Good Place\",\n newCapacity: 40,\n },\n {\n officeId: \"NYC\",\n newAddress: \"123 Main Street\",\n newCapacity: 80,\n },\n ], { $returnEdits: true });\n expect(result).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [],\n \"addedObjects\": [],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Office\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"SEA\",\n },\n {\n \"objectType\": \"Office\",\n \"primaryKey\": \"NYC\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n});\ndescribe(\"ActionResponse remapping\", () => {\n const actionResponse = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n const batchActionResponse = {\n edits: {\n type: \"edits\",\n edits: [{\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n \"type\": \"addObject\",\n }, {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n \"type\": \"modifyObject\",\n }, {\n \"aSideObject\": { \"primaryKey\": \"key1\", \"objectType\": \"Office\" },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n \"bSideObject\": { \"primaryKey\": \"key2\", \"objectType\": \"Employee\" },\n \"type\": \"addLink\",\n }],\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n addedObjectCount: 1,\n modifiedObjectsCount: 1,\n addedLinksCount: 1,\n },\n };\n it(\"Correctly unpacks edits and editedObjectTypes\", () => {\n const remappedActionResponse = remapActionResponse(actionResponse);\n const remappedBatchActionResponse = remapActionResponse(batchActionResponse);\n expect(remappedActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n expect(remappedBatchActionResponse).toMatchInlineSnapshot(`\n {\n \"addedLinks\": [\n {\n \"aSideObject\": {\n \"objectType\": \"Office\",\n \"primaryKey\": \"key1\",\n },\n \"bSideObject\": {\n \"objectType\": \"Employee\",\n \"primaryKey\": \"key2\",\n },\n \"linkTypeApiNameAtoB\": \"test\",\n \"linkTypeApiNameBtoA\": \"test\",\n },\n ],\n \"addedObjects\": [\n {\n \"objectType\": \"Developer\",\n \"primaryKey\": \"PalantirDev\",\n },\n ],\n \"deletedLinksCount\": 0,\n \"deletedObjectsCount\": 0,\n \"editedObjectTypes\": [\n \"Developer\",\n \"Contractor\",\n \"Office\",\n \"Employee\",\n ],\n \"modifiedObjects\": [\n {\n \"objectType\": \"Contractor\",\n \"primaryKey\": \"Contractor1\",\n },\n ],\n \"type\": \"edits\",\n }\n `);\n });\n it(\"actions are enumerable\", async () => {\n const actions = Object.keys($Actions);\n expect(actions).toStrictEqual([\n \"actionTakesAttachment\",\n \"actionTakesObjectSet\",\n \"createOffice\",\n \"createOfficeAndEmployee\",\n \"moveOffice\",\n \"promoteEmployee\",\n \"promoteEmployeeObject\",\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -104,7 +104,7 @@ export function remapActionResponse(response) {
104
104
  });
105
105
  editedObjectTypesSet.add(edit.objectType);
106
106
  } else {
107
- invariant(false, "Unknown edit type");
107
+ process.env.NODE_ENV !== "production" ? invariant(false, "Unknown edit type") : invariant(false);
108
108
  }
109
109
  }
110
110
  remappedActionResponse.editedObjectTypes = [...editedObjectTypesSet];
@@ -1 +1 @@
1
- {"version":3,"file":"applyAction.js","names":["OntologiesV2","invariant","addUserAgentAndRequestContextHeaders","augmentRequestContext","toDataValue","ActionValidationError","applyAction","client","action","parameters","options","clientWithHeaders","finalMethodCall","Array","isArray","response","Actions","applyBatch","ontologyRid","apiName","requests","remapBatchActionParams","returnEdits","$returnEdits","edits","type","remapActionResponse","undefined","apply","remapActionParams","mode","$validateOnly","validation","result","params","parameterMap","key","value","Object","entries","remappedParams","Promise","all","map","param","editResponses","remappedActionResponse","deletedLinksCount","deletedObjectsCount","addedLinks","addedObjects","modifiedObjects","editedObjectTypes","editedObjectTypesSet","Set","edit","push","linkTypeApiNameAtoB","linkTypeApiNameBtoA","aSideObject","bSideObject","add","objectType","primaryKey"],"sources":["applyAction.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport invariant from \"tiny-invariant\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { toDataValue } from \"../util/toDataValue.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nexport async function applyAction(client, action, parameters, options = {}) {\n const clientWithHeaders = addUserAgentAndRequestContextHeaders(augmentRequestContext(client, _ => ({ finalMethodCall: \"applyAction\" })), action);\n if (Array.isArray(parameters)) {\n const response = await OntologiesV2.Actions.applyBatch(clientWithHeaders, await client.ontologyRid, action.apiName, {\n requests: parameters\n ? await remapBatchActionParams(parameters, client)\n : [],\n options: {\n returnEdits: options?.$returnEdits ? \"ALL\" : \"NONE\",\n },\n });\n const edits = response.edits;\n return (options?.$returnEdits\n ? edits?.type === \"edits\" ? remapActionResponse(response) : edits\n : undefined);\n }\n else {\n const response = await OntologiesV2.Actions.apply(clientWithHeaders, await client.ontologyRid, action.apiName, {\n parameters: await remapActionParams(parameters, client),\n options: {\n mode: options?.$validateOnly\n ? \"VALIDATE_ONLY\"\n : \"VALIDATE_AND_EXECUTE\",\n returnEdits: options\n ?.$returnEdits\n ? \"ALL\"\n : \"NONE\",\n },\n });\n if (options?.$validateOnly) {\n return response.validation;\n }\n if (response.validation?.result === \"INVALID\") {\n throw new ActionValidationError(response.validation);\n }\n const edits = response.edits;\n return (options?.$returnEdits\n ? edits?.type === \"edits\" ? remapActionResponse(response) : edits\n : undefined);\n }\n}\nasync function remapActionParams(params, client) {\n if (params == null) {\n return {};\n }\n const parameterMap = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValue(value, client);\n }\n return parameterMap;\n}\nasync function remapBatchActionParams(params, client) {\n const remappedParams = await Promise.all(params.map(async (param) => {\n return { parameters: await remapActionParams(param, client) };\n }));\n return remappedParams;\n}\nexport function remapActionResponse(response) {\n const editResponses = response?.edits;\n if (editResponses?.type === \"edits\") {\n const remappedActionResponse = {\n type: editResponses.type,\n deletedLinksCount: editResponses.deletedLinksCount,\n deletedObjectsCount: editResponses.deletedObjectsCount,\n addedLinks: [],\n addedObjects: [],\n modifiedObjects: [],\n editedObjectTypes: [],\n };\n const editedObjectTypesSet = new Set();\n for (const edit of editResponses.edits) {\n if (edit.type === \"addLink\") {\n remappedActionResponse.addedLinks.push({\n linkTypeApiNameAtoB: edit.linkTypeApiNameAtoB,\n linkTypeApiNameBtoA: edit.linkTypeApiNameBtoA,\n aSideObject: edit.aSideObject,\n bSideObject: edit.bSideObject,\n });\n editedObjectTypesSet.add(edit.aSideObject.objectType);\n editedObjectTypesSet.add(edit.bSideObject.objectType);\n }\n else if (edit.type === \"addObject\") {\n remappedActionResponse.addedObjects.push({\n objectType: edit.objectType,\n primaryKey: edit.primaryKey,\n });\n editedObjectTypesSet.add(edit.objectType);\n }\n else if (edit.type === \"modifyObject\") {\n remappedActionResponse.modifiedObjects.push({\n objectType: edit.objectType,\n primaryKey: edit.primaryKey,\n });\n editedObjectTypesSet.add(edit.objectType);\n }\n else {\n invariant(false, \"Unknown edit type\");\n }\n }\n remappedActionResponse.editedObjectTypes = [...editedObjectTypesSet];\n return remappedActionResponse;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"applyAction.js","names":["OntologiesV2","invariant","addUserAgentAndRequestContextHeaders","augmentRequestContext","toDataValue","ActionValidationError","applyAction","client","action","parameters","options","clientWithHeaders","finalMethodCall","Array","isArray","response","Actions","applyBatch","ontologyRid","apiName","requests","remapBatchActionParams","returnEdits","$returnEdits","edits","type","remapActionResponse","undefined","apply","remapActionParams","mode","$validateOnly","validation","result","params","parameterMap","key","value","Object","entries","remappedParams","Promise","all","map","param","editResponses","remappedActionResponse","deletedLinksCount","deletedObjectsCount","addedLinks","addedObjects","modifiedObjects","editedObjectTypes","editedObjectTypesSet","Set","edit","push","linkTypeApiNameAtoB","linkTypeApiNameBtoA","aSideObject","bSideObject","add","objectType","primaryKey","process","env","NODE_ENV"],"sources":["applyAction.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport invariant from \"tiny-invariant\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { toDataValue } from \"../util/toDataValue.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nexport async function applyAction(client, action, parameters, options = {}) {\n const clientWithHeaders = addUserAgentAndRequestContextHeaders(augmentRequestContext(client, _ => ({ finalMethodCall: \"applyAction\" })), action);\n if (Array.isArray(parameters)) {\n const response = await OntologiesV2.Actions.applyBatch(clientWithHeaders, await client.ontologyRid, action.apiName, {\n requests: parameters\n ? await remapBatchActionParams(parameters, client)\n : [],\n options: {\n returnEdits: options?.$returnEdits ? \"ALL\" : \"NONE\",\n },\n });\n const edits = response.edits;\n return (options?.$returnEdits\n ? edits?.type === \"edits\" ? remapActionResponse(response) : edits\n : undefined);\n }\n else {\n const response = await OntologiesV2.Actions.apply(clientWithHeaders, await client.ontologyRid, action.apiName, {\n parameters: await remapActionParams(parameters, client),\n options: {\n mode: options?.$validateOnly\n ? \"VALIDATE_ONLY\"\n : \"VALIDATE_AND_EXECUTE\",\n returnEdits: options\n ?.$returnEdits\n ? \"ALL\"\n : \"NONE\",\n },\n });\n if (options?.$validateOnly) {\n return response.validation;\n }\n if (response.validation?.result === \"INVALID\") {\n throw new ActionValidationError(response.validation);\n }\n const edits = response.edits;\n return (options?.$returnEdits\n ? edits?.type === \"edits\" ? remapActionResponse(response) : edits\n : undefined);\n }\n}\nasync function remapActionParams(params, client) {\n if (params == null) {\n return {};\n }\n const parameterMap = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValue(value, client);\n }\n return parameterMap;\n}\nasync function remapBatchActionParams(params, client) {\n const remappedParams = await Promise.all(params.map(async (param) => {\n return { parameters: await remapActionParams(param, client) };\n }));\n return remappedParams;\n}\nexport function remapActionResponse(response) {\n const editResponses = response?.edits;\n if (editResponses?.type === \"edits\") {\n const remappedActionResponse = {\n type: editResponses.type,\n deletedLinksCount: editResponses.deletedLinksCount,\n deletedObjectsCount: editResponses.deletedObjectsCount,\n addedLinks: [],\n addedObjects: [],\n modifiedObjects: [],\n editedObjectTypes: [],\n };\n const editedObjectTypesSet = new Set();\n for (const edit of editResponses.edits) {\n if (edit.type === \"addLink\") {\n remappedActionResponse.addedLinks.push({\n linkTypeApiNameAtoB: edit.linkTypeApiNameAtoB,\n linkTypeApiNameBtoA: edit.linkTypeApiNameBtoA,\n aSideObject: edit.aSideObject,\n bSideObject: edit.bSideObject,\n });\n editedObjectTypesSet.add(edit.aSideObject.objectType);\n editedObjectTypesSet.add(edit.bSideObject.objectType);\n }\n else if (edit.type === \"addObject\") {\n remappedActionResponse.addedObjects.push({\n objectType: edit.objectType,\n primaryKey: edit.primaryKey,\n });\n editedObjectTypesSet.add(edit.objectType);\n }\n else if (edit.type === \"modifyObject\") {\n remappedActionResponse.modifiedObjects.push({\n objectType: edit.objectType,\n primaryKey: edit.primaryKey,\n });\n editedObjectTypesSet.add(edit.objectType);\n }\n else {\n invariant(false, \"Unknown edit type\");\n }\n }\n remappedActionResponse.editedObjectTypes = [...editedObjectTypesSet];\n return remappedActionResponse;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { Client } from "./Client.js";
1
+ import { type Client } from "./Client.js";
2
2
  import type { Logger } from "./Logger.js";
3
3
  export declare const createClient: (baseUrl: string, ontologyRid: string | Promise<string>, tokenProvider: () => Promise<string>, options?: {
4
4
  logger?: Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../src/createClient.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAqJ1C,eAAO,MAAM,YAAY,gFAzGF,OAAO,CAAC,MAAM,CAAC;aAChB,MAAM;4DA2G3B,CAAC"}
1
+ {"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../src/createClient.ts"],"names":[],"mappings":"AA8CA,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AA+L1C,eAAO,MAAM,YAAY,gFA9IF,OAAO,CAAC,MAAM,CAAC;aAChB,MAAM;4DAgJ3B,CAAC"}
@@ -13,13 +13,17 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks, __EXPERIMENTAL__NOT_SUPPORTED_YET__preexistingObjectSet } from "@osdk/api/unstable";
17
- import { symbolClientContext } from "@osdk/shared.client";
16
+ import { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid, __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks, __EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe } from "@osdk/api/unstable";
17
+ import { symbolClientContext as oldSymbolClientContext } from "@osdk/shared.client";
18
+ import { symbolClientContext } from "@osdk/shared.client2";
18
19
  import { createBulkLinksAsyncIterFactory } from "./__unstable/createBulkLinksAsyncIterFactory.js";
19
20
  import { applyAction } from "./actions/applyAction.js";
21
+ import { additionalContext } from "./Client.js";
20
22
  import { createMinimalClient } from "./createMinimalClient.js";
21
23
  import { fetchMetadataInternal } from "./fetchMetadata.js";
22
- import { createObjectSet } from "./objectSet/createObjectSet.js";
24
+ import { fetchSingle } from "./object/fetchSingle.js";
25
+ import { createObjectSet, getWireObjectSet } from "./objectSet/createObjectSet.js";
26
+ import { ObjectSetListenerWebsocket } from "./objectSet/ObjectSetListenerWebsocket.js";
23
27
  import { applyQuery } from "./queries/applyQuery.js";
24
28
  class ActionInvoker {
25
29
  constructor(clientCtx, actionDef) {
@@ -65,29 +69,41 @@ baseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {
65
69
  return new ActionInvoker(clientCtx, o); // then as any for dealing with the conditional return value
66
70
  } else if (o.type === "query") {
67
71
  return new QueryInvoker(clientCtx, o);
72
+ } else if (o.type === "experiment") {
73
+ switch (o.name) {
74
+ case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:
75
+ return {
76
+ getBulkLinks: createBulkLinksAsyncIterFactory(clientCtx)
77
+ };
78
+ case __EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe.name:
79
+ return {
80
+ subscribe: (objectSet, listener, opts) => {
81
+ const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(clientCtx).subscribe(objectSet.$objectSetInternals?.def, getWireObjectSet(objectSet), listener, opts?.properties);
82
+ return {
83
+ unsubscribe: async () => (await pendingSubscribe)()
84
+ };
85
+ }
86
+ };
87
+ case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:
88
+ return {
89
+ fetchOneByRid: async (objectType, rid, options) => {
90
+ return await fetchSingle(clientCtx, objectType, options, createWithRid(rid));
91
+ }
92
+ };
93
+ }
94
+ throw new Error("not implemented");
68
95
  } else {
69
96
  throw new Error("not implemented");
70
97
  }
71
98
  }, {
72
- [symbolClientContext]: {
99
+ [oldSymbolClientContext]: {
73
100
  value: clientCtx
74
101
  },
75
- [__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks]: {
76
- get: () => createBulkLinksAsyncIterFactory(clientCtx)
102
+ [symbolClientContext]: {
103
+ value: clientCtx
77
104
  },
78
- [__EXPERIMENTAL__NOT_SUPPORTED_YET__preexistingObjectSet]: {
79
- get: () => (definition, rid) => {
80
- return createObjectSet(definition, client[symbolClientContext], {
81
- type: "intersect",
82
- objectSets: [{
83
- type: "base",
84
- objectType: definition.apiName
85
- }, {
86
- type: "reference",
87
- reference: rid
88
- }]
89
- });
90
- }
105
+ [additionalContext]: {
106
+ value: clientCtx
91
107
  },
92
108
  fetchMetadata: {
93
109
  value: fetchMetadata
@@ -96,4 +112,10 @@ baseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {
96
112
  return client;
97
113
  }
98
114
  export const createClient = createClientInternal.bind(undefined, createObjectSet);
115
+ function createWithRid(rid) {
116
+ return {
117
+ type: "static",
118
+ "objects": [rid]
119
+ };
120
+ }
99
121
  //# sourceMappingURL=createClient.js.map