@osdk/client 2.5.0-beta.1 → 2.5.0-beta.3

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 (310) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/build/browser/Client.js +1 -1
  3. package/build/browser/Client.js.map +1 -1
  4. package/build/browser/createClient.js +4 -1
  5. package/build/browser/createClient.js.map +1 -1
  6. package/build/browser/fetchMetadata.test.js +11 -0
  7. package/build/browser/fetchMetadata.test.js.map +1 -1
  8. package/build/browser/intellisense.test.helpers/orderBySuggestionIsRight.js +8 -1
  9. package/build/browser/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -1
  10. package/build/browser/intellisense.test.js +14 -4
  11. package/build/browser/intellisense.test.js.map +1 -1
  12. package/build/browser/object/Cache.js +1 -1
  13. package/build/browser/object/Cache.js.map +1 -1
  14. package/build/browser/object/SimpleCache.js +1 -1
  15. package/build/browser/object/SimpleCache.js.map +1 -1
  16. package/build/browser/object/convertWireToOsdkObjects.js +4 -0
  17. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  18. package/build/browser/object/convertWireToOsdkObjects.test.js +12 -0
  19. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  20. package/build/browser/object/fetchPage.js +30 -4
  21. package/build/browser/object/fetchPage.js.map +1 -1
  22. package/build/browser/object/geotimeseriesreference.test.js +0 -2
  23. package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
  24. package/build/browser/objectSet/ObjectSet.test.js +6 -0
  25. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  26. package/build/browser/objectSet/createObjectSet.js +3 -1
  27. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  28. package/build/browser/observable/LinkPayload.js +2 -0
  29. package/build/browser/observable/LinkPayload.js.map +1 -0
  30. package/build/browser/observable/ObjectPayload.js.map +1 -1
  31. package/build/browser/observable/ObservableClient/ObserveLink.js +17 -0
  32. package/build/browser/observable/ObservableClient/ObserveLink.js.map +1 -0
  33. package/build/browser/observable/ObservableClient/common.js +2 -0
  34. package/build/browser/observable/ObservableClient/common.js.map +1 -0
  35. package/build/browser/observable/ObservableClient.js +20 -0
  36. package/build/browser/observable/ObservableClient.js.map +1 -1
  37. package/build/browser/observable/Unsubscribable.js +2 -0
  38. package/build/browser/observable/Unsubscribable.js.map +1 -0
  39. package/build/browser/observable/internal/AbstractHelper.js +50 -0
  40. package/build/browser/observable/internal/AbstractHelper.js.map +1 -0
  41. package/build/browser/observable/internal/BaseCollectionQuery.js +2 -0
  42. package/build/browser/observable/internal/BaseCollectionQuery.js.map +1 -0
  43. package/build/browser/observable/internal/BulkObjectLoader.js +3 -3
  44. package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -1
  45. package/build/browser/observable/internal/CacheKeys.js +17 -2
  46. package/build/browser/observable/internal/CacheKeys.js.map +1 -1
  47. package/build/browser/observable/internal/Changes.js +6 -0
  48. package/build/browser/observable/internal/Changes.js.map +1 -1
  49. package/build/browser/observable/internal/KnownCacheKey.js +2 -0
  50. package/build/browser/observable/internal/KnownCacheKey.js.map +1 -0
  51. package/build/browser/observable/internal/Layer.js.map +1 -1
  52. package/build/browser/observable/internal/ListCacheKey.js +2 -0
  53. package/build/browser/observable/internal/ListCacheKey.js.map +1 -0
  54. package/build/browser/observable/internal/ListQuery.js +399 -161
  55. package/build/browser/observable/internal/ListQuery.js.map +1 -1
  56. package/build/browser/observable/internal/ObjectQuery.js +27 -2
  57. package/build/browser/observable/internal/ObjectQuery.js.map +1 -1
  58. package/build/browser/observable/internal/ObservableClientImpl.js +42 -2
  59. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  60. package/build/browser/observable/internal/OptimisticJob.js +12 -3
  61. package/build/browser/observable/internal/OptimisticJob.js.map +1 -1
  62. package/build/browser/observable/internal/Query.js +17 -3
  63. package/build/browser/observable/internal/Query.js.map +1 -1
  64. package/build/browser/observable/internal/QuerySubscription.js +41 -0
  65. package/build/browser/observable/internal/QuerySubscription.js.map +1 -0
  66. package/build/browser/observable/internal/Store.invalidation.test.js +481 -0
  67. package/build/browser/observable/internal/Store.invalidation.test.js.map +1 -0
  68. package/build/browser/observable/internal/Store.js +38 -91
  69. package/build/browser/observable/internal/Store.js.map +1 -1
  70. package/build/browser/observable/internal/Store.test.js +318 -63
  71. package/build/browser/observable/internal/Store.test.js.map +1 -1
  72. package/build/browser/observable/internal/UnsubscribableWrapper.js +30 -0
  73. package/build/browser/observable/internal/UnsubscribableWrapper.js.map +1 -0
  74. package/build/browser/observable/internal/createCollectionConnectable.js +50 -0
  75. package/build/browser/observable/internal/createCollectionConnectable.js.map +1 -0
  76. package/build/browser/observable/internal/createCollectionConnectable.test.js +599 -0
  77. package/build/browser/observable/internal/createCollectionConnectable.test.js.map +1 -0
  78. package/build/browser/observable/internal/getObjectTypesThatInvalidate.js +216 -0
  79. package/build/browser/observable/internal/getObjectTypesThatInvalidate.js.map +1 -0
  80. package/build/browser/observable/internal/getObjectTypesThatInvalidate.test.js +382 -0
  81. package/build/browser/observable/internal/getObjectTypesThatInvalidate.test.js.map +1 -0
  82. package/build/browser/observable/internal/isObjectInstance.js +23 -0
  83. package/build/browser/observable/internal/isObjectInstance.js.map +1 -0
  84. package/build/browser/observable/internal/links/LinksHelper.js +37 -0
  85. package/build/browser/observable/internal/links/LinksHelper.js.map +1 -0
  86. package/build/browser/observable/internal/links/SpecificLinkCacheKey.js +2 -0
  87. package/build/browser/observable/internal/links/SpecificLinkCacheKey.js.map +1 -0
  88. package/build/browser/observable/internal/links/SpecificLinkQuery.js +185 -0
  89. package/build/browser/observable/internal/links/SpecificLinkQuery.js.map +1 -0
  90. package/build/browser/observable/internal/list/ListsHelper.js +49 -0
  91. package/build/browser/observable/internal/list/ListsHelper.js.map +1 -0
  92. package/build/browser/observable/internal/object/ObjectsHelper.js +34 -0
  93. package/build/browser/observable/internal/object/ObjectsHelper.js.map +1 -0
  94. package/build/browser/observable/internal/removeDuplicates.js +36 -0
  95. package/build/browser/observable/internal/removeDuplicates.js.map +1 -0
  96. package/build/browser/observable/internal/sorting/SortingStrategy.js +78 -0
  97. package/build/browser/observable/internal/sorting/SortingStrategy.js.map +1 -0
  98. package/build/browser/observable/internal/testUtils/invalidateList.js +23 -0
  99. package/build/browser/observable/internal/testUtils/invalidateList.js.map +1 -0
  100. package/build/browser/observable/internal/testUtils/observeLink/expectStandardObserveLink.js +69 -0
  101. package/build/browser/observable/internal/testUtils/observeLink/expectStandardObserveLink.js.map +1 -0
  102. package/build/browser/observable/internal/testUtils/observeObject/expectStandardObserveObject.js +56 -0
  103. package/build/browser/observable/internal/testUtils/observeObject/expectStandardObserveObject.js.map +1 -0
  104. package/build/browser/observable/internal/testUtils.js +70 -7
  105. package/build/browser/observable/internal/testUtils.js.map +1 -1
  106. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  107. package/build/browser/util/UserAgent.js +2 -2
  108. package/build/browser/util/streamutils.js +1 -1
  109. package/build/browser/util/streamutils.js.map +1 -1
  110. package/build/cjs/{chunk-URDXPIRU.cjs → chunk-AOGMSVFN.cjs} +61 -54
  111. package/build/cjs/chunk-AOGMSVFN.cjs.map +1 -0
  112. package/build/cjs/{chunk-BJYCRD5Y.cjs → chunk-BL56QBYG.cjs} +44 -19
  113. package/build/cjs/chunk-BL56QBYG.cjs.map +1 -0
  114. package/build/cjs/index.cjs +7 -7
  115. package/build/cjs/public/internal.cjs +8 -8
  116. package/build/cjs/public/unstable-do-not-use.cjs +779 -268
  117. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  118. package/build/cjs/public/unstable-do-not-use.d.cts +161 -12
  119. package/build/esm/Client.js +1 -1
  120. package/build/esm/Client.js.map +1 -1
  121. package/build/esm/createClient.js +4 -1
  122. package/build/esm/createClient.js.map +1 -1
  123. package/build/esm/fetchMetadata.test.js +11 -0
  124. package/build/esm/fetchMetadata.test.js.map +1 -1
  125. package/build/esm/intellisense.test.helpers/orderBySuggestionIsRight.js +8 -1
  126. package/build/esm/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -1
  127. package/build/esm/intellisense.test.js +14 -4
  128. package/build/esm/intellisense.test.js.map +1 -1
  129. package/build/esm/object/Cache.js +1 -1
  130. package/build/esm/object/Cache.js.map +1 -1
  131. package/build/esm/object/SimpleCache.js +1 -1
  132. package/build/esm/object/SimpleCache.js.map +1 -1
  133. package/build/esm/object/convertWireToOsdkObjects.js +4 -0
  134. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  135. package/build/esm/object/convertWireToOsdkObjects.test.js +12 -0
  136. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  137. package/build/esm/object/fetchPage.js +30 -4
  138. package/build/esm/object/fetchPage.js.map +1 -1
  139. package/build/esm/object/geotimeseriesreference.test.js +0 -2
  140. package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
  141. package/build/esm/objectSet/ObjectSet.test.js +6 -0
  142. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  143. package/build/esm/objectSet/createObjectSet.js +3 -1
  144. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  145. package/build/esm/observable/LinkPayload.js +2 -0
  146. package/build/esm/observable/LinkPayload.js.map +1 -0
  147. package/build/esm/observable/ObjectPayload.js.map +1 -1
  148. package/build/esm/observable/ObservableClient/ObserveLink.js +17 -0
  149. package/build/esm/observable/ObservableClient/ObserveLink.js.map +1 -0
  150. package/build/esm/observable/ObservableClient/common.js +2 -0
  151. package/build/esm/observable/ObservableClient/common.js.map +1 -0
  152. package/build/esm/observable/ObservableClient.js +20 -0
  153. package/build/esm/observable/ObservableClient.js.map +1 -1
  154. package/build/esm/observable/Unsubscribable.js +2 -0
  155. package/build/esm/observable/Unsubscribable.js.map +1 -0
  156. package/build/esm/observable/internal/AbstractHelper.js +50 -0
  157. package/build/esm/observable/internal/AbstractHelper.js.map +1 -0
  158. package/build/esm/observable/internal/BaseCollectionQuery.js +2 -0
  159. package/build/esm/observable/internal/BaseCollectionQuery.js.map +1 -0
  160. package/build/esm/observable/internal/BulkObjectLoader.js +3 -3
  161. package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -1
  162. package/build/esm/observable/internal/CacheKeys.js +17 -2
  163. package/build/esm/observable/internal/CacheKeys.js.map +1 -1
  164. package/build/esm/observable/internal/Changes.js +6 -0
  165. package/build/esm/observable/internal/Changes.js.map +1 -1
  166. package/build/esm/observable/internal/KnownCacheKey.js +2 -0
  167. package/build/esm/observable/internal/KnownCacheKey.js.map +1 -0
  168. package/build/esm/observable/internal/Layer.js.map +1 -1
  169. package/build/esm/observable/internal/ListCacheKey.js +2 -0
  170. package/build/esm/observable/internal/ListCacheKey.js.map +1 -0
  171. package/build/esm/observable/internal/ListQuery.js +399 -161
  172. package/build/esm/observable/internal/ListQuery.js.map +1 -1
  173. package/build/esm/observable/internal/ObjectQuery.js +27 -2
  174. package/build/esm/observable/internal/ObjectQuery.js.map +1 -1
  175. package/build/esm/observable/internal/ObservableClientImpl.js +42 -2
  176. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  177. package/build/esm/observable/internal/OptimisticJob.js +12 -3
  178. package/build/esm/observable/internal/OptimisticJob.js.map +1 -1
  179. package/build/esm/observable/internal/Query.js +17 -3
  180. package/build/esm/observable/internal/Query.js.map +1 -1
  181. package/build/esm/observable/internal/QuerySubscription.js +41 -0
  182. package/build/esm/observable/internal/QuerySubscription.js.map +1 -0
  183. package/build/esm/observable/internal/Store.invalidation.test.js +481 -0
  184. package/build/esm/observable/internal/Store.invalidation.test.js.map +1 -0
  185. package/build/esm/observable/internal/Store.js +38 -91
  186. package/build/esm/observable/internal/Store.js.map +1 -1
  187. package/build/esm/observable/internal/Store.test.js +318 -63
  188. package/build/esm/observable/internal/Store.test.js.map +1 -1
  189. package/build/esm/observable/internal/UnsubscribableWrapper.js +30 -0
  190. package/build/esm/observable/internal/UnsubscribableWrapper.js.map +1 -0
  191. package/build/esm/observable/internal/createCollectionConnectable.js +50 -0
  192. package/build/esm/observable/internal/createCollectionConnectable.js.map +1 -0
  193. package/build/esm/observable/internal/createCollectionConnectable.test.js +599 -0
  194. package/build/esm/observable/internal/createCollectionConnectable.test.js.map +1 -0
  195. package/build/esm/observable/internal/getObjectTypesThatInvalidate.js +216 -0
  196. package/build/esm/observable/internal/getObjectTypesThatInvalidate.js.map +1 -0
  197. package/build/esm/observable/internal/getObjectTypesThatInvalidate.test.js +382 -0
  198. package/build/esm/observable/internal/getObjectTypesThatInvalidate.test.js.map +1 -0
  199. package/build/esm/observable/internal/isObjectInstance.js +23 -0
  200. package/build/esm/observable/internal/isObjectInstance.js.map +1 -0
  201. package/build/esm/observable/internal/links/LinksHelper.js +37 -0
  202. package/build/esm/observable/internal/links/LinksHelper.js.map +1 -0
  203. package/build/esm/observable/internal/links/SpecificLinkCacheKey.js +2 -0
  204. package/build/esm/observable/internal/links/SpecificLinkCacheKey.js.map +1 -0
  205. package/build/esm/observable/internal/links/SpecificLinkQuery.js +185 -0
  206. package/build/esm/observable/internal/links/SpecificLinkQuery.js.map +1 -0
  207. package/build/esm/observable/internal/list/ListsHelper.js +49 -0
  208. package/build/esm/observable/internal/list/ListsHelper.js.map +1 -0
  209. package/build/esm/observable/internal/object/ObjectsHelper.js +34 -0
  210. package/build/esm/observable/internal/object/ObjectsHelper.js.map +1 -0
  211. package/build/esm/observable/internal/removeDuplicates.js +36 -0
  212. package/build/esm/observable/internal/removeDuplicates.js.map +1 -0
  213. package/build/esm/observable/internal/sorting/SortingStrategy.js +78 -0
  214. package/build/esm/observable/internal/sorting/SortingStrategy.js.map +1 -0
  215. package/build/esm/observable/internal/testUtils/invalidateList.js +23 -0
  216. package/build/esm/observable/internal/testUtils/invalidateList.js.map +1 -0
  217. package/build/esm/observable/internal/testUtils/observeLink/expectStandardObserveLink.js +69 -0
  218. package/build/esm/observable/internal/testUtils/observeLink/expectStandardObserveLink.js.map +1 -0
  219. package/build/esm/observable/internal/testUtils/observeObject/expectStandardObserveObject.js +56 -0
  220. package/build/esm/observable/internal/testUtils/observeObject/expectStandardObserveObject.js.map +1 -0
  221. package/build/esm/observable/internal/testUtils.js +70 -7
  222. package/build/esm/observable/internal/testUtils.js.map +1 -1
  223. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  224. package/build/esm/util/UserAgent.js +2 -2
  225. package/build/esm/util/streamutils.js +1 -1
  226. package/build/esm/util/streamutils.js.map +1 -1
  227. package/build/types/Client.d.ts +1 -1
  228. package/build/types/createClient.d.ts.map +1 -1
  229. package/build/types/object/fetchPage.d.ts.map +1 -1
  230. package/build/types/observable/LinkPayload.d.ts +9 -0
  231. package/build/types/observable/LinkPayload.d.ts.map +1 -0
  232. package/build/types/observable/ObjectPayload.d.ts +4 -0
  233. package/build/types/observable/ObjectPayload.d.ts.map +1 -1
  234. package/build/types/observable/ObservableClient/ObserveLink.d.ts +32 -0
  235. package/build/types/observable/ObservableClient/ObserveLink.d.ts.map +1 -0
  236. package/build/types/observable/ObservableClient/common.d.ts +67 -0
  237. package/build/types/observable/ObservableClient/common.d.ts.map +1 -0
  238. package/build/types/observable/ObservableClient.d.ts +82 -15
  239. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  240. package/build/types/observable/Unsubscribable.d.ts +3 -0
  241. package/build/types/observable/Unsubscribable.d.ts.map +1 -0
  242. package/build/types/observable/internal/AbstractHelper.d.ts +15 -0
  243. package/build/types/observable/internal/AbstractHelper.d.ts.map +1 -0
  244. package/build/types/observable/internal/BaseCollectionQuery.d.ts +64 -0
  245. package/build/types/observable/internal/BaseCollectionQuery.d.ts.map +1 -0
  246. package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -1
  247. package/build/types/observable/internal/CacheKeys.d.ts +10 -4
  248. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -1
  249. package/build/types/observable/internal/Changes.d.ts +7 -4
  250. package/build/types/observable/internal/Changes.d.ts.map +1 -1
  251. package/build/types/observable/internal/KnownCacheKey.d.ts +4 -0
  252. package/build/types/observable/internal/KnownCacheKey.d.ts.map +1 -0
  253. package/build/types/observable/internal/Layer.d.ts +7 -7
  254. package/build/types/observable/internal/Layer.d.ts.map +1 -1
  255. package/build/types/observable/internal/ListCacheKey.d.ts +7 -0
  256. package/build/types/observable/internal/ListCacheKey.d.ts.map +1 -0
  257. package/build/types/observable/internal/ListQuery.d.ts +160 -21
  258. package/build/types/observable/internal/ListQuery.d.ts.map +1 -1
  259. package/build/types/observable/internal/ObjectQuery.d.ts +3 -1
  260. package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -1
  261. package/build/types/observable/internal/OptimisticJob.d.ts.map +1 -1
  262. package/build/types/observable/internal/Query.d.ts +6 -5
  263. package/build/types/observable/internal/Query.d.ts.map +1 -1
  264. package/build/types/observable/internal/QuerySubscription.d.ts +1 -0
  265. package/build/types/observable/internal/QuerySubscription.d.ts.map +1 -0
  266. package/build/types/observable/internal/Store.d.ts +34 -31
  267. package/build/types/observable/internal/Store.d.ts.map +1 -1
  268. package/build/types/observable/internal/Store.invalidation.test.d.ts +1 -0
  269. package/build/types/observable/internal/Store.invalidation.test.d.ts.map +1 -0
  270. package/build/types/observable/internal/Store.test.d.ts +4 -1
  271. package/build/types/observable/internal/Store.test.d.ts.map +1 -1
  272. package/build/types/observable/internal/UnsubscribableWrapper.d.ts +1 -0
  273. package/build/types/observable/internal/UnsubscribableWrapper.d.ts.map +1 -0
  274. package/build/types/observable/internal/createCollectionConnectable.d.ts +38 -0
  275. package/build/types/observable/internal/createCollectionConnectable.d.ts.map +1 -0
  276. package/build/types/observable/internal/createCollectionConnectable.test.d.ts +1 -0
  277. package/build/types/observable/internal/createCollectionConnectable.test.d.ts.map +1 -0
  278. package/build/types/observable/internal/getObjectTypesThatInvalidate.d.ts +9 -0
  279. package/build/types/observable/internal/getObjectTypesThatInvalidate.d.ts.map +1 -0
  280. package/build/types/observable/internal/getObjectTypesThatInvalidate.test.d.ts +1 -0
  281. package/build/types/observable/internal/getObjectTypesThatInvalidate.test.d.ts.map +1 -0
  282. package/build/types/observable/internal/isObjectInstance.d.ts +5 -0
  283. package/build/types/observable/internal/isObjectInstance.d.ts.map +1 -0
  284. package/build/types/observable/internal/links/LinksHelper.d.ts +29 -0
  285. package/build/types/observable/internal/links/LinksHelper.d.ts.map +1 -0
  286. package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts +17 -0
  287. package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts.map +1 -0
  288. package/build/types/observable/internal/links/SpecificLinkQuery.d.ts +45 -0
  289. package/build/types/observable/internal/links/SpecificLinkQuery.d.ts.map +1 -0
  290. package/build/types/observable/internal/list/ListsHelper.d.ts +17 -0
  291. package/build/types/observable/internal/list/ListsHelper.d.ts.map +1 -0
  292. package/build/types/observable/internal/object/ObjectsHelper.d.ts +11 -0
  293. package/build/types/observable/internal/object/ObjectsHelper.d.ts.map +1 -0
  294. package/build/types/observable/internal/removeDuplicates.d.ts +11 -0
  295. package/build/types/observable/internal/removeDuplicates.d.ts.map +1 -0
  296. package/build/types/observable/internal/sorting/SortingStrategy.d.ts +41 -0
  297. package/build/types/observable/internal/sorting/SortingStrategy.d.ts.map +1 -0
  298. package/build/types/observable/internal/testUtils/invalidateList.d.ts +9 -0
  299. package/build/types/observable/internal/testUtils/invalidateList.d.ts.map +1 -0
  300. package/build/types/observable/internal/testUtils/observeLink/expectStandardObserveLink.d.ts +46 -0
  301. package/build/types/observable/internal/testUtils/observeLink/expectStandardObserveLink.d.ts.map +1 -0
  302. package/build/types/observable/internal/testUtils/observeObject/expectStandardObserveObject.d.ts +26 -0
  303. package/build/types/observable/internal/testUtils/observeObject/expectStandardObserveObject.d.ts.map +1 -0
  304. package/build/types/observable/internal/testUtils.d.ts +25 -3
  305. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  306. package/build/types/public/unstable-do-not-use.d.ts +4 -2
  307. package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
  308. package/package.json +10 -10
  309. package/build/cjs/chunk-BJYCRD5Y.cjs.map +0 -1
  310. package/build/cjs/chunk-URDXPIRU.cjs.map +0 -1
@@ -14,21 +14,29 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { editTodo, Employee, FooInterface, Todo } from "@osdk/client.test.ontology";
17
+ import { editTodo, Employee, FooInterface, Office, Todo } from "@osdk/client.test.ontology";
18
18
  import { FauxFoundry, ontologies, startNodeApiServer, stubData, TypeHelpers } from "@osdk/shared.test";
19
19
  import chalk from "chalk";
20
+ import { inspect } from "node:util";
20
21
  import invariant from "tiny-invariant";
21
- import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi, vitest } from "vitest";
22
+ import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
22
23
  import { ActionValidationError } from "../../actions/ActionValidationError.js";
23
24
  import { createClient } from "../../createClient.js";
24
25
  import { TestLogger } from "../../logger/TestLogger.js";
25
26
  import { createOptimisticId } from "./OptimisticId.js";
26
27
  import { runOptimisticJob } from "./OptimisticJob.js";
27
- import { invalidateList, Store } from "./Store.js";
28
- import { applyCustomMatchers, createClientMockHelper, createDefer, expectNoMoreCalls, expectSingleListCallAndClear, expectSingleObjectCallAndClear, getObject, mockListSubCallback, mockSingleSubCallback, objectPayloadContaining, updateList, updateObject, waitForCall } from "./testUtils.js";
28
+ import { Store } from "./Store.js";
29
+ import { applyCustomMatchers, createClientMockHelper, createDefer, expectNoMoreCalls, expectSingleLinkCallAndClear, expectSingleListCallAndClear, expectSingleObjectCallAndClear, getObject, mockListSubCallback, mockSingleSubCallback, objectPayloadContaining, updateList, updateObject, waitForCall } from "./testUtils.js";
30
+ import { invalidateList } from "./testUtils/invalidateList.js";
31
+ import { expectStandardObserveLink } from "./testUtils/observeLink/expectStandardObserveLink.js";
32
+ import { expectStandardObserveObject } from "./testUtils/observeObject/expectStandardObserveObject.js";
29
33
  const JOHN_DOE_ID = 50030;
30
34
  const defer = createDefer();
31
- const logger = new TestLogger();
35
+ const logger = new TestLogger({}, {
36
+ level: "debug"
37
+ });
38
+ inspect.defaultOptions.depth = 9;
39
+ inspect.defaultOptions.colors = true;
32
40
  beforeAll(() => {
33
41
  vi.setConfig({
34
42
  fakeTimers: {
@@ -75,10 +83,10 @@ function setupOntology(fauxFoundry) {
75
83
  }
76
84
  function setupSomeEmployees(fauxFoundry) {
77
85
  const dataStore = fauxFoundry.getDefaultDataStore();
78
- dataStore.registerObject(Employee, {
86
+ const emp1 = dataStore.registerObject(Employee, {
79
87
  employeeId: 1
80
88
  });
81
- dataStore.registerObject(Employee, {
89
+ const emp2 = dataStore.registerObject(Employee, {
82
90
  employeeId: 2
83
91
  });
84
92
  dataStore.registerObject(Employee, {
@@ -89,13 +97,210 @@ function setupSomeEmployees(fauxFoundry) {
89
97
  $apiName: "Employee",
90
98
  employeeId: 4
91
99
  });
92
- dataStore.registerObject(Employee, {
100
+ const johnDoe = dataStore.registerObject(Employee, {
93
101
  $apiName: "Employee",
94
102
  employeeId: JOHN_DOE_ID,
95
103
  fullName: "John Doe"
96
104
  });
105
+ dataStore.registerLink(emp1, "peeps", johnDoe, "lead");
106
+
107
+ // Create offices
108
+ const office1 = dataStore.registerObject(Office, {
109
+ officeId: "101",
110
+ name: "Office 1"
111
+ });
112
+ const office2 = dataStore.registerObject(Office, {
113
+ officeId: "102",
114
+ name: "Office 2"
115
+ });
116
+
117
+ // Link employees to offices (Employee->Office: officeLink, Office->Employee: occupants)
118
+ dataStore.registerLink(emp1, "officeLink", office1, "occupants");
119
+ dataStore.registerLink(emp2, "officeLink", office2, "occupants");
97
120
  }
98
121
  describe(Store, () => {
122
+ describe("observeLinks", () => {
123
+ let client;
124
+ let cache;
125
+ let fauxFoundry;
126
+ beforeAll(async () => {
127
+ // Set up the mock environment and client
128
+ const testSetup = startNodeApiServer(new FauxFoundry("https://stack.palantir.com/"), createClient, {
129
+ logger
130
+ });
131
+ ({
132
+ client,
133
+ fauxFoundry
134
+ } = testSetup);
135
+
136
+ // Use the existing setup function that adds Employee objects
137
+ setupOntology(fauxFoundry);
138
+ setupSomeEmployees(fauxFoundry);
139
+ return () => {
140
+ testSetup.apiServer.close();
141
+ };
142
+ });
143
+ beforeEach(() => {
144
+ cache = new Store(client);
145
+ return () => {
146
+ cache = undefined;
147
+ };
148
+ });
149
+ const objectLikeJohnDoe = expect.objectContaining({
150
+ $apiName: "Employee",
151
+ $primaryKey: JOHN_DOE_ID
152
+ });
153
+ expect.objectContaining({
154
+ $apiName: "Employee",
155
+ $primaryKey: 2
156
+ });
157
+ it("removing link updates", async () => {
158
+ const {
159
+ payload: emp1Payload,
160
+ subFn
161
+ } = await expectStandardObserveObject({
162
+ cache,
163
+ type: Employee,
164
+ primaryKey: 1
165
+ });
166
+ const emp1 = emp1Payload?.object;
167
+ !emp1 ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
168
+
169
+ // Set up mock callback for observing links
170
+ const {
171
+ payload,
172
+ linkSubFn
173
+ } = await expectStandardObserveLink({
174
+ store: cache,
175
+ srcObject: emp1,
176
+ srcLinkName: "peeps",
177
+ targetType: Employee,
178
+ expected: [objectLikeJohnDoe]
179
+ });
180
+
181
+ // Unregister the link "in the backend"
182
+ fauxFoundry.getDefaultDataStore().unregisterLink(asBsoStub(emp1), "peeps", {
183
+ __apiName: "Employee",
184
+ __primaryKey: JOHN_DOE_ID
185
+ }, "lead");
186
+ testStage("Observing Employee 1's peeps");
187
+
188
+ // Invalidate the employee cache
189
+ const invalidateEmployeePromise = cache.invalidateObjectType("Employee", undefined);
190
+ await waitForCall(linkSubFn);
191
+ // Initially go to an invalidated loading state
192
+ expectSingleLinkCallAndClear(linkSubFn, [objectLikeJohnDoe], {
193
+ status: "loading"
194
+ });
195
+ await invalidateEmployeePromise;
196
+
197
+ // Should have no peeps now
198
+ expectSingleLinkCallAndClear(linkSubFn, [], {
199
+ status: "loaded"
200
+ });
201
+ });
202
+ it("invalidating Employee type only invalidates links, not Office objects", async () => {
203
+ // Get an Office object that has Employee occupants
204
+ const {
205
+ payload: office1Payload,
206
+ subFn: officeSubFn
207
+ } = await expectStandardObserveObject({
208
+ cache,
209
+ type: Office,
210
+ primaryKey: "101"
211
+ });
212
+ const office1 = office1Payload?.object;
213
+ !office1 ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
214
+ expect(await office1.$link.occupants.fetchPage()).toMatchInlineSnapshot(`
215
+ {
216
+ "data": [
217
+ {
218
+ "$apiName": "Employee",
219
+ "$objectSpecifier": "Employee:1",
220
+ "$objectType": "Employee",
221
+ "$primaryKey": 1,
222
+ "$title": undefined,
223
+ "employeeId": 1,
224
+ "office": "101",
225
+ },
226
+ ],
227
+ "nextPageToken": undefined,
228
+ "totalCount": undefined,
229
+ }
230
+ `);
231
+ testStage("Observing Employee 1");
232
+
233
+ // Get an Employee object linked to the office
234
+ const {
235
+ payload: emp1Payload,
236
+ subFn: empSubFn
237
+ } = await expectStandardObserveObject({
238
+ cache,
239
+ type: Employee,
240
+ primaryKey: 1
241
+ });
242
+ const emp1 = emp1Payload?.object;
243
+ !emp1 ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
244
+ testStage("Observing Office 101's occupants");
245
+
246
+ // Set up observation of occupants link
247
+ const {
248
+ linkSubFn: occupantsLinkSubFn
249
+ } = await expectStandardObserveLink({
250
+ store: cache,
251
+ srcObject: office1,
252
+ srcLinkName: "occupants",
253
+ targetType: Employee,
254
+ expected: [expect.objectContaining({
255
+ $primaryKey: 1
256
+ })]
257
+ });
258
+
259
+ // Clear any initial calls
260
+ officeSubFn.next.mockClear();
261
+ empSubFn.next.mockClear();
262
+ occupantsLinkSubFn.next.mockClear();
263
+ testStage("Invalidating Employee object type");
264
+
265
+ // Invalidate the Employee object type
266
+ // This should cause:
267
+ // - any object query for Employee to be invalidated
268
+ // - any object list query for Employee to be invalidated
269
+ // - any link queries where the source is an Employee to be invalidated
270
+ // - any link queries where the target is an Employee to be invalidated
271
+ const invalidateEmployeePromise = cache.invalidateObjectType(Employee, undefined);
272
+
273
+ // The link should be invalidated (loading state)
274
+ await waitForCall(occupantsLinkSubFn, 1);
275
+ expectSingleLinkCallAndClear(occupantsLinkSubFn, [emp1], {
276
+ status: "loading"
277
+ });
278
+
279
+ // The employee should be invalidated (loading state)
280
+ await waitForCall(empSubFn, 1);
281
+ expectSingleObjectCallAndClear(empSubFn, emp1, "loading");
282
+
283
+ // The link should be revalidated (loaded state)
284
+ await waitForCall(occupantsLinkSubFn, 1);
285
+ expectSingleLinkCallAndClear(occupantsLinkSubFn, [emp1], {
286
+ status: "loaded"
287
+ });
288
+
289
+ // the Employee object should also be invalidated (loading state)
290
+ await waitForCall(empSubFn, 1);
291
+ expectSingleObjectCallAndClear(empSubFn, emp1, "loaded");
292
+
293
+ // The Office object should NOT have any calls
294
+ // This is the key verification - no calls should be made to the office subscription
295
+ expect(officeSubFn.next).not.toHaveBeenCalled();
296
+ await invalidateEmployeePromise;
297
+
298
+ // ensure at the end of invalidation there are no new calls
299
+ expect(occupantsLinkSubFn.next).not.toHaveBeenCalled();
300
+ expect(empSubFn.next).not.toHaveBeenCalled();
301
+ expect(officeSubFn.next).not.toHaveBeenCalled();
302
+ });
303
+ });
99
304
  describe("with mock server", () => {
100
305
  let client;
101
306
  let cache;
@@ -149,7 +354,9 @@ describe(Store, () => {
149
354
  updateObject(cache, emp); // pre-seed the cache with the "real" value
150
355
 
151
356
  const subFn = mockSingleSubCallback();
152
- defer(cache.observeObject(Employee, emp.$primaryKey, {
357
+ defer(cache.objects.observe({
358
+ apiName: Employee,
359
+ pk: emp.$primaryKey,
153
360
  mode: "offline"
154
361
  }, subFn));
155
362
  expectSingleObjectCallAndClear(subFn, emp, "loaded");
@@ -177,12 +384,14 @@ describe(Store, () => {
177
384
  }, employeesAsServerReturns);
178
385
  const emp = employeesAsServerReturns[0];
179
386
  const empSubFn = mockSingleSubCallback();
180
- defer(cache.observeObject(Employee, emp.$primaryKey, {
387
+ defer(cache.objects.observe({
388
+ apiName: Employee,
389
+ pk: emp.$primaryKey,
181
390
  mode: "offline"
182
391
  }, empSubFn));
183
392
  expectSingleObjectCallAndClear(empSubFn, emp, "loaded");
184
393
  const listSubFn = mockListSubCallback();
185
- defer(cache.observeList({
394
+ defer(cache.lists.observe({
186
395
  type: Employee,
187
396
  mode: "offline"
188
397
  }, listSubFn));
@@ -240,7 +449,9 @@ describe(Store, () => {
240
449
  updateObject(cache, emp); // pre-seed the cache with the "real" value
241
450
 
242
451
  const subFn = mockSingleSubCallback();
243
- defer(cache.observeObject(Employee, emp.$primaryKey, {
452
+ defer(cache.objects.observe({
453
+ apiName: Employee,
454
+ pk: emp.$primaryKey,
244
455
  mode: "offline"
245
456
  }, subFn));
246
457
  expectSingleObjectCallAndClear(subFn, emp, "loaded");
@@ -276,12 +487,14 @@ describe(Store, () => {
276
487
  orderBy: {}
277
488
  }, [emp]);
278
489
  const subFn = mockSingleSubCallback();
279
- defer(cache.observeObject(Employee, emp.$primaryKey, {
490
+ defer(cache.objects.observe({
491
+ apiName: Employee,
492
+ pk: emp.$primaryKey,
280
493
  mode: "offline"
281
494
  }, subFn));
282
495
  expectSingleObjectCallAndClear(subFn, emp);
283
496
  const subListFn = mockListSubCallback();
284
- defer(cache.observeList({
497
+ defer(cache.lists.observe({
285
498
  type: Employee,
286
499
  mode: "offline"
287
500
  }, subListFn));
@@ -316,7 +529,9 @@ describe(Store, () => {
316
529
  });
317
530
  updateObject(cache, staleEmp);
318
531
  const subFn = mockSingleSubCallback();
319
- defer(cache.observeObject(Employee, emp.$primaryKey, {
532
+ defer(cache.objects.observe({
533
+ apiName: Employee,
534
+ pk: emp.$primaryKey,
320
535
  mode: "offline"
321
536
  }, subFn));
322
537
  expectSingleObjectCallAndClear(subFn, staleEmp, "loaded");
@@ -331,12 +546,6 @@ describe(Store, () => {
331
546
  });
332
547
  });
333
548
  describe(".invalidateList", () => {
334
- beforeEach(() => {
335
- vi.useFakeTimers({});
336
- });
337
- afterEach(() => {
338
- vi.useRealTimers();
339
- });
340
549
  it("triggers an update", async () => {
341
550
  const emp = employeesAsServerReturns[0];
342
551
  const staleEmp = emp.$clone({
@@ -348,12 +557,14 @@ describe(Store, () => {
348
557
  orderBy: {}
349
558
  }, [staleEmp]);
350
559
  const subFn = mockSingleSubCallback();
351
- defer(cache.observeObject(Employee, emp.$primaryKey, {
560
+ defer(cache.objects.observe({
561
+ apiName: Employee,
562
+ pk: emp.$primaryKey,
352
563
  mode: "offline"
353
564
  }, subFn));
354
565
  expectSingleObjectCallAndClear(subFn, staleEmp);
355
566
  const subListFn = mockListSubCallback();
356
- defer(cache.observeList({
567
+ defer(cache.lists.observe({
357
568
  type: Employee,
358
569
  mode: "offline"
359
570
  }, subListFn));
@@ -399,12 +610,14 @@ describe(Store, () => {
399
610
  orderBy: {}
400
611
  }, [staleEmp]);
401
612
  const subFn = mockSingleSubCallback();
402
- defer(cache.observeObject(Employee, emp.$primaryKey, {
613
+ defer(cache.objects.observe({
614
+ apiName: Employee,
615
+ pk: emp.$primaryKey,
403
616
  mode: "offline"
404
617
  }, subFn));
405
618
  expectSingleObjectCallAndClear(subFn, staleEmp);
406
619
  const subListFn = mockListSubCallback();
407
- defer(cache.observeList({
620
+ defer(cache.lists.observe({
408
621
  type: Employee,
409
622
  where: {},
410
623
  orderBy: {},
@@ -422,8 +635,19 @@ describe(Store, () => {
422
635
  });
423
636
  await waitForCall(subListFn, 1);
424
637
  expectSingleListCallAndClear(subListFn, employeesAsServerReturns);
425
- await waitForCall(subFn, 1);
426
- expectSingleObjectCallAndClear(subFn, emp, "loaded");
638
+ testStage("Check invalidation call for single sub");
639
+ await waitForCall(subFn, 2);
640
+ // First call is for loading state
641
+ expect(subFn.next).toHaveBeenNthCalledWith(1, objectPayloadContaining({
642
+ status: "loading",
643
+ object: staleEmp
644
+ }));
645
+ // Second call is for loaded state with fresh data
646
+ expect(subFn.next).toHaveBeenNthCalledWith(2, objectPayloadContaining({
647
+ status: "loaded",
648
+ object: emp
649
+ }));
650
+ subFn.next.mockClear();
427
651
 
428
652
  // we don't need this value to control the test but we want to make sure we don't have
429
653
  // any unhandled exceptions upon test completion
@@ -446,7 +670,9 @@ describe(Store, () => {
446
670
  fullName: "John Doe"
447
671
  });
448
672
  it("fetches and updates twice", async () => {
449
- defer(cache.observeObject(Employee, JOHN_DOE_ID, {
673
+ defer(cache.objects.observe({
674
+ apiName: Employee,
675
+ pk: JOHN_DOE_ID,
450
676
  mode: "force"
451
677
  }, subFn1));
452
678
  expect(subFn1.next).toHaveBeenCalledExactlyOnceWith(objectPayloadContaining({
@@ -462,7 +688,9 @@ describe(Store, () => {
462
688
  }));
463
689
  const firstLoad = subFn1.next.mock.lastCall?.[0];
464
690
  subFn1.next.mockClear();
465
- defer(cache.observeObject(Employee, JOHN_DOE_ID, {
691
+ defer(cache.objects.observe({
692
+ apiName: Employee,
693
+ pk: JOHN_DOE_ID,
466
694
  mode: "force"
467
695
  }, subFn2));
468
696
  expectSingleObjectCallAndClear(subFn1, likeEmployee50030, "loading");
@@ -489,7 +717,9 @@ describe(Store, () => {
489
717
  subFn.complete.mockClear();
490
718
  subFn.next.mockClear();
491
719
  subFn.error.mockClear();
492
- sub = defer(cache.observeObject(Employee, JOHN_DOE_ID, {
720
+ sub = defer(cache.objects.observe({
721
+ apiName: Employee,
722
+ pk: JOHN_DOE_ID,
493
723
  mode: "offline"
494
724
  }, subFn));
495
725
  expectSingleObjectCallAndClear(subFn, undefined, "init");
@@ -535,11 +765,10 @@ describe(Store, () => {
535
765
  }));
536
766
  });
537
767
  });
538
- describe(".observeList", () => {
768
+ describe(".lists.observe", () => {
539
769
  const listSub1 = mockListSubCallback();
540
770
  const ifaceSub = mockListSubCallback();
541
771
  beforeEach(() => {
542
- vi.useFakeTimers({});
543
772
  vi.mocked(listSub1.next).mockReset();
544
773
  vi.mocked(listSub1.error).mockReset();
545
774
  vi.mocked(listSub1.complete).mockReset();
@@ -547,22 +776,18 @@ describe(Store, () => {
547
776
  vi.mocked(ifaceSub.error).mockReset();
548
777
  vi.mocked(ifaceSub.complete).mockReset();
549
778
  });
550
- afterEach(() => {
551
- vi.useRealTimers();
552
- });
553
779
  describe("mode=force", () => {
554
780
  it("initial load", async () => {
555
- defer(cache.observeList({
781
+ defer(cache.lists.observe({
556
782
  type: Employee,
557
783
  orderBy: {},
558
784
  mode: "force"
559
785
  }, listSub1));
560
- defer(cache.observeList({
786
+ defer(cache.lists.observe({
561
787
  type: FooInterface,
562
788
  orderBy: {},
563
789
  mode: "force"
564
790
  }, ifaceSub));
565
- vitest.runOnlyPendingTimers();
566
791
  await waitForCall(listSub1);
567
792
  await waitForCall(ifaceSub);
568
793
  expectSingleListCallAndClear(listSub1, [], {
@@ -593,7 +818,7 @@ describe(Store, () => {
593
818
  where: {},
594
819
  orderBy: {}
595
820
  }, mutatedEmployees);
596
- defer(cache.observeList({
821
+ defer(cache.lists.observe({
597
822
  type: Employee,
598
823
  mode: "force"
599
824
  }, listSub1));
@@ -611,19 +836,18 @@ describe(Store, () => {
611
836
  });
612
837
  describe("mode = offline", () => {
613
838
  it("updates with list updates", async () => {
614
- defer(cache.observeList({
839
+ defer(cache.lists.observe({
615
840
  type: Employee,
616
841
  where: {},
617
842
  orderBy: {},
618
843
  mode: "offline"
619
844
  }, listSub1));
620
- expect(listSub1.next).toHaveBeenCalledTimes(0);
621
845
  updateList(cache, {
622
846
  type: Employee,
623
847
  where: {},
624
848
  orderBy: {}
625
849
  }, employeesAsServerReturns);
626
- vitest.runOnlyPendingTimers();
850
+ await waitForCall(listSub1);
627
851
  expectSingleListCallAndClear(listSub1, employeesAsServerReturns);
628
852
 
629
853
  // list is just now one object
@@ -632,23 +856,22 @@ describe(Store, () => {
632
856
  where: {},
633
857
  orderBy: {}
634
858
  }, [employeesAsServerReturns[0]]);
635
- vitest.runOnlyPendingTimers();
859
+ await waitForCall(listSub1);
636
860
  expectSingleListCallAndClear(listSub1, [employeesAsServerReturns[0]]);
637
861
  });
638
862
  it("updates with different list updates", async () => {
639
- defer(cache.observeList({
863
+ defer(cache.lists.observe({
640
864
  type: Employee,
641
865
  where: {},
642
866
  orderBy: {},
643
867
  mode: "offline"
644
868
  }, listSub1));
645
- expect(listSub1.next).toHaveBeenCalledTimes(0);
646
869
  updateList(cache, {
647
870
  type: Employee,
648
871
  where: {},
649
872
  orderBy: {}
650
873
  }, employeesAsServerReturns);
651
- vitest.runOnlyPendingTimers();
874
+ await waitForCall(listSub1);
652
875
  expectSingleListCallAndClear(listSub1, employeesAsServerReturns);
653
876
 
654
877
  // new where === different list
@@ -661,9 +884,9 @@ describe(Store, () => {
661
884
  },
662
885
  orderBy: {}
663
886
  }, mutatedEmployees);
664
- vitest.runOnlyPendingTimers();
665
887
 
666
888
  // original list updates still
889
+ await waitForCall(listSub1);
667
890
  expectSingleListCallAndClear(listSub1, mutatedEmployees);
668
891
  });
669
892
  });
@@ -677,14 +900,13 @@ describe(Store, () => {
677
900
  });
678
901
  it("works in the solo case", async () => {
679
902
  const listSub = mockListSubCallback();
680
- defer(cache.observeList({
903
+ defer(cache.lists.observe({
681
904
  type: Employee,
682
905
  where: {},
683
906
  orderBy: {},
684
907
  mode: "force",
685
908
  pageSize: 1
686
909
  }, listSub));
687
- expect(listSub.next).not.toHaveBeenCalled();
688
910
  await waitForCall(listSub, 1);
689
911
  expectSingleListCallAndClear(listSub, [], {
690
912
  status: "loading"
@@ -740,15 +962,22 @@ describe(Store, () => {
740
962
 
741
963
  // ignores unhandled rejection, like one we will get from fire-and-forget metadata call
742
964
  process.on("unhandledRejection", () => {});
743
- store.observeList({
965
+ store.lists.observe({
744
966
  type: {
745
967
  apiName: "notReal",
746
968
  type: "object"
747
969
  },
748
970
  orderBy: {}
749
971
  }, sub);
750
- await waitForCall(sub.error, 1);
751
- expect(sub.error).toHaveBeenCalled();
972
+ await waitForCall(sub.next);
973
+
974
+ // initial loading state
975
+ expect(sub.next).toHaveBeenCalledOnce();
976
+ expectSingleListCallAndClear(sub, [], {
977
+ status: "loading"
978
+ });
979
+ await waitForCall(sub.error);
980
+ expect(sub.error).toHaveBeenCalledOnce();
752
981
  expect(sub.next).not.toHaveBeenCalled();
753
982
  });
754
983
  describe("batching", () => {
@@ -763,8 +992,14 @@ describe(Store, () => {
763
992
  });
764
993
  const a = mockSingleSubCallback();
765
994
  const b = mockSingleSubCallback();
766
- defer(store.observeObject(Employee, 0, {}, a));
767
- defer(store.observeObject(Employee, 1, {}, b));
995
+ defer(store.objects.observe({
996
+ apiName: Employee,
997
+ pk: 0
998
+ }, a));
999
+ defer(store.objects.observe({
1000
+ apiName: Employee,
1001
+ pk: 1
1002
+ }, b));
768
1003
  await a.expectLoadingAndLoaded({
769
1004
  loading: objectPayloadContaining({
770
1005
  status: "loading",
@@ -800,7 +1035,10 @@ describe(Store, () => {
800
1035
  text: "og title"
801
1036
  });
802
1037
  const todoSubFn = mockSingleSubCallback();
803
- defer(store.observeObject(Todo, 0, {}, todoSubFn));
1038
+ defer(store.objects.observe({
1039
+ apiName: Todo,
1040
+ pk: 0
1041
+ }, todoSubFn));
804
1042
  await todoSubFn.expectLoadingAndLoaded({
805
1043
  loading: objectPayloadContaining({
806
1044
  status: "loading",
@@ -842,7 +1080,10 @@ describe(Store, () => {
842
1080
  text: "does not matter"
843
1081
  });
844
1082
  const todoSubFn = mockSingleSubCallback();
845
- defer(store.observeObject(Todo, 0, {}, todoSubFn));
1083
+ defer(store.objects.observe({
1084
+ apiName: Todo,
1085
+ pk: 0
1086
+ }, todoSubFn));
846
1087
  await todoSubFn.expectLoadingAndLoaded({
847
1088
  loading: objectPayloadContaining({
848
1089
  status: "loading",
@@ -915,19 +1156,27 @@ describe(Store, () => {
915
1156
  text: "asc"
916
1157
  }
917
1158
  };
918
- const subListUnordered = mockListSubCallback();
919
- const subListOrdered = mockListSubCallback();
920
- beforeEach(() => {
921
- defer(store.observeList({
1159
+ let subListUnordered = mockListSubCallback();
1160
+ let subListOrdered = mockListSubCallback();
1161
+ beforeEach(async () => {
1162
+ subListUnordered = mockListSubCallback();
1163
+ subListOrdered = mockListSubCallback();
1164
+ defer(store.lists.observe({
922
1165
  ...noWhereNoOrderBy,
923
1166
  mode: "offline"
924
1167
  }, subListUnordered));
925
- expect(subListUnordered.next).toHaveBeenCalledTimes(0);
926
- defer(store.observeList({
1168
+ await waitForCall(subListUnordered);
1169
+ expectSingleListCallAndClear(subListUnordered, [], {
1170
+ status: "init"
1171
+ });
1172
+ defer(store.lists.observe({
927
1173
  ...noWhereOrderByText,
928
1174
  mode: "offline"
929
1175
  }, subListOrdered));
930
- expect(subListOrdered.next).toHaveBeenCalledTimes(0);
1176
+ await waitForCall(subListOrdered);
1177
+ expectSingleListCallAndClear(subListOrdered, [], {
1178
+ status: "init"
1179
+ });
931
1180
  });
932
1181
  it("invalidates the correct lists", async () => {
933
1182
  // for whatever reason, the first list is loaded as [B, A]
@@ -1171,4 +1420,10 @@ describe(Store, () => {
1171
1420
  });
1172
1421
  });
1173
1422
  });
1423
+ export function asBsoStub(x) {
1424
+ return {
1425
+ __apiName: x.$apiName,
1426
+ __primaryKey: x.$primaryKey
1427
+ };
1428
+ }
1174
1429
  //# sourceMappingURL=Store.test.js.map