@osdk/client 2.5.0-beta.4 → 2.5.0-beta.6

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 (327) hide show
  1. package/CHANGELOG.md +33 -4
  2. package/build/browser/MinimalClientContext.js.map +1 -1
  3. package/build/browser/actions/applyAction.js +4 -0
  4. package/build/browser/actions/applyAction.js.map +1 -1
  5. package/build/browser/createClient.js +2 -1
  6. package/build/browser/createClient.js.map +1 -1
  7. package/build/browser/createMinimalClient.js +2 -1
  8. package/build/browser/createMinimalClient.js.map +1 -1
  9. package/build/browser/index.js +2 -0
  10. package/build/browser/index.js.map +1 -1
  11. package/build/browser/object/Cache.test.js +1 -1
  12. package/build/browser/object/Cache.test.js.map +1 -1
  13. package/build/browser/object/aggregate.js +2 -0
  14. package/build/browser/object/aggregate.js.map +1 -1
  15. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +1 -0
  16. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  17. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +6 -0
  18. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  19. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +20 -1
  20. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  21. package/build/browser/object/convertWireToOsdkObjects.test.js +2 -0
  22. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  23. package/build/browser/object/fetchPage.js +5 -2
  24. package/build/browser/object/fetchPage.js.map +1 -1
  25. package/build/browser/observable/internal/AbstractHelper.js +4 -3
  26. package/build/browser/observable/internal/AbstractHelper.js.map +1 -1
  27. package/build/browser/observable/internal/BatchContext.js +2 -0
  28. package/build/browser/observable/internal/BatchContext.js.map +1 -0
  29. package/build/browser/observable/internal/CacheKeys.js +61 -36
  30. package/build/browser/observable/internal/CacheKeys.js.map +1 -1
  31. package/build/browser/observable/internal/Changes.js.map +1 -1
  32. package/build/browser/observable/internal/KnownCacheKey.js.map +1 -1
  33. package/build/browser/observable/internal/Layer.js +0 -8
  34. package/build/browser/observable/internal/Layer.js.map +1 -1
  35. package/build/browser/observable/internal/Layers.js +151 -0
  36. package/build/browser/observable/internal/Layers.js.map +1 -0
  37. package/build/browser/observable/internal/ObservableClientImpl.js +3 -1
  38. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  39. package/build/browser/observable/internal/OrderByCanonicalizer.js +1 -37
  40. package/build/browser/observable/internal/OrderByCanonicalizer.js.map +1 -1
  41. package/build/browser/observable/internal/Queries.js +40 -0
  42. package/build/browser/observable/internal/Queries.js.map +1 -0
  43. package/build/browser/observable/internal/Query.js +1 -0
  44. package/build/browser/observable/internal/Query.js.map +1 -1
  45. package/build/browser/observable/internal/Store.js +37 -226
  46. package/build/browser/observable/internal/Store.js.map +1 -1
  47. package/build/browser/observable/internal/Store.test.js +12 -10
  48. package/build/browser/observable/internal/Store.test.js.map +1 -1
  49. package/build/browser/observable/internal/SubjectPayload.js +2 -0
  50. package/build/browser/observable/internal/SubjectPayload.js.map +1 -0
  51. package/build/browser/observable/internal/Subjects.js +55 -0
  52. package/build/browser/observable/internal/Subjects.js.map +1 -0
  53. package/build/browser/observable/internal/WeakRefTrie.js +61 -0
  54. package/build/browser/observable/internal/WeakRefTrie.js.map +1 -0
  55. package/build/browser/observable/internal/{ActionApplication.js → actions/ActionApplication.js} +2 -2
  56. package/build/browser/observable/internal/actions/ActionApplication.js.map +1 -0
  57. package/build/browser/observable/internal/{OptimisticJob.js → actions/OptimisticJob.js} +3 -3
  58. package/build/browser/observable/internal/actions/OptimisticJob.js.map +1 -0
  59. package/build/browser/observable/internal/base-list/BaseCollectionQuery.js.map +1 -0
  60. package/build/browser/observable/internal/base-list/BaseListQuery.js +411 -0
  61. package/build/browser/observable/internal/base-list/BaseListQuery.js.map +1 -0
  62. package/build/{esm/observable/internal → browser/observable/internal/base-list}/createCollectionConnectable.js +2 -2
  63. package/build/browser/observable/internal/base-list/createCollectionConnectable.js.map +1 -0
  64. package/build/{esm/observable/internal → browser/observable/internal/base-list}/createCollectionConnectable.test.js +24 -26
  65. package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -0
  66. package/build/browser/observable/internal/base-list/removeDuplicates.js.map +1 -0
  67. package/build/browser/observable/internal/createInitEntry.js +25 -0
  68. package/build/browser/observable/internal/createInitEntry.js.map +1 -0
  69. package/build/browser/observable/internal/links/LinksHelper.js +5 -5
  70. package/build/browser/observable/internal/links/LinksHelper.js.map +1 -1
  71. package/build/browser/observable/internal/links/SpecificLinkCacheKey.js.map +1 -1
  72. package/build/browser/observable/internal/links/SpecificLinkQuery.js +1 -1
  73. package/build/browser/observable/internal/links/SpecificLinkQuery.js.map +1 -1
  74. package/build/browser/observable/internal/{ListCacheKey.js.map → list/ListCacheKey.js.map} +1 -1
  75. package/build/browser/observable/internal/{ListQuery.js → list/ListQuery.js} +12 -421
  76. package/build/browser/observable/internal/list/ListQuery.js.map +1 -0
  77. package/build/browser/observable/internal/list/ListQueryOptions.js +2 -0
  78. package/build/browser/observable/internal/list/ListQueryOptions.js.map +1 -0
  79. package/build/browser/observable/internal/list/ListsHelper.js +6 -6
  80. package/build/browser/observable/internal/list/ListsHelper.js.map +1 -1
  81. package/build/browser/observable/internal/object/ObjectCacheKey.js +2 -0
  82. package/build/browser/observable/internal/object/ObjectCacheKey.js.map +1 -0
  83. package/build/browser/observable/internal/{ObjectQuery.js → object/ObjectQuery.js} +4 -20
  84. package/build/browser/observable/internal/object/ObjectQuery.js.map +1 -0
  85. package/build/browser/observable/internal/object/ObjectsHelper.js +17 -3
  86. package/build/browser/observable/internal/object/ObjectsHelper.js.map +1 -1
  87. package/build/browser/observable/internal/sorting/SortingStrategy.js.map +1 -1
  88. package/build/browser/observable/internal/testUtils/invalidateList.js +2 -2
  89. package/build/browser/observable/internal/testUtils/invalidateList.js.map +1 -1
  90. package/build/browser/observable/internal/testUtils.js +2 -3
  91. package/build/browser/observable/internal/testUtils.js.map +1 -1
  92. package/build/browser/ontology/loadActionMetadata.js +3 -1
  93. package/build/browser/ontology/loadActionMetadata.js.map +1 -1
  94. package/build/browser/ontology/loadFullObjectMetadata.js +2 -1
  95. package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
  96. package/build/browser/ontology/loadInterfaceMetadata.js +2 -1
  97. package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -1
  98. package/build/browser/queries/applyQuery.js +3 -3
  99. package/build/browser/queries/applyQuery.js.map +1 -1
  100. package/build/browser/util/UserAgent.js +2 -2
  101. package/build/browser/util/extractObjectOrInterfaceType.js +9 -1
  102. package/build/browser/util/extractObjectOrInterfaceType.js.map +1 -1
  103. package/build/browser/util/extractObjectOrInterfaceType.test.js +2 -2
  104. package/build/browser/util/extractObjectOrInterfaceType.test.js.map +1 -1
  105. package/build/cjs/{chunk-6CBVXAAV.cjs → chunk-4GWXMQZE.cjs} +107 -75
  106. package/build/cjs/chunk-4GWXMQZE.cjs.map +1 -0
  107. package/build/cjs/{chunk-QR7IBJPZ.cjs → chunk-5KDG5ZET.cjs} +18 -6
  108. package/build/cjs/chunk-5KDG5ZET.cjs.map +1 -0
  109. package/build/cjs/{createClient-BJo8T7Js.d.cts → createClient-mOlFts15.d.cts} +1 -0
  110. package/build/cjs/index.cjs +7 -7
  111. package/build/cjs/index.d.cts +1 -1
  112. package/build/cjs/public/internal.cjs +8 -8
  113. package/build/cjs/public/unstable-do-not-use.cjs +831 -775
  114. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  115. package/build/cjs/public/unstable-do-not-use.d.cts +1 -1
  116. package/build/esm/MinimalClientContext.js.map +1 -1
  117. package/build/esm/actions/applyAction.js +4 -0
  118. package/build/esm/actions/applyAction.js.map +1 -1
  119. package/build/esm/createClient.js +2 -1
  120. package/build/esm/createClient.js.map +1 -1
  121. package/build/esm/createMinimalClient.js +2 -1
  122. package/build/esm/createMinimalClient.js.map +1 -1
  123. package/build/esm/index.js +2 -0
  124. package/build/esm/index.js.map +1 -1
  125. package/build/esm/object/Cache.test.js +1 -1
  126. package/build/esm/object/Cache.test.js.map +1 -1
  127. package/build/esm/object/aggregate.js +2 -0
  128. package/build/esm/object/aggregate.js.map +1 -1
  129. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +1 -0
  130. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  131. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +6 -0
  132. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  133. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +20 -1
  134. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  135. package/build/esm/object/convertWireToOsdkObjects.test.js +2 -0
  136. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  137. package/build/esm/object/fetchPage.js +5 -2
  138. package/build/esm/object/fetchPage.js.map +1 -1
  139. package/build/esm/observable/internal/AbstractHelper.js +4 -3
  140. package/build/esm/observable/internal/AbstractHelper.js.map +1 -1
  141. package/build/esm/observable/internal/BatchContext.js +2 -0
  142. package/build/esm/observable/internal/BatchContext.js.map +1 -0
  143. package/build/esm/observable/internal/CacheKeys.js +61 -36
  144. package/build/esm/observable/internal/CacheKeys.js.map +1 -1
  145. package/build/esm/observable/internal/Changes.js.map +1 -1
  146. package/build/esm/observable/internal/KnownCacheKey.js.map +1 -1
  147. package/build/esm/observable/internal/Layer.js +0 -8
  148. package/build/esm/observable/internal/Layer.js.map +1 -1
  149. package/build/esm/observable/internal/Layers.js +151 -0
  150. package/build/esm/observable/internal/Layers.js.map +1 -0
  151. package/build/esm/observable/internal/ObservableClientImpl.js +3 -1
  152. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  153. package/build/esm/observable/internal/OrderByCanonicalizer.js +1 -37
  154. package/build/esm/observable/internal/OrderByCanonicalizer.js.map +1 -1
  155. package/build/esm/observable/internal/Queries.js +40 -0
  156. package/build/esm/observable/internal/Queries.js.map +1 -0
  157. package/build/esm/observable/internal/Query.js +1 -0
  158. package/build/esm/observable/internal/Query.js.map +1 -1
  159. package/build/esm/observable/internal/Store.js +37 -226
  160. package/build/esm/observable/internal/Store.js.map +1 -1
  161. package/build/esm/observable/internal/Store.test.js +12 -10
  162. package/build/esm/observable/internal/Store.test.js.map +1 -1
  163. package/build/esm/observable/internal/SubjectPayload.js +2 -0
  164. package/build/esm/observable/internal/SubjectPayload.js.map +1 -0
  165. package/build/esm/observable/internal/Subjects.js +55 -0
  166. package/build/esm/observable/internal/Subjects.js.map +1 -0
  167. package/build/esm/observable/internal/WeakRefTrie.js +61 -0
  168. package/build/esm/observable/internal/WeakRefTrie.js.map +1 -0
  169. package/build/esm/observable/internal/{ActionApplication.js → actions/ActionApplication.js} +2 -2
  170. package/build/esm/observable/internal/actions/ActionApplication.js.map +1 -0
  171. package/build/esm/observable/internal/{OptimisticJob.js → actions/OptimisticJob.js} +3 -3
  172. package/build/esm/observable/internal/actions/OptimisticJob.js.map +1 -0
  173. package/build/esm/observable/internal/base-list/BaseCollectionQuery.js.map +1 -0
  174. package/build/esm/observable/internal/base-list/BaseListQuery.js +411 -0
  175. package/build/esm/observable/internal/base-list/BaseListQuery.js.map +1 -0
  176. package/build/{browser/observable/internal → esm/observable/internal/base-list}/createCollectionConnectable.js +2 -2
  177. package/build/esm/observable/internal/base-list/createCollectionConnectable.js.map +1 -0
  178. package/build/{browser/observable/internal → esm/observable/internal/base-list}/createCollectionConnectable.test.js +24 -26
  179. package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -0
  180. package/build/esm/observable/internal/base-list/removeDuplicates.js.map +1 -0
  181. package/build/esm/observable/internal/createInitEntry.js +25 -0
  182. package/build/esm/observable/internal/createInitEntry.js.map +1 -0
  183. package/build/esm/observable/internal/links/LinksHelper.js +5 -5
  184. package/build/esm/observable/internal/links/LinksHelper.js.map +1 -1
  185. package/build/esm/observable/internal/links/SpecificLinkCacheKey.js.map +1 -1
  186. package/build/esm/observable/internal/links/SpecificLinkQuery.js +1 -1
  187. package/build/esm/observable/internal/links/SpecificLinkQuery.js.map +1 -1
  188. package/build/esm/observable/internal/{ListCacheKey.js.map → list/ListCacheKey.js.map} +1 -1
  189. package/build/esm/observable/internal/{ListQuery.js → list/ListQuery.js} +12 -421
  190. package/build/esm/observable/internal/list/ListQuery.js.map +1 -0
  191. package/build/esm/observable/internal/list/ListQueryOptions.js +2 -0
  192. package/build/esm/observable/internal/list/ListQueryOptions.js.map +1 -0
  193. package/build/esm/observable/internal/list/ListsHelper.js +6 -6
  194. package/build/esm/observable/internal/list/ListsHelper.js.map +1 -1
  195. package/build/esm/observable/internal/object/ObjectCacheKey.js +2 -0
  196. package/build/esm/observable/internal/object/ObjectCacheKey.js.map +1 -0
  197. package/build/esm/observable/internal/{ObjectQuery.js → object/ObjectQuery.js} +4 -20
  198. package/build/esm/observable/internal/object/ObjectQuery.js.map +1 -0
  199. package/build/esm/observable/internal/object/ObjectsHelper.js +17 -3
  200. package/build/esm/observable/internal/object/ObjectsHelper.js.map +1 -1
  201. package/build/esm/observable/internal/sorting/SortingStrategy.js.map +1 -1
  202. package/build/esm/observable/internal/testUtils/invalidateList.js +2 -2
  203. package/build/esm/observable/internal/testUtils/invalidateList.js.map +1 -1
  204. package/build/esm/observable/internal/testUtils.js +2 -3
  205. package/build/esm/observable/internal/testUtils.js.map +1 -1
  206. package/build/esm/ontology/loadActionMetadata.js +3 -1
  207. package/build/esm/ontology/loadActionMetadata.js.map +1 -1
  208. package/build/esm/ontology/loadFullObjectMetadata.js +2 -1
  209. package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
  210. package/build/esm/ontology/loadInterfaceMetadata.js +2 -1
  211. package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -1
  212. package/build/esm/queries/applyQuery.js +3 -3
  213. package/build/esm/queries/applyQuery.js.map +1 -1
  214. package/build/esm/util/UserAgent.js +2 -2
  215. package/build/esm/util/extractObjectOrInterfaceType.js +9 -1
  216. package/build/esm/util/extractObjectOrInterfaceType.js.map +1 -1
  217. package/build/esm/util/extractObjectOrInterfaceType.test.js +2 -2
  218. package/build/esm/util/extractObjectOrInterfaceType.test.js.map +1 -1
  219. package/build/types/MinimalClientContext.d.ts +1 -0
  220. package/build/types/MinimalClientContext.d.ts.map +1 -1
  221. package/build/types/actions/applyAction.d.ts.map +1 -1
  222. package/build/types/createClient.d.ts +1 -0
  223. package/build/types/createClient.d.ts.map +1 -1
  224. package/build/types/index.d.ts +1 -1
  225. package/build/types/index.d.ts.map +1 -1
  226. package/build/types/observable/internal/AbstractHelper.d.ts +3 -1
  227. package/build/types/observable/internal/AbstractHelper.d.ts.map +1 -1
  228. package/build/types/observable/internal/BatchContext.d.ts +11 -0
  229. package/build/types/observable/internal/BatchContext.d.ts.map +1 -0
  230. package/build/types/observable/internal/CacheKeys.d.ts +9 -9
  231. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -1
  232. package/build/types/observable/internal/Changes.d.ts +2 -2
  233. package/build/types/observable/internal/Changes.d.ts.map +1 -1
  234. package/build/types/observable/internal/KnownCacheKey.d.ts +2 -2
  235. package/build/types/observable/internal/KnownCacheKey.d.ts.map +1 -1
  236. package/build/types/observable/internal/Layer.d.ts +1 -2
  237. package/build/types/observable/internal/Layer.d.ts.map +1 -1
  238. package/build/types/observable/internal/Layers.d.ts +26 -0
  239. package/build/types/observable/internal/Layers.d.ts.map +1 -0
  240. package/build/types/observable/internal/OrderByCanonicalizer.d.ts +0 -7
  241. package/build/types/observable/internal/OrderByCanonicalizer.d.ts.map +1 -1
  242. package/build/types/observable/internal/Queries.d.ts +9 -0
  243. package/build/types/observable/internal/Queries.d.ts.map +1 -0
  244. package/build/types/observable/internal/Query.d.ts +5 -1
  245. package/build/types/observable/internal/Query.d.ts.map +1 -1
  246. package/build/types/observable/internal/Store.d.ts +19 -34
  247. package/build/types/observable/internal/Store.d.ts.map +1 -1
  248. package/build/types/observable/internal/Store.test.d.ts.map +1 -1
  249. package/build/types/observable/internal/SubjectPayload.d.ts +5 -0
  250. package/build/types/observable/internal/SubjectPayload.d.ts.map +1 -0
  251. package/build/types/observable/internal/Subjects.d.ts +16 -0
  252. package/build/types/observable/internal/Subjects.d.ts.map +1 -0
  253. package/build/types/observable/internal/WeakRefTrie.d.ts +13 -0
  254. package/build/types/observable/internal/WeakRefTrie.d.ts.map +1 -0
  255. package/build/types/observable/internal/{ActionApplication.d.ts → actions/ActionApplication.d.ts} +2 -2
  256. package/build/types/observable/internal/{ActionApplication.d.ts.map → actions/ActionApplication.d.ts.map} +1 -1
  257. package/build/types/observable/internal/{OptimisticJob.d.ts → actions/OptimisticJob.d.ts} +4 -4
  258. package/build/types/observable/internal/actions/OptimisticJob.d.ts.map +1 -0
  259. package/build/types/observable/internal/{BaseCollectionQuery.d.ts → base-list/BaseCollectionQuery.d.ts} +4 -4
  260. package/build/types/observable/internal/base-list/BaseCollectionQuery.d.ts.map +1 -0
  261. package/build/types/observable/internal/{ListQuery.d.ts → base-list/BaseListQuery.d.ts} +9 -91
  262. package/build/types/observable/internal/base-list/BaseListQuery.d.ts.map +1 -0
  263. package/build/types/observable/internal/{createCollectionConnectable.d.ts → base-list/createCollectionConnectable.d.ts} +5 -4
  264. package/build/types/observable/internal/base-list/createCollectionConnectable.d.ts.map +1 -0
  265. package/build/types/observable/internal/base-list/createCollectionConnectable.test.d.ts.map +1 -0
  266. package/build/types/observable/internal/{removeDuplicates.d.ts → base-list/removeDuplicates.d.ts} +2 -2
  267. package/build/types/observable/internal/base-list/removeDuplicates.d.ts.map +1 -0
  268. package/build/types/observable/internal/createInitEntry.d.ts +3 -0
  269. package/build/types/observable/internal/createInitEntry.d.ts.map +1 -0
  270. package/build/types/observable/internal/links/LinksHelper.d.ts +3 -1
  271. package/build/types/observable/internal/links/LinksHelper.d.ts.map +1 -1
  272. package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts +1 -1
  273. package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts.map +1 -1
  274. package/build/types/observable/internal/links/SpecificLinkQuery.d.ts +4 -2
  275. package/build/types/observable/internal/links/SpecificLinkQuery.d.ts.map +1 -1
  276. package/build/types/observable/internal/{ListCacheKey.d.ts → list/ListCacheKey.d.ts} +4 -4
  277. package/build/types/observable/internal/list/ListCacheKey.d.ts.map +1 -0
  278. package/build/types/observable/internal/list/ListQuery.d.ts +75 -0
  279. package/build/types/observable/internal/list/ListQuery.d.ts.map +1 -0
  280. package/build/types/observable/internal/list/ListQueryOptions.d.ts +4 -0
  281. package/build/types/observable/internal/list/ListQueryOptions.d.ts.map +1 -0
  282. package/build/types/observable/internal/list/ListsHelper.d.ts +4 -2
  283. package/build/types/observable/internal/list/ListsHelper.d.ts.map +1 -1
  284. package/build/types/observable/internal/object/ObjectCacheKey.d.ts +5 -0
  285. package/build/types/observable/internal/object/ObjectCacheKey.d.ts.map +1 -0
  286. package/build/types/observable/internal/{ObjectQuery.d.ts → object/ObjectQuery.d.ts} +10 -10
  287. package/build/types/observable/internal/object/ObjectQuery.d.ts.map +1 -0
  288. package/build/types/observable/internal/object/ObjectsHelper.d.ts +1 -1
  289. package/build/types/observable/internal/object/ObjectsHelper.d.ts.map +1 -1
  290. package/build/types/observable/internal/sorting/SortingStrategy.d.ts +2 -2
  291. package/build/types/observable/internal/sorting/SortingStrategy.d.ts.map +1 -1
  292. package/build/types/observable/internal/testUtils.d.ts +1 -1
  293. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  294. package/package.json +23 -23
  295. package/build/browser/observable/internal/ActionApplication.js.map +0 -1
  296. package/build/browser/observable/internal/BaseCollectionQuery.js.map +0 -1
  297. package/build/browser/observable/internal/ListQuery.js.map +0 -1
  298. package/build/browser/observable/internal/ObjectQuery.js.map +0 -1
  299. package/build/browser/observable/internal/OptimisticJob.js.map +0 -1
  300. package/build/browser/observable/internal/createCollectionConnectable.js.map +0 -1
  301. package/build/browser/observable/internal/createCollectionConnectable.test.js.map +0 -1
  302. package/build/browser/observable/internal/removeDuplicates.js.map +0 -1
  303. package/build/cjs/chunk-6CBVXAAV.cjs.map +0 -1
  304. package/build/cjs/chunk-QR7IBJPZ.cjs.map +0 -1
  305. package/build/esm/observable/internal/ActionApplication.js.map +0 -1
  306. package/build/esm/observable/internal/BaseCollectionQuery.js.map +0 -1
  307. package/build/esm/observable/internal/ListQuery.js.map +0 -1
  308. package/build/esm/observable/internal/ObjectQuery.js.map +0 -1
  309. package/build/esm/observable/internal/OptimisticJob.js.map +0 -1
  310. package/build/esm/observable/internal/createCollectionConnectable.js.map +0 -1
  311. package/build/esm/observable/internal/createCollectionConnectable.test.js.map +0 -1
  312. package/build/esm/observable/internal/removeDuplicates.js.map +0 -1
  313. package/build/types/observable/internal/BaseCollectionQuery.d.ts.map +0 -1
  314. package/build/types/observable/internal/ListCacheKey.d.ts.map +0 -1
  315. package/build/types/observable/internal/ListQuery.d.ts.map +0 -1
  316. package/build/types/observable/internal/ObjectQuery.d.ts.map +0 -1
  317. package/build/types/observable/internal/OptimisticJob.d.ts.map +0 -1
  318. package/build/types/observable/internal/createCollectionConnectable.d.ts.map +0 -1
  319. package/build/types/observable/internal/createCollectionConnectable.test.d.ts.map +0 -1
  320. package/build/types/observable/internal/removeDuplicates.d.ts.map +0 -1
  321. /package/build/browser/observable/internal/{BaseCollectionQuery.js → base-list/BaseCollectionQuery.js} +0 -0
  322. /package/build/browser/observable/internal/{removeDuplicates.js → base-list/removeDuplicates.js} +0 -0
  323. /package/build/browser/observable/internal/{ListCacheKey.js → list/ListCacheKey.js} +0 -0
  324. /package/build/esm/observable/internal/{BaseCollectionQuery.js → base-list/BaseCollectionQuery.js} +0 -0
  325. /package/build/esm/observable/internal/{removeDuplicates.js → base-list/removeDuplicates.js} +0 -0
  326. /package/build/esm/observable/internal/{ListCacheKey.js → list/ListCacheKey.js} +0 -0
  327. /package/build/types/observable/internal/{createCollectionConnectable.test.d.ts → base-list/createCollectionConnectable.test.d.ts} +0 -0
@@ -16,10 +16,10 @@
16
16
 
17
17
  import deepEqual from "fast-deep-equal";
18
18
  import { BehaviorSubject, connectable, map } from "rxjs";
19
- import { additionalContext } from "../../Client.js";
20
- import { getBulkObjectLoader } from "./BulkObjectLoader.js";
21
- import { Query } from "./Query.js";
22
- import { tombstone } from "./tombstone.js";
19
+ import { additionalContext } from "../../../Client.js";
20
+ import { getBulkObjectLoader } from "../BulkObjectLoader.js";
21
+ import { Query } from "../Query.js";
22
+ import { tombstone } from "../tombstone.js";
23
23
  export class ObjectQuery extends Query {
24
24
  #apiName;
25
25
  #pk;
@@ -132,20 +132,4 @@ export class ObjectQuery extends Query {
132
132
  return Promise.resolve();
133
133
  };
134
134
  }
135
-
136
- /**
137
- * Internal helper method for writing objects to the store and returning their
138
- * object keys
139
- * @internal
140
- */
141
- export function storeOsdkInstances(store, values, batch) {
142
- // update the cache for any object that has changed
143
- // and save the mapped values to return
144
- return values.map(v => {
145
- return store.objects.getQuery({
146
- apiName: v.$apiName,
147
- pk: v.$primaryKey
148
- }).writeToStore(v, "loaded", batch).cacheKey;
149
- });
150
- }
151
135
  //# sourceMappingURL=ObjectQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectQuery.js","names":["deepEqual","BehaviorSubject","connectable","map","additionalContext","getBulkObjectLoader","Query","tombstone","ObjectQuery","apiName","pk","constructor","store","subject","type","cacheKey","opts","process","env","NODE_ENV","client","logger","child","msgPrefix","otherKeys","x","JSON","stringify","join","undefined","_createConnectable","pipe","status","object","value","lastUpdated","isOptimistic","connector","_fetchAndStore","methodName","debug","obj","fetch","batch","writeToStore","data","entry","read","write","ret","changes","registerObject","deleteFromStore","delete","deleteObject","invalidateObjectType","objectType","modified","add","revalidate","Promise","resolve"],"sources":["ObjectQuery.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectTypeDefinition, PrimaryKeyType } from \"@osdk/api\";\nimport deepEqual from \"fast-deep-equal\";\nimport type { Connectable, Observable, Subject } from \"rxjs\";\nimport { BehaviorSubject, connectable, map } from \"rxjs\";\nimport { additionalContext } from \"../../../Client.js\";\nimport type { ObjectHolder } from \"../../../object/convertWireToOsdkObjects/ObjectHolder.js\";\nimport type { ObjectPayload } from \"../../ObjectPayload.js\";\nimport type {\n CommonObserveOptions,\n Status,\n} from \"../../ObservableClient/common.js\";\nimport type { BatchContext } from \"../BatchContext.js\";\nimport { getBulkObjectLoader } from \"../BulkObjectLoader.js\";\nimport type { Changes } from \"../Changes.js\";\nimport type { Entry } from \"../Layer.js\";\nimport { Query } from \"../Query.js\";\nimport type { Store } from \"../Store.js\";\nimport type { SubjectPayload } from \"../SubjectPayload.js\";\nimport { tombstone } from \"../tombstone.js\";\nimport type { ObjectCacheKey } from \"./ObjectCacheKey.js\";\n\nexport class ObjectQuery extends Query<\n ObjectCacheKey,\n ObjectPayload,\n CommonObserveOptions\n> {\n #apiName: string;\n #pk: string | number | boolean;\n\n constructor(\n store: Store,\n subject: Subject<SubjectPayload<ObjectCacheKey>>,\n type: string,\n pk: PrimaryKeyType<ObjectTypeDefinition>,\n cacheKey: ObjectCacheKey,\n opts: CommonObserveOptions,\n ) {\n super(\n store,\n subject,\n opts,\n cacheKey,\n process.env.NODE_ENV !== \"production\"\n ? (\n store.client[additionalContext].logger?.child({}, {\n msgPrefix: `ObjectQuery<${\n cacheKey.otherKeys.map(x => JSON.stringify(x)).join(\", \")\n }>`,\n })\n )\n : undefined,\n );\n this.#apiName = type;\n this.#pk = pk;\n }\n\n protected _createConnectable(\n subject: Observable<SubjectPayload<ObjectCacheKey>>,\n ): Connectable<ObjectPayload> {\n return connectable<ObjectPayload>(\n subject.pipe(\n map((x) => {\n return {\n status: x.status,\n object: x.value,\n lastUpdated: x.lastUpdated,\n isOptimistic: x.isOptimistic,\n };\n }),\n ),\n {\n connector: () =>\n new BehaviorSubject<ObjectPayload>({\n status: \"init\",\n object: undefined,\n lastUpdated: 0,\n isOptimistic: false,\n }),\n },\n );\n }\n\n async _fetchAndStore(): Promise<void> {\n if (process.env.NODE_ENV !== \"production\") {\n this.logger?.child({ methodName: \"_fetchAndStore\" }).debug(\n \"calling _fetchAndStore\",\n );\n }\n\n // TODO: In the future, implement tracking of network requests to ensure\n // we're not making unnecessary network calls. This would need dedicated\n // tests separate from subscription notification tests.\n\n const obj = await getBulkObjectLoader(this.store.client)\n .fetch(this.#apiName, this.#pk);\n\n this.store.batch({}, (batch) => {\n this.writeToStore(obj, \"loaded\", batch);\n });\n }\n\n writeToStore(\n data: ObjectHolder,\n status: Status,\n batch: BatchContext,\n ): Entry<ObjectCacheKey> {\n const entry = batch.read(this.cacheKey);\n\n if (entry && deepEqual(data, entry.value)) {\n // Check if both data AND status are the same\n if (entry.status === status) {\n if (process.env.NODE_ENV !== \"production\") {\n this.logger?.child({ methodName: \"writeToStore\" }).debug(\n `Object was deep equal and status unchanged (${status}), skipping update`,\n );\n }\n // Return the existing entry without writing to avoid unnecessary notifications\n return entry;\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n this.logger?.child({ methodName: \"writeToStore\" }).debug(\n `Object was deep equal, just setting status (old status: ${entry.status}, new status: ${status})`,\n );\n }\n // must do a \"full write\" here so that the lastUpdated is updated but we\n // don't want to retrigger anyone's memoization on the value!\n return batch.write(this.cacheKey, entry.value, status);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n this.logger?.child({ methodName: \"writeToStore\" }).debug(\n JSON.stringify({ status }),\n data,\n );\n }\n const ret = batch.write(this.cacheKey, data, status);\n batch.changes.registerObject(this.cacheKey, data, /* isNew */ !entry);\n\n return ret;\n }\n\n deleteFromStore(\n status: Status,\n batch: BatchContext,\n ): Entry<ObjectCacheKey> | undefined {\n const entry = batch.read(this.cacheKey);\n\n if (entry && deepEqual(tombstone, entry.value)) {\n if (process.env.NODE_ENV !== \"production\") {\n this.logger?.child({ methodName: \"deleteFromStore\" }).debug(\n `Object was deep equal, just setting status`,\n );\n }\n // must do a \"full write\" here so that the lastUpdated is updated but we\n // don't want to retrigger anyone's memoization on the value!\n return batch.write(this.cacheKey, entry.value, status);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n this.logger?.child({ methodName: \"deleteFromStore\" }).debug(\n JSON.stringify({ status }),\n );\n }\n\n // if there is no entry then there is nothing to do\n if (!entry || !entry.value) {\n return;\n }\n\n const ret = batch.delete(this.cacheKey, status);\n batch.changes.deleteObject(this.cacheKey);\n\n return ret;\n }\n\n invalidateObjectType = (\n objectType: string,\n changes: Changes | undefined,\n ): Promise<void> => {\n if (this.#apiName === objectType) {\n changes?.modified.add(this.cacheKey);\n return this.revalidate(true);\n }\n return Promise.resolve();\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -15,7 +15,7 @@
15
15
  */
16
16
 
17
17
  import { AbstractHelper } from "../AbstractHelper.js";
18
- import { ObjectQuery } from "../ObjectQuery.js";
18
+ import { ObjectQuery } from "./ObjectQuery.js";
19
19
  export class ObjectsHelper extends AbstractHelper {
20
20
  observe(options, subFn) {
21
21
  return super.observe(options, subFn);
@@ -25,10 +25,24 @@ export class ObjectsHelper extends AbstractHelper {
25
25
  const {
26
26
  pk
27
27
  } = options;
28
- const objectCacheKey = this.store.getCacheKey("object", apiName, pk);
29
- return this.store.getQuery(objectCacheKey, () => new ObjectQuery(this.store, this.store.getSubject(objectCacheKey), apiName, pk, objectCacheKey, {
28
+ const objectCacheKey = this.cacheKeys.get("object", apiName, pk);
29
+ return this.store.queries.get(objectCacheKey, () => new ObjectQuery(this.store, this.store.subjects.get(objectCacheKey), apiName, pk, objectCacheKey, {
30
30
  dedupeInterval: 0
31
31
  }));
32
32
  }
33
+
34
+ /**
35
+ * Internal helper method for writing objects to the store and returning their
36
+ * object keys
37
+ * @internal
38
+ */
39
+ storeOsdkInstances(values, batch) {
40
+ // update the cache for any object that has changed
41
+ // and save the mapped values to return
42
+ return values.map(v => this.getQuery({
43
+ apiName: v.$apiName,
44
+ pk: v.$primaryKey
45
+ }).writeToStore(v, "loaded", batch).cacheKey);
46
+ }
33
47
  }
34
48
  //# sourceMappingURL=ObjectsHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectsHelper.js","names":["AbstractHelper","ObjectQuery","ObjectsHelper","observe","options","subFn","getQuery","apiName","pk","objectCacheKey","store","getCacheKey","getSubject","dedupeInterval"],"sources":["ObjectsHelper.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { InterfaceDefinition, ObjectTypeDefinition } from \"@osdk/api\";\nimport type { ObjectPayload } from \"../../ObjectPayload.js\";\nimport type { ObserveObjectOptions } from \"../../ObservableClient.js\";\nimport type { Observer } from \"../../ObservableClient/common.js\";\nimport { AbstractHelper } from \"../AbstractHelper.js\";\nimport { type ObjectCacheKey, ObjectQuery } from \"../ObjectQuery.js\";\nimport type { QuerySubscription } from \"../QuerySubscription.js\";\n\nexport class ObjectsHelper extends AbstractHelper<\n ObjectQuery,\n ObserveObjectOptions<any>\n> {\n observe<T extends ObjectTypeDefinition | InterfaceDefinition>(\n options: ObserveObjectOptions<T>,\n subFn: Observer<ObjectPayload>,\n ): QuerySubscription<ObjectQuery> {\n return super.observe(options, subFn);\n }\n\n getQuery<T extends ObjectTypeDefinition | InterfaceDefinition>(\n options: ObserveObjectOptions<T>,\n ): ObjectQuery {\n const apiName = typeof options.apiName === \"string\"\n ? options.apiName\n : options.apiName.apiName;\n const { pk } = options;\n\n const objectCacheKey = this.store.getCacheKey<ObjectCacheKey>(\n \"object\",\n apiName,\n pk,\n );\n\n return this.store.getQuery(objectCacheKey, () =>\n new ObjectQuery(\n this.store,\n this.store.getSubject(objectCacheKey),\n apiName,\n pk,\n objectCacheKey,\n { dedupeInterval: 0 },\n ));\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA,SAASA,cAAc,QAAQ,sBAAsB;AACrD,SAA8BC,WAAW,QAAQ,mBAAmB;AAGpE,OAAO,MAAMC,aAAa,SAASF,cAAc,CAG/C;EACAG,OAAOA,CACLC,OAAgC,EAChCC,KAA8B,EACE;IAChC,OAAO,KAAK,CAACF,OAAO,CAACC,OAAO,EAAEC,KAAK,CAAC;EACtC;EAEAC,QAAQA,CACNF,OAAgC,EACnB;IACb,MAAMG,OAAO,GAAG,OAAOH,OAAO,CAACG,OAAO,KAAK,QAAQ,GAC/CH,OAAO,CAACG,OAAO,GACfH,OAAO,CAACG,OAAO,CAACA,OAAO;IAC3B,MAAM;MAAEC;IAAG,CAAC,GAAGJ,OAAO;IAEtB,MAAMK,cAAc,GAAG,IAAI,CAACC,KAAK,CAACC,WAAW,CAC3C,QAAQ,EACRJ,OAAO,EACPC,EACF,CAAC;IAED,OAAO,IAAI,CAACE,KAAK,CAACJ,QAAQ,CAACG,cAAc,EAAE,MACzC,IAAIR,WAAW,CACb,IAAI,CAACS,KAAK,EACV,IAAI,CAACA,KAAK,CAACE,UAAU,CAACH,cAAc,CAAC,EACrCF,OAAO,EACPC,EAAE,EACFC,cAAc,EACd;MAAEI,cAAc,EAAE;IAAE,CACtB,CAAC,CAAC;EACN;AACF","ignoreList":[]}
1
+ {"version":3,"file":"ObjectsHelper.js","names":["AbstractHelper","ObjectQuery","ObjectsHelper","observe","options","subFn","getQuery","apiName","pk","objectCacheKey","cacheKeys","get","store","queries","subjects","dedupeInterval","storeOsdkInstances","values","batch","map","v","$apiName","$primaryKey","writeToStore","cacheKey"],"sources":["ObjectsHelper.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n InterfaceDefinition,\n ObjectTypeDefinition,\n Osdk,\n} from \"@osdk/api\";\nimport type { ObjectHolder } from \"../../../object/convertWireToOsdkObjects/ObjectHolder.js\";\nimport type { ObjectPayload } from \"../../ObjectPayload.js\";\nimport type { ObserveObjectOptions } from \"../../ObservableClient.js\";\nimport type { Observer } from \"../../ObservableClient/common.js\";\nimport { AbstractHelper } from \"../AbstractHelper.js\";\nimport type { BatchContext } from \"../BatchContext.js\";\nimport type { QuerySubscription } from \"../QuerySubscription.js\";\nimport { type ObjectCacheKey } from \"./ObjectCacheKey.js\";\nimport { ObjectQuery } from \"./ObjectQuery.js\";\n\nexport class ObjectsHelper extends AbstractHelper<\n ObjectQuery,\n ObserveObjectOptions<any>\n> {\n observe<T extends ObjectTypeDefinition | InterfaceDefinition>(\n options: ObserveObjectOptions<T>,\n subFn: Observer<ObjectPayload>,\n ): QuerySubscription<ObjectQuery> {\n return super.observe(options, subFn);\n }\n\n getQuery<T extends ObjectTypeDefinition | InterfaceDefinition>(\n options: ObserveObjectOptions<T>,\n ): ObjectQuery {\n const apiName = typeof options.apiName === \"string\"\n ? options.apiName\n : options.apiName.apiName;\n const { pk } = options;\n\n const objectCacheKey = this.cacheKeys.get<ObjectCacheKey>(\n \"object\",\n apiName,\n pk,\n );\n\n return this.store.queries.get(objectCacheKey, () =>\n new ObjectQuery(\n this.store,\n this.store.subjects.get(objectCacheKey),\n apiName,\n pk,\n objectCacheKey,\n { dedupeInterval: 0 },\n ));\n }\n\n /**\n * Internal helper method for writing objects to the store and returning their\n * object keys\n * @internal\n */\n public storeOsdkInstances(\n values: Array<ObjectHolder> | Array<Osdk.Instance<any, any, any>>,\n batch: BatchContext,\n ): ObjectCacheKey[] {\n // update the cache for any object that has changed\n // and save the mapped values to return\n return values.map(v =>\n this.getQuery({\n apiName: v.$apiName,\n pk: v.$primaryKey as string | number,\n }).writeToStore(\n v as ObjectHolder,\n \"loaded\",\n batch,\n ).cacheKey\n );\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA,SAASA,cAAc,QAAQ,sBAAsB;AAIrD,SAASC,WAAW,QAAQ,kBAAkB;AAE9C,OAAO,MAAMC,aAAa,SAASF,cAAc,CAG/C;EACAG,OAAOA,CACLC,OAAgC,EAChCC,KAA8B,EACE;IAChC,OAAO,KAAK,CAACF,OAAO,CAACC,OAAO,EAAEC,KAAK,CAAC;EACtC;EAEAC,QAAQA,CACNF,OAAgC,EACnB;IACb,MAAMG,OAAO,GAAG,OAAOH,OAAO,CAACG,OAAO,KAAK,QAAQ,GAC/CH,OAAO,CAACG,OAAO,GACfH,OAAO,CAACG,OAAO,CAACA,OAAO;IAC3B,MAAM;MAAEC;IAAG,CAAC,GAAGJ,OAAO;IAEtB,MAAMK,cAAc,GAAG,IAAI,CAACC,SAAS,CAACC,GAAG,CACvC,QAAQ,EACRJ,OAAO,EACPC,EACF,CAAC;IAED,OAAO,IAAI,CAACI,KAAK,CAACC,OAAO,CAACF,GAAG,CAACF,cAAc,EAAE,MAC5C,IAAIR,WAAW,CACb,IAAI,CAACW,KAAK,EACV,IAAI,CAACA,KAAK,CAACE,QAAQ,CAACH,GAAG,CAACF,cAAc,CAAC,EACvCF,OAAO,EACPC,EAAE,EACFC,cAAc,EACd;MAAEM,cAAc,EAAE;IAAE,CACtB,CAAC,CAAC;EACN;;EAEA;AACF;AACA;AACA;AACA;EACSC,kBAAkBA,CACvBC,MAAiE,EACjEC,KAAmB,EACD;IAClB;IACA;IACA,OAAOD,MAAM,CAACE,GAAG,CAACC,CAAC,IACjB,IAAI,CAACd,QAAQ,CAAC;MACZC,OAAO,EAAEa,CAAC,CAACC,QAAQ;MACnBb,EAAE,EAAEY,CAAC,CAACE;IACR,CAAC,CAAC,CAACC,YAAY,CACbH,CAAC,EACD,QAAQ,EACRF,KACF,CAAC,CAACM,QACJ,CAAC;EACH;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"SortingStrategy.js","names":["NoOpSortingStrategy","sortCacheKeys","objectCacheKeys","OrderBySortingStrategy","constructor","apiName","orderBy","sortFns","createOrderBySortFns","batch","Object","keys","length","sort","a","b","sortFn","ret","read","value","$as","entries","map","key","order","aValue","bValue","m"],"sources":["SortingStrategy.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { InterfaceHolder } from \"../../../object/convertWireToOsdkObjects/InterfaceHolder.js\";\nimport type { ObjectHolder } from \"../../../object/convertWireToOsdkObjects/ObjectHolder.js\";\nimport type { Canonical } from \"../Canonical.js\";\nimport type { ObjectCacheKey } from \"../ObjectQuery.js\";\nimport type { BatchContext } from \"../Store.js\";\n\n/**\n * Strategy interface for collection sorting\n */\nexport interface SortingStrategy {\n /**\n * Sort an array of object cache keys\n * @param objectCacheKeys - Keys to sort\n * @param batch - Batch context for reading objects\n * @returns Sorted array of keys\n */\n sortCacheKeys(\n objectCacheKeys: ObjectCacheKey[],\n batch: BatchContext,\n ): ObjectCacheKey[];\n}\n\n/**\n * No-operation sorting strategy that preserves original order\n */\nexport class NoOpSortingStrategy implements SortingStrategy {\n sortCacheKeys(\n objectCacheKeys: ObjectCacheKey[],\n _batch: BatchContext,\n ): ObjectCacheKey[] {\n return objectCacheKeys;\n }\n}\n\ntype ObjectInterfaceComparer = (\n a: ObjectHolder | InterfaceHolder | undefined,\n b: ObjectHolder | InterfaceHolder | undefined,\n) => number;\n\n/**\n * Sorting strategy for OrderBy clauses\n */\nexport class OrderBySortingStrategy implements SortingStrategy {\n private readonly sortFns: Array<ObjectInterfaceComparer>;\n\n constructor(\n private readonly apiName: string,\n private readonly orderBy: Canonical<\n Record<string, \"asc\" | \"desc\" | undefined>\n >,\n ) {\n this.sortFns = createOrderBySortFns(orderBy);\n }\n\n sortCacheKeys(\n objectCacheKeys: ObjectCacheKey[],\n batch: BatchContext,\n ): ObjectCacheKey[] {\n if (Object.keys(this.orderBy).length === 0) {\n return objectCacheKeys;\n }\n\n return objectCacheKeys.sort((a, b) => {\n for (const sortFn of this.sortFns) {\n const ret = sortFn(\n batch.read(a)?.value?.$as(this.apiName),\n batch.read(b)?.value?.$as(this.apiName),\n );\n if (ret !== 0) {\n return ret;\n }\n }\n return 0;\n });\n }\n}\n\n/**\n * Creates sort functions for an orderBy clause\n * @param orderBy - The order by clause\n * @returns Array of sort functions\n */\nexport function createOrderBySortFns(\n orderBy: Canonical<Record<string, \"asc\" | \"desc\" | undefined>>,\n): ObjectInterfaceComparer[] {\n return Object.entries(orderBy).map(([key, order]) => {\n return (\n a: ObjectHolder | InterfaceHolder | undefined,\n b: ObjectHolder | InterfaceHolder | undefined,\n ): number => {\n const aValue = a?.[key];\n const bValue = b?.[key];\n\n if (aValue == null && bValue == null) {\n return 0;\n }\n if (aValue == null) {\n return 1;\n }\n if (bValue == null) {\n return -1;\n }\n const m = order === \"asc\" ? -1 : 1;\n return aValue < bValue ? m : aValue > bValue ? -m : 0;\n };\n });\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;;AAcA;AACA;AACA;AACA,OAAO,MAAMA,mBAAmB,CAA4B;EAC1DC,aAAaA,CACXC,eAAiC,EAEf;IAClB,OAAOA,eAAe;EACxB;AACF;AAOA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,CAA4B;EAG7DC,WAAWA,CACQC,OAAe,EACfC,OAEhB,EACD;IAAA,KAJiBD,OAAe,GAAfA,OAAe;IAAA,KACfC,OAEhB,GAFgBA,OAEhB;IAED,IAAI,CAACC,OAAO,GAAGC,oBAAoB,CAACF,OAAO,CAAC;EAC9C;EAEAL,aAAaA,CACXC,eAAiC,EACjCO,KAAmB,EACD;IAClB,IAAIC,MAAM,CAACC,IAAI,CAAC,IAAI,CAACL,OAAO,CAAC,CAACM,MAAM,KAAK,CAAC,EAAE;MAC1C,OAAOV,eAAe;IACxB;IAEA,OAAOA,eAAe,CAACW,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;MACpC,KAAK,MAAMC,MAAM,IAAI,IAAI,CAACT,OAAO,EAAE;QACjC,MAAMU,GAAG,GAAGD,MAAM,CAChBP,KAAK,CAACS,IAAI,CAACJ,CAAC,CAAC,EAAEK,KAAK,EAAEC,GAAG,CAAC,IAAI,CAACf,OAAO,CAAC,EACvCI,KAAK,CAACS,IAAI,CAACH,CAAC,CAAC,EAAEI,KAAK,EAAEC,GAAG,CAAC,IAAI,CAACf,OAAO,CACxC,CAAC;QACD,IAAIY,GAAG,KAAK,CAAC,EAAE;UACb,OAAOA,GAAG;QACZ;MACF;MACA,OAAO,CAAC;IACV,CAAC,CAAC;EACJ;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAST,oBAAoBA,CAClCF,OAA8D,EACnC;EAC3B,OAAOI,MAAM,CAACW,OAAO,CAACf,OAAO,CAAC,CAACgB,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;IACnD,OAAO,CACLV,CAA6C,EAC7CC,CAA6C,KAClC;MACX,MAAMU,MAAM,GAAGX,CAAC,GAAGS,GAAG,CAAC;MACvB,MAAMG,MAAM,GAAGX,CAAC,GAAGQ,GAAG,CAAC;MAEvB,IAAIE,MAAM,IAAI,IAAI,IAAIC,MAAM,IAAI,IAAI,EAAE;QACpC,OAAO,CAAC;MACV;MACA,IAAID,MAAM,IAAI,IAAI,EAAE;QAClB,OAAO,CAAC;MACV;MACA,IAAIC,MAAM,IAAI,IAAI,EAAE;QAClB,OAAO,CAAC,CAAC;MACX;MACA,MAAMC,CAAC,GAAGH,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;MAClC,OAAOC,MAAM,GAAGC,MAAM,GAAGC,CAAC,GAAGF,MAAM,GAAGC,MAAM,GAAG,CAACC,CAAC,GAAG,CAAC;IACvD,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"SortingStrategy.js","names":["NoOpSortingStrategy","sortCacheKeys","objectCacheKeys","OrderBySortingStrategy","constructor","apiName","orderBy","sortFns","createOrderBySortFns","batch","Object","keys","length","sort","a","b","sortFn","ret","read","value","$as","entries","map","key","order","aValue","bValue","m"],"sources":["SortingStrategy.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { InterfaceHolder } from \"../../../object/convertWireToOsdkObjects/InterfaceHolder.js\";\nimport type { ObjectHolder } from \"../../../object/convertWireToOsdkObjects/ObjectHolder.js\";\nimport type { BatchContext } from \"../BatchContext.js\";\nimport type { Canonical } from \"../Canonical.js\";\nimport type { ObjectCacheKey } from \"../object/ObjectCacheKey.js\";\n\n/**\n * Strategy interface for collection sorting\n */\nexport interface SortingStrategy {\n /**\n * Sort an array of object cache keys\n * @param objectCacheKeys - Keys to sort\n * @param batch - Batch context for reading objects\n * @returns Sorted array of keys\n */\n sortCacheKeys(\n objectCacheKeys: ObjectCacheKey[],\n batch: BatchContext,\n ): ObjectCacheKey[];\n}\n\n/**\n * No-operation sorting strategy that preserves original order\n */\nexport class NoOpSortingStrategy implements SortingStrategy {\n sortCacheKeys(\n objectCacheKeys: ObjectCacheKey[],\n _batch: BatchContext,\n ): ObjectCacheKey[] {\n return objectCacheKeys;\n }\n}\n\ntype ObjectInterfaceComparer = (\n a: ObjectHolder | InterfaceHolder | undefined,\n b: ObjectHolder | InterfaceHolder | undefined,\n) => number;\n\n/**\n * Sorting strategy for OrderBy clauses\n */\nexport class OrderBySortingStrategy implements SortingStrategy {\n private readonly sortFns: Array<ObjectInterfaceComparer>;\n\n constructor(\n private readonly apiName: string,\n private readonly orderBy: Canonical<\n Record<string, \"asc\" | \"desc\" | undefined>\n >,\n ) {\n this.sortFns = createOrderBySortFns(orderBy);\n }\n\n sortCacheKeys(\n objectCacheKeys: ObjectCacheKey[],\n batch: BatchContext,\n ): ObjectCacheKey[] {\n if (Object.keys(this.orderBy).length === 0) {\n return objectCacheKeys;\n }\n\n return objectCacheKeys.sort((a, b) => {\n for (const sortFn of this.sortFns) {\n const ret = sortFn(\n batch.read(a)?.value?.$as(this.apiName),\n batch.read(b)?.value?.$as(this.apiName),\n );\n if (ret !== 0) {\n return ret;\n }\n }\n return 0;\n });\n }\n}\n\n/**\n * Creates sort functions for an orderBy clause\n * @param orderBy - The order by clause\n * @returns Array of sort functions\n */\nexport function createOrderBySortFns(\n orderBy: Canonical<Record<string, \"asc\" | \"desc\" | undefined>>,\n): ObjectInterfaceComparer[] {\n return Object.entries(orderBy).map(([key, order]) => {\n return (\n a: ObjectHolder | InterfaceHolder | undefined,\n b: ObjectHolder | InterfaceHolder | undefined,\n ): number => {\n const aValue = a?.[key];\n const bValue = b?.[key];\n\n if (aValue == null && bValue == null) {\n return 0;\n }\n if (aValue == null) {\n return 1;\n }\n if (bValue == null) {\n return -1;\n }\n const m = order === \"asc\" ? -1 : 1;\n return aValue < bValue ? m : aValue > bValue ? -m : 0;\n };\n });\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;;AAcA;AACA;AACA;AACA,OAAO,MAAMA,mBAAmB,CAA4B;EAC1DC,aAAaA,CACXC,eAAiC,EAEf;IAClB,OAAOA,eAAe;EACxB;AACF;AAOA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,CAA4B;EAG7DC,WAAWA,CACQC,OAAe,EACfC,OAEhB,EACD;IAAA,KAJiBD,OAAe,GAAfA,OAAe;IAAA,KACfC,OAEhB,GAFgBA,OAEhB;IAED,IAAI,CAACC,OAAO,GAAGC,oBAAoB,CAACF,OAAO,CAAC;EAC9C;EAEAL,aAAaA,CACXC,eAAiC,EACjCO,KAAmB,EACD;IAClB,IAAIC,MAAM,CAACC,IAAI,CAAC,IAAI,CAACL,OAAO,CAAC,CAACM,MAAM,KAAK,CAAC,EAAE;MAC1C,OAAOV,eAAe;IACxB;IAEA,OAAOA,eAAe,CAACW,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;MACpC,KAAK,MAAMC,MAAM,IAAI,IAAI,CAACT,OAAO,EAAE;QACjC,MAAMU,GAAG,GAAGD,MAAM,CAChBP,KAAK,CAACS,IAAI,CAACJ,CAAC,CAAC,EAAEK,KAAK,EAAEC,GAAG,CAAC,IAAI,CAACf,OAAO,CAAC,EACvCI,KAAK,CAACS,IAAI,CAACH,CAAC,CAAC,EAAEI,KAAK,EAAEC,GAAG,CAAC,IAAI,CAACf,OAAO,CACxC,CAAC;QACD,IAAIY,GAAG,KAAK,CAAC,EAAE;UACb,OAAOA,GAAG;QACZ;MACF;MACA,OAAO,CAAC;IACV,CAAC,CAAC;EACJ;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAST,oBAAoBA,CAClCF,OAA8D,EACnC;EAC3B,OAAOI,MAAM,CAACW,OAAO,CAACf,OAAO,CAAC,CAACgB,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;IACnD,OAAO,CACLV,CAA6C,EAC7CC,CAA6C,KAClC;MACX,MAAMU,MAAM,GAAGX,CAAC,GAAGS,GAAG,CAAC;MACvB,MAAMG,MAAM,GAAGX,CAAC,GAAGQ,GAAG,CAAC;MAEvB,IAAIE,MAAM,IAAI,IAAI,IAAIC,MAAM,IAAI,IAAI,EAAE;QACpC,OAAO,CAAC;MACV;MACA,IAAID,MAAM,IAAI,IAAI,EAAE;QAClB,OAAO,CAAC;MACV;MACA,IAAIC,MAAM,IAAI,IAAI,EAAE;QAClB,OAAO,CAAC,CAAC;MACX;MACA,MAAMC,CAAC,GAAGH,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;MAClC,OAAOC,MAAM,GAAGC,MAAM,GAAGC,CAAC,GAAGF,MAAM,GAAGC,MAAM,GAAG,CAACC,CAAC,GAAG,CAAC;IACvD,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -17,7 +17,7 @@
17
17
  export async function invalidateList(store, args) {
18
18
  const where = store.whereCanonicalizer.canonicalize(args.where ?? {});
19
19
  const orderBy = store.orderByCanonicalizer.canonicalize(args.orderBy ?? {});
20
- const cacheKey = store.getCacheKey("list", args.type.type, args.type.apiName, where, orderBy);
21
- await store.peekQuery(cacheKey)?.revalidate(true);
20
+ const cacheKey = store.cacheKeys.get("list", args.type.type, args.type.apiName, where, orderBy);
21
+ await store.queries.peek(cacheKey)?.revalidate(true);
22
22
  }
23
23
  //# sourceMappingURL=invalidateList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"invalidateList.js","names":["invalidateList","store","args","where","whereCanonicalizer","canonicalize","orderBy","orderByCanonicalizer","cacheKey","getCacheKey","type","apiName","peekQuery","revalidate"],"sources":["invalidateList.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectTypeDefinition, WhereClause } from \"@osdk/api\";\nimport type { OrderBy } from \"../../ObservableClient.js\";\nimport type { Canonical } from \"../Canonical.js\";\nimport type { ListCacheKey } from \"../ListCacheKey.js\";\nimport type { SimpleWhereClause } from \"../SimpleWhereClause.js\";\nimport type { Store } from \"../Store.js\";\n\nexport async function invalidateList<T extends ObjectTypeDefinition>(\n store: Store,\n args: {\n type: Pick<T, \"apiName\" | \"type\">;\n where?: WhereClause<T> | SimpleWhereClause;\n orderBy?: OrderBy<T>;\n },\n): Promise<void> {\n const where = store.whereCanonicalizer.canonicalize(args.where ?? {});\n const orderBy = store.orderByCanonicalizer.canonicalize(args.orderBy ?? {});\n\n const cacheKey = store.getCacheKey<ListCacheKey>(\n \"list\",\n args.type.type,\n args.type.apiName,\n where,\n orderBy as Canonical<OrderBy<T>>,\n );\n\n await store.peekQuery(cacheKey)?.revalidate(true);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA,OAAO,eAAeA,cAAcA,CAClCC,KAAY,EACZC,IAIC,EACc;EACf,MAAMC,KAAK,GAAGF,KAAK,CAACG,kBAAkB,CAACC,YAAY,CAACH,IAAI,CAACC,KAAK,IAAI,CAAC,CAAC,CAAC;EACrE,MAAMG,OAAO,GAAGL,KAAK,CAACM,oBAAoB,CAACF,YAAY,CAACH,IAAI,CAACI,OAAO,IAAI,CAAC,CAAC,CAAC;EAE3E,MAAME,QAAQ,GAAGP,KAAK,CAACQ,WAAW,CAChC,MAAM,EACNP,IAAI,CAACQ,IAAI,CAACA,IAAI,EACdR,IAAI,CAACQ,IAAI,CAACC,OAAO,EACjBR,KAAK,EACLG,OACF,CAAC;EAED,MAAML,KAAK,CAACW,SAAS,CAACJ,QAAQ,CAAC,EAAEK,UAAU,CAAC,IAAI,CAAC;AACnD","ignoreList":[]}
1
+ {"version":3,"file":"invalidateList.js","names":["invalidateList","store","args","where","whereCanonicalizer","canonicalize","orderBy","orderByCanonicalizer","cacheKey","cacheKeys","get","type","apiName","queries","peek","revalidate"],"sources":["invalidateList.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectTypeDefinition, WhereClause } from \"@osdk/api\";\nimport type { OrderBy } from \"../../ObservableClient.js\";\nimport type { Canonical } from \"../Canonical.js\";\nimport type { ListCacheKey } from \"../list/ListCacheKey.js\";\nimport type { SimpleWhereClause } from \"../SimpleWhereClause.js\";\nimport type { Store } from \"../Store.js\";\n\nexport async function invalidateList<T extends ObjectTypeDefinition>(\n store: Store,\n args: {\n type: Pick<T, \"apiName\" | \"type\">;\n where?: WhereClause<T> | SimpleWhereClause;\n orderBy?: OrderBy<T>;\n },\n): Promise<void> {\n const where = store.whereCanonicalizer.canonicalize(args.where ?? {});\n const orderBy = store.orderByCanonicalizer.canonicalize(args.orderBy ?? {});\n\n const cacheKey = store.cacheKeys.get<ListCacheKey>(\n \"list\",\n args.type.type,\n args.type.apiName,\n where,\n orderBy as Canonical<OrderBy<T>>,\n );\n\n await store.queries.peek(cacheKey)?.revalidate(true);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA,OAAO,eAAeA,cAAcA,CAClCC,KAAY,EACZC,IAIC,EACc;EACf,MAAMC,KAAK,GAAGF,KAAK,CAACG,kBAAkB,CAACC,YAAY,CAACH,IAAI,CAACC,KAAK,IAAI,CAAC,CAAC,CAAC;EACrE,MAAMG,OAAO,GAAGL,KAAK,CAACM,oBAAoB,CAACF,YAAY,CAACH,IAAI,CAACI,OAAO,IAAI,CAAC,CAAC,CAAC;EAE3E,MAAME,QAAQ,GAAGP,KAAK,CAACQ,SAAS,CAACC,GAAG,CAClC,MAAM,EACNR,IAAI,CAACS,IAAI,CAACA,IAAI,EACdT,IAAI,CAACS,IAAI,CAACC,OAAO,EACjBT,KAAK,EACLG,OACF,CAAC;EAED,MAAML,KAAK,CAACY,OAAO,CAACC,IAAI,CAACN,QAAQ,CAAC,EAAEO,UAAU,CAAC,IAAI,CAAC;AACtD","ignoreList":[]}
@@ -20,7 +20,6 @@ import pDefer from "p-defer";
20
20
  import invariant from "tiny-invariant";
21
21
  import { afterEach, beforeEach, expect, vi, vitest } from "vitest";
22
22
  import { additionalContext } from "../../Client.js";
23
- import { storeOsdkInstances } from "./ObjectQuery.js";
24
23
  const chalk = new Chalk(); // new Chalk({ level: 3 });
25
24
 
26
25
  function mockLog(...args) {
@@ -420,12 +419,12 @@ export function updateList(store, {
420
419
  store.batch({
421
420
  optimisticId
422
421
  }, batch => {
423
- const objectCacheKeys = storeOsdkInstances(store, objects, batch);
422
+ const objectCacheKeys = store.objects.storeOsdkInstances(objects, batch);
424
423
  query._updateList(objectCacheKeys, "loaded", batch, false);
425
424
  });
426
425
  }
427
426
  export function getObject(store, type, pk) {
428
- return store.getValue(store.getCacheKey("object", type, pk))?.value;
427
+ return store.getValue(store.cacheKeys.get("object", type, pk))?.value;
429
428
  }
430
429
  export function updateObject(store, value, {
431
430
  optimisticId
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.js","names":["Chalk","inspect","pDefer","invariant","afterEach","beforeEach","expect","vi","vitest","additionalContext","storeOsdkInstances","chalk","mockLog","args","console","log","yellow","createTestLogger","bindings","options","colors","debug","cyan","bgCyan","info","green","bgGreen","trace","gray","bgGray","error","red","bgRed","warn","bgYellow","fatal","redBright","bgRedBright","createLogMethod","name","fn","hasData","length","obj","more","slice","msgPrefix","methodName","magenta","Object","keys","child","theseBindings","theseOptions","level","undefined","isLevelEnabled","createClientMockHelper","client","logger","mockImplementation","localLogger","Error","e","where","deadObjectSet","whereArgs","fetchPage","fetchArgs","fetchOne","baseUrl","ontologyRid","objectFactory","objectFactory2","ontologyProvider","getActionDefinition","getInterfaceDefinition","getObjectDefinition","getQueryDefinition","tokenProvider","objectSetFactory","fetch","clientCacheKey","requestContext","fetchMetadata","mockApplyActionOnce","d","mockReturnValueOnce","applyAction","x","promise","type","addedLinks","addedObjects","deletedObjects","deletedLinks","deletedLinksCount","deletedObjectsCount","editedObjectTypes","modifiedObjects","mockFetchOneOnce","expectedId","a","process","env","NODE_ENV","r","$primaryKey","JSON","stringify","mockObjectFactory2Once","mocked","mockFetchPageOnce","objectSet","fetchPageArgs","clause","createDefer","subscriptions","s","unsubscribe","push","expectSingleLinkCallAndClear","subFn","resolvedList","payloadOptions","isFakeTimers","runOnlyPendingTimers","next","toHaveBeenCalledExactlyOnceWith","linkPayloadContaining","ret","mock","calls","mockClear","expectSingleListCallAndClear","listPayloadContaining","expectSingleObjectCallAndClear","object","status","objectContaining","any","String","waitForCall","times","waitFor","toHaveBeenCalledTimes","interval","depth","compact","expectNoMoreCalls","observer","not","toHaveBeenCalled","createSubscriptionHelper","mockSingleSubCallback","mockObserver","assign","expectLoadingAndLoaded","q","toHaveBeenNthCalledWith","loading","loaded","complete","mockListSubCallback","mockLinkSubCallback","cacheEntryContaining","cacheKey","value","toBeOneOf","anything","lastUpdated","nonOptionalValue","src","key","objectPayloadContaining","isOptimistic","Boolean","fetchMore","Function","hasMore","applyCustomMatchers","extend","toBeGreaterThan","pass","message","updateList","store","orderBy","objects","optimisticId","opts","dedupeInterval","query","lists","getQuery","batch","objectCacheKeys","_updateList","getObject","pk","getValue","getCacheKey","updateObject","apiName","$apiName","writeToStore"],"sources":["testUtils.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionDefinition,\n ActionEditResponse,\n FetchPageArgs,\n InterfaceDefinition,\n Logger,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n OsdkBase,\n PageResult,\n WhereClause,\n} from \"@osdk/api\";\nimport { Chalk } from \"chalk\";\nimport { inspect } from \"node:util\";\nimport type { DeferredPromise } from \"p-defer\";\nimport pDefer from \"p-defer\";\nimport type { Observer } from \"rxjs\";\nimport invariant from \"tiny-invariant\";\nimport type { Mock, MockedObject } from \"vitest\";\nimport { afterEach, beforeEach, expect, vi, vitest } from \"vitest\";\nimport type { ActionSignatureFromDef } from \"../../actions/applyAction.js\";\nimport type { Client } from \"../../Client.js\";\nimport { additionalContext } from \"../../Client.js\";\nimport type { ObjectHolder } from \"../../object/convertWireToOsdkObjects/ObjectHolder.js\";\nimport type { SpecificLinkPayload } from \"../LinkPayload.js\";\nimport type { ListPayload } from \"../ListPayload.js\";\nimport type { ObjectPayload } from \"../ObjectPayload.js\";\nimport type { OrderBy, Status } from \"../ObservableClient/common.js\";\nimport type { Unsubscribable } from \"../Unsubscribable.js\";\nimport type { Entry } from \"./Layer.js\";\nimport type { ListQueryOptions } from \"./ListQuery.js\";\nimport type { ObjectCacheKey } from \"./ObjectQuery.js\";\nimport { storeOsdkInstances } from \"./ObjectQuery.js\";\nimport type { OptimisticId } from \"./OptimisticId.js\";\nimport type { Store } from \"./Store.js\";\n\nconst chalk = new Chalk(); // new Chalk({ level: 3 });\n\nexport interface MockClientHelper {\n client: Mock<Client> & Client;\n\n mockApplyActionOnce: () => DeferredPromise<Partial<ActionEditResponse>>;\n\n mockFetchOneOnce: <Q extends ObjectTypeDefinition>(\n expectedId?: string | number | boolean,\n ) => DeferredPromise<\n Partial<\n Osdk.Instance<Q>\n >\n >;\n\n mockObjectFactory2Once: () => DeferredPromise<\n Array<\n | Osdk.Instance<ObjectOrInterfaceDefinition, never, any, {}>\n | ObjectHolder\n >\n >;\n\n mockFetchPageOnce: <\n Q extends ObjectTypeDefinition,\n >(\n expected?: {\n where: WhereClause<any>;\n orderBy: Record<string, \"asc\" | \"desc\" | undefined>;\n },\n ) => DeferredPromise<\n PageResult<Partial<Osdk.Instance<Q>>>\n >;\n}\n\nfunction mockLog(...args: any[]) {\n // eslint-disable-next-line no-console\n console.log(\n chalk.yellow(\"mockClient\"),\n ...args,\n );\n}\n\n/**\n * Testing utilities for ObservableClient implementation.\n * - Mock creation helpers for client, observers, and callbacks\n * - Expectation utilities for validating payloads\n * - Tools for managing test lifecycle and cleanup\n * - Creates a colorized logger for test environments\n */\nexport function createTestLogger(\n bindings: Record<string, any>,\n options?: { level?: string; msgPrefix?: string },\n): Logger {\n const colors = {\n debug: [chalk.cyan, chalk.bgCyan],\n info: [chalk.green, chalk.bgGreen],\n trace: [chalk.gray, chalk.bgGray],\n error: [chalk.red, chalk.bgRed],\n warn: [chalk.yellow, chalk.bgYellow],\n fatal: [chalk.redBright, chalk.bgRedBright],\n } as const;\n function createLogMethod(\n name: \"debug\" | \"error\" | \"info\" | \"warn\" | \"fatal\" | \"trace\",\n ) {\n return vi.fn<Logger.LogFn>(\n (\n ...args: [\n obj: unknown,\n ...args1: any[],\n ] | [\n ...args2: any[],\n ]\n ) => {\n const hasData = args.length > 0 && typeof args[0] !== \"string\";\n const obj: Record<string, unknown> = hasData ? args[0] as any : {};\n const more: any[] = hasData ? args.slice(1) : args.slice(0);\n\n // eslint-disable-next-line no-console\n console.log(\n `${colors[name][1](name)}${\n options?.msgPrefix ? \" \" + colors[name][0](options.msgPrefix) : \"\"\n }${obj?.methodName ? ` .${chalk.magenta(obj.methodName)}()` : \"\"}`,\n ...more,\n );\n if (bindings && Object.keys(bindings).length > 0) {\n // eslint-disable-next-line no-console\n console.log(bindings);\n }\n },\n ) as Logger.LogFn;\n }\n return {\n debug: createLogMethod(\"debug\"),\n error: createLogMethod(\"error\"),\n info: createLogMethod(\"info\"),\n warn: createLogMethod(\"warn\"),\n fatal: createLogMethod(\"fatal\"),\n child: vi.fn<Logger[\"child\"]>((theseBindings, theseOptions) =>\n createTestLogger({\n ...bindings,\n ...theseBindings,\n }, {\n level: (theseOptions ?? options)?.level,\n msgPrefix: options?.msgPrefix || theseOptions?.msgPrefix\n ? `${options?.msgPrefix ? `${options.msgPrefix} ` : \"\"}${\n theseOptions?.msgPrefix || \"\"\n }`\n : undefined,\n })\n ),\n trace: createLogMethod(\"trace\"),\n isLevelEnabled: vi.fn((args) => true),\n };\n}\n\n/**\n * Creates mocked client helpers with deferred promise control\n */\nexport function createClientMockHelper(): MockClientHelper {\n const client = vitest.fn<typeof client>() as unknown as Mock<Client> & Client;\n\n const logger = createTestLogger({});\n\n // this is just a fallback for when there is nothing set so we can track whats up\n client.mockImplementation((...args: any[]) => {\n const localLogger = logger.child({}, { msgPrefix: \"fallback mock client\" });\n try {\n throw new Error(\"IN THE FALLBACK MOCK CLIENT IMPLEMENTATION\");\n } catch (e) {\n localLogger.error(\"Just for the stack trace\", e);\n }\n\n let where;\n const deadObjectSet = {\n where: (...whereArgs: any[]) => {\n localLogger.trace(\"where\", whereArgs);\n where = whereArgs;\n return deadObjectSet;\n },\n fetchPage: (...fetchArgs: any[]) => {\n localLogger.trace(\"fetchPage\", where!, fetchArgs);\n throw new Error(\"NO\");\n },\n fetchOne: (...fetchArgs: any[]) => {\n localLogger.trace(\"fetchOne\", fetchArgs);\n\n throw new Error(\"NO\");\n },\n };\n return deadObjectSet;\n });\n\n client[additionalContext] = {\n baseUrl: \"http://localhost:8080\",\n ontologyRid: \"ri.something\",\n objectFactory: vitest.fn(),\n objectFactory2: vitest.fn(),\n ontologyProvider: {\n getActionDefinition: vitest.fn(),\n getInterfaceDefinition: vitest.fn(),\n getObjectDefinition: vitest.fn(),\n getQueryDefinition: vitest.fn(),\n },\n tokenProvider: vitest.fn(),\n objectSetFactory: vitest.fn(),\n fetch: vitest.fn(),\n clientCacheKey: {} as any,\n requestContext: {},\n logger,\n };\n client.fetchMetadata = vitest.fn();\n\n function mockObjectFactory2Once() {\n const d = pDefer<\n (\n | Osdk.Instance<ObjectOrInterfaceDefinition, never, any, {}>\n | ObjectHolder\n )[]\n >();\n vi.mocked(client[additionalContext].objectFactory2).mockReturnValueOnce(\n d.promise as Promise<ObjectHolder[]>,\n );\n return d;\n }\n\n function mockFetchPageOnce<\n X extends PageResult<\n Osdk.Instance<ObjectTypeDefinition>\n >,\n >(): DeferredPromise<X> {\n const d = pDefer<X>();\n\n const objectSet: ObjectSet<ObjectTypeDefinition> = {\n fetchPage: async (fetchPageArgs: FetchPageArgs<any>) => {\n mockLog(\"fetchPage\", fetchPageArgs);\n const r = await d.promise;\n return { ...r, $primaryKey: fetchPageArgs };\n },\n where: (clause) => {\n mockLog(\"where\", clause);\n return objectSet;\n },\n } as Pick<\n ObjectSet<ObjectTypeDefinition>,\n \"fetchPage\" | \"where\"\n > as ObjectSet<ObjectTypeDefinition>;\n\n client.mockReturnValueOnce(objectSet);\n return d;\n }\n\n function mockFetchOneOnce<\n X extends Partial<OsdkBase<any>>,\n >(expectedId?: string | number | boolean): DeferredPromise<X> {\n const d = pDefer<X>();\n\n client.mockReturnValueOnce(\n {\n fetchOne: async (a: FetchPageArgs<any>) => {\n mockLog(\"fetchOne\", a);\n invariant(\n expectedId === undefined || a === expectedId,\n \"expected id to match\",\n );\n const r = await d.promise;\n invariant(\n r.$primaryKey === a,\n `expected id to match. Got ${\n JSON.stringify(a)\n } but object to return was ${r.$primaryKey}`,\n );\n return r as Osdk.Instance<any>;\n },\n } as Pick<ObjectSet<ObjectTypeDefinition>, \"fetchOne\">,\n );\n return d;\n }\n\n function mockApplyActionOnce(): DeferredPromise<\n Partial<ActionEditResponse>\n > {\n const d = pDefer<Partial<ActionEditResponse>>();\n\n client.mockReturnValueOnce(\n {\n applyAction: async (_args): Promise<ActionEditResponse> => {\n const x = await d.promise;\n return {\n type: \"edits\",\n addedLinks: x.addedLinks ?? [],\n addedObjects: x.addedObjects ?? [],\n deletedObjects: x.deletedObjects ?? [],\n deletedLinks: x.deletedLinks ?? [],\n deletedLinksCount: x.deletedLinksCount ?? 0,\n deletedObjectsCount: x.deletedObjectsCount ?? 0,\n editedObjectTypes: x.editedObjectTypes ?? [],\n modifiedObjects: x.modifiedObjects ?? [],\n };\n },\n } as Pick<\n ActionSignatureFromDef<ActionDefinition>,\n \"applyAction\"\n >,\n );\n return d;\n }\n\n return {\n client,\n mockApplyActionOnce,\n mockFetchOneOnce,\n mockObjectFactory2Once,\n mockFetchPageOnce,\n };\n}\n\n/**\n * Manages test subscriptions with automatic cleanup\n */\nexport function createDefer() {\n let subscriptions: Unsubscribable[];\n\n beforeEach(() => {\n subscriptions = [];\n });\n\n afterEach(() => {\n for (const s of subscriptions) {\n s.unsubscribe();\n }\n subscriptions = [];\n });\n\n return function defer(x: Unsubscribable): Unsubscribable {\n subscriptions.push(x);\n return x;\n };\n}\n\nexport function expectSingleLinkCallAndClear<T extends ObjectTypeDefinition>(\n subFn: MockedObject<Observer<SpecificLinkPayload | undefined>>,\n resolvedList: ObjectHolder[] | Osdk.Instance<T>[] | undefined,\n payloadOptions: Omit<Partial<SpecificLinkPayload>, \"resolvedList\"> = {},\n): SpecificLinkPayload | undefined {\n if (vitest.isFakeTimers()) {\n vitest.runOnlyPendingTimers();\n }\n expect(subFn.next).toHaveBeenCalledExactlyOnceWith(\n linkPayloadContaining({\n ...payloadOptions,\n resolvedList: resolvedList as unknown as Array<\n ObjectHolder\n >,\n }),\n );\n\n const ret = subFn.next.mock.calls[0][0];\n subFn.next.mockClear();\n return ret;\n}\n\nexport function expectSingleListCallAndClear<T extends ObjectTypeDefinition>(\n subFn: MockedObject<Observer<ListPayload | undefined>>,\n resolvedList: ObjectHolder[] | Osdk.Instance<T>[],\n payloadOptions: Omit<Partial<ListPayload>, \"resolvedList\"> = {},\n): void {\n if (vitest.isFakeTimers()) {\n vitest.runOnlyPendingTimers();\n }\n expect(subFn.next).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n ...payloadOptions,\n resolvedList: resolvedList as unknown as Array<\n ObjectHolder\n >,\n }),\n );\n subFn.next.mockClear();\n}\n\n/**\n * Validates object payload emissions in tests\n */\nexport function expectSingleObjectCallAndClear<T extends ObjectTypeDefinition>(\n subFn: MockedObject<Observer<ObjectPayload | undefined>>,\n object: Osdk.Instance<T> | undefined,\n status?: Status,\n): ObjectPayload | undefined {\n expect(subFn.next).toHaveBeenCalledExactlyOnceWith(\n expect.objectContaining({\n object,\n status: status ?? expect.any(String),\n }),\n );\n\n const ret = subFn.next.mock.calls[0][0];\n subFn.next.mockClear();\n return ret;\n}\n\nexport async function waitForCall(\n subFn: Mock<(e: any) => void> | MockedObject<Observer<any>>,\n times: number = 1,\n): Promise<void> {\n if (\"next\" in subFn && \"error\" in subFn && \"complete\" in subFn) {\n subFn = subFn.next;\n }\n try {\n await vi.waitFor(() => {\n expect(subFn).toHaveBeenCalledTimes(times);\n }, {\n interval: 0,\n });\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(\n `We are going to fail waiting for ${times} calls because these are our calls: `,\n inspect(subFn.mock.calls, {\n depth: 9,\n colors: true,\n compact: 2,\n }),\n );\n // we don't need the error, it will retrigger on the next line\n // and that provides better behavior in the vitest vscode\n // plugin. This places the error in the test itself instead of\n // only in this file\n }\n expect(subFn).toHaveBeenCalledTimes(times);\n}\n\nexport function expectNoMoreCalls(\n observer: MockedObject<\n Observer<any>\n >,\n): void {\n expect(observer.next).not.toHaveBeenCalled();\n expect(observer.error).not.toHaveBeenCalled();\n}\n\nfunction createSubscriptionHelper() {\n}\n\nexport type MockedSingleSubCallback =\n & MockedObject<Observer<ObjectPayload | undefined>>\n & {\n // expectLoaded: (value: unknown) => Promise<void>;\n // expectLoading: (value: unknown) => Promise<void>;\n expectLoadingAndLoaded: (q: {\n loading?: unknown;\n loaded: unknown;\n }) => Promise<void>;\n };\n\nexport function mockSingleSubCallback(): MockedSingleSubCallback {\n const ret = mockObserver<ObjectPayload | undefined>();\n\n // async function expectLoaded(value: unknown) {\n // await waitForCall(ret);\n // // as long as we get the loaded call we are happy\n // expect(ret).toHaveBeenLastCalledWith(\n // cacheEntryContaining({\n // value,\n // status: \"loaded\",\n // }),\n // );\n // ret.mockClear();\n // }\n\n // async function expectLoading(value: unknown) {\n // await waitForCall(ret);\n // // as long as we get the loaded call we are happy\n // expect(ret).toHaveBeenCalledExactlyOnceWith(\n // cacheEntryContaining({\n // value,\n // status: \"loading\",\n // }),\n // );\n // ret.mockClear();\n // }\n\n return Object.assign(ret, {\n // expectLoaded,\n // expectLoading,\n expectLoadingAndLoaded: async (\n q: { loading?: unknown; loaded: unknown },\n ) => {\n await waitForCall(ret.next, 2);\n\n // as long as we get the loaded call we are happy\n expect(ret.next).toHaveBeenNthCalledWith(\n 1,\n q.loading,\n );\n expect(ret.next).toHaveBeenNthCalledWith(\n 2,\n q.loaded,\n );\n expect(ret.next).toHaveBeenCalledTimes(2);\n ret.next.mockClear();\n },\n });\n}\n\nexport function mockObserver<T>(): MockedObject<Observer<T>> {\n return {\n next: vitest.fn(),\n\n // error: vitest.fn((x) => console.error(x)),\n error: vitest.fn(),\n complete: vitest.fn(),\n };\n}\n\n// todo: find uses of this and replace with direct call to mockObserver<ListPayload | undefined>\nexport function mockListSubCallback(): MockedObject<\n Observer<ListPayload | undefined>\n> {\n return mockObserver<ListPayload | undefined>();\n}\n\n// todo: find uses of this and replace with direct call to mockObserver<SpecificLinkPayload | undefined>\nexport function mockLinkSubCallback(): MockedObject<\n Observer<SpecificLinkPayload | undefined>\n> {\n return mockObserver<SpecificLinkPayload | undefined>();\n}\n\nexport function cacheEntryContaining(x: Partial<Entry<any>>): Entry<any> {\n return {\n cacheKey: x.cacheKey ?? expect.any(Object),\n value: \"value\" in x\n ? x.value\n : expect.toBeOneOf([expect.anything(), undefined]),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nfunction nonOptionalValue<T extends object, K extends keyof T>(\n src: T,\n key: K,\n): NonNullable<T[K]> {\n return key in src\n ? src[key]\n : expect.toBeOneOf([expect.anything(), undefined]);\n}\n\nexport function objectPayloadContaining(\n x: Partial<ObjectPayload>,\n): ObjectPayload {\n return {\n object: nonOptionalValue(x, \"object\"),\n isOptimistic: expect.any(Boolean),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nexport function listPayloadContaining(\n x: Partial<ListPayload>,\n): ListPayload {\n return {\n fetchMore: x.fetchMore ?? expect.any(Function),\n hasMore: x.hasMore ?? expect.any(Boolean),\n resolvedList: x.resolvedList ?? expect.anything(),\n isOptimistic: expect.any(Boolean),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nexport function linkPayloadContaining(\n x: Partial<SpecificLinkPayload>,\n): SpecificLinkPayload {\n return {\n fetchMore: x.fetchMore ?? expect.any(Function),\n hasMore: x.hasMore ?? expect.any(Boolean),\n resolvedList: x.resolvedList ?? expect.anything(),\n isOptimistic: expect.any(Boolean),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nexport function applyCustomMatchers(): void {\n expect.extend({\n toBeGreaterThan: (r: number, e: number) => {\n return {\n pass: r > e,\n message: () => `expected ${r} to be greater than ${e} (lastUpdated)`,\n };\n },\n });\n}\n\ninterface CustomMatchers<R = any> {\n toBeGreaterThan: (n: number) => R;\n}\n\ninterface CustomAsymmetricMatchers<R = any> {\n toBeGreaterThan: (n: number) => R;\n}\n\ndeclare module \"vitest\" {\n interface Assertion<T = any> extends CustomMatchers<T> {}\n interface AsymmetricMatchersContaining extends CustomAsymmetricMatchers {}\n}\n\n/**\n * Updates the internal state of a list and will create a new internal query if needed.\n *\n * Helper method only for tests right now. May be removed later.\n *\n * @param apiName\n * @param where\n * @param orderBy\n * @param objects\n * @param param4\n * @param opts\n */\nexport function updateList<\n T extends ObjectTypeDefinition | InterfaceDefinition,\n>(\n store: Store,\n {\n type,\n where,\n orderBy,\n }: {\n type: Pick<T, \"apiName\" | \"type\">;\n where: WhereClause<T>;\n orderBy: OrderBy<T>;\n },\n objects: ObjectHolder[] | Osdk.Instance<T>[],\n { optimisticId }: { optimisticId?: OptimisticId } = {},\n opts: ListQueryOptions = { dedupeInterval: 0 },\n): void {\n if (process.env.NODE_ENV !== \"production\") {\n store.logger?.child({ methodName: \"updateList\" }).info(\n \"\",\n { optimisticId },\n );\n }\n\n const query = store.lists.getQuery({\n ...opts,\n type,\n where: where ?? {},\n orderBy: orderBy ?? {},\n });\n\n store.batch({ optimisticId }, (batch) => {\n const objectCacheKeys = storeOsdkInstances(store, objects, batch);\n query._updateList(objectCacheKeys, \"loaded\", batch, false);\n });\n}\n\nexport function getObject(\n store: Store,\n type: string,\n pk: number,\n): ObjectHolder | undefined {\n return store.getValue(store.getCacheKey<ObjectCacheKey>(\"object\", type, pk))\n ?.value;\n}\n\nexport function updateObject<T extends ObjectOrInterfaceDefinition>(\n store: Store,\n value: Osdk.Instance<T>,\n { optimisticId }: { optimisticId?: OptimisticId } = {},\n): Osdk.Instance<T> {\n const query = store.objects.getQuery({\n apiName: value.$apiName,\n pk: value.$primaryKey,\n });\n\n store.batch({ optimisticId }, (batch) => {\n return query.writeToStore(\n value as unknown as ObjectHolder<typeof value>,\n \"loaded\",\n batch,\n );\n });\n\n return value;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgBA,SAASA,KAAK,QAAQ,OAAO;AAC7B,SAASC,OAAO,QAAQ,WAAW;AAEnC,OAAOC,MAAM,MAAM,SAAS;AAE5B,OAAOC,SAAS,MAAM,gBAAgB;AAEtC,SAASC,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,EAAE,EAAEC,MAAM,QAAQ,QAAQ;AAGlE,SAASC,iBAAiB,QAAQ,iBAAiB;AAUnD,SAASC,kBAAkB,QAAQ,kBAAkB;AAIrD,MAAMC,KAAK,GAAG,IAAIX,KAAK,CAAC,CAAC,CAAC,CAAC;;AAkC3B,SAASY,OAAOA,CAAC,GAAGC,IAAW,EAAE;EAC/B;EACAC,OAAO,CAACC,GAAG,CACTJ,KAAK,CAACK,MAAM,CAAC,YAAY,CAAC,EAC1B,GAAGH,IACL,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,gBAAgBA,CAC9BC,QAA6B,EAC7BC,OAAgD,EACxC;EACR,MAAMC,MAAM,GAAG;IACbC,KAAK,EAAE,CAACV,KAAK,CAACW,IAAI,EAAEX,KAAK,CAACY,MAAM,CAAC;IACjCC,IAAI,EAAE,CAACb,KAAK,CAACc,KAAK,EAAEd,KAAK,CAACe,OAAO,CAAC;IAClCC,KAAK,EAAE,CAAChB,KAAK,CAACiB,IAAI,EAAEjB,KAAK,CAACkB,MAAM,CAAC;IACjCC,KAAK,EAAE,CAACnB,KAAK,CAACoB,GAAG,EAAEpB,KAAK,CAACqB,KAAK,CAAC;IAC/BC,IAAI,EAAE,CAACtB,KAAK,CAACK,MAAM,EAAEL,KAAK,CAACuB,QAAQ,CAAC;IACpCC,KAAK,EAAE,CAACxB,KAAK,CAACyB,SAAS,EAAEzB,KAAK,CAAC0B,WAAW;EAC5C,CAAU;EACV,SAASC,eAAeA,CACtBC,IAA6D,EAC7D;IACA,OAAOhC,EAAE,CAACiC,EAAE,CACV,CACE,GAAG3B,IAKF,KACE;MACH,MAAM4B,OAAO,GAAG5B,IAAI,CAAC6B,MAAM,GAAG,CAAC,IAAI,OAAO7B,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;MAC9D,MAAM8B,GAA4B,GAAGF,OAAO,GAAG5B,IAAI,CAAC,CAAC,CAAC,GAAU,CAAC,CAAC;MAClE,MAAM+B,IAAW,GAAGH,OAAO,GAAG5B,IAAI,CAACgC,KAAK,CAAC,CAAC,CAAC,GAAGhC,IAAI,CAACgC,KAAK,CAAC,CAAC,CAAC;;MAE3D;MACA/B,OAAO,CAACC,GAAG,CACT,GAAGK,MAAM,CAACmB,IAAI,CAAC,CAAC,CAAC,CAAC,CAACA,IAAI,CAAC,GACtBpB,OAAO,EAAE2B,SAAS,GAAG,GAAG,GAAG1B,MAAM,CAACmB,IAAI,CAAC,CAAC,CAAC,CAAC,CAACpB,OAAO,CAAC2B,SAAS,CAAC,GAAG,EAAE,GACjEH,GAAG,EAAEI,UAAU,GAAG,KAAKpC,KAAK,CAACqC,OAAO,CAACL,GAAG,CAACI,UAAU,CAAC,IAAI,GAAG,EAAE,EAAE,EAClE,GAAGH,IACL,CAAC;MACD,IAAI1B,QAAQ,IAAI+B,MAAM,CAACC,IAAI,CAAChC,QAAQ,CAAC,CAACwB,MAAM,GAAG,CAAC,EAAE;QAChD;QACA5B,OAAO,CAACC,GAAG,CAACG,QAAQ,CAAC;MACvB;IACF,CACF,CAAC;EACH;EACA,OAAO;IACLG,KAAK,EAAEiB,eAAe,CAAC,OAAO,CAAC;IAC/BR,KAAK,EAAEQ,eAAe,CAAC,OAAO,CAAC;IAC/Bd,IAAI,EAAEc,eAAe,CAAC,MAAM,CAAC;IAC7BL,IAAI,EAAEK,eAAe,CAAC,MAAM,CAAC;IAC7BH,KAAK,EAAEG,eAAe,CAAC,OAAO,CAAC;IAC/Ba,KAAK,EAAE5C,EAAE,CAACiC,EAAE,CAAkB,CAACY,aAAa,EAAEC,YAAY,KACxDpC,gBAAgB,CAAC;MACf,GAAGC,QAAQ;MACX,GAAGkC;IACL,CAAC,EAAE;MACDE,KAAK,EAAE,CAACD,YAAY,IAAIlC,OAAO,GAAGmC,KAAK;MACvCR,SAAS,EAAE3B,OAAO,EAAE2B,SAAS,IAAIO,YAAY,EAAEP,SAAS,GACpD,GAAG3B,OAAO,EAAE2B,SAAS,GAAG,GAAG3B,OAAO,CAAC2B,SAAS,GAAG,GAAG,EAAE,GACpDO,YAAY,EAAEP,SAAS,IAAI,EAAE,EAC7B,GACAS;IACN,CAAC,CACH,CAAC;IACD5B,KAAK,EAAEW,eAAe,CAAC,OAAO,CAAC;IAC/BkB,cAAc,EAAEjD,EAAE,CAACiC,EAAE,CAAC,MAAU,IAAI;EACtC,CAAC;AACH;;AAEA;AACA;AACA;AACA,OAAO,SAASiB,sBAAsBA,CAAA,EAAqB;EACzD,MAAMC,MAAM,GAAGlD,MAAM,CAACgC,EAAE,CAAgB,CAAqC;EAE7E,MAAMmB,MAAM,GAAG1C,gBAAgB,CAAC,CAAC,CAAC,CAAC;;EAEnC;EACAyC,MAAM,CAACE,kBAAkB,CAAC,CAAC,GAAG/C,IAAW,KAAK;IAC5C,MAAMgD,WAAW,GAAGF,MAAM,CAACR,KAAK,CAAC,CAAC,CAAC,EAAE;MAAEL,SAAS,EAAE;IAAuB,CAAC,CAAC;IAC3E,IAAI;MACF,MAAM,IAAIgB,KAAK,CAAC,4CAA4C,CAAC;IAC/D,CAAC,CAAC,OAAOC,CAAC,EAAE;MACVF,WAAW,CAAC/B,KAAK,CAAC,0BAA0B,EAAEiC,CAAC,CAAC;IAClD;IAEA,IAAIC,KAAK;IACT,MAAMC,aAAa,GAAG;MACpBD,KAAK,EAAEA,CAAC,GAAGE,SAAgB,KAAK;QAC9BL,WAAW,CAAClC,KAAK,CAAC,OAAO,EAAEuC,SAAS,CAAC;QACrCF,KAAK,GAAGE,SAAS;QACjB,OAAOD,aAAa;MACtB,CAAC;MACDE,SAAS,EAAEA,CAAC,GAAGC,SAAgB,KAAK;QAClCP,WAAW,CAAClC,KAAK,CAAC,WAAW,EAAEqC,KAAK,EAAGI,SAAS,CAAC;QACjD,MAAM,IAAIN,KAAK,CAAC,IAAI,CAAC;MACvB,CAAC;MACDO,QAAQ,EAAEA,CAAC,GAAGD,SAAgB,KAAK;QACjCP,WAAW,CAAClC,KAAK,CAAC,UAAU,EAAEyC,SAAS,CAAC;QAExC,MAAM,IAAIN,KAAK,CAAC,IAAI,CAAC;MACvB;IACF,CAAC;IACD,OAAOG,aAAa;EACtB,CAAC,CAAC;EAEFP,MAAM,CAACjD,iBAAiB,CAAC,GAAG;IAC1B6D,OAAO,EAAE,uBAAuB;IAChCC,WAAW,EAAE,cAAc;IAC3BC,aAAa,EAAEhE,MAAM,CAACgC,EAAE,CAAC,CAAC;IAC1BiC,cAAc,EAAEjE,MAAM,CAACgC,EAAE,CAAC,CAAC;IAC3BkC,gBAAgB,EAAE;MAChBC,mBAAmB,EAAEnE,MAAM,CAACgC,EAAE,CAAC,CAAC;MAChCoC,sBAAsB,EAAEpE,MAAM,CAACgC,EAAE,CAAC,CAAC;MACnCqC,mBAAmB,EAAErE,MAAM,CAACgC,EAAE,CAAC,CAAC;MAChCsC,kBAAkB,EAAEtE,MAAM,CAACgC,EAAE,CAAC;IAChC,CAAC;IACDuC,aAAa,EAAEvE,MAAM,CAACgC,EAAE,CAAC,CAAC;IAC1BwC,gBAAgB,EAAExE,MAAM,CAACgC,EAAE,CAAC,CAAC;IAC7ByC,KAAK,EAAEzE,MAAM,CAACgC,EAAE,CAAC,CAAC;IAClB0C,cAAc,EAAE,CAAC,CAAQ;IACzBC,cAAc,EAAE,CAAC,CAAC;IAClBxB;EACF,CAAC;EACDD,MAAM,CAAC0B,aAAa,GAAG5E,MAAM,CAACgC,EAAE,CAAC,CAAC;EAiGlC,OAAO;IACLkB,MAAM;IACN2B,mBAAmB,EA/BrB,SAAAA,CAAA,EAEE;MACA,MAAMC,CAAC,GAAGpF,MAAM,CAA8B,CAAC;MAE/CwD,MAAM,CAAC6B,mBAAmB,CACxB;QACEC,WAAW,EAAE,MAAAA,CAAA,KAA8C;UACzD,MAAMC,CAAC,GAAG,MAAMH,CAAC,CAACI,OAAO;UACzB,OAAO;YACLC,IAAI,EAAE,OAAO;YACbC,UAAU,EAAEH,CAAC,CAACG,UAAU,IAAI,EAAE;YAC9BC,YAAY,EAAEJ,CAAC,CAACI,YAAY,IAAI,EAAE;YAClCC,cAAc,EAAEL,CAAC,CAACK,cAAc,IAAI,EAAE;YACtCC,YAAY,EAAEN,CAAC,CAACM,YAAY,IAAI,EAAE;YAClCC,iBAAiB,EAAEP,CAAC,CAACO,iBAAiB,IAAI,CAAC;YAC3CC,mBAAmB,EAAER,CAAC,CAACQ,mBAAmB,IAAI,CAAC;YAC/CC,iBAAiB,EAAET,CAAC,CAACS,iBAAiB,IAAI,EAAE;YAC5CC,eAAe,EAAEV,CAAC,CAACU,eAAe,IAAI;UACxC,CAAC;QACH;MACF,CAIF,CAAC;MACD,OAAOb,CAAC;IACV,CAIqB;IACnBc,gBAAgB,EA3DlB,SAAAA,CAEEC,UAAsC,EAAsB;MAC5D,MAAMf,CAAC,GAAGpF,MAAM,CAAI,CAAC;MAErBwD,MAAM,CAAC6B,mBAAmB,CACxB;QACElB,QAAQ,EAAE,MAAOiC,CAAqB,IAAK;UACzC1F,OAAO,CAAC,UAAU,EAAE0F,CAAC,CAAC;UACtB,EACED,UAAU,KAAK9C,SAAS,IAAI+C,CAAC,KAAKD,UAAU,IAAAE,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAD9CtG,SAAS,QAEP,sBAAsB,IAFxBA,SAAS;UAIT,MAAMuG,CAAC,GAAG,MAAMpB,CAAC,CAACI,OAAO;UACzB,EACEgB,CAAC,CAACC,WAAW,KAAKL,CAAC,IAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBADrBtG,SAAS,QAEP,6BACEyG,IAAI,CAACC,SAAS,CAACP,CAAC,CAAC,6BACUI,CAAC,CAACC,WAAW,EAAE,IAJ9CxG,SAAS;UAMT,OAAOuG,CAAC;QACV;MACF,CACF,CAAC;MACD,OAAOpB,CAAC;IACV,CAkCkB;IAChBwB,sBAAsB,EAnGxB,SAAAA,CAAA,EAAkC;MAChC,MAAMxB,CAAC,GAAGpF,MAAM,CAKd,CAAC;MACHK,EAAE,CAACwG,MAAM,CAACrD,MAAM,CAACjD,iBAAiB,CAAC,CAACgE,cAAc,CAAC,CAACc,mBAAmB,CACrED,CAAC,CAACI,OACJ,CAAC;MACD,OAAOJ,CAAC;IACV,CAwFwB;IACtB0B,iBAAiB,EAvFnB,SAAAA,CAAA,EAIwB;MACtB,MAAM1B,CAAC,GAAGpF,MAAM,CAAI,CAAC;MAErB,MAAM+G,SAA0C,GAAG;QACjD9C,SAAS,EAAE,MAAO+C,aAAiC,IAAK;UACtDtG,OAAO,CAAC,WAAW,EAAEsG,aAAa,CAAC;UACnC,MAAMR,CAAC,GAAG,MAAMpB,CAAC,CAACI,OAAO;UACzB,OAAO;YAAE,GAAGgB,CAAC;YAAEC,WAAW,EAAEO;UAAc,CAAC;QAC7C,CAAC;QACDlD,KAAK,EAAGmD,MAAM,IAAK;UACjBvG,OAAO,CAAC,OAAO,EAAEuG,MAAM,CAAC;UACxB,OAAOF,SAAS;QAClB;MACF,CAGoC;MAEpCvD,MAAM,CAAC6B,mBAAmB,CAAC0B,SAAS,CAAC;MACrC,OAAO3B,CAAC;IACV;EAgEA,CAAC;AACH;;AAEA;AACA;AACA;AACA,OAAO,SAAS8B,WAAWA,CAAA,EAAG;EAC5B,IAAIC,aAA+B;EAEnChH,UAAU,CAAC,MAAM;IACfgH,aAAa,GAAG,EAAE;EACpB,CAAC,CAAC;EAEFjH,SAAS,CAAC,MAAM;IACd,KAAK,MAAMkH,CAAC,IAAID,aAAa,EAAE;MAC7BC,CAAC,CAACC,WAAW,CAAC,CAAC;IACjB;IACAF,aAAa,GAAG,EAAE;EACpB,CAAC,CAAC;EAEF,OAAO,UAAe5B,CAAiB,EAAkB;IACvD4B,aAAa,CAACG,IAAI,CAAC/B,CAAC,CAAC;IACrB,OAAOA,CAAC;EACV,CAAC;AACH;AAEA,OAAO,SAASgC,4BAA4BA,CAC1CC,KAA8D,EAC9DC,YAA6D,EAC7DC,cAAkE,GAAG,CAAC,CAAC,EACtC;EACjC,IAAIpH,MAAM,CAACqH,YAAY,CAAC,CAAC,EAAE;IACzBrH,MAAM,CAACsH,oBAAoB,CAAC,CAAC;EAC/B;EACAxH,MAAM,CAACoH,KAAK,CAACK,IAAI,CAAC,CAACC,+BAA+B,CAChDC,qBAAqB,CAAC;IACpB,GAAGL,cAAc;IACjBD,YAAY,EAAEA;EAGhB,CAAC,CACH,CAAC;EAED,MAAMO,GAAG,GAAGR,KAAK,CAACK,IAAI,CAACI,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACvCV,KAAK,CAACK,IAAI,CAACM,SAAS,CAAC,CAAC;EACtB,OAAOH,GAAG;AACZ;AAEA,OAAO,SAASI,4BAA4BA,CAC1CZ,KAAsD,EACtDC,YAAiD,EACjDC,cAA0D,GAAG,CAAC,CAAC,EACzD;EACN,IAAIpH,MAAM,CAACqH,YAAY,CAAC,CAAC,EAAE;IACzBrH,MAAM,CAACsH,oBAAoB,CAAC,CAAC;EAC/B;EACAxH,MAAM,CAACoH,KAAK,CAACK,IAAI,CAAC,CAACC,+BAA+B,CAChDO,qBAAqB,CAAC;IACpB,GAAGX,cAAc;IACjBD,YAAY,EAAEA;EAGhB,CAAC,CACH,CAAC;EACDD,KAAK,CAACK,IAAI,CAACM,SAAS,CAAC,CAAC;AACxB;;AAEA;AACA;AACA;AACA,OAAO,SAASG,8BAA8BA,CAC5Cd,KAAwD,EACxDe,MAAoC,EACpCC,MAAe,EACY;EAC3BpI,MAAM,CAACoH,KAAK,CAACK,IAAI,CAAC,CAACC,+BAA+B,CAChD1H,MAAM,CAACqI,gBAAgB,CAAC;IACtBF,MAAM;IACNC,MAAM,EAAEA,MAAM,IAAIpI,MAAM,CAACsI,GAAG,CAACC,MAAM;EACrC,CAAC,CACH,CAAC;EAED,MAAMX,GAAG,GAAGR,KAAK,CAACK,IAAI,CAACI,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACvCV,KAAK,CAACK,IAAI,CAACM,SAAS,CAAC,CAAC;EACtB,OAAOH,GAAG;AACZ;AAEA,OAAO,eAAeY,WAAWA,CAC/BpB,KAA2D,EAC3DqB,KAAa,GAAG,CAAC,EACF;EACf,IAAI,MAAM,IAAIrB,KAAK,IAAI,OAAO,IAAIA,KAAK,IAAI,UAAU,IAAIA,KAAK,EAAE;IAC9DA,KAAK,GAAGA,KAAK,CAACK,IAAI;EACpB;EACA,IAAI;IACF,MAAMxH,EAAE,CAACyI,OAAO,CAAC,MAAM;MACrB1I,MAAM,CAACoH,KAAK,CAAC,CAACuB,qBAAqB,CAACF,KAAK,CAAC;IAC5C,CAAC,EAAE;MACDG,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOnF,CAAC,EAAE;IACV;IACAjD,OAAO,CAACC,GAAG,CACT,oCAAoCgI,KAAK,sCAAsC,EAC/E9I,OAAO,CAACyH,KAAK,CAACS,IAAI,CAACC,KAAK,EAAE;MACxBe,KAAK,EAAE,CAAC;MACR/H,MAAM,EAAE,IAAI;MACZgI,OAAO,EAAE;IACX,CAAC,CACH,CAAC;IACD;IACA;IACA;IACA;EACF;EACA9I,MAAM,CAACoH,KAAK,CAAC,CAACuB,qBAAqB,CAACF,KAAK,CAAC;AAC5C;AAEA,OAAO,SAASM,iBAAiBA,CAC/BC,QAEC,EACK;EACNhJ,MAAM,CAACgJ,QAAQ,CAACvB,IAAI,CAAC,CAACwB,GAAG,CAACC,gBAAgB,CAAC,CAAC;EAC5ClJ,MAAM,CAACgJ,QAAQ,CAACxH,KAAK,CAAC,CAACyH,GAAG,CAACC,gBAAgB,CAAC,CAAC;AAC/C;AAEA,SAASC,wBAAwBA,CAAA,EAAG,CACpC;AAaA,OAAO,SAASC,qBAAqBA,CAAA,EAA4B;EAC/D,MAAMxB,GAAG,GAAGyB,YAAY,CAA4B,CAAC;;EAErD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,OAAO1G,MAAM,CAAC2G,MAAM,CAAC1B,GAAG,EAAE;IACxB;IACA;IACA2B,sBAAsB,EAAE,MACtBC,CAAyC,IACtC;MACH,MAAMhB,WAAW,CAACZ,GAAG,CAACH,IAAI,EAAE,CAAC,CAAC;;MAE9B;MACAzH,MAAM,CAAC4H,GAAG,CAACH,IAAI,CAAC,CAACgC,uBAAuB,CACtC,CAAC,EACDD,CAAC,CAACE,OACJ,CAAC;MACD1J,MAAM,CAAC4H,GAAG,CAACH,IAAI,CAAC,CAACgC,uBAAuB,CACtC,CAAC,EACDD,CAAC,CAACG,MACJ,CAAC;MACD3J,MAAM,CAAC4H,GAAG,CAACH,IAAI,CAAC,CAACkB,qBAAqB,CAAC,CAAC,CAAC;MACzCf,GAAG,CAACH,IAAI,CAACM,SAAS,CAAC,CAAC;IACtB;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,SAASsB,YAAYA,CAAA,EAAiC;EAC3D,OAAO;IACL5B,IAAI,EAAEvH,MAAM,CAACgC,EAAE,CAAC,CAAC;IAEjB;IACAV,KAAK,EAAEtB,MAAM,CAACgC,EAAE,CAAC,CAAC;IAClB0H,QAAQ,EAAE1J,MAAM,CAACgC,EAAE,CAAC;EACtB,CAAC;AACH;;AAEA;AACA,OAAO,SAAS2H,mBAAmBA,CAAA,EAEjC;EACA,OAAOR,YAAY,CAA0B,CAAC;AAChD;;AAEA;AACA,OAAO,SAASS,mBAAmBA,CAAA,EAEjC;EACA,OAAOT,YAAY,CAAkC,CAAC;AACxD;AAEA,OAAO,SAASU,oBAAoBA,CAAC5E,CAAsB,EAAc;EACvE,OAAO;IACL6E,QAAQ,EAAE7E,CAAC,CAAC6E,QAAQ,IAAIhK,MAAM,CAACsI,GAAG,CAAC3F,MAAM,CAAC;IAC1CsH,KAAK,EAAE,OAAO,IAAI9E,CAAC,GACfA,CAAC,CAAC8E,KAAK,GACPjK,MAAM,CAACkK,SAAS,CAAC,CAAClK,MAAM,CAACmK,QAAQ,CAAC,CAAC,EAAElH,SAAS,CAAC,CAAC;IACpDmF,MAAM,EAAEjD,CAAC,CAACiD,MAAM,IAAIpI,MAAM,CAACmK,QAAQ,CAAC,CAAC;IACrCC,WAAW,EAAEjF,CAAC,CAACiF,WAAW,IAAIpK,MAAM,CAACmK,QAAQ,CAAC;EAChD,CAAC;AACH;AAEA,SAASE,gBAAgBA,CACvBC,GAAM,EACNC,GAAM,EACa;EACnB,OAAOA,GAAG,IAAID,GAAG,GACbA,GAAG,CAACC,GAAG,CAAC,GACRvK,MAAM,CAACkK,SAAS,CAAC,CAAClK,MAAM,CAACmK,QAAQ,CAAC,CAAC,EAAElH,SAAS,CAAC,CAAC;AACtD;AAEA,OAAO,SAASuH,uBAAuBA,CACrCrF,CAAyB,EACV;EACf,OAAO;IACLgD,MAAM,EAAEkC,gBAAgB,CAAClF,CAAC,EAAE,QAAQ,CAAC;IACrCsF,YAAY,EAAEzK,MAAM,CAACsI,GAAG,CAACoC,OAAO,CAAC;IACjCtC,MAAM,EAAEjD,CAAC,CAACiD,MAAM,IAAIpI,MAAM,CAACmK,QAAQ,CAAC,CAAC;IACrCC,WAAW,EAAEjF,CAAC,CAACiF,WAAW,IAAIpK,MAAM,CAACmK,QAAQ,CAAC;EAChD,CAAC;AACH;AAEA,OAAO,SAASlC,qBAAqBA,CACnC9C,CAAuB,EACV;EACb,OAAO;IACLwF,SAAS,EAAExF,CAAC,CAACwF,SAAS,IAAI3K,MAAM,CAACsI,GAAG,CAACsC,QAAQ,CAAC;IAC9CC,OAAO,EAAE1F,CAAC,CAAC0F,OAAO,IAAI7K,MAAM,CAACsI,GAAG,CAACoC,OAAO,CAAC;IACzCrD,YAAY,EAAElC,CAAC,CAACkC,YAAY,IAAIrH,MAAM,CAACmK,QAAQ,CAAC,CAAC;IACjDM,YAAY,EAAEzK,MAAM,CAACsI,GAAG,CAACoC,OAAO,CAAC;IACjCtC,MAAM,EAAEjD,CAAC,CAACiD,MAAM,IAAIpI,MAAM,CAACmK,QAAQ,CAAC,CAAC;IACrCC,WAAW,EAAEjF,CAAC,CAACiF,WAAW,IAAIpK,MAAM,CAACmK,QAAQ,CAAC;EAChD,CAAC;AACH;AAEA,OAAO,SAASxC,qBAAqBA,CACnCxC,CAA+B,EACV;EACrB,OAAO;IACLwF,SAAS,EAAExF,CAAC,CAACwF,SAAS,IAAI3K,MAAM,CAACsI,GAAG,CAACsC,QAAQ,CAAC;IAC9CC,OAAO,EAAE1F,CAAC,CAAC0F,OAAO,IAAI7K,MAAM,CAACsI,GAAG,CAACoC,OAAO,CAAC;IACzCrD,YAAY,EAAElC,CAAC,CAACkC,YAAY,IAAIrH,MAAM,CAACmK,QAAQ,CAAC,CAAC;IACjDM,YAAY,EAAEzK,MAAM,CAACsI,GAAG,CAACoC,OAAO,CAAC;IACjCtC,MAAM,EAAEjD,CAAC,CAACiD,MAAM,IAAIpI,MAAM,CAACmK,QAAQ,CAAC,CAAC;IACrCC,WAAW,EAAEjF,CAAC,CAACiF,WAAW,IAAIpK,MAAM,CAACmK,QAAQ,CAAC;EAChD,CAAC;AACH;AAEA,OAAO,SAASW,mBAAmBA,CAAA,EAAS;EAC1C9K,MAAM,CAAC+K,MAAM,CAAC;IACZC,eAAe,EAAEA,CAAC5E,CAAS,EAAE3C,CAAS,KAAK;MACzC,OAAO;QACLwH,IAAI,EAAE7E,CAAC,GAAG3C,CAAC;QACXyH,OAAO,EAAEA,CAAA,KAAM,YAAY9E,CAAC,uBAAuB3C,CAAC;MACtD,CAAC;IACH;EACF,CAAC,CAAC;AACJ;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS0H,UAAUA,CAGxBC,KAAY,EACZ;EACE/F,IAAI;EACJ3B,KAAK;EACL2H;AAKF,CAAC,EACDC,OAA4C,EAC5C;EAAEC;AAA8C,CAAC,GAAG,CAAC,CAAC,EACtDC,IAAsB,GAAG;EAAEC,cAAc,EAAE;AAAE,CAAC,EACxC;EACN,IAAIxF,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzCiF,KAAK,CAAC/H,MAAM,EAAER,KAAK,CAAC;MAAEJ,UAAU,EAAE;IAAa,CAAC,CAAC,CAACvB,IAAI,CACpD,EAAE,EACF;MAAEqK;IAAa,CACjB,CAAC;EACH;EAEA,MAAMG,KAAK,GAAGN,KAAK,CAACO,KAAK,CAACC,QAAQ,CAAC;IACjC,GAAGJ,IAAI;IACPnG,IAAI;IACJ3B,KAAK,EAAEA,KAAK,IAAI,CAAC,CAAC;IAClB2H,OAAO,EAAEA,OAAO,IAAI,CAAC;EACvB,CAAC,CAAC;EAEFD,KAAK,CAACS,KAAK,CAAC;IAAEN;EAAa,CAAC,EAAGM,KAAK,IAAK;IACvC,MAAMC,eAAe,GAAG1L,kBAAkB,CAACgL,KAAK,EAAEE,OAAO,EAAEO,KAAK,CAAC;IACjEH,KAAK,CAACK,WAAW,CAACD,eAAe,EAAE,QAAQ,EAAED,KAAK,EAAE,KAAK,CAAC;EAC5D,CAAC,CAAC;AACJ;AAEA,OAAO,SAASG,SAASA,CACvBZ,KAAY,EACZ/F,IAAY,EACZ4G,EAAU,EACgB;EAC1B,OAAOb,KAAK,CAACc,QAAQ,CAACd,KAAK,CAACe,WAAW,CAAiB,QAAQ,EAAE9G,IAAI,EAAE4G,EAAE,CAAC,CAAC,EACxEhC,KAAK;AACX;AAEA,OAAO,SAASmC,YAAYA,CAC1BhB,KAAY,EACZnB,KAAuB,EACvB;EAAEsB;AAA8C,CAAC,GAAG,CAAC,CAAC,EACpC;EAClB,MAAMG,KAAK,GAAGN,KAAK,CAACE,OAAO,CAACM,QAAQ,CAAC;IACnCS,OAAO,EAAEpC,KAAK,CAACqC,QAAQ;IACvBL,EAAE,EAAEhC,KAAK,CAAC5D;EACZ,CAAC,CAAC;EAEF+E,KAAK,CAACS,KAAK,CAAC;IAAEN;EAAa,CAAC,EAAGM,KAAK,IAAK;IACvC,OAAOH,KAAK,CAACa,YAAY,CACvBtC,KAAK,EACL,QAAQ,EACR4B,KACF,CAAC;EACH,CAAC,CAAC;EAEF,OAAO5B,KAAK;AACd","ignoreList":[]}
1
+ {"version":3,"file":"testUtils.js","names":["Chalk","inspect","pDefer","invariant","afterEach","beforeEach","expect","vi","vitest","additionalContext","chalk","mockLog","args","console","log","yellow","createTestLogger","bindings","options","colors","debug","cyan","bgCyan","info","green","bgGreen","trace","gray","bgGray","error","red","bgRed","warn","bgYellow","fatal","redBright","bgRedBright","createLogMethod","name","fn","hasData","length","obj","more","slice","msgPrefix","methodName","magenta","Object","keys","child","theseBindings","theseOptions","level","undefined","isLevelEnabled","createClientMockHelper","client","logger","mockImplementation","localLogger","Error","e","where","deadObjectSet","whereArgs","fetchPage","fetchArgs","fetchOne","baseUrl","ontologyRid","objectFactory","objectFactory2","ontologyProvider","getActionDefinition","getInterfaceDefinition","getObjectDefinition","getQueryDefinition","tokenProvider","objectSetFactory","fetch","clientCacheKey","requestContext","fetchMetadata","mockApplyActionOnce","d","mockReturnValueOnce","applyAction","x","promise","type","addedLinks","addedObjects","deletedObjects","deletedLinks","deletedLinksCount","deletedObjectsCount","editedObjectTypes","modifiedObjects","mockFetchOneOnce","expectedId","a","process","env","NODE_ENV","r","$primaryKey","JSON","stringify","mockObjectFactory2Once","mocked","mockFetchPageOnce","objectSet","fetchPageArgs","clause","createDefer","subscriptions","s","unsubscribe","push","expectSingleLinkCallAndClear","subFn","resolvedList","payloadOptions","isFakeTimers","runOnlyPendingTimers","next","toHaveBeenCalledExactlyOnceWith","linkPayloadContaining","ret","mock","calls","mockClear","expectSingleListCallAndClear","listPayloadContaining","expectSingleObjectCallAndClear","object","status","objectContaining","any","String","waitForCall","times","waitFor","toHaveBeenCalledTimes","interval","depth","compact","expectNoMoreCalls","observer","not","toHaveBeenCalled","createSubscriptionHelper","mockSingleSubCallback","mockObserver","assign","expectLoadingAndLoaded","q","toHaveBeenNthCalledWith","loading","loaded","complete","mockListSubCallback","mockLinkSubCallback","cacheEntryContaining","cacheKey","value","toBeOneOf","anything","lastUpdated","nonOptionalValue","src","key","objectPayloadContaining","isOptimistic","Boolean","fetchMore","Function","hasMore","applyCustomMatchers","extend","toBeGreaterThan","pass","message","updateList","store","orderBy","objects","optimisticId","opts","dedupeInterval","query","lists","getQuery","batch","objectCacheKeys","storeOsdkInstances","_updateList","getObject","pk","getValue","cacheKeys","get","updateObject","apiName","$apiName","writeToStore"],"sources":["testUtils.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionDefinition,\n ActionEditResponse,\n FetchPageArgs,\n InterfaceDefinition,\n Logger,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n OsdkBase,\n PageResult,\n WhereClause,\n} from \"@osdk/api\";\nimport { Chalk } from \"chalk\";\nimport { inspect } from \"node:util\";\nimport type { DeferredPromise } from \"p-defer\";\nimport pDefer from \"p-defer\";\nimport type { Observer } from \"rxjs\";\nimport invariant from \"tiny-invariant\";\nimport type { Mock, MockedObject } from \"vitest\";\nimport { afterEach, beforeEach, expect, vi, vitest } from \"vitest\";\nimport type { ActionSignatureFromDef } from \"../../actions/applyAction.js\";\nimport type { Client } from \"../../Client.js\";\nimport { additionalContext } from \"../../Client.js\";\nimport type { ObjectHolder } from \"../../object/convertWireToOsdkObjects/ObjectHolder.js\";\nimport type { SpecificLinkPayload } from \"../LinkPayload.js\";\nimport type { ListPayload } from \"../ListPayload.js\";\nimport type { ObjectPayload } from \"../ObjectPayload.js\";\nimport type { OrderBy, Status } from \"../ObservableClient/common.js\";\nimport type { Unsubscribable } from \"../Unsubscribable.js\";\nimport type { Entry } from \"./Layer.js\";\nimport type { ListQueryOptions } from \"./list/ListQueryOptions.js\";\nimport type { ObjectCacheKey } from \"./object/ObjectCacheKey.js\";\nimport type { OptimisticId } from \"./OptimisticId.js\";\nimport type { Store } from \"./Store.js\";\n\nconst chalk = new Chalk(); // new Chalk({ level: 3 });\n\nexport interface MockClientHelper {\n client: Mock<Client> & Client;\n\n mockApplyActionOnce: () => DeferredPromise<Partial<ActionEditResponse>>;\n\n mockFetchOneOnce: <Q extends ObjectTypeDefinition>(\n expectedId?: string | number | boolean,\n ) => DeferredPromise<\n Partial<\n Osdk.Instance<Q>\n >\n >;\n\n mockObjectFactory2Once: () => DeferredPromise<\n Array<\n | Osdk.Instance<ObjectOrInterfaceDefinition, never, any, {}>\n | ObjectHolder\n >\n >;\n\n mockFetchPageOnce: <\n Q extends ObjectTypeDefinition,\n >(\n expected?: {\n where: WhereClause<any>;\n orderBy: Record<string, \"asc\" | \"desc\" | undefined>;\n },\n ) => DeferredPromise<\n PageResult<Partial<Osdk.Instance<Q>>>\n >;\n}\n\nfunction mockLog(...args: any[]) {\n // eslint-disable-next-line no-console\n console.log(\n chalk.yellow(\"mockClient\"),\n ...args,\n );\n}\n\n/**\n * Testing utilities for ObservableClient implementation.\n * - Mock creation helpers for client, observers, and callbacks\n * - Expectation utilities for validating payloads\n * - Tools for managing test lifecycle and cleanup\n * - Creates a colorized logger for test environments\n */\nexport function createTestLogger(\n bindings: Record<string, any>,\n options?: { level?: string; msgPrefix?: string },\n): Logger {\n const colors = {\n debug: [chalk.cyan, chalk.bgCyan],\n info: [chalk.green, chalk.bgGreen],\n trace: [chalk.gray, chalk.bgGray],\n error: [chalk.red, chalk.bgRed],\n warn: [chalk.yellow, chalk.bgYellow],\n fatal: [chalk.redBright, chalk.bgRedBright],\n } as const;\n function createLogMethod(\n name: \"debug\" | \"error\" | \"info\" | \"warn\" | \"fatal\" | \"trace\",\n ) {\n return vi.fn<Logger.LogFn>(\n (\n ...args: [\n obj: unknown,\n ...args1: any[],\n ] | [\n ...args2: any[],\n ]\n ) => {\n const hasData = args.length > 0 && typeof args[0] !== \"string\";\n const obj: Record<string, unknown> = hasData ? args[0] as any : {};\n const more: any[] = hasData ? args.slice(1) : args.slice(0);\n\n // eslint-disable-next-line no-console\n console.log(\n `${colors[name][1](name)}${\n options?.msgPrefix ? \" \" + colors[name][0](options.msgPrefix) : \"\"\n }${obj?.methodName ? ` .${chalk.magenta(obj.methodName)}()` : \"\"}`,\n ...more,\n );\n if (bindings && Object.keys(bindings).length > 0) {\n // eslint-disable-next-line no-console\n console.log(bindings);\n }\n },\n ) as Logger.LogFn;\n }\n return {\n debug: createLogMethod(\"debug\"),\n error: createLogMethod(\"error\"),\n info: createLogMethod(\"info\"),\n warn: createLogMethod(\"warn\"),\n fatal: createLogMethod(\"fatal\"),\n child: vi.fn<Logger[\"child\"]>((theseBindings, theseOptions) =>\n createTestLogger({\n ...bindings,\n ...theseBindings,\n }, {\n level: (theseOptions ?? options)?.level,\n msgPrefix: options?.msgPrefix || theseOptions?.msgPrefix\n ? `${options?.msgPrefix ? `${options.msgPrefix} ` : \"\"}${\n theseOptions?.msgPrefix || \"\"\n }`\n : undefined,\n })\n ),\n trace: createLogMethod(\"trace\"),\n isLevelEnabled: vi.fn((args) => true),\n };\n}\n\n/**\n * Creates mocked client helpers with deferred promise control\n */\nexport function createClientMockHelper(): MockClientHelper {\n const client = vitest.fn<typeof client>() as unknown as Mock<Client> & Client;\n\n const logger = createTestLogger({});\n\n // this is just a fallback for when there is nothing set so we can track whats up\n client.mockImplementation((...args: any[]) => {\n const localLogger = logger.child({}, { msgPrefix: \"fallback mock client\" });\n try {\n throw new Error(\"IN THE FALLBACK MOCK CLIENT IMPLEMENTATION\");\n } catch (e) {\n localLogger.error(\"Just for the stack trace\", e);\n }\n\n let where;\n const deadObjectSet = {\n where: (...whereArgs: any[]) => {\n localLogger.trace(\"where\", whereArgs);\n where = whereArgs;\n return deadObjectSet;\n },\n fetchPage: (...fetchArgs: any[]) => {\n localLogger.trace(\"fetchPage\", where!, fetchArgs);\n throw new Error(\"NO\");\n },\n fetchOne: (...fetchArgs: any[]) => {\n localLogger.trace(\"fetchOne\", fetchArgs);\n\n throw new Error(\"NO\");\n },\n };\n return deadObjectSet;\n });\n\n client[additionalContext] = {\n baseUrl: \"http://localhost:8080\",\n ontologyRid: \"ri.something\",\n objectFactory: vitest.fn(),\n objectFactory2: vitest.fn(),\n ontologyProvider: {\n getActionDefinition: vitest.fn(),\n getInterfaceDefinition: vitest.fn(),\n getObjectDefinition: vitest.fn(),\n getQueryDefinition: vitest.fn(),\n },\n tokenProvider: vitest.fn(),\n objectSetFactory: vitest.fn(),\n fetch: vitest.fn(),\n clientCacheKey: {} as any,\n requestContext: {},\n logger,\n };\n client.fetchMetadata = vitest.fn();\n\n function mockObjectFactory2Once() {\n const d = pDefer<\n (\n | Osdk.Instance<ObjectOrInterfaceDefinition, never, any, {}>\n | ObjectHolder\n )[]\n >();\n vi.mocked(client[additionalContext].objectFactory2).mockReturnValueOnce(\n d.promise as Promise<ObjectHolder[]>,\n );\n return d;\n }\n\n function mockFetchPageOnce<\n X extends PageResult<\n Osdk.Instance<ObjectTypeDefinition>\n >,\n >(): DeferredPromise<X> {\n const d = pDefer<X>();\n\n const objectSet: ObjectSet<ObjectTypeDefinition> = {\n fetchPage: async (fetchPageArgs: FetchPageArgs<any>) => {\n mockLog(\"fetchPage\", fetchPageArgs);\n const r = await d.promise;\n return { ...r, $primaryKey: fetchPageArgs };\n },\n where: (clause) => {\n mockLog(\"where\", clause);\n return objectSet;\n },\n } as Pick<\n ObjectSet<ObjectTypeDefinition>,\n \"fetchPage\" | \"where\"\n > as ObjectSet<ObjectTypeDefinition>;\n\n client.mockReturnValueOnce(objectSet);\n return d;\n }\n\n function mockFetchOneOnce<\n X extends Partial<OsdkBase<any>>,\n >(expectedId?: string | number | boolean): DeferredPromise<X> {\n const d = pDefer<X>();\n\n client.mockReturnValueOnce(\n {\n fetchOne: async (a: FetchPageArgs<any>) => {\n mockLog(\"fetchOne\", a);\n invariant(\n expectedId === undefined || a === expectedId,\n \"expected id to match\",\n );\n const r = await d.promise;\n invariant(\n r.$primaryKey === a,\n `expected id to match. Got ${\n JSON.stringify(a)\n } but object to return was ${r.$primaryKey}`,\n );\n return r as Osdk.Instance<any>;\n },\n } as Pick<ObjectSet<ObjectTypeDefinition>, \"fetchOne\">,\n );\n return d;\n }\n\n function mockApplyActionOnce(): DeferredPromise<\n Partial<ActionEditResponse>\n > {\n const d = pDefer<Partial<ActionEditResponse>>();\n\n client.mockReturnValueOnce(\n {\n applyAction: async (_args): Promise<ActionEditResponse> => {\n const x = await d.promise;\n return {\n type: \"edits\",\n addedLinks: x.addedLinks ?? [],\n addedObjects: x.addedObjects ?? [],\n deletedObjects: x.deletedObjects ?? [],\n deletedLinks: x.deletedLinks ?? [],\n deletedLinksCount: x.deletedLinksCount ?? 0,\n deletedObjectsCount: x.deletedObjectsCount ?? 0,\n editedObjectTypes: x.editedObjectTypes ?? [],\n modifiedObjects: x.modifiedObjects ?? [],\n };\n },\n } as Pick<\n ActionSignatureFromDef<ActionDefinition>,\n \"applyAction\"\n >,\n );\n return d;\n }\n\n return {\n client,\n mockApplyActionOnce,\n mockFetchOneOnce,\n mockObjectFactory2Once,\n mockFetchPageOnce,\n };\n}\n\n/**\n * Manages test subscriptions with automatic cleanup\n */\nexport function createDefer() {\n let subscriptions: Unsubscribable[];\n\n beforeEach(() => {\n subscriptions = [];\n });\n\n afterEach(() => {\n for (const s of subscriptions) {\n s.unsubscribe();\n }\n subscriptions = [];\n });\n\n return function defer(x: Unsubscribable): Unsubscribable {\n subscriptions.push(x);\n return x;\n };\n}\n\nexport function expectSingleLinkCallAndClear<T extends ObjectTypeDefinition>(\n subFn: MockedObject<Observer<SpecificLinkPayload | undefined>>,\n resolvedList: ObjectHolder[] | Osdk.Instance<T>[] | undefined,\n payloadOptions: Omit<Partial<SpecificLinkPayload>, \"resolvedList\"> = {},\n): SpecificLinkPayload | undefined {\n if (vitest.isFakeTimers()) {\n vitest.runOnlyPendingTimers();\n }\n expect(subFn.next).toHaveBeenCalledExactlyOnceWith(\n linkPayloadContaining({\n ...payloadOptions,\n resolvedList: resolvedList as unknown as Array<\n ObjectHolder\n >,\n }),\n );\n\n const ret = subFn.next.mock.calls[0][0];\n subFn.next.mockClear();\n return ret;\n}\n\nexport function expectSingleListCallAndClear<T extends ObjectTypeDefinition>(\n subFn: MockedObject<Observer<ListPayload | undefined>>,\n resolvedList: ObjectHolder[] | Osdk.Instance<T>[],\n payloadOptions: Omit<Partial<ListPayload>, \"resolvedList\"> = {},\n): void {\n if (vitest.isFakeTimers()) {\n vitest.runOnlyPendingTimers();\n }\n expect(subFn.next).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n ...payloadOptions,\n resolvedList: resolvedList as unknown as Array<\n ObjectHolder\n >,\n }),\n );\n subFn.next.mockClear();\n}\n\n/**\n * Validates object payload emissions in tests\n */\nexport function expectSingleObjectCallAndClear<T extends ObjectTypeDefinition>(\n subFn: MockedObject<Observer<ObjectPayload | undefined>>,\n object: Osdk.Instance<T> | undefined,\n status?: Status,\n): ObjectPayload | undefined {\n expect(subFn.next).toHaveBeenCalledExactlyOnceWith(\n expect.objectContaining({\n object,\n status: status ?? expect.any(String),\n }),\n );\n\n const ret = subFn.next.mock.calls[0][0];\n subFn.next.mockClear();\n return ret;\n}\n\nexport async function waitForCall(\n subFn: Mock<(e: any) => void> | MockedObject<Observer<any>>,\n times: number = 1,\n): Promise<void> {\n if (\"next\" in subFn && \"error\" in subFn && \"complete\" in subFn) {\n subFn = subFn.next;\n }\n try {\n await vi.waitFor(() => {\n expect(subFn).toHaveBeenCalledTimes(times);\n }, {\n interval: 0,\n });\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(\n `We are going to fail waiting for ${times} calls because these are our calls: `,\n inspect(subFn.mock.calls, {\n depth: 9,\n colors: true,\n compact: 2,\n }),\n );\n // we don't need the error, it will retrigger on the next line\n // and that provides better behavior in the vitest vscode\n // plugin. This places the error in the test itself instead of\n // only in this file\n }\n expect(subFn).toHaveBeenCalledTimes(times);\n}\n\nexport function expectNoMoreCalls(\n observer: MockedObject<\n Observer<any>\n >,\n): void {\n expect(observer.next).not.toHaveBeenCalled();\n expect(observer.error).not.toHaveBeenCalled();\n}\n\nfunction createSubscriptionHelper() {\n}\n\nexport type MockedSingleSubCallback =\n & MockedObject<Observer<ObjectPayload | undefined>>\n & {\n // expectLoaded: (value: unknown) => Promise<void>;\n // expectLoading: (value: unknown) => Promise<void>;\n expectLoadingAndLoaded: (q: {\n loading?: unknown;\n loaded: unknown;\n }) => Promise<void>;\n };\n\nexport function mockSingleSubCallback(): MockedSingleSubCallback {\n const ret = mockObserver<ObjectPayload | undefined>();\n\n // async function expectLoaded(value: unknown) {\n // await waitForCall(ret);\n // // as long as we get the loaded call we are happy\n // expect(ret).toHaveBeenLastCalledWith(\n // cacheEntryContaining({\n // value,\n // status: \"loaded\",\n // }),\n // );\n // ret.mockClear();\n // }\n\n // async function expectLoading(value: unknown) {\n // await waitForCall(ret);\n // // as long as we get the loaded call we are happy\n // expect(ret).toHaveBeenCalledExactlyOnceWith(\n // cacheEntryContaining({\n // value,\n // status: \"loading\",\n // }),\n // );\n // ret.mockClear();\n // }\n\n return Object.assign(ret, {\n // expectLoaded,\n // expectLoading,\n expectLoadingAndLoaded: async (\n q: { loading?: unknown; loaded: unknown },\n ) => {\n await waitForCall(ret.next, 2);\n\n // as long as we get the loaded call we are happy\n expect(ret.next).toHaveBeenNthCalledWith(\n 1,\n q.loading,\n );\n expect(ret.next).toHaveBeenNthCalledWith(\n 2,\n q.loaded,\n );\n expect(ret.next).toHaveBeenCalledTimes(2);\n ret.next.mockClear();\n },\n });\n}\n\nexport function mockObserver<T>(): MockedObject<Observer<T>> {\n return {\n next: vitest.fn(),\n\n // error: vitest.fn((x) => console.error(x)),\n error: vitest.fn(),\n complete: vitest.fn(),\n };\n}\n\n// todo: find uses of this and replace with direct call to mockObserver<ListPayload | undefined>\nexport function mockListSubCallback(): MockedObject<\n Observer<ListPayload | undefined>\n> {\n return mockObserver<ListPayload | undefined>();\n}\n\n// todo: find uses of this and replace with direct call to mockObserver<SpecificLinkPayload | undefined>\nexport function mockLinkSubCallback(): MockedObject<\n Observer<SpecificLinkPayload | undefined>\n> {\n return mockObserver<SpecificLinkPayload | undefined>();\n}\n\nexport function cacheEntryContaining(x: Partial<Entry<any>>): Entry<any> {\n return {\n cacheKey: x.cacheKey ?? expect.any(Object),\n value: \"value\" in x\n ? x.value\n : expect.toBeOneOf([expect.anything(), undefined]),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nfunction nonOptionalValue<T extends object, K extends keyof T>(\n src: T,\n key: K,\n): NonNullable<T[K]> {\n return key in src\n ? src[key]\n : expect.toBeOneOf([expect.anything(), undefined]);\n}\n\nexport function objectPayloadContaining(\n x: Partial<ObjectPayload>,\n): ObjectPayload {\n return {\n object: nonOptionalValue(x, \"object\"),\n isOptimistic: expect.any(Boolean),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nexport function listPayloadContaining(\n x: Partial<ListPayload>,\n): ListPayload {\n return {\n fetchMore: x.fetchMore ?? expect.any(Function),\n hasMore: x.hasMore ?? expect.any(Boolean),\n resolvedList: x.resolvedList ?? expect.anything(),\n isOptimistic: expect.any(Boolean),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nexport function linkPayloadContaining(\n x: Partial<SpecificLinkPayload>,\n): SpecificLinkPayload {\n return {\n fetchMore: x.fetchMore ?? expect.any(Function),\n hasMore: x.hasMore ?? expect.any(Boolean),\n resolvedList: x.resolvedList ?? expect.anything(),\n isOptimistic: expect.any(Boolean),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nexport function applyCustomMatchers(): void {\n expect.extend({\n toBeGreaterThan: (r: number, e: number) => {\n return {\n pass: r > e,\n message: () => `expected ${r} to be greater than ${e} (lastUpdated)`,\n };\n },\n });\n}\n\ninterface CustomMatchers<R = any> {\n toBeGreaterThan: (n: number) => R;\n}\n\ninterface CustomAsymmetricMatchers<R = any> {\n toBeGreaterThan: (n: number) => R;\n}\n\ndeclare module \"vitest\" {\n interface Assertion<T = any> extends CustomMatchers<T> {}\n interface AsymmetricMatchersContaining extends CustomAsymmetricMatchers {}\n}\n\n/**\n * Updates the internal state of a list and will create a new internal query if needed.\n *\n * Helper method only for tests right now. May be removed later.\n *\n * @param apiName\n * @param where\n * @param orderBy\n * @param objects\n * @param param4\n * @param opts\n */\nexport function updateList<\n T extends ObjectTypeDefinition | InterfaceDefinition,\n>(\n store: Store,\n {\n type,\n where,\n orderBy,\n }: {\n type: Pick<T, \"apiName\" | \"type\">;\n where: WhereClause<T>;\n orderBy: OrderBy<T>;\n },\n objects: ObjectHolder[] | Osdk.Instance<T>[],\n { optimisticId }: { optimisticId?: OptimisticId } = {},\n opts: ListQueryOptions = { dedupeInterval: 0 },\n): void {\n if (process.env.NODE_ENV !== \"production\") {\n store.logger?.child({ methodName: \"updateList\" }).info(\n \"\",\n { optimisticId },\n );\n }\n\n const query = store.lists.getQuery({\n ...opts,\n type,\n where: where ?? {},\n orderBy: orderBy ?? {},\n });\n\n store.batch({ optimisticId }, (batch) => {\n const objectCacheKeys = store.objects.storeOsdkInstances(\n objects,\n batch,\n );\n query._updateList(objectCacheKeys, \"loaded\", batch, false);\n });\n}\n\nexport function getObject(\n store: Store,\n type: string,\n pk: number,\n): ObjectHolder | undefined {\n return store.getValue(\n store.cacheKeys.get<ObjectCacheKey>(\"object\", type, pk),\n )?.value;\n}\n\nexport function updateObject<T extends ObjectOrInterfaceDefinition>(\n store: Store,\n value: Osdk.Instance<T>,\n { optimisticId }: { optimisticId?: OptimisticId } = {},\n): Osdk.Instance<T> {\n const query = store.objects.getQuery({\n apiName: value.$apiName,\n pk: value.$primaryKey,\n });\n\n store.batch({ optimisticId }, (batch) => {\n return query.writeToStore(\n value as unknown as ObjectHolder<typeof value>,\n \"loaded\",\n batch,\n );\n });\n\n return value;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,9 @@
17
17
  import * as OntologiesV2 from "@osdk/foundry.ontologies";
18
18
  import { wireActionTypeV2ToSdkActionMetadata } from "@osdk/generator-converters";
19
19
  export async function loadActionMetadata(client, actionType) {
20
- const r = await OntologiesV2.ActionTypesV2.get(client, await client.ontologyRid, actionType);
20
+ const r = await OntologiesV2.ActionTypesV2.get(client, await client.ontologyRid, actionType, {
21
+ branch: client.branch
22
+ });
21
23
  return wireActionTypeV2ToSdkActionMetadata(r);
22
24
  }
23
25
  //# sourceMappingURL=loadActionMetadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadActionMetadata.js","names":["OntologiesV2","wireActionTypeV2ToSdkActionMetadata","loadActionMetadata","client","actionType","r","ActionTypesV2","get","ontologyRid"],"sources":["loadActionMetadata.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 { ActionMetadata } from \"@osdk/api\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport {\n wireActionTypeV2ToSdkActionMetadata,\n} from \"@osdk/generator-converters\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\nexport async function loadActionMetadata(\n client: MinimalClient,\n actionType: string,\n): Promise<ActionMetadata> {\n const r = await OntologiesV2.ActionTypesV2.get(\n client,\n await client.ontologyRid,\n actionType,\n );\n\n return wireActionTypeV2ToSdkActionMetadata(r);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,KAAKA,YAAY,MAAM,0BAA0B;AACxD,SACEC,mCAAmC,QAC9B,4BAA4B;AAGnC,OAAO,eAAeC,kBAAkBA,CACtCC,MAAqB,EACrBC,UAAkB,EACO;EACzB,MAAMC,CAAC,GAAG,MAAML,YAAY,CAACM,aAAa,CAACC,GAAG,CAC5CJ,MAAM,EACN,MAAMA,MAAM,CAACK,WAAW,EACxBJ,UACF,CAAC;EAED,OAAOH,mCAAmC,CAACI,CAAC,CAAC;AAC/C","ignoreList":[]}
1
+ {"version":3,"file":"loadActionMetadata.js","names":["OntologiesV2","wireActionTypeV2ToSdkActionMetadata","loadActionMetadata","client","actionType","r","ActionTypesV2","get","ontologyRid","branch"],"sources":["loadActionMetadata.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 { ActionMetadata } from \"@osdk/api\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport {\n wireActionTypeV2ToSdkActionMetadata,\n} from \"@osdk/generator-converters\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\nexport async function loadActionMetadata(\n client: MinimalClient,\n actionType: string,\n): Promise<ActionMetadata> {\n const r = await OntologiesV2.ActionTypesV2.get(\n client,\n await client.ontologyRid,\n actionType,\n { branch: client.branch },\n );\n\n return wireActionTypeV2ToSdkActionMetadata(r);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,KAAKA,YAAY,MAAM,0BAA0B;AACxD,SACEC,mCAAmC,QAC9B,4BAA4B;AAGnC,OAAO,eAAeC,kBAAkBA,CACtCC,MAAqB,EACrBC,UAAkB,EACO;EACzB,MAAMC,CAAC,GAAG,MAAML,YAAY,CAACM,aAAa,CAACC,GAAG,CAC5CJ,MAAM,EACN,MAAMA,MAAM,CAACK,WAAW,EACxBJ,UAAU,EACV;IAAEK,MAAM,EAAEN,MAAM,CAACM;EAAO,CAC1B,CAAC;EAED,OAAOR,mCAAmC,CAACI,CAAC,CAAC;AAC/C","ignoreList":[]}
@@ -18,7 +18,8 @@ import * as OntologiesV2 from "@osdk/foundry.ontologies";
18
18
  import { wireObjectTypeFullMetadataToSdkObjectMetadata } from "@osdk/generator-converters";
19
19
  export async function loadFullObjectMetadata(client, objectType) {
20
20
  const full = await OntologiesV2.ObjectTypesV2.getFullMetadata(client, await client.ontologyRid, objectType, {
21
- preview: true
21
+ preview: true,
22
+ branch: client.branch
22
23
  });
23
24
  const ret = wireObjectTypeFullMetadataToSdkObjectMetadata(full, true);
24
25
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"loadFullObjectMetadata.js","names":["OntologiesV2","wireObjectTypeFullMetadataToSdkObjectMetadata","loadFullObjectMetadata","client","objectType","full","ObjectTypesV2","getFullMetadata","ontologyRid","preview","ret"],"sources":["loadFullObjectMetadata.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 { ObjectMetadata } from \"@osdk/api\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\nexport async function loadFullObjectMetadata(\n client: MinimalClient,\n objectType: string,\n): Promise<ObjectMetadata & { rid: string }> {\n const full = await OntologiesV2.ObjectTypesV2.getFullMetadata(\n client,\n await client.ontologyRid,\n objectType,\n { preview: true },\n );\n const ret = wireObjectTypeFullMetadataToSdkObjectMetadata(full, true);\n return { ...ret };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,KAAKA,YAAY,MAAM,0BAA0B;AACxD,SAASC,6CAA6C,QAAQ,4BAA4B;AAG1F,OAAO,eAAeC,sBAAsBA,CAC1CC,MAAqB,EACrBC,UAAkB,EACyB;EAC3C,MAAMC,IAAI,GAAG,MAAML,YAAY,CAACM,aAAa,CAACC,eAAe,CAC3DJ,MAAM,EACN,MAAMA,MAAM,CAACK,WAAW,EACxBJ,UAAU,EACV;IAAEK,OAAO,EAAE;EAAK,CAClB,CAAC;EACD,MAAMC,GAAG,GAAGT,6CAA6C,CAACI,IAAI,EAAE,IAAI,CAAC;EACrE,OAAO;IAAE,GAAGK;EAAI,CAAC;AACnB","ignoreList":[]}
1
+ {"version":3,"file":"loadFullObjectMetadata.js","names":["OntologiesV2","wireObjectTypeFullMetadataToSdkObjectMetadata","loadFullObjectMetadata","client","objectType","full","ObjectTypesV2","getFullMetadata","ontologyRid","preview","branch","ret"],"sources":["loadFullObjectMetadata.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 { ObjectMetadata } from \"@osdk/api\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\nexport async function loadFullObjectMetadata(\n client: MinimalClient,\n objectType: string,\n): Promise<ObjectMetadata & { rid: string }> {\n const full = await OntologiesV2.ObjectTypesV2.getFullMetadata(\n client,\n await client.ontologyRid,\n objectType,\n { preview: true, branch: client.branch },\n );\n const ret = wireObjectTypeFullMetadataToSdkObjectMetadata(full, true);\n return { ...ret };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,KAAKA,YAAY,MAAM,0BAA0B;AACxD,SAASC,6CAA6C,QAAQ,4BAA4B;AAG1F,OAAO,eAAeC,sBAAsBA,CAC1CC,MAAqB,EACrBC,UAAkB,EACyB;EAC3C,MAAMC,IAAI,GAAG,MAAML,YAAY,CAACM,aAAa,CAACC,eAAe,CAC3DJ,MAAM,EACN,MAAMA,MAAM,CAACK,WAAW,EACxBJ,UAAU,EACV;IAAEK,OAAO,EAAE,IAAI;IAAEC,MAAM,EAAEP,MAAM,CAACO;EAAO,CACzC,CAAC;EACD,MAAMC,GAAG,GAAGV,6CAA6C,CAACI,IAAI,EAAE,IAAI,CAAC;EACrE,OAAO;IAAE,GAAGM;EAAI,CAAC;AACnB","ignoreList":[]}
@@ -18,7 +18,8 @@ import * as OntologiesV2 from "@osdk/foundry.ontologies";
18
18
  import { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from "@osdk/generator-converters";
19
19
  export async function loadInterfaceMetadata(client, objectType) {
20
20
  const r = await OntologiesV2.OntologyInterfaces.get(client, await client.ontologyRid, objectType, {
21
- preview: true
21
+ preview: true,
22
+ branch: client.branch
22
23
  });
23
24
  return __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(r, true);
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loadInterfaceMetadata.js","names":["OntologiesV2","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition","loadInterfaceMetadata","client","objectType","r","OntologyInterfaces","get","ontologyRid","preview"],"sources":["loadInterfaceMetadata.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { InterfaceMetadata } from \"@osdk/api\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from \"@osdk/generator-converters\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\nexport async function loadInterfaceMetadata(\n client: MinimalClient,\n objectType: string,\n): Promise<InterfaceMetadata> {\n const r = await OntologiesV2.OntologyInterfaces.get(\n client,\n await client.ontologyRid,\n objectType,\n { preview: true },\n );\n\n return __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(r, true);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,KAAKA,YAAY,MAAM,0BAA0B;AACxD,SAASC,mDAAmD,QAAQ,4BAA4B;AAGhG,OAAO,eAAeC,qBAAqBA,CACzCC,MAAqB,EACrBC,UAAkB,EACU;EAC5B,MAAMC,CAAC,GAAG,MAAML,YAAY,CAACM,kBAAkB,CAACC,GAAG,CACjDJ,MAAM,EACN,MAAMA,MAAM,CAACK,WAAW,EACxBJ,UAAU,EACV;IAAEK,OAAO,EAAE;EAAK,CAClB,CAAC;EAED,OAAOR,mDAAmD,CAACI,CAAC,EAAE,IAAI,CAAC;AACrE","ignoreList":[]}
1
+ {"version":3,"file":"loadInterfaceMetadata.js","names":["OntologiesV2","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition","loadInterfaceMetadata","client","objectType","r","OntologyInterfaces","get","ontologyRid","preview","branch"],"sources":["loadInterfaceMetadata.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { InterfaceMetadata } from \"@osdk/api\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from \"@osdk/generator-converters\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\nexport async function loadInterfaceMetadata(\n client: MinimalClient,\n objectType: string,\n): Promise<InterfaceMetadata> {\n const r = await OntologiesV2.OntologyInterfaces.get(\n client,\n await client.ontologyRid,\n objectType,\n { preview: true, branch: client.branch },\n );\n\n return __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(r, true);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,KAAKA,YAAY,MAAM,0BAA0B;AACxD,SAASC,mDAAmD,QAAQ,4BAA4B;AAGhG,OAAO,eAAeC,qBAAqBA,CACzCC,MAAqB,EACrBC,UAAkB,EACU;EAC5B,MAAMC,CAAC,GAAG,MAAML,YAAY,CAACM,kBAAkB,CAACC,GAAG,CACjDJ,MAAM,EACN,MAAMA,MAAM,CAACK,WAAW,EACxBJ,UAAU,EACV;IAAEK,OAAO,EAAE,IAAI;IAAEC,MAAM,EAAEP,MAAM,CAACO;EAAO,CACzC,CAAC;EAED,OAAOT,mDAAmD,CAACI,CAAC,EAAE,IAAI,CAAC;AACrE","ignoreList":[]}
@@ -29,7 +29,7 @@ export async function applyQuery(client, query, params) {
29
29
  })), query), await client.ontologyRid, query.apiName, {
30
30
  parameters: params ? await remapQueryParams(params, client, qd.parameters) : {}
31
31
  }, {
32
- version: qd.version
32
+ version: query.isFixedVersion ? query.version : undefined
33
33
  });
34
34
  const objectOutputDefs = await getRequiredDefinitions(qd.output, client);
35
35
  const remappedResponse = await remapQueryResponse(client, qd.output, response.value, objectOutputDefs);
@@ -128,8 +128,8 @@ async function remapQueryResponse(client, responseDataType, responseValue, defin
128
128
  const map = {};
129
129
  !Array.isArray(responseValue) ? process.env.NODE_ENV !== "production" ? invariant(false, "Expected array entry") : invariant(false) : void 0;
130
130
  for (const entry of responseValue) {
131
- !entry.key ? process.env.NODE_ENV !== "production" ? invariant(false, "Expected key") : invariant(false) : void 0;
132
- !entry.value ? process.env.NODE_ENV !== "production" ? invariant(false, "Expected value") : invariant(false) : void 0;
131
+ !(entry.key != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "Expected key") : invariant(false) : void 0;
132
+ !(entry.value != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "Expected value") : invariant(false) : void 0;
133
133
  const key = responseDataType.keyType.type === "object" ? getObjectSpecifier(entry.key, responseDataType.keyType.object, definitions) : entry.key;
134
134
  const value = await remapQueryResponse(client, responseDataType.valueType, entry.value, definitions);
135
135
  map[key] = value;