@osdk/client 2.7.0-beta.1 → 2.7.0-beta.11

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 (291) hide show
  1. package/CHANGELOG.md +138 -0
  2. package/build/browser/Client.js +1 -1
  3. package/build/browser/Client.js.map +1 -1
  4. package/build/browser/MinimalClientContext.js.map +1 -1
  5. package/build/browser/actions/actions.test.js +9 -0
  6. package/build/browser/actions/actions.test.js.map +1 -1
  7. package/build/browser/createClient.js +4 -3
  8. package/build/browser/createClient.js.map +1 -1
  9. package/build/browser/createClient.test.js +1 -1
  10. package/build/browser/createClient.test.js.map +1 -1
  11. package/build/browser/createMinimalClient.js.map +1 -1
  12. package/build/browser/fetchMetadata.test.js +21 -1
  13. package/build/browser/fetchMetadata.test.js.map +1 -1
  14. package/build/browser/index.js +1 -1
  15. package/build/browser/index.js.map +1 -1
  16. package/build/browser/intellisense.test.js +1 -1
  17. package/build/browser/intellisense.test.js.map +1 -1
  18. package/build/browser/object/AttachmentUpload.js +1 -1
  19. package/build/browser/object/AttachmentUpload.js.map +1 -1
  20. package/build/browser/object/aggregate.js +3 -0
  21. package/build/browser/object/aggregate.js.map +1 -1
  22. package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
  23. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +3 -0
  24. package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  25. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +4 -0
  26. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  27. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +85 -3
  28. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  29. package/build/browser/object/convertWireToOsdkObjects.js +18 -6
  30. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  31. package/build/browser/object/convertWireToOsdkObjects.test.js +178 -29
  32. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  33. package/build/browser/object/fetchPage.js +30 -5
  34. package/build/browser/object/fetchPage.js.map +1 -1
  35. package/build/browser/object/fetchPage.test.js.map +1 -1
  36. package/build/browser/object/mediaUpload.js +1 -1
  37. package/build/browser/object/mediaUpload.js.map +1 -1
  38. package/build/browser/object/object.test.js +123 -0
  39. package/build/browser/object/object.test.js.map +1 -1
  40. package/build/browser/objectSet/InterfaceObjectSet.test.js +1 -1
  41. package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -1
  42. package/build/browser/objectSet/ObjectSet.test.js +7 -6
  43. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  44. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +2 -2
  45. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  46. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +3 -1
  47. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  48. package/build/browser/objectSet/createObjectSet.js +13 -0
  49. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  50. package/build/browser/objectSet/fetchLinksPage.js +57 -0
  51. package/build/browser/objectSet/fetchLinksPage.js.map +1 -0
  52. package/build/browser/objectSet/fetchLinksPage.test.js +102 -0
  53. package/build/browser/objectSet/fetchLinksPage.test.js.map +1 -0
  54. package/build/browser/observable/FunctionPayload.js +2 -0
  55. package/build/browser/observable/FunctionPayload.js.map +1 -0
  56. package/build/browser/observable/ListPayload.js.map +1 -1
  57. package/build/browser/observable/ObjectPayload.js.map +1 -1
  58. package/build/browser/observable/ObservableClient.js +0 -5
  59. package/build/browser/observable/ObservableClient.js.map +1 -1
  60. package/build/browser/observable/internal/Changes.js +3 -0
  61. package/build/browser/observable/internal/Changes.js.map +1 -1
  62. package/build/browser/observable/internal/KnownCacheKey.js.map +1 -1
  63. package/build/browser/observable/internal/ObservableClientImpl.js +20 -0
  64. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  65. package/build/browser/observable/internal/Store.js +8 -0
  66. package/build/browser/observable/internal/Store.js.map +1 -1
  67. package/build/browser/observable/internal/Store.test.js +104 -1
  68. package/build/browser/observable/internal/Store.test.js.map +1 -1
  69. package/build/browser/observable/internal/actions/ActionApplication.js +11 -7
  70. package/build/browser/observable/internal/actions/ActionApplication.js.map +1 -1
  71. package/build/browser/observable/internal/actions/OptimisticJob.js +1 -1
  72. package/build/browser/observable/internal/actions/OptimisticJob.js.map +1 -1
  73. package/build/browser/observable/internal/base-list/BaseListQuery.js +1 -1
  74. package/build/browser/observable/internal/base-list/BaseListQuery.js.map +1 -1
  75. package/build/browser/observable/internal/function/FunctionCacheKey.js +26 -0
  76. package/build/browser/observable/internal/function/FunctionCacheKey.js.map +1 -0
  77. package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.js +150 -0
  78. package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.js.map +1 -0
  79. package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.test.js +186 -0
  80. package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.test.js.map +1 -0
  81. package/build/browser/observable/internal/function/FunctionQuery.js +137 -0
  82. package/build/browser/observable/internal/function/FunctionQuery.js.map +1 -0
  83. package/build/browser/observable/internal/function/FunctionQuery.test.js +278 -0
  84. package/build/browser/observable/internal/function/FunctionQuery.test.js.map +1 -0
  85. package/build/browser/observable/internal/function/FunctionsHelper.js +92 -0
  86. package/build/browser/observable/internal/function/FunctionsHelper.js.map +1 -0
  87. package/build/browser/observable/internal/links/SpecificLinkQuery.js +9 -1
  88. package/build/browser/observable/internal/links/SpecificLinkQuery.js.map +1 -1
  89. package/build/browser/observable/internal/list/ListQuery.js +17 -2
  90. package/build/browser/observable/internal/list/ListQuery.js.map +1 -1
  91. package/build/browser/observable/internal/objectset/ObjectSetQuery.js +9 -7
  92. package/build/browser/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  93. package/build/browser/observable/internal/utils/rdpFieldOperations.js +46 -25
  94. package/build/browser/observable/internal/utils/rdpFieldOperations.js.map +1 -1
  95. package/build/browser/observable/internal/utils/rdpFieldOperations.test.js +172 -0
  96. package/build/browser/observable/internal/utils/rdpFieldOperations.test.js.map +1 -0
  97. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  98. package/build/browser/queries/applyQuery.js +19 -1
  99. package/build/browser/queries/applyQuery.js.map +1 -1
  100. package/build/browser/queries/queries.test.js +14 -2
  101. package/build/browser/queries/queries.test.js.map +1 -1
  102. package/build/browser/util/UserAgent.js +2 -2
  103. package/build/browser/util/UserAgent.js.map +1 -1
  104. package/build/browser/util/toDataValue.js +0 -5
  105. package/build/browser/util/toDataValue.js.map +1 -1
  106. package/build/browser/util/toDataValue.test.js +2 -7
  107. package/build/browser/util/toDataValue.test.js.map +1 -1
  108. package/build/cjs/{Client-DaUJl7jZ.d.cts → Client-Cmx6x_V1.d.cts} +1 -1
  109. package/build/cjs/{chunk-WQL7SQ7H.cjs → chunk-666JN2DO.cjs} +250 -148
  110. package/build/cjs/chunk-666JN2DO.cjs.map +1 -0
  111. package/build/cjs/{chunk-6SCDLAU2.cjs → chunk-LDTMSHUZ.cjs} +4 -4
  112. package/build/cjs/{chunk-6SCDLAU2.cjs.map → chunk-LDTMSHUZ.cjs.map} +1 -1
  113. package/build/cjs/{chunk-VDAI3GGL.cjs → chunk-RDZ5NKAI.cjs} +218 -135
  114. package/build/cjs/chunk-RDZ5NKAI.cjs.map +1 -0
  115. package/build/cjs/{createClient-CPUYdECn.d.cts → createClient-BPK4om7e.d.cts} +2 -2
  116. package/build/cjs/{delay-KIUUJ5NJ.cjs → delay-W2TSML2P.cjs} +4 -4
  117. package/build/cjs/{delay-KIUUJ5NJ.cjs.map → delay-W2TSML2P.cjs.map} +1 -1
  118. package/build/cjs/index.cjs +12 -16
  119. package/build/cjs/index.cjs.map +1 -1
  120. package/build/cjs/index.d.cts +3 -3
  121. package/build/cjs/public/internal-node.cjs +219 -219
  122. package/build/cjs/public/internal.cjs +14 -14
  123. package/build/cjs/public/internal.d.cts +1 -1
  124. package/build/cjs/public/unstable-do-not-use.cjs +694 -152
  125. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  126. package/build/cjs/public/unstable-do-not-use.d.cts +61 -10
  127. package/build/esm/Client.js +1 -1
  128. package/build/esm/Client.js.map +1 -1
  129. package/build/esm/MinimalClientContext.js.map +1 -1
  130. package/build/esm/actions/actions.test.js +9 -0
  131. package/build/esm/actions/actions.test.js.map +1 -1
  132. package/build/esm/createClient.js +4 -3
  133. package/build/esm/createClient.js.map +1 -1
  134. package/build/esm/createClient.test.js +1 -1
  135. package/build/esm/createClient.test.js.map +1 -1
  136. package/build/esm/createMinimalClient.js.map +1 -1
  137. package/build/esm/fetchMetadata.test.js +21 -1
  138. package/build/esm/fetchMetadata.test.js.map +1 -1
  139. package/build/esm/index.js +1 -1
  140. package/build/esm/index.js.map +1 -1
  141. package/build/esm/intellisense.test.js +1 -1
  142. package/build/esm/intellisense.test.js.map +1 -1
  143. package/build/esm/object/AttachmentUpload.js +1 -1
  144. package/build/esm/object/AttachmentUpload.js.map +1 -1
  145. package/build/esm/object/aggregate.js +3 -0
  146. package/build/esm/object/aggregate.js.map +1 -1
  147. package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
  148. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +3 -0
  149. package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
  150. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +4 -0
  151. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  152. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +85 -3
  153. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  154. package/build/esm/object/convertWireToOsdkObjects.js +18 -6
  155. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  156. package/build/esm/object/convertWireToOsdkObjects.test.js +178 -29
  157. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  158. package/build/esm/object/fetchPage.js +30 -5
  159. package/build/esm/object/fetchPage.js.map +1 -1
  160. package/build/esm/object/fetchPage.test.js.map +1 -1
  161. package/build/esm/object/mediaUpload.js +1 -1
  162. package/build/esm/object/mediaUpload.js.map +1 -1
  163. package/build/esm/object/object.test.js +123 -0
  164. package/build/esm/object/object.test.js.map +1 -1
  165. package/build/esm/objectSet/InterfaceObjectSet.test.js +1 -1
  166. package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -1
  167. package/build/esm/objectSet/ObjectSet.test.js +7 -6
  168. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  169. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +2 -2
  170. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  171. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +3 -1
  172. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  173. package/build/esm/objectSet/createObjectSet.js +13 -0
  174. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  175. package/build/esm/objectSet/fetchLinksPage.js +57 -0
  176. package/build/esm/objectSet/fetchLinksPage.js.map +1 -0
  177. package/build/esm/objectSet/fetchLinksPage.test.js +102 -0
  178. package/build/esm/objectSet/fetchLinksPage.test.js.map +1 -0
  179. package/build/esm/observable/FunctionPayload.js +2 -0
  180. package/build/esm/observable/FunctionPayload.js.map +1 -0
  181. package/build/esm/observable/ListPayload.js.map +1 -1
  182. package/build/esm/observable/ObjectPayload.js.map +1 -1
  183. package/build/esm/observable/ObservableClient.js +0 -5
  184. package/build/esm/observable/ObservableClient.js.map +1 -1
  185. package/build/esm/observable/internal/Changes.js +3 -0
  186. package/build/esm/observable/internal/Changes.js.map +1 -1
  187. package/build/esm/observable/internal/KnownCacheKey.js.map +1 -1
  188. package/build/esm/observable/internal/ObservableClientImpl.js +20 -0
  189. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  190. package/build/esm/observable/internal/Store.js +8 -0
  191. package/build/esm/observable/internal/Store.js.map +1 -1
  192. package/build/esm/observable/internal/Store.test.js +104 -1
  193. package/build/esm/observable/internal/Store.test.js.map +1 -1
  194. package/build/esm/observable/internal/actions/ActionApplication.js +11 -7
  195. package/build/esm/observable/internal/actions/ActionApplication.js.map +1 -1
  196. package/build/esm/observable/internal/actions/OptimisticJob.js +1 -1
  197. package/build/esm/observable/internal/actions/OptimisticJob.js.map +1 -1
  198. package/build/esm/observable/internal/base-list/BaseListQuery.js +1 -1
  199. package/build/esm/observable/internal/base-list/BaseListQuery.js.map +1 -1
  200. package/build/esm/observable/internal/function/FunctionCacheKey.js +26 -0
  201. package/build/esm/observable/internal/function/FunctionCacheKey.js.map +1 -0
  202. package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.js +150 -0
  203. package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.js.map +1 -0
  204. package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.test.js +186 -0
  205. package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.test.js.map +1 -0
  206. package/build/esm/observable/internal/function/FunctionQuery.js +137 -0
  207. package/build/esm/observable/internal/function/FunctionQuery.js.map +1 -0
  208. package/build/esm/observable/internal/function/FunctionQuery.test.js +278 -0
  209. package/build/esm/observable/internal/function/FunctionQuery.test.js.map +1 -0
  210. package/build/esm/observable/internal/function/FunctionsHelper.js +92 -0
  211. package/build/esm/observable/internal/function/FunctionsHelper.js.map +1 -0
  212. package/build/esm/observable/internal/links/SpecificLinkQuery.js +9 -1
  213. package/build/esm/observable/internal/links/SpecificLinkQuery.js.map +1 -1
  214. package/build/esm/observable/internal/list/ListQuery.js +17 -2
  215. package/build/esm/observable/internal/list/ListQuery.js.map +1 -1
  216. package/build/esm/observable/internal/objectset/ObjectSetQuery.js +9 -7
  217. package/build/esm/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  218. package/build/esm/observable/internal/utils/rdpFieldOperations.js +46 -25
  219. package/build/esm/observable/internal/utils/rdpFieldOperations.js.map +1 -1
  220. package/build/esm/observable/internal/utils/rdpFieldOperations.test.js +172 -0
  221. package/build/esm/observable/internal/utils/rdpFieldOperations.test.js.map +1 -0
  222. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  223. package/build/esm/queries/applyQuery.js +19 -1
  224. package/build/esm/queries/applyQuery.js.map +1 -1
  225. package/build/esm/queries/queries.test.js +14 -2
  226. package/build/esm/queries/queries.test.js.map +1 -1
  227. package/build/esm/util/UserAgent.js +2 -2
  228. package/build/esm/util/UserAgent.js.map +1 -1
  229. package/build/esm/util/toDataValue.js +0 -5
  230. package/build/esm/util/toDataValue.js.map +1 -1
  231. package/build/esm/util/toDataValue.test.js +2 -7
  232. package/build/esm/util/toDataValue.test.js.map +1 -1
  233. package/build/types/Client.d.ts +1 -1
  234. package/build/types/MinimalClientContext.d.ts +1 -1
  235. package/build/types/MinimalClientContext.d.ts.map +1 -1
  236. package/build/types/createClient.d.ts +1 -1
  237. package/build/types/createClient.d.ts.map +1 -1
  238. package/build/types/index.d.ts +1 -1
  239. package/build/types/index.d.ts.map +1 -1
  240. package/build/types/object/AttachmentUpload.d.ts.map +1 -1
  241. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts +2 -0
  242. package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
  243. package/build/types/object/convertWireToOsdkObjects.d.ts +4 -4
  244. package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -1
  245. package/build/types/object/fetchPage.d.ts.map +1 -1
  246. package/build/types/object/object.test.d.ts.map +1 -1
  247. package/build/types/objectSet/fetchLinksPage.d.ts +1 -0
  248. package/build/types/objectSet/fetchLinksPage.d.ts.map +1 -0
  249. package/build/types/objectSet/fetchLinksPage.test.d.ts +1 -0
  250. package/build/types/objectSet/fetchLinksPage.test.d.ts.map +1 -0
  251. package/build/types/observable/FunctionPayload.d.ts +10 -0
  252. package/build/types/observable/FunctionPayload.d.ts.map +1 -0
  253. package/build/types/observable/ListPayload.d.ts +3 -2
  254. package/build/types/observable/ListPayload.d.ts.map +1 -1
  255. package/build/types/observable/ObjectPayload.d.ts +2 -2
  256. package/build/types/observable/ObjectPayload.d.ts.map +1 -1
  257. package/build/types/observable/ObservableClient.d.ts +61 -7
  258. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  259. package/build/types/observable/internal/Changes.d.ts +5 -3
  260. package/build/types/observable/internal/Changes.d.ts.map +1 -1
  261. package/build/types/observable/internal/KnownCacheKey.d.ts +2 -1
  262. package/build/types/observable/internal/KnownCacheKey.d.ts.map +1 -1
  263. package/build/types/observable/internal/Store.d.ts +5 -1
  264. package/build/types/observable/internal/Store.d.ts.map +1 -1
  265. package/build/types/observable/internal/Store.test.d.ts.map +1 -1
  266. package/build/types/observable/internal/actions/ActionApplication.d.ts.map +1 -1
  267. package/build/types/observable/internal/actions/OptimisticJob.d.ts.map +1 -1
  268. package/build/types/observable/internal/function/FunctionCacheKey.d.ts +17 -0
  269. package/build/types/observable/internal/function/FunctionCacheKey.d.ts.map +1 -0
  270. package/build/types/observable/internal/function/FunctionParamsCanonicalizer.d.ts +16 -0
  271. package/build/types/observable/internal/function/FunctionParamsCanonicalizer.d.ts.map +1 -0
  272. package/build/types/observable/internal/function/FunctionParamsCanonicalizer.test.d.ts +1 -0
  273. package/build/types/observable/internal/function/FunctionParamsCanonicalizer.test.d.ts.map +1 -0
  274. package/build/types/observable/internal/function/FunctionQuery.d.ts +40 -0
  275. package/build/types/observable/internal/function/FunctionQuery.d.ts.map +1 -0
  276. package/build/types/observable/internal/function/FunctionQuery.test.d.ts +1 -0
  277. package/build/types/observable/internal/function/FunctionQuery.test.d.ts.map +1 -0
  278. package/build/types/observable/internal/function/FunctionsHelper.d.ts +25 -0
  279. package/build/types/observable/internal/function/FunctionsHelper.d.ts.map +1 -0
  280. package/build/types/observable/internal/links/SpecificLinkQuery.d.ts.map +1 -1
  281. package/build/types/observable/internal/list/ListQuery.d.ts.map +1 -1
  282. package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts.map +1 -1
  283. package/build/types/observable/internal/utils/rdpFieldOperations.d.ts.map +1 -1
  284. package/build/types/observable/internal/utils/rdpFieldOperations.test.d.ts +1 -0
  285. package/build/types/observable/internal/utils/rdpFieldOperations.test.d.ts.map +1 -0
  286. package/build/types/public/unstable-do-not-use.d.ts +2 -1
  287. package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
  288. package/build/types/queries/applyQuery.d.ts.map +1 -1
  289. package/package.json +10 -10
  290. package/build/cjs/chunk-VDAI3GGL.cjs.map +0 -1
  291. package/build/cjs/chunk-WQL7SQ7H.cjs.map +0 -1
@@ -0,0 +1,172 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { describe, expect, it } from "vitest";
18
+ import { createOsdkObject } from "../../../object/convertWireToOsdkObjects/createOsdkObject.js";
19
+ import { ClientRef, ObjectDefRef, UnderlyingOsdkObject } from "../../../object/convertWireToOsdkObjects/InternalSymbols.js";
20
+ import { InterfaceDefinitions } from "../../../ontology/OntologyProvider.js";
21
+ import { extractRdpFieldNames, mergeObjectFields } from "./rdpFieldOperations.js";
22
+ const mockClient = {};
23
+ const employeeObjectDef = {
24
+ apiName: "Employee",
25
+ type: "object",
26
+ primaryKeyApiName: "employeeId",
27
+ primaryKeyType: "integer",
28
+ titleProperty: "fullName",
29
+ rid: "",
30
+ displayName: "",
31
+ description: undefined,
32
+ icon: undefined,
33
+ visibility: undefined,
34
+ pluralDisplayName: "",
35
+ status: "ACTIVE",
36
+ interfaceMap: {},
37
+ inverseInterfaceMap: {},
38
+ links: {},
39
+ implements: [],
40
+ [InterfaceDefinitions]: {},
41
+ properties: {
42
+ employeeId: {
43
+ type: "integer"
44
+ },
45
+ fullName: {
46
+ type: "string"
47
+ },
48
+ office: {
49
+ type: "string"
50
+ },
51
+ rdpField1: {
52
+ type: "string"
53
+ },
54
+ rdpField2: {
55
+ type: "double"
56
+ },
57
+ rdpField3: {
58
+ type: "string"
59
+ }
60
+ }
61
+ };
62
+ function createTestObject(props) {
63
+ return createOsdkObject(mockClient, employeeObjectDef, {
64
+ ...{
65
+ $apiName: "Employee",
66
+ $objectType: "Employee",
67
+ $primaryKey: 50030,
68
+ $title: "John Doe"
69
+ },
70
+ ...props
71
+ });
72
+ }
73
+ function assertValidObjectHolder(obj) {
74
+ expect(obj[UnderlyingOsdkObject]).toBeDefined();
75
+ expect(obj[ObjectDefRef]).toBeDefined();
76
+ expect(obj[ClientRef]).toBeDefined();
77
+ expect(obj[ClientRef]).toBe(mockClient);
78
+ expect(obj[ObjectDefRef]).toBe(employeeObjectDef);
79
+ expect(Object.isFrozen(obj)).toBe(true);
80
+ }
81
+ function getUnderlyingProps(obj) {
82
+ return obj[UnderlyingOsdkObject];
83
+ }
84
+ describe("rdpFieldOperations", () => {
85
+ it("extractRdpFieldNames returns empty set for undefined", () => {
86
+ expect(extractRdpFieldNames(undefined)).toEqual(new Set());
87
+ });
88
+ it("mergeObjectFields returns same object when source has no rdp fields", () => {
89
+ const source = createTestObject({
90
+ employeeId: 50030,
91
+ fullName: "John Doe"
92
+ });
93
+ const result = mergeObjectFields(source, new Set(), new Set(), undefined);
94
+ expect(result).toBe(source);
95
+ });
96
+ it("mergeObjectFields strips rdp fields from source", () => {
97
+ const source = createTestObject({
98
+ employeeId: 50030,
99
+ fullName: "John Doe",
100
+ rdpField1: "rdp-value-1",
101
+ rdpField2: 42
102
+ });
103
+ const result = mergeObjectFields(source, new Set(["rdpField1", "rdpField2"]), new Set(), undefined);
104
+ assertValidObjectHolder(result);
105
+ const underlying = getUnderlyingProps(result);
106
+ expect(underlying.employeeId).toBe(50030);
107
+ expect(underlying.fullName).toBe("John Doe");
108
+ expect(underlying.rdpField1).toBeUndefined();
109
+ expect(underlying.rdpField2).toBeUndefined();
110
+ });
111
+ it("mergeObjectFields returns source unchanged when rdp field sets are equal", () => {
112
+ const source = createTestObject({
113
+ employeeId: 50030,
114
+ rdpField1: "value",
115
+ rdpField2: 42
116
+ });
117
+ const rdpFields = new Set(["rdpField1", "rdpField2"]);
118
+ const result = mergeObjectFields(source, rdpFields, rdpFields, undefined);
119
+ expect(result).toBe(source);
120
+ });
121
+ it("mergeObjectFields filters to target rdp fields when source is strict superset", () => {
122
+ const source = createTestObject({
123
+ employeeId: 50030,
124
+ fullName: "John Doe",
125
+ rdpField1: "value1",
126
+ rdpField2: 42,
127
+ rdpField3: "value3"
128
+ });
129
+ const result = mergeObjectFields(source, new Set(["rdpField1", "rdpField2", "rdpField3"]), new Set(["rdpField1"]), undefined);
130
+ assertValidObjectHolder(result);
131
+ const underlying = getUnderlyingProps(result);
132
+ expect(underlying.employeeId).toBe(50030);
133
+ expect(underlying.fullName).toBe("John Doe");
134
+ expect(underlying.rdpField1).toBe("value1");
135
+ expect(underlying.rdpField2).toBeUndefined();
136
+ expect(underlying.rdpField3).toBeUndefined();
137
+ });
138
+ it("mergeObjectFields merges source and target rdp fields", () => {
139
+ const source = createTestObject({
140
+ employeeId: 50030,
141
+ fullName: "John Doe",
142
+ office: "NYC",
143
+ rdpField1: "source-rdp1"
144
+ });
145
+ const target = createTestObject({
146
+ employeeId: 50030,
147
+ rdpField2: 999
148
+ });
149
+ const result = mergeObjectFields(source, new Set(["rdpField1"]), new Set(["rdpField1", "rdpField2"]), target);
150
+ assertValidObjectHolder(result);
151
+ const underlying = getUnderlyingProps(result);
152
+ expect(underlying.employeeId).toBe(50030);
153
+ expect(underlying.fullName).toBe("John Doe");
154
+ expect(underlying.office).toBe("NYC");
155
+ expect(underlying.rdpField1).toBe("source-rdp1");
156
+ expect(underlying.rdpField2).toBe(999);
157
+ });
158
+ it("mergeObjectFields handles undefined target", () => {
159
+ const source = createTestObject({
160
+ employeeId: 50030,
161
+ fullName: "John Doe",
162
+ rdpField1: "source-rdp1"
163
+ });
164
+ const result = mergeObjectFields(source, new Set(["rdpField1"]), new Set(["rdpField1", "rdpField2"]), undefined);
165
+ assertValidObjectHolder(result);
166
+ const underlying = getUnderlyingProps(result);
167
+ expect(underlying.employeeId).toBe(50030);
168
+ expect(underlying.rdpField1).toBe("source-rdp1");
169
+ expect(underlying.rdpField2).toBeUndefined();
170
+ });
171
+ });
172
+ //# sourceMappingURL=rdpFieldOperations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdpFieldOperations.test.js","names":["describe","expect","it","createOsdkObject","ClientRef","ObjectDefRef","UnderlyingOsdkObject","InterfaceDefinitions","extractRdpFieldNames","mergeObjectFields","mockClient","employeeObjectDef","apiName","type","primaryKeyApiName","primaryKeyType","titleProperty","rid","displayName","description","undefined","icon","visibility","pluralDisplayName","status","interfaceMap","inverseInterfaceMap","links","implements","properties","employeeId","fullName","office","rdpField1","rdpField2","rdpField3","createTestObject","props","$apiName","$objectType","$primaryKey","$title","assertValidObjectHolder","obj","toBeDefined","toBe","Object","isFrozen","getUnderlyingProps","toEqual","Set","source","result","underlying","toBeUndefined","rdpFields","target"],"sources":["rdpFieldOperations.test.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { describe, expect, it } from \"vitest\";\nimport type { MinimalClient } from \"../../../MinimalClientContext.js\";\nimport { createOsdkObject } from \"../../../object/convertWireToOsdkObjects/createOsdkObject.js\";\nimport {\n ClientRef,\n ObjectDefRef,\n UnderlyingOsdkObject,\n} from \"../../../object/convertWireToOsdkObjects/InternalSymbols.js\";\nimport type { ObjectHolder } from \"../../../object/convertWireToOsdkObjects/ObjectHolder.js\";\nimport type { SimpleOsdkProperties } from \"../../../object/SimpleOsdkProperties.js\";\nimport type { FetchedObjectTypeDefinition } from \"../../../ontology/OntologyProvider.js\";\nimport { InterfaceDefinitions } from \"../../../ontology/OntologyProvider.js\";\nimport {\n extractRdpFieldNames,\n mergeObjectFields,\n} from \"./rdpFieldOperations.js\";\n\nconst mockClient = {} as MinimalClient;\n\nconst employeeObjectDef = {\n apiName: \"Employee\",\n type: \"object\",\n primaryKeyApiName: \"employeeId\",\n primaryKeyType: \"integer\",\n titleProperty: \"fullName\",\n rid: \"\",\n displayName: \"\",\n description: undefined,\n icon: undefined,\n visibility: undefined,\n pluralDisplayName: \"\",\n status: \"ACTIVE\",\n interfaceMap: {},\n inverseInterfaceMap: {},\n links: {},\n implements: [],\n [InterfaceDefinitions]: {},\n properties: {\n employeeId: { type: \"integer\" },\n fullName: { type: \"string\" },\n office: { type: \"string\" },\n rdpField1: { type: \"string\" },\n rdpField2: { type: \"double\" },\n rdpField3: { type: \"string\" },\n },\n} satisfies FetchedObjectTypeDefinition;\n\nfunction createTestObject(\n props: Partial<SimpleOsdkProperties>,\n): ObjectHolder {\n const defaultProps: SimpleOsdkProperties = {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n $title: \"John Doe\",\n };\n return createOsdkObject(mockClient, employeeObjectDef, {\n ...defaultProps,\n ...props,\n });\n}\n\nfunction assertValidObjectHolder(obj: ObjectHolder): void {\n expect(obj[UnderlyingOsdkObject]).toBeDefined();\n expect(obj[ObjectDefRef]).toBeDefined();\n expect(obj[ClientRef]).toBeDefined();\n expect(obj[ClientRef]).toBe(mockClient);\n expect(obj[ObjectDefRef]).toBe(employeeObjectDef);\n expect(Object.isFrozen(obj)).toBe(true);\n}\n\nfunction getUnderlyingProps(obj: ObjectHolder): SimpleOsdkProperties {\n return obj[UnderlyingOsdkObject] as SimpleOsdkProperties;\n}\n\ndescribe(\"rdpFieldOperations\", () => {\n it(\"extractRdpFieldNames returns empty set for undefined\", () => {\n expect(extractRdpFieldNames(undefined)).toEqual(new Set());\n });\n\n it(\"mergeObjectFields returns same object when source has no rdp fields\", () => {\n const source = createTestObject({\n employeeId: 50030,\n fullName: \"John Doe\",\n });\n\n const result = mergeObjectFields(source, new Set(), new Set(), undefined);\n\n expect(result).toBe(source);\n });\n\n it(\"mergeObjectFields strips rdp fields from source\", () => {\n const source = createTestObject({\n employeeId: 50030,\n fullName: \"John Doe\",\n rdpField1: \"rdp-value-1\",\n rdpField2: 42,\n });\n\n const result = mergeObjectFields(\n source,\n new Set([\"rdpField1\", \"rdpField2\"]),\n new Set(),\n undefined,\n );\n\n assertValidObjectHolder(result);\n const underlying = getUnderlyingProps(result);\n expect(underlying.employeeId).toBe(50030);\n expect(underlying.fullName).toBe(\"John Doe\");\n expect(underlying.rdpField1).toBeUndefined();\n expect(underlying.rdpField2).toBeUndefined();\n });\n\n it(\"mergeObjectFields returns source unchanged when rdp field sets are equal\", () => {\n const source = createTestObject({\n employeeId: 50030,\n rdpField1: \"value\",\n rdpField2: 42,\n });\n const rdpFields = new Set([\"rdpField1\", \"rdpField2\"]);\n\n const result = mergeObjectFields(source, rdpFields, rdpFields, undefined);\n\n expect(result).toBe(source);\n });\n\n it(\"mergeObjectFields filters to target rdp fields when source is strict superset\", () => {\n const source = createTestObject({\n employeeId: 50030,\n fullName: \"John Doe\",\n rdpField1: \"value1\",\n rdpField2: 42,\n rdpField3: \"value3\",\n });\n\n const result = mergeObjectFields(\n source,\n new Set([\"rdpField1\", \"rdpField2\", \"rdpField3\"]),\n new Set([\"rdpField1\"]),\n undefined,\n );\n\n assertValidObjectHolder(result);\n const underlying = getUnderlyingProps(result);\n expect(underlying.employeeId).toBe(50030);\n expect(underlying.fullName).toBe(\"John Doe\");\n expect(underlying.rdpField1).toBe(\"value1\");\n expect(underlying.rdpField2).toBeUndefined();\n expect(underlying.rdpField3).toBeUndefined();\n });\n\n it(\"mergeObjectFields merges source and target rdp fields\", () => {\n const source = createTestObject({\n employeeId: 50030,\n fullName: \"John Doe\",\n office: \"NYC\",\n rdpField1: \"source-rdp1\",\n });\n const target = createTestObject({\n employeeId: 50030,\n rdpField2: 999,\n });\n\n const result = mergeObjectFields(\n source,\n new Set([\"rdpField1\"]),\n new Set([\"rdpField1\", \"rdpField2\"]),\n target,\n );\n\n assertValidObjectHolder(result);\n const underlying = getUnderlyingProps(result);\n expect(underlying.employeeId).toBe(50030);\n expect(underlying.fullName).toBe(\"John Doe\");\n expect(underlying.office).toBe(\"NYC\");\n expect(underlying.rdpField1).toBe(\"source-rdp1\");\n expect(underlying.rdpField2).toBe(999);\n });\n\n it(\"mergeObjectFields handles undefined target\", () => {\n const source = createTestObject({\n employeeId: 50030,\n fullName: \"John Doe\",\n rdpField1: \"source-rdp1\",\n });\n\n const result = mergeObjectFields(\n source,\n new Set([\"rdpField1\"]),\n new Set([\"rdpField1\", \"rdpField2\"]),\n undefined,\n );\n\n assertValidObjectHolder(result);\n const underlying = getUnderlyingProps(result);\n expect(underlying.employeeId).toBe(50030);\n expect(underlying.rdpField1).toBe(\"source-rdp1\");\n expect(underlying.rdpField2).toBeUndefined();\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"unstable-do-not-use.js","names":["augment","computeObjectSetCacheKey","createObservableClient","getMetaTagContent","getOsdkConfig","createClientWithTransaction"],"sources":["unstable-do-not-use.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport { augment } from \"../object/fetchPage.js\";\n\n// THIS IS NOT THE FINAL NAME DO NOT SHIP LIKE THIS\nexport type { ActionSignatureFromDef } from \"../actions/applyAction.js\";\nexport { computeObjectSetCacheKey } from \"../observable/computeObjectSetCacheKey.js\";\nexport { createObservableClient } from \"../observable/ObservableClient.js\";\nexport type {\n ObservableClient,\n ObserveAggregationArgs,\n ObserveObjectArgs,\n ObserveObjectsArgs,\n ObserveObjectSetArgs,\n Unsubscribable,\n} from \"../observable/ObservableClient.js\";\nexport type { Observer } from \"../observable/ObservableClient/common.js\";\nexport type { ObserveLinks } from \"../observable/ObservableClient/ObserveLink.js\";\nexport {\n getMetaTagContent,\n getOsdkConfig,\n} from \"../public-utils/osdkConfig.js\";\nexport type { OsdkConfig } from \"../public-utils/osdkConfig.js\";\n\nexport { createClientWithTransaction } from \"../createClient.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,wBAAwB;;AAEhD;;AAEA,SAASC,wBAAwB,QAAQ,2CAA2C;AACpF,SAASC,sBAAsB,QAAQ,mCAAmC;AAW1E,SACEC,iBAAiB,EACjBC,aAAa,QACR,+BAA+B;AAGtC,SAASC,2BAA2B,QAAQ,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"unstable-do-not-use.js","names":["augment","computeObjectSetCacheKey","createObservableClient","getMetaTagContent","getOsdkConfig","createClientWithTransaction"],"sources":["unstable-do-not-use.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport { augment } from \"../object/fetchPage.js\";\n\n// THIS IS NOT THE FINAL NAME DO NOT SHIP LIKE THIS\nexport type { ActionSignatureFromDef } from \"../actions/applyAction.js\";\nexport { computeObjectSetCacheKey } from \"../observable/computeObjectSetCacheKey.js\";\nexport { createObservableClient } from \"../observable/ObservableClient.js\";\nexport type {\n ObservableClient,\n ObserveAggregationArgs,\n ObserveFunctionCallbackArgs,\n ObserveFunctionOptions,\n ObserveObjectCallbackArgs,\n ObserveObjectsCallbackArgs,\n ObserveObjectSetArgs,\n Unsubscribable,\n} from \"../observable/ObservableClient.js\";\nexport type { Observer } from \"../observable/ObservableClient/common.js\";\nexport type { ObserveLinks } from \"../observable/ObservableClient/ObserveLink.js\";\nexport {\n getMetaTagContent,\n getOsdkConfig,\n} from \"../public-utils/osdkConfig.js\";\nexport type { OsdkConfig } from \"../public-utils/osdkConfig.js\";\n\nexport { createClientWithTransaction } from \"../createClient.js\";\nexport type { QueryParameterType, QueryReturnType } from \"../queries/types.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,wBAAwB;;AAEhD;;AAEA,SAASC,wBAAwB,QAAQ,2CAA2C;AACpF,SAASC,sBAAsB,QAAQ,mCAAmC;AAa1E,SACEC,iBAAiB,EACjBC,aAAa,QACR,+BAA+B;AAGtC,SAASC,2BAA2B,QAAQ,oBAAoB","ignoreList":[]}
@@ -25,12 +25,16 @@ import { toDataValueQueries } from "../util/toDataValueQueries.js";
25
25
  export async function applyQuery(client, query, params) {
26
26
  // We fire and forget so if a function has no parameters we don't unnecessarily load all metadata
27
27
  const qd = client.ontologyProvider.getQueryDefinition(query.apiName, query.isFixedVersion ? query.version : undefined);
28
+ if (client.flushEdits != null) {
29
+ await client.flushEdits();
30
+ }
28
31
  const response = await OntologiesV2.Queries.execute(addUserAgentAndRequestContextHeaders(augmentRequestContext(client, () => ({
29
32
  finalMethodCall: "applyQuery"
30
33
  })), query), await client.ontologyRid, query.apiName, {
31
34
  parameters: params ? await remapQueryParams(params, client, (await qd).parameters) : {}
32
35
  }, {
33
- version: query.isFixedVersion ? query.version : undefined
36
+ version: query.isFixedVersion ? query.version : undefined,
37
+ transactionId: client.transactionId
34
38
  });
35
39
  const objectOutputDefs = await getRequiredDefinitions((await qd).output, client);
36
40
  const remappedResponse = await remapQueryResponse(client, (await qd).output, response.value, objectOutputDefs);
@@ -184,6 +188,12 @@ async function getRequiredDefinitions(dataType, client) {
184
188
  result.set(dataType.objectSet, objectDef);
185
189
  break;
186
190
  }
191
+ case "interfaceObjectSet":
192
+ {
193
+ const interfaceDef = await client.ontologyProvider.getInterfaceDefinition(dataType.objectSet);
194
+ result.set(dataType.objectSet, interfaceDef);
195
+ break;
196
+ }
187
197
  case "object":
188
198
  {
189
199
  const objectDef = await client.ontologyProvider.getObjectDefinition(dataType.object);
@@ -200,6 +210,10 @@ async function getRequiredDefinitions(dataType, client) {
200
210
  {
201
211
  return getRequiredDefinitions(dataType.set, client);
202
212
  }
213
+ case "array":
214
+ {
215
+ return getRequiredDefinitions(dataType.array, client);
216
+ }
203
217
  case "map":
204
218
  {
205
219
  const types = [dataType.keyType, dataType.valueType];
@@ -235,6 +249,10 @@ async function getRequiredDefinitions(dataType, client) {
235
249
  case "twoDimensionalAggregation":
236
250
  case "union":
237
251
  break;
252
+ default:
253
+ {
254
+ break;
255
+ }
238
256
  }
239
257
  return result;
240
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"applyQuery.js","names":["OntologiesV2","invariant","createObjectSet","hydrateAttachmentFromRidInternal","addUserAgentAndRequestContextHeaders","augmentRequestContext","createObjectSpecifierFromInterfaceSpecifier","createObjectSpecifierFromPrimaryKey","toDataValueQueries","applyQuery","client","query","params","qd","ontologyProvider","getQueryDefinition","apiName","isFixedVersion","version","undefined","response","Queries","execute","finalMethodCall","ontologyRid","parameters","remapQueryParams","objectOutputDefs","getRequiredDefinitions","output","remappedResponse","remapQueryResponse","value","paramTypes","parameterMap","key","Object","entries","responseDataType","responseValue","definitions","nullable","Error","type","i","length","array","set","def","get","object","createQueryObjectResponse","interface","createQueryInterfaceResponse","objectSet","objectSets","objectType","reference","subtype","struct","requiresConversion","map","Array","isArray","process","env","NODE_ENV","entry","keyType","getObjectSpecifier","valueType","result","groups","push","subResult","subKey","dataType","Map","objectDef","getObjectDefinition","interfaceDef","getInterfaceDefinition","types","allDefs","Promise","all","defs","structValues","values","some","primaryKey","objectTypeApiName","$apiName","$title","$objectType","$primaryKey","$objectSpecifier","interfaceSpecifier","primaryKeyValue"],"sources":["applyQuery.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AllowedBucketKeyTypes,\n AllowedBucketTypes,\n CompileTimeMetadata,\n InterfaceDefinition,\n ObjectOrInterfaceDefinition,\n ObjectTypeDefinition,\n OsdkBase,\n PrimaryKeyType,\n QueryDataTypeDefinition,\n QueryDefinition,\n QueryMetadata,\n QueryParameterDefinition,\n} from \"@osdk/api\";\nimport type { DataValue } from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { createObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { hydrateAttachmentFromRidInternal } from \"../public-utils/hydrateAttachmentFromRid.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport {\n createObjectSpecifierFromInterfaceSpecifier,\n createObjectSpecifierFromPrimaryKey,\n} from \"../util/objectSpecifierUtils.js\";\nimport { toDataValueQueries } from \"../util/toDataValueQueries.js\";\nimport type { QueryParameterType, QueryReturnType } from \"./types.js\";\n\nexport async function applyQuery<\n QD extends QueryDefinition<any>,\n P extends QueryParameterType<CompileTimeMetadata<QD>[\"parameters\"]>,\n>(\n client: MinimalClient,\n query: QD,\n params?: P,\n): Promise<\n QueryReturnType<CompileTimeMetadata<QD>[\"output\"]>\n> {\n // We fire and forget so if a function has no parameters we don't unnecessarily load all metadata\n const qd: Promise<QueryMetadata> = client.ontologyProvider.getQueryDefinition(\n query.apiName,\n query.isFixedVersion ? query.version : undefined,\n );\n\n const response = await OntologiesV2.Queries.execute(\n addUserAgentAndRequestContextHeaders(\n augmentRequestContext(client, _ => ({ finalMethodCall: \"applyQuery\" })),\n query,\n ),\n await client.ontologyRid,\n query.apiName,\n {\n parameters: params\n ? await remapQueryParams(\n params as { [parameterId: string]: any },\n client,\n (await qd).parameters,\n )\n : {},\n },\n { version: query.isFixedVersion ? query.version : undefined },\n );\n\n const objectOutputDefs = await getRequiredDefinitions(\n (await qd).output,\n client,\n );\n const remappedResponse = await remapQueryResponse(\n client,\n (await qd).output,\n response.value,\n objectOutputDefs,\n );\n return remappedResponse as QueryReturnType<CompileTimeMetadata<QD>[\"output\"]>;\n}\n\nasync function remapQueryParams(\n params: { [parameterId: string]: any },\n client: MinimalClient,\n paramTypes: Record<string, QueryParameterDefinition<any>>,\n): Promise<{ [parameterId: string]: any }> {\n const parameterMap: { [parameterName: string]: unknown } = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValueQueries(\n value,\n client,\n paramTypes[key],\n );\n }\n return parameterMap;\n}\n\nasync function remapQueryResponse<\n Q extends ObjectTypeDefinition,\n T extends QueryDataTypeDefinition<Q | never>,\n>(\n client: MinimalClient,\n responseDataType: T,\n responseValue: DataValue,\n definitions: Map<string, ObjectOrInterfaceDefinition>,\n): Promise<QueryReturnType<T>> {\n // handle null responses\n if (responseValue == null) {\n if (responseDataType.nullable) {\n return undefined as unknown as QueryReturnType<typeof responseDataType>;\n } else {\n throw new Error(\"Got null response when nullable was not allowed\");\n }\n }\n\n switch (responseDataType.type) {\n case \"union\": {\n throw new Error(\"Union return types are not yet supported\");\n }\n\n case \"array\": {\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(\n client,\n responseDataType.array,\n responseValue[i],\n definitions,\n );\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n }\n\n case \"set\": {\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(\n client,\n responseDataType.set,\n responseValue[i],\n definitions,\n );\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n }\n\n case \"attachment\": {\n return hydrateAttachmentFromRidInternal(\n client,\n responseValue,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"object\": {\n const def = definitions.get(responseDataType.object);\n if (!def || def.type !== \"object\") {\n throw new Error(\n `Missing definition for ${responseDataType.object}`,\n );\n }\n return createQueryObjectResponse(\n responseValue,\n def,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"interface\": {\n const def = definitions.get(responseDataType.interface);\n if (!def || def.type !== \"interface\") {\n throw new Error(\n `Missing definition for ${responseDataType.interface}`,\n );\n }\n\n return createQueryInterfaceResponse(\n responseValue,\n def,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"objectSet\": {\n const def = definitions.get(responseDataType.objectSet);\n if (!def) {\n throw new Error(\n `Missing definition for ${responseDataType.objectSet}`,\n );\n }\n if (typeof responseValue === \"string\") {\n return createObjectSet(def, client, {\n type: \"intersect\",\n objectSets: [\n { type: \"base\", objectType: responseDataType.objectSet },\n { type: \"reference\", reference: responseValue },\n ],\n }) as QueryReturnType<typeof responseDataType>;\n }\n\n return createObjectSet(\n def,\n client,\n responseValue,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"struct\": {\n // figure out what keys need to be fixed up\n for (const [key, subtype] of Object.entries(responseDataType.struct)) {\n if (requiresConversion(subtype)) {\n responseValue[key] = await remapQueryResponse(\n client,\n subtype,\n responseValue[key],\n definitions,\n );\n }\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n }\n\n case \"map\": {\n const map = {} as any;\n\n invariant(Array.isArray(responseValue), \"Expected array entry\");\n for (const entry of responseValue) {\n invariant(entry.key != null, \"Expected key\");\n invariant(entry.value != null, \"Expected value\");\n const key = responseDataType.keyType.type === \"object\"\n ? getObjectSpecifier(\n entry.key,\n responseDataType.keyType.object,\n definitions,\n )\n : entry.key;\n const value = await remapQueryResponse(\n client,\n responseDataType.valueType,\n entry.value,\n definitions,\n );\n map[key] = value;\n }\n return map;\n }\n\n case \"twoDimensionalAggregation\": {\n const result: {\n key: AllowedBucketKeyTypes;\n value: AllowedBucketTypes;\n }[] = [];\n for (const { key, value } of responseValue.groups) {\n result.push({ key, value });\n }\n return result as QueryReturnType<typeof responseDataType>;\n }\n\n case \"threeDimensionalAggregation\": {\n const result: {\n key: AllowedBucketKeyTypes;\n groups: { key: AllowedBucketKeyTypes; value: AllowedBucketTypes }[];\n }[] = [];\n for (const { key, groups } of responseValue.groups) {\n const subResult: { key: any; value: any }[] = [];\n for (const { key: subKey, value } of groups) {\n subResult.push({ key: subKey, value });\n }\n result.push({ key, groups: subResult });\n }\n return result as QueryReturnType<typeof responseDataType>;\n }\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n}\n\nasync function getRequiredDefinitions(\n dataType: QueryDataTypeDefinition,\n client: MinimalClient,\n): Promise<Map<string, ObjectOrInterfaceDefinition>> {\n const result = new Map<string, ObjectOrInterfaceDefinition>();\n switch (dataType.type) {\n case \"objectSet\": {\n const objectDef = await client.ontologyProvider.getObjectDefinition(\n dataType.objectSet,\n );\n result.set(dataType.objectSet, objectDef);\n break;\n }\n case \"object\": {\n const objectDef = await client.ontologyProvider.getObjectDefinition(\n dataType.object,\n );\n result.set(dataType.object, objectDef);\n break;\n }\n\n case \"interface\": {\n const interfaceDef = await client.ontologyProvider.getInterfaceDefinition(\n dataType.interface,\n );\n result.set(dataType.interface, interfaceDef);\n break;\n }\n\n case \"set\": {\n return getRequiredDefinitions(dataType.set, client);\n }\n\n case \"map\": {\n const types = [dataType.keyType, dataType.valueType];\n\n const allDefs = await Promise.all(\n types.map(value => getRequiredDefinitions(value, client)),\n );\n\n for (const defs of allDefs) {\n for (const [type, objectDef] of defs) {\n result.set(type, objectDef);\n }\n }\n break;\n }\n\n case \"struct\": {\n const structValues = Object.values(dataType.struct);\n\n const allDefs = await Promise.all(\n structValues.map(value => getRequiredDefinitions(value, client)),\n );\n\n for (const defs of allDefs) {\n for (const [type, objectDef] of defs) {\n result.set(type, objectDef);\n }\n }\n break;\n }\n case \"attachment\":\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"threeDimensionalAggregation\":\n case \"timestamp\":\n case \"twoDimensionalAggregation\":\n case \"union\":\n break;\n }\n\n return result;\n}\nfunction requiresConversion(dataType: QueryDataTypeDefinition) {\n switch (dataType.type) {\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"timestamp\":\n return false;\n\n case \"union\":\n return true;\n\n case \"struct\":\n return Object.values(dataType.struct).some(requiresConversion);\n\n case \"set\":\n return requiresConversion(dataType.set);\n\n case \"attachment\":\n case \"objectSet\":\n case \"twoDimensionalAggregation\":\n case \"threeDimensionalAggregation\":\n case \"object\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction getObjectSpecifier(\n primaryKey: any,\n objectTypeApiName: string,\n definitions: Map<string, ObjectOrInterfaceDefinition>,\n): string {\n const def = definitions.get(objectTypeApiName);\n if (!def || def.type !== \"object\") {\n throw new Error(\n `Missing definition for ${objectTypeApiName}`,\n );\n }\n return createObjectSpecifierFromPrimaryKey(\n def,\n primaryKey,\n );\n}\n\nexport function createQueryObjectResponse<\n Q extends ObjectTypeDefinition,\n>(\n primaryKey: PrimaryKeyType<Q>,\n objectDef: Q,\n): OsdkBase<Q> {\n return {\n $apiName: objectDef.apiName,\n $title: undefined,\n $objectType: objectDef.apiName,\n $primaryKey: primaryKey,\n $objectSpecifier: createObjectSpecifierFromPrimaryKey(\n objectDef,\n primaryKey,\n ),\n };\n}\n\nexport function createQueryInterfaceResponse<\n Q extends InterfaceDefinition,\n>(\n interfaceSpecifier: {\n objectTypeApiName: string;\n primaryKeyValue: PrimaryKeyType<Q>;\n },\n interfaceDef: Q,\n): OsdkBase<Q> {\n return {\n $apiName: interfaceDef.apiName,\n $title: undefined,\n $objectType: interfaceSpecifier.objectTypeApiName,\n $primaryKey: interfaceSpecifier.primaryKeyValue,\n $objectSpecifier: createObjectSpecifierFromInterfaceSpecifier(\n interfaceDef,\n interfaceSpecifier,\n ),\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"applyQuery.js","names":["OntologiesV2","invariant","createObjectSet","hydrateAttachmentFromRidInternal","addUserAgentAndRequestContextHeaders","augmentRequestContext","createObjectSpecifierFromInterfaceSpecifier","createObjectSpecifierFromPrimaryKey","toDataValueQueries","applyQuery","client","query","params","qd","ontologyProvider","getQueryDefinition","apiName","isFixedVersion","version","undefined","flushEdits","response","Queries","execute","finalMethodCall","ontologyRid","parameters","remapQueryParams","transactionId","objectOutputDefs","getRequiredDefinitions","output","remappedResponse","remapQueryResponse","value","paramTypes","parameterMap","key","Object","entries","responseDataType","responseValue","definitions","nullable","Error","type","i","length","array","set","def","get","object","createQueryObjectResponse","interface","createQueryInterfaceResponse","objectSet","objectSets","objectType","reference","subtype","struct","requiresConversion","map","Array","isArray","process","env","NODE_ENV","entry","keyType","getObjectSpecifier","valueType","result","groups","push","subResult","subKey","dataType","Map","objectDef","getObjectDefinition","interfaceDef","getInterfaceDefinition","types","allDefs","Promise","all","defs","structValues","values","some","primaryKey","objectTypeApiName","$apiName","$title","$objectType","$primaryKey","$objectSpecifier","interfaceSpecifier","primaryKeyValue"],"sources":["applyQuery.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AllowedBucketKeyTypes,\n AllowedBucketTypes,\n CompileTimeMetadata,\n InterfaceDefinition,\n ObjectOrInterfaceDefinition,\n ObjectTypeDefinition,\n OsdkBase,\n PrimaryKeyType,\n QueryDataTypeDefinition,\n QueryDefinition,\n QueryMetadata,\n QueryParameterDefinition,\n} from \"@osdk/api\";\nimport type { DataValue } from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { createObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { hydrateAttachmentFromRidInternal } from \"../public-utils/hydrateAttachmentFromRid.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport {\n createObjectSpecifierFromInterfaceSpecifier,\n createObjectSpecifierFromPrimaryKey,\n} from \"../util/objectSpecifierUtils.js\";\nimport { toDataValueQueries } from \"../util/toDataValueQueries.js\";\nimport type { QueryParameterType, QueryReturnType } from \"./types.js\";\n\nexport async function applyQuery<\n QD extends QueryDefinition<any>,\n P extends QueryParameterType<CompileTimeMetadata<QD>[\"parameters\"]>,\n>(\n client: MinimalClient,\n query: QD,\n params?: P,\n): Promise<\n QueryReturnType<CompileTimeMetadata<QD>[\"output\"]>\n> {\n // We fire and forget so if a function has no parameters we don't unnecessarily load all metadata\n const qd: Promise<QueryMetadata> = client.ontologyProvider.getQueryDefinition(\n query.apiName,\n query.isFixedVersion ? query.version : undefined,\n );\n\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n\n const response = await OntologiesV2.Queries.execute(\n addUserAgentAndRequestContextHeaders(\n augmentRequestContext(client, _ => ({ finalMethodCall: \"applyQuery\" })),\n query,\n ),\n await client.ontologyRid,\n query.apiName,\n {\n parameters: params\n ? await remapQueryParams(\n params as { [parameterId: string]: any },\n client,\n (await qd).parameters,\n )\n : {},\n },\n {\n version: query.isFixedVersion ? query.version : undefined,\n transactionId: client.transactionId,\n },\n );\n\n const objectOutputDefs = await getRequiredDefinitions(\n (await qd).output,\n client,\n );\n const remappedResponse = await remapQueryResponse(\n client,\n (await qd).output,\n response.value,\n objectOutputDefs,\n );\n return remappedResponse as QueryReturnType<CompileTimeMetadata<QD>[\"output\"]>;\n}\n\nasync function remapQueryParams(\n params: { [parameterId: string]: any },\n client: MinimalClient,\n paramTypes: Record<string, QueryParameterDefinition<any>>,\n): Promise<{ [parameterId: string]: any }> {\n const parameterMap: { [parameterName: string]: unknown } = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValueQueries(\n value,\n client,\n paramTypes[key],\n );\n }\n return parameterMap;\n}\n\nasync function remapQueryResponse<\n Q extends ObjectTypeDefinition,\n T extends QueryDataTypeDefinition<Q | never>,\n>(\n client: MinimalClient,\n responseDataType: T,\n responseValue: DataValue,\n definitions: Map<string, ObjectOrInterfaceDefinition>,\n): Promise<QueryReturnType<T>> {\n // handle null responses\n if (responseValue == null) {\n if (responseDataType.nullable) {\n return undefined as unknown as QueryReturnType<typeof responseDataType>;\n } else {\n throw new Error(\"Got null response when nullable was not allowed\");\n }\n }\n\n switch (responseDataType.type) {\n case \"union\": {\n throw new Error(\"Union return types are not yet supported\");\n }\n\n case \"array\": {\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(\n client,\n responseDataType.array,\n responseValue[i],\n definitions,\n );\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n }\n\n case \"set\": {\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(\n client,\n responseDataType.set,\n responseValue[i],\n definitions,\n );\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n }\n\n case \"attachment\": {\n return hydrateAttachmentFromRidInternal(\n client,\n responseValue,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"object\": {\n const def = definitions.get(responseDataType.object);\n if (!def || def.type !== \"object\") {\n throw new Error(\n `Missing definition for ${responseDataType.object}`,\n );\n }\n return createQueryObjectResponse(\n responseValue,\n def,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"interface\": {\n const def = definitions.get(responseDataType.interface);\n if (!def || def.type !== \"interface\") {\n throw new Error(\n `Missing definition for ${responseDataType.interface}`,\n );\n }\n\n return createQueryInterfaceResponse(\n responseValue,\n def,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"objectSet\": {\n const def = definitions.get(responseDataType.objectSet);\n if (!def) {\n throw new Error(\n `Missing definition for ${responseDataType.objectSet}`,\n );\n }\n if (typeof responseValue === \"string\") {\n return createObjectSet(def, client, {\n type: \"intersect\",\n objectSets: [\n { type: \"base\", objectType: responseDataType.objectSet },\n { type: \"reference\", reference: responseValue },\n ],\n }) as QueryReturnType<typeof responseDataType>;\n }\n\n return createObjectSet(\n def,\n client,\n responseValue,\n ) as QueryReturnType<\n typeof responseDataType\n >;\n }\n\n case \"struct\": {\n // figure out what keys need to be fixed up\n for (const [key, subtype] of Object.entries(responseDataType.struct)) {\n if (requiresConversion(subtype)) {\n responseValue[key] = await remapQueryResponse(\n client,\n subtype,\n responseValue[key],\n definitions,\n );\n }\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n }\n\n case \"map\": {\n const map = {} as any;\n\n invariant(Array.isArray(responseValue), \"Expected array entry\");\n for (const entry of responseValue) {\n invariant(entry.key != null, \"Expected key\");\n invariant(entry.value != null, \"Expected value\");\n const key = responseDataType.keyType.type === \"object\"\n ? getObjectSpecifier(\n entry.key,\n responseDataType.keyType.object,\n definitions,\n )\n : entry.key;\n const value = await remapQueryResponse(\n client,\n responseDataType.valueType,\n entry.value,\n definitions,\n );\n map[key] = value;\n }\n return map;\n }\n\n case \"twoDimensionalAggregation\": {\n const result: {\n key: AllowedBucketKeyTypes;\n value: AllowedBucketTypes;\n }[] = [];\n for (const { key, value } of responseValue.groups) {\n result.push({ key, value });\n }\n return result as QueryReturnType<typeof responseDataType>;\n }\n\n case \"threeDimensionalAggregation\": {\n const result: {\n key: AllowedBucketKeyTypes;\n groups: { key: AllowedBucketKeyTypes; value: AllowedBucketTypes }[];\n }[] = [];\n for (const { key, groups } of responseValue.groups) {\n const subResult: { key: any; value: any }[] = [];\n for (const { key: subKey, value } of groups) {\n subResult.push({ key: subKey, value });\n }\n result.push({ key, groups: subResult });\n }\n return result as QueryReturnType<typeof responseDataType>;\n }\n }\n\n return responseValue as QueryReturnType<typeof responseDataType>;\n}\n\nasync function getRequiredDefinitions(\n dataType: QueryDataTypeDefinition,\n client: MinimalClient,\n): Promise<Map<string, ObjectOrInterfaceDefinition>> {\n const result = new Map<string, ObjectOrInterfaceDefinition>();\n switch (dataType.type) {\n case \"objectSet\": {\n const objectDef = await client.ontologyProvider.getObjectDefinition(\n dataType.objectSet,\n );\n result.set(dataType.objectSet, objectDef);\n break;\n }\n case \"interfaceObjectSet\": {\n const interfaceDef = await client.ontologyProvider.getInterfaceDefinition(\n dataType.objectSet,\n );\n result.set(dataType.objectSet, interfaceDef);\n break;\n }\n case \"object\": {\n const objectDef = await client.ontologyProvider.getObjectDefinition(\n dataType.object,\n );\n result.set(dataType.object, objectDef);\n break;\n }\n\n case \"interface\": {\n const interfaceDef = await client.ontologyProvider.getInterfaceDefinition(\n dataType.interface,\n );\n result.set(dataType.interface, interfaceDef);\n break;\n }\n\n case \"set\": {\n return getRequiredDefinitions(dataType.set, client);\n }\n case \"array\": {\n return getRequiredDefinitions(dataType.array, client);\n }\n\n case \"map\": {\n const types = [dataType.keyType, dataType.valueType];\n\n const allDefs = await Promise.all(\n types.map(value => getRequiredDefinitions(value, client)),\n );\n\n for (const defs of allDefs) {\n for (const [type, objectDef] of defs) {\n result.set(type, objectDef);\n }\n }\n break;\n }\n\n case \"struct\": {\n const structValues = Object.values(dataType.struct);\n\n const allDefs = await Promise.all(\n structValues.map(value => getRequiredDefinitions(value, client)),\n );\n\n for (const defs of allDefs) {\n for (const [type, objectDef] of defs) {\n result.set(type, objectDef);\n }\n }\n break;\n }\n case \"attachment\":\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"threeDimensionalAggregation\":\n case \"timestamp\":\n case \"twoDimensionalAggregation\":\n case \"union\":\n break;\n default: {\n const _: never = dataType;\n break;\n }\n }\n\n return result;\n}\nfunction requiresConversion(dataType: QueryDataTypeDefinition) {\n switch (dataType.type) {\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"timestamp\":\n return false;\n\n case \"union\":\n return true;\n\n case \"struct\":\n return Object.values(dataType.struct).some(requiresConversion);\n\n case \"set\":\n return requiresConversion(dataType.set);\n\n case \"attachment\":\n case \"objectSet\":\n case \"twoDimensionalAggregation\":\n case \"threeDimensionalAggregation\":\n case \"object\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction getObjectSpecifier(\n primaryKey: any,\n objectTypeApiName: string,\n definitions: Map<string, ObjectOrInterfaceDefinition>,\n): string {\n const def = definitions.get(objectTypeApiName);\n if (!def || def.type !== \"object\") {\n throw new Error(\n `Missing definition for ${objectTypeApiName}`,\n );\n }\n return createObjectSpecifierFromPrimaryKey(\n def,\n primaryKey,\n );\n}\n\nexport function createQueryObjectResponse<\n Q extends ObjectTypeDefinition,\n>(\n primaryKey: PrimaryKeyType<Q>,\n objectDef: Q,\n): OsdkBase<Q> {\n return {\n $apiName: objectDef.apiName,\n $title: undefined,\n $objectType: objectDef.apiName,\n $primaryKey: primaryKey,\n $objectSpecifier: createObjectSpecifierFromPrimaryKey(\n objectDef,\n primaryKey,\n ),\n };\n}\n\nexport function createQueryInterfaceResponse<\n Q extends InterfaceDefinition,\n>(\n interfaceSpecifier: {\n objectTypeApiName: string;\n primaryKeyValue: PrimaryKeyType<Q>;\n },\n interfaceDef: Q,\n): OsdkBase<Q> {\n return {\n $apiName: interfaceDef.apiName,\n $title: undefined,\n $objectType: interfaceSpecifier.objectTypeApiName,\n $primaryKey: interfaceSpecifier.primaryKeyValue,\n $objectSpecifier: createObjectSpecifierFromInterfaceSpecifier(\n interfaceDef,\n interfaceSpecifier,\n ),\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { $Queries, acceptsThreeDimensionalAggregationFunction, acceptsTwoDimensionalAggregationFunction, addOne, Employee, FooInterface, incrementPersonAge, incrementPersonAgeComplex, queryAcceptsInterface, queryAcceptsInterfaceObjectSet, queryAcceptsObject, queryAcceptsObjectSets, queryTypeReturnsMap, returnsDate, returnsTimestamp, threeDimensionalAggregationFunction, twoDimensionalAggregationFunction } from "@osdk/client.test.ontology";
17
+ import { $Queries, acceptsThreeDimensionalAggregationFunction, acceptsTwoDimensionalAggregationFunction, addOne, Employee, FooInterface, incrementPersonAge, incrementPersonAgeComplex, queryAcceptsInterface, queryAcceptsInterfaceObjectSet, queryAcceptsObject, queryAcceptsObjectSets, queryTypeReturnsArrayOfObjects, queryTypeReturnsMap, returnsDate, returnsTimestamp, threeDimensionalAggregationFunction, twoDimensionalAggregationFunction } from "@osdk/client.test.ontology";
18
18
  import { LegacyFauxFoundry, startNodeApiServer } from "@osdk/shared.test";
19
19
  import { beforeAll, describe, expect, expectTypeOf, it } from "vitest";
20
20
  import { createClient } from "../createClient.js";
@@ -129,6 +129,18 @@ describe("queries", () => {
129
129
  });
130
130
  expectTypeOf().toMatchTypeOf();
131
131
  });
132
+ it("returns array of objects", async () => {
133
+ const result = await client(queryTypeReturnsArrayOfObjects).executeFunction({
134
+ people: ["Brad", "George", "Ryan"]
135
+ });
136
+ expect(result).toEqual([{
137
+ $apiName: "Employee",
138
+ $objectSpecifier: "Employee:50030",
139
+ $objectType: "Employee",
140
+ $primaryKey: 50030,
141
+ $title: undefined
142
+ }]);
143
+ });
132
144
  it("no params work", async () => {
133
145
  const resultWithTimestamp = await client(returnsTimestamp).executeFunction();
134
146
  expect(resultWithTimestamp).toBe("2019-01-01T00:00:00.000Z");
@@ -289,7 +301,7 @@ describe("queries", () => {
289
301
  });
290
302
  it("queries are enumerable", async () => {
291
303
  const queries = Object.keys($Queries);
292
- expect(queries).toStrictEqual(["acceptsThreeDimensionalAggregationFunction", "acceptsTwoDimensionalAggregationFunction", "addOne", "incrementPersonAge", "incrementPersonAgeComplex", "queryAcceptsInterface", "queryAcceptsInterfaceObjectSet", "queryAcceptsObject", "queryAcceptsObjectSets", "queryOutputsInterface", "queryTypeReturnsArray", "queryTypeReturnsMap", "returnsDate", "returnsObject", "returnsTimestamp", "threeDimensionalAggregationFunction", "twoDimensionalAggregationFunction"]);
304
+ expect(queries).toStrictEqual(["acceptsThreeDimensionalAggregationFunction", "acceptsTwoDimensionalAggregationFunction", "addOne", "incrementPersonAge", "incrementPersonAgeComplex", "queryAcceptsInterface", "queryAcceptsInterfaceObjectSet", "queryAcceptsObject", "queryAcceptsObjectSets", "queryOutputsInterface", "queryTypeReturnsArray", "queryTypeReturnsArrayOfObjects", "queryTypeReturnsMap", "returnsDate", "returnsObject", "returnsTimestamp", "threeDimensionalAggregationFunction", "twoDimensionalAggregationFunction"]);
293
305
  });
294
306
  it("queries work with arrays", async () => {
295
307
  const result = await client($Queries.queryTypeReturnsArray).executeFunction({
@@ -1 +1 @@
1
- {"version":3,"file":"queries.test.js","names":["$Queries","acceptsThreeDimensionalAggregationFunction","acceptsTwoDimensionalAggregationFunction","addOne","Employee","FooInterface","incrementPersonAge","incrementPersonAgeComplex","queryAcceptsInterface","queryAcceptsInterfaceObjectSet","queryAcceptsObject","queryAcceptsObjectSets","queryTypeReturnsMap","returnsDate","returnsTimestamp","threeDimensionalAggregationFunction","twoDimensionalAggregationFunction","LegacyFauxFoundry","startNodeApiServer","beforeAll","describe","expect","expectTypeOf","it","createClient","client","testSetup","apiServer","close","result","executeFunction","n","toBe","toMatchTypeOf","object","$apiName","$primaryKey","toEqual","$objectType","$objectSpecifier","employee","fetchOne","$title","interfaceObject","undefined","os","interfaceObjectSet","employeeObjectSet","objectSet","resultWithTimestamp","resultWithDate","person","firstName","lastName","age","toEqualTypeOf","key","value","aggFunction","groups","startValue","endValue","fail","e","message","toMatch","peopleMap","toMatchInlineSnapshot","queries","Object","keys","toStrictEqual","queryTypeReturnsArray","people","result2","version","isFixedVersion"],"sources":["queries.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectSet, ObjectSpecifier, Osdk, OsdkBase } from \"@osdk/api\";\nimport {\n $Queries,\n acceptsThreeDimensionalAggregationFunction,\n acceptsTwoDimensionalAggregationFunction,\n addOne,\n Employee,\n FooInterface,\n incrementPersonAge,\n incrementPersonAgeComplex,\n queryAcceptsInterface,\n queryAcceptsInterfaceObjectSet,\n queryAcceptsObject,\n queryAcceptsObjectSets,\n queryTypeReturnsMap,\n returnsDate,\n returnsTimestamp,\n threeDimensionalAggregationFunction,\n twoDimensionalAggregationFunction,\n} from \"@osdk/client.test.ontology\";\nimport { LegacyFauxFoundry, startNodeApiServer } from \"@osdk/shared.test\";\nimport { beforeAll, describe, expect, expectTypeOf, it } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ndescribe(\"queries\", () => {\n let client: Client;\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);\n ({ client } = testSetup);\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"simple query works\", async () => {\n const result = await client(addOne).executeFunction({ n: 2 });\n expect(result).toBe(3);\n });\n\n describe(\"Queries that accept objects work do not break\", () => {\n it(\"Works when using $apiName, $primaryKey\", async () => {\n const fn = client(queryAcceptsObject).executeFunction;\n type InferredParamType = Parameters<typeof fn>[0];\n expectTypeOf<{\n object: {\n $apiName: \"Employee\";\n $primaryKey: number;\n };\n }>().toMatchTypeOf<InferredParamType>();\n\n const result = await client(queryAcceptsObject).executeFunction({\n object: {\n $apiName: \"Employee\",\n $primaryKey: 50030,\n },\n });\n expect(result).toEqual({\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n });\n });\n\n it(\"Works when using an existing object\", async () => {\n const employee = await client(Employee).fetchOne(\n 50030,\n );\n const result = await client(queryAcceptsObject).executeFunction({\n object: employee,\n });\n expect(result).toEqual({\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n });\n });\n\n it(\"Works when using a primary key\", async () => {\n const result = await client(queryAcceptsObject).executeFunction({\n object: 50030,\n });\n expect(result).toEqual({\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n });\n });\n\n it(\"Works when explicitly typing object with OsdkBase\", async () => {\n /**\n * We do this test because we used to type object parameters with OsdkBase\n */\n const objectQueryParameter = {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n $title: \"Test\",\n $objectSpecifier: \"Employee:50031\" as ObjectSpecifier<Employee>,\n } satisfies OsdkBase<Employee>;\n const result = await client(queryAcceptsObject).executeFunction({\n object: objectQueryParameter,\n });\n expect(result).toEqual({\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n });\n });\n it(\"Works when passing in interfaces\", async () => {\n const clientBoundQueryFunction =\n client(queryAcceptsInterface).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<\n {\n interfaceObject: {\n $objectType: \"Employee\" | \"Person\";\n $primaryKey: string | number;\n };\n }\n >()\n .toMatchTypeOf<InferredParamType>();\n\n expectTypeOf<\n {\n interfaceObject: Osdk.Instance<FooInterface>;\n }\n >()\n .toMatchTypeOf<InferredParamType>();\n\n const result = await client(queryAcceptsInterface).executeFunction({\n interfaceObject: { $objectType: \"Employee\", $primaryKey: 50030 },\n });\n\n expect(result).toEqual({\n $apiName: \"FooInterface\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n $title: undefined,\n });\n });\n\n it(\"Works when passing in interface object sets\", async () => {\n const os = client(FooInterface);\n const result = await client(queryAcceptsInterfaceObjectSet)\n .executeFunction({\n interfaceObjectSet: os,\n });\n\n expect(result).toEqual(50030);\n });\n });\n\n it(\"accepts objectSets\", async () => {\n const employeeObjectSet = client(Employee);\n const result = await client(queryAcceptsObjectSets).executeFunction({\n objectSet: employeeObjectSet,\n });\n\n expectTypeOf<ObjectSet<Employee>>().toMatchTypeOf<typeof result>();\n });\n\n it(\"no params work\", async () => {\n const resultWithTimestamp = await client(returnsTimestamp)\n .executeFunction();\n expect(resultWithTimestamp).toBe(\"2019-01-01T00:00:00.000Z\");\n\n const resultWithDate = await client(returnsDate).executeFunction();\n expect(resultWithDate).toBe(\"2019-01-01\");\n });\n\n it(\"returns and accepts structs property\", async () => {\n const result = await client(incrementPersonAge).executeFunction({\n person: { firstName: \"John\", lastName: \"Doe\", age: 42 },\n });\n expect(result).toEqual({\n firstName: \"John\",\n lastName: \"Doe\",\n age: 43,\n });\n });\n\n it(\"returns and accepts complex structs property\", async () => {\n const employee = await client(Employee).fetchOne(\n 50030,\n );\n const result = await client(incrementPersonAgeComplex).executeFunction({\n person: { firstName: \"John\", lastName: \"Doe\", age: 42, object: employee },\n });\n expect(result).toEqual({\n firstName: \"John\",\n lastName: \"Doe\",\n age: 43,\n object: {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n },\n });\n });\n\n it(\"two dimensional aggregation response works\", async () => {\n const result = await client(twoDimensionalAggregationFunction)\n .executeFunction();\n expectTypeOf<typeof result>().toEqualTypeOf<\n { key: string; value: number }[]\n >;\n expect(result).toEqual([{ key: \"Q-AFN\", value: 1 }, {\n key: \"Q-AFO\",\n value: 2,\n }]);\n });\n\n it(\"two dimensional aggregation request/response works\", async () => {\n const clientBoundQueryFunction =\n client(acceptsTwoDimensionalAggregationFunction).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<{ aggFunction: { key: string; value: number }[] }>()\n .toMatchTypeOf<InferredParamType>();\n\n const result = await client(acceptsTwoDimensionalAggregationFunction)\n .executeFunction({\n aggFunction: [\n {\n key: \"testKey1\",\n value: 1,\n },\n {\n key: \"testKey2\",\n value: 2,\n },\n ],\n });\n expectTypeOf<typeof result>().toEqualTypeOf<\n { key: string; value: number }[]\n >;\n\n expect(result).toEqual([{ key: \"responseKey1\", value: 3 }, {\n key: \"responseKey2\",\n value: 4,\n }]);\n });\n\n it(\"three dimensional aggregation response works\", async () => {\n const result = await client(threeDimensionalAggregationFunction)\n .executeFunction();\n\n expectTypeOf<typeof result>().toEqualTypeOf<\n {\n key: string;\n groups: {\n key: { startValue: string | undefined; endValue: string | undefined };\n value: number;\n }[];\n }[]\n >;\n expect(result).toEqual([{\n key: \"Q-AFN\",\n groups: [{\n key: {\n startValue: \"2010-10-01T00:00:00Z\",\n endValue: \"2010-10-02T00:00:00Z\",\n },\n value: 65.0,\n }],\n }, { key: \"Q-AFO\", groups: [] }]);\n });\n\n it(\"throws when response is null and response is non-nullable\", async () => {\n try {\n const result = await client(addOne).executeFunction({ n: 3 });\n expect.fail(\"Should not reach here\");\n } catch (e) {\n expect((e as Error).message).toMatch(\n `Got null response when nullable was not allowed`,\n );\n }\n });\n\n it(\"three dimensional aggregation request/response works\", async () => {\n const clientBoundQueryFunction =\n client(acceptsThreeDimensionalAggregationFunction).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<{\n aggFunction: {\n key: string;\n groups: {\n key: { startValue: string | undefined; endValue: string };\n value: number;\n }[];\n }[];\n }>()\n .toMatchTypeOf<InferredParamType>();\n\n const result = await client(acceptsThreeDimensionalAggregationFunction)\n .executeFunction({\n aggFunction: [\n {\n key: \"testKey1\",\n groups: [\n {\n key: {\n startValue: \"2010-10-01T00:00:00Z\",\n endValue: \"2010-10-02T00:00:00Z\",\n },\n value: 65.0,\n },\n ],\n },\n {\n key: \"testKey2\",\n groups: [],\n },\n ],\n });\n\n expect(result).toEqual([\n {\n key: \"Q-AFN\",\n groups: [\n {\n key: {\n startValue: \"2010-10-01T00:00:00Z\",\n endValue: \"2010-10-02T00:00:00Z\",\n },\n value: 65.0,\n },\n ],\n },\n {\n key: \"Q-AFO\",\n groups: [],\n },\n ]);\n });\n\n it(\"map type request and response works\", async () => {\n const clientBoundQueryFunction =\n client(queryTypeReturnsMap).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<InferredParamType>()\n .toMatchTypeOf<\n { peopleMap: Partial<Record<ObjectSpecifier<Employee>, string>> }\n >();\n\n const myMap: Record<ObjectSpecifier<Employee>, string> = {\n [\"Employee:person1\" as any]: \"hi\",\n };\n const result = await client(queryTypeReturnsMap).executeFunction({\n peopleMap: myMap,\n });\n\n expect(result).toMatchInlineSnapshot(`\n {\n \"Employee:50030\": \"bye\",\n }\n `);\n\n expectTypeOf<typeof result>().toMatchTypeOf<\n Partial<Record<ObjectSpecifier<Employee>, number>>\n >();\n\n const object = await client(Employee).fetchOne(50030);\n\n const value = result[object.$objectSpecifier];\n\n expect(value).toBe(\"bye\");\n });\n\n it(\"accepts and returns objects\", async () => {\n const employeeObjectSet = client(Employee);\n const result = await client(queryAcceptsObjectSets).executeFunction({\n objectSet: employeeObjectSet,\n });\n\n expectTypeOf<ObjectSet<Employee>>().toMatchTypeOf<typeof result>();\n });\n it(\"queries are enumerable\", async () => {\n const queries = Object.keys($Queries);\n expect(queries).toStrictEqual([\n \"acceptsThreeDimensionalAggregationFunction\",\n \"acceptsTwoDimensionalAggregationFunction\",\n \"addOne\",\n \"incrementPersonAge\",\n \"incrementPersonAgeComplex\",\n \"queryAcceptsInterface\",\n \"queryAcceptsInterfaceObjectSet\",\n \"queryAcceptsObject\",\n \"queryAcceptsObjectSets\",\n \"queryOutputsInterface\",\n \"queryTypeReturnsArray\",\n \"queryTypeReturnsMap\",\n \"returnsDate\",\n \"returnsObject\",\n \"returnsTimestamp\",\n \"threeDimensionalAggregationFunction\",\n \"twoDimensionalAggregationFunction\",\n ]);\n });\n\n it(\"queries work with arrays\", async () => {\n const result = await client($Queries.queryTypeReturnsArray).executeFunction(\n { people: [\"Brad\", \"George\", \"Ryan\"] },\n );\n expect(result).toEqual([\"Pitt\", \"Clooney\", \"Reynolds\"]);\n });\n\n it(\"pinned queries call execute with the right version\", async () => {\n const result = await client($Queries.addOne).executeFunction({\n n: 2,\n });\n expect(result).toEqual(3);\n\n const result2 = await client({ ...$Queries.addOne, version: \"0.0.1\" })\n .executeFunction({\n n: 6,\n });\n expect(result2).toEqual(7);\n });\n\n it(\"non-pinned queries call execute with the right version\", async () => {\n // The stubbed data for version 0.0.5 does not exist. This test passes\n // because executeQuery is called without a version and our stubs resolve to latest.\n const result2 = await client({\n ...$Queries.addOne,\n version: \"0.0.5\",\n isFixedVersion: false,\n })\n .executeFunction({\n n: 2,\n });\n expect(result2).toEqual(3);\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"queries.test.js","names":["$Queries","acceptsThreeDimensionalAggregationFunction","acceptsTwoDimensionalAggregationFunction","addOne","Employee","FooInterface","incrementPersonAge","incrementPersonAgeComplex","queryAcceptsInterface","queryAcceptsInterfaceObjectSet","queryAcceptsObject","queryAcceptsObjectSets","queryTypeReturnsArrayOfObjects","queryTypeReturnsMap","returnsDate","returnsTimestamp","threeDimensionalAggregationFunction","twoDimensionalAggregationFunction","LegacyFauxFoundry","startNodeApiServer","beforeAll","describe","expect","expectTypeOf","it","createClient","client","testSetup","apiServer","close","result","executeFunction","n","toBe","toMatchTypeOf","object","$apiName","$primaryKey","toEqual","$objectType","$objectSpecifier","employee","fetchOne","$title","interfaceObject","undefined","os","interfaceObjectSet","employeeObjectSet","objectSet","people","resultWithTimestamp","resultWithDate","person","firstName","lastName","age","toEqualTypeOf","key","value","aggFunction","groups","startValue","endValue","fail","e","message","toMatch","peopleMap","toMatchInlineSnapshot","queries","Object","keys","toStrictEqual","queryTypeReturnsArray","result2","version","isFixedVersion"],"sources":["queries.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectSet, ObjectSpecifier, Osdk, OsdkBase } from \"@osdk/api\";\nimport {\n $Queries,\n acceptsThreeDimensionalAggregationFunction,\n acceptsTwoDimensionalAggregationFunction,\n addOne,\n Employee,\n FooInterface,\n incrementPersonAge,\n incrementPersonAgeComplex,\n queryAcceptsInterface,\n queryAcceptsInterfaceObjectSet,\n queryAcceptsObject,\n queryAcceptsObjectSets,\n queryTypeReturnsArrayOfObjects,\n queryTypeReturnsMap,\n returnsDate,\n returnsTimestamp,\n threeDimensionalAggregationFunction,\n twoDimensionalAggregationFunction,\n} from \"@osdk/client.test.ontology\";\nimport { LegacyFauxFoundry, startNodeApiServer } from \"@osdk/shared.test\";\nimport { beforeAll, describe, expect, expectTypeOf, it } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ndescribe(\"queries\", () => {\n let client: Client;\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);\n ({ client } = testSetup);\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"simple query works\", async () => {\n const result = await client(addOne).executeFunction({ n: 2 });\n expect(result).toBe(3);\n });\n\n describe(\"Queries that accept objects work do not break\", () => {\n it(\"Works when using $apiName, $primaryKey\", async () => {\n const fn = client(queryAcceptsObject).executeFunction;\n type InferredParamType = Parameters<typeof fn>[0];\n expectTypeOf<{\n object: {\n $apiName: \"Employee\";\n $primaryKey: number;\n };\n }>().toMatchTypeOf<InferredParamType>();\n\n const result = await client(queryAcceptsObject).executeFunction({\n object: {\n $apiName: \"Employee\",\n $primaryKey: 50030,\n },\n });\n expect(result).toEqual({\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n });\n });\n\n it(\"Works when using an existing object\", async () => {\n const employee = await client(Employee).fetchOne(\n 50030,\n );\n const result = await client(queryAcceptsObject).executeFunction({\n object: employee,\n });\n expect(result).toEqual({\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n });\n });\n\n it(\"Works when using a primary key\", async () => {\n const result = await client(queryAcceptsObject).executeFunction({\n object: 50030,\n });\n expect(result).toEqual({\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n });\n });\n\n it(\"Works when explicitly typing object with OsdkBase\", async () => {\n /**\n * We do this test because we used to type object parameters with OsdkBase\n */\n const objectQueryParameter = {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n $title: \"Test\",\n $objectSpecifier: \"Employee:50031\" as ObjectSpecifier<Employee>,\n } satisfies OsdkBase<Employee>;\n const result = await client(queryAcceptsObject).executeFunction({\n object: objectQueryParameter,\n });\n expect(result).toEqual({\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n });\n });\n it(\"Works when passing in interfaces\", async () => {\n const clientBoundQueryFunction =\n client(queryAcceptsInterface).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<\n {\n interfaceObject: {\n $objectType: \"Employee\" | \"Person\";\n $primaryKey: string | number;\n };\n }\n >()\n .toMatchTypeOf<InferredParamType>();\n\n expectTypeOf<\n {\n interfaceObject: Osdk.Instance<FooInterface>;\n }\n >()\n .toMatchTypeOf<InferredParamType>();\n\n const result = await client(queryAcceptsInterface).executeFunction({\n interfaceObject: { $objectType: \"Employee\", $primaryKey: 50030 },\n });\n\n expect(result).toEqual({\n $apiName: \"FooInterface\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n $title: undefined,\n });\n });\n\n it(\"Works when passing in interface object sets\", async () => {\n const os = client(FooInterface);\n const result = await client(queryAcceptsInterfaceObjectSet)\n .executeFunction({\n interfaceObjectSet: os,\n });\n\n expect(result).toEqual(50030);\n });\n });\n\n it(\"accepts objectSets\", async () => {\n const employeeObjectSet = client(Employee);\n const result = await client(queryAcceptsObjectSets).executeFunction({\n objectSet: employeeObjectSet,\n });\n\n expectTypeOf<ObjectSet<Employee>>().toMatchTypeOf<typeof result>();\n });\n\n it(\"returns array of objects\", async () => {\n const result = await client(queryTypeReturnsArrayOfObjects).executeFunction(\n {\n people: [\"Brad\", \"George\", \"Ryan\"],\n },\n );\n\n expect(result).toEqual([{\n $apiName: \"Employee\",\n $objectSpecifier: \"Employee:50030\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n $title: undefined,\n }]);\n });\n\n it(\"no params work\", async () => {\n const resultWithTimestamp = await client(returnsTimestamp)\n .executeFunction();\n expect(resultWithTimestamp).toBe(\"2019-01-01T00:00:00.000Z\");\n\n const resultWithDate = await client(returnsDate).executeFunction();\n expect(resultWithDate).toBe(\"2019-01-01\");\n });\n\n it(\"returns and accepts structs property\", async () => {\n const result = await client(incrementPersonAge).executeFunction({\n person: { firstName: \"John\", lastName: \"Doe\", age: 42 },\n });\n expect(result).toEqual({\n firstName: \"John\",\n lastName: \"Doe\",\n age: 43,\n });\n });\n\n it(\"returns and accepts complex structs property\", async () => {\n const employee = await client(Employee).fetchOne(\n 50030,\n );\n const result = await client(incrementPersonAgeComplex).executeFunction({\n person: { firstName: \"John\", lastName: \"Doe\", age: 42, object: employee },\n });\n expect(result).toEqual({\n firstName: \"John\",\n lastName: \"Doe\",\n age: 43,\n object: {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n },\n });\n });\n\n it(\"two dimensional aggregation response works\", async () => {\n const result = await client(twoDimensionalAggregationFunction)\n .executeFunction();\n expectTypeOf<typeof result>().toEqualTypeOf<\n { key: string; value: number }[]\n >;\n expect(result).toEqual([{ key: \"Q-AFN\", value: 1 }, {\n key: \"Q-AFO\",\n value: 2,\n }]);\n });\n\n it(\"two dimensional aggregation request/response works\", async () => {\n const clientBoundQueryFunction =\n client(acceptsTwoDimensionalAggregationFunction).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<{ aggFunction: { key: string; value: number }[] }>()\n .toMatchTypeOf<InferredParamType>();\n\n const result = await client(acceptsTwoDimensionalAggregationFunction)\n .executeFunction({\n aggFunction: [\n {\n key: \"testKey1\",\n value: 1,\n },\n {\n key: \"testKey2\",\n value: 2,\n },\n ],\n });\n expectTypeOf<typeof result>().toEqualTypeOf<\n { key: string; value: number }[]\n >;\n\n expect(result).toEqual([{ key: \"responseKey1\", value: 3 }, {\n key: \"responseKey2\",\n value: 4,\n }]);\n });\n\n it(\"three dimensional aggregation response works\", async () => {\n const result = await client(threeDimensionalAggregationFunction)\n .executeFunction();\n\n expectTypeOf<typeof result>().toEqualTypeOf<\n {\n key: string;\n groups: {\n key: { startValue: string | undefined; endValue: string | undefined };\n value: number;\n }[];\n }[]\n >;\n expect(result).toEqual([{\n key: \"Q-AFN\",\n groups: [{\n key: {\n startValue: \"2010-10-01T00:00:00Z\",\n endValue: \"2010-10-02T00:00:00Z\",\n },\n value: 65.0,\n }],\n }, { key: \"Q-AFO\", groups: [] }]);\n });\n\n it(\"throws when response is null and response is non-nullable\", async () => {\n try {\n const result = await client(addOne).executeFunction({ n: 3 });\n expect.fail(\"Should not reach here\");\n } catch (e) {\n expect((e as Error).message).toMatch(\n `Got null response when nullable was not allowed`,\n );\n }\n });\n\n it(\"three dimensional aggregation request/response works\", async () => {\n const clientBoundQueryFunction =\n client(acceptsThreeDimensionalAggregationFunction).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<{\n aggFunction: {\n key: string;\n groups: {\n key: { startValue: string | undefined; endValue: string };\n value: number;\n }[];\n }[];\n }>()\n .toMatchTypeOf<InferredParamType>();\n\n const result = await client(acceptsThreeDimensionalAggregationFunction)\n .executeFunction({\n aggFunction: [\n {\n key: \"testKey1\",\n groups: [\n {\n key: {\n startValue: \"2010-10-01T00:00:00Z\",\n endValue: \"2010-10-02T00:00:00Z\",\n },\n value: 65.0,\n },\n ],\n },\n {\n key: \"testKey2\",\n groups: [],\n },\n ],\n });\n\n expect(result).toEqual([\n {\n key: \"Q-AFN\",\n groups: [\n {\n key: {\n startValue: \"2010-10-01T00:00:00Z\",\n endValue: \"2010-10-02T00:00:00Z\",\n },\n value: 65.0,\n },\n ],\n },\n {\n key: \"Q-AFO\",\n groups: [],\n },\n ]);\n });\n\n it(\"map type request and response works\", async () => {\n const clientBoundQueryFunction =\n client(queryTypeReturnsMap).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<InferredParamType>()\n .toMatchTypeOf<\n { peopleMap: Partial<Record<ObjectSpecifier<Employee>, string>> }\n >();\n\n const myMap: Record<ObjectSpecifier<Employee>, string> = {\n [\"Employee:person1\" as any]: \"hi\",\n };\n const result = await client(queryTypeReturnsMap).executeFunction({\n peopleMap: myMap,\n });\n\n expect(result).toMatchInlineSnapshot(`\n {\n \"Employee:50030\": \"bye\",\n }\n `);\n\n expectTypeOf<typeof result>().toMatchTypeOf<\n Partial<Record<ObjectSpecifier<Employee>, number>>\n >();\n\n const object = await client(Employee).fetchOne(50030);\n\n const value = result[object.$objectSpecifier];\n\n expect(value).toBe(\"bye\");\n });\n\n it(\"accepts and returns objects\", async () => {\n const employeeObjectSet = client(Employee);\n const result = await client(queryAcceptsObjectSets).executeFunction({\n objectSet: employeeObjectSet,\n });\n\n expectTypeOf<ObjectSet<Employee>>().toMatchTypeOf<typeof result>();\n });\n it(\"queries are enumerable\", async () => {\n const queries = Object.keys($Queries);\n expect(queries).toStrictEqual([\n \"acceptsThreeDimensionalAggregationFunction\",\n \"acceptsTwoDimensionalAggregationFunction\",\n \"addOne\",\n \"incrementPersonAge\",\n \"incrementPersonAgeComplex\",\n \"queryAcceptsInterface\",\n \"queryAcceptsInterfaceObjectSet\",\n \"queryAcceptsObject\",\n \"queryAcceptsObjectSets\",\n \"queryOutputsInterface\",\n \"queryTypeReturnsArray\",\n \"queryTypeReturnsArrayOfObjects\",\n \"queryTypeReturnsMap\",\n \"returnsDate\",\n \"returnsObject\",\n \"returnsTimestamp\",\n \"threeDimensionalAggregationFunction\",\n \"twoDimensionalAggregationFunction\",\n ]);\n });\n\n it(\"queries work with arrays\", async () => {\n const result = await client($Queries.queryTypeReturnsArray).executeFunction(\n { people: [\"Brad\", \"George\", \"Ryan\"] },\n );\n expect(result).toEqual([\"Pitt\", \"Clooney\", \"Reynolds\"]);\n });\n\n it(\"pinned queries call execute with the right version\", async () => {\n const result = await client($Queries.addOne).executeFunction({\n n: 2,\n });\n expect(result).toEqual(3);\n\n const result2 = await client({ ...$Queries.addOne, version: \"0.0.1\" })\n .executeFunction({\n n: 6,\n });\n expect(result2).toEqual(7);\n });\n\n it(\"non-pinned queries call execute with the right version\", async () => {\n // The stubbed data for version 0.0.5 does not exist. This test passes\n // because executeQuery is called without a version and our stubs resolve to latest.\n const result2 = await client({\n ...$Queries.addOne,\n version: \"0.0.5\",\n isFixedVersion: false,\n })\n .executeFunction({\n n: 2,\n });\n expect(result2).toEqual(3);\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- export const USER_AGENT = `osdk-client/${"2.7.0-beta.1"}`;
18
- export const OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.7.0-beta.1"}`;
17
+ export const USER_AGENT = `osdk-client/${"2.7.0-beta.11"}`;
18
+ export const OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.7.0-beta.11"}`;
19
19
  //# sourceMappingURL=UserAgent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserAgent.js","names":["USER_AGENT","OBSERVABLE_USER_AGENT"],"sources":["UserAgent.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const USER_AGENT: string = `osdk-client/${process.env.PACKAGE_VERSION}`;\nexport const OBSERVABLE_USER_AGENT: string =\n `osdk-observable-client/${process.env.PACKAGE_VERSION}`;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,UAAkB,GAAG,+BAA4C;AAC9E,OAAO,MAAMC,qBAA6B,GACxC,0CAAuD","ignoreList":[]}
1
+ {"version":3,"file":"UserAgent.js","names":["USER_AGENT","OBSERVABLE_USER_AGENT"],"sources":["UserAgent.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const USER_AGENT: string = `osdk-client/${process.env.PACKAGE_VERSION}`;\nexport const OBSERVABLE_USER_AGENT: string =\n `osdk-observable-client/${process.env.PACKAGE_VERSION}`;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,UAAkB,GAAG,gCAA4C;AAC9E,OAAO,MAAMC,qBAA6B,GACxC,2CAAuD","ignoreList":[]}
@@ -14,7 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { NULL_VALUE } from "@osdk/api";
18
17
  import { MediaSets } from "@osdk/foundry.mediasets";
19
18
  import * as OntologiesV2 from "@osdk/foundry.ontologies";
20
19
  import { isAttachmentFile, isAttachmentUpload } from "../object/AttachmentUpload.js";
@@ -36,12 +35,8 @@ export async function toDataValue(value, client, actionMetadata) {
36
35
  if (value == null) {
37
36
  // typeof null is 'object' so do this first
38
37
  // Sending null over the wire clears the data, whereas undefined is dropped at request time.
39
- // Null values are not allowed with OSDK types, but leaving here as an override.
40
38
  return value;
41
39
  }
42
- if (value === NULL_VALUE) {
43
- return null;
44
- }
45
40
 
46
41
  // arrays and sets are both sent over the wire as arrays
47
42
  if (Array.isArray(value) || value instanceof Set) {