@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
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Removes duplicate object cache keys from an array while maintaining order.
|
|
19
|
+
* Also reads each key from the batch context (for side effects).
|
|
20
|
+
*
|
|
21
|
+
* @param objectCacheKeys Array of object cache keys that may contain duplicates
|
|
22
|
+
* @param batch The batch context used to read cache entries
|
|
23
|
+
* @returns Array with duplicates removed, maintaining the original order
|
|
24
|
+
*/
|
|
25
|
+
export function removeDuplicates(objectCacheKeys, batch) {
|
|
26
|
+
const visited = new Set();
|
|
27
|
+
return objectCacheKeys.filter(key => {
|
|
28
|
+
batch.read(key);
|
|
29
|
+
if (visited.has(key)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
visited.add(key);
|
|
33
|
+
return true;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=removeDuplicates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeDuplicates.js","names":["removeDuplicates","objectCacheKeys","batch","visited","Set","filter","key","read","has","add"],"sources":["removeDuplicates.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { BatchContext } from \"../BatchContext.js\";\nimport type { ObjectCacheKey } from \"../object/ObjectCacheKey.js\";\n\n/**\n * Removes duplicate object cache keys from an array while maintaining order.\n * Also reads each key from the batch context (for side effects).\n *\n * @param objectCacheKeys Array of object cache keys that may contain duplicates\n * @param batch The batch context used to read cache entries\n * @returns Array with duplicates removed, maintaining the original order\n */\nexport function removeDuplicates(\n objectCacheKeys: ObjectCacheKey[],\n batch: BatchContext,\n): ObjectCacheKey[] {\n const visited = new Set<ObjectCacheKey>();\n return objectCacheKeys.filter((key) => {\n batch.read(key);\n if (visited.has(key)) {\n return false;\n }\n visited.add(key);\n return true;\n });\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,gBAAgBA,CAC9BC,eAAiC,EACjCC,KAAmB,EACD;EAClB,MAAMC,OAAO,GAAG,IAAIC,GAAG,CAAiB,CAAC;EACzC,OAAOH,eAAe,CAACI,MAAM,CAAEC,GAAG,IAAK;IACrCJ,KAAK,CAACK,IAAI,CAACD,GAAG,CAAC;IACf,IAAIH,OAAO,CAACK,GAAG,CAACF,GAAG,CAAC,EAAE;MACpB,OAAO,KAAK;IACd;IACAH,OAAO,CAACM,GAAG,CAACH,GAAG,CAAC;IAChB,OAAO,IAAI;EACb,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
export function createInitEntry(cacheKey) {
|
|
18
|
+
return {
|
|
19
|
+
cacheKey,
|
|
20
|
+
status: "init",
|
|
21
|
+
value: undefined,
|
|
22
|
+
lastUpdated: 0
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=createInitEntry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createInitEntry.js","names":["createInitEntry","cacheKey","status","value","undefined","lastUpdated"],"sources":["createInitEntry.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { KnownCacheKey } from \"./KnownCacheKey.js\";\nimport type { Entry } from \"./Layer.js\";\n\nexport function createInitEntry(cacheKey: KnownCacheKey): Entry<any> {\n return {\n cacheKey,\n status: \"init\",\n value: undefined,\n lastUpdated: 0,\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,OAAO,SAASA,eAAeA,CAACC,QAAuB,EAAc;EACnE,OAAO;IACLA,QAAQ;IACRC,MAAM,EAAE,MAAM;IACdC,KAAK,EAAEC,SAAS;IAChBC,WAAW,EAAE;EACf,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import invariant from "tiny-invariant";
|
|
18
|
+
// Suppose we did an object set that is basically
|
|
19
|
+
// A.where()
|
|
20
|
+
// pivot(B).where()
|
|
21
|
+
// pivot(C).where()
|
|
22
|
+
// pivot(A).where()
|
|
23
|
+
//
|
|
24
|
+
// Any change to A needs to invalidate the chain because of the inner most A.
|
|
25
|
+
//
|
|
26
|
+
// But B.pivotTo(A) does not need all A's to invalidate the chain.
|
|
27
|
+
//
|
|
28
|
+
// For now we are keeping things conservative and just invalidating A either way,
|
|
29
|
+
// but we can make this better.
|
|
30
|
+
|
|
31
|
+
export async function getObjectTypesThatInvalidate(mc, objectSet) {
|
|
32
|
+
const counts = {};
|
|
33
|
+
const resultType = await calcObjectSet(objectSet, {
|
|
34
|
+
counts,
|
|
35
|
+
methodInput: undefined,
|
|
36
|
+
ontologyProvider: mc.ontologyProvider
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
// we need to uncount the final result type
|
|
40
|
+
const tweaked = {
|
|
41
|
+
...counts,
|
|
42
|
+
[resultType.apiName]: counts[resultType.apiName] - 1
|
|
43
|
+
};
|
|
44
|
+
return {
|
|
45
|
+
resultType,
|
|
46
|
+
counts,
|
|
47
|
+
invalidationSet: new Set(Object.entries(tweaked).filter(([, v]) => v > 0).map(([k]) => k))
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
async function calcObjectSet(os, ctx) {
|
|
51
|
+
const op = ctx.ontologyProvider;
|
|
52
|
+
async function bumpObject(apiName) {
|
|
53
|
+
const objectType = await op.getObjectDefinition(apiName);
|
|
54
|
+
ctx.counts[apiName] = (ctx.counts[apiName] ?? 0) + 1;
|
|
55
|
+
return objectType;
|
|
56
|
+
}
|
|
57
|
+
async function bumpInterface(apiName) {
|
|
58
|
+
const interfaceDef = await op.getInterfaceDefinition(apiName);
|
|
59
|
+
for (const s of interfaceDef.implementedBy ?? []) {
|
|
60
|
+
ctx.counts[s] = (ctx.counts[s] ?? 0) + 1;
|
|
61
|
+
}
|
|
62
|
+
return interfaceDef;
|
|
63
|
+
}
|
|
64
|
+
switch (os.type) {
|
|
65
|
+
case "base":
|
|
66
|
+
return await bumpObject(os.objectType);
|
|
67
|
+
case "interfaceBase":
|
|
68
|
+
return await bumpInterface(os.interfaceType);
|
|
69
|
+
case "interfaceLinkSearchAround":
|
|
70
|
+
{
|
|
71
|
+
const srcDef = await calcObjectSet(os.objectSet, ctx);
|
|
72
|
+
!(srcDef.type === "interface") ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
|
|
73
|
+
for (const [k, v] of Object.entries(srcDef.links)) {
|
|
74
|
+
if (k === os.interfaceLink) {
|
|
75
|
+
if (v.targetType === "object") {
|
|
76
|
+
return await bumpObject(v.targetType);
|
|
77
|
+
}
|
|
78
|
+
return await bumpInterface(v.targetType);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// if we got here then we did not find the link and something is wrong.
|
|
83
|
+
throw new Error(`Could not find link ${os.interfaceLink} in object set ${JSON.stringify(os.objectSet)}`);
|
|
84
|
+
}
|
|
85
|
+
case "searchAround":
|
|
86
|
+
{
|
|
87
|
+
const contextDef = await calcObjectSet(os.objectSet, ctx);
|
|
88
|
+
!(contextDef.type === "object") ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
|
|
89
|
+
for (const [k, v] of Object.entries(contextDef.links)) {
|
|
90
|
+
if (k === os.link) {
|
|
91
|
+
return await bumpObject(v.targetType);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// if we got here then we did not find the link and something is wrong.
|
|
96
|
+
throw new Error(`Could not find link ${os.link} in object set ${JSON.stringify(os.objectSet)}`);
|
|
97
|
+
}
|
|
98
|
+
case "filter":
|
|
99
|
+
// for the simple version of this, we can ignore the filter being based on any RDPs because
|
|
100
|
+
// our RDP handling will ensure we invalidate based on those.
|
|
101
|
+
return calcObjectSet(os.objectSet, ctx);
|
|
102
|
+
case "union":
|
|
103
|
+
case "subtract":
|
|
104
|
+
case "intersect":
|
|
105
|
+
// all of these entries need their counts to be merged as the max of each
|
|
106
|
+
|
|
107
|
+
// suppose you have a simple `Union(A, A)`. We would end up with A:2
|
|
108
|
+
// but we only need A:1.
|
|
109
|
+
|
|
110
|
+
// suppose you have `Union(A->B, A->B)`. Now you end up with A:2, B:2,
|
|
111
|
+
// but we only want A:1, B:1.
|
|
112
|
+
|
|
113
|
+
// suppose you have `Union(A->B->A->B, A->B)`. Now you end up with A:3, B:2,
|
|
114
|
+
// but we only want A:2, B:2.
|
|
115
|
+
|
|
116
|
+
const returnTypes = await Promise.all(os.objectSets.map(async os => {
|
|
117
|
+
const counts = {};
|
|
118
|
+
const r = await calcObjectSet(os, {
|
|
119
|
+
...ctx,
|
|
120
|
+
counts
|
|
121
|
+
});
|
|
122
|
+
return {
|
|
123
|
+
r,
|
|
124
|
+
counts
|
|
125
|
+
};
|
|
126
|
+
}));
|
|
127
|
+
for (const {
|
|
128
|
+
counts
|
|
129
|
+
} of returnTypes) {
|
|
130
|
+
for (const [k, v] of Object.entries(counts)) {
|
|
131
|
+
ctx.counts[k] = Math.max(ctx.counts[k] ?? 0, v);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (returnTypes.length === 0) {
|
|
135
|
+
throw new Error(`Could not find any context types for set operation`);
|
|
136
|
+
}
|
|
137
|
+
const allMatch = returnTypes.every(({
|
|
138
|
+
r
|
|
139
|
+
}) => r.apiName === returnTypes[0].r.apiName);
|
|
140
|
+
if (!allMatch) {
|
|
141
|
+
throw new Error(`Incompatible context types found for set operation`);
|
|
142
|
+
}
|
|
143
|
+
return returnTypes[0].r;
|
|
144
|
+
case "withProperties":
|
|
145
|
+
// Everything in an RDP chain needs to invalidate us for now
|
|
146
|
+
for (const [, v] of Object.entries(os.derivedProperties)) {
|
|
147
|
+
await calcRdp(v, {
|
|
148
|
+
...ctx,
|
|
149
|
+
methodInput: os.objectSet
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
return calcObjectSet(os.objectSet, {
|
|
153
|
+
...ctx,
|
|
154
|
+
methodInput: os.objectSet
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
// used by rdps
|
|
158
|
+
case "methodInput":
|
|
159
|
+
!ctx.methodInput ? process.env.NODE_ENV !== "production" ? invariant(false, "methodInput must be provided") : invariant(false) : void 0;
|
|
160
|
+
|
|
161
|
+
// we only call this to get the context type, so we give it a new ctx
|
|
162
|
+
// otherwise it will double count everything
|
|
163
|
+
return await calcObjectSet(ctx.methodInput, {
|
|
164
|
+
...ctx,
|
|
165
|
+
counts: {}
|
|
166
|
+
});
|
|
167
|
+
case "asType":
|
|
168
|
+
// we don't currently support this anywhere.
|
|
169
|
+
case "asBaseObjectTypes":
|
|
170
|
+
// We don't currently support this because it could return multiple object types conceptually
|
|
171
|
+
// internally, we actually use it this way but we shouldn't be finding that object sets.
|
|
172
|
+
case "reference":
|
|
173
|
+
// reference is particularly problematic because we cannot answer the question about
|
|
174
|
+
// which types without loading the object set definition (and it can change).
|
|
175
|
+
case "static":
|
|
176
|
+
// static is also a problem as we cannot know what the types are without loading them
|
|
177
|
+
throw new Error(`Unsupported ObjectSet type ${os.type}`);
|
|
178
|
+
case "nearestNeighbors":
|
|
179
|
+
return calcObjectSet(os.objectSet, ctx);
|
|
180
|
+
default:
|
|
181
|
+
throw new Error(`Unhandled ObjectSet type ${os.type}`);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
async function calcRdp(dpd, ctx) {
|
|
185
|
+
switch (dpd.type) {
|
|
186
|
+
// Operates on object sets
|
|
187
|
+
case "selection":
|
|
188
|
+
return await calcObjectSet(dpd.objectSet, ctx);
|
|
189
|
+
|
|
190
|
+
// Operates on single property
|
|
191
|
+
case "negate":
|
|
192
|
+
case "extract":
|
|
193
|
+
case "absoluteValue":
|
|
194
|
+
return await calcRdp(dpd.property, ctx);
|
|
195
|
+
|
|
196
|
+
// Operates on many (unordered) properties
|
|
197
|
+
case "least":
|
|
198
|
+
case "greatest":
|
|
199
|
+
case "add":
|
|
200
|
+
case "multiply":
|
|
201
|
+
return await Promise.all(dpd.properties.map(innerDpd => calcRdp(innerDpd, ctx)));
|
|
202
|
+
|
|
203
|
+
// Operates on 2 ordered properties
|
|
204
|
+
case "subtract":
|
|
205
|
+
case "divide":
|
|
206
|
+
return await Promise.all([calcRdp(dpd.left, ctx), calcRdp(dpd.right, ctx)]);
|
|
207
|
+
|
|
208
|
+
// Operates on a single property name
|
|
209
|
+
case "property":
|
|
210
|
+
// noop
|
|
211
|
+
return;
|
|
212
|
+
default:
|
|
213
|
+
throw new Error(`Unhandled DerivedPropertyDefinition type ${dpd.type}`);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=getObjectTypesThatInvalidate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getObjectTypesThatInvalidate.js","names":["invariant","getObjectTypesThatInvalidate","mc","objectSet","counts","resultType","calcObjectSet","methodInput","undefined","ontologyProvider","tweaked","apiName","invalidationSet","Set","Object","entries","filter","v","map","k","os","ctx","op","bumpObject","objectType","getObjectDefinition","bumpInterface","interfaceDef","getInterfaceDefinition","s","implementedBy","type","interfaceType","srcDef","process","env","NODE_ENV","links","interfaceLink","targetType","Error","JSON","stringify","contextDef","link","returnTypes","Promise","all","objectSets","r","Math","max","length","allMatch","every","derivedProperties","calcRdp","dpd","property","properties","innerDpd","left","right"],"sources":["getObjectTypesThatInvalidate.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { InterfaceMetadata } from \"@osdk/api\";\nimport type {\n DerivedPropertyDefinition,\n ObjectSet as WireObjectSet,\n} from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport type { MinimalClient } from \"../../MinimalClientContext.js\";\nimport type {\n FetchedObjectTypeDefinition,\n OntologyProvider,\n} from \"../../ontology/OntologyProvider.js\";\n\n// Suppose we did an object set that is basically\n// A.where()\n// pivot(B).where()\n// pivot(C).where()\n// pivot(A).where()\n//\n// Any change to A needs to invalidate the chain because of the inner most A.\n//\n// But B.pivotTo(A) does not need all A's to invalidate the chain.\n//\n// For now we are keeping things conservative and just invalidating A either way,\n// but we can make this better.\n\nexport async function getObjectTypesThatInvalidate(\n mc: MinimalClient,\n objectSet: WireObjectSet,\n): Promise<{\n resultType: FetchedObjectTypeDefinition | InterfaceMetadata;\n counts: Record<string, number>;\n invalidationSet: Set<string>;\n}> {\n const counts: Record<string, number> = {};\n\n const resultType = await calcObjectSet(\n objectSet,\n { counts, methodInput: undefined, ontologyProvider: mc.ontologyProvider },\n );\n\n // we need to uncount the final result type\n const tweaked = {\n ...counts,\n [resultType.apiName]: (counts[resultType.apiName]) - 1,\n };\n\n return {\n resultType,\n counts,\n invalidationSet: new Set(\n Object.entries(tweaked).filter(([, v]) => v > 0).map(([k]) => k),\n ),\n };\n}\n\ninterface Ctx {\n counts: Record<string, number>;\n methodInput: WireObjectSet | undefined;\n ontologyProvider: OntologyProvider;\n}\n\nasync function calcObjectSet(\n os: WireObjectSet,\n ctx: Ctx,\n): Promise<FetchedObjectTypeDefinition | InterfaceMetadata> {\n const op = ctx.ontologyProvider;\n\n async function bumpObject(apiName: string) {\n const objectType = await op.getObjectDefinition(apiName);\n ctx.counts[apiName] = (ctx.counts[apiName] ?? 0) + 1;\n\n return objectType;\n }\n\n async function bumpInterface(apiName: string) {\n const interfaceDef = await op.getInterfaceDefinition(apiName);\n for (const s of interfaceDef.implementedBy ?? []) {\n ctx.counts[s] = (ctx.counts[s] ?? 0) + 1;\n }\n return interfaceDef;\n }\n\n switch (os.type) {\n case \"base\":\n return await bumpObject(os.objectType);\n\n case \"interfaceBase\":\n return await bumpInterface(os.interfaceType);\n\n case \"interfaceLinkSearchAround\": {\n const srcDef = await calcObjectSet(os.objectSet, ctx);\n invariant(srcDef.type === \"interface\");\n\n for (const [k, v] of Object.entries(srcDef.links)) {\n if (k === os.interfaceLink) {\n if (v.targetType === \"object\") {\n return await bumpObject(v.targetType);\n }\n return await bumpInterface(v.targetType);\n }\n }\n\n // if we got here then we did not find the link and something is wrong.\n throw new Error(\n `Could not find link ${os.interfaceLink} in object set ${\n JSON.stringify(os.objectSet)\n }`,\n );\n }\n\n case \"searchAround\": {\n const contextDef = await calcObjectSet(os.objectSet, ctx);\n invariant(contextDef.type === \"object\");\n\n for (const [k, v] of Object.entries(contextDef.links)) {\n if (k === os.link) {\n return await bumpObject(v.targetType);\n }\n }\n\n // if we got here then we did not find the link and something is wrong.\n throw new Error(\n `Could not find link ${os.link} in object set ${\n JSON.stringify(os.objectSet)\n }`,\n );\n }\n\n case \"filter\":\n // for the simple version of this, we can ignore the filter being based on any RDPs because\n // our RDP handling will ensure we invalidate based on those.\n return calcObjectSet(os.objectSet, ctx);\n\n case \"union\":\n case \"subtract\":\n case \"intersect\":\n // all of these entries need their counts to be merged as the max of each\n\n // suppose you have a simple `Union(A, A)`. We would end up with A:2\n // but we only need A:1.\n\n // suppose you have `Union(A->B, A->B)`. Now you end up with A:2, B:2,\n // but we only want A:1, B:1.\n\n // suppose you have `Union(A->B->A->B, A->B)`. Now you end up with A:3, B:2,\n // but we only want A:2, B:2.\n\n const returnTypes = await Promise.all(\n os.objectSets.map(async (os) => {\n const counts: Record<string, number> = {};\n const r = await calcObjectSet(os, { ...ctx, counts });\n return { r, counts };\n }),\n );\n\n for (const { counts } of returnTypes) {\n for (const [k, v] of Object.entries(counts)) {\n ctx.counts[k] = Math.max(ctx.counts[k] ?? 0, v);\n }\n }\n\n if (returnTypes.length === 0) {\n throw new Error(\n `Could not find any context types for set operation`,\n );\n }\n\n const allMatch = returnTypes.every(({ r }) =>\n r.apiName === returnTypes[0].r.apiName\n );\n\n if (!allMatch) {\n throw new Error(\n `Incompatible context types found for set operation`,\n );\n }\n\n return returnTypes[0].r;\n\n case \"withProperties\":\n // Everything in an RDP chain needs to invalidate us for now\n for (const [, v] of Object.entries(os.derivedProperties)) {\n await calcRdp(v, { ...ctx, methodInput: os.objectSet });\n }\n return calcObjectSet(os.objectSet, { ...ctx, methodInput: os.objectSet });\n\n // used by rdps\n case \"methodInput\":\n invariant(ctx.methodInput, \"methodInput must be provided\");\n\n // we only call this to get the context type, so we give it a new ctx\n // otherwise it will double count everything\n return (await calcObjectSet(ctx.methodInput, { ...ctx, counts: {} }));\n\n case \"asType\":\n // we don't currently support this anywhere.\n case \"asBaseObjectTypes\":\n // We don't currently support this because it could return multiple object types conceptually\n // internally, we actually use it this way but we shouldn't be finding that object sets.\n case \"reference\":\n // reference is particularly problematic because we cannot answer the question about\n // which types without loading the object set definition (and it can change).\n case \"static\":\n // static is also a problem as we cannot know what the types are without loading them\n throw new Error(`Unsupported ObjectSet type ${os.type}`);\n\n case \"nearestNeighbors\":\n return calcObjectSet(os.objectSet, ctx);\n\n default:\n throw new Error(\n `Unhandled ObjectSet type ${(os as any).type}`,\n );\n }\n}\n\nasync function calcRdp(\n dpd: DerivedPropertyDefinition,\n ctx: Ctx,\n): Promise<unknown> {\n switch (dpd.type) {\n // Operates on object sets\n case \"selection\":\n return await calcObjectSet(dpd.objectSet, ctx);\n\n // Operates on single property\n case \"negate\":\n case \"extract\":\n case \"absoluteValue\":\n return await calcRdp(dpd.property, ctx);\n\n // Operates on many (unordered) properties\n case \"least\":\n case \"greatest\":\n case \"add\":\n case \"multiply\":\n return await Promise.all(\n dpd.properties.map(innerDpd => calcRdp(innerDpd, ctx)),\n );\n\n // Operates on 2 ordered properties\n case \"subtract\":\n case \"divide\":\n return await Promise.all([\n calcRdp(dpd.left, ctx),\n calcRdp(dpd.right, ctx),\n ]);\n\n // Operates on a single property name\n case \"property\":\n // noop\n return;\n\n default:\n throw new Error(\n `Unhandled DerivedPropertyDefinition type ${(dpd as any).type}`,\n );\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA,OAAOA,SAAS,MAAM,gBAAgB;AAOtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,eAAeC,4BAA4BA,CAChDC,EAAiB,EACjBC,SAAwB,EAKvB;EACD,MAAMC,MAA8B,GAAG,CAAC,CAAC;EAEzC,MAAMC,UAAU,GAAG,MAAMC,aAAa,CACpCH,SAAS,EACT;IAAEC,MAAM;IAAEG,WAAW,EAAEC,SAAS;IAAEC,gBAAgB,EAAEP,EAAE,CAACO;EAAiB,CAC1E,CAAC;;EAED;EACA,MAAMC,OAAO,GAAG;IACd,GAAGN,MAAM;IACT,CAACC,UAAU,CAACM,OAAO,GAAIP,MAAM,CAACC,UAAU,CAACM,OAAO,CAAC,GAAI;EACvD,CAAC;EAED,OAAO;IACLN,UAAU;IACVD,MAAM;IACNQ,eAAe,EAAE,IAAIC,GAAG,CACtBC,MAAM,CAACC,OAAO,CAACL,OAAO,CAAC,CAACM,MAAM,CAAC,CAAC,GAAGC,CAAC,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,CAAC,CAAC,KAAKA,CAAC,CACjE;EACF,CAAC;AACH;AAQA,eAAeb,aAAaA,CAC1Bc,EAAiB,EACjBC,GAAQ,EACkD;EAC1D,MAAMC,EAAE,GAAGD,GAAG,CAACZ,gBAAgB;EAE/B,eAAec,UAAUA,CAACZ,OAAe,EAAE;IACzC,MAAMa,UAAU,GAAG,MAAMF,EAAE,CAACG,mBAAmB,CAACd,OAAO,CAAC;IACxDU,GAAG,CAACjB,MAAM,CAACO,OAAO,CAAC,GAAG,CAACU,GAAG,CAACjB,MAAM,CAACO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IAEpD,OAAOa,UAAU;EACnB;EAEA,eAAeE,aAAaA,CAACf,OAAe,EAAE;IAC5C,MAAMgB,YAAY,GAAG,MAAML,EAAE,CAACM,sBAAsB,CAACjB,OAAO,CAAC;IAC7D,KAAK,MAAMkB,CAAC,IAAIF,YAAY,CAACG,aAAa,IAAI,EAAE,EAAE;MAChDT,GAAG,CAACjB,MAAM,CAACyB,CAAC,CAAC,GAAG,CAACR,GAAG,CAACjB,MAAM,CAACyB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1C;IACA,OAAOF,YAAY;EACrB;EAEA,QAAQP,EAAE,CAACW,IAAI;IACb,KAAK,MAAM;MACT,OAAO,MAAMR,UAAU,CAACH,EAAE,CAACI,UAAU,CAAC;IAExC,KAAK,eAAe;MAClB,OAAO,MAAME,aAAa,CAACN,EAAE,CAACY,aAAa,CAAC;IAE9C,KAAK,2BAA2B;MAAE;QAChC,MAAMC,MAAM,GAAG,MAAM3B,aAAa,CAACc,EAAE,CAACjB,SAAS,EAAEkB,GAAG,CAAC;QACrD,EAAUY,MAAM,CAACF,IAAI,KAAK,WAAW,IAAAG,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAArCpC,SAAS,UAATA,SAAS;QAET,KAAK,MAAM,CAACmB,CAAC,EAAEF,CAAC,CAAC,IAAIH,MAAM,CAACC,OAAO,CAACkB,MAAM,CAACI,KAAK,CAAC,EAAE;UACjD,IAAIlB,CAAC,KAAKC,EAAE,CAACkB,aAAa,EAAE;YAC1B,IAAIrB,CAAC,CAACsB,UAAU,KAAK,QAAQ,EAAE;cAC7B,OAAO,MAAMhB,UAAU,CAACN,CAAC,CAACsB,UAAU,CAAC;YACvC;YACA,OAAO,MAAMb,aAAa,CAACT,CAAC,CAACsB,UAAU,CAAC;UAC1C;QACF;;QAEA;QACA,MAAM,IAAIC,KAAK,CACb,uBAAuBpB,EAAE,CAACkB,aAAa,kBACrCG,IAAI,CAACC,SAAS,CAACtB,EAAE,CAACjB,SAAS,CAAC,EAEhC,CAAC;MACH;IAEA,KAAK,cAAc;MAAE;QACnB,MAAMwC,UAAU,GAAG,MAAMrC,aAAa,CAACc,EAAE,CAACjB,SAAS,EAAEkB,GAAG,CAAC;QACzD,EAAUsB,UAAU,CAACZ,IAAI,KAAK,QAAQ,IAAAG,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAtCpC,SAAS,UAATA,SAAS;QAET,KAAK,MAAM,CAACmB,CAAC,EAAEF,CAAC,CAAC,IAAIH,MAAM,CAACC,OAAO,CAAC4B,UAAU,CAACN,KAAK,CAAC,EAAE;UACrD,IAAIlB,CAAC,KAAKC,EAAE,CAACwB,IAAI,EAAE;YACjB,OAAO,MAAMrB,UAAU,CAACN,CAAC,CAACsB,UAAU,CAAC;UACvC;QACF;;QAEA;QACA,MAAM,IAAIC,KAAK,CACb,uBAAuBpB,EAAE,CAACwB,IAAI,kBAC5BH,IAAI,CAACC,SAAS,CAACtB,EAAE,CAACjB,SAAS,CAAC,EAEhC,CAAC;MACH;IAEA,KAAK,QAAQ;MACX;MACA;MACA,OAAOG,aAAa,CAACc,EAAE,CAACjB,SAAS,EAAEkB,GAAG,CAAC;IAEzC,KAAK,OAAO;IACZ,KAAK,UAAU;IACf,KAAK,WAAW;MACd;;MAEA;MACA;;MAEA;MACA;;MAEA;MACA;;MAEA,MAAMwB,WAAW,GAAG,MAAMC,OAAO,CAACC,GAAG,CACnC3B,EAAE,CAAC4B,UAAU,CAAC9B,GAAG,CAAC,MAAOE,EAAE,IAAK;QAC9B,MAAMhB,MAA8B,GAAG,CAAC,CAAC;QACzC,MAAM6C,CAAC,GAAG,MAAM3C,aAAa,CAACc,EAAE,EAAE;UAAE,GAAGC,GAAG;UAAEjB;QAAO,CAAC,CAAC;QACrD,OAAO;UAAE6C,CAAC;UAAE7C;QAAO,CAAC;MACtB,CAAC,CACH,CAAC;MAED,KAAK,MAAM;QAAEA;MAAO,CAAC,IAAIyC,WAAW,EAAE;QACpC,KAAK,MAAM,CAAC1B,CAAC,EAAEF,CAAC,CAAC,IAAIH,MAAM,CAACC,OAAO,CAACX,MAAM,CAAC,EAAE;UAC3CiB,GAAG,CAACjB,MAAM,CAACe,CAAC,CAAC,GAAG+B,IAAI,CAACC,GAAG,CAAC9B,GAAG,CAACjB,MAAM,CAACe,CAAC,CAAC,IAAI,CAAC,EAAEF,CAAC,CAAC;QACjD;MACF;MAEA,IAAI4B,WAAW,CAACO,MAAM,KAAK,CAAC,EAAE;QAC5B,MAAM,IAAIZ,KAAK,CACb,oDACF,CAAC;MACH;MAEA,MAAMa,QAAQ,GAAGR,WAAW,CAACS,KAAK,CAAC,CAAC;QAAEL;MAAE,CAAC,KACvCA,CAAC,CAACtC,OAAO,KAAKkC,WAAW,CAAC,CAAC,CAAC,CAACI,CAAC,CAACtC,OACjC,CAAC;MAED,IAAI,CAAC0C,QAAQ,EAAE;QACb,MAAM,IAAIb,KAAK,CACb,oDACF,CAAC;MACH;MAEA,OAAOK,WAAW,CAAC,CAAC,CAAC,CAACI,CAAC;IAEzB,KAAK,gBAAgB;MACnB;MACA,KAAK,MAAM,GAAGhC,CAAC,CAAC,IAAIH,MAAM,CAACC,OAAO,CAACK,EAAE,CAACmC,iBAAiB,CAAC,EAAE;QACxD,MAAMC,OAAO,CAACvC,CAAC,EAAE;UAAE,GAAGI,GAAG;UAAEd,WAAW,EAAEa,EAAE,CAACjB;QAAU,CAAC,CAAC;MACzD;MACA,OAAOG,aAAa,CAACc,EAAE,CAACjB,SAAS,EAAE;QAAE,GAAGkB,GAAG;QAAEd,WAAW,EAAEa,EAAE,CAACjB;MAAU,CAAC,CAAC;;IAE3E;IACA,KAAK,aAAa;MAChB,CAAUkB,GAAG,CAACd,WAAW,GAAA2B,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAzBpC,SAAS,QAAkB,8BAA8B,IAAzDA,SAAS;;MAET;MACA;MACA,OAAQ,MAAMM,aAAa,CAACe,GAAG,CAACd,WAAW,EAAE;QAAE,GAAGc,GAAG;QAAEjB,MAAM,EAAE,CAAC;MAAE,CAAC,CAAC;IAEtE,KAAK,QAAQ;IACX;IACF,KAAK,mBAAmB;IACtB;IACA;IACF,KAAK,WAAW;IAChB;IACA;IACA,KAAK,QAAQ;MACX;MACA,MAAM,IAAIoC,KAAK,CAAC,8BAA8BpB,EAAE,CAACW,IAAI,EAAE,CAAC;IAE1D,KAAK,kBAAkB;MACrB,OAAOzB,aAAa,CAACc,EAAE,CAACjB,SAAS,EAAEkB,GAAG,CAAC;IAEzC;MACE,MAAM,IAAImB,KAAK,CACb,4BAA6BpB,EAAE,CAASW,IAAI,EAC9C,CAAC;EACL;AACF;AAEA,eAAeyB,OAAOA,CACpBC,GAA8B,EAC9BpC,GAAQ,EACU;EAClB,QAAQoC,GAAG,CAAC1B,IAAI;IACd;IACA,KAAK,WAAW;MACd,OAAO,MAAMzB,aAAa,CAACmD,GAAG,CAACtD,SAAS,EAAEkB,GAAG,CAAC;;IAEhD;IACA,KAAK,QAAQ;IACb,KAAK,SAAS;IACd,KAAK,eAAe;MAClB,OAAO,MAAMmC,OAAO,CAACC,GAAG,CAACC,QAAQ,EAAErC,GAAG,CAAC;;IAEzC;IACA,KAAK,OAAO;IACZ,KAAK,UAAU;IACf,KAAK,KAAK;IACV,KAAK,UAAU;MACb,OAAO,MAAMyB,OAAO,CAACC,GAAG,CACtBU,GAAG,CAACE,UAAU,CAACzC,GAAG,CAAC0C,QAAQ,IAAIJ,OAAO,CAACI,QAAQ,EAAEvC,GAAG,CAAC,CACvD,CAAC;;IAEH;IACA,KAAK,UAAU;IACf,KAAK,QAAQ;MACX,OAAO,MAAMyB,OAAO,CAACC,GAAG,CAAC,CACvBS,OAAO,CAACC,GAAG,CAACI,IAAI,EAAExC,GAAG,CAAC,EACtBmC,OAAO,CAACC,GAAG,CAACK,KAAK,EAAEzC,GAAG,CAAC,CACxB,CAAC;;IAEJ;IACA,KAAK,UAAU;MACb;MACA;IAEF;MACE,MAAM,IAAImB,KAAK,CACb,4CAA6CiB,GAAG,CAAS1B,IAAI,EAC/D,CAAC;EACL;AACF","ignoreList":[]}
|