@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.
- package/CHANGELOG.md +106 -93
- 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/derivedProperties/createWithPropertiesObjectSet.js +17 -0
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.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 +3 -1
- 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/aggregate.test.js +30 -0
- package/build/browser/object/aggregate.test.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/object/mediaUpload.js +3 -0
- package/build/browser/object/mediaUpload.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/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/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 +6 -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 +54 -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 +45 -4
- 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 +87 -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/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.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/browser/util/toDataValue.js +15 -1
- package/build/browser/util/toDataValue.js.map +1 -1
- package/build/browser/util/toDataValue.test.js +42 -2
- package/build/browser/util/toDataValue.test.js.map +1 -1
- package/build/cjs/{chunk-633AI7EA.cjs → chunk-GVGP7T5P.cjs} +407 -257
- package/build/cjs/chunk-GVGP7T5P.cjs.map +1 -0
- package/build/cjs/{chunk-26WFEZQO.cjs → chunk-YADG7KA6.cjs} +136 -84
- package/build/cjs/chunk-YADG7KA6.cjs.map +1 -0
- package/build/cjs/{createClient-BJo8T7Js.d.cts → createClient-mOlFts15.d.cts} +1 -0
- package/build/cjs/index.cjs +11 -7
- package/build/cjs/index.d.cts +2 -2
- package/build/cjs/public/internal.cjs +8 -8
- package/build/cjs/public/unstable-do-not-use.cjs +1502 -851
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
- package/build/cjs/public/unstable-do-not-use.d.cts +183 -13
- 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/derivedProperties/createWithPropertiesObjectSet.js +17 -0
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.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 +3 -1
- 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/aggregate.test.js +30 -0
- package/build/esm/object/aggregate.test.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/object/mediaUpload.js +3 -0
- package/build/esm/object/mediaUpload.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/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/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 +6 -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 +54 -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 +45 -4
- 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 +87 -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/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.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/esm/util/toDataValue.js +15 -1
- package/build/esm/util/toDataValue.js.map +1 -1
- package/build/esm/util/toDataValue.test.js +42 -2
- package/build/esm/util/toDataValue.test.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/object/mediaUpload.d.ts +2 -1
- package/build/types/object/mediaUpload.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/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 +103 -15
- 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/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 +8 -5
- package/build/types/observable/internal/Changes.d.ts.map +1 -1
- package/build/types/observable/internal/KnownCacheKey.d.ts +4 -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 +41 -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/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 +4 -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 +27 -27
- 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-26WFEZQO.cjs.map +0 -1
- package/build/cjs/chunk-633AI7EA.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
|
@@ -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?:
|
|
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<
|
|
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
|
-
|
|
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,
|
|
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 @@
|
|
|
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,
|
|
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,19 @@
|
|
|
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";
|
|
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,
|
|
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 {
|
|
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
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,cAAc,WAAY;AACxC,cACE,aACA,YACA,UACA,cACA,oBACK,MAAO;AAEd,
|
|
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
|
+
export {};
|
|
@@ -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,
|
|
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 {
|
|
11
|
-
import
|
|
5
|
+
import type { BatchContext } from "./BatchContext.js";
|
|
6
|
+
import { CacheKeys } from "./CacheKeys.js";
|
|
12
7
|
import { type Changes } from "./Changes.js";
|
|
13
|
-
import {
|
|
14
|
-
import type {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
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
|
|
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
|
-
|
|
46
|
-
|
|
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
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
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
|
-
|
|
73
|
-
|
|
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>;
|