@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.
- package/CHANGELOG.md +149 -3
- package/build/browser/Client.js +1 -1
- package/build/browser/Client.js.map +1 -1
- package/build/browser/MinimalClientContext.js.map +1 -1
- package/build/browser/actions/applyAction.js +4 -0
- package/build/browser/actions/applyAction.js.map +1 -1
- package/build/browser/createClient.js +6 -2
- package/build/browser/createClient.js.map +1 -1
- package/build/browser/createMinimalClient.js +2 -1
- package/build/browser/createMinimalClient.js.map +1 -1
- package/build/browser/fetchMetadata.test.js +11 -0
- package/build/browser/fetchMetadata.test.js.map +1 -1
- package/build/browser/index.js +2 -0
- package/build/browser/index.js.map +1 -1
- package/build/browser/intellisense.test.helpers/orderBySuggestionIsRight.js +8 -1
- package/build/browser/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -1
- package/build/browser/intellisense.test.js +14 -4
- package/build/browser/intellisense.test.js.map +1 -1
- package/build/browser/object/Cache.js +1 -1
- package/build/browser/object/Cache.js.map +1 -1
- package/build/browser/object/Cache.test.js +1 -1
- package/build/browser/object/Cache.test.js.map +1 -1
- package/build/browser/object/SimpleCache.js +1 -1
- package/build/browser/object/SimpleCache.js.map +1 -1
- package/build/browser/object/aggregate.js +2 -0
- package/build/browser/object/aggregate.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +1 -0
- package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +6 -0
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +20 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.js +4 -0
- package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.test.js +14 -0
- package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/browser/object/fetchPage.js +96 -21
- package/build/browser/object/fetchPage.js.map +1 -1
- package/build/browser/object/fetchPage.test.js +35 -1
- package/build/browser/object/fetchPage.test.js.map +1 -1
- package/build/browser/object/geotimeseriesreference.test.js +0 -2
- package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
- package/build/browser/objectSet/ObjectSet.test.js +6 -0
- package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js +31 -9
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +69 -4
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/browser/objectSet/createObjectSet.js +3 -1
- package/build/browser/objectSet/createObjectSet.js.map +1 -1
- package/build/browser/observable/LinkPayload.js +2 -0
- package/build/browser/observable/LinkPayload.js.map +1 -0
- package/build/browser/observable/ObjectPayload.js.map +1 -1
- package/build/browser/observable/ObjectSetPayload.js +2 -0
- package/build/browser/observable/ObjectSetPayload.js.map +1 -0
- package/build/browser/observable/ObservableClient/ObserveLink.js +17 -0
- package/build/browser/observable/ObservableClient/ObserveLink.js.map +1 -0
- package/build/browser/observable/ObservableClient/common.js +2 -0
- package/build/browser/observable/ObservableClient/common.js.map +1 -0
- package/build/browser/observable/ObservableClient.js +20 -0
- package/build/browser/observable/ObservableClient.js.map +1 -1
- package/build/browser/observable/Unsubscribable.js +2 -0
- package/build/browser/observable/Unsubscribable.js.map +1 -0
- package/build/browser/observable/computeObjectSetCacheKey.js +64 -0
- package/build/browser/observable/computeObjectSetCacheKey.js.map +1 -0
- package/build/browser/observable/internal/AbstractHelper.js +54 -0
- package/build/browser/observable/internal/AbstractHelper.js.map +1 -0
- package/build/browser/observable/internal/BatchContext.js +2 -0
- package/build/browser/observable/internal/BatchContext.js.map +1 -0
- package/build/browser/observable/internal/BulkObjectLoader.js +3 -3
- package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -1
- package/build/browser/observable/internal/CacheKeys.js +65 -25
- package/build/browser/observable/internal/CacheKeys.js.map +1 -1
- package/build/browser/observable/internal/Changes.js +9 -0
- package/build/browser/observable/internal/Changes.js.map +1 -1
- package/build/browser/observable/internal/KnownCacheKey.js +2 -0
- package/build/browser/observable/internal/KnownCacheKey.js.map +1 -0
- package/build/browser/observable/internal/Layer.js +0 -8
- package/build/browser/observable/internal/Layer.js.map +1 -1
- package/build/browser/observable/internal/Layers.js +151 -0
- package/build/browser/observable/internal/Layers.js.map +1 -0
- package/build/browser/observable/internal/ObservableClientImpl.js +62 -3
- package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
- package/build/browser/observable/internal/OrderByCanonicalizer.js +1 -37
- package/build/browser/observable/internal/OrderByCanonicalizer.js.map +1 -1
- package/build/browser/observable/internal/Queries.js +40 -0
- package/build/browser/observable/internal/Queries.js.map +1 -0
- package/build/browser/observable/internal/Query.js +63 -5
- package/build/browser/observable/internal/Query.js.map +1 -1
- package/build/browser/observable/internal/QuerySubscription.js +48 -0
- package/build/browser/observable/internal/QuerySubscription.js.map +1 -0
- package/build/browser/observable/internal/Store.invalidation.test.js +646 -0
- package/build/browser/observable/internal/Store.invalidation.test.js.map +1 -0
- package/build/browser/observable/internal/Store.js +89 -308
- package/build/browser/observable/internal/Store.js.map +1 -1
- package/build/browser/observable/internal/Store.test.js +330 -73
- package/build/browser/observable/internal/Store.test.js.map +1 -1
- package/build/browser/observable/internal/SubjectPayload.js +2 -0
- package/build/browser/observable/internal/SubjectPayload.js.map +1 -0
- package/build/browser/observable/internal/Subjects.js +55 -0
- package/build/browser/observable/internal/Subjects.js.map +1 -0
- package/build/browser/observable/internal/UnsubscribableWrapper.js +30 -0
- package/build/browser/observable/internal/UnsubscribableWrapper.js.map +1 -0
- package/build/browser/observable/internal/WeakRefTrie.js +61 -0
- package/build/browser/observable/internal/WeakRefTrie.js.map +1 -0
- package/build/browser/observable/internal/{ActionApplication.js → actions/ActionApplication.js} +2 -2
- package/build/browser/observable/internal/actions/ActionApplication.js.map +1 -0
- package/build/{esm/observable/internal → browser/observable/internal/actions}/OptimisticJob.js +15 -6
- package/build/browser/observable/internal/actions/OptimisticJob.js.map +1 -0
- package/build/browser/observable/internal/base-list/BaseCollectionQuery.js +2 -0
- package/build/browser/observable/internal/base-list/BaseCollectionQuery.js.map +1 -0
- package/build/browser/observable/internal/base-list/BaseListQuery.js +411 -0
- package/build/browser/observable/internal/base-list/BaseListQuery.js.map +1 -0
- package/build/browser/observable/internal/base-list/createCollectionConnectable.js +50 -0
- package/build/browser/observable/internal/base-list/createCollectionConnectable.js.map +1 -0
- package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js +597 -0
- package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -0
- package/build/browser/observable/internal/base-list/removeDuplicates.js +36 -0
- package/build/browser/observable/internal/base-list/removeDuplicates.js.map +1 -0
- package/build/browser/observable/internal/createInitEntry.js +25 -0
- package/build/browser/observable/internal/createInitEntry.js.map +1 -0
- package/build/browser/observable/internal/getObjectTypesThatInvalidate.js +216 -0
- package/build/browser/observable/internal/getObjectTypesThatInvalidate.js.map +1 -0
- package/build/browser/observable/internal/getObjectTypesThatInvalidate.test.js +382 -0
- package/build/browser/observable/internal/getObjectTypesThatInvalidate.test.js.map +1 -0
- package/build/browser/observable/internal/isObjectInstance.js +23 -0
- package/build/browser/observable/internal/isObjectInstance.js.map +1 -0
- package/build/browser/observable/internal/links/LinksHelper.js +37 -0
- package/build/browser/observable/internal/links/LinksHelper.js.map +1 -0
- package/build/browser/observable/internal/links/SpecificLinkCacheKey.js +2 -0
- package/build/browser/observable/internal/links/SpecificLinkCacheKey.js.map +1 -0
- package/build/browser/observable/internal/links/SpecificLinkQuery.js +185 -0
- package/build/browser/observable/internal/links/SpecificLinkQuery.js.map +1 -0
- package/build/browser/observable/internal/list/InterfaceListQuery.js +83 -0
- package/build/browser/observable/internal/list/InterfaceListQuery.js.map +1 -0
- package/build/browser/observable/internal/list/ListCacheKey.js +2 -0
- package/build/browser/observable/internal/list/ListCacheKey.js.map +1 -0
- package/build/browser/observable/internal/list/ListQuery.js +372 -0
- package/build/browser/observable/internal/list/ListQuery.js.map +1 -0
- package/build/browser/observable/internal/list/ListQueryOptions.js +2 -0
- package/build/browser/observable/internal/list/ListQueryOptions.js.map +1 -0
- package/build/browser/observable/internal/list/ListsHelper.js +51 -0
- package/build/browser/observable/internal/list/ListsHelper.js.map +1 -0
- package/build/browser/observable/internal/list/ObjectListQuery.js +48 -0
- package/build/browser/observable/internal/list/ObjectListQuery.js.map +1 -0
- package/build/browser/observable/internal/object/ObjectCacheKey.js +2 -0
- package/build/browser/observable/internal/object/ObjectCacheKey.js.map +1 -0
- package/build/browser/observable/internal/{ObjectQuery.js → object/ObjectQuery.js} +27 -18
- package/build/browser/observable/internal/object/ObjectQuery.js.map +1 -0
- package/build/browser/observable/internal/object/ObjectsHelper.js +48 -0
- package/build/browser/observable/internal/object/ObjectsHelper.js.map +1 -0
- package/build/browser/observable/internal/objectset/ObjectSetCacheKey.js +2 -0
- package/build/browser/observable/internal/objectset/ObjectSetCacheKey.js.map +1 -0
- package/build/browser/observable/internal/objectset/ObjectSetHelper.js +69 -0
- package/build/browser/observable/internal/objectset/ObjectSetHelper.js.map +1 -0
- package/build/browser/observable/internal/objectset/ObjectSetQuery.js +151 -0
- package/build/browser/observable/internal/objectset/ObjectSetQuery.js.map +1 -0
- package/build/browser/observable/internal/objectset/ObjectSetQueryOptions.js +2 -0
- package/build/browser/observable/internal/objectset/ObjectSetQueryOptions.js.map +1 -0
- package/build/browser/observable/internal/sorting/SortingStrategy.js +78 -0
- package/build/browser/observable/internal/sorting/SortingStrategy.js.map +1 -0
- package/build/browser/observable/internal/testUtils/invalidateList.js +23 -0
- package/build/browser/observable/internal/testUtils/invalidateList.js.map +1 -0
- package/build/browser/observable/internal/testUtils/observeLink/expectStandardObserveLink.js +69 -0
- package/build/browser/observable/internal/testUtils/observeLink/expectStandardObserveLink.js.map +1 -0
- package/build/browser/observable/internal/testUtils/observeObject/expectStandardObserveObject.js +56 -0
- package/build/browser/observable/internal/testUtils/observeObject/expectStandardObserveObject.js.map +1 -0
- package/build/browser/observable/internal/testUtils.js +72 -10
- package/build/browser/observable/internal/testUtils.js.map +1 -1
- package/build/browser/ontology/loadActionMetadata.js +3 -1
- package/build/browser/ontology/loadActionMetadata.js.map +1 -1
- package/build/browser/ontology/loadFullObjectMetadata.js +2 -1
- package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
- package/build/browser/ontology/loadInterfaceMetadata.js +2 -1
- package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -1
- package/build/browser/public/unstable-do-not-use.js +1 -0
- package/build/browser/public/unstable-do-not-use.js.map +1 -1
- package/build/browser/queries/applyQuery.js +3 -3
- package/build/browser/queries/applyQuery.js.map +1 -1
- package/build/browser/util/UserAgent.js +2 -2
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/browser/util/exponentialBackoff.js +51 -0
- package/build/browser/util/exponentialBackoff.js.map +1 -0
- package/build/browser/util/exponentialBackoff.test.js +81 -0
- package/build/browser/util/exponentialBackoff.test.js.map +1 -0
- package/build/browser/util/extractObjectOrInterfaceType.js +9 -1
- package/build/browser/util/extractObjectOrInterfaceType.js.map +1 -1
- package/build/browser/util/extractObjectOrInterfaceType.test.js +2 -2
- package/build/browser/util/extractObjectOrInterfaceType.test.js.map +1 -1
- package/build/browser/util/streamutils.js +1 -1
- package/build/browser/util/streamutils.js.map +1 -1
- package/build/cjs/{chunk-URDXPIRU.cjs → chunk-3LPXQHP5.cjs} +116 -77
- package/build/cjs/chunk-3LPXQHP5.cjs.map +1 -0
- package/build/cjs/{chunk-BJYCRD5Y.cjs → chunk-GVGP7T5P.cjs} +375 -237
- package/build/cjs/chunk-GVGP7T5P.cjs.map +1 -0
- package/build/cjs/{createClient-BJo8T7Js.d.cts → createClient-mOlFts15.d.cts} +1 -0
- package/build/cjs/index.cjs +7 -7
- package/build/cjs/index.d.cts +1 -1
- package/build/cjs/public/internal.cjs +8 -8
- package/build/cjs/public/unstable-do-not-use.cjs +1824 -927
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
- package/build/cjs/public/unstable-do-not-use.d.cts +238 -17
- package/build/esm/Client.js +1 -1
- package/build/esm/Client.js.map +1 -1
- package/build/esm/MinimalClientContext.js.map +1 -1
- package/build/esm/actions/applyAction.js +4 -0
- package/build/esm/actions/applyAction.js.map +1 -1
- package/build/esm/createClient.js +6 -2
- package/build/esm/createClient.js.map +1 -1
- package/build/esm/createMinimalClient.js +2 -1
- package/build/esm/createMinimalClient.js.map +1 -1
- package/build/esm/fetchMetadata.test.js +11 -0
- package/build/esm/fetchMetadata.test.js.map +1 -1
- package/build/esm/index.js +2 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/intellisense.test.helpers/orderBySuggestionIsRight.js +8 -1
- package/build/esm/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -1
- package/build/esm/intellisense.test.js +14 -4
- package/build/esm/intellisense.test.js.map +1 -1
- package/build/esm/object/Cache.js +1 -1
- package/build/esm/object/Cache.js.map +1 -1
- package/build/esm/object/Cache.test.js +1 -1
- package/build/esm/object/Cache.test.js.map +1 -1
- package/build/esm/object/SimpleCache.js +1 -1
- package/build/esm/object/SimpleCache.js.map +1 -1
- package/build/esm/object/aggregate.js +2 -0
- package/build/esm/object/aggregate.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +1 -0
- package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +6 -0
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +20 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.js +4 -0
- package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.test.js +14 -0
- package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/esm/object/fetchPage.js +96 -21
- package/build/esm/object/fetchPage.js.map +1 -1
- package/build/esm/object/fetchPage.test.js +35 -1
- package/build/esm/object/fetchPage.test.js.map +1 -1
- package/build/esm/object/geotimeseriesreference.test.js +0 -2
- package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
- package/build/esm/objectSet/ObjectSet.test.js +6 -0
- package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js +31 -9
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +69 -4
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/esm/objectSet/createObjectSet.js +3 -1
- package/build/esm/objectSet/createObjectSet.js.map +1 -1
- package/build/esm/observable/LinkPayload.js +2 -0
- package/build/esm/observable/LinkPayload.js.map +1 -0
- package/build/esm/observable/ObjectPayload.js.map +1 -1
- package/build/esm/observable/ObjectSetPayload.js +2 -0
- package/build/esm/observable/ObjectSetPayload.js.map +1 -0
- package/build/esm/observable/ObservableClient/ObserveLink.js +17 -0
- package/build/esm/observable/ObservableClient/ObserveLink.js.map +1 -0
- package/build/esm/observable/ObservableClient/common.js +2 -0
- package/build/esm/observable/ObservableClient/common.js.map +1 -0
- package/build/esm/observable/ObservableClient.js +20 -0
- package/build/esm/observable/ObservableClient.js.map +1 -1
- package/build/esm/observable/Unsubscribable.js +2 -0
- package/build/esm/observable/Unsubscribable.js.map +1 -0
- package/build/esm/observable/computeObjectSetCacheKey.js +64 -0
- package/build/esm/observable/computeObjectSetCacheKey.js.map +1 -0
- package/build/esm/observable/internal/AbstractHelper.js +54 -0
- package/build/esm/observable/internal/AbstractHelper.js.map +1 -0
- package/build/esm/observable/internal/BatchContext.js +2 -0
- package/build/esm/observable/internal/BatchContext.js.map +1 -0
- package/build/esm/observable/internal/BulkObjectLoader.js +3 -3
- package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -1
- package/build/esm/observable/internal/CacheKeys.js +65 -25
- package/build/esm/observable/internal/CacheKeys.js.map +1 -1
- package/build/esm/observable/internal/Changes.js +9 -0
- package/build/esm/observable/internal/Changes.js.map +1 -1
- package/build/esm/observable/internal/KnownCacheKey.js +2 -0
- package/build/esm/observable/internal/KnownCacheKey.js.map +1 -0
- package/build/esm/observable/internal/Layer.js +0 -8
- package/build/esm/observable/internal/Layer.js.map +1 -1
- package/build/esm/observable/internal/Layers.js +151 -0
- package/build/esm/observable/internal/Layers.js.map +1 -0
- package/build/esm/observable/internal/ObservableClientImpl.js +62 -3
- package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
- package/build/esm/observable/internal/OrderByCanonicalizer.js +1 -37
- package/build/esm/observable/internal/OrderByCanonicalizer.js.map +1 -1
- package/build/esm/observable/internal/Queries.js +40 -0
- package/build/esm/observable/internal/Queries.js.map +1 -0
- package/build/esm/observable/internal/Query.js +63 -5
- package/build/esm/observable/internal/Query.js.map +1 -1
- package/build/esm/observable/internal/QuerySubscription.js +48 -0
- package/build/esm/observable/internal/QuerySubscription.js.map +1 -0
- package/build/esm/observable/internal/Store.invalidation.test.js +646 -0
- package/build/esm/observable/internal/Store.invalidation.test.js.map +1 -0
- package/build/esm/observable/internal/Store.js +89 -308
- package/build/esm/observable/internal/Store.js.map +1 -1
- package/build/esm/observable/internal/Store.test.js +330 -73
- package/build/esm/observable/internal/Store.test.js.map +1 -1
- package/build/esm/observable/internal/SubjectPayload.js +2 -0
- package/build/esm/observable/internal/SubjectPayload.js.map +1 -0
- package/build/esm/observable/internal/Subjects.js +55 -0
- package/build/esm/observable/internal/Subjects.js.map +1 -0
- package/build/esm/observable/internal/UnsubscribableWrapper.js +30 -0
- package/build/esm/observable/internal/UnsubscribableWrapper.js.map +1 -0
- package/build/esm/observable/internal/WeakRefTrie.js +61 -0
- package/build/esm/observable/internal/WeakRefTrie.js.map +1 -0
- package/build/esm/observable/internal/{ActionApplication.js → actions/ActionApplication.js} +2 -2
- package/build/esm/observable/internal/actions/ActionApplication.js.map +1 -0
- package/build/{browser/observable/internal → esm/observable/internal/actions}/OptimisticJob.js +15 -6
- package/build/esm/observable/internal/actions/OptimisticJob.js.map +1 -0
- package/build/esm/observable/internal/base-list/BaseCollectionQuery.js +2 -0
- package/build/esm/observable/internal/base-list/BaseCollectionQuery.js.map +1 -0
- package/build/esm/observable/internal/base-list/BaseListQuery.js +411 -0
- package/build/esm/observable/internal/base-list/BaseListQuery.js.map +1 -0
- package/build/esm/observable/internal/base-list/createCollectionConnectable.js +50 -0
- package/build/esm/observable/internal/base-list/createCollectionConnectable.js.map +1 -0
- package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js +597 -0
- package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -0
- package/build/esm/observable/internal/base-list/removeDuplicates.js +36 -0
- package/build/esm/observable/internal/base-list/removeDuplicates.js.map +1 -0
- package/build/esm/observable/internal/createInitEntry.js +25 -0
- package/build/esm/observable/internal/createInitEntry.js.map +1 -0
- package/build/esm/observable/internal/getObjectTypesThatInvalidate.js +216 -0
- package/build/esm/observable/internal/getObjectTypesThatInvalidate.js.map +1 -0
- package/build/esm/observable/internal/getObjectTypesThatInvalidate.test.js +382 -0
- package/build/esm/observable/internal/getObjectTypesThatInvalidate.test.js.map +1 -0
- package/build/esm/observable/internal/isObjectInstance.js +23 -0
- package/build/esm/observable/internal/isObjectInstance.js.map +1 -0
- package/build/esm/observable/internal/links/LinksHelper.js +37 -0
- package/build/esm/observable/internal/links/LinksHelper.js.map +1 -0
- package/build/esm/observable/internal/links/SpecificLinkCacheKey.js +2 -0
- package/build/esm/observable/internal/links/SpecificLinkCacheKey.js.map +1 -0
- package/build/esm/observable/internal/links/SpecificLinkQuery.js +185 -0
- package/build/esm/observable/internal/links/SpecificLinkQuery.js.map +1 -0
- package/build/esm/observable/internal/list/InterfaceListQuery.js +83 -0
- package/build/esm/observable/internal/list/InterfaceListQuery.js.map +1 -0
- package/build/esm/observable/internal/list/ListCacheKey.js +2 -0
- package/build/esm/observable/internal/list/ListCacheKey.js.map +1 -0
- package/build/esm/observable/internal/list/ListQuery.js +372 -0
- package/build/esm/observable/internal/list/ListQuery.js.map +1 -0
- package/build/esm/observable/internal/list/ListQueryOptions.js +2 -0
- package/build/esm/observable/internal/list/ListQueryOptions.js.map +1 -0
- package/build/esm/observable/internal/list/ListsHelper.js +51 -0
- package/build/esm/observable/internal/list/ListsHelper.js.map +1 -0
- package/build/esm/observable/internal/list/ObjectListQuery.js +48 -0
- package/build/esm/observable/internal/list/ObjectListQuery.js.map +1 -0
- package/build/esm/observable/internal/object/ObjectCacheKey.js +2 -0
- package/build/esm/observable/internal/object/ObjectCacheKey.js.map +1 -0
- package/build/esm/observable/internal/{ObjectQuery.js → object/ObjectQuery.js} +27 -18
- package/build/esm/observable/internal/object/ObjectQuery.js.map +1 -0
- package/build/esm/observable/internal/object/ObjectsHelper.js +48 -0
- package/build/esm/observable/internal/object/ObjectsHelper.js.map +1 -0
- package/build/esm/observable/internal/objectset/ObjectSetCacheKey.js +2 -0
- package/build/esm/observable/internal/objectset/ObjectSetCacheKey.js.map +1 -0
- package/build/esm/observable/internal/objectset/ObjectSetHelper.js +69 -0
- package/build/esm/observable/internal/objectset/ObjectSetHelper.js.map +1 -0
- package/build/esm/observable/internal/objectset/ObjectSetQuery.js +151 -0
- package/build/esm/observable/internal/objectset/ObjectSetQuery.js.map +1 -0
- package/build/esm/observable/internal/objectset/ObjectSetQueryOptions.js +2 -0
- package/build/esm/observable/internal/objectset/ObjectSetQueryOptions.js.map +1 -0
- package/build/esm/observable/internal/sorting/SortingStrategy.js +78 -0
- package/build/esm/observable/internal/sorting/SortingStrategy.js.map +1 -0
- package/build/esm/observable/internal/testUtils/invalidateList.js +23 -0
- package/build/esm/observable/internal/testUtils/invalidateList.js.map +1 -0
- package/build/esm/observable/internal/testUtils/observeLink/expectStandardObserveLink.js +69 -0
- package/build/esm/observable/internal/testUtils/observeLink/expectStandardObserveLink.js.map +1 -0
- package/build/esm/observable/internal/testUtils/observeObject/expectStandardObserveObject.js +56 -0
- package/build/esm/observable/internal/testUtils/observeObject/expectStandardObserveObject.js.map +1 -0
- package/build/esm/observable/internal/testUtils.js +72 -10
- package/build/esm/observable/internal/testUtils.js.map +1 -1
- package/build/esm/ontology/loadActionMetadata.js +3 -1
- package/build/esm/ontology/loadActionMetadata.js.map +1 -1
- package/build/esm/ontology/loadFullObjectMetadata.js +2 -1
- package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
- package/build/esm/ontology/loadInterfaceMetadata.js +2 -1
- package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -1
- package/build/esm/public/unstable-do-not-use.js +1 -0
- package/build/esm/public/unstable-do-not-use.js.map +1 -1
- package/build/esm/queries/applyQuery.js +3 -3
- package/build/esm/queries/applyQuery.js.map +1 -1
- package/build/esm/util/UserAgent.js +2 -2
- package/build/esm/util/UserAgent.js.map +1 -1
- package/build/esm/util/exponentialBackoff.js +51 -0
- package/build/esm/util/exponentialBackoff.js.map +1 -0
- package/build/esm/util/exponentialBackoff.test.js +81 -0
- package/build/esm/util/exponentialBackoff.test.js.map +1 -0
- package/build/esm/util/extractObjectOrInterfaceType.js +9 -1
- package/build/esm/util/extractObjectOrInterfaceType.js.map +1 -1
- package/build/esm/util/extractObjectOrInterfaceType.test.js +2 -2
- package/build/esm/util/extractObjectOrInterfaceType.test.js.map +1 -1
- package/build/esm/util/streamutils.js +1 -1
- package/build/esm/util/streamutils.js.map +1 -1
- package/build/types/Client.d.ts +1 -1
- package/build/types/MinimalClientContext.d.ts +1 -0
- package/build/types/MinimalClientContext.d.ts.map +1 -1
- package/build/types/actions/applyAction.d.ts.map +1 -1
- package/build/types/createClient.d.ts +1 -0
- package/build/types/createClient.d.ts.map +1 -1
- package/build/types/index.d.ts +1 -1
- package/build/types/index.d.ts.map +1 -1
- package/build/types/object/fetchPage.d.ts.map +1 -1
- package/build/types/observable/LinkPayload.d.ts +9 -0
- package/build/types/observable/LinkPayload.d.ts.map +1 -0
- package/build/types/observable/ObjectPayload.d.ts +4 -0
- package/build/types/observable/ObjectPayload.d.ts.map +1 -1
- package/build/types/observable/ObjectSetPayload.d.ts +5 -0
- package/build/types/observable/ObjectSetPayload.d.ts.map +1 -0
- package/build/types/observable/ObservableClient/ObserveLink.d.ts +32 -0
- package/build/types/observable/ObservableClient/ObserveLink.d.ts.map +1 -0
- package/build/types/observable/ObservableClient/common.d.ts +67 -0
- package/build/types/observable/ObservableClient/common.d.ts.map +1 -0
- package/build/types/observable/ObservableClient.d.ts +136 -16
- package/build/types/observable/ObservableClient.d.ts.map +1 -1
- package/build/types/observable/Unsubscribable.d.ts +3 -0
- package/build/types/observable/Unsubscribable.d.ts.map +1 -0
- package/build/types/observable/computeObjectSetCacheKey.d.ts +16 -0
- package/build/types/observable/computeObjectSetCacheKey.d.ts.map +1 -0
- package/build/types/observable/internal/AbstractHelper.d.ts +17 -0
- package/build/types/observable/internal/AbstractHelper.d.ts.map +1 -0
- package/build/types/observable/internal/BatchContext.d.ts +11 -0
- package/build/types/observable/internal/BatchContext.d.ts.map +1 -0
- package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -1
- package/build/types/observable/internal/CacheKeys.d.ts +12 -6
- package/build/types/observable/internal/CacheKeys.d.ts.map +1 -1
- package/build/types/observable/internal/Changes.d.ts +10 -5
- package/build/types/observable/internal/Changes.d.ts.map +1 -1
- package/build/types/observable/internal/KnownCacheKey.d.ts +5 -0
- package/build/types/observable/internal/KnownCacheKey.d.ts.map +1 -0
- package/build/types/observable/internal/Layer.d.ts +6 -7
- package/build/types/observable/internal/Layer.d.ts.map +1 -1
- package/build/types/observable/internal/Layers.d.ts +26 -0
- package/build/types/observable/internal/Layers.d.ts.map +1 -0
- package/build/types/observable/internal/OrderByCanonicalizer.d.ts +0 -7
- package/build/types/observable/internal/OrderByCanonicalizer.d.ts.map +1 -1
- package/build/types/observable/internal/Queries.d.ts +9 -0
- package/build/types/observable/internal/Queries.d.ts.map +1 -0
- package/build/types/observable/internal/Query.d.ts +23 -6
- package/build/types/observable/internal/Query.d.ts.map +1 -1
- package/build/types/observable/internal/QuerySubscription.d.ts +1 -0
- package/build/types/observable/internal/QuerySubscription.d.ts.map +1 -0
- package/build/types/observable/internal/Store.d.ts +43 -51
- package/build/types/observable/internal/Store.d.ts.map +1 -1
- package/build/types/observable/internal/Store.invalidation.test.d.ts +1 -0
- package/build/types/observable/internal/Store.invalidation.test.d.ts.map +1 -0
- package/build/types/observable/internal/Store.test.d.ts +4 -1
- package/build/types/observable/internal/Store.test.d.ts.map +1 -1
- package/build/types/observable/internal/SubjectPayload.d.ts +5 -0
- package/build/types/observable/internal/SubjectPayload.d.ts.map +1 -0
- package/build/types/observable/internal/Subjects.d.ts +16 -0
- package/build/types/observable/internal/Subjects.d.ts.map +1 -0
- package/build/types/observable/internal/UnsubscribableWrapper.d.ts +1 -0
- package/build/types/observable/internal/UnsubscribableWrapper.d.ts.map +1 -0
- package/build/types/observable/internal/WeakRefTrie.d.ts +13 -0
- package/build/types/observable/internal/WeakRefTrie.d.ts.map +1 -0
- package/build/types/observable/internal/{ActionApplication.d.ts → actions/ActionApplication.d.ts} +2 -2
- package/build/types/observable/internal/{ActionApplication.d.ts.map → actions/ActionApplication.d.ts.map} +1 -1
- package/build/types/observable/internal/{OptimisticJob.d.ts → actions/OptimisticJob.d.ts} +4 -4
- package/build/types/observable/internal/actions/OptimisticJob.d.ts.map +1 -0
- package/build/types/observable/internal/base-list/BaseCollectionQuery.d.ts +64 -0
- package/build/types/observable/internal/base-list/BaseCollectionQuery.d.ts.map +1 -0
- package/build/types/observable/internal/base-list/BaseListQuery.d.ts +145 -0
- package/build/types/observable/internal/base-list/BaseListQuery.d.ts.map +1 -0
- package/build/types/observable/internal/base-list/createCollectionConnectable.d.ts +39 -0
- package/build/types/observable/internal/base-list/createCollectionConnectable.d.ts.map +1 -0
- package/build/types/observable/internal/base-list/createCollectionConnectable.test.d.ts +1 -0
- package/build/types/observable/internal/base-list/createCollectionConnectable.test.d.ts.map +1 -0
- package/build/types/observable/internal/base-list/removeDuplicates.d.ts +11 -0
- package/build/types/observable/internal/base-list/removeDuplicates.d.ts.map +1 -0
- package/build/types/observable/internal/createInitEntry.d.ts +3 -0
- package/build/types/observable/internal/createInitEntry.d.ts.map +1 -0
- package/build/types/observable/internal/getObjectTypesThatInvalidate.d.ts +9 -0
- package/build/types/observable/internal/getObjectTypesThatInvalidate.d.ts.map +1 -0
- package/build/types/observable/internal/getObjectTypesThatInvalidate.test.d.ts +1 -0
- package/build/types/observable/internal/getObjectTypesThatInvalidate.test.d.ts.map +1 -0
- package/build/types/observable/internal/isObjectInstance.d.ts +5 -0
- package/build/types/observable/internal/isObjectInstance.d.ts.map +1 -0
- package/build/types/observable/internal/links/LinksHelper.d.ts +31 -0
- package/build/types/observable/internal/links/LinksHelper.d.ts.map +1 -0
- package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts +17 -0
- package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts.map +1 -0
- package/build/types/observable/internal/links/SpecificLinkQuery.d.ts +47 -0
- package/build/types/observable/internal/links/SpecificLinkQuery.d.ts.map +1 -0
- package/build/types/observable/internal/list/InterfaceListQuery.d.ts +18 -0
- package/build/types/observable/internal/list/InterfaceListQuery.d.ts.map +1 -0
- package/build/types/observable/internal/list/ListCacheKey.d.ts +7 -0
- package/build/types/observable/internal/list/ListCacheKey.d.ts.map +1 -0
- package/build/types/observable/internal/list/ListQuery.d.ts +106 -0
- package/build/types/observable/internal/list/ListQuery.d.ts.map +1 -0
- package/build/types/observable/internal/list/ListQueryOptions.d.ts +4 -0
- package/build/types/observable/internal/list/ListQueryOptions.d.ts.map +1 -0
- package/build/types/observable/internal/list/ListsHelper.d.ts +19 -0
- package/build/types/observable/internal/list/ListsHelper.d.ts.map +1 -0
- package/build/types/observable/internal/list/ObjectListQuery.d.ts +18 -0
- package/build/types/observable/internal/list/ObjectListQuery.d.ts.map +1 -0
- package/build/types/observable/internal/object/ObjectCacheKey.d.ts +5 -0
- package/build/types/observable/internal/object/ObjectCacheKey.d.ts.map +1 -0
- package/build/types/observable/internal/{ObjectQuery.d.ts → object/ObjectQuery.d.ts} +11 -9
- package/build/types/observable/internal/object/ObjectQuery.d.ts.map +1 -0
- package/build/types/observable/internal/object/ObjectsHelper.d.ts +11 -0
- package/build/types/observable/internal/object/ObjectsHelper.d.ts.map +1 -0
- package/build/types/observable/internal/objectset/ObjectSetCacheKey.d.ts +16 -0
- package/build/types/observable/internal/objectset/ObjectSetCacheKey.d.ts.map +1 -0
- package/build/types/observable/internal/objectset/ObjectSetHelper.d.ts +19 -0
- package/build/types/observable/internal/objectset/ObjectSetHelper.d.ts.map +1 -0
- package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts +34 -0
- package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts.map +1 -0
- package/build/types/observable/internal/objectset/ObjectSetQueryOptions.d.ts +18 -0
- package/build/types/observable/internal/objectset/ObjectSetQueryOptions.d.ts.map +1 -0
- package/build/types/observable/internal/sorting/SortingStrategy.d.ts +41 -0
- package/build/types/observable/internal/sorting/SortingStrategy.d.ts.map +1 -0
- package/build/types/observable/internal/testUtils/invalidateList.d.ts +9 -0
- package/build/types/observable/internal/testUtils/invalidateList.d.ts.map +1 -0
- package/build/types/observable/internal/testUtils/observeLink/expectStandardObserveLink.d.ts +46 -0
- package/build/types/observable/internal/testUtils/observeLink/expectStandardObserveLink.d.ts.map +1 -0
- package/build/types/observable/internal/testUtils/observeObject/expectStandardObserveObject.d.ts +26 -0
- package/build/types/observable/internal/testUtils/observeObject/expectStandardObserveObject.d.ts.map +1 -0
- package/build/types/observable/internal/testUtils.d.ts +26 -4
- package/build/types/observable/internal/testUtils.d.ts.map +1 -1
- package/build/types/public/unstable-do-not-use.d.ts +5 -2
- package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
- package/build/types/util/exponentialBackoff.d.ts +14 -0
- package/build/types/util/exponentialBackoff.d.ts.map +1 -0
- package/build/types/util/exponentialBackoff.test.d.ts +1 -0
- package/build/types/util/exponentialBackoff.test.d.ts.map +1 -0
- package/package.json +25 -25
- package/build/browser/observable/internal/ActionApplication.js.map +0 -1
- package/build/browser/observable/internal/ListQuery.js +0 -618
- package/build/browser/observable/internal/ListQuery.js.map +0 -1
- package/build/browser/observable/internal/ObjectQuery.js.map +0 -1
- package/build/browser/observable/internal/OptimisticJob.js.map +0 -1
- package/build/cjs/chunk-BJYCRD5Y.cjs.map +0 -1
- package/build/cjs/chunk-URDXPIRU.cjs.map +0 -1
- package/build/esm/observable/internal/ActionApplication.js.map +0 -1
- package/build/esm/observable/internal/ListQuery.js +0 -618
- package/build/esm/observable/internal/ListQuery.js.map +0 -1
- package/build/esm/observable/internal/ObjectQuery.js.map +0 -1
- package/build/esm/observable/internal/OptimisticJob.js.map +0 -1
- package/build/types/observable/internal/ListQuery.d.ts +0 -88
- package/build/types/observable/internal/ListQuery.d.ts.map +0 -1
- package/build/types/observable/internal/ObjectQuery.d.ts.map +0 -1
- 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?:
|
|
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<
|
|
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
|
-
|
|
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,
|
|
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 @@
|
|
|
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,
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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(
|
|
7
|
-
|
|
8
|
-
|
|
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":"
|
|
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 {
|
|
4
|
-
import type {
|
|
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,
|
|
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 {
|
|
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<[
|
|
10
|
-
keys(): IterableIterator<
|
|
11
|
-
get<K extends
|
|
12
|
-
set<K extends
|
|
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
|
|
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,
|
|
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":"
|
|
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 {
|
|
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 {
|
|
10
|
+
import type { Store } from "./Store.js";
|
|
11
|
+
import type { SubjectPayload } from "./SubjectPayload.js";
|
|
9
12
|
export declare abstract class Query<
|
|
10
|
-
KEY extends
|
|
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<
|
|
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<
|
|
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
|
}
|