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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/CHANGELOG.md +149 -3
  2. package/build/browser/Client.js +1 -1
  3. package/build/browser/Client.js.map +1 -1
  4. package/build/browser/MinimalClientContext.js.map +1 -1
  5. package/build/browser/actions/applyAction.js +4 -0
  6. package/build/browser/actions/applyAction.js.map +1 -1
  7. package/build/browser/createClient.js +6 -2
  8. package/build/browser/createClient.js.map +1 -1
  9. package/build/browser/createMinimalClient.js +2 -1
  10. package/build/browser/createMinimalClient.js.map +1 -1
  11. package/build/browser/fetchMetadata.test.js +11 -0
  12. package/build/browser/fetchMetadata.test.js.map +1 -1
  13. package/build/browser/index.js +2 -0
  14. package/build/browser/index.js.map +1 -1
  15. package/build/browser/intellisense.test.helpers/orderBySuggestionIsRight.js +8 -1
  16. package/build/browser/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -1
  17. package/build/browser/intellisense.test.js +14 -4
  18. package/build/browser/intellisense.test.js.map +1 -1
  19. package/build/browser/object/Cache.js +1 -1
  20. package/build/browser/object/Cache.js.map +1 -1
  21. package/build/browser/object/Cache.test.js +1 -1
  22. package/build/browser/object/Cache.test.js.map +1 -1
  23. package/build/browser/object/SimpleCache.js +1 -1
  24. package/build/browser/object/SimpleCache.js.map +1 -1
  25. package/build/browser/object/aggregate.js +2 -0
  26. package/build/browser/object/aggregate.js.map +1 -1
  27. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +1 -0
  28. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  29. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +6 -0
  30. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  31. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +20 -1
  32. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  33. package/build/browser/object/convertWireToOsdkObjects.js +4 -0
  34. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  35. package/build/browser/object/convertWireToOsdkObjects.test.js +14 -0
  36. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  37. package/build/browser/object/fetchPage.js +96 -21
  38. package/build/browser/object/fetchPage.js.map +1 -1
  39. package/build/browser/object/fetchPage.test.js +35 -1
  40. package/build/browser/object/fetchPage.test.js.map +1 -1
  41. package/build/browser/object/geotimeseriesreference.test.js +0 -2
  42. package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
  43. package/build/browser/objectSet/ObjectSet.test.js +6 -0
  44. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  45. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +31 -9
  46. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  47. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +69 -4
  48. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  49. package/build/browser/objectSet/createObjectSet.js +3 -1
  50. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  51. package/build/browser/observable/LinkPayload.js +2 -0
  52. package/build/browser/observable/LinkPayload.js.map +1 -0
  53. package/build/browser/observable/ObjectPayload.js.map +1 -1
  54. package/build/browser/observable/ObjectSetPayload.js +2 -0
  55. package/build/browser/observable/ObjectSetPayload.js.map +1 -0
  56. package/build/browser/observable/ObservableClient/ObserveLink.js +17 -0
  57. package/build/browser/observable/ObservableClient/ObserveLink.js.map +1 -0
  58. package/build/browser/observable/ObservableClient/common.js +2 -0
  59. package/build/browser/observable/ObservableClient/common.js.map +1 -0
  60. package/build/browser/observable/ObservableClient.js +20 -0
  61. package/build/browser/observable/ObservableClient.js.map +1 -1
  62. package/build/browser/observable/Unsubscribable.js +2 -0
  63. package/build/browser/observable/Unsubscribable.js.map +1 -0
  64. package/build/browser/observable/computeObjectSetCacheKey.js +64 -0
  65. package/build/browser/observable/computeObjectSetCacheKey.js.map +1 -0
  66. package/build/browser/observable/internal/AbstractHelper.js +54 -0
  67. package/build/browser/observable/internal/AbstractHelper.js.map +1 -0
  68. package/build/browser/observable/internal/BatchContext.js +2 -0
  69. package/build/browser/observable/internal/BatchContext.js.map +1 -0
  70. package/build/browser/observable/internal/BulkObjectLoader.js +3 -3
  71. package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -1
  72. package/build/browser/observable/internal/CacheKeys.js +65 -25
  73. package/build/browser/observable/internal/CacheKeys.js.map +1 -1
  74. package/build/browser/observable/internal/Changes.js +9 -0
  75. package/build/browser/observable/internal/Changes.js.map +1 -1
  76. package/build/browser/observable/internal/KnownCacheKey.js +2 -0
  77. package/build/browser/observable/internal/KnownCacheKey.js.map +1 -0
  78. package/build/browser/observable/internal/Layer.js +0 -8
  79. package/build/browser/observable/internal/Layer.js.map +1 -1
  80. package/build/browser/observable/internal/Layers.js +151 -0
  81. package/build/browser/observable/internal/Layers.js.map +1 -0
  82. package/build/browser/observable/internal/ObservableClientImpl.js +62 -3
  83. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  84. package/build/browser/observable/internal/OrderByCanonicalizer.js +1 -37
  85. package/build/browser/observable/internal/OrderByCanonicalizer.js.map +1 -1
  86. package/build/browser/observable/internal/Queries.js +40 -0
  87. package/build/browser/observable/internal/Queries.js.map +1 -0
  88. package/build/browser/observable/internal/Query.js +63 -5
  89. package/build/browser/observable/internal/Query.js.map +1 -1
  90. package/build/browser/observable/internal/QuerySubscription.js +48 -0
  91. package/build/browser/observable/internal/QuerySubscription.js.map +1 -0
  92. package/build/browser/observable/internal/Store.invalidation.test.js +646 -0
  93. package/build/browser/observable/internal/Store.invalidation.test.js.map +1 -0
  94. package/build/browser/observable/internal/Store.js +89 -308
  95. package/build/browser/observable/internal/Store.js.map +1 -1
  96. package/build/browser/observable/internal/Store.test.js +330 -73
  97. package/build/browser/observable/internal/Store.test.js.map +1 -1
  98. package/build/browser/observable/internal/SubjectPayload.js +2 -0
  99. package/build/browser/observable/internal/SubjectPayload.js.map +1 -0
  100. package/build/browser/observable/internal/Subjects.js +55 -0
  101. package/build/browser/observable/internal/Subjects.js.map +1 -0
  102. package/build/browser/observable/internal/UnsubscribableWrapper.js +30 -0
  103. package/build/browser/observable/internal/UnsubscribableWrapper.js.map +1 -0
  104. package/build/browser/observable/internal/WeakRefTrie.js +61 -0
  105. package/build/browser/observable/internal/WeakRefTrie.js.map +1 -0
  106. package/build/browser/observable/internal/{ActionApplication.js → actions/ActionApplication.js} +2 -2
  107. package/build/browser/observable/internal/actions/ActionApplication.js.map +1 -0
  108. package/build/{esm/observable/internal → browser/observable/internal/actions}/OptimisticJob.js +15 -6
  109. package/build/browser/observable/internal/actions/OptimisticJob.js.map +1 -0
  110. package/build/browser/observable/internal/base-list/BaseCollectionQuery.js +2 -0
  111. package/build/browser/observable/internal/base-list/BaseCollectionQuery.js.map +1 -0
  112. package/build/browser/observable/internal/base-list/BaseListQuery.js +411 -0
  113. package/build/browser/observable/internal/base-list/BaseListQuery.js.map +1 -0
  114. package/build/browser/observable/internal/base-list/createCollectionConnectable.js +50 -0
  115. package/build/browser/observable/internal/base-list/createCollectionConnectable.js.map +1 -0
  116. package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js +597 -0
  117. package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -0
  118. package/build/browser/observable/internal/base-list/removeDuplicates.js +36 -0
  119. package/build/browser/observable/internal/base-list/removeDuplicates.js.map +1 -0
  120. package/build/browser/observable/internal/createInitEntry.js +25 -0
  121. package/build/browser/observable/internal/createInitEntry.js.map +1 -0
  122. package/build/browser/observable/internal/getObjectTypesThatInvalidate.js +216 -0
  123. package/build/browser/observable/internal/getObjectTypesThatInvalidate.js.map +1 -0
  124. package/build/browser/observable/internal/getObjectTypesThatInvalidate.test.js +382 -0
  125. package/build/browser/observable/internal/getObjectTypesThatInvalidate.test.js.map +1 -0
  126. package/build/browser/observable/internal/isObjectInstance.js +23 -0
  127. package/build/browser/observable/internal/isObjectInstance.js.map +1 -0
  128. package/build/browser/observable/internal/links/LinksHelper.js +37 -0
  129. package/build/browser/observable/internal/links/LinksHelper.js.map +1 -0
  130. package/build/browser/observable/internal/links/SpecificLinkCacheKey.js +2 -0
  131. package/build/browser/observable/internal/links/SpecificLinkCacheKey.js.map +1 -0
  132. package/build/browser/observable/internal/links/SpecificLinkQuery.js +185 -0
  133. package/build/browser/observable/internal/links/SpecificLinkQuery.js.map +1 -0
  134. package/build/browser/observable/internal/list/InterfaceListQuery.js +83 -0
  135. package/build/browser/observable/internal/list/InterfaceListQuery.js.map +1 -0
  136. package/build/browser/observable/internal/list/ListCacheKey.js +2 -0
  137. package/build/browser/observable/internal/list/ListCacheKey.js.map +1 -0
  138. package/build/browser/observable/internal/list/ListQuery.js +372 -0
  139. package/build/browser/observable/internal/list/ListQuery.js.map +1 -0
  140. package/build/browser/observable/internal/list/ListQueryOptions.js +2 -0
  141. package/build/browser/observable/internal/list/ListQueryOptions.js.map +1 -0
  142. package/build/browser/observable/internal/list/ListsHelper.js +51 -0
  143. package/build/browser/observable/internal/list/ListsHelper.js.map +1 -0
  144. package/build/browser/observable/internal/list/ObjectListQuery.js +48 -0
  145. package/build/browser/observable/internal/list/ObjectListQuery.js.map +1 -0
  146. package/build/browser/observable/internal/object/ObjectCacheKey.js +2 -0
  147. package/build/browser/observable/internal/object/ObjectCacheKey.js.map +1 -0
  148. package/build/browser/observable/internal/{ObjectQuery.js → object/ObjectQuery.js} +27 -18
  149. package/build/browser/observable/internal/object/ObjectQuery.js.map +1 -0
  150. package/build/browser/observable/internal/object/ObjectsHelper.js +48 -0
  151. package/build/browser/observable/internal/object/ObjectsHelper.js.map +1 -0
  152. package/build/browser/observable/internal/objectset/ObjectSetCacheKey.js +2 -0
  153. package/build/browser/observable/internal/objectset/ObjectSetCacheKey.js.map +1 -0
  154. package/build/browser/observable/internal/objectset/ObjectSetHelper.js +69 -0
  155. package/build/browser/observable/internal/objectset/ObjectSetHelper.js.map +1 -0
  156. package/build/browser/observable/internal/objectset/ObjectSetQuery.js +151 -0
  157. package/build/browser/observable/internal/objectset/ObjectSetQuery.js.map +1 -0
  158. package/build/browser/observable/internal/objectset/ObjectSetQueryOptions.js +2 -0
  159. package/build/browser/observable/internal/objectset/ObjectSetQueryOptions.js.map +1 -0
  160. package/build/browser/observable/internal/sorting/SortingStrategy.js +78 -0
  161. package/build/browser/observable/internal/sorting/SortingStrategy.js.map +1 -0
  162. package/build/browser/observable/internal/testUtils/invalidateList.js +23 -0
  163. package/build/browser/observable/internal/testUtils/invalidateList.js.map +1 -0
  164. package/build/browser/observable/internal/testUtils/observeLink/expectStandardObserveLink.js +69 -0
  165. package/build/browser/observable/internal/testUtils/observeLink/expectStandardObserveLink.js.map +1 -0
  166. package/build/browser/observable/internal/testUtils/observeObject/expectStandardObserveObject.js +56 -0
  167. package/build/browser/observable/internal/testUtils/observeObject/expectStandardObserveObject.js.map +1 -0
  168. package/build/browser/observable/internal/testUtils.js +72 -10
  169. package/build/browser/observable/internal/testUtils.js.map +1 -1
  170. package/build/browser/ontology/loadActionMetadata.js +3 -1
  171. package/build/browser/ontology/loadActionMetadata.js.map +1 -1
  172. package/build/browser/ontology/loadFullObjectMetadata.js +2 -1
  173. package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
  174. package/build/browser/ontology/loadInterfaceMetadata.js +2 -1
  175. package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -1
  176. package/build/browser/public/unstable-do-not-use.js +1 -0
  177. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  178. package/build/browser/queries/applyQuery.js +3 -3
  179. package/build/browser/queries/applyQuery.js.map +1 -1
  180. package/build/browser/util/UserAgent.js +2 -2
  181. package/build/browser/util/UserAgent.js.map +1 -1
  182. package/build/browser/util/exponentialBackoff.js +51 -0
  183. package/build/browser/util/exponentialBackoff.js.map +1 -0
  184. package/build/browser/util/exponentialBackoff.test.js +81 -0
  185. package/build/browser/util/exponentialBackoff.test.js.map +1 -0
  186. package/build/browser/util/extractObjectOrInterfaceType.js +9 -1
  187. package/build/browser/util/extractObjectOrInterfaceType.js.map +1 -1
  188. package/build/browser/util/extractObjectOrInterfaceType.test.js +2 -2
  189. package/build/browser/util/extractObjectOrInterfaceType.test.js.map +1 -1
  190. package/build/browser/util/streamutils.js +1 -1
  191. package/build/browser/util/streamutils.js.map +1 -1
  192. package/build/cjs/{chunk-URDXPIRU.cjs → chunk-3LPXQHP5.cjs} +116 -77
  193. package/build/cjs/chunk-3LPXQHP5.cjs.map +1 -0
  194. package/build/cjs/{chunk-BJYCRD5Y.cjs → chunk-GVGP7T5P.cjs} +375 -237
  195. package/build/cjs/chunk-GVGP7T5P.cjs.map +1 -0
  196. package/build/cjs/{createClient-BJo8T7Js.d.cts → createClient-mOlFts15.d.cts} +1 -0
  197. package/build/cjs/index.cjs +7 -7
  198. package/build/cjs/index.d.cts +1 -1
  199. package/build/cjs/public/internal.cjs +8 -8
  200. package/build/cjs/public/unstable-do-not-use.cjs +1824 -927
  201. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  202. package/build/cjs/public/unstable-do-not-use.d.cts +238 -17
  203. package/build/esm/Client.js +1 -1
  204. package/build/esm/Client.js.map +1 -1
  205. package/build/esm/MinimalClientContext.js.map +1 -1
  206. package/build/esm/actions/applyAction.js +4 -0
  207. package/build/esm/actions/applyAction.js.map +1 -1
  208. package/build/esm/createClient.js +6 -2
  209. package/build/esm/createClient.js.map +1 -1
  210. package/build/esm/createMinimalClient.js +2 -1
  211. package/build/esm/createMinimalClient.js.map +1 -1
  212. package/build/esm/fetchMetadata.test.js +11 -0
  213. package/build/esm/fetchMetadata.test.js.map +1 -1
  214. package/build/esm/index.js +2 -0
  215. package/build/esm/index.js.map +1 -1
  216. package/build/esm/intellisense.test.helpers/orderBySuggestionIsRight.js +8 -1
  217. package/build/esm/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -1
  218. package/build/esm/intellisense.test.js +14 -4
  219. package/build/esm/intellisense.test.js.map +1 -1
  220. package/build/esm/object/Cache.js +1 -1
  221. package/build/esm/object/Cache.js.map +1 -1
  222. package/build/esm/object/Cache.test.js +1 -1
  223. package/build/esm/object/Cache.test.js.map +1 -1
  224. package/build/esm/object/SimpleCache.js +1 -1
  225. package/build/esm/object/SimpleCache.js.map +1 -1
  226. package/build/esm/object/aggregate.js +2 -0
  227. package/build/esm/object/aggregate.js.map +1 -1
  228. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +1 -0
  229. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  230. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +6 -0
  231. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  232. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +20 -1
  233. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  234. package/build/esm/object/convertWireToOsdkObjects.js +4 -0
  235. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  236. package/build/esm/object/convertWireToOsdkObjects.test.js +14 -0
  237. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  238. package/build/esm/object/fetchPage.js +96 -21
  239. package/build/esm/object/fetchPage.js.map +1 -1
  240. package/build/esm/object/fetchPage.test.js +35 -1
  241. package/build/esm/object/fetchPage.test.js.map +1 -1
  242. package/build/esm/object/geotimeseriesreference.test.js +0 -2
  243. package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
  244. package/build/esm/objectSet/ObjectSet.test.js +6 -0
  245. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  246. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +31 -9
  247. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  248. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +69 -4
  249. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  250. package/build/esm/objectSet/createObjectSet.js +3 -1
  251. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  252. package/build/esm/observable/LinkPayload.js +2 -0
  253. package/build/esm/observable/LinkPayload.js.map +1 -0
  254. package/build/esm/observable/ObjectPayload.js.map +1 -1
  255. package/build/esm/observable/ObjectSetPayload.js +2 -0
  256. package/build/esm/observable/ObjectSetPayload.js.map +1 -0
  257. package/build/esm/observable/ObservableClient/ObserveLink.js +17 -0
  258. package/build/esm/observable/ObservableClient/ObserveLink.js.map +1 -0
  259. package/build/esm/observable/ObservableClient/common.js +2 -0
  260. package/build/esm/observable/ObservableClient/common.js.map +1 -0
  261. package/build/esm/observable/ObservableClient.js +20 -0
  262. package/build/esm/observable/ObservableClient.js.map +1 -1
  263. package/build/esm/observable/Unsubscribable.js +2 -0
  264. package/build/esm/observable/Unsubscribable.js.map +1 -0
  265. package/build/esm/observable/computeObjectSetCacheKey.js +64 -0
  266. package/build/esm/observable/computeObjectSetCacheKey.js.map +1 -0
  267. package/build/esm/observable/internal/AbstractHelper.js +54 -0
  268. package/build/esm/observable/internal/AbstractHelper.js.map +1 -0
  269. package/build/esm/observable/internal/BatchContext.js +2 -0
  270. package/build/esm/observable/internal/BatchContext.js.map +1 -0
  271. package/build/esm/observable/internal/BulkObjectLoader.js +3 -3
  272. package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -1
  273. package/build/esm/observable/internal/CacheKeys.js +65 -25
  274. package/build/esm/observable/internal/CacheKeys.js.map +1 -1
  275. package/build/esm/observable/internal/Changes.js +9 -0
  276. package/build/esm/observable/internal/Changes.js.map +1 -1
  277. package/build/esm/observable/internal/KnownCacheKey.js +2 -0
  278. package/build/esm/observable/internal/KnownCacheKey.js.map +1 -0
  279. package/build/esm/observable/internal/Layer.js +0 -8
  280. package/build/esm/observable/internal/Layer.js.map +1 -1
  281. package/build/esm/observable/internal/Layers.js +151 -0
  282. package/build/esm/observable/internal/Layers.js.map +1 -0
  283. package/build/esm/observable/internal/ObservableClientImpl.js +62 -3
  284. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  285. package/build/esm/observable/internal/OrderByCanonicalizer.js +1 -37
  286. package/build/esm/observable/internal/OrderByCanonicalizer.js.map +1 -1
  287. package/build/esm/observable/internal/Queries.js +40 -0
  288. package/build/esm/observable/internal/Queries.js.map +1 -0
  289. package/build/esm/observable/internal/Query.js +63 -5
  290. package/build/esm/observable/internal/Query.js.map +1 -1
  291. package/build/esm/observable/internal/QuerySubscription.js +48 -0
  292. package/build/esm/observable/internal/QuerySubscription.js.map +1 -0
  293. package/build/esm/observable/internal/Store.invalidation.test.js +646 -0
  294. package/build/esm/observable/internal/Store.invalidation.test.js.map +1 -0
  295. package/build/esm/observable/internal/Store.js +89 -308
  296. package/build/esm/observable/internal/Store.js.map +1 -1
  297. package/build/esm/observable/internal/Store.test.js +330 -73
  298. package/build/esm/observable/internal/Store.test.js.map +1 -1
  299. package/build/esm/observable/internal/SubjectPayload.js +2 -0
  300. package/build/esm/observable/internal/SubjectPayload.js.map +1 -0
  301. package/build/esm/observable/internal/Subjects.js +55 -0
  302. package/build/esm/observable/internal/Subjects.js.map +1 -0
  303. package/build/esm/observable/internal/UnsubscribableWrapper.js +30 -0
  304. package/build/esm/observable/internal/UnsubscribableWrapper.js.map +1 -0
  305. package/build/esm/observable/internal/WeakRefTrie.js +61 -0
  306. package/build/esm/observable/internal/WeakRefTrie.js.map +1 -0
  307. package/build/esm/observable/internal/{ActionApplication.js → actions/ActionApplication.js} +2 -2
  308. package/build/esm/observable/internal/actions/ActionApplication.js.map +1 -0
  309. package/build/{browser/observable/internal → esm/observable/internal/actions}/OptimisticJob.js +15 -6
  310. package/build/esm/observable/internal/actions/OptimisticJob.js.map +1 -0
  311. package/build/esm/observable/internal/base-list/BaseCollectionQuery.js +2 -0
  312. package/build/esm/observable/internal/base-list/BaseCollectionQuery.js.map +1 -0
  313. package/build/esm/observable/internal/base-list/BaseListQuery.js +411 -0
  314. package/build/esm/observable/internal/base-list/BaseListQuery.js.map +1 -0
  315. package/build/esm/observable/internal/base-list/createCollectionConnectable.js +50 -0
  316. package/build/esm/observable/internal/base-list/createCollectionConnectable.js.map +1 -0
  317. package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js +597 -0
  318. package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -0
  319. package/build/esm/observable/internal/base-list/removeDuplicates.js +36 -0
  320. package/build/esm/observable/internal/base-list/removeDuplicates.js.map +1 -0
  321. package/build/esm/observable/internal/createInitEntry.js +25 -0
  322. package/build/esm/observable/internal/createInitEntry.js.map +1 -0
  323. package/build/esm/observable/internal/getObjectTypesThatInvalidate.js +216 -0
  324. package/build/esm/observable/internal/getObjectTypesThatInvalidate.js.map +1 -0
  325. package/build/esm/observable/internal/getObjectTypesThatInvalidate.test.js +382 -0
  326. package/build/esm/observable/internal/getObjectTypesThatInvalidate.test.js.map +1 -0
  327. package/build/esm/observable/internal/isObjectInstance.js +23 -0
  328. package/build/esm/observable/internal/isObjectInstance.js.map +1 -0
  329. package/build/esm/observable/internal/links/LinksHelper.js +37 -0
  330. package/build/esm/observable/internal/links/LinksHelper.js.map +1 -0
  331. package/build/esm/observable/internal/links/SpecificLinkCacheKey.js +2 -0
  332. package/build/esm/observable/internal/links/SpecificLinkCacheKey.js.map +1 -0
  333. package/build/esm/observable/internal/links/SpecificLinkQuery.js +185 -0
  334. package/build/esm/observable/internal/links/SpecificLinkQuery.js.map +1 -0
  335. package/build/esm/observable/internal/list/InterfaceListQuery.js +83 -0
  336. package/build/esm/observable/internal/list/InterfaceListQuery.js.map +1 -0
  337. package/build/esm/observable/internal/list/ListCacheKey.js +2 -0
  338. package/build/esm/observable/internal/list/ListCacheKey.js.map +1 -0
  339. package/build/esm/observable/internal/list/ListQuery.js +372 -0
  340. package/build/esm/observable/internal/list/ListQuery.js.map +1 -0
  341. package/build/esm/observable/internal/list/ListQueryOptions.js +2 -0
  342. package/build/esm/observable/internal/list/ListQueryOptions.js.map +1 -0
  343. package/build/esm/observable/internal/list/ListsHelper.js +51 -0
  344. package/build/esm/observable/internal/list/ListsHelper.js.map +1 -0
  345. package/build/esm/observable/internal/list/ObjectListQuery.js +48 -0
  346. package/build/esm/observable/internal/list/ObjectListQuery.js.map +1 -0
  347. package/build/esm/observable/internal/object/ObjectCacheKey.js +2 -0
  348. package/build/esm/observable/internal/object/ObjectCacheKey.js.map +1 -0
  349. package/build/esm/observable/internal/{ObjectQuery.js → object/ObjectQuery.js} +27 -18
  350. package/build/esm/observable/internal/object/ObjectQuery.js.map +1 -0
  351. package/build/esm/observable/internal/object/ObjectsHelper.js +48 -0
  352. package/build/esm/observable/internal/object/ObjectsHelper.js.map +1 -0
  353. package/build/esm/observable/internal/objectset/ObjectSetCacheKey.js +2 -0
  354. package/build/esm/observable/internal/objectset/ObjectSetCacheKey.js.map +1 -0
  355. package/build/esm/observable/internal/objectset/ObjectSetHelper.js +69 -0
  356. package/build/esm/observable/internal/objectset/ObjectSetHelper.js.map +1 -0
  357. package/build/esm/observable/internal/objectset/ObjectSetQuery.js +151 -0
  358. package/build/esm/observable/internal/objectset/ObjectSetQuery.js.map +1 -0
  359. package/build/esm/observable/internal/objectset/ObjectSetQueryOptions.js +2 -0
  360. package/build/esm/observable/internal/objectset/ObjectSetQueryOptions.js.map +1 -0
  361. package/build/esm/observable/internal/sorting/SortingStrategy.js +78 -0
  362. package/build/esm/observable/internal/sorting/SortingStrategy.js.map +1 -0
  363. package/build/esm/observable/internal/testUtils/invalidateList.js +23 -0
  364. package/build/esm/observable/internal/testUtils/invalidateList.js.map +1 -0
  365. package/build/esm/observable/internal/testUtils/observeLink/expectStandardObserveLink.js +69 -0
  366. package/build/esm/observable/internal/testUtils/observeLink/expectStandardObserveLink.js.map +1 -0
  367. package/build/esm/observable/internal/testUtils/observeObject/expectStandardObserveObject.js +56 -0
  368. package/build/esm/observable/internal/testUtils/observeObject/expectStandardObserveObject.js.map +1 -0
  369. package/build/esm/observable/internal/testUtils.js +72 -10
  370. package/build/esm/observable/internal/testUtils.js.map +1 -1
  371. package/build/esm/ontology/loadActionMetadata.js +3 -1
  372. package/build/esm/ontology/loadActionMetadata.js.map +1 -1
  373. package/build/esm/ontology/loadFullObjectMetadata.js +2 -1
  374. package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
  375. package/build/esm/ontology/loadInterfaceMetadata.js +2 -1
  376. package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -1
  377. package/build/esm/public/unstable-do-not-use.js +1 -0
  378. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  379. package/build/esm/queries/applyQuery.js +3 -3
  380. package/build/esm/queries/applyQuery.js.map +1 -1
  381. package/build/esm/util/UserAgent.js +2 -2
  382. package/build/esm/util/UserAgent.js.map +1 -1
  383. package/build/esm/util/exponentialBackoff.js +51 -0
  384. package/build/esm/util/exponentialBackoff.js.map +1 -0
  385. package/build/esm/util/exponentialBackoff.test.js +81 -0
  386. package/build/esm/util/exponentialBackoff.test.js.map +1 -0
  387. package/build/esm/util/extractObjectOrInterfaceType.js +9 -1
  388. package/build/esm/util/extractObjectOrInterfaceType.js.map +1 -1
  389. package/build/esm/util/extractObjectOrInterfaceType.test.js +2 -2
  390. package/build/esm/util/extractObjectOrInterfaceType.test.js.map +1 -1
  391. package/build/esm/util/streamutils.js +1 -1
  392. package/build/esm/util/streamutils.js.map +1 -1
  393. package/build/types/Client.d.ts +1 -1
  394. package/build/types/MinimalClientContext.d.ts +1 -0
  395. package/build/types/MinimalClientContext.d.ts.map +1 -1
  396. package/build/types/actions/applyAction.d.ts.map +1 -1
  397. package/build/types/createClient.d.ts +1 -0
  398. package/build/types/createClient.d.ts.map +1 -1
  399. package/build/types/index.d.ts +1 -1
  400. package/build/types/index.d.ts.map +1 -1
  401. package/build/types/object/fetchPage.d.ts.map +1 -1
  402. package/build/types/observable/LinkPayload.d.ts +9 -0
  403. package/build/types/observable/LinkPayload.d.ts.map +1 -0
  404. package/build/types/observable/ObjectPayload.d.ts +4 -0
  405. package/build/types/observable/ObjectPayload.d.ts.map +1 -1
  406. package/build/types/observable/ObjectSetPayload.d.ts +5 -0
  407. package/build/types/observable/ObjectSetPayload.d.ts.map +1 -0
  408. package/build/types/observable/ObservableClient/ObserveLink.d.ts +32 -0
  409. package/build/types/observable/ObservableClient/ObserveLink.d.ts.map +1 -0
  410. package/build/types/observable/ObservableClient/common.d.ts +67 -0
  411. package/build/types/observable/ObservableClient/common.d.ts.map +1 -0
  412. package/build/types/observable/ObservableClient.d.ts +136 -16
  413. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  414. package/build/types/observable/Unsubscribable.d.ts +3 -0
  415. package/build/types/observable/Unsubscribable.d.ts.map +1 -0
  416. package/build/types/observable/computeObjectSetCacheKey.d.ts +16 -0
  417. package/build/types/observable/computeObjectSetCacheKey.d.ts.map +1 -0
  418. package/build/types/observable/internal/AbstractHelper.d.ts +17 -0
  419. package/build/types/observable/internal/AbstractHelper.d.ts.map +1 -0
  420. package/build/types/observable/internal/BatchContext.d.ts +11 -0
  421. package/build/types/observable/internal/BatchContext.d.ts.map +1 -0
  422. package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -1
  423. package/build/types/observable/internal/CacheKeys.d.ts +12 -6
  424. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -1
  425. package/build/types/observable/internal/Changes.d.ts +10 -5
  426. package/build/types/observable/internal/Changes.d.ts.map +1 -1
  427. package/build/types/observable/internal/KnownCacheKey.d.ts +5 -0
  428. package/build/types/observable/internal/KnownCacheKey.d.ts.map +1 -0
  429. package/build/types/observable/internal/Layer.d.ts +6 -7
  430. package/build/types/observable/internal/Layer.d.ts.map +1 -1
  431. package/build/types/observable/internal/Layers.d.ts +26 -0
  432. package/build/types/observable/internal/Layers.d.ts.map +1 -0
  433. package/build/types/observable/internal/OrderByCanonicalizer.d.ts +0 -7
  434. package/build/types/observable/internal/OrderByCanonicalizer.d.ts.map +1 -1
  435. package/build/types/observable/internal/Queries.d.ts +9 -0
  436. package/build/types/observable/internal/Queries.d.ts.map +1 -0
  437. package/build/types/observable/internal/Query.d.ts +23 -6
  438. package/build/types/observable/internal/Query.d.ts.map +1 -1
  439. package/build/types/observable/internal/QuerySubscription.d.ts +1 -0
  440. package/build/types/observable/internal/QuerySubscription.d.ts.map +1 -0
  441. package/build/types/observable/internal/Store.d.ts +43 -51
  442. package/build/types/observable/internal/Store.d.ts.map +1 -1
  443. package/build/types/observable/internal/Store.invalidation.test.d.ts +1 -0
  444. package/build/types/observable/internal/Store.invalidation.test.d.ts.map +1 -0
  445. package/build/types/observable/internal/Store.test.d.ts +4 -1
  446. package/build/types/observable/internal/Store.test.d.ts.map +1 -1
  447. package/build/types/observable/internal/SubjectPayload.d.ts +5 -0
  448. package/build/types/observable/internal/SubjectPayload.d.ts.map +1 -0
  449. package/build/types/observable/internal/Subjects.d.ts +16 -0
  450. package/build/types/observable/internal/Subjects.d.ts.map +1 -0
  451. package/build/types/observable/internal/UnsubscribableWrapper.d.ts +1 -0
  452. package/build/types/observable/internal/UnsubscribableWrapper.d.ts.map +1 -0
  453. package/build/types/observable/internal/WeakRefTrie.d.ts +13 -0
  454. package/build/types/observable/internal/WeakRefTrie.d.ts.map +1 -0
  455. package/build/types/observable/internal/{ActionApplication.d.ts → actions/ActionApplication.d.ts} +2 -2
  456. package/build/types/observable/internal/{ActionApplication.d.ts.map → actions/ActionApplication.d.ts.map} +1 -1
  457. package/build/types/observable/internal/{OptimisticJob.d.ts → actions/OptimisticJob.d.ts} +4 -4
  458. package/build/types/observable/internal/actions/OptimisticJob.d.ts.map +1 -0
  459. package/build/types/observable/internal/base-list/BaseCollectionQuery.d.ts +64 -0
  460. package/build/types/observable/internal/base-list/BaseCollectionQuery.d.ts.map +1 -0
  461. package/build/types/observable/internal/base-list/BaseListQuery.d.ts +145 -0
  462. package/build/types/observable/internal/base-list/BaseListQuery.d.ts.map +1 -0
  463. package/build/types/observable/internal/base-list/createCollectionConnectable.d.ts +39 -0
  464. package/build/types/observable/internal/base-list/createCollectionConnectable.d.ts.map +1 -0
  465. package/build/types/observable/internal/base-list/createCollectionConnectable.test.d.ts +1 -0
  466. package/build/types/observable/internal/base-list/createCollectionConnectable.test.d.ts.map +1 -0
  467. package/build/types/observable/internal/base-list/removeDuplicates.d.ts +11 -0
  468. package/build/types/observable/internal/base-list/removeDuplicates.d.ts.map +1 -0
  469. package/build/types/observable/internal/createInitEntry.d.ts +3 -0
  470. package/build/types/observable/internal/createInitEntry.d.ts.map +1 -0
  471. package/build/types/observable/internal/getObjectTypesThatInvalidate.d.ts +9 -0
  472. package/build/types/observable/internal/getObjectTypesThatInvalidate.d.ts.map +1 -0
  473. package/build/types/observable/internal/getObjectTypesThatInvalidate.test.d.ts +1 -0
  474. package/build/types/observable/internal/getObjectTypesThatInvalidate.test.d.ts.map +1 -0
  475. package/build/types/observable/internal/isObjectInstance.d.ts +5 -0
  476. package/build/types/observable/internal/isObjectInstance.d.ts.map +1 -0
  477. package/build/types/observable/internal/links/LinksHelper.d.ts +31 -0
  478. package/build/types/observable/internal/links/LinksHelper.d.ts.map +1 -0
  479. package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts +17 -0
  480. package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts.map +1 -0
  481. package/build/types/observable/internal/links/SpecificLinkQuery.d.ts +47 -0
  482. package/build/types/observable/internal/links/SpecificLinkQuery.d.ts.map +1 -0
  483. package/build/types/observable/internal/list/InterfaceListQuery.d.ts +18 -0
  484. package/build/types/observable/internal/list/InterfaceListQuery.d.ts.map +1 -0
  485. package/build/types/observable/internal/list/ListCacheKey.d.ts +7 -0
  486. package/build/types/observable/internal/list/ListCacheKey.d.ts.map +1 -0
  487. package/build/types/observable/internal/list/ListQuery.d.ts +106 -0
  488. package/build/types/observable/internal/list/ListQuery.d.ts.map +1 -0
  489. package/build/types/observable/internal/list/ListQueryOptions.d.ts +4 -0
  490. package/build/types/observable/internal/list/ListQueryOptions.d.ts.map +1 -0
  491. package/build/types/observable/internal/list/ListsHelper.d.ts +19 -0
  492. package/build/types/observable/internal/list/ListsHelper.d.ts.map +1 -0
  493. package/build/types/observable/internal/list/ObjectListQuery.d.ts +18 -0
  494. package/build/types/observable/internal/list/ObjectListQuery.d.ts.map +1 -0
  495. package/build/types/observable/internal/object/ObjectCacheKey.d.ts +5 -0
  496. package/build/types/observable/internal/object/ObjectCacheKey.d.ts.map +1 -0
  497. package/build/types/observable/internal/{ObjectQuery.d.ts → object/ObjectQuery.d.ts} +11 -9
  498. package/build/types/observable/internal/object/ObjectQuery.d.ts.map +1 -0
  499. package/build/types/observable/internal/object/ObjectsHelper.d.ts +11 -0
  500. package/build/types/observable/internal/object/ObjectsHelper.d.ts.map +1 -0
  501. package/build/types/observable/internal/objectset/ObjectSetCacheKey.d.ts +16 -0
  502. package/build/types/observable/internal/objectset/ObjectSetCacheKey.d.ts.map +1 -0
  503. package/build/types/observable/internal/objectset/ObjectSetHelper.d.ts +19 -0
  504. package/build/types/observable/internal/objectset/ObjectSetHelper.d.ts.map +1 -0
  505. package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts +34 -0
  506. package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts.map +1 -0
  507. package/build/types/observable/internal/objectset/ObjectSetQueryOptions.d.ts +18 -0
  508. package/build/types/observable/internal/objectset/ObjectSetQueryOptions.d.ts.map +1 -0
  509. package/build/types/observable/internal/sorting/SortingStrategy.d.ts +41 -0
  510. package/build/types/observable/internal/sorting/SortingStrategy.d.ts.map +1 -0
  511. package/build/types/observable/internal/testUtils/invalidateList.d.ts +9 -0
  512. package/build/types/observable/internal/testUtils/invalidateList.d.ts.map +1 -0
  513. package/build/types/observable/internal/testUtils/observeLink/expectStandardObserveLink.d.ts +46 -0
  514. package/build/types/observable/internal/testUtils/observeLink/expectStandardObserveLink.d.ts.map +1 -0
  515. package/build/types/observable/internal/testUtils/observeObject/expectStandardObserveObject.d.ts +26 -0
  516. package/build/types/observable/internal/testUtils/observeObject/expectStandardObserveObject.d.ts.map +1 -0
  517. package/build/types/observable/internal/testUtils.d.ts +26 -4
  518. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  519. package/build/types/public/unstable-do-not-use.d.ts +5 -2
  520. package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
  521. package/build/types/util/exponentialBackoff.d.ts +14 -0
  522. package/build/types/util/exponentialBackoff.d.ts.map +1 -0
  523. package/build/types/util/exponentialBackoff.test.d.ts +1 -0
  524. package/build/types/util/exponentialBackoff.test.d.ts.map +1 -0
  525. package/package.json +25 -25
  526. package/build/browser/observable/internal/ActionApplication.js.map +0 -1
  527. package/build/browser/observable/internal/ListQuery.js +0 -618
  528. package/build/browser/observable/internal/ListQuery.js.map +0 -1
  529. package/build/browser/observable/internal/ObjectQuery.js.map +0 -1
  530. package/build/browser/observable/internal/OptimisticJob.js.map +0 -1
  531. package/build/cjs/chunk-BJYCRD5Y.cjs.map +0 -1
  532. package/build/cjs/chunk-URDXPIRU.cjs.map +0 -1
  533. package/build/esm/observable/internal/ActionApplication.js.map +0 -1
  534. package/build/esm/observable/internal/ListQuery.js +0 -618
  535. package/build/esm/observable/internal/ListQuery.js.map +0 -1
  536. package/build/esm/observable/internal/ObjectQuery.js.map +0 -1
  537. package/build/esm/observable/internal/OptimisticJob.js.map +0 -1
  538. package/build/types/observable/internal/ListQuery.d.ts +0 -88
  539. package/build/types/observable/internal/ListQuery.d.ts.map +0 -1
  540. package/build/types/observable/internal/ObjectQuery.d.ts.map +0 -1
  541. package/build/types/observable/internal/OptimisticJob.d.ts.map +0 -1
@@ -0,0 +1,32 @@
1
+ import type { CompileTimeMetadata, InterfaceDefinition, ObjectTypeDefinition, Osdk, PrimaryKeyType, WhereClause } from "@osdk/api";
2
+ import type { Unsubscribable } from "../Unsubscribable.js";
3
+ import type { CommonObserveOptions, InvalidationMode, ObserveOptions, Observer, OrderBy, Status } from "./common.js";
4
+ export declare namespace ObserveLinks {
5
+ interface Options<
6
+ Q extends ObjectTypeDefinition | InterfaceDefinition,
7
+ L extends keyof CompileTimeMetadata<Q>["links"] & string
8
+ > extends CommonObserveOptions, ObserveOptions {
9
+ srcType: Pick<Q, "type" | "apiName">;
10
+ pk: PrimaryKeyType<Q>;
11
+ linkName: L;
12
+ where?: WhereClause<CompileTimeMetadata<Q>["links"][L]["targetType"]>;
13
+ pageSize?: number;
14
+ orderBy?: OrderBy<CompileTimeMetadata<Q>["links"][L]["targetType"]>;
15
+ invalidationMode?: InvalidationMode;
16
+ expectedLength?: number;
17
+ }
18
+ interface CallbackArgs<T extends ObjectTypeDefinition | InterfaceDefinition> {
19
+ resolvedList: Osdk.Instance<T>[];
20
+ isOptimistic: boolean;
21
+ lastUpdated: number;
22
+ fetchMore: () => Promise<void>;
23
+ hasMore: boolean;
24
+ status: Status;
25
+ }
26
+ }
27
+ export interface ObserveLinks {
28
+ observeLinks<
29
+ T extends ObjectTypeDefinition | InterfaceDefinition,
30
+ L extends keyof CompileTimeMetadata<T>["links"] & string
31
+ >(objects: Osdk.Instance<T> | ReadonlyArray<Osdk.Instance<T>>, linkName: L, options: Omit<ObserveLinks.Options<T, L>, "srcType" | "pk">, subFn: Observer<ObserveLinks.CallbackArgs<CompileTimeMetadata<T>["links"][L]["targetType"]>>): Unsubscribable;
32
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cACE,qBACA,qBACA,sBACA,MACA,gBACA,mBACK,WAAY;AACnB,cAAc,sBAAsB,sBAAuB;AAC3D,cACE,sBACA,kBACA,gBACA,UACA,SACA,cACK,aAAc;AAErB,yBAAiB;WACE;EACf,UAAU,uBAAuB;EACjC,gBAAgB,oBAAoB,GAAG;WAC/B,sBAAsB,eAAe;EAC7C,SAAS,KAAK,GAAG,SAAS;EAC1B,IAAI,eAAe;EACnB,UAAU;EACV,QAAQ,YAAY,oBAAoB,GAAG,SAAS,GAAG;EACvD;EACA,UAAU,QAAQ,oBAAoB,GAAG,SAAS,GAAG;EACrD,mBAAmB;EACnB;CACD;WAEgB,aACf,UAAU,uBAAuB,qBACjC;EACA,cAAc,KAAK,SAAS;EAC5B;EACA;EACA,iBAAiB;EACjB;EACA,QAAQ;CACT;;AAGH,iBAAiB,aAAa;CAC5B;EACE,UAAU,uBAAuB;EACjC,gBAAgB,oBAAoB,GAAG;GAEvCA,SAAS,KAAK,SAAS,KAAK,cAAc,KAAK,SAAS,KACxDC,UAAU,GACVC,SAAS,KAAK,aAAa,QAAQ,GAAG,IAAI,YAAY,OACtDC,OAAO,SACL,aAAa,aACX,oBAAoB,GAAG,SAAS,GAAG,kBAGtC;AACJ","names":["objects: Osdk.Instance<T> | ReadonlyArray<Osdk.Instance<T>>","linkName: L","options: Omit<ObserveLinks.Options<T, L>, \"srcType\" | \"pk\">","subFn: Observer<\n ObserveLinks.CallbackArgs<\n CompileTimeMetadata<T>[\"links\"][L][\"targetType\"]\n >\n >"],"sources":["../../../../src/observable/ObservableClient/ObserveLink.ts"],"version":3,"file":"ObserveLink.d.ts"}
@@ -0,0 +1,67 @@
1
+ import type { InterfaceDefinition, ObjectTypeDefinition, PropertyKeys } from "@osdk/api";
2
+ /**
3
+ * Represents the current state of an observation.
4
+ *
5
+ * - init: Initial state before any data fetch attempt
6
+ * - loading: Request is in progress
7
+ * - loaded: Data successfully retrieved
8
+ * - error: Request failed
9
+ */
10
+ export type Status = "init" | "loading" | "loaded" | "error";
11
+ /**
12
+ * Standard observer pattern interface for reactive data flow.
13
+ *
14
+ * @template T Type of data being observed
15
+ *
16
+ * Callbacks:
17
+ * - next: Called with updated values when data changes
18
+ * - error: Called when an error occurs
19
+ * - complete: Called when observation completes (rarely used)
20
+ */
21
+ export interface Observer<T> {
22
+ next: (value: T) => void;
23
+ error: (err: any) => void;
24
+ complete: () => void;
25
+ }
26
+ /**
27
+ * Common options shared by all observation methods.
28
+ *
29
+ * @property dedupeInterval - Time in milliseconds to deduplicate identical emissions
30
+ * Used to prevent rapid UI updates when multiple changes occur
31
+ */
32
+ export interface CommonObserveOptions extends ObserveOptions {
33
+ dedupeInterval?: number;
34
+ }
35
+ /**
36
+ * Options for object observation.
37
+ *
38
+ * @property mode - Data fetch strategy:
39
+ * - offline: Use only cached data, no network request
40
+ * - force: Always fetch from server, ignore cache
41
+ * - undefined (default): Use cache if available, fetch if missing
42
+ */
43
+ export interface ObserveOptions {
44
+ mode?: "offline" | "force";
45
+ }
46
+ /**
47
+ * Specifies sort order for collection queries.
48
+ *
49
+ * @template Q Object or interface type whose properties can be sorted
50
+ *
51
+ * Values:
52
+ * - "asc": Sort in ascending order
53
+ * - "desc": Sort in descending order
54
+ * - undefined: Don't sort by this property
55
+ *
56
+ * Example: `{ name: "asc", created: "desc" }`
57
+ */
58
+ export type OrderBy<Q extends ObjectTypeDefinition | InterfaceDefinition> = { [K in PropertyKeys<Q>]? : "asc" | "desc" | undefined };
59
+ /**
60
+ * Defines how data should be handled during invalidation.
61
+ *
62
+ * Values:
63
+ * - "in-place": Update data without resetting the collection
64
+ * - "wait": Wait for the server response before updating
65
+ * - "reset": Clear existing data and refetch entirely
66
+ */
67
+ export type InvalidationMode = "in-place" | "wait" | "reset";
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cACE,qBACA,sBACA,oBACK,WAAY;;;;;;;;;AAUnB,YAAY,SAAS,SAAS,YAAY,WAAW;;;;;;;;;;;AAYrD,iBAAiB,SAAS,GAAG;CAC3B,OAAOA,OAAO;CACd,QAAQC;CACR;AACD;;;;;;;AAQD,iBAAiB,6BAA6B,eAAe;CAC3D;AACD;;;;;;;;;AAUD,iBAAiB,eAAe;CAC9B,OAAO,YAAY;AACpB;;;;;;;;;;;;;AAcD,YAAY,QAAQ,UAAU,uBAAuB,0BAClD,KAAK,aAAa,OAAM,QAAQ;;;;;;;;;AAWnC,YAAY,mBAAmB,aAAa,SAAS","names":["value: T","err: any"],"sources":["../../../../src/observable/ObservableClient/common.ts"],"version":3,"file":"common.d.ts"}
@@ -1,26 +1,19 @@
1
- import type { ActionDefinition, ActionValidationResponse, InterfaceDefinition, ObjectTypeDefinition, Osdk, PrimaryKeyType, PropertyKeys, WhereClause } from "@osdk/api";
1
+ import type { ActionDefinition, ActionValidationResponse, InterfaceDefinition, ObjectSet, ObjectTypeDefinition, Osdk, PrimaryKeyType, PropertyKeys, WhereClause, WirePropertyTypes } from "@osdk/api";
2
2
  import type { ActionSignatureFromDef } from "../actions/applyAction.js";
3
3
  import { type Client } from "../Client.js";
4
4
  import type { Canonical } from "./internal/Canonical.js";
5
+ import type { ObserveObjectSetOptions } from "./internal/objectset/ObjectSetQueryOptions.js";
6
+ import type { CommonObserveOptions, InvalidationMode, ObserveOptions, Observer, Status } from "./ObservableClient/common.js";
7
+ import type { ObserveLinks } from "./ObservableClient/ObserveLink.js";
5
8
  import type { OptimisticBuilder } from "./OptimisticBuilder.js";
6
- export type Status = "init" | "loading" | "loaded" | "error";
7
- export interface Observer<T> {
8
- next: (value: T) => void;
9
- error: (err: any) => void;
10
- complete: () => void;
11
- }
12
9
  export declare namespace ObservableClient {
13
10
  interface ApplyActionOptions {
14
11
  optimisticUpdate?: (ctx: OptimisticBuilder) => void;
15
12
  }
16
13
  }
17
- export interface CommonObserveOptions {
18
- dedupeInterval?: number;
19
- }
20
- export interface ObserveOptions {
21
- mode?: "offline" | "force";
22
- }
23
14
  export interface ObserveObjectOptions<T extends ObjectTypeDefinition | InterfaceDefinition> extends ObserveOptions {
15
+ apiName: T["apiName"] | T;
16
+ pk: PrimaryKeyType<T>;
24
17
  select?: PropertyKeys<T>[];
25
18
  }
26
19
  export type OrderBy<Q extends ObjectTypeDefinition | InterfaceDefinition> = { [K in PropertyKeys<Q>]? : "asc" | "desc" | undefined };
@@ -29,7 +22,7 @@ export interface ObserveListOptions<Q extends ObjectTypeDefinition | InterfaceDe
29
22
  where?: WhereClause<Q>;
30
23
  pageSize?: number;
31
24
  orderBy?: OrderBy<Q>;
32
- invalidationMode?: "in-place" | "wait" | "reset";
25
+ invalidationMode?: InvalidationMode;
33
26
  expectedLength?: number;
34
27
  streamUpdates?: boolean;
35
28
  }
@@ -43,15 +36,142 @@ export interface ObserveObjectsArgs<T extends ObjectTypeDefinition | InterfaceDe
43
36
  resolvedList: Array<Osdk.Instance<T>>;
44
37
  isOptimistic: boolean;
45
38
  lastUpdated: number;
46
- fetchMore: () => Promise<unknown>;
39
+ fetchMore: () => Promise<void>;
40
+ hasMore: boolean;
41
+ status: Status;
42
+ }
43
+ export interface ObserveObjectSetArgs<
44
+ T extends ObjectTypeDefinition | InterfaceDefinition,
45
+ RDPs extends Record<string, WirePropertyTypes | undefined | Array<WirePropertyTypes>> = {}
46
+ > {
47
+ resolvedList: Array<Osdk.Instance<T, "$allBaseProperties", PropertyKeys<T>, RDPs>>;
48
+ isOptimistic: boolean;
49
+ lastUpdated: number;
50
+ fetchMore: () => Promise<void>;
51
+ hasMore: boolean;
52
+ status: Status;
53
+ objectSet: ObjectSet<T, RDPs>;
54
+ }
55
+ /**
56
+ * User facing callback args for `observeLink`
57
+ */
58
+ export interface ObserveLinkCallbackArgs<T extends ObjectTypeDefinition | InterfaceDefinition> {
59
+ resolvedList: Osdk.Instance<T>[];
60
+ isOptimistic: boolean;
61
+ lastUpdated: number;
62
+ fetchMore: () => Promise<void>;
47
63
  hasMore: boolean;
48
64
  status: Status;
49
65
  }
50
- export interface ObservableClient {
66
+ /**
67
+ * Public interface for reactive data management with automatic updates.
68
+ *
69
+ * The ObservableClient provides a reactive data layer with:
70
+ * - Real-time object and collection observation
71
+ * - Automatic cache updates when data changes
72
+ * - Optimistic updates for immediate UI feedback
73
+ * - Pagination support for large collections
74
+ * - Link traversal for relationship navigation
75
+ */
76
+ export interface ObservableClient extends ObserveLinks {
77
+ /**
78
+ * Observe a single object with automatic updates when it changes.
79
+ *
80
+ * @param apiName - The object type definition or name
81
+ * @param pk - The object's primary key
82
+ * @param options - Observation options including deduplication interval
83
+ * @param subFn - Observer that receives object state updates
84
+ * @returns Subscription that can be unsubscribed to stop updates
85
+ *
86
+ * The observer will receive:
87
+ * - Initial loading state if data not cached
88
+ * - Loaded state with the object data
89
+ * - Updates when the object changes
90
+ * - Error state if fetch fails
91
+ */
51
92
  observeObject<T extends ObjectTypeDefinition>(apiName: T["apiName"] | T, pk: PrimaryKeyType<T>, options: ObserveOptions, subFn: Observer<ObserveObjectArgs<T>>): Unsubscribable;
93
+ /**
94
+ * Observe a filtered and sorted collection of objects.
95
+ *
96
+ * @param options - Filter, sort, and pagination options
97
+ * @param subFn - Observer that receives collection state updates
98
+ * @returns Subscription that can be unsubscribed to stop updates
99
+ *
100
+ * Supports:
101
+ * - Filtering with where clauses
102
+ * - Sorting with orderBy
103
+ * - Pagination via fetchMore() in the payload
104
+ * - Automatic updates when any matching object changes
105
+ */
52
106
  observeList<T extends ObjectTypeDefinition | InterfaceDefinition>(options: ObserveListOptions<T>, subFn: Observer<ObserveObjectsArgs<T>>): Unsubscribable;
107
+ /**
108
+ * Observe an ObjectSet with automatic updates when matching objects change.
109
+ *
110
+ * @param baseObjectSet - The base ObjectSet to observe
111
+ * @param options - Options for transforming and observing the ObjectSet
112
+ * @param subFn - Observer that receives ObjectSet state updates
113
+ * @returns Subscription that can be unsubscribed to stop updates
114
+ *
115
+ * Supports all ObjectSet operations:
116
+ * - Filtering with where clauses
117
+ * - Derived properties with withProperties
118
+ * - Set operations (union, intersect, subtract)
119
+ * - Link traversal with pivotTo
120
+ * - Sorting and pagination
121
+ */
122
+ observeObjectSet<
123
+ T extends ObjectTypeDefinition,
124
+ RDPs extends Record<string, WirePropertyTypes | undefined | Array<WirePropertyTypes>> = {}
125
+ >(baseObjectSet: ObjectSet<T>, options: ObserveObjectSetOptions<T, RDPs>, subFn: Observer<ObserveObjectSetArgs<T, RDPs>>): Unsubscribable;
126
+ /**
127
+ * Execute an action with optional optimistic updates.
128
+ *
129
+ * @param action - Action definition to execute
130
+ * @param args - Arguments for the action
131
+ * @param opts - Options including optimistic updates
132
+ * @returns Promise that resolves when the action completes
133
+ *
134
+ * When providing optimistic updates:
135
+ * - Changes appear immediately in the UI
136
+ * - Server request still happens in background
137
+ * - On success, server data replaces optimistic data
138
+ * - On failure, optimistic changes automatically roll back
139
+ */
53
140
  applyAction: <Q extends ActionDefinition<any>>(action: Q, args: Parameters<ActionSignatureFromDef<Q>["applyAction"]>[0] | Array<Parameters<ActionSignatureFromDef<Q>["applyAction"]>[0]>, opts?: ObservableClient.ApplyActionOptions) => Promise<unknown>;
141
+ /**
142
+ * Validate action parameters without executing the action.
143
+ *
144
+ * @param action - Action definition to validate
145
+ * @param args - Arguments to validate
146
+ * @returns Promise with validation result
147
+ *
148
+ * Use this to:
149
+ * - Pre-validate forms before submission
150
+ * - Display warnings or errors in the UI
151
+ * - Enable/disable action buttons based on validity
152
+ */
54
153
  validateAction: <Q extends ActionDefinition<any>>(action: Q, args: Parameters<ActionSignatureFromDef<Q>["applyAction"]>[0]) => Promise<ActionValidationResponse>;
154
+ /**
155
+ * Invalidates the entire cache, forcing all queries to refetch.
156
+ * Use sparingly as this can cause significant network traffic.
157
+ */
158
+ invalidateAll(): Promise<void>;
159
+ /**
160
+ * Invalidates specific objects in the cache.
161
+ * @param objects - Single object or array of objects to invalidate
162
+ */
163
+ invalidateObjects(objects: Osdk.Instance<ObjectTypeDefinition> | ReadonlyArray<Osdk.Instance<ObjectTypeDefinition>>): Promise<void>;
164
+ /**
165
+ * Invalidates all cached data for a specific object type.
166
+ * This includes:
167
+ * - All objects of the specified type
168
+ * - All lists containing objects of this type
169
+ * - All links where the source is of this type
170
+ *
171
+ * @param type - Object type definition or API name string
172
+ * @returns Promise that resolves when invalidation is complete
173
+ */
174
+ invalidateObjectType<T extends ObjectTypeDefinition>(type: T | T["apiName"]): Promise<void>;
55
175
  canonicalizeWhereClause: <T extends ObjectTypeDefinition | InterfaceDefinition>(where: WhereClause<T>) => Canonical<WhereClause<T>>;
56
176
  }
57
177
  export declare function createObservableClient(client: Client): ObservableClient;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,kBACA,0BACA,qBACA,sBACA,MACA,gBACA,cACA,mBACK,WAAY;AAEnB,cAAc,8BAA8B,2BAA4B;AACxE,cAAiC,cAAc,cAAe;AAG9D,cAAc,iBAAiB,yBAA0B;AAGzD,cAAc,yBAAyB,wBAAyB;AAEhE,YAAY,SAAS,SAAS,YAAY,WAAW;AAErD,iBAAiB,SAAS,GAAG;CAC3B,OAAOA,OAAO;CACd,QAAQC;CACR;AACD;AAED,yBAAiB;WACE,mBAAmB;EAClC,oBAAoBC,KAAK;CAC1B;;AAGH,iBAAiB,qBAAqB;CACpC;AACD;AAED,iBAAiB,eAAe;CAC9B,OAAO,YAAY;AACpB;AAED,iBAAiB,qBACf,UAAU,uBAAuB,6BACzB,eAAe;CACvB,SAAS,aAAa;AACvB;AAED,YAAY,QAAQ,UAAU,uBAAuB,0BAClD,KAAK,aAAa,OAAM,QAAQ;AAGnC,iBAAiB,mBACf,UAAU,uBAAuB,6BACzB,sBAAsB,eAAe;CAC7C,MAAM,KAAK,GAAG,YAAY;CAC1B,QAAQ,YAAY;CACpB;CACA,UAAU,QAAQ;CAClB,mBAAmB,aAAa,SAAS;CACzC;CACA;AACD;AAED,iBAAiB,kBAAkB,UAAU,sBAAsB;CACjE,QAAQ,KAAK,SAAS;CACtB;CACA,QAAQ;CACR;AACD;AAED,iBAAiB,mBACf,UAAU,uBAAuB,qBACjC;CACA,cAAc,MAAM,KAAK,SAAS;CAClC;CACA;CACA,iBAAiB;CACjB;CACA,QAAQ;AACT;AAED,iBAAiB,iBAAiB;CAChC,cAAc,UAAU,sBACtBC,SAAS,EAAE,aAAa,GACxBC,IAAI,eAAe,IACnBC,SAAS,gBACTC,OAAO,SAAS,kBAAkB,MACjC;CAEH,YAAY,UAAU,uBAAuB,qBAC3CC,SAAS,mBAAmB,IAC5BC,OAAO,SAAS,mBAAmB,MAClC;CAEH,cAAc,UAAU,uBACtBC,QAAQ,GACRC,MACI,WAAW,uBAAuB,GAAG,gBAAgB,KACrD,MAAM,WAAW,uBAAuB,GAAG,gBAAgB,KAC/DC,OAAO,iBAAiB,uBACrB;CAEL,iBAAiB,UAAU,uBACzBF,QAAQ,GACRG,MAAM,WAAW,uBAAuB,GAAG,gBAAgB,OACxD,QAAQ;CAEb,0BACE,UAAU,uBAAuB,qBAEjCC,OAAO,YAAY,OAChB,UAAU,YAAY;AAC5B;AAED,OAAO,iBAAS,uBAAuBC,QAAQ,SAAS;AA0BxD,iBAAiB,eAAe;CAC9B;AACD","names":["value: T","err: any","ctx: OptimisticBuilder","apiName: T[\"apiName\"] | T","pk: PrimaryKeyType<T>","options: ObserveOptions","subFn: Observer<ObserveObjectArgs<T>>","options: ObserveListOptions<T>","subFn: Observer<ObserveObjectsArgs<T>>","action: Q","args:\n | Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]\n | Array<Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]>","opts?: ObservableClient.ApplyActionOptions","args: Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]","where: WhereClause<T>","client: Client"],"sources":["../../../src/observable/ObservableClient.ts"],"version":3,"file":"ObservableClient.d.ts"}
1
+ {"mappings":"AAgBA,cACE,kBACA,0BACA,qBACA,WACA,sBACA,MACA,gBACA,cACA,aACA,yBACK,WAAY;AAEnB,cAAc,8BAA8B,2BAA4B;AACxE,cAAiC,cAAc,cAAe;AAG9D,cAAc,iBAAiB,yBAA0B;AACzD,cAAc,+BAA+B,+CAAgD;AAG7F,cACE,sBACA,kBACA,gBACA,UACA,cACK,8BAA+B;AACtC,cAAc,oBAAoB,mCAAoC;AACtE,cAAc,yBAAyB,wBAAyB;AAEhE,yBAAiB;WACE,mBAAmB;EAClC,oBAAoBA,KAAK;CAC1B;;AAGH,iBAAiB,qBACf,UAAU,uBAAuB,6BACzB,eAAe;CACvB,SAAS,EAAE,aAAa;CACxB,IAAI,eAAe;CACnB,SAAS,aAAa;AACvB;AAED,YAAY,QAAQ,UAAU,uBAAuB,0BAClD,KAAK,aAAa,OAAM,QAAQ;AAGnC,iBAAiB,mBACf,UAAU,uBAAuB,6BACzB,sBAAsB,eAAe;CAC7C,MAAM,KAAK,GAAG,YAAY;CAC1B,QAAQ,YAAY;CACpB;CACA,UAAU,QAAQ;CAClB,mBAAmB;CACnB;CACA;AACD;AAID,iBAAiB,kBAAkB,UAAU,sBAAsB;CACjE,QAAQ,KAAK,SAAS;CACtB;CACA,QAAQ;CACR;AACD;AAGD,iBAAiB,mBACf,UAAU,uBAAuB,qBACjC;CACA,cAAc,MAAM,KAAK,SAAS;CAClC;CACA;CACA,iBAAiB;CACjB;CACA,QAAQ;AACT;AAED,iBAAiB;CACf,UAAU,uBAAuB;CACjC,aAAa,eAEX,gCAAgC,MAAM,sBACpC,CAAE;EACN;CACA,cAAc,MACZ,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI;CAE1D;CACA;CACA,iBAAiB;CACjB;CACA,QAAQ;CACR,WAAW,UAAU,GAAG;AACzB;;;;AAKD,iBAAiB,wBACf,UAAU,uBAAuB,qBACjC;CACA,cAAc,KAAK,SAAS;CAC5B;CACA;CACA,iBAAiB;CACjB;CACA,QAAQ;AACT;;;;;;;;;;;AAYD,iBAAiB,yBAAyB,aAAa;;;;;;;;;;;;;;;;CAgBrD,cAAc,UAAU,sBACtBC,SAAS,EAAE,aAAa,GACxBC,IAAI,eAAe,IACnBC,SAAS,gBACTC,OAAO,SAAS,kBAAkB,MACjC;;;;;;;;;;;;;;CAeH,YAAY,UAAU,uBAAuB,qBAC3CC,SAAS,mBAAmB,IAC5BC,OAAO,SAAS,mBAAmB,MAClC;;;;;;;;;;;;;;;;CAiBH;EACE,UAAU;EACV,aAAa,eAEX,gCAAgC,MAAM,sBACpC,CAAE;GAENC,eAAe,UAAU,IACzBC,SAAS,wBAAwB,GAAG,OACpCC,OAAO,SAAS,qBAAqB,GAAG,SACvC;;;;;;;;;;;;;;;CAgBH,cAAc,UAAU,uBACtBC,QAAQ,GACRC,MACI,WAAW,uBAAuB,GAAG,gBAAgB,KACrD,MAAM,WAAW,uBAAuB,GAAG,gBAAgB,KAC/DC,OAAO,iBAAiB,uBACrB;;;;;;;;;;;;;CAcL,iBAAiB,UAAU,uBACzBF,QAAQ,GACRG,MAAM,WAAW,uBAAuB,GAAG,gBAAgB,OACxD,QAAQ;;;;;CAMb,iBAAiB;;;;;CAMjB,kBACEC,SACI,KAAK,SAAS,wBACd,cAAc,KAAK,SAAS,yBAC/B;;;;;;;;;;;CAYH,qBAAqB,UAAU,sBAC7BC,MAAM,IAAI,EAAE,aACX;CAEH,0BACE,UAAU,uBAAuB,qBAEjCC,OAAO,YAAY,OAChB,UAAU,YAAY;AAC5B;AAED,OAAO,iBAAS,uBAAuBC,QAAQ,SAAS;AA0BxD,iBAAiB,eAAe;CAC9B;AACD","names":["ctx: OptimisticBuilder","apiName: T[\"apiName\"] | T","pk: PrimaryKeyType<T>","options: ObserveOptions","subFn: Observer<ObserveObjectArgs<T>>","options: ObserveListOptions<T>","subFn: Observer<ObserveObjectsArgs<T>>","baseObjectSet: ObjectSet<T>","options: ObserveObjectSetOptions<T, RDPs>","subFn: Observer<ObserveObjectSetArgs<T, RDPs>>","action: Q","args:\n | Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]\n | Array<Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]>","opts?: ObservableClient.ApplyActionOptions","args: Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]","objects:\n | Osdk.Instance<ObjectTypeDefinition>\n | ReadonlyArray<Osdk.Instance<ObjectTypeDefinition>>","type: T | T[\"apiName\"]","where: WhereClause<T>","client: Client"],"sources":["../../../src/observable/ObservableClient.ts"],"version":3,"file":"ObservableClient.d.ts"}
@@ -0,0 +1,3 @@
1
+ export interface Unsubscribable {
2
+ unsubscribe: () => void;
3
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,iBAAiB,eAAe;CAC9B;AACD","names":[],"sources":["../../../src/observable/Unsubscribable.ts"],"version":3,"file":"Unsubscribable.d.ts"}
@@ -0,0 +1,16 @@
1
+ import type { BaseObjectSet, ObjectSet, ObjectTypeDefinition, WirePropertyTypes } from "@osdk/api";
2
+ import type { ObserveObjectSetOptions } from "./internal/objectset/ObjectSetQueryOptions.js";
3
+ /**
4
+ * Computes a stable cache key for an ObjectSet with options.
5
+ *
6
+ * Note: dedupeInterval is excluded as it doesn't affect the data, only the refresh rate.
7
+ *
8
+ * @param objectSet - The base ObjectSet
9
+ * @param options - Optional observation options (where, orderBy, etc.)
10
+ * @returns A stable string key representing the ObjectSet and options
11
+ */
12
+ export declare function computeObjectSetCacheKey<
13
+ T extends ObjectTypeDefinition,
14
+ BaseRDPs extends Record<string, WirePropertyTypes | undefined | Array<WirePropertyTypes>> | BaseObjectSet<T> = never,
15
+ RDPs extends Record<string, WirePropertyTypes | undefined | Array<WirePropertyTypes>> = {}
16
+ >(objectSet: ObjectSet<T, BaseRDPs>, options?: ObserveObjectSetOptions<T, RDPs>): string;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cACE,eACA,WACA,sBACA,yBACK,WAAY;AAEnB,cAAc,+BAA+B,+CAAgD;;;;;;;;;;AAgB7F,OAAO,iBAAS;CACd,UAAU;CACV,iBACI,eAAe,gCAAgC,MAAM,sBACrD,cAAc;CAClB,aAAa,eAEX,gCAAgC,MAAM,sBACpC,CAAE;EAENA,WAAW,UAAU,GAAG,WACxBC,UAAU,wBAAwB,GAAG","names":["objectSet: ObjectSet<T, BaseRDPs>","options?: ObserveObjectSetOptions<T, RDPs>"],"sources":["../../../src/observable/computeObjectSetCacheKey.ts"],"version":3,"file":"computeObjectSetCacheKey.d.ts"}
@@ -0,0 +1,17 @@
1
+ import type { CommonObserveOptions, Observer } from "../ObservableClient/common.js";
2
+ import type { CacheKeys } from "./CacheKeys.js";
3
+ import type { KnownCacheKey } from "./KnownCacheKey.js";
4
+ import type { Query } from "./Query.js";
5
+ import { QuerySubscription } from "./QuerySubscription.js";
6
+ import type { Store } from "./Store.js";
7
+ export declare abstract class AbstractHelper<
8
+ TQuery extends Query<KnownCacheKey, any, CommonObserveOptions>,
9
+ TObserveOptions extends CommonObserveOptions
10
+ > {
11
+ protected readonly store: Store;
12
+ protected readonly cacheKeys: CacheKeys<KnownCacheKey>;
13
+ constructor(store: Store, cacheKeys: CacheKeys<KnownCacheKey>);
14
+ observe(options: TObserveOptions, subFn: Observer<TQuery extends Query<any, infer PAYLOAD, any> ? PAYLOAD : never>): QuerySubscription<TQuery>;
15
+ abstract getQuery(options: TObserveOptions): TQuery;
16
+ protected _subscribe(query: TQuery, options: TObserveOptions, subFn: Observer<TQuery extends Query<any, infer PAYLOAD, any> ? PAYLOAD : never>): QuerySubscription<TQuery>;
17
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cACE,sBACA,gBACK,+BAAgC;AACvC,cAAc,iBAAiB,gBAAiB;AAChD,cAAc,qBAAqB,oBAAqB;AACxD,cAAc,aAAa,YAAa;AACxC,SAAS,yBAAyB,wBAAyB;AAC3D,cAAc,aAAa,YAAa;AAExC,OAAO,uBAAe;CACpB,eAAe,MAAM,oBAAoB;CACzC,wBAAwB;EACxB;CACA,mBAAmB,OAAO;CAC1B,mBAAmB,WAAW,UAAU;CAExC,YAAYA,OAAO,OAAOC,WAAW,UAAU;CAK/C,QACEC,SAAS,iBACTC,OAAO,SACL,eAAe,iBAAiB,gBAAgB,mBAEjD,kBAAkB;CAKrB,SAAS,SAASD,SAAS,kBAAkB;CAE7C,UAAU,WACRE,OAAO,QACPF,SAAS,iBACTC,OAAO,SACL,eAAe,iBAAiB,gBAAgB,mBAEjD,kBAAkB;AAkCtB","names":["store: Store","cacheKeys: CacheKeys<KnownCacheKey>","options: TObserveOptions","subFn: Observer<\n TQuery extends Query<any, infer PAYLOAD, any> ? PAYLOAD : never\n >","query: TQuery"],"sources":["../../../../src/observable/internal/AbstractHelper.ts"],"version":3,"file":"AbstractHelper.d.ts"}
@@ -0,0 +1,11 @@
1
+ import type { Changes } from "./Changes.js";
2
+ import type { KnownCacheKey } from "./KnownCacheKey.js";
3
+ import type { Entry } from "./Layer.js";
4
+ export interface BatchContext {
5
+ changes: Changes;
6
+ createLayerIfNeeded: () => void;
7
+ optimisticWrite: boolean;
8
+ write: <K extends KnownCacheKey>(k: K, v: Entry<K>["value"], status: Entry<K>["status"]) => Entry<K>;
9
+ read: <K extends KnownCacheKey>(k: K) => Entry<K> | undefined;
10
+ delete: <K extends KnownCacheKey>(k: K, status: Entry<K>["status"]) => Entry<K>;
11
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,eAAe,cAAe;AAC5C,cAAc,qBAAqB,oBAAqB;AACxD,cAAc,aAAa,YAAa;AAExC,iBAAiB,aAAa;CAC5B,SAAS;CACT;CACA;CAEA,QAAQ,UAAU,eAChBA,GAAG,GACHC,GAAG,MAAM,GAAG,UACZC,QAAQ,MAAM,GAAG,cACd,MAAM;CAEX,OAAO,UAAU,eACfF,GAAG,MACA,MAAM;CAEX,SAAS,UAAU,eACjBA,GAAG,GACHE,QAAQ,MAAM,GAAG,cACd,MAAM;AACZ","names":["k: K","v: Entry<K>[\"value\"]","status: Entry<K>[\"status\"]"],"sources":["../../../../src/observable/internal/BatchContext.ts"],"version":3,"file":"BatchContext.d.ts"}
@@ -1 +1 @@
1
- {"mappings":"AAqBA,cAAiC,cAAc,iBAAkB;AACjE,cACE,oBACK,uDAAwD;AAgB/D,OAAO,iBAAS,oBAAoBA,QAAQ,SAAS;AAIrD,OAAO,cAAM,iBAAiB;;CAW5B,YAAYA,QAAQ,QAAQ,kBAAc;CAO1C,AAAO,MACLC,iBACAC,wCACC,QAAQ;AAuDZ","names":["client: Client","apiName: string","primaryKey: string | number | boolean"],"sources":["../../../../src/observable/internal/BulkObjectLoader.ts"],"version":3,"file":"BulkObjectLoader.d.ts"}
1
+ {"mappings":"AAqBA,cAAiC,cAAc,iBAAkB;AACjE,cACE,oBACK,uDAAwD;AAgB/D,OAAO,iBAAS,oBAAoBA,QAAQ,SAAS;AAIrD,OAAO,cAAM,iBAAiB;;CAW5B,YAAYA,QAAQ,QAAQ,kBAAc;CAO1C,AAAa,MACXC,iBACAC,wCACC,QAAQ;AAyDZ","names":["client: Client","apiName: string","primaryKey: string | number | boolean"],"sources":["../../../../src/observable/internal/BulkObjectLoader.ts"],"version":3,"file":"BulkObjectLoader.d.ts"}
@@ -1,9 +1,15 @@
1
1
  import type { CacheKey } from "./CacheKey.js";
2
- import type { OrderByCanonicalizer } from "./OrderByCanonicalizer.js";
3
- import type { WhereClauseCanonicalizer } from "./WhereClauseCanonicalizer.js";
4
- export declare class CacheKeys {
2
+ /**
3
+ * Cache key management with canonicalization.
4
+ * - Uses Trie structure for efficient storage and lookup
5
+ */
6
+ export declare class CacheKeys<TCacheKey extends CacheKey> {
5
7
  #private;
6
- constructor(whereCanonicalizer: WhereClauseCanonicalizer, orderByCanonicalizer: OrderByCanonicalizer, onCreate: (cacheKey: CacheKey) => void);
7
- get<K extends CacheKey<string, any, any>>(type: K["type"], ...args: K["__cacheKey"]["args"]): K;
8
- remove<K extends CacheKey<string, any, any>>(cacheKey: K): void;
8
+ constructor({ onCreate, onDestroy }: {
9
+ onCreate?: (cacheKey: TCacheKey) => void
10
+ onDestroy?: (cacheKey: TCacheKey) => void
11
+ });
12
+ get<K extends TCacheKey>(type: K["type"], ...args: K["__cacheKey"]["args"]): K;
13
+ retain(cacheKey: TCacheKey): void;
14
+ release(cacheKey: TCacheKey): void;
9
15
  }
@@ -1 +1 @@
1
- {"mappings":"AAmBA,cAAc,gBAAgB,eAAgB;AAG9C,cAAc,4BAA4B,2BAA4B;AACtE,cAAc,gCAAgC,+BAAgC;AAI9E,OAAO,cAAM,UAAU;;CAgBrB,YACEA,oBAAoB,0BACpBC,sBAAsB,sBACtBC,WAAWC,UAAU;CA6DvB,IAAI,UAAU,4BACZC,MAAM,EAAE,SACR,GAAG,MAAM,EAAE,cAAc,UACxB;CAMH,OAAO,UAAU,4BACfC,UAAU;AAIb","names":["whereCanonicalizer: WhereClauseCanonicalizer","orderByCanonicalizer: OrderByCanonicalizer","onCreate: (cacheKey: CacheKey) => void","cacheKey: CacheKey","type: K[\"type\"]","cacheKey: K"],"sources":["../../../../src/observable/internal/CacheKeys.ts"],"version":3,"file":"CacheKeys.d.ts"}
1
+ {"mappings":"AAkBA,cAAc,gBAAgB,eAAgB;;;;;AAO9C,OAAO,cAAM,UAAU,kBAAkB,UAAU;;CAwCjD,YACE,EAAE,UAAU,WAGX,EAHwB;EACvB,YAAYA,UAAU;EACtB,aAAaA,UAAU;CACxB;CAwBH,IAAI,UAAU,WACZC,MAAM,EAAE,SACR,GAAG,MAAM,EAAE,cAAc,UACxB;CAsBH,OAAOD,UAAU;CAIjB,QAAQA,UAAU;AAgBnB","names":["cacheKey: TCacheKey","type: K[\"type\"]"],"sources":["../../../../src/observable/internal/CacheKeys.ts"],"version":3,"file":"CacheKeys.d.ts"}
@@ -1,16 +1,21 @@
1
1
  import { MultiMap } from "mnemonist";
2
2
  import type { ObjectHolder } from "../../object/convertWireToOsdkObjects/ObjectHolder.js";
3
- import type { ListCacheKey } from "./ListQuery.js";
4
- import type { ObjectCacheKey } from "./ObjectQuery.js";
3
+ import type { SpecificLinkCacheKey } from "./links/SpecificLinkCacheKey.js";
4
+ import type { ListCacheKey } from "./list/ListCacheKey.js";
5
+ import type { ObjectCacheKey } from "./object/ObjectCacheKey.js";
6
+ import type { ObjectSetCacheKey } from "./objectset/ObjectSetCacheKey.js";
5
7
  export declare class Changes {
6
8
  modifiedObjects: MultiMap<string, ObjectHolder>;
7
9
  addedObjects: MultiMap<string, ObjectHolder>;
8
- added: Set<ListCacheKey | ObjectCacheKey>;
9
- modified: Set<ListCacheKey | ObjectCacheKey>;
10
- deleted: Set<ListCacheKey | ObjectCacheKey>;
10
+ added: Set<ListCacheKey | ObjectCacheKey | SpecificLinkCacheKey | ObjectSetCacheKey>;
11
+ modified: Set<ListCacheKey | ObjectCacheKey | SpecificLinkCacheKey | ObjectSetCacheKey>;
12
+ deleted: Set<ListCacheKey | ObjectCacheKey | SpecificLinkCacheKey | ObjectSetCacheKey>;
11
13
  registerObject: (cacheKey: ObjectCacheKey, data: ObjectHolder, isNew: boolean) => void;
12
14
  deleteObject: (cacheKey: ObjectCacheKey) => void;
13
15
  registerList: (key: ListCacheKey) => void;
16
+ registerLink: (cacheKey: SpecificLinkCacheKey) => void;
17
+ deleteLink: (cacheKey: SpecificLinkCacheKey) => void;
18
+ registerObjectSet: (key: ObjectSetCacheKey) => void;
14
19
  isEmpty(): boolean;
15
20
  }
16
21
  export declare function createChangedObjects(): Changes;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,SAAS,gBAAgB,WAAY;AACrC,cAAc,oBAAoB,uDAAwD;AAG1F,cAAc,oBAAoB,gBAAiB;AACnD,cAAc,sBAAsB,kBAAmB;AAEvD,OAAO,cAAM,QAAQ;CACnB,iBAAiB,iBAAiB;CAClC,cAAc,iBAAiB;CAE/B,OAAO,IAAI,eAAe;CAC1B,UAAU,IAAI,eAAe;CAC7B,SAAS,IAAI,eAAe;CAE5B,iBACEA,UAAU,gBACVC,MAAM,cACNC;CAMF,eAAgBF,UAAU;CAI1B,eAAgBG,KAAK;CAIrB;AASD;AAED,OAAO,iBAAS,wBAAwB;AAIxC,OAAO,iBAAS,4BAA4BC,SAAS","names":["cacheKey: ObjectCacheKey","data: ObjectHolder","isNew: boolean","key: ListCacheKey","changes: Changes"],"sources":["../../../../src/observable/internal/Changes.ts"],"version":3,"file":"Changes.d.ts"}
1
+ {"mappings":"AAgBA,SAAS,gBAAgB,WAAY;AACrC,cAAc,oBAAoB,uDAAwD;AAG1F,cAAc,4BAA4B,iCAAkC;AAC5E,cAAc,oBAAoB,wBAAyB;AAC3D,cAAc,sBAAsB,4BAA6B;AACjE,cAAc,yBAAyB,kCAAmC;AAE1E,OAAO,cAAM,QAAQ;CACnB,iBAAiB,iBAAiB;CAClC,cAAc,iBAAiB;CAE/B,OAAO,IACL,eAAe,iBAAiB,uBAAuB;CAEzD,UAAU,IACR,eAAe,iBAAiB,uBAAuB;CAEzD,SAAS,IACP,eAAe,iBAAiB,uBAAuB;CAGzD,iBACEA,UAAU,gBACVC,MAAM,cACNC;CAMF,eAAgBF,UAAU;CAI1B,eAAgBG,KAAK;CAIrB,eAAgBC,UAAU;CAI1B,aAAcA,UAAU;CAIxB,oBAAqBC,KAAK;CAI1B;AASD;AAED,OAAO,iBAAS,wBAAwB;AAIxC,OAAO,iBAAS,4BAA4BC,SAAS","names":["cacheKey: ObjectCacheKey","data: ObjectHolder","isNew: boolean","key: ListCacheKey","cacheKey: SpecificLinkCacheKey","key: ObjectSetCacheKey","changes: Changes"],"sources":["../../../../src/observable/internal/Changes.ts"],"version":3,"file":"Changes.d.ts"}
@@ -0,0 +1,5 @@
1
+ import type { SpecificLinkCacheKey } from "./links/SpecificLinkCacheKey.js";
2
+ import type { ListCacheKey } from "./list/ListCacheKey.js";
3
+ import type { ObjectCacheKey } from "./object/ObjectCacheKey.js";
4
+ import type { ObjectSetCacheKey } from "./objectset/ObjectSetCacheKey.js";
5
+ export type KnownCacheKey = ObjectCacheKey | SpecificLinkCacheKey | ListCacheKey | ObjectSetCacheKey;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,4BAA4B,iCAAkC;AAC5E,cAAc,oBAAoB,wBAAyB;AAC3D,cAAc,sBAAsB,4BAA6B;AACjE,cAAc,yBAAyB,kCAAmC;AAE1E,YAAY,gBACR,iBACA,uBACA,eACA","names":[],"sources":["../../../../src/observable/internal/KnownCacheKey.ts"],"version":3,"file":"KnownCacheKey.d.ts"}
@@ -1,4 +1,4 @@
1
- import type { CacheKey } from "./CacheKey.js";
1
+ import type { KnownCacheKey } from "./KnownCacheKey.js";
2
2
  export declare class Layer {
3
3
  #private;
4
4
  constructor(parent: Layer | undefined, layerId: unknown);
@@ -6,15 +6,14 @@ export declare class Layer {
6
6
  get layerId(): unknown;
7
7
  addLayer(layerId: unknown): Layer;
8
8
  removeLayer(layerId: unknown): Layer;
9
- entries(): IterableIterator<[CacheKey<string, any, any>, Entry<any>]>;
10
- keys(): IterableIterator<CacheKey<string, any, any>>;
11
- get<K extends CacheKey<string, unknown, any>>(cacheKey: K): Entry<K> | undefined;
12
- set<K extends CacheKey<string, unknown, any>>(cacheKey: K, value: Entry<K>): void;
9
+ entries(): IterableIterator<[KnownCacheKey, Entry<any>]>;
10
+ keys(): IterableIterator<KnownCacheKey>;
11
+ get<K extends KnownCacheKey>(cacheKey: K): Entry<K> | undefined;
12
+ set<K extends KnownCacheKey>(cacheKey: K, value: Entry<K>): void;
13
13
  }
14
- export declare class Entry<K extends CacheKey<any, any, any>> {
14
+ export interface Entry<K extends KnownCacheKey> {
15
15
  readonly cacheKey: K;
16
16
  value: K["__cacheKey"]["value"] | undefined;
17
17
  lastUpdated: number;
18
18
  status: "init" | "loading" | "loaded" | "error";
19
- constructor(cacheKey: K, value: K["__cacheKey"]["value"], lastUpdated: number, status?: "init" | "loading" | "loaded" | "error");
20
19
  }
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,gBAAgB,eAAgB;AAc9C,OAAO,cAAM,MAAM;;CAKjB,YAAYA,QAAQ,mBAAmBC;CAKvC,IAAI,eAAe;CAInB,IAAI;CAIJ,SAASA,mBAAmB;CAI5B,YAAYA,mBAAmB;CAc/B,WAAW,kBAAkB,4BAA4B;CAIzD,QAAQ,iBAAiB;CAIzB,AAAO,IAAI,UAAU,gCACnBC,UAAU,IACT,MAAM;CAKT,AAAO,IAAI,UAAU,gCACnBA,UAAU,GACVC,OAAO,MAAM;AAIhB;AAED,OAAO,cAAM,MAAM,UAAU,yBAAyB;CACpD,SAAS,UAAU;CACnB,OAAO,EAAE,cAAc;CACvB;CACA,QAAQ,SAAS,YAAY,WAAW;CAExC,YACED,UAAU,GACVE,OAAO,EAAE,cAAc,UACvBC,qBACAC,SAAQ,SAAS,YAAY,WAAW;AAO3C","names":["parent: Layer | undefined","layerId: unknown","cacheKey: K","value: Entry<K>","value: K[\"__cacheKey\"][\"value\"]","lastUpdated: number","status: \"init\" | \"loading\" | \"loaded\" | \"error\""],"sources":["../../../../src/observable/internal/Layer.ts"],"version":3,"file":"Layer.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,qBAAqB,oBAAqB;AAcxD,OAAO,cAAM,MAAM;;CAKjB,YAAYA,QAAQ,mBAAmBC;CAKvC,IAAI,eAAe;CAInB,IAAI;CAIJ,SAASA,mBAAmB;CAI5B,YAAYA,mBAAmB;CAc/B,WAAW,kBAAkB,eAAe;CAI5C,QAAQ,iBAAiB;CAIzB,AAAO,IAAI,UAAU,eACnBC,UAAU,IACT,MAAM;CAKT,AAAO,IAAI,UAAU,eACnBA,UAAU,GACVC,OAAO,MAAM;AAIhB;AAED,iBAAiB,MAAM,UAAU,eAAe;UACrC,UAAU;CACnB,OAAO,EAAE,cAAc;CACvB;CACA,QAAQ,SAAS,YAAY,WAAW;AACzC","names":["parent: Layer | undefined","layerId: unknown","cacheKey: K","value: Entry<K>"],"sources":["../../../../src/observable/internal/Layer.ts"],"version":3,"file":"Layer.d.ts"}
@@ -0,0 +1,26 @@
1
+ import type { Logger } from "@osdk/api";
2
+ import type { BatchContext } from "./BatchContext.js";
3
+ import { type Changes } from "./Changes.js";
4
+ import { Layer } from "./Layer.js";
5
+ import type { OptimisticId } from "./OptimisticId.js";
6
+ import { Subjects } from "./Subjects.js";
7
+ export declare class Layers {
8
+ #private;
9
+ logger?: Logger;
10
+ readonly subjects: Subjects;
11
+ constructor({ logger, onRevalidate }: {
12
+ logger?: Logger
13
+ onRevalidate: (changes: Changes, optimisticId?: OptimisticId) => Promise<void>
14
+ });
15
+ get top(): Layer;
16
+ get truth(): Layer;
17
+ remove(layerId: OptimisticId): void;
18
+ batch<X>({ optimisticId, changes }: {
19
+ optimisticId?: OptimisticId
20
+ changes: Changes
21
+ }, batchFn: (batchContext: BatchContext) => X): {
22
+ batchResult: BatchContext
23
+ retVal: X
24
+ changes: Changes
25
+ };
26
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,cAAc,WAAY;AAExC,cAAc,oBAAoB,mBAAoB;AACtD,cAAc,eAAe,cAAe;AAI5C,SAAS,aAAa,YAAa;AACnC,cAAc,oBAAoB,mBAAoB;AACtD,SAAS,gBAAgB,eAAgB;AAGzC,OAAO,cAAM,OAAO;;CAQlB,SAAS;CAET,SAAS,UAAU;CAEnB,YACE,EAAE,QAAQ,cAMT,EANyB;EACxB,SAAS;EACT,eACEA,SAAS,SACTC,eAAe,iBACZ;CACN;CAQH,IAAI,OAAO;CAIX,IAAI,SAAS;CAIb,OAAOC,SAAS;CA2ChB,AAAO,MAAM,GACX,EAAE,cAAc,SAGf,EAH0B;EACzB,eAAe;EACf,SAAS;CACV,GACDC,UAAUC,cAAc,iBAAiB,IACxC;EACD,aAAa;EACb,QAAQ;EACR,SAAS;CACV;AA2FF","names":["changes: Changes","optimisticId?: OptimisticId","layerId: OptimisticId","batchFn: (batchContext: BatchContext) => X","batchContext: BatchContext"],"sources":["../../../../src/observable/internal/Layers.ts"],"version":3,"file":"Layers.d.ts"}
@@ -1,11 +1,4 @@
1
1
  import type { Canonical } from "./Canonical.js";
2
- export declare class WeakRefTrie<X extends object> {
3
- #private;
4
- constructor(makeData?: (array: any[]) => X);
5
- lookupArray<T extends IArguments | any[]>(array: T): X;
6
- peekArray<T extends IArguments | any[]>(array: T): X | undefined;
7
- removeArray<T extends IArguments | any[]>(array: T): X | undefined;
8
- }
9
2
  export declare class OrderByCanonicalizer {
10
3
  #private;
11
4
  canonicalize: (orderBy: Record<string, "asc" | "desc" | undefined>) => Canonical<Record<string, "asc" | "desc" | undefined>>;
@@ -1 +1 @@
1
- {"mappings":"AAmBA,cAAc,iBAAiB,gBAAiB;AAIhD,OAAO,cAAM,YAAY,kBAAkB;;CAWzC,YAAYA,YAAWC,iBAAiB;CAWxC,YAAY,UAAU,oBAAoBC,OAAO,IAAI;CAWrD,UAAU,UAAU,oBAAoBA,OAAO,IAAI;CAUnD,YAAY,UAAU,oBAAoBA,OAAO,IAAI;AAGtD;AAED,OAAO,cAAM,qBAAqB;;CA0BhC,eACEC,SAAS,eAAe,QAAQ,wBAC7B,UAAU,eAAe,QAAQ;AAMvC","names":["makeData: (array: any[]) => X","array: any[]","array: T","orderBy: Record<string, \"asc\" | \"desc\" | undefined>"],"sources":["../../../../src/observable/internal/OrderByCanonicalizer.ts"],"version":3,"file":"OrderByCanonicalizer.d.ts"}
1
+ {"mappings":"AAkBA,cAAc,iBAAiB,gBAAiB;AAGhD,OAAO,cAAM,qBAAqB;;CA0BhC,eACEA,SAAS,eAAe,QAAQ,wBAC7B,UAAU,eAAe,QAAQ;AAMvC","names":["orderBy: Record<string, \"asc\" | \"desc\" | undefined>"],"sources":["../../../../src/observable/internal/OrderByCanonicalizer.ts"],"version":3,"file":"OrderByCanonicalizer.d.ts"}
@@ -0,0 +1,9 @@
1
+ import type { KnownCacheKey } from "./KnownCacheKey.js";
2
+ import type { Query } from "./Query.js";
3
+ export declare class Queries {
4
+ map: Map<KnownCacheKey, Query<any, any, any>>;
5
+ peek<K extends KnownCacheKey>(cacheKey: K): K["__cacheKey"]["query"] | undefined;
6
+ get<K extends KnownCacheKey>(cacheKey: K, createQuery: () => K["__cacheKey"]["query"]): K["__cacheKey"]["query"];
7
+ keys(): IterableIterator<KnownCacheKey>;
8
+ delete<K extends KnownCacheKey>(cacheKey: K): void;
9
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,qBAAqB,oBAAqB;AACxD,cAAc,aAAa,YAAa;AAExC,OAAO,cAAM,QAAQ;CAGnB,KAAK,IACH,eACA;CAGF,KAAK,UAAU,eACbA,UAAU,IACT,EAAE,cAAc;CAInB,IAAI,UAAU,eACZA,UAAU,GACVC,mBAAmB,EAAE,cAAc,WAClC,EAAE,cAAc;CASnB,QAAQ,iBAAiB;CAIzB,OAAO,UAAU,eAAeD,UAAU;AAI3C","names":["cacheKey: K","createQuery: () => K[\"__cacheKey\"][\"query\"]"],"sources":["../../../../src/observable/internal/Queries.ts"],"version":3,"file":"Queries.d.ts"}
@@ -1,28 +1,44 @@
1
1
  import type { Logger } from "@osdk/api";
2
2
  import type { Connectable, Observable, Observer, Subscribable, Subscription } from "rxjs";
3
- import type { CommonObserveOptions, Status } from "../ObservableClient.js";
4
- import type { CacheKey } from "./CacheKey.js";
3
+ import type { CommonObserveOptions, Status } from "../ObservableClient/common.js";
4
+ import type { BatchContext } from "./BatchContext.js";
5
+ import type { CacheKeys } from "./CacheKeys.js";
5
6
  import type { Changes } from "./Changes.js";
7
+ import type { KnownCacheKey } from "./KnownCacheKey.js";
6
8
  import type { Entry } from "./Layer.js";
7
9
  import type { OptimisticId } from "./OptimisticId.js";
8
- import type { BatchContext, Store, SubjectPayload } from "./Store.js";
10
+ import type { Store } from "./Store.js";
11
+ import type { SubjectPayload } from "./SubjectPayload.js";
9
12
  export declare abstract class Query<
10
- KEY extends CacheKey,
13
+ KEY extends KnownCacheKey,
11
14
  PAYLOAD,
12
15
  O extends CommonObserveOptions
13
16
  > implements Subscribable<PAYLOAD> {
14
17
  #private;
15
18
  lastFetchStarted?: number;
16
- pendingFetch?: Promise<unknown>;
19
+ pendingFetch?: Promise<void>;
17
20
  retainCount: number;
18
21
  options: O;
19
22
  cacheKey: KEY;
20
23
  store: Store;
21
24
  abortController?: AbortController;
25
+ protected readonly cacheKeys: CacheKeys<KnownCacheKey>;
22
26
  constructor(store: Store, observable: Observable<SubjectPayload<KEY>>, opts: O, cacheKey: KEY, logger?: Logger);
23
27
  protected abstract _createConnectable(subject: Observable<SubjectPayload<KEY>>): Connectable<PAYLOAD>;
24
28
  subscribe(observer: Observer<PAYLOAD>): Subscription;
25
29
  /**
30
+ * Register a subscription's dedupeInterval value
31
+ */
32
+ registerSubscriptionDedupeInterval(subscriptionId: string, dedupeInterval: number | undefined): void;
33
+ /**
34
+ * Unregister a subscription's dedupeInterval value
35
+ */
36
+ unregisterSubscriptionDedupeInterval(subscriptionId: string): void;
37
+ /**
38
+ * Get the minimum dedupeInterval from all active subscriptions
39
+ */
40
+ private getMinimumDedupeInterval;
41
+ /**
26
42
  * Causes the query to revalidate. This will cause the query to fetch
27
43
  * the latest data from the server and update the store if it is deemed
28
44
  * "stale" or if `force` is true.
@@ -32,7 +48,7 @@ export declare abstract class Query<
32
48
  */
33
49
  revalidate(force?: boolean): Promise<void>;
34
50
  protected _preFetch(): void;
35
- protected abstract _fetchAndStore(): Promise<unknown>;
51
+ protected abstract _fetchAndStore(): Promise<void>;
36
52
  /**
37
53
  * Sets the status of the query in the store (but does not store that in `changes`).
38
54
  *
@@ -62,4 +78,5 @@ export declare abstract class Query<
62
78
  * revalidation is complete. Otherwise, undefined.
63
79
  */
64
80
  maybeUpdateAndRevalidate?: (changes: Changes, optimisticId: OptimisticId | undefined) => Promise<void> | undefined;
81
+ abstract invalidateObjectType(objectType: string, changes: Changes | undefined): Promise<void>;
65
82
  }