@osdk/client 2.4.2 → 2.5.0-beta.10

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 (521) hide show
  1. package/CHANGELOG.md +106 -93
  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/derivedProperties/createWithPropertiesObjectSet.js +17 -0
  12. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  13. package/build/browser/fetchMetadata.test.js +11 -0
  14. package/build/browser/fetchMetadata.test.js.map +1 -1
  15. package/build/browser/index.js +3 -1
  16. package/build/browser/index.js.map +1 -1
  17. package/build/browser/intellisense.test.helpers/orderBySuggestionIsRight.js +8 -1
  18. package/build/browser/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -1
  19. package/build/browser/intellisense.test.js +14 -4
  20. package/build/browser/intellisense.test.js.map +1 -1
  21. package/build/browser/object/Cache.js +1 -1
  22. package/build/browser/object/Cache.js.map +1 -1
  23. package/build/browser/object/Cache.test.js +1 -1
  24. package/build/browser/object/Cache.test.js.map +1 -1
  25. package/build/browser/object/SimpleCache.js +1 -1
  26. package/build/browser/object/SimpleCache.js.map +1 -1
  27. package/build/browser/object/aggregate.js +2 -0
  28. package/build/browser/object/aggregate.js.map +1 -1
  29. package/build/browser/object/aggregate.test.js +30 -0
  30. package/build/browser/object/aggregate.test.js.map +1 -1
  31. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +1 -0
  32. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  33. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +6 -0
  34. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  35. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +20 -1
  36. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  37. package/build/browser/object/convertWireToOsdkObjects.js +4 -0
  38. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  39. package/build/browser/object/convertWireToOsdkObjects.test.js +14 -0
  40. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  41. package/build/browser/object/fetchPage.js +96 -21
  42. package/build/browser/object/fetchPage.js.map +1 -1
  43. package/build/browser/object/fetchPage.test.js +35 -1
  44. package/build/browser/object/fetchPage.test.js.map +1 -1
  45. package/build/browser/object/geotimeseriesreference.test.js +0 -2
  46. package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
  47. package/build/browser/object/mediaUpload.js +3 -0
  48. package/build/browser/object/mediaUpload.js.map +1 -1
  49. package/build/browser/objectSet/ObjectSet.test.js +6 -0
  50. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  51. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +31 -9
  52. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  53. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +69 -4
  54. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  55. package/build/browser/objectSet/createObjectSet.js +3 -1
  56. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  57. package/build/browser/observable/LinkPayload.js +2 -0
  58. package/build/browser/observable/LinkPayload.js.map +1 -0
  59. package/build/browser/observable/ObjectPayload.js.map +1 -1
  60. package/build/browser/observable/ObservableClient/ObserveLink.js +17 -0
  61. package/build/browser/observable/ObservableClient/ObserveLink.js.map +1 -0
  62. package/build/browser/observable/ObservableClient/common.js +2 -0
  63. package/build/browser/observable/ObservableClient/common.js.map +1 -0
  64. package/build/browser/observable/ObservableClient.js +20 -0
  65. package/build/browser/observable/ObservableClient.js.map +1 -1
  66. package/build/browser/observable/Unsubscribable.js +2 -0
  67. package/build/browser/observable/Unsubscribable.js.map +1 -0
  68. package/build/browser/observable/internal/AbstractHelper.js +54 -0
  69. package/build/browser/observable/internal/AbstractHelper.js.map +1 -0
  70. package/build/browser/observable/internal/BatchContext.js +2 -0
  71. package/build/browser/observable/internal/BatchContext.js.map +1 -0
  72. package/build/browser/observable/internal/BulkObjectLoader.js +3 -3
  73. package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -1
  74. package/build/browser/observable/internal/CacheKeys.js +65 -25
  75. package/build/browser/observable/internal/CacheKeys.js.map +1 -1
  76. package/build/browser/observable/internal/Changes.js +6 -0
  77. package/build/browser/observable/internal/Changes.js.map +1 -1
  78. package/build/browser/observable/internal/KnownCacheKey.js +2 -0
  79. package/build/browser/observable/internal/KnownCacheKey.js.map +1 -0
  80. package/build/browser/observable/internal/Layer.js +0 -8
  81. package/build/browser/observable/internal/Layer.js.map +1 -1
  82. package/build/browser/observable/internal/Layers.js +151 -0
  83. package/build/browser/observable/internal/Layers.js.map +1 -0
  84. package/build/browser/observable/internal/ObservableClientImpl.js +54 -3
  85. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  86. package/build/browser/observable/internal/OrderByCanonicalizer.js +1 -37
  87. package/build/browser/observable/internal/OrderByCanonicalizer.js.map +1 -1
  88. package/build/browser/observable/internal/Queries.js +40 -0
  89. package/build/browser/observable/internal/Queries.js.map +1 -0
  90. package/build/browser/observable/internal/Query.js +45 -4
  91. package/build/browser/observable/internal/Query.js.map +1 -1
  92. package/build/browser/observable/internal/QuerySubscription.js +48 -0
  93. package/build/browser/observable/internal/QuerySubscription.js.map +1 -0
  94. package/build/browser/observable/internal/Store.invalidation.test.js +646 -0
  95. package/build/browser/observable/internal/Store.invalidation.test.js.map +1 -0
  96. package/build/browser/observable/internal/Store.js +87 -308
  97. package/build/browser/observable/internal/Store.js.map +1 -1
  98. package/build/browser/observable/internal/Store.test.js +330 -73
  99. package/build/browser/observable/internal/Store.test.js.map +1 -1
  100. package/build/browser/observable/internal/SubjectPayload.js +2 -0
  101. package/build/browser/observable/internal/SubjectPayload.js.map +1 -0
  102. package/build/browser/observable/internal/Subjects.js +55 -0
  103. package/build/browser/observable/internal/Subjects.js.map +1 -0
  104. package/build/browser/observable/internal/UnsubscribableWrapper.js +30 -0
  105. package/build/browser/observable/internal/UnsubscribableWrapper.js.map +1 -0
  106. package/build/browser/observable/internal/WeakRefTrie.js +61 -0
  107. package/build/browser/observable/internal/WeakRefTrie.js.map +1 -0
  108. package/build/browser/observable/internal/{ActionApplication.js → actions/ActionApplication.js} +2 -2
  109. package/build/browser/observable/internal/actions/ActionApplication.js.map +1 -0
  110. package/build/{esm/observable/internal → browser/observable/internal/actions}/OptimisticJob.js +15 -6
  111. package/build/browser/observable/internal/actions/OptimisticJob.js.map +1 -0
  112. package/build/browser/observable/internal/base-list/BaseCollectionQuery.js +2 -0
  113. package/build/browser/observable/internal/base-list/BaseCollectionQuery.js.map +1 -0
  114. package/build/browser/observable/internal/base-list/BaseListQuery.js +411 -0
  115. package/build/browser/observable/internal/base-list/BaseListQuery.js.map +1 -0
  116. package/build/browser/observable/internal/base-list/createCollectionConnectable.js +50 -0
  117. package/build/browser/observable/internal/base-list/createCollectionConnectable.js.map +1 -0
  118. package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js +597 -0
  119. package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -0
  120. package/build/browser/observable/internal/base-list/removeDuplicates.js +36 -0
  121. package/build/browser/observable/internal/base-list/removeDuplicates.js.map +1 -0
  122. package/build/browser/observable/internal/createInitEntry.js +25 -0
  123. package/build/browser/observable/internal/createInitEntry.js.map +1 -0
  124. package/build/browser/observable/internal/getObjectTypesThatInvalidate.js +216 -0
  125. package/build/browser/observable/internal/getObjectTypesThatInvalidate.js.map +1 -0
  126. package/build/browser/observable/internal/getObjectTypesThatInvalidate.test.js +382 -0
  127. package/build/browser/observable/internal/getObjectTypesThatInvalidate.test.js.map +1 -0
  128. package/build/browser/observable/internal/isObjectInstance.js +23 -0
  129. package/build/browser/observable/internal/isObjectInstance.js.map +1 -0
  130. package/build/browser/observable/internal/links/LinksHelper.js +37 -0
  131. package/build/browser/observable/internal/links/LinksHelper.js.map +1 -0
  132. package/build/browser/observable/internal/links/SpecificLinkCacheKey.js +2 -0
  133. package/build/browser/observable/internal/links/SpecificLinkCacheKey.js.map +1 -0
  134. package/build/browser/observable/internal/links/SpecificLinkQuery.js +185 -0
  135. package/build/browser/observable/internal/links/SpecificLinkQuery.js.map +1 -0
  136. package/build/browser/observable/internal/list/InterfaceListQuery.js +83 -0
  137. package/build/browser/observable/internal/list/InterfaceListQuery.js.map +1 -0
  138. package/build/browser/observable/internal/list/ListCacheKey.js +2 -0
  139. package/build/browser/observable/internal/list/ListCacheKey.js.map +1 -0
  140. package/build/browser/observable/internal/list/ListQuery.js +372 -0
  141. package/build/browser/observable/internal/list/ListQuery.js.map +1 -0
  142. package/build/browser/observable/internal/list/ListQueryOptions.js +2 -0
  143. package/build/browser/observable/internal/list/ListQueryOptions.js.map +1 -0
  144. package/build/browser/observable/internal/list/ListsHelper.js +51 -0
  145. package/build/browser/observable/internal/list/ListsHelper.js.map +1 -0
  146. package/build/browser/observable/internal/list/ObjectListQuery.js +48 -0
  147. package/build/browser/observable/internal/list/ObjectListQuery.js.map +1 -0
  148. package/build/browser/observable/internal/object/ObjectCacheKey.js +2 -0
  149. package/build/browser/observable/internal/object/ObjectCacheKey.js.map +1 -0
  150. package/build/browser/observable/internal/{ObjectQuery.js → object/ObjectQuery.js} +27 -18
  151. package/build/browser/observable/internal/object/ObjectQuery.js.map +1 -0
  152. package/build/browser/observable/internal/object/ObjectsHelper.js +48 -0
  153. package/build/browser/observable/internal/object/ObjectsHelper.js.map +1 -0
  154. package/build/browser/observable/internal/sorting/SortingStrategy.js +78 -0
  155. package/build/browser/observable/internal/sorting/SortingStrategy.js.map +1 -0
  156. package/build/browser/observable/internal/testUtils/invalidateList.js +23 -0
  157. package/build/browser/observable/internal/testUtils/invalidateList.js.map +1 -0
  158. package/build/browser/observable/internal/testUtils/observeLink/expectStandardObserveLink.js +69 -0
  159. package/build/browser/observable/internal/testUtils/observeLink/expectStandardObserveLink.js.map +1 -0
  160. package/build/browser/observable/internal/testUtils/observeObject/expectStandardObserveObject.js +56 -0
  161. package/build/browser/observable/internal/testUtils/observeObject/expectStandardObserveObject.js.map +1 -0
  162. package/build/browser/observable/internal/testUtils.js +72 -10
  163. package/build/browser/observable/internal/testUtils.js.map +1 -1
  164. package/build/browser/ontology/loadActionMetadata.js +3 -1
  165. package/build/browser/ontology/loadActionMetadata.js.map +1 -1
  166. package/build/browser/ontology/loadFullObjectMetadata.js +2 -1
  167. package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
  168. package/build/browser/ontology/loadInterfaceMetadata.js +2 -1
  169. package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -1
  170. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  171. package/build/browser/util/UserAgent.js +2 -2
  172. package/build/browser/util/UserAgent.js.map +1 -1
  173. package/build/browser/util/exponentialBackoff.js +51 -0
  174. package/build/browser/util/exponentialBackoff.js.map +1 -0
  175. package/build/browser/util/exponentialBackoff.test.js +81 -0
  176. package/build/browser/util/exponentialBackoff.test.js.map +1 -0
  177. package/build/browser/util/extractObjectOrInterfaceType.js +9 -1
  178. package/build/browser/util/extractObjectOrInterfaceType.js.map +1 -1
  179. package/build/browser/util/extractObjectOrInterfaceType.test.js +2 -2
  180. package/build/browser/util/extractObjectOrInterfaceType.test.js.map +1 -1
  181. package/build/browser/util/streamutils.js +1 -1
  182. package/build/browser/util/streamutils.js.map +1 -1
  183. package/build/browser/util/toDataValue.js +15 -1
  184. package/build/browser/util/toDataValue.js.map +1 -1
  185. package/build/browser/util/toDataValue.test.js +42 -2
  186. package/build/browser/util/toDataValue.test.js.map +1 -1
  187. package/build/cjs/{chunk-633AI7EA.cjs → chunk-GVGP7T5P.cjs} +407 -257
  188. package/build/cjs/chunk-GVGP7T5P.cjs.map +1 -0
  189. package/build/cjs/{chunk-26WFEZQO.cjs → chunk-YADG7KA6.cjs} +136 -84
  190. package/build/cjs/chunk-YADG7KA6.cjs.map +1 -0
  191. package/build/cjs/{createClient-BJo8T7Js.d.cts → createClient-mOlFts15.d.cts} +1 -0
  192. package/build/cjs/index.cjs +11 -7
  193. package/build/cjs/index.d.cts +2 -2
  194. package/build/cjs/public/internal.cjs +8 -8
  195. package/build/cjs/public/unstable-do-not-use.cjs +1502 -851
  196. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  197. package/build/cjs/public/unstable-do-not-use.d.cts +183 -13
  198. package/build/esm/Client.js +1 -1
  199. package/build/esm/Client.js.map +1 -1
  200. package/build/esm/MinimalClientContext.js.map +1 -1
  201. package/build/esm/actions/applyAction.js +4 -0
  202. package/build/esm/actions/applyAction.js.map +1 -1
  203. package/build/esm/createClient.js +6 -2
  204. package/build/esm/createClient.js.map +1 -1
  205. package/build/esm/createMinimalClient.js +2 -1
  206. package/build/esm/createMinimalClient.js.map +1 -1
  207. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js +17 -0
  208. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  209. package/build/esm/fetchMetadata.test.js +11 -0
  210. package/build/esm/fetchMetadata.test.js.map +1 -1
  211. package/build/esm/index.js +3 -1
  212. package/build/esm/index.js.map +1 -1
  213. package/build/esm/intellisense.test.helpers/orderBySuggestionIsRight.js +8 -1
  214. package/build/esm/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -1
  215. package/build/esm/intellisense.test.js +14 -4
  216. package/build/esm/intellisense.test.js.map +1 -1
  217. package/build/esm/object/Cache.js +1 -1
  218. package/build/esm/object/Cache.js.map +1 -1
  219. package/build/esm/object/Cache.test.js +1 -1
  220. package/build/esm/object/Cache.test.js.map +1 -1
  221. package/build/esm/object/SimpleCache.js +1 -1
  222. package/build/esm/object/SimpleCache.js.map +1 -1
  223. package/build/esm/object/aggregate.js +2 -0
  224. package/build/esm/object/aggregate.js.map +1 -1
  225. package/build/esm/object/aggregate.test.js +30 -0
  226. package/build/esm/object/aggregate.test.js.map +1 -1
  227. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +1 -0
  228. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  229. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +6 -0
  230. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
  231. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +20 -1
  232. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  233. package/build/esm/object/convertWireToOsdkObjects.js +4 -0
  234. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  235. package/build/esm/object/convertWireToOsdkObjects.test.js +14 -0
  236. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  237. package/build/esm/object/fetchPage.js +96 -21
  238. package/build/esm/object/fetchPage.js.map +1 -1
  239. package/build/esm/object/fetchPage.test.js +35 -1
  240. package/build/esm/object/fetchPage.test.js.map +1 -1
  241. package/build/esm/object/geotimeseriesreference.test.js +0 -2
  242. package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
  243. package/build/esm/object/mediaUpload.js +3 -0
  244. package/build/esm/object/mediaUpload.js.map +1 -1
  245. package/build/esm/objectSet/ObjectSet.test.js +6 -0
  246. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  247. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +31 -9
  248. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  249. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +69 -4
  250. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  251. package/build/esm/objectSet/createObjectSet.js +3 -1
  252. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  253. package/build/esm/observable/LinkPayload.js +2 -0
  254. package/build/esm/observable/LinkPayload.js.map +1 -0
  255. package/build/esm/observable/ObjectPayload.js.map +1 -1
  256. package/build/esm/observable/ObservableClient/ObserveLink.js +17 -0
  257. package/build/esm/observable/ObservableClient/ObserveLink.js.map +1 -0
  258. package/build/esm/observable/ObservableClient/common.js +2 -0
  259. package/build/esm/observable/ObservableClient/common.js.map +1 -0
  260. package/build/esm/observable/ObservableClient.js +20 -0
  261. package/build/esm/observable/ObservableClient.js.map +1 -1
  262. package/build/esm/observable/Unsubscribable.js +2 -0
  263. package/build/esm/observable/Unsubscribable.js.map +1 -0
  264. package/build/esm/observable/internal/AbstractHelper.js +54 -0
  265. package/build/esm/observable/internal/AbstractHelper.js.map +1 -0
  266. package/build/esm/observable/internal/BatchContext.js +2 -0
  267. package/build/esm/observable/internal/BatchContext.js.map +1 -0
  268. package/build/esm/observable/internal/BulkObjectLoader.js +3 -3
  269. package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -1
  270. package/build/esm/observable/internal/CacheKeys.js +65 -25
  271. package/build/esm/observable/internal/CacheKeys.js.map +1 -1
  272. package/build/esm/observable/internal/Changes.js +6 -0
  273. package/build/esm/observable/internal/Changes.js.map +1 -1
  274. package/build/esm/observable/internal/KnownCacheKey.js +2 -0
  275. package/build/esm/observable/internal/KnownCacheKey.js.map +1 -0
  276. package/build/esm/observable/internal/Layer.js +0 -8
  277. package/build/esm/observable/internal/Layer.js.map +1 -1
  278. package/build/esm/observable/internal/Layers.js +151 -0
  279. package/build/esm/observable/internal/Layers.js.map +1 -0
  280. package/build/esm/observable/internal/ObservableClientImpl.js +54 -3
  281. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  282. package/build/esm/observable/internal/OrderByCanonicalizer.js +1 -37
  283. package/build/esm/observable/internal/OrderByCanonicalizer.js.map +1 -1
  284. package/build/esm/observable/internal/Queries.js +40 -0
  285. package/build/esm/observable/internal/Queries.js.map +1 -0
  286. package/build/esm/observable/internal/Query.js +45 -4
  287. package/build/esm/observable/internal/Query.js.map +1 -1
  288. package/build/esm/observable/internal/QuerySubscription.js +48 -0
  289. package/build/esm/observable/internal/QuerySubscription.js.map +1 -0
  290. package/build/esm/observable/internal/Store.invalidation.test.js +646 -0
  291. package/build/esm/observable/internal/Store.invalidation.test.js.map +1 -0
  292. package/build/esm/observable/internal/Store.js +87 -308
  293. package/build/esm/observable/internal/Store.js.map +1 -1
  294. package/build/esm/observable/internal/Store.test.js +330 -73
  295. package/build/esm/observable/internal/Store.test.js.map +1 -1
  296. package/build/esm/observable/internal/SubjectPayload.js +2 -0
  297. package/build/esm/observable/internal/SubjectPayload.js.map +1 -0
  298. package/build/esm/observable/internal/Subjects.js +55 -0
  299. package/build/esm/observable/internal/Subjects.js.map +1 -0
  300. package/build/esm/observable/internal/UnsubscribableWrapper.js +30 -0
  301. package/build/esm/observable/internal/UnsubscribableWrapper.js.map +1 -0
  302. package/build/esm/observable/internal/WeakRefTrie.js +61 -0
  303. package/build/esm/observable/internal/WeakRefTrie.js.map +1 -0
  304. package/build/esm/observable/internal/{ActionApplication.js → actions/ActionApplication.js} +2 -2
  305. package/build/esm/observable/internal/actions/ActionApplication.js.map +1 -0
  306. package/build/{browser/observable/internal → esm/observable/internal/actions}/OptimisticJob.js +15 -6
  307. package/build/esm/observable/internal/actions/OptimisticJob.js.map +1 -0
  308. package/build/esm/observable/internal/base-list/BaseCollectionQuery.js +2 -0
  309. package/build/esm/observable/internal/base-list/BaseCollectionQuery.js.map +1 -0
  310. package/build/esm/observable/internal/base-list/BaseListQuery.js +411 -0
  311. package/build/esm/observable/internal/base-list/BaseListQuery.js.map +1 -0
  312. package/build/esm/observable/internal/base-list/createCollectionConnectable.js +50 -0
  313. package/build/esm/observable/internal/base-list/createCollectionConnectable.js.map +1 -0
  314. package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js +597 -0
  315. package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -0
  316. package/build/esm/observable/internal/base-list/removeDuplicates.js +36 -0
  317. package/build/esm/observable/internal/base-list/removeDuplicates.js.map +1 -0
  318. package/build/esm/observable/internal/createInitEntry.js +25 -0
  319. package/build/esm/observable/internal/createInitEntry.js.map +1 -0
  320. package/build/esm/observable/internal/getObjectTypesThatInvalidate.js +216 -0
  321. package/build/esm/observable/internal/getObjectTypesThatInvalidate.js.map +1 -0
  322. package/build/esm/observable/internal/getObjectTypesThatInvalidate.test.js +382 -0
  323. package/build/esm/observable/internal/getObjectTypesThatInvalidate.test.js.map +1 -0
  324. package/build/esm/observable/internal/isObjectInstance.js +23 -0
  325. package/build/esm/observable/internal/isObjectInstance.js.map +1 -0
  326. package/build/esm/observable/internal/links/LinksHelper.js +37 -0
  327. package/build/esm/observable/internal/links/LinksHelper.js.map +1 -0
  328. package/build/esm/observable/internal/links/SpecificLinkCacheKey.js +2 -0
  329. package/build/esm/observable/internal/links/SpecificLinkCacheKey.js.map +1 -0
  330. package/build/esm/observable/internal/links/SpecificLinkQuery.js +185 -0
  331. package/build/esm/observable/internal/links/SpecificLinkQuery.js.map +1 -0
  332. package/build/esm/observable/internal/list/InterfaceListQuery.js +83 -0
  333. package/build/esm/observable/internal/list/InterfaceListQuery.js.map +1 -0
  334. package/build/esm/observable/internal/list/ListCacheKey.js +2 -0
  335. package/build/esm/observable/internal/list/ListCacheKey.js.map +1 -0
  336. package/build/esm/observable/internal/list/ListQuery.js +372 -0
  337. package/build/esm/observable/internal/list/ListQuery.js.map +1 -0
  338. package/build/esm/observable/internal/list/ListQueryOptions.js +2 -0
  339. package/build/esm/observable/internal/list/ListQueryOptions.js.map +1 -0
  340. package/build/esm/observable/internal/list/ListsHelper.js +51 -0
  341. package/build/esm/observable/internal/list/ListsHelper.js.map +1 -0
  342. package/build/esm/observable/internal/list/ObjectListQuery.js +48 -0
  343. package/build/esm/observable/internal/list/ObjectListQuery.js.map +1 -0
  344. package/build/esm/observable/internal/object/ObjectCacheKey.js +2 -0
  345. package/build/esm/observable/internal/object/ObjectCacheKey.js.map +1 -0
  346. package/build/esm/observable/internal/{ObjectQuery.js → object/ObjectQuery.js} +27 -18
  347. package/build/esm/observable/internal/object/ObjectQuery.js.map +1 -0
  348. package/build/esm/observable/internal/object/ObjectsHelper.js +48 -0
  349. package/build/esm/observable/internal/object/ObjectsHelper.js.map +1 -0
  350. package/build/esm/observable/internal/sorting/SortingStrategy.js +78 -0
  351. package/build/esm/observable/internal/sorting/SortingStrategy.js.map +1 -0
  352. package/build/esm/observable/internal/testUtils/invalidateList.js +23 -0
  353. package/build/esm/observable/internal/testUtils/invalidateList.js.map +1 -0
  354. package/build/esm/observable/internal/testUtils/observeLink/expectStandardObserveLink.js +69 -0
  355. package/build/esm/observable/internal/testUtils/observeLink/expectStandardObserveLink.js.map +1 -0
  356. package/build/esm/observable/internal/testUtils/observeObject/expectStandardObserveObject.js +56 -0
  357. package/build/esm/observable/internal/testUtils/observeObject/expectStandardObserveObject.js.map +1 -0
  358. package/build/esm/observable/internal/testUtils.js +72 -10
  359. package/build/esm/observable/internal/testUtils.js.map +1 -1
  360. package/build/esm/ontology/loadActionMetadata.js +3 -1
  361. package/build/esm/ontology/loadActionMetadata.js.map +1 -1
  362. package/build/esm/ontology/loadFullObjectMetadata.js +2 -1
  363. package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
  364. package/build/esm/ontology/loadInterfaceMetadata.js +2 -1
  365. package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -1
  366. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  367. package/build/esm/util/UserAgent.js +2 -2
  368. package/build/esm/util/UserAgent.js.map +1 -1
  369. package/build/esm/util/exponentialBackoff.js +51 -0
  370. package/build/esm/util/exponentialBackoff.js.map +1 -0
  371. package/build/esm/util/exponentialBackoff.test.js +81 -0
  372. package/build/esm/util/exponentialBackoff.test.js.map +1 -0
  373. package/build/esm/util/extractObjectOrInterfaceType.js +9 -1
  374. package/build/esm/util/extractObjectOrInterfaceType.js.map +1 -1
  375. package/build/esm/util/extractObjectOrInterfaceType.test.js +2 -2
  376. package/build/esm/util/extractObjectOrInterfaceType.test.js.map +1 -1
  377. package/build/esm/util/streamutils.js +1 -1
  378. package/build/esm/util/streamutils.js.map +1 -1
  379. package/build/esm/util/toDataValue.js +15 -1
  380. package/build/esm/util/toDataValue.js.map +1 -1
  381. package/build/esm/util/toDataValue.test.js +42 -2
  382. package/build/esm/util/toDataValue.test.js.map +1 -1
  383. package/build/types/Client.d.ts +1 -1
  384. package/build/types/MinimalClientContext.d.ts +1 -0
  385. package/build/types/MinimalClientContext.d.ts.map +1 -1
  386. package/build/types/actions/applyAction.d.ts.map +1 -1
  387. package/build/types/createClient.d.ts +1 -0
  388. package/build/types/createClient.d.ts.map +1 -1
  389. package/build/types/index.d.ts +1 -1
  390. package/build/types/index.d.ts.map +1 -1
  391. package/build/types/object/fetchPage.d.ts.map +1 -1
  392. package/build/types/object/mediaUpload.d.ts +2 -1
  393. package/build/types/object/mediaUpload.d.ts.map +1 -1
  394. package/build/types/observable/LinkPayload.d.ts +9 -0
  395. package/build/types/observable/LinkPayload.d.ts.map +1 -0
  396. package/build/types/observable/ObjectPayload.d.ts +4 -0
  397. package/build/types/observable/ObjectPayload.d.ts.map +1 -1
  398. package/build/types/observable/ObservableClient/ObserveLink.d.ts +32 -0
  399. package/build/types/observable/ObservableClient/ObserveLink.d.ts.map +1 -0
  400. package/build/types/observable/ObservableClient/common.d.ts +67 -0
  401. package/build/types/observable/ObservableClient/common.d.ts.map +1 -0
  402. package/build/types/observable/ObservableClient.d.ts +103 -15
  403. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  404. package/build/types/observable/Unsubscribable.d.ts +3 -0
  405. package/build/types/observable/Unsubscribable.d.ts.map +1 -0
  406. package/build/types/observable/internal/AbstractHelper.d.ts +17 -0
  407. package/build/types/observable/internal/AbstractHelper.d.ts.map +1 -0
  408. package/build/types/observable/internal/BatchContext.d.ts +11 -0
  409. package/build/types/observable/internal/BatchContext.d.ts.map +1 -0
  410. package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -1
  411. package/build/types/observable/internal/CacheKeys.d.ts +12 -6
  412. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -1
  413. package/build/types/observable/internal/Changes.d.ts +8 -5
  414. package/build/types/observable/internal/Changes.d.ts.map +1 -1
  415. package/build/types/observable/internal/KnownCacheKey.d.ts +4 -0
  416. package/build/types/observable/internal/KnownCacheKey.d.ts.map +1 -0
  417. package/build/types/observable/internal/Layer.d.ts +6 -7
  418. package/build/types/observable/internal/Layer.d.ts.map +1 -1
  419. package/build/types/observable/internal/Layers.d.ts +26 -0
  420. package/build/types/observable/internal/Layers.d.ts.map +1 -0
  421. package/build/types/observable/internal/OrderByCanonicalizer.d.ts +0 -7
  422. package/build/types/observable/internal/OrderByCanonicalizer.d.ts.map +1 -1
  423. package/build/types/observable/internal/Queries.d.ts +9 -0
  424. package/build/types/observable/internal/Queries.d.ts.map +1 -0
  425. package/build/types/observable/internal/Query.d.ts +23 -6
  426. package/build/types/observable/internal/Query.d.ts.map +1 -1
  427. package/build/types/observable/internal/QuerySubscription.d.ts +1 -0
  428. package/build/types/observable/internal/QuerySubscription.d.ts.map +1 -0
  429. package/build/types/observable/internal/Store.d.ts +41 -51
  430. package/build/types/observable/internal/Store.d.ts.map +1 -1
  431. package/build/types/observable/internal/Store.invalidation.test.d.ts +1 -0
  432. package/build/types/observable/internal/Store.invalidation.test.d.ts.map +1 -0
  433. package/build/types/observable/internal/Store.test.d.ts +4 -1
  434. package/build/types/observable/internal/Store.test.d.ts.map +1 -1
  435. package/build/types/observable/internal/SubjectPayload.d.ts +5 -0
  436. package/build/types/observable/internal/SubjectPayload.d.ts.map +1 -0
  437. package/build/types/observable/internal/Subjects.d.ts +16 -0
  438. package/build/types/observable/internal/Subjects.d.ts.map +1 -0
  439. package/build/types/observable/internal/UnsubscribableWrapper.d.ts +1 -0
  440. package/build/types/observable/internal/UnsubscribableWrapper.d.ts.map +1 -0
  441. package/build/types/observable/internal/WeakRefTrie.d.ts +13 -0
  442. package/build/types/observable/internal/WeakRefTrie.d.ts.map +1 -0
  443. package/build/types/observable/internal/{ActionApplication.d.ts → actions/ActionApplication.d.ts} +2 -2
  444. package/build/types/observable/internal/{ActionApplication.d.ts.map → actions/ActionApplication.d.ts.map} +1 -1
  445. package/build/types/observable/internal/{OptimisticJob.d.ts → actions/OptimisticJob.d.ts} +4 -4
  446. package/build/types/observable/internal/actions/OptimisticJob.d.ts.map +1 -0
  447. package/build/types/observable/internal/base-list/BaseCollectionQuery.d.ts +64 -0
  448. package/build/types/observable/internal/base-list/BaseCollectionQuery.d.ts.map +1 -0
  449. package/build/types/observable/internal/base-list/BaseListQuery.d.ts +145 -0
  450. package/build/types/observable/internal/base-list/BaseListQuery.d.ts.map +1 -0
  451. package/build/types/observable/internal/base-list/createCollectionConnectable.d.ts +39 -0
  452. package/build/types/observable/internal/base-list/createCollectionConnectable.d.ts.map +1 -0
  453. package/build/types/observable/internal/base-list/createCollectionConnectable.test.d.ts +1 -0
  454. package/build/types/observable/internal/base-list/createCollectionConnectable.test.d.ts.map +1 -0
  455. package/build/types/observable/internal/base-list/removeDuplicates.d.ts +11 -0
  456. package/build/types/observable/internal/base-list/removeDuplicates.d.ts.map +1 -0
  457. package/build/types/observable/internal/createInitEntry.d.ts +3 -0
  458. package/build/types/observable/internal/createInitEntry.d.ts.map +1 -0
  459. package/build/types/observable/internal/getObjectTypesThatInvalidate.d.ts +9 -0
  460. package/build/types/observable/internal/getObjectTypesThatInvalidate.d.ts.map +1 -0
  461. package/build/types/observable/internal/getObjectTypesThatInvalidate.test.d.ts +1 -0
  462. package/build/types/observable/internal/getObjectTypesThatInvalidate.test.d.ts.map +1 -0
  463. package/build/types/observable/internal/isObjectInstance.d.ts +5 -0
  464. package/build/types/observable/internal/isObjectInstance.d.ts.map +1 -0
  465. package/build/types/observable/internal/links/LinksHelper.d.ts +31 -0
  466. package/build/types/observable/internal/links/LinksHelper.d.ts.map +1 -0
  467. package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts +17 -0
  468. package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts.map +1 -0
  469. package/build/types/observable/internal/links/SpecificLinkQuery.d.ts +47 -0
  470. package/build/types/observable/internal/links/SpecificLinkQuery.d.ts.map +1 -0
  471. package/build/types/observable/internal/list/InterfaceListQuery.d.ts +18 -0
  472. package/build/types/observable/internal/list/InterfaceListQuery.d.ts.map +1 -0
  473. package/build/types/observable/internal/list/ListCacheKey.d.ts +7 -0
  474. package/build/types/observable/internal/list/ListCacheKey.d.ts.map +1 -0
  475. package/build/types/observable/internal/list/ListQuery.d.ts +106 -0
  476. package/build/types/observable/internal/list/ListQuery.d.ts.map +1 -0
  477. package/build/types/observable/internal/list/ListQueryOptions.d.ts +4 -0
  478. package/build/types/observable/internal/list/ListQueryOptions.d.ts.map +1 -0
  479. package/build/types/observable/internal/list/ListsHelper.d.ts +19 -0
  480. package/build/types/observable/internal/list/ListsHelper.d.ts.map +1 -0
  481. package/build/types/observable/internal/list/ObjectListQuery.d.ts +18 -0
  482. package/build/types/observable/internal/list/ObjectListQuery.d.ts.map +1 -0
  483. package/build/types/observable/internal/object/ObjectCacheKey.d.ts +5 -0
  484. package/build/types/observable/internal/object/ObjectCacheKey.d.ts.map +1 -0
  485. package/build/types/observable/internal/{ObjectQuery.d.ts → object/ObjectQuery.d.ts} +11 -9
  486. package/build/types/observable/internal/object/ObjectQuery.d.ts.map +1 -0
  487. package/build/types/observable/internal/object/ObjectsHelper.d.ts +11 -0
  488. package/build/types/observable/internal/object/ObjectsHelper.d.ts.map +1 -0
  489. package/build/types/observable/internal/sorting/SortingStrategy.d.ts +41 -0
  490. package/build/types/observable/internal/sorting/SortingStrategy.d.ts.map +1 -0
  491. package/build/types/observable/internal/testUtils/invalidateList.d.ts +9 -0
  492. package/build/types/observable/internal/testUtils/invalidateList.d.ts.map +1 -0
  493. package/build/types/observable/internal/testUtils/observeLink/expectStandardObserveLink.d.ts +46 -0
  494. package/build/types/observable/internal/testUtils/observeLink/expectStandardObserveLink.d.ts.map +1 -0
  495. package/build/types/observable/internal/testUtils/observeObject/expectStandardObserveObject.d.ts +26 -0
  496. package/build/types/observable/internal/testUtils/observeObject/expectStandardObserveObject.d.ts.map +1 -0
  497. package/build/types/observable/internal/testUtils.d.ts +26 -4
  498. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  499. package/build/types/public/unstable-do-not-use.d.ts +4 -2
  500. package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
  501. package/build/types/util/exponentialBackoff.d.ts +14 -0
  502. package/build/types/util/exponentialBackoff.d.ts.map +1 -0
  503. package/build/types/util/exponentialBackoff.test.d.ts +1 -0
  504. package/build/types/util/exponentialBackoff.test.d.ts.map +1 -0
  505. package/package.json +27 -27
  506. package/build/browser/observable/internal/ActionApplication.js.map +0 -1
  507. package/build/browser/observable/internal/ListQuery.js +0 -618
  508. package/build/browser/observable/internal/ListQuery.js.map +0 -1
  509. package/build/browser/observable/internal/ObjectQuery.js.map +0 -1
  510. package/build/browser/observable/internal/OptimisticJob.js.map +0 -1
  511. package/build/cjs/chunk-26WFEZQO.cjs.map +0 -1
  512. package/build/cjs/chunk-633AI7EA.cjs.map +0 -1
  513. package/build/esm/observable/internal/ActionApplication.js.map +0 -1
  514. package/build/esm/observable/internal/ListQuery.js +0 -618
  515. package/build/esm/observable/internal/ListQuery.js.map +0 -1
  516. package/build/esm/observable/internal/ObjectQuery.js.map +0 -1
  517. package/build/esm/observable/internal/OptimisticJob.js.map +0 -1
  518. package/build/types/observable/internal/ListQuery.d.ts +0 -88
  519. package/build/types/observable/internal/ListQuery.d.ts.map +0 -1
  520. package/build/types/observable/internal/ObjectQuery.d.ts.map +0 -1
  521. package/build/types/observable/internal/OptimisticJob.d.ts.map +0 -1
@@ -2,25 +2,17 @@ import type { ActionDefinition, ActionValidationResponse, InterfaceDefinition, O
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 { CommonObserveOptions, InvalidationMode, ObserveOptions, Observer, Status } from "./ObservableClient/common.js";
6
+ import type { ObserveLinks } from "./ObservableClient/ObserveLink.js";
5
7
  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
8
  export declare namespace ObservableClient {
13
9
  interface ApplyActionOptions {
14
10
  optimisticUpdate?: (ctx: OptimisticBuilder) => void;
15
11
  }
16
12
  }
17
- export interface CommonObserveOptions {
18
- dedupeInterval?: number;
19
- }
20
- export interface ObserveOptions {
21
- mode?: "offline" | "force";
22
- }
23
13
  export interface ObserveObjectOptions<T extends ObjectTypeDefinition | InterfaceDefinition> extends ObserveOptions {
14
+ apiName: T["apiName"] | T;
15
+ pk: PrimaryKeyType<T>;
24
16
  select?: PropertyKeys<T>[];
25
17
  }
26
18
  export type OrderBy<Q extends ObjectTypeDefinition | InterfaceDefinition> = { [K in PropertyKeys<Q>]? : "asc" | "desc" | undefined };
@@ -29,7 +21,7 @@ export interface ObserveListOptions<Q extends ObjectTypeDefinition | InterfaceDe
29
21
  where?: WhereClause<Q>;
30
22
  pageSize?: number;
31
23
  orderBy?: OrderBy<Q>;
32
- invalidationMode?: "in-place" | "wait" | "reset";
24
+ invalidationMode?: InvalidationMode;
33
25
  expectedLength?: number;
34
26
  streamUpdates?: boolean;
35
27
  }
@@ -43,15 +35,111 @@ export interface ObserveObjectsArgs<T extends ObjectTypeDefinition | InterfaceDe
43
35
  resolvedList: Array<Osdk.Instance<T>>;
44
36
  isOptimistic: boolean;
45
37
  lastUpdated: number;
46
- fetchMore: () => Promise<unknown>;
38
+ fetchMore: () => Promise<void>;
39
+ hasMore: boolean;
40
+ status: Status;
41
+ }
42
+ /**
43
+ * User facing callback args for `observeLink`
44
+ */
45
+ export interface ObserveLinkCallbackArgs<T extends ObjectTypeDefinition | InterfaceDefinition> {
46
+ resolvedList: Osdk.Instance<T>[];
47
+ isOptimistic: boolean;
48
+ lastUpdated: number;
49
+ fetchMore: () => Promise<void>;
47
50
  hasMore: boolean;
48
51
  status: Status;
49
52
  }
50
- export interface ObservableClient {
53
+ /**
54
+ * Public interface for reactive data management with automatic updates.
55
+ *
56
+ * The ObservableClient provides a reactive data layer with:
57
+ * - Real-time object and collection observation
58
+ * - Automatic cache updates when data changes
59
+ * - Optimistic updates for immediate UI feedback
60
+ * - Pagination support for large collections
61
+ * - Link traversal for relationship navigation
62
+ */
63
+ export interface ObservableClient extends ObserveLinks {
64
+ /**
65
+ * Observe a single object with automatic updates when it changes.
66
+ *
67
+ * @param apiName - The object type definition or name
68
+ * @param pk - The object's primary key
69
+ * @param options - Observation options including deduplication interval
70
+ * @param subFn - Observer that receives object state updates
71
+ * @returns Subscription that can be unsubscribed to stop updates
72
+ *
73
+ * The observer will receive:
74
+ * - Initial loading state if data not cached
75
+ * - Loaded state with the object data
76
+ * - Updates when the object changes
77
+ * - Error state if fetch fails
78
+ */
51
79
  observeObject<T extends ObjectTypeDefinition>(apiName: T["apiName"] | T, pk: PrimaryKeyType<T>, options: ObserveOptions, subFn: Observer<ObserveObjectArgs<T>>): Unsubscribable;
80
+ /**
81
+ * Observe a filtered and sorted collection of objects.
82
+ *
83
+ * @param options - Filter, sort, and pagination options
84
+ * @param subFn - Observer that receives collection state updates
85
+ * @returns Subscription that can be unsubscribed to stop updates
86
+ *
87
+ * Supports:
88
+ * - Filtering with where clauses
89
+ * - Sorting with orderBy
90
+ * - Pagination via fetchMore() in the payload
91
+ * - Automatic updates when any matching object changes
92
+ */
52
93
  observeList<T extends ObjectTypeDefinition | InterfaceDefinition>(options: ObserveListOptions<T>, subFn: Observer<ObserveObjectsArgs<T>>): Unsubscribable;
94
+ /**
95
+ * Execute an action with optional optimistic updates.
96
+ *
97
+ * @param action - Action definition to execute
98
+ * @param args - Arguments for the action
99
+ * @param opts - Options including optimistic updates
100
+ * @returns Promise that resolves when the action completes
101
+ *
102
+ * When providing optimistic updates:
103
+ * - Changes appear immediately in the UI
104
+ * - Server request still happens in background
105
+ * - On success, server data replaces optimistic data
106
+ * - On failure, optimistic changes automatically roll back
107
+ */
53
108
  applyAction: <Q extends ActionDefinition<any>>(action: Q, args: Parameters<ActionSignatureFromDef<Q>["applyAction"]>[0] | Array<Parameters<ActionSignatureFromDef<Q>["applyAction"]>[0]>, opts?: ObservableClient.ApplyActionOptions) => Promise<unknown>;
109
+ /**
110
+ * Validate action parameters without executing the action.
111
+ *
112
+ * @param action - Action definition to validate
113
+ * @param args - Arguments to validate
114
+ * @returns Promise with validation result
115
+ *
116
+ * Use this to:
117
+ * - Pre-validate forms before submission
118
+ * - Display warnings or errors in the UI
119
+ * - Enable/disable action buttons based on validity
120
+ */
54
121
  validateAction: <Q extends ActionDefinition<any>>(action: Q, args: Parameters<ActionSignatureFromDef<Q>["applyAction"]>[0]) => Promise<ActionValidationResponse>;
122
+ /**
123
+ * Invalidates the entire cache, forcing all queries to refetch.
124
+ * Use sparingly as this can cause significant network traffic.
125
+ */
126
+ invalidateAll(): Promise<void>;
127
+ /**
128
+ * Invalidates specific objects in the cache.
129
+ * @param objects - Single object or array of objects to invalidate
130
+ */
131
+ invalidateObjects(objects: Osdk.Instance<ObjectTypeDefinition> | ReadonlyArray<Osdk.Instance<ObjectTypeDefinition>>): Promise<void>;
132
+ /**
133
+ * Invalidates all cached data for a specific object type.
134
+ * This includes:
135
+ * - All objects of the specified type
136
+ * - All lists containing objects of this type
137
+ * - All links where the source is of this type
138
+ *
139
+ * @param type - Object type definition or API name string
140
+ * @returns Promise that resolves when invalidation is complete
141
+ */
142
+ invalidateObjectType<T extends ObjectTypeDefinition>(type: T | T["apiName"]): Promise<void>;
55
143
  canonicalizeWhereClause: <T extends ObjectTypeDefinition | InterfaceDefinition>(where: WhereClause<T>) => Canonical<WhereClause<T>>;
56
144
  }
57
145
  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,sBACA,MACA,gBACA,cACA,mBACK,WAAY;AAEnB,cAAc,8BAA8B,2BAA4B;AACxE,cAAiC,cAAc,cAAe;AAG9D,cAAc,iBAAiB,yBAA0B;AAGzD,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;;;;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;;;;;;;;;;;;;;;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>>","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,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,19 @@
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";
5
6
  export declare class Changes {
6
7
  modifiedObjects: MultiMap<string, ObjectHolder>;
7
8
  addedObjects: MultiMap<string, ObjectHolder>;
8
- added: Set<ListCacheKey | ObjectCacheKey>;
9
- modified: Set<ListCacheKey | ObjectCacheKey>;
10
- deleted: Set<ListCacheKey | ObjectCacheKey>;
9
+ added: Set<ListCacheKey | ObjectCacheKey | SpecificLinkCacheKey>;
10
+ modified: Set<ListCacheKey | ObjectCacheKey | SpecificLinkCacheKey>;
11
+ deleted: Set<ListCacheKey | ObjectCacheKey | SpecificLinkCacheKey>;
11
12
  registerObject: (cacheKey: ObjectCacheKey, data: ObjectHolder, isNew: boolean) => void;
12
13
  deleteObject: (cacheKey: ObjectCacheKey) => void;
13
14
  registerList: (key: ListCacheKey) => void;
15
+ registerLink: (cacheKey: SpecificLinkCacheKey) => void;
16
+ deleteLink: (cacheKey: SpecificLinkCacheKey) => void;
14
17
  isEmpty(): boolean;
15
18
  }
16
19
  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;AAEjE,OAAO,cAAM,QAAQ;CACnB,iBAAiB,iBAAiB;CAClC,cAAc,iBAAiB;CAE/B,OAAO,IAAI,eAAe,iBAAiB;CAC3C,UAAU,IAAI,eAAe,iBAAiB;CAE9C,SAAS,IAAI,eAAe,iBAAiB;CAG7C,iBACEA,UAAU,gBACVC,MAAM,cACNC;CAMF,eAAgBF,UAAU;CAI1B,eAAgBG,KAAK;CAIrB,eAAgBC,UAAU;CAI1B,aAAcA,UAAU;CAIxB;AASD;AAED,OAAO,iBAAS,wBAAwB;AAIxC,OAAO,iBAAS,4BAA4BC,SAAS","names":["cacheKey: ObjectCacheKey","data: ObjectHolder","isNew: boolean","key: ListCacheKey","cacheKey: SpecificLinkCacheKey","changes: Changes"],"sources":["../../../../src/observable/internal/Changes.ts"],"version":3,"file":"Changes.d.ts"}
@@ -0,0 +1,4 @@
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
+ export type KnownCacheKey = ObjectCacheKey | SpecificLinkCacheKey | ListCacheKey;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,4BAA4B,iCAAkC;AAC5E,cAAc,oBAAoB,wBAAyB;AAC3D,cAAc,sBAAsB,4BAA6B;AAEjE,YAAY,gBACR,iBACA,uBACA","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
  }
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,cAAc,WAAY;AACxC,cACE,aACA,YACA,UACA,cACA,oBACK,MAAO;AAEd,cAAc,sBAAsB,cAAc,wBAAyB;AAC3E,cAAc,gBAAgB,eAAgB;AAC9C,cAAc,eAAe,cAAe;AAC5C,cAAc,aAAa,YAAa;AACxC,cAAc,oBAAoB,mBAAoB;AACtD,cAAc,cAAc,OAAO,sBAAsB,YAAa;AAEtE,OAAO,uBAAe;CACpB,YAAY;CACZ;CACA,UAAU;aACC,aAAa,SAAS;;CACjC;CACA,eAAe;CACf;CACA,SAAS;CACT,UAAU;CACV,OAAO;CACP,kBAAkB;CAQlB,YACEA,OAAO,OACPC,YAAY,WAAW,eAAe,OACtCC,MAAM,GACNC,UAAU,KACVC,SAAS;CAoBX,mBAAmB,mBACjBC,SAAS,WAAW,eAAe,QAClC,YAAY;CAEf,AAAO,UACLC,UAAU,SAAS,WAClB;;;;;;;;;CAcH,AAAM,WAAWC,kBAAkB;CAiEnC,UAAU;CAEV,mBAAmB,kBAAkB;;;;;;;;CASrC,UACEC,QAAQ,QACRC,OAAO;CAWT;;;;CAWA,UAAU;;;;;;;;;CAUV,SAAS,aACPC,MAAM,IAAI,cAAc,UACxBF,QAAQ,QACRC,OAAO,eACN,MAAM;;;;;;;CAQT,4BACEE,SAAS,SACTC,cAAc,6BACX;AACN","names":["store: Store","observable: Observable<SubjectPayload<KEY>>","opts: O","cacheKey: KEY","logger?: Logger","subject: Observable<SubjectPayload<KEY>>","observer: Observer<PAYLOAD>","force?: boolean","status: Status","batch: BatchContext","data: KEY[\"__cacheKey\"][\"value\"]","changes: Changes","optimisticId: OptimisticId | undefined"],"sources":["../../../../src/observable/internal/Query.ts"],"version":3,"file":"Query.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,cAAc,WAAY;AACxC,cACE,aACA,YACA,UACA,cACA,oBACK,MAAO;AAEd,cACE,sBACA,cACK,+BAAgC;AACvC,cAAc,oBAAoB,mBAAoB;AACtD,cAAc,iBAAiB,gBAAiB;AAChD,cAAc,eAAe,cAAe;AAC5C,cAAc,qBAAqB,oBAAqB;AACxD,cAAc,aAAa,YAAa;AACxC,cAAc,oBAAoB,mBAAoB;AACtD,cAAc,aAAa,YAAa;AACxC,cAAc,sBAAsB,qBAAsB;AAE1D,OAAO,uBAAe;CACpB,YAAY;CACZ;CACA,UAAU;aACC,aAAa,SAAS;;CACjC;CACA,eAAe;CACf;CACA,SAAS;CACT,UAAU;CACV,OAAO;CACP,kBAAkB;CASlB,mBAAmB,WAAW,UAAU;CAExC,YACEA,OAAO,OACPC,YAAY,WAAW,eAAe,OACtCC,MAAM,GACNC,UAAU,KACVC,SAAS;CAqBX,mBAAmB,mBACjBC,SAAS,WAAW,eAAe,QAClC,YAAY;CAEf,AAAO,UACLC,UAAU,SAAS,WAClB;;;;CASH,mCACEC,wBACAC;;;;CAUF,qCAAqCD;;;;CAOrC,QAAQ;;;;;;;;;CAgBR,AAAM,WAAWE,kBAAkB;CAiEnC,UAAU;CAEV,mBAAmB,kBAAkB;;;;;;;;CASrC,UACEC,QAAQ,QACRC,OAAO;CAyBT;;;;CAWA,UAAU;;;;;;;;;CAUV,SAAS,aACPC,MAAM,IAAI,cAAc,UACxBF,QAAQ,QACRC,OAAO,eACN,MAAM;;;;;;;CAQT,4BACEE,SAAS,SACTC,cAAc,6BACX;CAEL,SAAS,qBACPC,oBACAC,SAAS,sBACR;AACJ","names":["store: Store","observable: Observable<SubjectPayload<KEY>>","opts: O","cacheKey: KEY","logger?: Logger","subject: Observable<SubjectPayload<KEY>>","observer: Observer<PAYLOAD>","subscriptionId: string","dedupeInterval: number | undefined","force?: boolean","status: Status","batch: BatchContext","data: KEY[\"__cacheKey\"][\"value\"]","changes: Changes","optimisticId: OptimisticId | undefined","objectType: string","changes: Changes | undefined"],"sources":["../../../../src/observable/internal/Query.ts"],"version":3,"file":"Query.d.ts"}
@@ -0,0 +1 @@
1
+ {"mappings":"","names":[],"sources":["../../../../src/observable/internal/QuerySubscription.ts"],"version":3,"file":"QuerySubscription.d.ts"}
@@ -1,79 +1,69 @@
1
- import type { ActionDefinition, ActionEditResponse, ActionValidationResponse, InterfaceDefinition, ObjectTypeDefinition, PrimaryKeyType, WhereClause } from "@osdk/api";
2
- import type { Observer } from "rxjs";
3
- import { BehaviorSubject } from "rxjs";
1
+ import type { ActionDefinition, ActionEditResponse, ActionValidationResponse, ObjectTypeDefinition, Osdk, PrimaryKeyType } from "@osdk/api";
4
2
  import type { ActionSignatureFromDef } from "../../actions/applyAction.js";
5
3
  import { type Client } from "../../Client.js";
6
- import type { ListPayload } from "../ListPayload.js";
7
- import type { ObjectPayload } from "../ObjectPayload.js";
8
- import type { ObserveListOptions, ObserveObjectOptions, OrderBy, Unsubscribable } from "../ObservableClient.js";
9
4
  import type { OptimisticBuilder } from "../OptimisticBuilder.js";
10
- import type { CacheKey } from "./CacheKey.js";
11
- import type { Canonical } from "./Canonical.js";
5
+ import type { BatchContext } from "./BatchContext.js";
6
+ import { CacheKeys } from "./CacheKeys.js";
12
7
  import { type Changes } from "./Changes.js";
13
- import { Entry } from "./Layer.js";
14
- import type { ListQueryOptions } from "./ListQuery.js";
15
- import { ListQuery } from "./ListQuery.js";
16
- import { ObjectQuery } from "./ObjectQuery.js";
8
+ import type { KnownCacheKey } from "./KnownCacheKey.js";
9
+ import type { Entry } from "./Layer.js";
10
+ import { Layers } from "./Layers.js";
11
+ import { LinksHelper } from "./links/LinksHelper.js";
12
+ import { ListsHelper } from "./list/ListsHelper.js";
13
+ import { ObjectsHelper } from "./object/ObjectsHelper.js";
17
14
  import { type OptimisticId } from "./OptimisticId.js";
18
15
  import { OrderByCanonicalizer } from "./OrderByCanonicalizer.js";
19
- import type { SimpleWhereClause } from "./SimpleWhereClause.js";
16
+ import { Queries } from "./Queries.js";
17
+ import type { Subjects } from "./Subjects.js";
20
18
  import { WhereClauseCanonicalizer } from "./WhereClauseCanonicalizer.js";
21
- export interface SubjectPayload<KEY extends CacheKey> extends Entry<KEY> {
22
- isOptimistic: boolean;
23
- }
24
- export interface BatchContext {
25
- changes: Changes;
26
- createLayerIfNeeded: () => void;
27
- optimisticWrite: boolean;
28
- write: <K extends CacheKey<string, any, any>>(k: K, v: Entry<K>["value"], status: Entry<K>["status"]) => Entry<K>;
29
- read: <K extends CacheKey<string, any, any>>(k: K) => Entry<K> | undefined;
30
- delete: <K extends CacheKey<string, any, any>>(k: K, status: Entry<K>["status"]) => Entry<K>;
31
- }
32
19
  export declare namespace Store {
33
20
  interface ApplyActionOptions {
34
21
  optimisticUpdate?: (ctx: OptimisticBuilder) => void;
35
22
  }
36
23
  }
24
+ /**
25
+ * Central data store with layered cache architecture.
26
+ * - Truth layer: server state | Optimistic layers: pending changes
27
+ * - Reference counting prevents memory leaks
28
+ * - Batch operations ensure consistency
29
+ */
37
30
  export declare class Store {
38
31
  #private;
39
- whereCanonicalizer: WhereClauseCanonicalizer;
40
- orderByCanonicalizer: OrderByCanonicalizer;
41
- client: Client;
32
+ readonly whereCanonicalizer: WhereClauseCanonicalizer;
33
+ readonly orderByCanonicalizer: OrderByCanonicalizer;
34
+ readonly client: Client;
35
+ readonly cacheKeys: CacheKeys<KnownCacheKey>;
36
+ readonly queries: Queries;
37
+ readonly layers: Layers;
38
+ readonly subjects: Subjects;
39
+ readonly lists: ListsHelper;
40
+ readonly objects: ObjectsHelper;
41
+ readonly links: LinksHelper;
42
42
  constructor(client: Client);
43
43
  applyAction: <Q extends ActionDefinition<any>>(action: Q, args: Parameters<ActionSignatureFromDef<Q>["applyAction"]>[0] | Array<Parameters<ActionSignatureFromDef<Q>["applyAction"]>[0]>, opts?: Store.ApplyActionOptions) => Promise<ActionEditResponse>;
44
44
  validateAction: <Q extends ActionDefinition<any>>(action: Q, args: Parameters<ActionSignatureFromDef<Q>["applyAction"]>[0]) => Promise<ActionValidationResponse>;
45
- removeLayer(layerId: OptimisticId): void;
46
- getCacheKey<K extends CacheKey<string, any, any>>(type: K["type"], ...args: K["__cacheKey"]["args"]): K;
47
- peekSubject: <KEY extends CacheKey<string, any, any>>(cacheKey: KEY) => BehaviorSubject<SubjectPayload<KEY>> | undefined;
48
- getSubject: <KEY extends CacheKey<string, any, any>>(cacheKey: KEY) => BehaviorSubject<SubjectPayload<KEY>>;
49
- canonicalizeWhereClause<T extends ObjectTypeDefinition | InterfaceDefinition>(where: WhereClause<T>): Canonical<SimpleWhereClause>;
50
- observeObject<T extends ObjectTypeDefinition | InterfaceDefinition>(apiName: T["apiName"] | T, pk: PrimaryKeyType<T>, options: ObserveObjectOptions<T>, subFn: Observer<ObjectPayload>): Unsubscribable;
51
- observeList<T extends ObjectTypeDefinition | InterfaceDefinition>(options: ObserveListOptions<T>, subFn: Observer<ListPayload>): Unsubscribable;
52
- peekQuery<K extends CacheKey>(cacheKey: K): K["__cacheKey"]["query"] | undefined;
53
- getListQuery<T extends ObjectTypeDefinition | InterfaceDefinition>(def: Pick<T, "type" | "apiName">, where: WhereClause<T>, orderBy: Record<string, "asc" | "desc" | undefined>, opts: ListQueryOptions): ListQuery;
54
- getObjectQuery<T extends ObjectTypeDefinition>(apiName: T["apiName"] | T, pk: PrimaryKeyType<T>): ObjectQuery;
55
- getValue<K extends CacheKey<string, any, any>>(cacheKey: K): Entry<K> | undefined;
56
- batch: <X>({ optimisticId, changes }: {
45
+ getValue<K extends KnownCacheKey>(cacheKey: K): Entry<K> | undefined;
46
+ batch<X>({ optimisticId, changes }: {
57
47
  optimisticId?: OptimisticId
58
48
  changes?: Changes
59
- }, batchFn: (batchContext: BatchContext) => X) => {
49
+ }, batchFn: (batchContext: BatchContext) => X): {
60
50
  batchResult: BatchContext
61
51
  retVal: X
62
52
  changes: Changes
63
53
  };
64
54
  invalidateObject<T extends ObjectTypeDefinition>(apiName: T["apiName"] | T, pk: PrimaryKeyType<T>): Promise<unknown>;
65
- maybeRevalidateQueries(changes: Changes, optimisticId?: OptimisticId | undefined): Promise<void>;
66
55
  /**
67
- * @param apiName
68
- * @param changes The changes we know about / to update
69
- * @returns
56
+ * Invalidates all cache entries for a specific object type.
57
+ * This will revalidate:
58
+ * 1. All objects of the specified type
59
+ * 2. All lists of the specified type
60
+ * 3. All links where the source object is of the specified type
61
+ *
62
+ * @param apiName - The API name of the object type to invalidate
63
+ * @param changes - Optional changes object to track what has been modified
64
+ * @returns Promise that resolves when all invalidations are complete
70
65
  */
71
66
  invalidateObjectType<T extends ObjectTypeDefinition>(apiName: T["apiName"] | T, changes: Changes | undefined): Promise<void>;
72
- retain(cacheKey: CacheKey<string, any, any>): void;
73
- release(cacheKey: CacheKey<string, any, any>): void;
67
+ invalidateAll(): Promise<void>;
68
+ invalidateObjects(objects: Osdk.Instance<ObjectTypeDefinition> | ReadonlyArray<Osdk.Instance<ObjectTypeDefinition>>): Promise<void>;
74
69
  }
75
- export declare function invalidateList<T extends ObjectTypeDefinition>(store: Store, args: {
76
- type: Pick<T, "apiName" | "type">
77
- where?: WhereClause<T> | SimpleWhereClause
78
- orderBy?: OrderBy<T>
79
- }): Promise<void>;