@osdk/client 2.6.0-beta.1 → 2.6.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 (456) hide show
  1. package/CHANGELOG.md +134 -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/createClient.js +1 -1
  6. package/build/browser/createClient.js.map +1 -1
  7. package/build/browser/createClient.test.js +19 -1
  8. package/build/browser/createClient.test.js.map +1 -1
  9. package/build/browser/createMinimalClient.js +1 -1
  10. package/build/browser/createMinimalClient.js.map +1 -1
  11. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js +2 -1
  12. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  13. package/build/browser/fetchMetadata.test.js +11 -0
  14. package/build/browser/fetchMetadata.test.js.map +1 -1
  15. package/build/browser/index.js.map +1 -1
  16. package/build/browser/internal/conversions/extractNamespace.js +22 -0
  17. package/build/browser/internal/conversions/extractNamespace.js.map +1 -0
  18. package/build/browser/internal/conversions/fullyQualifyPropName.js +26 -0
  19. package/build/browser/internal/conversions/fullyQualifyPropName.js.map +1 -0
  20. package/build/browser/internal/conversions/makeGeoFilterBbox.js +41 -0
  21. package/build/browser/internal/conversions/makeGeoFilterBbox.js.map +1 -0
  22. package/build/browser/internal/conversions/makeGeoFilterIntersects.js +29 -0
  23. package/build/browser/internal/conversions/makeGeoFilterIntersects.js.map +1 -0
  24. package/build/browser/internal/conversions/makeGeoFilterPolygon.js +30 -0
  25. package/build/browser/internal/conversions/makeGeoFilterPolygon.js.map +1 -0
  26. package/build/browser/internal/conversions/makeGeoFilterWithin.js +48 -0
  27. package/build/browser/internal/conversions/makeGeoFilterWithin.js.map +1 -0
  28. package/build/browser/internal/conversions/modernToLegacyWhereClause.js +59 -105
  29. package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  30. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +309 -0
  31. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  32. package/build/browser/object/aggregate.js +2 -1
  33. package/build/browser/object/aggregate.js.map +1 -1
  34. package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
  35. package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  36. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +5 -1
  37. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  38. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +10 -0
  39. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  40. package/build/browser/object/convertWireToOsdkObjects.test.js +12 -0
  41. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  42. package/build/browser/object/fetchPage.js +7 -4
  43. package/build/browser/object/fetchPage.js.map +1 -1
  44. package/build/browser/object/formatting/applyPropertyFormatter.js +58 -0
  45. package/build/browser/object/formatting/applyPropertyFormatter.js.map +1 -0
  46. package/build/browser/object/formatting/applyPropertyFormatter.test.js +726 -0
  47. package/build/browser/object/formatting/applyPropertyFormatter.test.js.map +1 -0
  48. package/build/browser/object/formatting/formatBoolean.js +23 -0
  49. package/build/browser/object/formatting/formatBoolean.js.map +1 -0
  50. package/build/browser/object/formatting/formatDateTime.js +158 -0
  51. package/build/browser/object/formatting/formatDateTime.js.map +1 -0
  52. package/build/browser/object/formatting/formatNumber.js +242 -0
  53. package/build/browser/object/formatting/formatNumber.js.map +1 -0
  54. package/build/browser/object/formatting/propertyFormattingUtils.js +39 -0
  55. package/build/browser/object/formatting/propertyFormattingUtils.js.map +1 -0
  56. package/build/browser/object/mediaUpload.js +1 -1
  57. package/build/browser/object/mediaUpload.js.map +1 -1
  58. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +17 -0
  59. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  60. package/build/browser/observable/ObservableClient.js.map +1 -1
  61. package/build/browser/observable/internal/BulkObjectLoader.js +12 -4
  62. package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -1
  63. package/build/browser/observable/internal/BulkObjectLoader.test.js +48 -0
  64. package/build/browser/observable/internal/BulkObjectLoader.test.js.map +1 -1
  65. package/build/browser/observable/internal/CacheKeys.js +9 -3
  66. package/build/browser/observable/internal/CacheKeys.js.map +1 -1
  67. package/build/browser/observable/internal/Canonicalizer.js +51 -0
  68. package/build/browser/observable/internal/Canonicalizer.js.map +1 -0
  69. package/build/browser/observable/internal/Changes.js.map +1 -1
  70. package/build/browser/observable/internal/IntersectCanonicalizer.js +35 -0
  71. package/build/browser/observable/internal/IntersectCanonicalizer.js.map +1 -0
  72. package/build/browser/observable/internal/KnownCacheKey.js.map +1 -1
  73. package/build/browser/observable/internal/ObservableClientImpl.js +3 -0
  74. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  75. package/build/browser/observable/internal/OrderByCanonicalizer.js +1 -4
  76. package/build/browser/observable/internal/OrderByCanonicalizer.js.map +1 -1
  77. package/build/browser/observable/internal/PivotCanonicalizer.js +33 -0
  78. package/build/browser/observable/internal/PivotCanonicalizer.js.map +1 -0
  79. package/build/browser/observable/internal/RdpCanonicalizer.js +66 -0
  80. package/build/browser/observable/internal/RdpCanonicalizer.js.map +1 -0
  81. package/build/browser/observable/internal/RdpCanonicalizer.test.js +68 -0
  82. package/build/browser/observable/internal/RdpCanonicalizer.test.js.map +1 -0
  83. package/build/browser/observable/internal/SimpleWhereClause.js.map +1 -1
  84. package/build/browser/observable/internal/Store.js +172 -6
  85. package/build/browser/observable/internal/Store.js.map +1 -1
  86. package/build/browser/observable/internal/WhereClauseCanonicalizer.js +1 -1
  87. package/build/browser/observable/internal/WhereClauseCanonicalizer.js.map +1 -1
  88. package/build/browser/observable/internal/actions/ActionApplication.js +1 -1
  89. package/build/browser/observable/internal/actions/ActionApplication.js.map +1 -1
  90. package/build/browser/observable/internal/actions/OptimisticJob.js +3 -3
  91. package/build/browser/observable/internal/actions/OptimisticJob.js.map +1 -1
  92. package/build/browser/observable/internal/aggregation/AggregationCacheKey.js +22 -0
  93. package/build/browser/observable/internal/aggregation/AggregationCacheKey.js.map +1 -0
  94. package/build/browser/observable/internal/aggregation/AggregationQuery.js +77 -0
  95. package/build/browser/observable/internal/aggregation/AggregationQuery.js.map +1 -0
  96. package/build/browser/observable/internal/aggregation/AggregationsHelper.js +54 -0
  97. package/build/browser/observable/internal/aggregation/AggregationsHelper.js.map +1 -0
  98. package/build/browser/observable/internal/aggregation/ObjectAggregationQuery.js +33 -0
  99. package/build/browser/observable/internal/aggregation/ObjectAggregationQuery.js.map +1 -0
  100. package/build/browser/observable/internal/base-list/BaseListQuery.js +148 -6
  101. package/build/browser/observable/internal/base-list/BaseListQuery.js.map +1 -1
  102. package/build/browser/observable/internal/base-list/createCollectionConnectable.js +0 -5
  103. package/build/browser/observable/internal/base-list/createCollectionConnectable.js.map +1 -1
  104. package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js +26 -13
  105. package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -1
  106. package/build/browser/observable/internal/evaluateFilter.js +61 -0
  107. package/build/browser/observable/internal/evaluateFilter.js.map +1 -0
  108. package/build/browser/observable/internal/links/SpecificLinkCacheKey.js +33 -1
  109. package/build/browser/observable/internal/links/SpecificLinkCacheKey.js.map +1 -1
  110. package/build/browser/observable/internal/list/InterfaceListQuery.js +8 -3
  111. package/build/browser/observable/internal/list/InterfaceListQuery.js.map +1 -1
  112. package/build/browser/observable/internal/list/ListCacheKey.js +24 -1
  113. package/build/browser/observable/internal/list/ListCacheKey.js.map +1 -1
  114. package/build/browser/observable/internal/list/ListQuery.js +42 -64
  115. package/build/browser/observable/internal/list/ListQuery.js.map +1 -1
  116. package/build/browser/observable/internal/list/ListQuery.test.js +243 -0
  117. package/build/browser/observable/internal/list/ListQuery.test.js.map +1 -0
  118. package/build/browser/observable/internal/list/ListQueryOptions.js.map +1 -1
  119. package/build/browser/observable/internal/list/ListsHelper.js +18 -8
  120. package/build/browser/observable/internal/list/ListsHelper.js.map +1 -1
  121. package/build/browser/observable/internal/list/ObjectListQuery.js +51 -3
  122. package/build/browser/observable/internal/list/ObjectListQuery.js.map +1 -1
  123. package/build/browser/observable/internal/object/ObjectCacheKey.js +20 -1
  124. package/build/browser/observable/internal/object/ObjectCacheKey.js.map +1 -1
  125. package/build/browser/observable/internal/object/ObjectCacheKeyRegistry.js +126 -0
  126. package/build/browser/observable/internal/object/ObjectCacheKeyRegistry.js.map +1 -0
  127. package/build/browser/observable/internal/object/ObjectCacheKeyRegistry.test.js +173 -0
  128. package/build/browser/observable/internal/object/ObjectCacheKeyRegistry.test.js.map +1 -0
  129. package/build/browser/observable/internal/object/ObjectQuery.js +10 -58
  130. package/build/browser/observable/internal/object/ObjectQuery.js.map +1 -1
  131. package/build/browser/observable/internal/object/ObjectsHelper.js +65 -5
  132. package/build/browser/observable/internal/object/ObjectsHelper.js.map +1 -1
  133. package/build/browser/observable/internal/objectMatchesWhereClause.js +3 -37
  134. package/build/browser/observable/internal/objectMatchesWhereClause.js.map +1 -1
  135. package/build/browser/observable/internal/objectset/ObjectSetHelper.js +5 -1
  136. package/build/browser/observable/internal/objectset/ObjectSetHelper.js.map +1 -1
  137. package/build/browser/observable/internal/objectset/ObjectSetQuery.js +10 -1
  138. package/build/browser/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  139. package/build/browser/observable/internal/objectset/ObjectSetQueryOptions.js.map +1 -1
  140. package/build/browser/observable/internal/testUtils/invalidateList.js +6 -1
  141. package/build/browser/observable/internal/testUtils/invalidateList.js.map +1 -1
  142. package/build/browser/observable/internal/testUtils.js +5 -2
  143. package/build/browser/observable/internal/testUtils.js.map +1 -1
  144. package/build/browser/observable/internal/types/ObjectUpdate.js +2 -0
  145. package/build/browser/observable/internal/types/ObjectUpdate.js.map +1 -0
  146. package/build/browser/observable/internal/utils/rdpFieldOperations.js +83 -0
  147. package/build/browser/observable/internal/utils/rdpFieldOperations.js.map +1 -0
  148. package/build/browser/public/internal-node.js +18 -0
  149. package/build/browser/public/internal-node.js.map +1 -0
  150. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  151. package/build/browser/queries/applyQuery.js +2 -0
  152. package/build/browser/queries/applyQuery.js.map +1 -1
  153. package/build/browser/util/UserAgent.js +2 -2
  154. package/build/browser/util/UserAgent.js.map +1 -1
  155. package/build/browser/util/toDataValue.js +3 -2
  156. package/build/browser/util/toDataValue.js.map +1 -1
  157. package/build/browser/util/toDataValue.test.js +1 -1
  158. package/build/browser/util/toDataValue.test.js.map +1 -1
  159. package/build/browser/util/toDataValueQueries.js +2 -2
  160. package/build/browser/util/toDataValueQueries.js.map +1 -1
  161. package/build/cjs/chunk-6SCDLAU2.cjs +57 -0
  162. package/build/cjs/chunk-6SCDLAU2.cjs.map +1 -0
  163. package/build/cjs/{chunk-DCEFUXFS.cjs → chunk-RO7XAQOS.cjs} +421 -246
  164. package/build/cjs/chunk-RO7XAQOS.cjs.map +1 -0
  165. package/build/cjs/{chunk-BP7BR5FZ.cjs → chunk-VGO7XU6T.cjs} +610 -71
  166. package/build/cjs/chunk-VGO7XU6T.cjs.map +1 -0
  167. package/build/cjs/{delay-QK4T7RVX.cjs → delay-KIUUJ5NJ.cjs} +4 -3
  168. package/build/cjs/delay-KIUUJ5NJ.cjs.map +1 -0
  169. package/build/cjs/index.cjs +17 -9
  170. package/build/cjs/index.cjs.map +1 -1
  171. package/build/cjs/index.d.cts +1 -1
  172. package/build/cjs/public/internal-node.cjs +193767 -0
  173. package/build/cjs/public/internal-node.cjs.map +1 -0
  174. package/build/cjs/public/internal-node.d.cts +29 -0
  175. package/build/cjs/public/internal.cjs +16 -9
  176. package/build/cjs/public/internal.cjs.map +1 -1
  177. package/build/cjs/public/unstable-do-not-use.cjs +1751 -869
  178. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  179. package/build/cjs/public/unstable-do-not-use.d.cts +73 -6
  180. package/build/esm/Client.js +1 -1
  181. package/build/esm/Client.js.map +1 -1
  182. package/build/esm/MinimalClientContext.js.map +1 -1
  183. package/build/esm/createClient.js +1 -1
  184. package/build/esm/createClient.js.map +1 -1
  185. package/build/esm/createClient.test.js +19 -1
  186. package/build/esm/createClient.test.js.map +1 -1
  187. package/build/esm/createMinimalClient.js +1 -1
  188. package/build/esm/createMinimalClient.js.map +1 -1
  189. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js +2 -1
  190. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  191. package/build/esm/fetchMetadata.test.js +11 -0
  192. package/build/esm/fetchMetadata.test.js.map +1 -1
  193. package/build/esm/index.js.map +1 -1
  194. package/build/esm/internal/conversions/extractNamespace.js +22 -0
  195. package/build/esm/internal/conversions/extractNamespace.js.map +1 -0
  196. package/build/esm/internal/conversions/fullyQualifyPropName.js +26 -0
  197. package/build/esm/internal/conversions/fullyQualifyPropName.js.map +1 -0
  198. package/build/esm/internal/conversions/makeGeoFilterBbox.js +41 -0
  199. package/build/esm/internal/conversions/makeGeoFilterBbox.js.map +1 -0
  200. package/build/esm/internal/conversions/makeGeoFilterIntersects.js +29 -0
  201. package/build/esm/internal/conversions/makeGeoFilterIntersects.js.map +1 -0
  202. package/build/esm/internal/conversions/makeGeoFilterPolygon.js +30 -0
  203. package/build/esm/internal/conversions/makeGeoFilterPolygon.js.map +1 -0
  204. package/build/esm/internal/conversions/makeGeoFilterWithin.js +48 -0
  205. package/build/esm/internal/conversions/makeGeoFilterWithin.js.map +1 -0
  206. package/build/esm/internal/conversions/modernToLegacyWhereClause.js +59 -105
  207. package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
  208. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +309 -0
  209. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  210. package/build/esm/object/aggregate.js +2 -1
  211. package/build/esm/object/aggregate.js.map +1 -1
  212. package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
  213. package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
  214. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +5 -1
  215. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  216. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +10 -0
  217. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  218. package/build/esm/object/convertWireToOsdkObjects.test.js +12 -0
  219. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  220. package/build/esm/object/fetchPage.js +7 -4
  221. package/build/esm/object/fetchPage.js.map +1 -1
  222. package/build/esm/object/formatting/applyPropertyFormatter.js +58 -0
  223. package/build/esm/object/formatting/applyPropertyFormatter.js.map +1 -0
  224. package/build/esm/object/formatting/applyPropertyFormatter.test.js +726 -0
  225. package/build/esm/object/formatting/applyPropertyFormatter.test.js.map +1 -0
  226. package/build/esm/object/formatting/formatBoolean.js +23 -0
  227. package/build/esm/object/formatting/formatBoolean.js.map +1 -0
  228. package/build/esm/object/formatting/formatDateTime.js +158 -0
  229. package/build/esm/object/formatting/formatDateTime.js.map +1 -0
  230. package/build/esm/object/formatting/formatNumber.js +242 -0
  231. package/build/esm/object/formatting/formatNumber.js.map +1 -0
  232. package/build/esm/object/formatting/propertyFormattingUtils.js +39 -0
  233. package/build/esm/object/formatting/propertyFormattingUtils.js.map +1 -0
  234. package/build/esm/object/mediaUpload.js +1 -1
  235. package/build/esm/object/mediaUpload.js.map +1 -1
  236. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +17 -0
  237. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  238. package/build/esm/observable/ObservableClient.js.map +1 -1
  239. package/build/esm/observable/internal/BulkObjectLoader.js +12 -4
  240. package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -1
  241. package/build/esm/observable/internal/BulkObjectLoader.test.js +48 -0
  242. package/build/esm/observable/internal/BulkObjectLoader.test.js.map +1 -1
  243. package/build/esm/observable/internal/CacheKeys.js +9 -3
  244. package/build/esm/observable/internal/CacheKeys.js.map +1 -1
  245. package/build/esm/observable/internal/Canonicalizer.js +51 -0
  246. package/build/esm/observable/internal/Canonicalizer.js.map +1 -0
  247. package/build/esm/observable/internal/Changes.js.map +1 -1
  248. package/build/esm/observable/internal/IntersectCanonicalizer.js +35 -0
  249. package/build/esm/observable/internal/IntersectCanonicalizer.js.map +1 -0
  250. package/build/esm/observable/internal/KnownCacheKey.js.map +1 -1
  251. package/build/esm/observable/internal/ObservableClientImpl.js +3 -0
  252. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  253. package/build/esm/observable/internal/OrderByCanonicalizer.js +1 -4
  254. package/build/esm/observable/internal/OrderByCanonicalizer.js.map +1 -1
  255. package/build/esm/observable/internal/PivotCanonicalizer.js +33 -0
  256. package/build/esm/observable/internal/PivotCanonicalizer.js.map +1 -0
  257. package/build/esm/observable/internal/RdpCanonicalizer.js +66 -0
  258. package/build/esm/observable/internal/RdpCanonicalizer.js.map +1 -0
  259. package/build/esm/observable/internal/RdpCanonicalizer.test.js +68 -0
  260. package/build/esm/observable/internal/RdpCanonicalizer.test.js.map +1 -0
  261. package/build/esm/observable/internal/SimpleWhereClause.js.map +1 -1
  262. package/build/esm/observable/internal/Store.js +172 -6
  263. package/build/esm/observable/internal/Store.js.map +1 -1
  264. package/build/esm/observable/internal/WhereClauseCanonicalizer.js +1 -1
  265. package/build/esm/observable/internal/WhereClauseCanonicalizer.js.map +1 -1
  266. package/build/esm/observable/internal/actions/ActionApplication.js +1 -1
  267. package/build/esm/observable/internal/actions/ActionApplication.js.map +1 -1
  268. package/build/esm/observable/internal/actions/OptimisticJob.js +3 -3
  269. package/build/esm/observable/internal/actions/OptimisticJob.js.map +1 -1
  270. package/build/esm/observable/internal/aggregation/AggregationCacheKey.js +22 -0
  271. package/build/esm/observable/internal/aggregation/AggregationCacheKey.js.map +1 -0
  272. package/build/esm/observable/internal/aggregation/AggregationQuery.js +77 -0
  273. package/build/esm/observable/internal/aggregation/AggregationQuery.js.map +1 -0
  274. package/build/esm/observable/internal/aggregation/AggregationsHelper.js +54 -0
  275. package/build/esm/observable/internal/aggregation/AggregationsHelper.js.map +1 -0
  276. package/build/esm/observable/internal/aggregation/ObjectAggregationQuery.js +33 -0
  277. package/build/esm/observable/internal/aggregation/ObjectAggregationQuery.js.map +1 -0
  278. package/build/esm/observable/internal/base-list/BaseListQuery.js +148 -6
  279. package/build/esm/observable/internal/base-list/BaseListQuery.js.map +1 -1
  280. package/build/esm/observable/internal/base-list/createCollectionConnectable.js +0 -5
  281. package/build/esm/observable/internal/base-list/createCollectionConnectable.js.map +1 -1
  282. package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js +26 -13
  283. package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -1
  284. package/build/esm/observable/internal/evaluateFilter.js +61 -0
  285. package/build/esm/observable/internal/evaluateFilter.js.map +1 -0
  286. package/build/esm/observable/internal/links/SpecificLinkCacheKey.js +33 -1
  287. package/build/esm/observable/internal/links/SpecificLinkCacheKey.js.map +1 -1
  288. package/build/esm/observable/internal/list/InterfaceListQuery.js +8 -3
  289. package/build/esm/observable/internal/list/InterfaceListQuery.js.map +1 -1
  290. package/build/esm/observable/internal/list/ListCacheKey.js +24 -1
  291. package/build/esm/observable/internal/list/ListCacheKey.js.map +1 -1
  292. package/build/esm/observable/internal/list/ListQuery.js +42 -64
  293. package/build/esm/observable/internal/list/ListQuery.js.map +1 -1
  294. package/build/esm/observable/internal/list/ListQuery.test.js +243 -0
  295. package/build/esm/observable/internal/list/ListQuery.test.js.map +1 -0
  296. package/build/esm/observable/internal/list/ListQueryOptions.js.map +1 -1
  297. package/build/esm/observable/internal/list/ListsHelper.js +18 -8
  298. package/build/esm/observable/internal/list/ListsHelper.js.map +1 -1
  299. package/build/esm/observable/internal/list/ObjectListQuery.js +51 -3
  300. package/build/esm/observable/internal/list/ObjectListQuery.js.map +1 -1
  301. package/build/esm/observable/internal/object/ObjectCacheKey.js +20 -1
  302. package/build/esm/observable/internal/object/ObjectCacheKey.js.map +1 -1
  303. package/build/esm/observable/internal/object/ObjectCacheKeyRegistry.js +126 -0
  304. package/build/esm/observable/internal/object/ObjectCacheKeyRegistry.js.map +1 -0
  305. package/build/esm/observable/internal/object/ObjectCacheKeyRegistry.test.js +173 -0
  306. package/build/esm/observable/internal/object/ObjectCacheKeyRegistry.test.js.map +1 -0
  307. package/build/esm/observable/internal/object/ObjectQuery.js +10 -58
  308. package/build/esm/observable/internal/object/ObjectQuery.js.map +1 -1
  309. package/build/esm/observable/internal/object/ObjectsHelper.js +65 -5
  310. package/build/esm/observable/internal/object/ObjectsHelper.js.map +1 -1
  311. package/build/esm/observable/internal/objectMatchesWhereClause.js +3 -37
  312. package/build/esm/observable/internal/objectMatchesWhereClause.js.map +1 -1
  313. package/build/esm/observable/internal/objectset/ObjectSetHelper.js +5 -1
  314. package/build/esm/observable/internal/objectset/ObjectSetHelper.js.map +1 -1
  315. package/build/esm/observable/internal/objectset/ObjectSetQuery.js +10 -1
  316. package/build/esm/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
  317. package/build/esm/observable/internal/objectset/ObjectSetQueryOptions.js.map +1 -1
  318. package/build/esm/observable/internal/testUtils/invalidateList.js +6 -1
  319. package/build/esm/observable/internal/testUtils/invalidateList.js.map +1 -1
  320. package/build/esm/observable/internal/testUtils.js +5 -2
  321. package/build/esm/observable/internal/testUtils.js.map +1 -1
  322. package/build/esm/observable/internal/types/ObjectUpdate.js +2 -0
  323. package/build/esm/observable/internal/types/ObjectUpdate.js.map +1 -0
  324. package/build/esm/observable/internal/utils/rdpFieldOperations.js +83 -0
  325. package/build/esm/observable/internal/utils/rdpFieldOperations.js.map +1 -0
  326. package/build/esm/public/internal-node.js +18 -0
  327. package/build/esm/public/internal-node.js.map +1 -0
  328. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  329. package/build/esm/queries/applyQuery.js +2 -0
  330. package/build/esm/queries/applyQuery.js.map +1 -1
  331. package/build/esm/util/UserAgent.js +2 -2
  332. package/build/esm/util/UserAgent.js.map +1 -1
  333. package/build/esm/util/toDataValue.js +3 -2
  334. package/build/esm/util/toDataValue.js.map +1 -1
  335. package/build/esm/util/toDataValue.test.js +1 -1
  336. package/build/esm/util/toDataValue.test.js.map +1 -1
  337. package/build/esm/util/toDataValueQueries.js +2 -2
  338. package/build/esm/util/toDataValueQueries.js.map +1 -1
  339. package/build/types/Client.d.ts +1 -1
  340. package/build/types/MinimalClientContext.d.ts +1 -1
  341. package/build/types/index.d.ts +1 -1
  342. package/build/types/index.d.ts.map +1 -1
  343. package/build/types/internal/conversions/extractNamespace.d.ts +1 -0
  344. package/build/types/internal/conversions/extractNamespace.d.ts.map +1 -0
  345. package/build/types/internal/conversions/fullyQualifyPropName.d.ts +2 -0
  346. package/build/types/internal/conversions/fullyQualifyPropName.d.ts.map +1 -0
  347. package/build/types/internal/conversions/makeGeoFilterBbox.d.ts +3 -0
  348. package/build/types/internal/conversions/makeGeoFilterBbox.d.ts.map +1 -0
  349. package/build/types/internal/conversions/makeGeoFilterIntersects.d.ts +3 -0
  350. package/build/types/internal/conversions/makeGeoFilterIntersects.d.ts.map +1 -0
  351. package/build/types/internal/conversions/makeGeoFilterPolygon.d.ts +3 -0
  352. package/build/types/internal/conversions/makeGeoFilterPolygon.d.ts.map +1 -0
  353. package/build/types/internal/conversions/makeGeoFilterWithin.d.ts +3 -0
  354. package/build/types/internal/conversions/makeGeoFilterWithin.d.ts.map +1 -0
  355. package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts +1 -1
  356. package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts.map +1 -1
  357. package/build/types/object/formatting/applyPropertyFormatter.d.ts +18 -0
  358. package/build/types/object/formatting/applyPropertyFormatter.d.ts.map +1 -0
  359. package/build/types/object/formatting/applyPropertyFormatter.test.d.ts +1 -0
  360. package/build/types/object/formatting/applyPropertyFormatter.test.d.ts.map +1 -0
  361. package/build/types/object/formatting/formatBoolean.d.ts +5 -0
  362. package/build/types/object/formatting/formatBoolean.d.ts.map +1 -0
  363. package/build/types/object/formatting/formatDateTime.d.ts +6 -0
  364. package/build/types/object/formatting/formatDateTime.d.ts.map +1 -0
  365. package/build/types/object/formatting/formatNumber.d.ts +15 -0
  366. package/build/types/object/formatting/formatNumber.d.ts.map +1 -0
  367. package/build/types/object/formatting/propertyFormattingUtils.d.ts +10 -0
  368. package/build/types/object/formatting/propertyFormattingUtils.d.ts.map +1 -0
  369. package/build/types/observable/ObservableClient.d.ts +76 -5
  370. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  371. package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -1
  372. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -1
  373. package/build/types/observable/internal/Canonicalizer.d.ts +37 -0
  374. package/build/types/observable/internal/Canonicalizer.d.ts.map +1 -0
  375. package/build/types/observable/internal/Changes.d.ts +4 -3
  376. package/build/types/observable/internal/Changes.d.ts.map +1 -1
  377. package/build/types/observable/internal/IntersectCanonicalizer.d.ts +18 -0
  378. package/build/types/observable/internal/IntersectCanonicalizer.d.ts.map +1 -0
  379. package/build/types/observable/internal/KnownCacheKey.d.ts +2 -1
  380. package/build/types/observable/internal/KnownCacheKey.d.ts.map +1 -1
  381. package/build/types/observable/internal/OrderByCanonicalizer.d.ts.map +1 -1
  382. package/build/types/observable/internal/PivotCanonicalizer.d.ts +10 -0
  383. package/build/types/observable/internal/PivotCanonicalizer.d.ts.map +1 -0
  384. package/build/types/observable/internal/RdpCanonicalizer.d.ts +8 -0
  385. package/build/types/observable/internal/RdpCanonicalizer.d.ts.map +1 -0
  386. package/build/types/observable/internal/RdpCanonicalizer.test.d.ts +1 -0
  387. package/build/types/observable/internal/RdpCanonicalizer.test.d.ts.map +1 -0
  388. package/build/types/observable/internal/SimpleWhereClause.d.ts +6 -2
  389. package/build/types/observable/internal/SimpleWhereClause.d.ts.map +1 -1
  390. package/build/types/observable/internal/Store.d.ts +10 -0
  391. package/build/types/observable/internal/Store.d.ts.map +1 -1
  392. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts +5 -2
  393. package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts.map +1 -1
  394. package/build/types/observable/internal/actions/ActionApplication.d.ts.map +1 -1
  395. package/build/types/observable/internal/aggregation/AggregationCacheKey.d.ts +12 -0
  396. package/build/types/observable/internal/aggregation/AggregationCacheKey.d.ts.map +1 -0
  397. package/build/types/observable/internal/aggregation/AggregationQuery.d.ts +49 -0
  398. package/build/types/observable/internal/aggregation/AggregationQuery.d.ts.map +1 -0
  399. package/build/types/observable/internal/aggregation/AggregationsHelper.d.ts +37 -0
  400. package/build/types/observable/internal/aggregation/AggregationsHelper.d.ts.map +1 -0
  401. package/build/types/observable/internal/aggregation/ObjectAggregationQuery.d.ts +5 -0
  402. package/build/types/observable/internal/aggregation/ObjectAggregationQuery.d.ts.map +1 -0
  403. package/build/types/observable/internal/base-list/BaseListQuery.d.ts +48 -2
  404. package/build/types/observable/internal/base-list/BaseListQuery.d.ts.map +1 -1
  405. package/build/types/observable/internal/base-list/createCollectionConnectable.d.ts +1 -23
  406. package/build/types/observable/internal/base-list/createCollectionConnectable.d.ts.map +1 -1
  407. package/build/types/observable/internal/evaluateFilter.d.ts +6 -0
  408. package/build/types/observable/internal/evaluateFilter.d.ts.map +1 -0
  409. package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts +5 -0
  410. package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts.map +1 -1
  411. package/build/types/observable/internal/list/InterfaceListQuery.d.ts.map +1 -1
  412. package/build/types/observable/internal/list/ListCacheKey.d.ts +10 -1
  413. package/build/types/observable/internal/list/ListCacheKey.d.ts.map +1 -1
  414. package/build/types/observable/internal/list/ListQuery.d.ts +12 -15
  415. package/build/types/observable/internal/list/ListQuery.d.ts.map +1 -1
  416. package/build/types/observable/internal/list/ListQuery.test.d.ts +1 -0
  417. package/build/types/observable/internal/list/ListQuery.test.d.ts.map +1 -0
  418. package/build/types/observable/internal/list/ListQueryOptions.d.ts +10 -1
  419. package/build/types/observable/internal/list/ListQueryOptions.d.ts.map +1 -1
  420. package/build/types/observable/internal/list/ListsHelper.d.ts +7 -1
  421. package/build/types/observable/internal/list/ListsHelper.d.ts.map +1 -1
  422. package/build/types/observable/internal/list/ObjectListQuery.d.ts.map +1 -1
  423. package/build/types/observable/internal/object/ObjectCacheKey.d.ts +6 -1
  424. package/build/types/observable/internal/object/ObjectCacheKey.d.ts.map +1 -1
  425. package/build/types/observable/internal/object/ObjectCacheKeyRegistry.d.ts +60 -0
  426. package/build/types/observable/internal/object/ObjectCacheKeyRegistry.d.ts.map +1 -0
  427. package/build/types/observable/internal/object/ObjectCacheKeyRegistry.test.d.ts +1 -0
  428. package/build/types/observable/internal/object/ObjectCacheKeyRegistry.test.d.ts.map +1 -0
  429. package/build/types/observable/internal/object/ObjectQuery.d.ts +1 -1
  430. package/build/types/observable/internal/object/ObjectQuery.d.ts.map +1 -1
  431. package/build/types/observable/internal/object/ObjectsHelper.d.ts +15 -1
  432. package/build/types/observable/internal/object/ObjectsHelper.d.ts.map +1 -1
  433. package/build/types/observable/internal/objectMatchesWhereClause.d.ts.map +1 -1
  434. package/build/types/observable/internal/objectset/ObjectSetHelper.d.ts.map +1 -1
  435. package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts +2 -1
  436. package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts.map +1 -1
  437. package/build/types/observable/internal/objectset/ObjectSetQueryOptions.d.ts +16 -0
  438. package/build/types/observable/internal/objectset/ObjectSetQueryOptions.d.ts.map +1 -1
  439. package/build/types/observable/internal/testUtils.d.ts +2 -2
  440. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  441. package/build/types/observable/internal/types/ObjectUpdate.d.ts +11 -0
  442. package/build/types/observable/internal/types/ObjectUpdate.d.ts.map +1 -0
  443. package/build/types/observable/internal/utils/rdpFieldOperations.d.ts +5 -0
  444. package/build/types/observable/internal/utils/rdpFieldOperations.d.ts.map +1 -0
  445. package/build/types/public/internal-node.d.ts +2 -0
  446. package/build/types/public/internal-node.d.ts.map +1 -0
  447. package/build/types/public/unstable-do-not-use.d.ts +1 -1
  448. package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
  449. package/build/types/queries/applyQuery.d.ts.map +1 -1
  450. package/internal-node.d.ts +17 -0
  451. package/package.json +18 -8
  452. package/build/cjs/chunk-BP7BR5FZ.cjs.map +0 -1
  453. package/build/cjs/chunk-DCEFUXFS.cjs.map +0 -1
  454. package/build/cjs/chunk-Q7SFCCGT.cjs +0 -11
  455. package/build/cjs/chunk-Q7SFCCGT.cjs.map +0 -1
  456. package/build/cjs/delay-QK4T7RVX.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"toDataValue.test.js","names":["NULL_VALUE","Employee","Task","LegacyFauxFoundry","MockOntologiesV2","startNodeApiServer","stubData","beforeAll","describe","expect","it","vi","createClient","createMinimalClient","createAttachmentUpload","isMediaReference","getWireObjectSet","toDataValue","client","clientCtx","mockActionMetadata","apiServer","fn","testSetup","ontologyRid","fauxFoundry","defaultOntologyRid","baseUrl","auth","apiName","close","basic","null","undefined","boolean","date","integer","string","timestamp","convertedBasic","toEqual","attachment","attachmentArray","attachmentSet","Set","recursiveConversion","inner","employee","employee1","ontologyConversion","__primaryKey","task","fetchOne","$primaryKey","clientObjectSet","where","id","definition","expected","objectSetConversion","toMatchInlineSnapshot","definitionConversion","blob","Blob","JSON","stringify","attachmentUpload","converted","toMatch","file","Object","assign","name","type","data","path","boundary","use","MediaReferenceProperties","uploadMedia","mimeType","reference","mediaSetViewItem","mediaItemRid","mediaSetRid","mediaSetViewRid","toBe","mediaReference","toBeNull","Symbol","for"],"sources":["toDataValue.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 { NULL_VALUE } from \"@osdk/api\";\nimport type { ActionMetadata, MediaUpload } from \"@osdk/api\";\nimport { Employee, Task } from \"@osdk/client.test.ontology\";\nimport type { MediaReference } from \"@osdk/foundry.core\";\nimport type { SetupServer } from \"@osdk/shared.test\";\nimport {\n LegacyFauxFoundry,\n MockOntologiesV2,\n startNodeApiServer,\n stubData,\n} from \"@osdk/shared.test\";\nimport type { MockedFunction } from \"vitest\";\nimport { beforeAll, describe, expect, it, vi } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { isMediaReference } from \"../object/mediaUpload.js\";\nimport { getWireObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { toDataValue } from \"./toDataValue.js\";\n\ndescribe(toDataValue, () => {\n let client: Client;\n let clientCtx: MinimalClient;\n let mockActionMetadata: ActionMetadata;\n let apiServer: SetupServer;\n\n const mockFetch: MockedFunction<typeof globalThis.fetch> = vi.fn();\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);\n ({ client } = testSetup);\n\n apiServer = testSetup.apiServer;\n\n clientCtx = createMinimalClient(\n { ontologyRid: testSetup.fauxFoundry.defaultOntologyRid },\n testSetup.fauxFoundry.baseUrl,\n testSetup.auth,\n {},\n );\n\n // toDataValue only needs the apiName right now, update this if that changes\n const fakeActionMetadata = {\n apiName: \"createUnstructuredImageExampleObject\",\n };\n mockActionMetadata = fakeActionMetadata as ActionMetadata;\n\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"converts passthrough values correctly\", async () => {\n // basic pass through types\n const basic = {\n null: undefined,\n boolean: false,\n date: \"2024-01-01\",\n integer: 0,\n string: \"string\",\n timestamp: \"2024-01-01T00:00:00Z\",\n };\n const convertedBasic = await toDataValue(\n basic,\n clientCtx,\n mockActionMetadata,\n );\n expect(convertedBasic).toEqual(basic);\n });\n\n it(\"recursively converts arrays and sets into array types\", async () => {\n const attachment = \"rid\";\n const attachmentArray = [attachment];\n const attachmentSet = new Set(attachmentArray);\n\n const recursiveConversion = await toDataValue(\n {\n attachment,\n attachmentArray,\n attachmentSet,\n },\n clientCtx,\n mockActionMetadata,\n );\n\n expect(recursiveConversion).toEqual({\n attachment: \"rid\",\n attachmentArray: [\"rid\"],\n attachmentSet: [\"rid\"],\n });\n });\n\n it(\"recursively handles structs\", async () => {\n const struct = {\n inner: {\n attachment: \"rid\",\n },\n };\n\n const recursiveConversion = await toDataValue(\n struct,\n clientCtx,\n mockActionMetadata,\n );\n\n expect(recursiveConversion).toEqual({\n inner: { attachment: \"rid\" },\n });\n });\n\n it(\"maps an ontology object into just its primary key\", async () => {\n const employee = stubData.employee1;\n const ontologyConversion = await toDataValue(\n employee,\n clientCtx,\n mockActionMetadata,\n );\n expect(ontologyConversion).toEqual(\n stubData.employee1.__primaryKey,\n );\n });\n\n it(\"maps an ontology object into just its primary key with osdk wrapper\", async () => {\n const task = await client(Employee).fetchOne(50030);\n const ontologyConversion = await toDataValue(\n task,\n clientCtx,\n mockActionMetadata,\n );\n expect(ontologyConversion).toEqual(\n task.$primaryKey,\n );\n });\n\n it(\"passes through object set definitions\", async () => {\n const clientObjectSet = client(Task).where({ id: 0 });\n const definition = getWireObjectSet(clientObjectSet);\n\n const expected = `\n {\n \"objectSet\": {\n \"objectType\": \"Task\",\n \"type\": \"base\",\n },\n \"type\": \"filter\",\n \"where\": {\n \"field\": \"id\",\n \"type\": \"eq\",\n \"value\": 0,\n },\n }\n `;\n const objectSetConversion = await toDataValue(\n clientObjectSet,\n clientCtx,\n mockActionMetadata,\n );\n expect(objectSetConversion).toMatchInlineSnapshot(\n expected,\n );\n\n const definitionConversion = await toDataValue(\n definition,\n clientCtx,\n mockActionMetadata,\n );\n expect(definitionConversion).toMatchInlineSnapshot(expected);\n });\n\n it(\"converts blob attachment uploads correctly\", async () => {\n const blob = new Blob([JSON.stringify({ \"hi\": \"mom\" })]);\n const attachmentUpload = createAttachmentUpload(blob, \"file1.txt\");\n const converted = await toDataValue(\n attachmentUpload,\n clientCtx,\n mockActionMetadata,\n );\n\n expect(converted).toMatch(/ri\\.attachments.main.attachment\\.[a-z0-9\\-]+/i);\n });\n\n it(\"converts file attachment uploads correctly\", async () => {\n // Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above\n const file = Object.assign(\n new Blob([\n JSON.stringify({ name: \"Hello World\" }, null, 2),\n ], {\n type: \"application/json\",\n }),\n { name: \"file1.txt\" },\n );\n\n const converted = await toDataValue(file, clientCtx, mockActionMetadata);\n expect(converted).toMatch(/ri\\.attachments.main.attachment\\.[a-z0-9\\-]+/i);\n });\n\n it(\"converts media uploads correctly\", async () => {\n const file: MediaUpload = {\n data: new Blob([\n JSON.stringify({ name: \"Hello World\" }, null, 2),\n ], {\n type: \"application/json\",\n }),\n path: \"file.txt\",\n };\n\n // TODO: Mock MediaUpload properly in FauxFoundry\n apiServer.boundary(async () => {\n apiServer.use(\n MockOntologiesV2.MediaReferenceProperties.uploadMedia(\n \"https://stack.palantir.com\",\n () => {\n return {\n mimeType: \"application/json\",\n reference: {\n type: \"mediaSetViewItem\",\n mediaSetViewItem: {\n mediaItemRid: \"media-item-rid\",\n mediaSetRid: \"media-set-rid\",\n mediaSetViewRid: \"media-set-view-rid\",\n },\n },\n };\n },\n ),\n );\n const converted = await toDataValue(file, clientCtx, mockActionMetadata);\n expect(isMediaReference(converted)).toBe(true);\n });\n });\n\n it(\"converts media reference correctly\", async () => {\n const mediaReference: MediaReference = {\n mimeType: \"application/json\",\n reference: {\n type: \"mediaSetViewItem\",\n mediaSetViewItem: {\n mediaItemRid: \"media-item-rid\",\n mediaSetRid: \"media-set-rid\",\n mediaSetViewRid: \"media-set-view-rid\",\n },\n },\n };\n\n const converted = await toDataValue(\n mediaReference,\n clientCtx,\n mockActionMetadata,\n );\n expect(converted).toEqual(mediaReference);\n });\n\n it(\"Converts NULL_VALUE to null\", async () => {\n const converted = await toDataValue(\n NULL_VALUE,\n clientCtx,\n mockActionMetadata,\n );\n expect(converted).toBeNull();\n });\n\n it(\"Converts NULL_VALUE equivalents to null\", async () => {\n const clearData = Symbol.for(\"NULL_VALUE\") as symbol & {\n __type: \"NULL_VALUE\";\n };\n const converted = await toDataValue(\n clearData,\n clientCtx,\n mockActionMetadata,\n );\n expect(converted).toEqual(null);\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"toDataValue.test.js","names":["NULL_VALUE","Employee","Task","LegacyFauxFoundry","MockOntologiesV2","startNodeApiServer","stubData","beforeAll","describe","expect","it","vi","createClient","createMinimalClient","createAttachmentUpload","isMediaReference","getWireObjectSet","toDataValue","client","clientCtx","mockActionMetadata","apiServer","fn","testSetup","ontologyRid","fauxFoundry","defaultOntologyRid","baseUrl","auth","apiName","close","basic","null","undefined","boolean","date","integer","string","timestamp","convertedBasic","toEqual","attachment","attachmentArray","attachmentSet","Set","recursiveConversion","inner","employee","employee1","ontologyConversion","__primaryKey","task","fetchOne","$primaryKey","clientObjectSet","where","id","definition","expected","objectSetConversion","toMatchInlineSnapshot","definitionConversion","blob","Blob","JSON","stringify","attachmentUpload","converted","toMatch","file","Object","assign","name","type","data","fileName","boundary","use","MediaReferenceProperties","uploadMedia","mimeType","reference","mediaSetViewItem","mediaItemRid","mediaSetRid","mediaSetViewRid","toBe","mediaReference","toBeNull","Symbol","for"],"sources":["toDataValue.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 { NULL_VALUE } from \"@osdk/api\";\nimport type { ActionMetadata, MediaUpload } from \"@osdk/api\";\nimport { Employee, Task } from \"@osdk/client.test.ontology\";\nimport type { MediaReference } from \"@osdk/foundry.core\";\nimport type { SetupServer } from \"@osdk/shared.test\";\nimport {\n LegacyFauxFoundry,\n MockOntologiesV2,\n startNodeApiServer,\n stubData,\n} from \"@osdk/shared.test\";\nimport type { MockedFunction } from \"vitest\";\nimport { beforeAll, describe, expect, it, vi } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { createAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { isMediaReference } from \"../object/mediaUpload.js\";\nimport { getWireObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { toDataValue } from \"./toDataValue.js\";\n\ndescribe(toDataValue, () => {\n let client: Client;\n let clientCtx: MinimalClient;\n let mockActionMetadata: ActionMetadata;\n let apiServer: SetupServer;\n\n const mockFetch: MockedFunction<typeof globalThis.fetch> = vi.fn();\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);\n ({ client } = testSetup);\n\n apiServer = testSetup.apiServer;\n\n clientCtx = createMinimalClient(\n { ontologyRid: testSetup.fauxFoundry.defaultOntologyRid },\n testSetup.fauxFoundry.baseUrl,\n testSetup.auth,\n {},\n );\n\n // toDataValue only needs the apiName right now, update this if that changes\n const fakeActionMetadata = {\n apiName: \"createUnstructuredImageExampleObject\",\n };\n mockActionMetadata = fakeActionMetadata as ActionMetadata;\n\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"converts passthrough values correctly\", async () => {\n // basic pass through types\n const basic = {\n null: undefined,\n boolean: false,\n date: \"2024-01-01\",\n integer: 0,\n string: \"string\",\n timestamp: \"2024-01-01T00:00:00Z\",\n };\n const convertedBasic = await toDataValue(\n basic,\n clientCtx,\n mockActionMetadata,\n );\n expect(convertedBasic).toEqual(basic);\n });\n\n it(\"recursively converts arrays and sets into array types\", async () => {\n const attachment = \"rid\";\n const attachmentArray = [attachment];\n const attachmentSet = new Set(attachmentArray);\n\n const recursiveConversion = await toDataValue(\n {\n attachment,\n attachmentArray,\n attachmentSet,\n },\n clientCtx,\n mockActionMetadata,\n );\n\n expect(recursiveConversion).toEqual({\n attachment: \"rid\",\n attachmentArray: [\"rid\"],\n attachmentSet: [\"rid\"],\n });\n });\n\n it(\"recursively handles structs\", async () => {\n const struct = {\n inner: {\n attachment: \"rid\",\n },\n };\n\n const recursiveConversion = await toDataValue(\n struct,\n clientCtx,\n mockActionMetadata,\n );\n\n expect(recursiveConversion).toEqual({\n inner: { attachment: \"rid\" },\n });\n });\n\n it(\"maps an ontology object into just its primary key\", async () => {\n const employee = stubData.employee1;\n const ontologyConversion = await toDataValue(\n employee,\n clientCtx,\n mockActionMetadata,\n );\n expect(ontologyConversion).toEqual(\n stubData.employee1.__primaryKey,\n );\n });\n\n it(\"maps an ontology object into just its primary key with osdk wrapper\", async () => {\n const task = await client(Employee).fetchOne(50030);\n const ontologyConversion = await toDataValue(\n task,\n clientCtx,\n mockActionMetadata,\n );\n expect(ontologyConversion).toEqual(\n task.$primaryKey,\n );\n });\n\n it(\"passes through object set definitions\", async () => {\n const clientObjectSet = client(Task).where({ id: 0 });\n const definition = getWireObjectSet(clientObjectSet);\n\n const expected = `\n {\n \"objectSet\": {\n \"objectType\": \"Task\",\n \"type\": \"base\",\n },\n \"type\": \"filter\",\n \"where\": {\n \"field\": \"id\",\n \"type\": \"eq\",\n \"value\": 0,\n },\n }\n `;\n const objectSetConversion = await toDataValue(\n clientObjectSet,\n clientCtx,\n mockActionMetadata,\n );\n expect(objectSetConversion).toMatchInlineSnapshot(\n expected,\n );\n\n const definitionConversion = await toDataValue(\n definition,\n clientCtx,\n mockActionMetadata,\n );\n expect(definitionConversion).toMatchInlineSnapshot(expected);\n });\n\n it(\"converts blob attachment uploads correctly\", async () => {\n const blob = new Blob([JSON.stringify({ \"hi\": \"mom\" })]);\n const attachmentUpload = createAttachmentUpload(blob, \"file1.txt\");\n const converted = await toDataValue(\n attachmentUpload,\n clientCtx,\n mockActionMetadata,\n );\n\n expect(converted).toMatch(/ri\\.attachments.main.attachment\\.[a-z0-9\\-]+/i);\n });\n\n it(\"converts file attachment uploads correctly\", async () => {\n // Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above\n const file = Object.assign(\n new Blob([\n JSON.stringify({ name: \"Hello World\" }, null, 2),\n ], {\n type: \"application/json\",\n }),\n { name: \"file1.txt\" },\n );\n\n const converted = await toDataValue(file, clientCtx, mockActionMetadata);\n expect(converted).toMatch(/ri\\.attachments.main.attachment\\.[a-z0-9\\-]+/i);\n });\n\n it(\"converts media uploads correctly\", async () => {\n const file: MediaUpload = {\n data: new Blob([\n JSON.stringify({ name: \"Hello World\" }, null, 2),\n ], {\n type: \"application/json\",\n }),\n fileName: \"file.txt\",\n };\n\n // TODO: Mock MediaUpload properly in FauxFoundry\n apiServer.boundary(async () => {\n apiServer.use(\n MockOntologiesV2.MediaReferenceProperties.uploadMedia(\n \"https://stack.palantir.com\",\n () => {\n return {\n mimeType: \"application/json\",\n reference: {\n type: \"mediaSetViewItem\",\n mediaSetViewItem: {\n mediaItemRid: \"media-item-rid\",\n mediaSetRid: \"media-set-rid\",\n mediaSetViewRid: \"media-set-view-rid\",\n },\n },\n };\n },\n ),\n );\n const converted = await toDataValue(file, clientCtx, mockActionMetadata);\n expect(isMediaReference(converted)).toBe(true);\n });\n });\n\n it(\"converts media reference correctly\", async () => {\n const mediaReference: MediaReference = {\n mimeType: \"application/json\",\n reference: {\n type: \"mediaSetViewItem\",\n mediaSetViewItem: {\n mediaItemRid: \"media-item-rid\",\n mediaSetRid: \"media-set-rid\",\n mediaSetViewRid: \"media-set-view-rid\",\n },\n },\n };\n\n const converted = await toDataValue(\n mediaReference,\n clientCtx,\n mockActionMetadata,\n );\n expect(converted).toEqual(mediaReference);\n });\n\n it(\"Converts NULL_VALUE to null\", async () => {\n const converted = await toDataValue(\n NULL_VALUE,\n clientCtx,\n mockActionMetadata,\n );\n expect(converted).toBeNull();\n });\n\n it(\"Converts NULL_VALUE equivalents to null\", async () => {\n const clearData = Symbol.for(\"NULL_VALUE\") as symbol & {\n __type: \"NULL_VALUE\";\n };\n const converted = await toDataValue(\n clearData,\n clientCtx,\n mockActionMetadata,\n );\n expect(converted).toEqual(null);\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,QAAQ,WAAW;AAEtC,SAASC,QAAQ,EAAEC,IAAI,QAAQ,4BAA4B;AAG3D,SACEC,iBAAiB,EACjBC,gBAAgB,EAChBC,kBAAkB,EAClBC,QAAQ,QACH,mBAAmB;AAE1B,SAASC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,QAAQ;AAE5D,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,mBAAmB,QAAQ,2BAA2B;AAE/D,SAASC,sBAAsB,QAAQ,+BAA+B;AACtE,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,gBAAgB,QAAQ,iCAAiC;AAClE,SAASC,WAAW,QAAQ,kBAAkB;AAE9CT,QAAQ,CAACS,WAAW,EAAE,MAAM;EAC1B,IAAIC,MAAc;EAClB,IAAIC,SAAwB;EAC5B,IAAIC,kBAAkC;EACtC,IAAIC,SAAsB;EAEiCV,EAAE,CAACW,EAAE,CAAC,CAAC;EAElEf,SAAS,CAAC,MAAM;IACd,MAAMgB,SAAS,GAAGlB,kBAAkB,CAAC,IAAIF,iBAAiB,CAAC,CAAC,EAAES,YAAY,CAAC;IAC3E,CAAC;MAAEM;IAAO,CAAC,GAAGK,SAAS;IAEvBF,SAAS,GAAGE,SAAS,CAACF,SAAS;IAE/BF,SAAS,GAAGN,mBAAmB,CAC7B;MAAEW,WAAW,EAAED,SAAS,CAACE,WAAW,CAACC;IAAmB,CAAC,EACzDH,SAAS,CAACE,WAAW,CAACE,OAAO,EAC7BJ,SAAS,CAACK,IAAI,EACd,CAAC,CACH,CAAC;;IAED;;IAIAR,kBAAkB,GAHS;MACzBS,OAAO,EAAE;IACX,CACyD;IAEzD,OAAO,MAAM;MACXN,SAAS,CAACF,SAAS,CAACS,KAAK,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,CAAC;EAEFpB,EAAE,CAAC,uCAAuC,EAAE,YAAY;IACtD;IACA,MAAMqB,KAAK,GAAG;MACZC,IAAI,EAAEC,SAAS;MACfC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,YAAY;MAClBC,OAAO,EAAE,CAAC;MACVC,MAAM,EAAE,QAAQ;MAChBC,SAAS,EAAE;IACb,CAAC;IACD,MAAMC,cAAc,GAAG,MAAMtB,WAAW,CACtCc,KAAK,EACLZ,SAAS,EACTC,kBACF,CAAC;IACDX,MAAM,CAAC8B,cAAc,CAAC,CAACC,OAAO,CAACT,KAAK,CAAC;EACvC,CAAC,CAAC;EAEFrB,EAAE,CAAC,uDAAuD,EAAE,YAAY;IACtE,MAAM+B,UAAU,GAAG,KAAK;IACxB,MAAMC,eAAe,GAAG,CAACD,UAAU,CAAC;IACpC,MAAME,aAAa,GAAG,IAAIC,GAAG,CAACF,eAAe,CAAC;IAE9C,MAAMG,mBAAmB,GAAG,MAAM5B,WAAW,CAC3C;MACEwB,UAAU;MACVC,eAAe;MACfC;IACF,CAAC,EACDxB,SAAS,EACTC,kBACF,CAAC;IAEDX,MAAM,CAACoC,mBAAmB,CAAC,CAACL,OAAO,CAAC;MAClCC,UAAU,EAAE,KAAK;MACjBC,eAAe,EAAE,CAAC,KAAK,CAAC;MACxBC,aAAa,EAAE,CAAC,KAAK;IACvB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFjC,EAAE,CAAC,6BAA6B,EAAE,YAAY;IAO5C,MAAMmC,mBAAmB,GAAG,MAAM5B,WAAW,CAN9B;MACb6B,KAAK,EAAE;QACLL,UAAU,EAAE;MACd;IACF,CAAC,EAICtB,SAAS,EACTC,kBACF,CAAC;IAEDX,MAAM,CAACoC,mBAAmB,CAAC,CAACL,OAAO,CAAC;MAClCM,KAAK,EAAE;QAAEL,UAAU,EAAE;MAAM;IAC7B,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF/B,EAAE,CAAC,mDAAmD,EAAE,YAAY;IAClE,MAAMqC,QAAQ,GAAGzC,QAAQ,CAAC0C,SAAS;IACnC,MAAMC,kBAAkB,GAAG,MAAMhC,WAAW,CAC1C8B,QAAQ,EACR5B,SAAS,EACTC,kBACF,CAAC;IACDX,MAAM,CAACwC,kBAAkB,CAAC,CAACT,OAAO,CAChClC,QAAQ,CAAC0C,SAAS,CAACE,YACrB,CAAC;EACH,CAAC,CAAC;EAEFxC,EAAE,CAAC,qEAAqE,EAAE,YAAY;IACpF,MAAMyC,IAAI,GAAG,MAAMjC,MAAM,CAACjB,QAAQ,CAAC,CAACmD,QAAQ,CAAC,KAAK,CAAC;IACnD,MAAMH,kBAAkB,GAAG,MAAMhC,WAAW,CAC1CkC,IAAI,EACJhC,SAAS,EACTC,kBACF,CAAC;IACDX,MAAM,CAACwC,kBAAkB,CAAC,CAACT,OAAO,CAChCW,IAAI,CAACE,WACP,CAAC;EACH,CAAC,CAAC;EAEF3C,EAAE,CAAC,uCAAuC,EAAE,YAAY;IACtD,MAAM4C,eAAe,GAAGpC,MAAM,CAAChB,IAAI,CAAC,CAACqD,KAAK,CAAC;MAAEC,EAAE,EAAE;IAAE,CAAC,CAAC;IACrD,MAAMC,UAAU,GAAGzC,gBAAgB,CAACsC,eAAe,CAAC;IAEpD,MAAMI,QAAQ,GAAG;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;IACC,MAAMC,mBAAmB,GAAG,MAAM1C,WAAW,CAC3CqC,eAAe,EACfnC,SAAS,EACTC,kBACF,CAAC;IACDX,MAAM,CAACkD,mBAAmB,CAAC,CAACC,qBAAqB,CAC/CF,QACF,CAAC;IAED,MAAMG,oBAAoB,GAAG,MAAM5C,WAAW,CAC5CwC,UAAU,EACVtC,SAAS,EACTC,kBACF,CAAC;IACDX,MAAM,CAACoD,oBAAoB,CAAC,CAACD,qBAAqB,CAACF,QAAQ,CAAC;EAC9D,CAAC,CAAC;EAEFhD,EAAE,CAAC,4CAA4C,EAAE,YAAY;IAC3D,MAAMoD,IAAI,GAAG,IAAIC,IAAI,CAAC,CAACC,IAAI,CAACC,SAAS,CAAC;MAAE,IAAI,EAAE;IAAM,CAAC,CAAC,CAAC,CAAC;IACxD,MAAMC,gBAAgB,GAAGpD,sBAAsB,CAACgD,IAAI,EAAE,WAAW,CAAC;IAClE,MAAMK,SAAS,GAAG,MAAMlD,WAAW,CACjCiD,gBAAgB,EAChB/C,SAAS,EACTC,kBACF,CAAC;IAEDX,MAAM,CAAC0D,SAAS,CAAC,CAACC,OAAO,CAAC,+CAA+C,CAAC;EAC5E,CAAC,CAAC;EAEF1D,EAAE,CAAC,4CAA4C,EAAE,YAAY;IAC3D;IACA,MAAM2D,IAAI,GAAGC,MAAM,CAACC,MAAM,CACxB,IAAIR,IAAI,CAAC,CACPC,IAAI,CAACC,SAAS,CAAC;MAAEO,IAAI,EAAE;IAAc,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CACjD,EAAE;MACDC,IAAI,EAAE;IACR,CAAC,CAAC,EACF;MAAED,IAAI,EAAE;IAAY,CACtB,CAAC;IAED,MAAML,SAAS,GAAG,MAAMlD,WAAW,CAACoD,IAAI,EAAElD,SAAS,EAAEC,kBAAkB,CAAC;IACxEX,MAAM,CAAC0D,SAAS,CAAC,CAACC,OAAO,CAAC,+CAA+C,CAAC;EAC5E,CAAC,CAAC;EAEF1D,EAAE,CAAC,kCAAkC,EAAE,YAAY;IACjD,MAAM2D,IAAiB,GAAG;MACxBK,IAAI,EAAE,IAAIX,IAAI,CAAC,CACbC,IAAI,CAACC,SAAS,CAAC;QAAEO,IAAI,EAAE;MAAc,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CACjD,EAAE;QACDC,IAAI,EAAE;MACR,CAAC,CAAC;MACFE,QAAQ,EAAE;IACZ,CAAC;;IAED;IACAtD,SAAS,CAACuD,QAAQ,CAAC,YAAY;MAC7BvD,SAAS,CAACwD,GAAG,CACXzE,gBAAgB,CAAC0E,wBAAwB,CAACC,WAAW,CACnD,4BAA4B,EAC5B,MAAM;QACJ,OAAO;UACLC,QAAQ,EAAE,kBAAkB;UAC5BC,SAAS,EAAE;YACTR,IAAI,EAAE,kBAAkB;YACxBS,gBAAgB,EAAE;cAChBC,YAAY,EAAE,gBAAgB;cAC9BC,WAAW,EAAE,eAAe;cAC5BC,eAAe,EAAE;YACnB;UACF;QACF,CAAC;MACH,CACF,CACF,CAAC;MACD,MAAMlB,SAAS,GAAG,MAAMlD,WAAW,CAACoD,IAAI,EAAElD,SAAS,EAAEC,kBAAkB,CAAC;MACxEX,MAAM,CAACM,gBAAgB,CAACoD,SAAS,CAAC,CAAC,CAACmB,IAAI,CAAC,IAAI,CAAC;IAChD,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF5E,EAAE,CAAC,oCAAoC,EAAE,YAAY;IACnD,MAAM6E,cAA8B,GAAG;MACrCP,QAAQ,EAAE,kBAAkB;MAC5BC,SAAS,EAAE;QACTR,IAAI,EAAE,kBAAkB;QACxBS,gBAAgB,EAAE;UAChBC,YAAY,EAAE,gBAAgB;UAC9BC,WAAW,EAAE,eAAe;UAC5BC,eAAe,EAAE;QACnB;MACF;IACF,CAAC;IAED,MAAMlB,SAAS,GAAG,MAAMlD,WAAW,CACjCsE,cAAc,EACdpE,SAAS,EACTC,kBACF,CAAC;IACDX,MAAM,CAAC0D,SAAS,CAAC,CAAC3B,OAAO,CAAC+C,cAAc,CAAC;EAC3C,CAAC,CAAC;EAEF7E,EAAE,CAAC,6BAA6B,EAAE,YAAY;IAC5C,MAAMyD,SAAS,GAAG,MAAMlD,WAAW,CACjCjB,UAAU,EACVmB,SAAS,EACTC,kBACF,CAAC;IACDX,MAAM,CAAC0D,SAAS,CAAC,CAACqB,QAAQ,CAAC,CAAC;EAC9B,CAAC,CAAC;EAEF9E,EAAE,CAAC,yCAAyC,EAAE,YAAY;IAIxD,MAAMyD,SAAS,GAAG,MAAMlD,WAAW,CAHjBwE,MAAM,CAACC,GAAG,CAAC,YAAY,CAAC,EAKxCvE,SAAS,EACTC,kBACF,CAAC;IACDX,MAAM,CAAC0D,SAAS,CAAC,CAAC3B,OAAO,CAAC,IAAI,CAAC;EACjC,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -32,7 +32,7 @@ export async function toDataValueQueries(value, client, desiredType) {
32
32
  if (value == null) {
33
33
  return value;
34
34
  }
35
- if (Array.isArray(value) && desiredType.multiplicity) {
35
+ if (Array.isArray(value) && desiredType.type === "array") {
36
36
  const values = Array.from(value);
37
37
  if (values.some(dataValue => isAttachmentUpload(dataValue) || isAttachmentFile(dataValue))) {
38
38
  const converted = [];
@@ -41,7 +41,7 @@ export async function toDataValueQueries(value, client, desiredType) {
41
41
  }
42
42
  return converted;
43
43
  }
44
- const promiseArray = Array.from(value, async innerValue => await toDataValueQueries(innerValue, client, desiredType));
44
+ const promiseArray = Array.from(value, async innerValue => await toDataValueQueries(innerValue, client, desiredType.array));
45
45
  return Promise.all(promiseArray);
46
46
  }
47
47
  switch (desiredType.type) {
@@ -1 +1 @@
1
- {"version":3,"file":"toDataValueQueries.js","names":["OntologiesV2","isAttachmentFile","isAttachmentUpload","getWireObjectSet","isObjectSet","isInterfaceQueryParam","isInterfaceSpecifier","isObjectSpecifiersObject","extractPrimaryKeyFromObjectSpecifier","isWireObjectSet","toDataValueQueries","value","client","desiredType","Array","isArray","multiplicity","values","from","some","dataValue","converted","push","promiseArray","innerValue","Promise","all","type","attachment","Attachments","upload","data","filename","name","rid","groups","Set","$primaryKey","objectTypeApiName","$objectType","primaryKeyValue","entrySet","key","mapValue","Object","entries","keyType","valueType","structMap","structValue"],"sources":["toDataValueQueries.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 { QueryDataTypeDefinition } from \"@osdk/api\";\nimport { type DataValue } from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport {\n isAttachmentFile,\n isAttachmentUpload,\n} from \"../object/AttachmentUpload.js\";\nimport { getWireObjectSet, isObjectSet } from \"../objectSet/createObjectSet.js\";\nimport {\n isInterfaceQueryParam,\n isInterfaceSpecifier,\n} from \"./interfaceUtils.js\";\nimport { isObjectSpecifiersObject } from \"./isObjectSpecifiersObject.js\";\nimport { extractPrimaryKeyFromObjectSpecifier } from \"./objectSpecifierUtils.js\";\nimport { isWireObjectSet } from \"./WireObjectSet.js\";\n\n/**\n * Marshall user-facing data into the wire DataValue type\n *\n * @see DataValue for the expected payloads\n * @internal\n */\nexport async function toDataValueQueries(\n value: unknown,\n client: MinimalClient,\n desiredType: QueryDataTypeDefinition,\n): Promise<DataValue> {\n if (value == null) {\n return value;\n }\n\n if (Array.isArray(value) && desiredType.multiplicity) {\n const values = Array.from(value);\n if (\n values.some((dataValue) =>\n isAttachmentUpload(dataValue) || isAttachmentFile(dataValue)\n )\n ) {\n const converted = [];\n for (const value of values) {\n converted.push(await toDataValueQueries(value, client, desiredType));\n }\n return converted;\n }\n const promiseArray = Array.from(\n value,\n async (innerValue) =>\n await toDataValueQueries(innerValue, client, desiredType),\n );\n return Promise.all(promiseArray);\n }\n\n switch (desiredType.type) {\n case \"attachment\": {\n if (isAttachmentUpload(value)) {\n const attachment = await OntologiesV2.Attachments.upload(\n client,\n value.data,\n {\n filename: value.name,\n },\n );\n return attachment.rid;\n }\n\n if (\n isAttachmentFile(value)\n ) {\n const attachment = await OntologiesV2.Attachments.upload(\n client,\n value,\n {\n filename: value.name as string,\n },\n );\n return attachment.rid;\n }\n\n // If it's not an upload, it's just an attachment rid string which we can pass through\n return value;\n }\n case \"twoDimensionalAggregation\": {\n return {\n groups: value,\n };\n }\n case \"threeDimensionalAggregation\": {\n return {\n groups: value,\n };\n }\n\n case \"set\": {\n if (value instanceof Set) {\n const promiseArray = Array.from(\n value,\n async (innerValue) =>\n await toDataValueQueries(innerValue, client, desiredType[\"set\"]),\n );\n return Promise.all(promiseArray);\n }\n break;\n }\n case \"object\": {\n if (isObjectSpecifiersObject(value)) {\n return value.$primaryKey;\n }\n break;\n }\n case \"interface\": {\n if (isInterfaceSpecifier(value) || isInterfaceQueryParam(value)) {\n return {\n objectTypeApiName: value.$objectType,\n primaryKeyValue: value.$primaryKey,\n };\n }\n }\n case \"objectSet\":\n case \"interfaceObjectSet\": {\n // object set (the rid as a string (passes through the last return), or the ObjectSet definition directly)\n if (isWireObjectSet(value)) {\n return value;\n }\n if (isObjectSet(value)) {\n return getWireObjectSet(value);\n }\n break;\n }\n\n case \"map\": {\n if (typeof value === \"object\") {\n const entrySet: Array<{ key: any; value: any }> = [];\n for (const [key, mapValue] of Object.entries(value)) {\n entrySet.push({\n key: desiredType.keyType.type === \"object\"\n ? extractPrimaryKeyFromObjectSpecifier(key as any)\n : await toDataValueQueries(\n key,\n client,\n desiredType.keyType,\n ),\n value: await toDataValueQueries(\n mapValue,\n client,\n desiredType.valueType,\n ),\n });\n }\n return entrySet;\n }\n break;\n }\n\n case \"struct\": {\n if (typeof value === \"object\") {\n const structMap: { [key: string]: unknown } = {};\n for (const [key, structValue] of Object.entries(value)) {\n structMap[key] = await toDataValueQueries(\n structValue,\n client,\n desiredType[\"struct\"][key],\n );\n }\n return structMap;\n }\n }\n\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 value;\n }\n return value;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"toDataValueQueries.js","names":["OntologiesV2","isAttachmentFile","isAttachmentUpload","getWireObjectSet","isObjectSet","isInterfaceQueryParam","isInterfaceSpecifier","isObjectSpecifiersObject","extractPrimaryKeyFromObjectSpecifier","isWireObjectSet","toDataValueQueries","value","client","desiredType","Array","isArray","type","values","from","some","dataValue","converted","push","promiseArray","innerValue","array","Promise","all","attachment","Attachments","upload","data","filename","name","rid","groups","Set","$primaryKey","objectTypeApiName","$objectType","primaryKeyValue","entrySet","key","mapValue","Object","entries","keyType","valueType","structMap","structValue"],"sources":["toDataValueQueries.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 { QueryDataTypeDefinition } from \"@osdk/api\";\nimport { type DataValue } from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport {\n isAttachmentFile,\n isAttachmentUpload,\n} from \"../object/AttachmentUpload.js\";\nimport { getWireObjectSet, isObjectSet } from \"../objectSet/createObjectSet.js\";\nimport {\n isInterfaceQueryParam,\n isInterfaceSpecifier,\n} from \"./interfaceUtils.js\";\nimport { isObjectSpecifiersObject } from \"./isObjectSpecifiersObject.js\";\nimport { extractPrimaryKeyFromObjectSpecifier } from \"./objectSpecifierUtils.js\";\nimport { isWireObjectSet } from \"./WireObjectSet.js\";\n\n/**\n * Marshall user-facing data into the wire DataValue type\n *\n * @see DataValue for the expected payloads\n * @internal\n */\nexport async function toDataValueQueries(\n value: unknown,\n client: MinimalClient,\n desiredType: QueryDataTypeDefinition,\n): Promise<DataValue> {\n if (value == null) {\n return value;\n }\n\n if (Array.isArray(value) && desiredType.type === \"array\") {\n const values = Array.from(value);\n if (\n values.some((dataValue) =>\n isAttachmentUpload(dataValue) || isAttachmentFile(dataValue)\n )\n ) {\n const converted = [];\n for (const value of values) {\n converted.push(await toDataValueQueries(value, client, desiredType));\n }\n return converted;\n }\n const promiseArray = Array.from(\n value,\n async (innerValue) =>\n await toDataValueQueries(innerValue, client, desiredType.array),\n );\n return Promise.all(promiseArray);\n }\n\n switch (desiredType.type) {\n case \"attachment\": {\n if (isAttachmentUpload(value)) {\n const attachment = await OntologiesV2.Attachments.upload(\n client,\n value.data,\n {\n filename: value.name,\n },\n );\n return attachment.rid;\n }\n\n if (\n isAttachmentFile(value)\n ) {\n const attachment = await OntologiesV2.Attachments.upload(\n client,\n value,\n {\n filename: value.name as string,\n },\n );\n return attachment.rid;\n }\n\n // If it's not an upload, it's just an attachment rid string which we can pass through\n return value;\n }\n case \"twoDimensionalAggregation\": {\n return {\n groups: value,\n };\n }\n case \"threeDimensionalAggregation\": {\n return {\n groups: value,\n };\n }\n\n case \"set\": {\n if (value instanceof Set) {\n const promiseArray = Array.from(\n value,\n async (innerValue) =>\n await toDataValueQueries(innerValue, client, desiredType[\"set\"]),\n );\n return Promise.all(promiseArray);\n }\n break;\n }\n case \"object\": {\n if (isObjectSpecifiersObject(value)) {\n return value.$primaryKey;\n }\n break;\n }\n case \"interface\": {\n if (isInterfaceSpecifier(value) || isInterfaceQueryParam(value)) {\n return {\n objectTypeApiName: value.$objectType,\n primaryKeyValue: value.$primaryKey,\n };\n }\n }\n case \"objectSet\":\n case \"interfaceObjectSet\": {\n // object set (the rid as a string (passes through the last return), or the ObjectSet definition directly)\n if (isWireObjectSet(value)) {\n return value;\n }\n if (isObjectSet(value)) {\n return getWireObjectSet(value);\n }\n break;\n }\n\n case \"map\": {\n if (typeof value === \"object\") {\n const entrySet: Array<{ key: any; value: any }> = [];\n for (const [key, mapValue] of Object.entries(value)) {\n entrySet.push({\n key: desiredType.keyType.type === \"object\"\n ? extractPrimaryKeyFromObjectSpecifier(key as any)\n : await toDataValueQueries(\n key,\n client,\n desiredType.keyType,\n ),\n value: await toDataValueQueries(\n mapValue,\n client,\n desiredType.valueType,\n ),\n });\n }\n return entrySet;\n }\n break;\n }\n\n case \"struct\": {\n if (typeof value === \"object\") {\n const structMap: { [key: string]: unknown } = {};\n for (const [key, structValue] of Object.entries(value)) {\n structMap[key] = await toDataValueQueries(\n structValue,\n client,\n desiredType[\"struct\"][key],\n );\n }\n return structMap;\n }\n }\n\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 value;\n }\n return value;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ export interface Client extends SharedClient, OldSharedClient {
16
16
  <Q extends Experiment<"2.0.8"> | Experiment<"2.1.0"> | Experiment<"2.2.0">>(experiment: Q): ExperimentFns<Q>;
17
17
  fetchMetadata<Q extends (ObjectTypeDefinition | InterfaceDefinition | ActionDefinition<any> | QueryDefinition<any>)>(o: Q): Promise<Q extends ObjectTypeDefinition ? ObjectMetadata : Q extends InterfaceDefinition ? InterfaceMetadata : Q extends ActionDefinition<any> ? ActionMetadata : Q extends QueryDefinition<any> ? QueryMetadata : never>;
18
18
  }
19
- declare const MaxOsdkVersion = "2.5.0";
19
+ declare const MaxOsdkVersion = "2.6.0";
20
20
  export type MaxOsdkVersion = typeof MaxOsdkVersion;
21
21
  declare const ErrorMessage: unique symbol;
22
22
  export {};
@@ -12,7 +12,7 @@ export interface MinimalClient extends SharedClientContext {
12
12
  ontologyRid: string | Promise<string>;
13
13
  ontologyProvider: OntologyProvider;
14
14
  logger?: Logger;
15
- transactionRid?: string;
15
+ transactionId?: string;
16
16
  branch?: string;
17
17
  clientCacheKey: ClientCacheKey;
18
18
  requestContext: RequestContext;
@@ -1,5 +1,5 @@
1
1
  export { isOk, NULL_VALUE } from "@osdk/api";
2
- export type { ActionDefinition, ActionEditResponse, ActionMetadata, ActionParam, ActionReturnTypeForOptions, ActionValidationResponse, ApplyActionOptions, ApplyBatchActionOptions, Attachment, CompileTimeMetadata, InterfaceDefinition, InterfaceMetadata, Logger, ObjectMetadata, ObjectSet, ObjectSpecifier, ObjectTypeDefinition, Osdk, OsdkObject, OsdkObjectCreatePropertyType, OsdkObjectPropertyType, PageResult, PropertyDef, PropertyKeys, PropertyValueWireToClient, QueryDefinition, QueryParam, QueryResult, Range, Result, SingleLinkAccessor, ThreeDimensionalAggregation, TwoDimensionalAggregation, VersionBound, WhereClause } from "@osdk/api";
2
+ export type { ActionDefinition, ActionEditResponse, ActionMetadata, ActionParam, ActionReturnTypeForOptions, ActionValidationResponse, ApplyActionOptions, ApplyBatchActionOptions, Attachment, CompileTimeMetadata, DerivedProperty, InterfaceDefinition, InterfaceMetadata, Logger, MediaReference, MediaUpload, ObjectMetadata, ObjectSet, ObjectSpecifier, ObjectTypeDefinition, Osdk, OsdkObject, OsdkObjectCreatePropertyType, OsdkObjectPropertyType, PageResult, PropertyDef, PropertyKeys, PropertyValueWireToClient, QueryDefinition, QueryParam, QueryResult, Range, Result, SingleLinkAccessor, ThreeDimensionalAggregation, TwoDimensionalAggregation, VersionBound, WhereClause } from "@osdk/api";
3
3
  export { PalantirApiError } from "@osdk/shared.net.errors";
4
4
  export { ActionValidationError } from "./actions/ActionValidationError.js";
5
5
  export type { Client } from "./Client.js";
@@ -1 +1 @@
1
- {"mappings":"AAkBA,SAAS,MAAM,kBAAkB;AACjC,cACE,kBACA,oBACA,gBACA,aACA,4BACA,0BACA,oBACA,yBACA,YACA,qBACA,qBACA,mBACA,QACA,gBACA,WACA,iBACA,sBACA,MACA,YACA,8BACA,wBACA,YACA,aACA,cACA,2BACA,iBACA,YACA,aACA,OACA,QACA,oBACA,6BACA,2BACA,cACA,mBACK;AACP,SAAS,wBAAwB;AAEjC,SAAS,6BAA6B;AACtC,cAAc,cAAc;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,4BAA4B;AACrC,cAAc,sBAAsB;AACpC,SAAS,8BAA8B;AACvC,cAAc,qBAAqB;AAEnC,SACE,aACA,wBACA,wBACK;AAEP,SACE,qCACA,4CACK","names":[],"sources":["../../src/index.ts"],"version":3,"file":"index.d.ts"}
1
+ {"mappings":"AAkBA,SAAS,MAAM,kBAAkB;AACjC,cACE,kBACA,oBACA,gBACA,aACA,4BACA,0BACA,oBACA,yBACA,YACA,qBACA,iBACA,qBACA,mBACA,QACA,gBACA,aACA,gBACA,WACA,iBACA,sBACA,MACA,YACA,8BACA,wBACA,YACA,aACA,cACA,2BACA,iBACA,YACA,aACA,OACA,QACA,oBACA,6BACA,2BACA,cACA,mBACK;AACP,SAAS,wBAAwB;AAEjC,SAAS,6BAA6B;AACtC,cAAc,cAAc;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,4BAA4B;AACrC,cAAc,sBAAsB;AACpC,SAAS,8BAA8B;AACvC,cAAc,qBAAqB;AAEnC,SACE,aACA,wBACA,wBACK;AAEP,SACE,qCACA,4CACK","names":[],"sources":["../../src/index.ts"],"version":3,"file":"index.d.ts"}
@@ -0,0 +1 @@
1
+ export declare function extractNamespace(fqApiName: string): [string | undefined, string];
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,OAAO,iBAAS,iBACdA","names":["fqApiName: string"],"sources":["../../../../src/internal/conversions/extractNamespace.ts"],"version":3,"file":"extractNamespace.d.ts"}
@@ -0,0 +1,2 @@
1
+ import type { ObjectOrInterfaceDefinition } from "@osdk/api";
2
+ export declare function fullyQualifyPropName(fieldName: string, objectOrInterface: ObjectOrInterfaceDefinition): string;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,mCAAmC,WAAY;AAG7D,OAAO,iBAAS,qBACdA,mBACAC,mBAAmB","names":["fieldName: string","objectOrInterface: ObjectOrInterfaceDefinition"],"sources":["../../../../src/internal/conversions/fullyQualifyPropName.ts"],"version":3,"file":"fullyQualifyPropName.d.ts"}
@@ -0,0 +1,3 @@
1
+ import type { PropertyIdentifier, SearchJsonQueryV2 } from "@osdk/foundry.ontologies";
2
+ import type { BBox } from "geojson";
3
+ export declare function makeGeoFilterBbox(bbox: BBox, filterType: "$within" | "$intersects", propertyIdentifier?: PropertyIdentifier, field?: string): SearchJsonQueryV2;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cACE,oBACA,yBACK,0BAA2B;AAClC,cAAc,YAAY,SAAU;AAEpC,OAAO,iBAAS,kBACdA,MAAM,MACNC,YAAY,YAAY,eACxBC,qBAAqB,oBACrBC,iBACC","names":["bbox: BBox","filterType: \"$within\" | \"$intersects\"","propertyIdentifier?: PropertyIdentifier","field?: string"],"sources":["../../../../src/internal/conversions/makeGeoFilterBbox.ts"],"version":3,"file":"makeGeoFilterBbox.d.ts"}
@@ -0,0 +1,3 @@
1
+ import type { GeoFilterOptions } from "@osdk/api";
2
+ import type { PropertyIdentifier, SearchJsonQueryV2 } from "@osdk/foundry.ontologies";
3
+ export declare function makeGeoFilterIntersects(intersectsBody: GeoFilterOptions["$intersects"], propertyIdentifier?: PropertyIdentifier, field?: string): SearchJsonQueryV2;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,wBAAwB,WAAY;AAClD,cACE,oBACA,yBACK,0BAA2B;AAIlC,OAAO,iBAAS,wBACdA,gBAAgB,iBAAiB,gBACjCC,qBAAqB,oBACrBC,iBACC","names":["intersectsBody: GeoFilterOptions[\"$intersects\"]","propertyIdentifier?: PropertyIdentifier","field?: string"],"sources":["../../../../src/internal/conversions/makeGeoFilterIntersects.ts"],"version":3,"file":"makeGeoFilterIntersects.d.ts"}
@@ -0,0 +1,3 @@
1
+ import type { PropertyIdentifier, SearchJsonQueryV2 } from "@osdk/foundry.ontologies";
2
+ import type { Position } from "geojson";
3
+ export declare function makeGeoFilterPolygon(coordinates: Position[][], filterType: "intersectsPolygon" | "withinPolygon", propertyIdentifier?: PropertyIdentifier, field?: string): SearchJsonQueryV2;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cACE,oBACA,yBACK,0BAA2B;AAClC,cAAc,gBAAgB,SAAU;AAExC,OAAO,iBAAS,qBACdA,aAAa,cACbC,YAAY,sBAAsB,iBAClCC,qBAAqB,oBACrBC,iBACC","names":["coordinates: Position[][]","filterType: \"intersectsPolygon\" | \"withinPolygon\"","propertyIdentifier?: PropertyIdentifier","field?: string"],"sources":["../../../../src/internal/conversions/makeGeoFilterPolygon.ts"],"version":3,"file":"makeGeoFilterPolygon.d.ts"}
@@ -0,0 +1,3 @@
1
+ import type { GeoFilterOptions } from "@osdk/api";
2
+ import type { PropertyIdentifier, SearchJsonQueryV2 } from "@osdk/foundry.ontologies";
3
+ export declare function makeGeoFilterWithin(withinBody: GeoFilterOptions["$within"], propertyIdentifier?: PropertyIdentifier, field?: string): SearchJsonQueryV2;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,wBAAwB,WAAY;AAElD,cACE,oBACA,yBACK,0BAA2B;AAIlC,OAAO,iBAAS,oBACdA,YAAY,iBAAiB,YAC7BC,qBAAqB,oBACrBC,iBACC","names":["withinBody: GeoFilterOptions[\"$within\"]","propertyIdentifier?: PropertyIdentifier","field?: string"],"sources":["../../../../src/internal/conversions/makeGeoFilterWithin.ts"],"version":3,"file":"makeGeoFilterWithin.d.ts"}
@@ -1 +1 @@
1
- export declare function extractNamespace(fqApiName: string): [string | undefined, string];
1
+ export {};
@@ -1 +1 @@
1
- {"mappings":"AA+BA,OAAO,iBAAS,iBACdA","names":["fqApiName: string"],"sources":["../../../../src/internal/conversions/modernToLegacyWhereClause.ts"],"version":3,"file":"modernToLegacyWhereClause.d.ts"}
1
+ {"mappings":"","names":[],"sources":["../../../../src/internal/conversions/modernToLegacyWhereClause.ts"],"version":3,"file":"modernToLegacyWhereClause.d.ts"}
@@ -0,0 +1,18 @@
1
+ import type { ObjectMetadata } from "@osdk/api";
2
+ import type { SimpleOsdkProperties } from "../SimpleOsdkProperties.js";
3
+ export interface FormatPropertyOptions {
4
+ locale?: string;
5
+ timezoneId?: string;
6
+ }
7
+ type PropertyValue = string | Array<string> | number | Array<number> | boolean | Array<boolean> | undefined;
8
+ /**
9
+ * Applies formatting rules to a property value and returns the formatted string value.
10
+ *
11
+ * @param propertyValue - The value of the property to format
12
+ * @returns The formatted string value, or undefined if the property cannot be formatted
13
+ *
14
+ * @experimental This is a stub implementation that returns undefined.
15
+ * The actual formatting logic will be implemented later.
16
+ */
17
+ export declare function applyPropertyFormatter(propertyValue: PropertyValue, propertyDefinition: ObjectMetadata.Property | undefined, objectData: SimpleOsdkProperties, options?: FormatPropertyOptions): string | undefined;
18
+ export {};
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,sBAAmD,WAAY;AAC7E,cAAc,4BAA4B,4BAA6B;AAMvE,iBAAiB,sBAAsB;CACrC;CACA;AACD;KAEI,yBAED,yBAEA,0BAEA;;;;;;;;;;AAcJ,OAAO,iBAAS,uBACdA,eAAe,eACfC,oBAAoB,eAAe,sBACnCC,YAAY,sBACZC,UAAS","names":["propertyValue: PropertyValue","propertyDefinition: ObjectMetadata.Property | undefined","objectData: SimpleOsdkProperties","options: FormatPropertyOptions"],"sources":["../../../../src/object/formatting/applyPropertyFormatter.ts"],"version":3,"file":"applyPropertyFormatter.d.ts"}
@@ -0,0 +1 @@
1
+ {"mappings":"","names":[],"sources":["../../../../src/object/formatting/applyPropertyFormatter.test.ts"],"version":3,"file":"applyPropertyFormatter.test.d.ts"}
@@ -0,0 +1,5 @@
1
+ import type { PropertyBooleanFormattingRule } from "@osdk/api";
2
+ /**
3
+ * Formats a boolean value according to the specified formatting rule
4
+ */
5
+ export declare function formatBoolean(value: boolean, rule: PropertyBooleanFormattingRule): string;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,qCAAqC,WAAY;;;;AAK/D,OAAO,iBAAS,cACdA,gBACAC,MAAM","names":["value: boolean","rule: PropertyBooleanFormattingRule"],"sources":["../../../../src/object/formatting/formatBoolean.ts"],"version":3,"file":"formatBoolean.d.ts"}
@@ -0,0 +1,6 @@
1
+ import type { DatetimeFormat, DatetimeTimezone } from "@osdk/api";
2
+ import type { SimpleOsdkProperties } from "../SimpleOsdkProperties.js";
3
+ /**
4
+ * Formats a date/timestamp value according to the specified formatting rule
5
+ */
6
+ export declare function formatDateTime(value: Date, format: DatetimeFormat, timezone: DatetimeTimezone | undefined, objectData: SimpleOsdkProperties, locale: string, userTimezoneOverride?: string): string | undefined;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cACE,gBAEA,wBACK,WAAY;AAEnB,cAAc,4BAA4B,4BAA6B;;;;AAMvE,OAAO,iBAAS,eACdA,OAAO,MACPC,QAAQ,gBACRC,UAAU,8BACVC,YAAY,sBACZC,gBACAC","names":["value: Date","format: DatetimeFormat","timezone: DatetimeTimezone | undefined","objectData: SimpleOsdkProperties","locale: string","userTimezoneOverride?: string"],"sources":["../../../../src/object/formatting/formatDateTime.ts"],"version":3,"file":"formatDateTime.d.ts"}
@@ -0,0 +1,15 @@
1
+ import type { PropertyNumberFormattingRuleType } from "@osdk/api";
2
+ import type { SimpleOsdkProperties } from "../SimpleOsdkProperties.js";
3
+ /**
4
+ * Extended NumberFormatOptions that includes rounding mode support
5
+ * which is available in modern browsers but not yet in TypeScript types.
6
+ * Only includes modes that are actually supported by Intl.NumberFormat and used in our API.
7
+ */
8
+ export interface ExtendedNumberFormatOptions extends Intl.NumberFormatOptions {
9
+ roundingMode?: "ceil" | "floor" | "halfExpand";
10
+ convertNegativeToParenthesis?: boolean;
11
+ }
12
+ /**
13
+ * Formats a number value according to the specified formatting rule
14
+ */
15
+ export declare function formatNumber(value: number, numberType: PropertyNumberFormattingRuleType, objectData: SimpleOsdkProperties, locale: string): string | undefined;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAUE,wCACK,WAAY;AACnB,cAAc,4BAA4B,4BAA6B;;;;;;AAQvE,iBAAiB,oCAAoC,KAAK,oBAAoB;CAC5E,eAAe,SAAS,UAAU;CAClC;AACD;;;;AAKD,OAAO,iBAAS,aACdA,eACAC,YAAY,kCACZC,YAAY,sBACZC","names":["value: number","numberType: PropertyNumberFormattingRuleType","objectData: SimpleOsdkProperties","locale: string"],"sources":["../../../../src/object/formatting/formatNumber.ts"],"version":3,"file":"formatNumber.d.ts"}
@@ -0,0 +1,10 @@
1
+ import type { PropertyTypeReferenceOrStringConstant } from "@osdk/api";
2
+ import type { SimpleOsdkProperties } from "../SimpleOsdkProperties.js";
3
+ /**
4
+ * Resolves a property reference or string constant to its actual value
5
+ */
6
+ export declare function resolvePropertyReference(ref: PropertyTypeReferenceOrStringConstant, objectData: SimpleOsdkProperties): string | undefined;
7
+ /**
8
+ * Gets the browser's current locale
9
+ */
10
+ export declare function getBrowserLocale(): string;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,6CAA6C,WAAY;AACvE,cAAc,4BAA4B,4BAA6B;;;;AAMvE,OAAO,iBAAS,yBACdA,KAAK,uCACLC,YAAY;;;;AAad,OAAO,iBAAS","names":["ref: PropertyTypeReferenceOrStringConstant","objectData: SimpleOsdkProperties"],"sources":["../../../../src/object/formatting/propertyFormattingUtils.ts"],"version":3,"file":"propertyFormattingUtils.d.ts"}
@@ -1,4 +1,4 @@
1
- import type { ActionDefinition, ActionValidationResponse, InterfaceDefinition, ObjectSet, ObjectTypeDefinition, Osdk, PrimaryKeyType, PropertyKeys, WhereClause, WirePropertyTypes } from "@osdk/api";
1
+ import type { ActionDefinition, ActionValidationResponse, AggregateOpts, AggregationsResults, DerivedProperty, InterfaceDefinition, ObjectOrInterfaceDefinition, ObjectSet, ObjectTypeDefinition, Osdk, PrimaryKeyType, PropertyKeys, SimplePropertyDef, WhereClause, WirePropertyTypes } from "@osdk/api";
2
2
  import type { ActionSignatureFromDef } from "../actions/applyAction.js";
3
3
  import { type Client } from "../Client.js";
4
4
  import type { Canonical } from "./internal/Canonical.js";
@@ -17,14 +17,38 @@ export interface ObserveObjectOptions<T extends ObjectTypeDefinition | Interface
17
17
  select?: PropertyKeys<T>[];
18
18
  }
19
19
  export type OrderBy<Q extends ObjectTypeDefinition | InterfaceDefinition> = { [K in PropertyKeys<Q>]? : "asc" | "desc" | undefined };
20
- export interface ObserveListOptions<Q extends ObjectTypeDefinition | InterfaceDefinition> extends CommonObserveOptions, ObserveOptions {
20
+ export interface ObserveListOptions<
21
+ Q extends ObjectOrInterfaceDefinition,
22
+ RDPs extends Record<string, SimplePropertyDef> = {}
23
+ > extends CommonObserveOptions, ObserveOptions {
21
24
  type: Pick<Q, "apiName" | "type">;
22
- where?: WhereClause<Q>;
25
+ where?: WhereClause<Q, RDPs>;
23
26
  pageSize?: number;
24
27
  orderBy?: OrderBy<Q>;
25
28
  invalidationMode?: InvalidationMode;
26
29
  expectedLength?: number;
27
30
  streamUpdates?: boolean;
31
+ withProperties?: DerivedProperty.Clause<Q>;
32
+ /**
33
+ * Automatically fetch additional pages on initial load.
34
+ *
35
+ * - `true`: Fetch all available pages automatically
36
+ * - `number`: Fetch pages until at least this many items are loaded
37
+ * - `undefined` (default): Only fetch the first page, user must call fetchMore()
38
+ *
39
+ * @example
40
+ * // Fetch all todos at once
41
+ * observeList({ type: Todo, autoFetchMore: true }, observer)
42
+ *
43
+ * @example
44
+ * // Fetch at least 100 todos
45
+ * observeList({ type: Todo, autoFetchMore: 100, pageSize: 25 }, observer)
46
+ */
47
+ autoFetchMore?: boolean | number;
48
+ intersectWith?: Array<{
49
+ where: WhereClause<Q, RDPs>
50
+ }>;
51
+ pivotTo?: string;
28
52
  }
29
53
  export interface ObserveObjectArgs<T extends ObjectTypeDefinition> {
30
54
  object: Osdk.Instance<T> | undefined;
@@ -52,6 +76,28 @@ export interface ObserveObjectSetArgs<
52
76
  status: Status;
53
77
  objectSet: ObjectSet<T, RDPs>;
54
78
  }
79
+ export interface ObserveAggregationOptions<
80
+ T extends ObjectOrInterfaceDefinition,
81
+ A extends AggregateOpts<T>,
82
+ RDPs extends Record<string, SimplePropertyDef> = {}
83
+ > extends CommonObserveOptions, ObserveOptions {
84
+ type: T;
85
+ where?: WhereClause<T, RDPs>;
86
+ withProperties?: DerivedProperty.Clause<T>;
87
+ intersectWith?: Array<{
88
+ where: WhereClause<T, RDPs>
89
+ }>;
90
+ aggregate: A;
91
+ }
92
+ export interface ObserveAggregationArgs<
93
+ T extends ObjectOrInterfaceDefinition,
94
+ A extends AggregateOpts<T>
95
+ > {
96
+ result: AggregationsResults<T, A> | undefined;
97
+ status: Status;
98
+ lastUpdated: number;
99
+ error?: Error;
100
+ }
55
101
  /**
56
102
  * User facing callback args for `observeLink`
57
103
  */
@@ -103,7 +149,10 @@ export interface ObservableClient extends ObserveLinks {
103
149
  * - Pagination via fetchMore() in the payload
104
150
  * - Automatic updates when any matching object changes
105
151
  */
106
- observeList<T extends ObjectTypeDefinition | InterfaceDefinition>(options: ObserveListOptions<T>, subFn: Observer<ObserveObjectsArgs<T>>): Unsubscribable;
152
+ observeList<
153
+ T extends ObjectTypeDefinition | InterfaceDefinition,
154
+ RDPs extends Record<string, SimplePropertyDef> = {}
155
+ >(options: ObserveListOptions<T, RDPs>, subFn: Observer<ObserveObjectsArgs<T>>): Unsubscribable;
107
156
  /**
108
157
  * Observe an ObjectSet with automatic updates when matching objects change.
109
158
  *
@@ -124,6 +173,25 @@ export interface ObservableClient extends ObserveLinks {
124
173
  RDPs extends Record<string, WirePropertyTypes | undefined | Array<WirePropertyTypes>> = {}
125
174
  >(baseObjectSet: ObjectSet<T>, options: ObserveObjectSetOptions<T, RDPs>, subFn: Observer<ObserveObjectSetArgs<T, RDPs>>): Unsubscribable;
126
175
  /**
176
+ * Observe an aggregation query with automatic updates when underlying data changes.
177
+ *
178
+ * @param options - Aggregation configuration including where, aggregate spec, and derived properties
179
+ * @param subFn - Observer that receives aggregation result updates
180
+ * @returns Subscription that can be unsubscribed to stop updates
181
+ *
182
+ * Supports:
183
+ * - Filtering with where clauses
184
+ * - Derived properties (RDPs) via withProperties
185
+ * - Set intersections
186
+ * - GroupBy and metric aggregations
187
+ * - Automatic updates when source data changes
188
+ */
189
+ observeAggregation<
190
+ T extends ObjectOrInterfaceDefinition,
191
+ A extends AggregateOpts<T>,
192
+ RDPs extends Record<string, SimplePropertyDef> = {}
193
+ >(options: ObserveAggregationOptions<T, A, RDPs>, subFn: Observer<ObserveAggregationArgs<T, A>>): Unsubscribable;
194
+ /**
127
195
  * Execute an action with optional optimistic updates.
128
196
  *
129
197
  * @param action - Action definition to execute
@@ -172,7 +240,10 @@ export interface ObservableClient extends ObserveLinks {
172
240
  * @returns Promise that resolves when invalidation is complete
173
241
  */
174
242
  invalidateObjectType<T extends ObjectTypeDefinition>(type: T | T["apiName"]): Promise<void>;
175
- canonicalizeWhereClause: <T extends ObjectTypeDefinition | InterfaceDefinition>(where: WhereClause<T>) => Canonical<WhereClause<T>>;
243
+ canonicalizeWhereClause: <
244
+ T extends ObjectTypeDefinition | InterfaceDefinition,
245
+ RDPs extends Record<string, SimplePropertyDef> = {}
246
+ >(where: WhereClause<T, RDPs>) => Canonical<WhereClause<T, RDPs>>;
176
247
  }
177
248
  export declare function createObservableClient(client: Client): ObservableClient;
178
249
  export interface Unsubscribable {
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,kBACA,0BACA,qBACA,WACA,sBACA,MACA,gBACA,cACA,aACA,yBACK,WAAY;AAEnB,cAAc,8BAA8B,2BAA4B;AACxE,cAAiC,cAAc,cAAe;AAG9D,cAAc,iBAAiB,yBAA0B;AACzD,cAAc,+BAA+B,+CAAgD;AAG7F,cACE,sBACA,kBACA,gBACA,UACA,cACK,8BAA+B;AACtC,cAAc,oBAAoB,mCAAoC;AACtE,cAAc,yBAAyB,wBAAyB;AAEhE,yBAAiB;WACE,mBAAmB;EAClC,oBAAoBA,KAAK;CAC1B;;AAGH,iBAAiB,qBACf,UAAU,uBAAuB,6BACzB,eAAe;CACvB,SAAS,EAAE,aAAa;CACxB,IAAI,eAAe;CACnB,SAAS,aAAa;AACvB;AAED,YAAY,QAAQ,UAAU,uBAAuB,0BAClD,KAAK,aAAa,OAAM,QAAQ;AAGnC,iBAAiB,mBACf,UAAU,uBAAuB,6BACzB,sBAAsB,eAAe;CAC7C,MAAM,KAAK,GAAG,YAAY;CAC1B,QAAQ,YAAY;CACpB;CACA,UAAU,QAAQ;CAClB,mBAAmB;CACnB;CACA;AACD;AAID,iBAAiB,kBAAkB,UAAU,sBAAsB;CACjE,QAAQ,KAAK,SAAS;CACtB;CACA,QAAQ;CACR;AACD;AAGD,iBAAiB,mBACf,UAAU,uBAAuB,qBACjC;CACA,cAAc,MAAM,KAAK,SAAS;CAClC;CACA;CACA,iBAAiB;CACjB;CACA,QAAQ;AACT;AAED,iBAAiB;CACf,UAAU,uBAAuB;CACjC,aAAa,eAEX,gCAAgC,MAAM,sBACpC,CAAE;EACN;CACA,cAAc,MACZ,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI;CAE1D;CACA;CACA,iBAAiB;CACjB;CACA,QAAQ;CACR,WAAW,UAAU,GAAG;AACzB;;;;AAKD,iBAAiB,wBACf,UAAU,uBAAuB,qBACjC;CACA,cAAc,KAAK,SAAS;CAC5B;CACA;CACA,iBAAiB;CACjB;CACA,QAAQ;AACT;;;;;;;;;;;AAYD,iBAAiB,yBAAyB,aAAa;;;;;;;;;;;;;;;;CAgBrD,cAAc,UAAU,sBACtBC,SAAS,EAAE,aAAa,GACxBC,IAAI,eAAe,IACnBC,SAAS,gBACTC,OAAO,SAAS,kBAAkB,MACjC;;;;;;;;;;;;;;CAeH,YAAY,UAAU,uBAAuB,qBAC3CC,SAAS,mBAAmB,IAC5BC,OAAO,SAAS,mBAAmB,MAClC;;;;;;;;;;;;;;;;CAiBH;EACE,UAAU;EACV,aAAa,eAEX,gCAAgC,MAAM,sBACpC,CAAE;GAENC,eAAe,UAAU,IACzBC,SAAS,wBAAwB,GAAG,OACpCC,OAAO,SAAS,qBAAqB,GAAG,SACvC;;;;;;;;;;;;;;;CAgBH,cAAc,UAAU,uBACtBC,QAAQ,GACRC,MACI,WAAW,uBAAuB,GAAG,gBAAgB,KACrD,MAAM,WAAW,uBAAuB,GAAG,gBAAgB,KAC/DC,OAAO,iBAAiB,uBACrB;;;;;;;;;;;;;CAcL,iBAAiB,UAAU,uBACzBF,QAAQ,GACRG,MAAM,WAAW,uBAAuB,GAAG,gBAAgB,OACxD,QAAQ;;;;;CAMb,iBAAiB;;;;;CAMjB,kBACEC,SACI,KAAK,SAAS,wBACd,cAAc,KAAK,SAAS,yBAC/B;;;;;;;;;;;CAYH,qBAAqB,UAAU,sBAC7BC,MAAM,IAAI,EAAE,aACX;CAEH,0BACE,UAAU,uBAAuB,qBAEjCC,OAAO,YAAY,OAChB,UAAU,YAAY;AAC5B;AAED,OAAO,iBAAS,uBAAuBC,QAAQ,SAAS;AA0BxD,iBAAiB,eAAe;CAC9B;AACD","names":["ctx: OptimisticBuilder","apiName: T[\"apiName\"] | T","pk: PrimaryKeyType<T>","options: ObserveOptions","subFn: Observer<ObserveObjectArgs<T>>","options: ObserveListOptions<T>","subFn: Observer<ObserveObjectsArgs<T>>","baseObjectSet: ObjectSet<T>","options: ObserveObjectSetOptions<T, RDPs>","subFn: Observer<ObserveObjectSetArgs<T, RDPs>>","action: Q","args:\n | Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]\n | Array<Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]>","opts?: ObservableClient.ApplyActionOptions","args: Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]","objects:\n | Osdk.Instance<ObjectTypeDefinition>\n | ReadonlyArray<Osdk.Instance<ObjectTypeDefinition>>","type: T | T[\"apiName\"]","where: WhereClause<T>","client: Client"],"sources":["../../../src/observable/ObservableClient.ts"],"version":3,"file":"ObservableClient.d.ts"}
1
+ {"mappings":"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","names":["ctx: OptimisticBuilder","apiName: T[\"apiName\"] | T","pk: PrimaryKeyType<T>","options: ObserveOptions","subFn: Observer<ObserveObjectArgs<T>>","options: ObserveListOptions<T, RDPs>","subFn: Observer<ObserveObjectsArgs<T>>","baseObjectSet: ObjectSet<T>","options: ObserveObjectSetOptions<T, RDPs>","subFn: Observer<ObserveObjectSetArgs<T, RDPs>>","options: ObserveAggregationOptions<T, A, RDPs>","subFn: Observer<ObserveAggregationArgs<T, A>>","action: Q","args:\n | Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]\n | Array<Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]>","opts?: ObservableClient.ApplyActionOptions","args: Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]","objects:\n | Osdk.Instance<ObjectTypeDefinition>\n | ReadonlyArray<Osdk.Instance<ObjectTypeDefinition>>","type: T | T[\"apiName\"]","where: WhereClause<T, RDPs>","client: Client"],"sources":["../../../src/observable/ObservableClient.ts"],"version":3,"file":"ObservableClient.d.ts"}
@@ -1 +1 @@
1
- {"mappings":"AAqBA,cAAiC,cAAc,iBAAkB;AACjE,cACE,oBACK,uDAAwD;AAgB/D,OAAO,iBAAS,oBAAoBA,QAAQ,SAAS;AAIrD,OAAO,cAAM,iBAAiB;;CAW5B,YAAYA,QAAQ,QAAQ,kBAAc;CAO1C,AAAa,MACXC,iBACAC,wCACC,QAAQ;AAyDZ","names":["client: Client","apiName: string","primaryKey: string | number | boolean"],"sources":["../../../../src/observable/internal/BulkObjectLoader.ts"],"version":3,"file":"BulkObjectLoader.d.ts"}
1
+ {"mappings":"AAqBA,cAAiC,cAAc,iBAAkB;AACjE,cACE,oBACK,uDAAwD;AAgB/D,OAAO,iBAAS,oBAAoBA,QAAQ,SAAS;AAIrD,OAAO,cAAM,iBAAiB;;CAW5B,YAAYA,QAAQ,QAAQ,kBAAc;CAO1C,AAAa,MACXC,iBACAC,wCACC,QAAQ;AA6DZ","names":["client: Client","apiName: string","primaryKey: string | number | boolean"],"sources":["../../../../src/observable/internal/BulkObjectLoader.ts"],"version":3,"file":"BulkObjectLoader.d.ts"}
@@ -1 +1 @@
1
- {"mappings":"AAkBA,cAAc,gBAAgB,eAAgB;;;;;AAO9C,OAAO,cAAM,UAAU,kBAAkB,UAAU;;CAwCjD,YACE,EAAE,UAAU,WAGX,EAHwB;EACvB,YAAYA,UAAU;EACtB,aAAaA,UAAU;CACxB;CAwBH,IAAI,UAAU,WACZC,MAAM,EAAE,SACR,GAAG,MAAM,EAAE,cAAc,UACxB;CAsBH,OAAOD,UAAU;CAIjB,QAAQA,UAAU;AAgBnB","names":["cacheKey: TCacheKey","type: K[\"type\"]"],"sources":["../../../../src/observable/internal/CacheKeys.ts"],"version":3,"file":"CacheKeys.d.ts"}
1
+ {"mappings":"AAkBA,cAAc,gBAAgB,eAAgB;;;;;AAO9C,OAAO,cAAM,UAAU,kBAAkB,UAAU;;CAwCjD,YACE,EAAE,UAAU,WAGX,EAHwB;EACvB,YAAYA,UAAU;EACtB,aAAaA,UAAU;CACxB;CAwBH,IAAI,UAAU,WACZC,MAAM,EAAE,SACR,GAAG,MAAM,EAAE,cAAc,UACxB;CAkCH,OAAOD,UAAU;CAIjB,QAAQA,UAAU;AAgBnB","names":["cacheKey: TCacheKey","type: K[\"type\"]"],"sources":["../../../../src/observable/internal/CacheKeys.ts"],"version":3,"file":"CacheKeys.d.ts"}
@@ -0,0 +1,37 @@
1
+ import type { Canonical } from "./Canonical.js";
2
+ /**
3
+ * Interface for canonicalizing objects.
4
+ */
5
+ export interface Canonicalizer<
6
+ TInput,
7
+ TCanonical
8
+ > {
9
+ /**
10
+ * Canonicalizes the input object. Returns the same reference for
11
+ * structurally identical inputs.
12
+ */
13
+ canonicalize(input: TInput | undefined): Canonical<TCanonical> | undefined;
14
+ }
15
+ /**
16
+ * Base class for canonicalizers that provides common caching infrastructure.
17
+ * Subclasses control how structural deduplication is performed.
18
+ */
19
+ export declare abstract class CachingCanonicalizer<
20
+ TInput extends object,
21
+ TCanonical
22
+ > implements Canonicalizer<TInput, TCanonical> {
23
+ /**
24
+ * Cache for input object identity.
25
+ */
26
+ protected inputCache: WeakMap<TInput, Canonical<TCanonical>>;
27
+ /**
28
+ * Look up or create a canonical form for the given input.
29
+ * This method handles the structural deduplication logic.
30
+ *
31
+ * @param input The input to canonicalize
32
+ * @returns The canonical form
33
+ */
34
+ protected abstract lookupOrCreate(input: TInput): Canonical<TCanonical>;
35
+ canonicalize(input: TInput): Canonical<TCanonical>;
36
+ canonicalize(input: TInput | undefined): Canonical<TCanonical> | undefined;
37
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,iBAAiB,gBAAiB;;;;AAKhD,iBAAiB;CAAc;CAAQ;EAAY;;;;;CAKjD,aAAaA,OAAO,qBAAqB,UAAU;AACpD;;;;;AAMD,OAAO,uBAAe;CAAqB;CAAuB;aACrD,cAAc,QAAQ,YACnC;;;;CAIE,UAAU,YAAY,QAAQ,QAAQ,UAAU;;;;;;;;CAYhD,mBAAmB,eAAeC,OAAO,SAAS,UAAU;CAE5D,aAAaA,OAAO,SAAS,UAAU;CACvC,aAAaD,OAAO,qBAAqB,UAAU;AAcpD","names":["input: TInput | undefined","input: TInput"],"sources":["../../../../src/observable/internal/Canonicalizer.ts"],"version":3,"file":"Canonicalizer.d.ts"}
@@ -1,5 +1,6 @@
1
1
  import { MultiMap } from "mnemonist";
2
2
  import type { ObjectHolder } from "../../object/convertWireToOsdkObjects/ObjectHolder.js";
3
+ import type { AggregationCacheKey } from "./aggregation/AggregationCacheKey.js";
3
4
  import type { SpecificLinkCacheKey } from "./links/SpecificLinkCacheKey.js";
4
5
  import type { ListCacheKey } from "./list/ListCacheKey.js";
5
6
  import type { ObjectCacheKey } from "./object/ObjectCacheKey.js";
@@ -7,9 +8,9 @@ import type { ObjectSetCacheKey } from "./objectset/ObjectSetCacheKey.js";
7
8
  export declare class Changes {
8
9
  modifiedObjects: MultiMap<string, ObjectHolder>;
9
10
  addedObjects: MultiMap<string, ObjectHolder>;
10
- added: Set<ListCacheKey | ObjectCacheKey | SpecificLinkCacheKey | ObjectSetCacheKey>;
11
- modified: Set<ListCacheKey | ObjectCacheKey | SpecificLinkCacheKey | ObjectSetCacheKey>;
12
- deleted: Set<ListCacheKey | ObjectCacheKey | SpecificLinkCacheKey | ObjectSetCacheKey>;
11
+ added: Set<AggregationCacheKey | ListCacheKey | ObjectCacheKey | SpecificLinkCacheKey | ObjectSetCacheKey>;
12
+ modified: Set<AggregationCacheKey | ListCacheKey | ObjectCacheKey | SpecificLinkCacheKey | ObjectSetCacheKey>;
13
+ deleted: Set<AggregationCacheKey | ListCacheKey | ObjectCacheKey | SpecificLinkCacheKey | ObjectSetCacheKey>;
13
14
  registerObject: (cacheKey: ObjectCacheKey, data: ObjectHolder, isNew: boolean) => void;
14
15
  deleteObject: (cacheKey: ObjectCacheKey) => void;
15
16
  registerList: (key: ListCacheKey) => void;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,SAAS,gBAAgB,WAAY;AACrC,cAAc,oBAAoB,uDAAwD;AAG1F,cAAc,4BAA4B,iCAAkC;AAC5E,cAAc,oBAAoB,wBAAyB;AAC3D,cAAc,sBAAsB,4BAA6B;AACjE,cAAc,yBAAyB,kCAAmC;AAE1E,OAAO,cAAM,QAAQ;CACnB,iBAAiB,iBAAiB;CAClC,cAAc,iBAAiB;CAE/B,OAAO,IACL,eAAe,iBAAiB,uBAAuB;CAEzD,UAAU,IACR,eAAe,iBAAiB,uBAAuB;CAEzD,SAAS,IACP,eAAe,iBAAiB,uBAAuB;CAGzD,iBACEA,UAAU,gBACVC,MAAM,cACNC;CAMF,eAAgBF,UAAU;CAI1B,eAAgBG,KAAK;CAIrB,eAAgBC,UAAU;CAI1B,aAAcA,UAAU;CAIxB,oBAAqBC,KAAK;CAI1B;AASD;AAED,OAAO,iBAAS,wBAAwB;AAIxC,OAAO,iBAAS,4BAA4BC,SAAS","names":["cacheKey: ObjectCacheKey","data: ObjectHolder","isNew: boolean","key: ListCacheKey","cacheKey: SpecificLinkCacheKey","key: ObjectSetCacheKey","changes: Changes"],"sources":["../../../../src/observable/internal/Changes.ts"],"version":3,"file":"Changes.d.ts"}
1
+ {"mappings":"AAgBA,SAAS,gBAAgB,WAAY;AACrC,cAAc,oBAAoB,uDAAwD;AAC1F,cAAc,2BAA2B,sCAAuC;AAGhF,cAAc,4BAA4B,iCAAkC;AAC5E,cAAc,oBAAoB,wBAAyB;AAC3D,cAAc,sBAAsB,4BAA6B;AACjE,cAAc,yBAAyB,kCAAmC;AAE1E,OAAO,cAAM,QAAQ;CACnB,iBAAiB,iBAAiB;CAClC,cAAc,iBAAiB;CAE/B,OAAO,IACH,sBACA,eACA,iBACA,uBACA;CAEJ,UAAU,IACN,sBACA,eACA,iBACA,uBACA;CAEJ,SAAS,IACL,sBACA,eACA,iBACA,uBACA;CAGJ,iBACEA,UAAU,gBACVC,MAAM,cACNC;CAMF,eAAgBF,UAAU;CAI1B,eAAgBG,KAAK;CAIrB,eAAgBC,UAAU;CAI1B,aAAcA,UAAU;CAIxB,oBAAqBC,KAAK;CAI1B;AASD;AAED,OAAO,iBAAS,wBAAwB;AAIxC,OAAO,iBAAS,4BAA4BC,SAAS","names":["cacheKey: ObjectCacheKey","data: ObjectHolder","isNew: boolean","key: ListCacheKey","cacheKey: SpecificLinkCacheKey","key: ObjectSetCacheKey","changes: Changes"],"sources":["../../../../src/observable/internal/Changes.ts"],"version":3,"file":"Changes.d.ts"}
@@ -0,0 +1,18 @@
1
+ import type { ObjectOrInterfaceDefinition, SimplePropertyDef, WhereClause } from "@osdk/api";
2
+ import type { Canonical } from "./Canonical.js";
3
+ import { CachingCanonicalizer } from "./Canonicalizer.js";
4
+ import type { SimpleWhereClause } from "./SimpleWhereClause.js";
5
+ import type { WhereClauseCanonicalizer } from "./WhereClauseCanonicalizer.js";
6
+ type IntersectWithInput<
7
+ T extends ObjectOrInterfaceDefinition = ObjectOrInterfaceDefinition,
8
+ RDPs extends Record<string, SimplePropertyDef> = Record<string, SimplePropertyDef>
9
+ > = Array<{
10
+ where: WhereClause<T, RDPs>
11
+ }>;
12
+ export declare class IntersectCanonicalizer extends CachingCanonicalizer<IntersectWithInput, Array<Canonical<SimpleWhereClause>>> {
13
+ private whereCanonicalizer;
14
+ private structuralCache;
15
+ constructor(whereCanonicalizer: WhereClauseCanonicalizer);
16
+ protected lookupOrCreate(intersectWith: IntersectWithInput): Canonical<Array<Canonical<SimpleWhereClause>>>;
17
+ }
18
+ export {};
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cACE,6BACA,mBACA,mBACK,WAAY;AACnB,cAAc,iBAAiB,gBAAiB;AAChD,SAAS,4BAA4B,oBAAqB;AAC1D,cAAc,yBAAyB,wBAAyB;AAChE,cAAc,gCAAgC,+BAAgC;KAEzE;CACH,UAAU,8BAA8B;CACxC,aAAa,eAAe,qBAAqB,eAE/C;IAEA,MAAM;CAAE,OAAO,YAAY,GAAG;AAAO;AAEzC,OAAO,cAAM,+BAA+B,qBAC1C,oBACA,MAAM,UAAU,qBAChB;CAMY;CALZ,QAAQ;CAKR,YAAoBA,oBAAoB;CAIxC,UAAU,eACRC,eAAe,qBACd,UAAU,MAAM,UAAU;AAoB9B","names":["whereCanonicalizer: WhereClauseCanonicalizer","intersectWith: IntersectWithInput"],"sources":["../../../../src/observable/internal/IntersectCanonicalizer.ts"],"version":3,"file":"IntersectCanonicalizer.d.ts"}