@osdk/client 2.1.0-beta.9 → 2.1.0
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 +529 -0
- package/build/browser/Client.js +7 -0
- package/build/browser/Client.js.map +1 -1
- package/build/browser/Definitions.test.js +1 -0
- package/build/browser/Definitions.test.js.map +1 -1
- package/build/browser/Logger.js +0 -15
- package/build/browser/Logger.js.map +1 -1
- package/build/browser/MinimalClientContext.js +0 -15
- package/build/browser/MinimalClientContext.js.map +1 -1
- package/build/browser/ResultOrError.js +1 -0
- package/build/browser/ResultOrError.js.map +1 -1
- package/build/browser/SatisfiesSemver.js +0 -15
- package/build/browser/SatisfiesSemver.js.map +1 -1
- package/build/browser/SatisfiesSemver.test.js +1 -0
- package/build/browser/SatisfiesSemver.test.js.map +1 -1
- package/build/browser/__unstable/ConjureSupport.js +8 -2
- package/build/browser/__unstable/ConjureSupport.js.map +1 -1
- package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js +5 -1
- package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
- package/build/browser/actions/ActionValidationError.js +1 -1
- package/build/browser/actions/ActionValidationError.js.map +1 -1
- package/build/browser/actions/actions.test.js +85 -4
- package/build/browser/actions/actions.test.js.map +1 -1
- package/build/browser/actions/applyAction.js +2 -1
- package/build/browser/actions/applyAction.js.map +1 -1
- package/build/browser/createClient.js +37 -26
- package/build/browser/createClient.js.map +1 -1
- package/build/browser/createClient.test.js +25 -0
- package/build/browser/createClient.test.js.map +1 -1
- package/build/browser/createGeotimeSeriesProperty.js +5 -3
- package/build/browser/createGeotimeSeriesProperty.js.map +1 -1
- package/build/browser/createMediaReferenceProperty.js +47 -0
- package/build/browser/createMediaReferenceProperty.js.map +1 -0
- package/build/browser/createMinimalClient.js +8 -1
- package/build/browser/createMinimalClient.js.map +1 -1
- package/build/browser/createPlatformClient.js +1 -0
- package/build/browser/createPlatformClient.js.map +1 -1
- package/build/browser/createTimeseriesProperty.js +2 -1
- package/build/browser/createTimeseriesProperty.js.map +1 -1
- package/build/browser/definitions/LinkDefinitions.test.js +4 -0
- package/build/browser/definitions/LinkDefinitions.test.js.map +1 -1
- package/build/browser/fetchMetadata.js +2 -0
- package/build/browser/fetchMetadata.js.map +1 -1
- package/build/browser/fetchMetadata.test.js +19 -0
- package/build/browser/fetchMetadata.test.js.map +1 -1
- package/build/browser/index.js +2 -0
- package/build/browser/index.js.map +1 -1
- package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js +3 -1
- package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
- package/build/browser/intellisense.test.js +4 -1
- package/build/browser/intellisense.test.js.map +1 -1
- package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js +2 -0
- package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyAggregationClause.js +2 -0
- package/build/browser/internal/conversions/modernToLegacyAggregationClause.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyGroupByClause.js +1 -0
- package/build/browser/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js +67 -18
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +402 -14
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
- package/build/browser/object/AttachmentUpload.js +6 -13
- package/build/browser/object/AttachmentUpload.js.map +1 -1
- package/build/browser/object/Cache.js +27 -0
- package/build/browser/object/Cache.js.map +1 -1
- package/build/browser/object/Cache.test.js +10 -3
- package/build/browser/object/Cache.test.js.map +1 -1
- package/build/browser/object/SimpleCache.js +20 -0
- package/build/browser/object/SimpleCache.js.map +1 -1
- package/build/browser/object/aggregate.js +7 -9
- package/build/browser/object/aggregate.js.map +1 -1
- package/build/browser/object/aggregate.test.js +11 -9
- package/build/browser/object/aggregate.test.js.map +1 -1
- package/build/browser/object/attachment.test.js +1 -0
- package/build/browser/object/attachment.test.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js +0 -15
- package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +4 -5
- package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js +0 -15
- package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +4 -1
- package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js +0 -15
- package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +42 -85
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js +1 -6
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +88 -88
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js +9 -3
- package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +15 -38
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.js +51 -4
- package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.test.js +197 -44
- package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/browser/object/fetchPage.js +42 -24
- package/build/browser/object/fetchPage.js.map +1 -1
- package/build/browser/object/fetchPage.test.js +80 -1
- package/build/browser/object/fetchPage.test.js.map +1 -1
- package/build/browser/object/fetchSingle.js +3 -0
- package/build/browser/object/fetchSingle.js.map +1 -1
- package/build/browser/object/geotimeseriesreference.test.js +2 -0
- package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
- package/build/browser/object/media.test.js +55 -0
- package/build/browser/object/media.test.js.map +1 -0
- package/build/browser/object/mediaUpload.js +20 -0
- package/build/browser/object/mediaUpload.js.map +1 -0
- package/build/browser/object/object.test.js +203 -10
- package/build/browser/object/object.test.js.map +1 -1
- package/build/browser/object/timeseries.test.js +11 -0
- package/build/browser/object/timeseries.test.js.map +1 -1
- package/build/browser/objectSet/InterfaceObjectSet.test.js +65 -0
- package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -0
- package/build/browser/objectSet/ObjectSet.test.js +140 -28
- package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
- package/build/browser/objectSet/ObjectSetFactory.js +0 -15
- package/build/browser/objectSet/ObjectSetFactory.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js +117 -37
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +53 -26
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/browser/objectSet/conjureUnionType.js +1 -0
- package/build/browser/objectSet/conjureUnionType.js.map +1 -1
- package/build/browser/objectSet/createObjectSet.js +9 -6
- package/build/browser/objectSet/createObjectSet.js.map +1 -1
- package/build/browser/observable/DebugFlags.js +19 -0
- package/build/browser/observable/DebugFlags.js.map +1 -0
- package/build/browser/observable/ListPayload.js +2 -0
- package/build/browser/observable/ListPayload.js.map +1 -0
- package/build/browser/observable/ObjectPayload.js +2 -0
- package/build/browser/observable/ObjectPayload.js.map +1 -0
- package/build/browser/observable/ObservableClient.js +23 -0
- package/build/browser/observable/ObservableClient.js.map +1 -0
- package/build/browser/observable/OptimisticBuilder.js +2 -0
- package/build/browser/observable/OptimisticBuilder.js.map +1 -0
- package/build/browser/observable/internal/CacheKey.js +2 -0
- package/build/browser/observable/internal/CacheKey.js.map +1 -0
- package/build/browser/observable/internal/CacheKeys.js +60 -0
- package/build/browser/observable/internal/CacheKeys.js.map +1 -0
- package/build/browser/observable/internal/Canonical.js +2 -0
- package/build/browser/observable/internal/Canonical.js.map +1 -0
- package/build/browser/observable/internal/ChangedObjects.js +24 -0
- package/build/browser/observable/internal/ChangedObjects.js.map +1 -0
- package/build/browser/observable/internal/Layer.js +76 -0
- package/build/browser/observable/internal/Layer.js.map +1 -0
- package/build/browser/observable/internal/ListQuery.js +250 -0
- package/build/browser/observable/internal/ListQuery.js.map +1 -0
- package/build/browser/observable/internal/ObjectQuery.js +71 -0
- package/build/browser/observable/internal/ObjectQuery.js.map +1 -0
- package/build/browser/observable/internal/ObservableClientImpl.js +38 -0
- package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -0
- package/build/browser/observable/internal/OptimisticId.js +30 -0
- package/build/browser/observable/internal/OptimisticId.js.map +1 -0
- package/build/browser/observable/internal/OptimisticJob.js +91 -0
- package/build/browser/observable/internal/OptimisticJob.js.map +1 -0
- package/build/browser/observable/internal/Query.js +70 -0
- package/build/browser/observable/internal/Query.js.map +1 -0
- package/build/browser/observable/internal/RefCounts.js +77 -0
- package/build/browser/observable/internal/RefCounts.js.map +1 -0
- package/build/browser/observable/internal/Store.js +464 -0
- package/build/browser/observable/internal/Store.js.map +1 -0
- package/build/browser/observable/internal/Store.test.js +765 -0
- package/build/browser/observable/internal/Store.test.js.map +1 -0
- package/build/browser/observable/internal/WeakMapWithEntries.js +124 -0
- package/build/browser/observable/internal/WeakMapWithEntries.js.map +1 -0
- package/build/browser/observable/internal/WhereClauseCanonicalizer.js +83 -0
- package/build/browser/observable/internal/WhereClauseCanonicalizer.js.map +1 -0
- package/build/browser/observable/internal/WhereClauseCanonicalizer.test.js +131 -0
- package/build/browser/observable/internal/WhereClauseCanonicalizer.test.js.map +1 -0
- package/build/browser/observable/internal/objectMatchesWhereClause.js +112 -0
- package/build/browser/observable/internal/objectMatchesWhereClause.js.map +1 -0
- package/build/browser/observable/internal/objectMatchesWhereClause.test.js +121 -0
- package/build/browser/observable/internal/objectMatchesWhereClause.test.js.map +1 -0
- package/build/browser/observable/internal/testUtils.js +178 -0
- package/build/browser/observable/internal/testUtils.js.map +1 -0
- package/build/browser/observable/types.js +2 -0
- package/build/browser/observable/types.js.map +1 -0
- package/build/browser/ontology/OntologyProvider.js +1 -0
- package/build/browser/ontology/OntologyProvider.js.map +1 -1
- package/build/browser/ontology/StandardOntologyProvider.js +2 -0
- package/build/browser/ontology/StandardOntologyProvider.js.map +1 -1
- package/build/browser/ontology/StandardOntologyProvider.test.js +2 -0
- package/build/browser/ontology/StandardOntologyProvider.test.js.map +1 -1
- package/build/browser/ontology/loadActionMetadata.js +2 -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/ontology/loadQueryMetadata.js +2 -1
- package/build/browser/ontology/loadQueryMetadata.js.map +1 -1
- package/build/browser/ontology/makeConjureContext.js +1 -0
- package/build/browser/ontology/makeConjureContext.js.map +1 -1
- package/build/browser/pageRequestAsAsyncIter.js +1 -0
- package/build/browser/pageRequestAsAsyncIter.js.map +1 -1
- package/build/browser/public/internal.js +20 -0
- package/build/browser/public/internal.js.map +1 -0
- package/build/browser/public/unstable-do-not-use.js +5 -0
- package/build/browser/public/unstable-do-not-use.js.map +1 -1
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +34 -0
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
- package/build/browser/public-utils/hydrateAttachmentFromRid.js +45 -0
- package/build/browser/public-utils/hydrateAttachmentFromRid.js.map +1 -0
- package/build/browser/public-utils/hydrateObjectSetFromRid.js +39 -0
- package/build/browser/public-utils/hydrateObjectSetFromRid.js.map +1 -0
- package/build/browser/queries/applyQuery.js +5 -5
- package/build/browser/queries/applyQuery.js.map +1 -1
- package/build/browser/queries/queries.test.js +9 -0
- package/build/browser/queries/queries.test.js.map +1 -1
- package/build/browser/queries/types.js +0 -15
- package/build/browser/queries/types.js.map +1 -1
- package/build/browser/tsserver.js +1 -0
- package/build/browser/tsserver.js.map +1 -1
- package/build/browser/util/ArrayElement.js +0 -15
- package/build/browser/util/ArrayElement.js.map +1 -1
- package/build/browser/util/NOOP.js +0 -15
- package/build/browser/util/NOOP.js.map +1 -1
- package/build/browser/util/NullableProps.js +0 -15
- package/build/browser/util/NullableProps.js.map +1 -1
- package/build/browser/util/UserAgent.js +2 -1
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/browser/util/WireObjectSet.js +2 -0
- package/build/browser/util/WireObjectSet.js.map +1 -1
- package/build/browser/util/addUserAgentAndRequestContextHeaders.js +1 -0
- package/build/browser/util/addUserAgentAndRequestContextHeaders.js.map +1 -1
- package/build/browser/util/augmentRequestContext.js +1 -0
- package/build/browser/util/augmentRequestContext.js.map +1 -1
- package/build/browser/util/datetimeConverters.js +60 -0
- package/build/browser/util/datetimeConverters.js.map +1 -0
- package/build/browser/util/datetimeConverters.test.js +76 -0
- package/build/browser/util/datetimeConverters.test.js.map +1 -0
- package/build/browser/util/interfaceUtils.js +21 -0
- package/build/browser/util/interfaceUtils.js.map +1 -0
- package/build/browser/util/isOntologyObjectV2.js +1 -0
- package/build/browser/util/isOntologyObjectV2.js.map +1 -1
- package/build/browser/util/isOsdkBaseObject.js +1 -0
- package/build/browser/util/isOsdkBaseObject.js.map +1 -1
- package/build/browser/util/isOsdkObject.js +1 -0
- package/build/browser/util/isOsdkObject.js.map +1 -1
- package/build/browser/util/objectSetUtils.js +26 -0
- package/build/browser/util/objectSetUtils.js.map +1 -0
- package/build/browser/util/partialBy.js +0 -15
- package/build/browser/util/partialBy.js.map +1 -1
- package/build/browser/util/streamutils.js +7 -0
- package/build/browser/util/streamutils.js.map +1 -1
- package/build/browser/util/timeseriesUtils.js +2 -1
- package/build/browser/util/timeseriesUtils.js.map +1 -1
- package/build/browser/util/toDataValue.js +28 -2
- package/build/browser/util/toDataValue.js.map +1 -1
- package/build/browser/util/toDataValue.test.js +14 -1
- package/build/browser/util/toDataValue.test.js.map +1 -1
- package/build/browser/util/toDataValueQueries.js +10 -1
- package/build/browser/util/toDataValueQueries.js.map +1 -1
- package/build/cjs/Client-C8K3E1vH.d.cts +67 -0
- package/build/cjs/chunk-65QQ6SME.cjs +922 -0
- package/build/cjs/chunk-65QQ6SME.cjs.map +1 -0
- package/build/cjs/chunk-FEUFIE6T.cjs +465 -0
- package/build/cjs/chunk-FEUFIE6T.cjs.map +1 -0
- package/build/cjs/chunk-Q7SFCCGT.cjs +11 -0
- package/build/cjs/chunk-Q7SFCCGT.cjs.map +1 -0
- package/build/cjs/graphql-JJX5MZPQ.cjs +10491 -0
- package/build/cjs/graphql-JJX5MZPQ.cjs.map +1 -0
- package/build/cjs/index.cjs +1665 -0
- package/build/cjs/index.cjs.map +1 -0
- package/build/cjs/index.d.cts +85 -0
- package/build/cjs/public/internal.cjs +36 -0
- package/build/cjs/public/internal.cjs.map +1 -0
- package/build/cjs/public/internal.d.cts +33 -0
- package/build/cjs/public/unstable-do-not-use.cjs +1248 -0
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -0
- package/build/cjs/public/unstable-do-not-use.d.cts +62 -0
- package/build/esm/Client.js +7 -0
- package/build/esm/Client.js.map +1 -1
- package/build/esm/Definitions.test.js +1 -0
- package/build/esm/Definitions.test.js.map +1 -1
- package/build/esm/Logger.js +0 -15
- package/build/esm/Logger.js.map +1 -1
- package/build/esm/MinimalClientContext.js +0 -15
- package/build/esm/MinimalClientContext.js.map +1 -1
- package/build/esm/ResultOrError.js +1 -0
- package/build/esm/ResultOrError.js.map +1 -1
- package/build/esm/SatisfiesSemver.js +0 -15
- package/build/esm/SatisfiesSemver.js.map +1 -1
- package/build/esm/SatisfiesSemver.test.js +1 -0
- package/build/esm/SatisfiesSemver.test.js.map +1 -1
- package/build/esm/__unstable/ConjureSupport.js +8 -2
- package/build/esm/__unstable/ConjureSupport.js.map +1 -1
- package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js +5 -1
- package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
- package/build/esm/actions/ActionValidationError.js +1 -1
- package/build/esm/actions/ActionValidationError.js.map +1 -1
- package/build/esm/actions/actions.test.js +85 -4
- package/build/esm/actions/actions.test.js.map +1 -1
- package/build/esm/actions/applyAction.js +2 -1
- package/build/esm/actions/applyAction.js.map +1 -1
- package/build/esm/createClient.js +37 -26
- package/build/esm/createClient.js.map +1 -1
- package/build/esm/createClient.test.js +25 -0
- package/build/esm/createClient.test.js.map +1 -1
- package/build/esm/createGeotimeSeriesProperty.js +5 -3
- package/build/esm/createGeotimeSeriesProperty.js.map +1 -1
- package/build/esm/createMediaReferenceProperty.js +47 -0
- package/build/esm/createMediaReferenceProperty.js.map +1 -0
- package/build/esm/createMinimalClient.js +8 -1
- package/build/esm/createMinimalClient.js.map +1 -1
- package/build/esm/createPlatformClient.js +1 -0
- package/build/esm/createPlatformClient.js.map +1 -1
- package/build/esm/createTimeseriesProperty.js +2 -1
- package/build/esm/createTimeseriesProperty.js.map +1 -1
- package/build/esm/definitions/LinkDefinitions.test.js +4 -0
- package/build/esm/definitions/LinkDefinitions.test.js.map +1 -1
- package/build/esm/fetchMetadata.js +2 -0
- package/build/esm/fetchMetadata.js.map +1 -1
- package/build/esm/fetchMetadata.test.js +19 -0
- package/build/esm/fetchMetadata.test.js.map +1 -1
- package/build/esm/index.js +2 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js +3 -1
- package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
- package/build/esm/intellisense.test.js +4 -1
- package/build/esm/intellisense.test.js.map +1 -1
- package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js +2 -0
- package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyAggregationClause.js +2 -0
- package/build/esm/internal/conversions/modernToLegacyAggregationClause.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyGroupByClause.js +1 -0
- package/build/esm/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js +67 -18
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +402 -14
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
- package/build/esm/object/AttachmentUpload.js +6 -13
- package/build/esm/object/AttachmentUpload.js.map +1 -1
- package/build/esm/object/Cache.js +27 -0
- package/build/esm/object/Cache.js.map +1 -1
- package/build/esm/object/Cache.test.js +10 -3
- package/build/esm/object/Cache.test.js.map +1 -1
- package/build/esm/object/SimpleCache.js +20 -0
- package/build/esm/object/SimpleCache.js.map +1 -1
- package/build/esm/object/aggregate.js +7 -9
- package/build/esm/object/aggregate.js.map +1 -1
- package/build/esm/object/aggregate.test.js +11 -9
- package/build/esm/object/aggregate.test.js.map +1 -1
- package/build/esm/object/attachment.test.js +1 -0
- package/build/esm/object/attachment.test.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js +0 -15
- package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +4 -5
- package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js +0 -15
- package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +4 -1
- package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js +0 -15
- package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +42 -85
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js +1 -6
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +88 -88
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js +9 -3
- package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +15 -38
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.js +51 -4
- package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.test.js +197 -44
- package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/esm/object/fetchPage.js +42 -24
- package/build/esm/object/fetchPage.js.map +1 -1
- package/build/esm/object/fetchPage.test.js +80 -1
- package/build/esm/object/fetchPage.test.js.map +1 -1
- package/build/esm/object/fetchSingle.js +3 -0
- package/build/esm/object/fetchSingle.js.map +1 -1
- package/build/esm/object/geotimeseriesreference.test.js +2 -0
- package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
- package/build/esm/object/media.test.js +55 -0
- package/build/esm/object/media.test.js.map +1 -0
- package/build/esm/object/mediaUpload.js +20 -0
- package/build/esm/object/mediaUpload.js.map +1 -0
- package/build/esm/object/object.test.js +203 -10
- package/build/esm/object/object.test.js.map +1 -1
- package/build/esm/object/timeseries.test.js +11 -0
- package/build/esm/object/timeseries.test.js.map +1 -1
- package/build/esm/objectSet/InterfaceObjectSet.test.js +65 -0
- package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -0
- package/build/esm/objectSet/ObjectSet.test.js +140 -28
- package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
- package/build/esm/objectSet/ObjectSetFactory.js +0 -15
- package/build/esm/objectSet/ObjectSetFactory.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js +117 -40
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +53 -26
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/esm/objectSet/conjureUnionType.js +1 -0
- package/build/esm/objectSet/conjureUnionType.js.map +1 -1
- package/build/esm/objectSet/createObjectSet.js +9 -6
- package/build/esm/objectSet/createObjectSet.js.map +1 -1
- package/build/esm/observable/DebugFlags.js +19 -0
- package/build/esm/observable/DebugFlags.js.map +1 -0
- package/build/esm/observable/ListPayload.js +2 -0
- package/build/esm/observable/ListPayload.js.map +1 -0
- package/build/esm/observable/ObjectPayload.js +2 -0
- package/build/esm/observable/ObjectPayload.js.map +1 -0
- package/build/esm/observable/ObservableClient.js +23 -0
- package/build/esm/observable/ObservableClient.js.map +1 -0
- package/build/esm/observable/OptimisticBuilder.js +2 -0
- package/build/esm/observable/OptimisticBuilder.js.map +1 -0
- package/build/esm/observable/internal/CacheKey.js +2 -0
- package/build/esm/observable/internal/CacheKey.js.map +1 -0
- package/build/esm/observable/internal/CacheKeys.js +60 -0
- package/build/esm/observable/internal/CacheKeys.js.map +1 -0
- package/build/esm/observable/internal/Canonical.js +2 -0
- package/build/esm/observable/internal/Canonical.js.map +1 -0
- package/build/esm/observable/internal/ChangedObjects.js +24 -0
- package/build/esm/observable/internal/ChangedObjects.js.map +1 -0
- package/build/esm/observable/internal/Layer.js +76 -0
- package/build/esm/observable/internal/Layer.js.map +1 -0
- package/build/esm/observable/internal/ListQuery.js +250 -0
- package/build/esm/observable/internal/ListQuery.js.map +1 -0
- package/build/esm/observable/internal/ObjectQuery.js +71 -0
- package/build/esm/observable/internal/ObjectQuery.js.map +1 -0
- package/build/esm/observable/internal/ObservableClientImpl.js +38 -0
- package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -0
- package/build/esm/observable/internal/OptimisticId.js +30 -0
- package/build/esm/observable/internal/OptimisticId.js.map +1 -0
- package/build/esm/observable/internal/OptimisticJob.js +91 -0
- package/build/esm/observable/internal/OptimisticJob.js.map +1 -0
- package/build/esm/observable/internal/Query.js +70 -0
- package/build/esm/observable/internal/Query.js.map +1 -0
- package/build/esm/observable/internal/RefCounts.js +77 -0
- package/build/esm/observable/internal/RefCounts.js.map +1 -0
- package/build/esm/observable/internal/Store.js +464 -0
- package/build/esm/observable/internal/Store.js.map +1 -0
- package/build/esm/observable/internal/Store.test.js +765 -0
- package/build/esm/observable/internal/Store.test.js.map +1 -0
- package/build/esm/observable/internal/WeakMapWithEntries.js +124 -0
- package/build/esm/observable/internal/WeakMapWithEntries.js.map +1 -0
- package/build/esm/observable/internal/WhereClauseCanonicalizer.js +83 -0
- package/build/esm/observable/internal/WhereClauseCanonicalizer.js.map +1 -0
- package/build/esm/observable/internal/WhereClauseCanonicalizer.test.js +131 -0
- package/build/esm/observable/internal/WhereClauseCanonicalizer.test.js.map +1 -0
- package/build/esm/observable/internal/objectMatchesWhereClause.js +112 -0
- package/build/esm/observable/internal/objectMatchesWhereClause.js.map +1 -0
- package/build/esm/observable/internal/objectMatchesWhereClause.test.js +121 -0
- package/build/esm/observable/internal/objectMatchesWhereClause.test.js.map +1 -0
- package/build/esm/observable/internal/testUtils.js +178 -0
- package/build/esm/observable/internal/testUtils.js.map +1 -0
- package/build/esm/observable/types.js +2 -0
- package/build/esm/observable/types.js.map +1 -0
- package/build/esm/ontology/OntologyProvider.js +1 -0
- package/build/esm/ontology/OntologyProvider.js.map +1 -1
- package/build/esm/ontology/StandardOntologyProvider.js +2 -0
- package/build/esm/ontology/StandardOntologyProvider.js.map +1 -1
- package/build/esm/ontology/StandardOntologyProvider.test.js +2 -0
- package/build/esm/ontology/StandardOntologyProvider.test.js.map +1 -1
- package/build/esm/ontology/loadActionMetadata.js +2 -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/ontology/loadQueryMetadata.js +2 -1
- package/build/esm/ontology/loadQueryMetadata.js.map +1 -1
- package/build/esm/ontology/makeConjureContext.js +1 -0
- package/build/esm/ontology/makeConjureContext.js.map +1 -1
- package/build/esm/pageRequestAsAsyncIter.js +1 -0
- package/build/esm/pageRequestAsAsyncIter.js.map +1 -1
- package/build/esm/public/internal.js +20 -0
- package/build/esm/public/internal.js.map +1 -0
- package/build/esm/public/unstable-do-not-use.js +5 -0
- package/build/esm/public/unstable-do-not-use.js.map +1 -1
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +34 -0
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -0
- package/build/esm/public-utils/hydrateAttachmentFromRid.js +45 -0
- package/build/esm/public-utils/hydrateAttachmentFromRid.js.map +1 -0
- package/build/esm/public-utils/hydrateObjectSetFromRid.js +39 -0
- package/build/esm/public-utils/hydrateObjectSetFromRid.js.map +1 -0
- package/build/esm/queries/applyQuery.js +5 -5
- package/build/esm/queries/applyQuery.js.map +1 -1
- package/build/esm/queries/queries.test.js +9 -0
- package/build/esm/queries/queries.test.js.map +1 -1
- package/build/esm/queries/types.js +0 -15
- package/build/esm/queries/types.js.map +1 -1
- package/build/esm/tsserver.js +1 -0
- package/build/esm/tsserver.js.map +1 -1
- package/build/esm/util/ArrayElement.js +0 -15
- package/build/esm/util/ArrayElement.js.map +1 -1
- package/build/esm/util/NOOP.js +0 -15
- package/build/esm/util/NOOP.js.map +1 -1
- package/build/esm/util/NullableProps.js +0 -15
- package/build/esm/util/NullableProps.js.map +1 -1
- package/build/esm/util/UserAgent.js +2 -1
- package/build/esm/util/UserAgent.js.map +1 -1
- package/build/esm/util/WireObjectSet.js +2 -0
- package/build/esm/util/WireObjectSet.js.map +1 -1
- package/build/esm/util/addUserAgentAndRequestContextHeaders.js +1 -0
- package/build/esm/util/addUserAgentAndRequestContextHeaders.js.map +1 -1
- package/build/esm/util/augmentRequestContext.js +1 -0
- package/build/esm/util/augmentRequestContext.js.map +1 -1
- package/build/esm/util/datetimeConverters.js +60 -0
- package/build/esm/util/datetimeConverters.js.map +1 -0
- package/build/esm/util/datetimeConverters.test.js +76 -0
- package/build/esm/util/datetimeConverters.test.js.map +1 -0
- package/build/esm/util/interfaceUtils.js +21 -0
- package/build/esm/util/interfaceUtils.js.map +1 -0
- package/build/esm/util/isOntologyObjectV2.js +1 -0
- package/build/esm/util/isOntologyObjectV2.js.map +1 -1
- package/build/esm/util/isOsdkBaseObject.js +1 -0
- package/build/esm/util/isOsdkBaseObject.js.map +1 -1
- package/build/esm/util/isOsdkObject.js +1 -0
- package/build/esm/util/isOsdkObject.js.map +1 -1
- package/build/esm/util/objectSetUtils.js +26 -0
- package/build/esm/util/objectSetUtils.js.map +1 -0
- package/build/esm/util/partialBy.js +0 -15
- package/build/esm/util/partialBy.js.map +1 -1
- package/build/esm/util/streamutils.js +7 -0
- package/build/esm/util/streamutils.js.map +1 -1
- package/build/esm/util/timeseriesUtils.js +2 -1
- package/build/esm/util/timeseriesUtils.js.map +1 -1
- package/build/esm/util/toDataValue.js +28 -2
- package/build/esm/util/toDataValue.js.map +1 -1
- package/build/esm/util/toDataValue.test.js +14 -1
- package/build/esm/util/toDataValue.test.js.map +1 -1
- package/build/esm/util/toDataValueQueries.js +10 -1
- package/build/esm/util/toDataValueQueries.js.map +1 -1
- package/build/types/Client.d.ts +22 -0
- package/build/types/Client.d.ts.map +1 -0
- package/build/types/Definitions.test.d.ts +1 -0
- package/build/types/Definitions.test.d.ts.map +1 -0
- package/build/types/Logger.d.ts +18 -0
- package/build/types/Logger.d.ts.map +1 -0
- package/build/types/MinimalClientContext.d.ts +25 -0
- package/build/types/MinimalClientContext.d.ts.map +1 -0
- package/build/types/ResultOrError.d.ts +11 -0
- package/build/types/ResultOrError.d.ts.map +1 -0
- package/build/types/SatisfiesSemver.d.ts +10 -0
- package/build/types/SatisfiesSemver.d.ts.map +1 -0
- package/build/types/SatisfiesSemver.test.d.ts +1 -0
- package/build/types/SatisfiesSemver.test.d.ts.map +1 -0
- package/build/types/__unstable/ConjureSupport.d.ts +37 -0
- package/build/types/__unstable/ConjureSupport.d.ts.map +1 -0
- package/build/types/__unstable/createBulkLinksAsyncIterFactory.d.ts +4 -0
- package/build/types/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +1 -0
- package/build/types/actions/ActionValidationError.d.ts +5 -0
- package/build/types/actions/ActionValidationError.d.ts.map +1 -0
- package/build/types/actions/actions.test.d.ts +1 -0
- package/build/types/actions/actions.test.d.ts.map +1 -0
- package/build/types/actions/applyAction.d.ts +31 -0
- package/build/types/actions/applyAction.d.ts.map +1 -0
- package/build/types/createClient.d.ts +5 -0
- package/build/types/createClient.d.ts.map +1 -0
- package/build/types/createClient.test.d.ts +1 -0
- package/build/types/createClient.test.d.ts.map +1 -0
- package/build/types/createGeotimeSeriesProperty.d.ts +13 -0
- package/build/types/createGeotimeSeriesProperty.d.ts.map +1 -0
- package/build/types/createMediaReferenceProperty.d.ts +13 -0
- package/build/types/createMediaReferenceProperty.d.ts.map +1 -0
- package/build/types/createMinimalClient.d.ts +1 -0
- package/build/types/createMinimalClient.d.ts.map +1 -0
- package/build/types/createPlatformClient.d.ts +15 -0
- package/build/types/createPlatformClient.d.ts.map +1 -0
- package/build/types/createTimeseriesProperty.d.ts +13 -0
- package/build/types/createTimeseriesProperty.d.ts.map +1 -0
- package/build/types/definitions/LinkDefinitions.test.d.ts +1 -0
- package/build/types/definitions/LinkDefinitions.test.d.ts.map +1 -0
- package/build/types/fetchMetadata.d.ts +1 -0
- package/build/types/fetchMetadata.d.ts.map +1 -0
- package/build/types/fetchMetadata.test.d.ts +1 -0
- package/build/types/fetchMetadata.test.d.ts.map +1 -0
- package/build/types/index.d.ts +12 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/intellisense.test.d.ts +1 -0
- package/build/types/intellisense.test.d.ts.map +1 -0
- package/build/types/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +1 -0
- package/build/types/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +1 -0
- package/build/types/internal/conversions/legacyToModernSingleAggregationResult.d.ts +1 -0
- package/build/types/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +1 -0
- package/build/types/internal/conversions/modernToLegacyAggregationClause.d.ts +1 -0
- package/build/types/internal/conversions/modernToLegacyAggregationClause.d.ts.map +1 -0
- package/build/types/internal/conversions/modernToLegacyGroupByClause.d.ts +1 -0
- package/build/types/internal/conversions/modernToLegacyGroupByClause.d.ts.map +1 -0
- package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts +1 -0
- package/build/types/internal/conversions/modernToLegacyWhereClause.d.ts.map +1 -0
- package/build/types/internal/conversions/modernToLegacyWhereClause.test.d.ts +1 -0
- package/build/types/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +1 -0
- package/build/types/object/AttachmentUpload.d.ts +3 -0
- package/build/types/object/AttachmentUpload.d.ts.map +1 -0
- package/build/types/object/Cache.d.ts +17 -0
- package/build/types/object/Cache.d.ts.map +1 -0
- package/build/types/object/Cache.test.d.ts +1 -0
- package/build/types/object/Cache.test.d.ts.map +1 -0
- package/build/types/object/SimpleCache.d.ts +52 -0
- package/build/types/object/SimpleCache.d.ts.map +1 -0
- package/build/types/object/aggregate.d.ts +1 -0
- package/build/types/object/aggregate.d.ts.map +1 -0
- package/build/types/object/aggregate.test.d.ts +1 -0
- package/build/types/object/aggregate.test.d.ts.map +1 -0
- package/build/types/object/attachment.test.d.ts +1 -0
- package/build/types/object/attachment.test.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts +6 -0
- package/build/types/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects/ObjectHolder.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +17 -0
- package/build/types/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +5 -0
- package/build/types/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects/createOsdkObject.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects/getDollarAs.d.ts +2 -0
- package/build/types/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects/getDollarLink.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects.test.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects.test.d.ts.map +1 -0
- package/build/types/object/fetchPage.d.ts +5 -0
- package/build/types/object/fetchPage.d.ts.map +1 -0
- package/build/types/object/fetchPage.test.d.ts +1 -0
- package/build/types/object/fetchPage.test.d.ts.map +1 -0
- package/build/types/object/fetchSingle.d.ts +1 -0
- package/build/types/object/fetchSingle.d.ts.map +1 -0
- package/build/types/object/geotimeseriesreference.test.d.ts +1 -0
- package/build/types/object/geotimeseriesreference.test.d.ts.map +1 -0
- package/build/types/object/media.test.d.ts +1 -0
- package/build/types/object/media.test.d.ts.map +1 -0
- package/build/types/object/mediaUpload.d.ts +2 -0
- package/build/types/object/mediaUpload.d.ts.map +1 -0
- package/build/types/object/object.test.d.ts +11 -0
- package/build/types/object/object.test.d.ts.map +1 -0
- package/build/types/object/timeseries.test.d.ts +1 -0
- package/build/types/object/timeseries.test.d.ts.map +1 -0
- package/build/types/objectSet/InterfaceObjectSet.test.d.ts +1 -0
- package/build/types/objectSet/InterfaceObjectSet.test.d.ts.map +1 -0
- package/build/types/objectSet/ObjectSet.test.d.ts +7 -0
- package/build/types/objectSet/ObjectSet.test.d.ts.map +1 -0
- package/build/types/objectSet/ObjectSetFactory.d.ts +1 -0
- package/build/types/objectSet/ObjectSetFactory.d.ts.map +1 -0
- package/build/types/objectSet/ObjectSetListenerWebsocket.d.ts +1 -0
- package/build/types/objectSet/ObjectSetListenerWebsocket.d.ts.map +1 -0
- package/build/types/objectSet/ObjectSetListenerWebsocket.test.d.ts +1 -0
- package/build/types/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +1 -0
- package/build/types/objectSet/conjureUnionType.d.ts +13 -0
- package/build/types/objectSet/conjureUnionType.d.ts.map +1 -0
- package/build/types/objectSet/createObjectSet.d.ts +1 -0
- package/build/types/objectSet/createObjectSet.d.ts.map +1 -0
- package/build/types/observable/DebugFlags.d.ts +2 -0
- package/build/types/observable/DebugFlags.d.ts.map +1 -0
- package/build/types/observable/ListPayload.d.ts +10 -0
- package/build/types/observable/ListPayload.d.ts.map +1 -0
- package/build/types/observable/ObjectPayload.d.ts +8 -0
- package/build/types/observable/ObjectPayload.d.ts.map +1 -0
- package/build/types/observable/ObservableClient.d.ts +36 -0
- package/build/types/observable/ObservableClient.d.ts.map +1 -0
- package/build/types/observable/OptimisticBuilder.d.ts +5 -0
- package/build/types/observable/OptimisticBuilder.d.ts.map +1 -0
- package/build/types/observable/internal/CacheKey.d.ts +15 -0
- package/build/types/observable/internal/CacheKey.d.ts.map +1 -0
- package/build/types/observable/internal/CacheKeys.d.ts +8 -0
- package/build/types/observable/internal/CacheKeys.d.ts.map +1 -0
- package/build/types/observable/internal/Canonical.d.ts +3 -0
- package/build/types/observable/internal/Canonical.d.ts.map +1 -0
- package/build/types/observable/internal/ChangedObjects.d.ts +7 -0
- package/build/types/observable/internal/ChangedObjects.d.ts.map +1 -0
- package/build/types/observable/internal/Layer.d.ts +19 -0
- package/build/types/observable/internal/Layer.d.ts.map +1 -0
- package/build/types/observable/internal/ListQuery.d.ts +42 -0
- package/build/types/observable/internal/ListQuery.d.ts.map +1 -0
- package/build/types/observable/internal/ObjectQuery.d.ts +19 -0
- package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -0
- package/build/types/observable/internal/ObservableClientImpl.d.ts +1 -0
- package/build/types/observable/internal/ObservableClientImpl.d.ts.map +1 -0
- package/build/types/observable/internal/OptimisticId.d.ts +4 -0
- package/build/types/observable/internal/OptimisticId.d.ts.map +1 -0
- package/build/types/observable/internal/OptimisticJob.d.ts +11 -0
- package/build/types/observable/internal/OptimisticJob.d.ts.map +1 -0
- package/build/types/observable/internal/Query.d.ts +29 -0
- package/build/types/observable/internal/Query.d.ts.map +1 -0
- package/build/types/observable/internal/RefCounts.d.ts +12 -0
- package/build/types/observable/internal/RefCounts.d.ts.map +1 -0
- package/build/types/observable/internal/Store.d.ts +73 -0
- package/build/types/observable/internal/Store.d.ts.map +1 -0
- package/build/types/observable/internal/Store.test.d.ts +1 -0
- package/build/types/observable/internal/Store.test.d.ts.map +1 -0
- package/build/types/observable/internal/WeakMapWithEntries.d.ts +50 -0
- package/build/types/observable/internal/WeakMapWithEntries.d.ts.map +1 -0
- package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts +6 -0
- package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts.map +1 -0
- package/build/types/observable/internal/WhereClauseCanonicalizer.test.d.ts +1 -0
- package/build/types/observable/internal/WhereClauseCanonicalizer.test.d.ts.map +1 -0
- package/build/types/observable/internal/objectMatchesWhereClause.d.ts +2 -0
- package/build/types/observable/internal/objectMatchesWhereClause.d.ts.map +1 -0
- package/build/types/observable/internal/objectMatchesWhereClause.test.d.ts +1 -0
- package/build/types/observable/internal/objectMatchesWhereClause.test.d.ts.map +1 -0
- package/build/types/observable/internal/testUtils.d.ts +40 -0
- package/build/types/observable/internal/testUtils.d.ts.map +1 -0
- package/build/types/observable/types.d.ts +1 -0
- package/build/types/observable/types.d.ts.map +1 -0
- package/build/types/ontology/OntologyProvider.d.ts +31 -0
- package/build/types/ontology/OntologyProvider.d.ts.map +1 -0
- package/build/types/ontology/StandardOntologyProvider.d.ts +3 -0
- package/build/types/ontology/StandardOntologyProvider.d.ts.map +1 -0
- package/build/types/ontology/StandardOntologyProvider.test.d.ts +1 -0
- package/build/types/ontology/StandardOntologyProvider.test.d.ts.map +1 -0
- package/build/types/ontology/loadActionMetadata.d.ts +3 -0
- package/build/types/ontology/loadActionMetadata.d.ts.map +1 -0
- package/build/types/ontology/loadFullObjectMetadata.d.ts +5 -0
- package/build/types/ontology/loadFullObjectMetadata.d.ts.map +1 -0
- package/build/types/ontology/loadInterfaceMetadata.d.ts +3 -0
- package/build/types/ontology/loadInterfaceMetadata.d.ts.map +1 -0
- package/build/types/ontology/loadQueryMetadata.d.ts +3 -0
- package/build/types/ontology/loadQueryMetadata.d.ts.map +1 -0
- package/build/types/ontology/makeConjureContext.d.ts +3 -0
- package/build/types/ontology/makeConjureContext.d.ts.map +1 -0
- package/build/types/pageRequestAsAsyncIter.d.ts +16 -0
- package/build/types/pageRequestAsAsyncIter.d.ts.map +1 -0
- package/build/types/public/internal.d.ts +3 -0
- package/build/types/public/internal.d.ts.map +1 -0
- package/build/types/public/unstable-do-not-use.d.ts +7 -0
- package/build/types/public/unstable-do-not-use.d.ts.map +1 -0
- package/build/types/public-utils/createAndFetchTempObjectSetRid.d.ts +10 -0
- package/build/types/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -0
- package/build/types/public-utils/hydrateAttachmentFromRid.d.ts +9 -0
- package/build/types/public-utils/hydrateAttachmentFromRid.d.ts.map +1 -0
- package/build/types/public-utils/hydrateObjectSetFromRid.d.ts +10 -0
- package/build/types/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -0
- package/build/types/queries/applyQuery.d.ts +8 -0
- package/build/types/queries/applyQuery.d.ts.map +1 -0
- package/build/types/queries/queries.test.d.ts +1 -0
- package/build/types/queries/queries.test.d.ts.map +1 -0
- package/build/types/queries/types.d.ts +15 -0
- package/build/types/queries/types.d.ts.map +1 -0
- package/build/types/tsserver.d.ts +34 -0
- package/build/types/tsserver.d.ts.map +1 -0
- package/build/types/util/ArrayElement.d.ts +1 -0
- package/build/types/util/ArrayElement.d.ts.map +1 -0
- package/build/types/util/NOOP.d.ts +1 -0
- package/build/types/util/NOOP.d.ts.map +1 -0
- package/build/types/util/NullableProps.d.ts +3 -0
- package/build/types/util/NullableProps.d.ts.map +1 -0
- package/build/types/util/UserAgent.d.ts +1 -0
- package/build/types/util/UserAgent.d.ts.map +1 -0
- package/build/types/util/WireObjectSet.d.ts +1 -0
- package/build/types/util/WireObjectSet.d.ts.map +1 -0
- package/build/types/util/addUserAgentAndRequestContextHeaders.d.ts +3 -0
- package/build/types/util/addUserAgentAndRequestContextHeaders.d.ts.map +1 -0
- package/build/types/util/augmentRequestContext.d.ts +31 -0
- package/build/types/util/augmentRequestContext.d.ts.map +1 -0
- package/build/types/util/datetimeConverters.d.ts +21 -0
- package/build/types/util/datetimeConverters.d.ts.map +1 -0
- package/build/types/util/datetimeConverters.test.d.ts +1 -0
- package/build/types/util/datetimeConverters.test.d.ts.map +1 -0
- package/build/types/util/interfaceUtils.d.ts +1 -0
- package/build/types/util/interfaceUtils.d.ts.map +1 -0
- package/build/types/util/isOntologyObjectV2.d.ts +1 -0
- package/build/types/util/isOntologyObjectV2.d.ts.map +1 -0
- package/build/types/util/isOsdkBaseObject.d.ts +2 -0
- package/build/types/util/isOsdkBaseObject.d.ts.map +1 -0
- package/build/types/util/isOsdkObject.d.ts +2 -0
- package/build/types/util/isOsdkObject.d.ts.map +1 -0
- package/build/types/util/objectSetUtils.d.ts +3 -0
- package/build/types/util/objectSetUtils.d.ts.map +1 -0
- package/build/types/util/partialBy.d.ts +8 -0
- package/build/types/util/partialBy.d.ts.map +1 -0
- package/build/types/util/streamutils.d.ts +2 -0
- package/build/types/util/streamutils.d.ts.map +1 -0
- package/build/types/util/timeseriesUtils.d.ts +7 -0
- package/build/types/util/timeseriesUtils.d.ts.map +1 -0
- package/build/types/util/toDataValue.d.ts +1 -0
- package/build/types/util/toDataValue.d.ts.map +1 -0
- package/build/types/util/toDataValue.test.d.ts +1 -0
- package/build/types/util/toDataValue.test.d.ts.map +1 -0
- package/build/types/util/toDataValueQueries.d.ts +1 -0
- package/build/types/util/toDataValueQueries.d.ts.map +1 -0
- package/index.d.ts +17 -0
- package/internal.d.ts +17 -0
- package/package.json +57 -23
- package/unstable-do-not-use.d.ts +1 -1
- package/build/browser/Client.d.ts +0 -26
- package/build/browser/Client.d.ts.map +0 -1
- package/build/browser/Definitions.test.d.ts +0 -2
- package/build/browser/Definitions.test.d.ts.map +0 -1
- package/build/browser/Logger.d.ts +0 -19
- package/build/browser/Logger.d.ts.map +0 -1
- package/build/browser/MinimalClientContext.d.ts +0 -26
- package/build/browser/MinimalClientContext.d.ts.map +0 -1
- package/build/browser/ResultOrError.d.ts +0 -12
- package/build/browser/ResultOrError.d.ts.map +0 -1
- package/build/browser/SatisfiesSemver.d.ts +0 -4
- package/build/browser/SatisfiesSemver.d.ts.map +0 -1
- package/build/browser/SatisfiesSemver.test.d.ts +0 -2
- package/build/browser/SatisfiesSemver.test.d.ts.map +0 -1
- package/build/browser/__unstable/ConjureSupport.d.ts +0 -55
- package/build/browser/__unstable/ConjureSupport.d.ts.map +0 -1
- package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts +0 -5
- package/build/browser/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +0 -1
- package/build/browser/actions/ActionValidationError.d.ts +0 -6
- package/build/browser/actions/ActionValidationError.d.ts.map +0 -1
- package/build/browser/actions/actions.test.d.ts +0 -2
- package/build/browser/actions/actions.test.d.ts.map +0 -1
- package/build/browser/actions/applyAction.d.ts +0 -30
- package/build/browser/actions/applyAction.d.ts.map +0 -1
- package/build/browser/createAttachmentFromRid.d.ts +0 -10
- package/build/browser/createAttachmentFromRid.d.ts.map +0 -1
- package/build/browser/createAttachmentFromRid.js +0 -38
- package/build/browser/createAttachmentFromRid.js.map +0 -1
- package/build/browser/createClient.d.ts +0 -6
- package/build/browser/createClient.d.ts.map +0 -1
- package/build/browser/createClient.test.d.ts +0 -2
- package/build/browser/createClient.test.d.ts.map +0 -1
- package/build/browser/createGeotimeSeriesProperty.d.ts +0 -14
- package/build/browser/createGeotimeSeriesProperty.d.ts.map +0 -1
- package/build/browser/createMinimalClient.d.ts +0 -2
- package/build/browser/createMinimalClient.d.ts.map +0 -1
- package/build/browser/createPlatformClient.d.ts +0 -17
- package/build/browser/createPlatformClient.d.ts.map +0 -1
- package/build/browser/createTimeseriesProperty.d.ts +0 -14
- package/build/browser/createTimeseriesProperty.d.ts.map +0 -1
- package/build/browser/definitions/LinkDefinitions.test.d.ts +0 -2
- package/build/browser/definitions/LinkDefinitions.test.d.ts.map +0 -1
- package/build/browser/fetchMetadata.d.ts +0 -2
- package/build/browser/fetchMetadata.d.ts.map +0 -1
- package/build/browser/fetchMetadata.test.d.ts +0 -2
- package/build/browser/fetchMetadata.test.d.ts.map +0 -1
- package/build/browser/index.d.ts +0 -12
- package/build/browser/index.d.ts.map +0 -1
- package/build/browser/intellisense.test.d.ts +0 -2
- package/build/browser/intellisense.test.d.ts.map +0 -1
- package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +0 -2
- package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +0 -1
- package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.d.ts +0 -2
- package/build/browser/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +0 -1
- package/build/browser/internal/conversions/modernToLegacyAggregationClause.d.ts +0 -2
- package/build/browser/internal/conversions/modernToLegacyAggregationClause.d.ts.map +0 -1
- package/build/browser/internal/conversions/modernToLegacyGroupByClause.d.ts +0 -2
- package/build/browser/internal/conversions/modernToLegacyGroupByClause.d.ts.map +0 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.d.ts +0 -2
- package/build/browser/internal/conversions/modernToLegacyWhereClause.d.ts.map +0 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.d.ts +0 -2
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +0 -1
- package/build/browser/object/AttachmentUpload.d.ts +0 -4
- package/build/browser/object/AttachmentUpload.d.ts.map +0 -1
- package/build/browser/object/Cache.d.ts +0 -2
- package/build/browser/object/Cache.d.ts.map +0 -1
- package/build/browser/object/Cache.test.d.ts +0 -11
- package/build/browser/object/Cache.test.d.ts.map +0 -1
- package/build/browser/object/SimpleCache.d.ts +0 -38
- package/build/browser/object/SimpleCache.d.ts.map +0 -1
- package/build/browser/object/aggregate.d.ts +0 -2
- package/build/browser/object/aggregate.d.ts.map +0 -1
- package/build/browser/object/aggregate.test.d.ts +0 -2
- package/build/browser/object/aggregate.test.d.ts.map +0 -1
- package/build/browser/object/attachment.test.d.ts +0 -2
- package/build/browser/object/attachment.test.d.ts.map +0 -1
- package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +0 -2
- package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +0 -1
- package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
- package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +0 -1
- package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.d.ts +0 -2
- package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +0 -1
- package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +0 -2
- package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +0 -1
- package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +0 -8
- package/build/browser/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +0 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +0 -2
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +0 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +0 -2
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +0 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.d.ts +0 -2
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +0 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts +0 -3
- package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +0 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.d.ts +0 -2
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +0 -1
- package/build/browser/object/convertWireToOsdkObjects.d.ts +0 -2
- package/build/browser/object/convertWireToOsdkObjects.d.ts.map +0 -1
- package/build/browser/object/convertWireToOsdkObjects.test.d.ts +0 -2
- package/build/browser/object/convertWireToOsdkObjects.test.d.ts.map +0 -1
- package/build/browser/object/fetchPage.d.ts +0 -3
- package/build/browser/object/fetchPage.d.ts.map +0 -1
- package/build/browser/object/fetchPage.test.d.ts +0 -2
- package/build/browser/object/fetchPage.test.d.ts.map +0 -1
- package/build/browser/object/fetchSingle.d.ts +0 -2
- package/build/browser/object/fetchSingle.d.ts.map +0 -1
- package/build/browser/object/geotimeseriesreference.test.d.ts +0 -2
- package/build/browser/object/geotimeseriesreference.test.d.ts.map +0 -1
- package/build/browser/object/object.test.d.ts +0 -12
- package/build/browser/object/object.test.d.ts.map +0 -1
- package/build/browser/object/timeseries.test.d.ts +0 -2
- package/build/browser/object/timeseries.test.d.ts.map +0 -1
- package/build/browser/objectSet/ObjectSet.test.d.ts +0 -2
- package/build/browser/objectSet/ObjectSet.test.d.ts.map +0 -1
- package/build/browser/objectSet/ObjectSetFactory.d.ts +0 -2
- package/build/browser/objectSet/ObjectSetFactory.d.ts.map +0 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.d.ts +0 -2
- package/build/browser/objectSet/ObjectSetListenerWebsocket.d.ts.map +0 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.d.ts +0 -2
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +0 -1
- package/build/browser/objectSet/conjureUnionType.d.ts +0 -13
- package/build/browser/objectSet/conjureUnionType.d.ts.map +0 -1
- package/build/browser/objectSet/createObjectSet.d.ts +0 -2
- package/build/browser/objectSet/createObjectSet.d.ts.map +0 -1
- package/build/browser/objectSet/toConjureObjectSet.d.ts +0 -2
- package/build/browser/objectSet/toConjureObjectSet.d.ts.map +0 -1
- package/build/browser/objectSet/toConjureObjectSet.js +0 -165
- package/build/browser/objectSet/toConjureObjectSet.js.map +0 -1
- package/build/browser/ontology/OntologyProvider.d.ts +0 -32
- package/build/browser/ontology/OntologyProvider.d.ts.map +0 -1
- package/build/browser/ontology/StandardOntologyProvider.d.ts +0 -5
- package/build/browser/ontology/StandardOntologyProvider.d.ts.map +0 -1
- package/build/browser/ontology/StandardOntologyProvider.test.d.ts +0 -2
- package/build/browser/ontology/StandardOntologyProvider.test.d.ts.map +0 -1
- package/build/browser/ontology/loadActionMetadata.d.ts +0 -4
- package/build/browser/ontology/loadActionMetadata.d.ts.map +0 -1
- package/build/browser/ontology/loadFullObjectMetadata.d.ts +0 -6
- package/build/browser/ontology/loadFullObjectMetadata.d.ts.map +0 -1
- package/build/browser/ontology/loadInterfaceMetadata.d.ts +0 -4
- package/build/browser/ontology/loadInterfaceMetadata.d.ts.map +0 -1
- package/build/browser/ontology/loadQueryMetadata.d.ts +0 -4
- package/build/browser/ontology/loadQueryMetadata.d.ts.map +0 -1
- package/build/browser/ontology/makeConjureContext.d.ts +0 -4
- package/build/browser/ontology/makeConjureContext.d.ts.map +0 -1
- package/build/browser/pageRequestAsAsyncIter.d.ts +0 -10
- package/build/browser/pageRequestAsAsyncIter.d.ts.map +0 -1
- package/build/browser/public/unstable-do-not-use.d.ts +0 -2
- package/build/browser/public/unstable-do-not-use.d.ts.map +0 -1
- package/build/browser/queries/applyQuery.d.ts +0 -6
- package/build/browser/queries/applyQuery.d.ts.map +0 -1
- package/build/browser/queries/queries.test.d.ts +0 -2
- package/build/browser/queries/queries.test.d.ts.map +0 -1
- package/build/browser/queries/types.d.ts +0 -20
- package/build/browser/queries/types.d.ts.map +0 -1
- package/build/browser/tsserver.d.ts +0 -34
- package/build/browser/tsserver.d.ts.map +0 -1
- package/build/browser/util/ArrayElement.d.ts +0 -2
- package/build/browser/util/ArrayElement.d.ts.map +0 -1
- package/build/browser/util/NOOP.d.ts +0 -4
- package/build/browser/util/NOOP.d.ts.map +0 -1
- package/build/browser/util/NullableProps.d.ts +0 -6
- package/build/browser/util/NullableProps.d.ts.map +0 -1
- package/build/browser/util/UserAgent.d.ts +0 -2
- package/build/browser/util/UserAgent.d.ts.map +0 -1
- package/build/browser/util/WireObjectSet.d.ts +0 -2
- package/build/browser/util/WireObjectSet.d.ts.map +0 -1
- package/build/browser/util/addUserAgentAndRequestContextHeaders.d.ts +0 -4
- package/build/browser/util/addUserAgentAndRequestContextHeaders.d.ts.map +0 -1
- package/build/browser/util/augmentRequestContext.d.ts +0 -32
- package/build/browser/util/augmentRequestContext.d.ts.map +0 -1
- package/build/browser/util/isOntologyObjectV2.d.ts +0 -2
- package/build/browser/util/isOntologyObjectV2.d.ts.map +0 -1
- package/build/browser/util/isOsdkBaseObject.d.ts +0 -3
- package/build/browser/util/isOsdkBaseObject.d.ts.map +0 -1
- package/build/browser/util/isOsdkObject.d.ts +0 -3
- package/build/browser/util/isOsdkObject.d.ts.map +0 -1
- package/build/browser/util/partialBy.d.ts +0 -3
- package/build/browser/util/partialBy.d.ts.map +0 -1
- package/build/browser/util/streamutils.d.ts +0 -3
- package/build/browser/util/streamutils.d.ts.map +0 -1
- package/build/browser/util/timeseriesUtils.d.ts +0 -8
- package/build/browser/util/timeseriesUtils.d.ts.map +0 -1
- package/build/browser/util/toDataValue.d.ts +0 -2
- package/build/browser/util/toDataValue.d.ts.map +0 -1
- package/build/browser/util/toDataValue.test.d.ts +0 -2
- package/build/browser/util/toDataValue.test.d.ts.map +0 -1
- package/build/browser/util/toDataValueQueries.d.ts +0 -2
- package/build/browser/util/toDataValueQueries.d.ts.map +0 -1
- package/build/esm/Client.d.ts +0 -26
- package/build/esm/Client.d.ts.map +0 -1
- package/build/esm/Definitions.test.d.ts +0 -2
- package/build/esm/Definitions.test.d.ts.map +0 -1
- package/build/esm/Logger.d.ts +0 -19
- package/build/esm/Logger.d.ts.map +0 -1
- package/build/esm/MinimalClientContext.d.ts +0 -26
- package/build/esm/MinimalClientContext.d.ts.map +0 -1
- package/build/esm/ResultOrError.d.ts +0 -12
- package/build/esm/ResultOrError.d.ts.map +0 -1
- package/build/esm/SatisfiesSemver.d.ts +0 -4
- package/build/esm/SatisfiesSemver.d.ts.map +0 -1
- package/build/esm/SatisfiesSemver.test.d.ts +0 -2
- package/build/esm/SatisfiesSemver.test.d.ts.map +0 -1
- package/build/esm/__unstable/ConjureSupport.d.ts +0 -55
- package/build/esm/__unstable/ConjureSupport.d.ts.map +0 -1
- package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts +0 -5
- package/build/esm/__unstable/createBulkLinksAsyncIterFactory.d.ts.map +0 -1
- package/build/esm/actions/ActionValidationError.d.ts +0 -6
- package/build/esm/actions/ActionValidationError.d.ts.map +0 -1
- package/build/esm/actions/actions.test.d.ts +0 -2
- package/build/esm/actions/actions.test.d.ts.map +0 -1
- package/build/esm/actions/applyAction.d.ts +0 -30
- package/build/esm/actions/applyAction.d.ts.map +0 -1
- package/build/esm/createAttachmentFromRid.d.ts +0 -10
- package/build/esm/createAttachmentFromRid.d.ts.map +0 -1
- package/build/esm/createAttachmentFromRid.js +0 -38
- package/build/esm/createAttachmentFromRid.js.map +0 -1
- package/build/esm/createClient.d.ts +0 -6
- package/build/esm/createClient.d.ts.map +0 -1
- package/build/esm/createClient.test.d.ts +0 -2
- package/build/esm/createClient.test.d.ts.map +0 -1
- package/build/esm/createGeotimeSeriesProperty.d.ts +0 -14
- package/build/esm/createGeotimeSeriesProperty.d.ts.map +0 -1
- package/build/esm/createMinimalClient.d.ts +0 -2
- package/build/esm/createMinimalClient.d.ts.map +0 -1
- package/build/esm/createPlatformClient.d.ts +0 -17
- package/build/esm/createPlatformClient.d.ts.map +0 -1
- package/build/esm/createTimeseriesProperty.d.ts +0 -14
- package/build/esm/createTimeseriesProperty.d.ts.map +0 -1
- package/build/esm/definitions/LinkDefinitions.test.d.ts +0 -2
- package/build/esm/definitions/LinkDefinitions.test.d.ts.map +0 -1
- package/build/esm/fetchMetadata.d.ts +0 -2
- package/build/esm/fetchMetadata.d.ts.map +0 -1
- package/build/esm/fetchMetadata.test.d.ts +0 -2
- package/build/esm/fetchMetadata.test.d.ts.map +0 -1
- package/build/esm/index.d.ts +0 -12
- package/build/esm/index.d.ts.map +0 -1
- package/build/esm/intellisense.test.d.ts +0 -2
- package/build/esm/intellisense.test.d.ts.map +0 -1
- package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +0 -2
- package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.d.ts.map +0 -1
- package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.d.ts +0 -2
- package/build/esm/internal/conversions/legacyToModernSingleAggregationResult.d.ts.map +0 -1
- package/build/esm/internal/conversions/modernToLegacyAggregationClause.d.ts +0 -2
- package/build/esm/internal/conversions/modernToLegacyAggregationClause.d.ts.map +0 -1
- package/build/esm/internal/conversions/modernToLegacyGroupByClause.d.ts +0 -2
- package/build/esm/internal/conversions/modernToLegacyGroupByClause.d.ts.map +0 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.d.ts +0 -2
- package/build/esm/internal/conversions/modernToLegacyWhereClause.d.ts.map +0 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.d.ts +0 -2
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.d.ts.map +0 -1
- package/build/esm/object/AttachmentUpload.d.ts +0 -4
- package/build/esm/object/AttachmentUpload.d.ts.map +0 -1
- package/build/esm/object/Cache.d.ts +0 -2
- package/build/esm/object/Cache.d.ts.map +0 -1
- package/build/esm/object/Cache.test.d.ts +0 -11
- package/build/esm/object/Cache.test.d.ts.map +0 -1
- package/build/esm/object/SimpleCache.d.ts +0 -38
- package/build/esm/object/SimpleCache.d.ts.map +0 -1
- package/build/esm/object/aggregate.d.ts +0 -2
- package/build/esm/object/aggregate.d.ts.map +0 -1
- package/build/esm/object/aggregate.test.d.ts +0 -2
- package/build/esm/object/aggregate.test.d.ts.map +0 -1
- package/build/esm/object/attachment.test.d.ts +0 -2
- package/build/esm/object/attachment.test.d.ts.map +0 -1
- package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +0 -2
- package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.d.ts.map +0 -1
- package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts +0 -7
- package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +0 -1
- package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.d.ts +0 -2
- package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.d.ts.map +0 -1
- package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +0 -2
- package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +0 -1
- package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +0 -8
- package/build/esm/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts.map +0 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +0 -2
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.d.ts.map +0 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +0 -2
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts.map +0 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.d.ts +0 -2
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.d.ts.map +0 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts +0 -3
- package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +0 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.d.ts +0 -2
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.d.ts.map +0 -1
- package/build/esm/object/convertWireToOsdkObjects.d.ts +0 -2
- package/build/esm/object/convertWireToOsdkObjects.d.ts.map +0 -1
- package/build/esm/object/convertWireToOsdkObjects.test.d.ts +0 -2
- package/build/esm/object/convertWireToOsdkObjects.test.d.ts.map +0 -1
- package/build/esm/object/fetchPage.d.ts +0 -3
- package/build/esm/object/fetchPage.d.ts.map +0 -1
- package/build/esm/object/fetchPage.test.d.ts +0 -2
- package/build/esm/object/fetchPage.test.d.ts.map +0 -1
- package/build/esm/object/fetchSingle.d.ts +0 -2
- package/build/esm/object/fetchSingle.d.ts.map +0 -1
- package/build/esm/object/geotimeseriesreference.test.d.ts +0 -2
- package/build/esm/object/geotimeseriesreference.test.d.ts.map +0 -1
- package/build/esm/object/object.test.d.ts +0 -12
- package/build/esm/object/object.test.d.ts.map +0 -1
- package/build/esm/object/timeseries.test.d.ts +0 -2
- package/build/esm/object/timeseries.test.d.ts.map +0 -1
- package/build/esm/objectSet/ObjectSet.test.d.ts +0 -2
- package/build/esm/objectSet/ObjectSet.test.d.ts.map +0 -1
- package/build/esm/objectSet/ObjectSetFactory.d.ts +0 -2
- package/build/esm/objectSet/ObjectSetFactory.d.ts.map +0 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.d.ts +0 -2
- package/build/esm/objectSet/ObjectSetListenerWebsocket.d.ts.map +0 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.d.ts +0 -2
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.d.ts.map +0 -1
- package/build/esm/objectSet/conjureUnionType.d.ts +0 -13
- package/build/esm/objectSet/conjureUnionType.d.ts.map +0 -1
- package/build/esm/objectSet/createObjectSet.d.ts +0 -2
- package/build/esm/objectSet/createObjectSet.d.ts.map +0 -1
- package/build/esm/objectSet/toConjureObjectSet.d.ts +0 -2
- package/build/esm/objectSet/toConjureObjectSet.d.ts.map +0 -1
- package/build/esm/objectSet/toConjureObjectSet.js +0 -165
- package/build/esm/objectSet/toConjureObjectSet.js.map +0 -1
- package/build/esm/ontology/OntologyProvider.d.ts +0 -32
- package/build/esm/ontology/OntologyProvider.d.ts.map +0 -1
- package/build/esm/ontology/StandardOntologyProvider.d.ts +0 -5
- package/build/esm/ontology/StandardOntologyProvider.d.ts.map +0 -1
- package/build/esm/ontology/StandardOntologyProvider.test.d.ts +0 -2
- package/build/esm/ontology/StandardOntologyProvider.test.d.ts.map +0 -1
- package/build/esm/ontology/loadActionMetadata.d.ts +0 -4
- package/build/esm/ontology/loadActionMetadata.d.ts.map +0 -1
- package/build/esm/ontology/loadFullObjectMetadata.d.ts +0 -6
- package/build/esm/ontology/loadFullObjectMetadata.d.ts.map +0 -1
- package/build/esm/ontology/loadInterfaceMetadata.d.ts +0 -4
- package/build/esm/ontology/loadInterfaceMetadata.d.ts.map +0 -1
- package/build/esm/ontology/loadQueryMetadata.d.ts +0 -4
- package/build/esm/ontology/loadQueryMetadata.d.ts.map +0 -1
- package/build/esm/ontology/makeConjureContext.d.ts +0 -4
- package/build/esm/ontology/makeConjureContext.d.ts.map +0 -1
- package/build/esm/pageRequestAsAsyncIter.d.ts +0 -10
- package/build/esm/pageRequestAsAsyncIter.d.ts.map +0 -1
- package/build/esm/public/unstable-do-not-use.d.ts +0 -2
- package/build/esm/public/unstable-do-not-use.d.ts.map +0 -1
- package/build/esm/queries/applyQuery.d.ts +0 -6
- package/build/esm/queries/applyQuery.d.ts.map +0 -1
- package/build/esm/queries/queries.test.d.ts +0 -2
- package/build/esm/queries/queries.test.d.ts.map +0 -1
- package/build/esm/queries/types.d.ts +0 -20
- package/build/esm/queries/types.d.ts.map +0 -1
- package/build/esm/tsserver.d.ts +0 -34
- package/build/esm/tsserver.d.ts.map +0 -1
- package/build/esm/util/ArrayElement.d.ts +0 -2
- package/build/esm/util/ArrayElement.d.ts.map +0 -1
- package/build/esm/util/NOOP.d.ts +0 -4
- package/build/esm/util/NOOP.d.ts.map +0 -1
- package/build/esm/util/NullableProps.d.ts +0 -6
- package/build/esm/util/NullableProps.d.ts.map +0 -1
- package/build/esm/util/UserAgent.d.ts +0 -2
- package/build/esm/util/UserAgent.d.ts.map +0 -1
- package/build/esm/util/WireObjectSet.d.ts +0 -2
- package/build/esm/util/WireObjectSet.d.ts.map +0 -1
- package/build/esm/util/addUserAgentAndRequestContextHeaders.d.ts +0 -4
- package/build/esm/util/addUserAgentAndRequestContextHeaders.d.ts.map +0 -1
- package/build/esm/util/augmentRequestContext.d.ts +0 -32
- package/build/esm/util/augmentRequestContext.d.ts.map +0 -1
- package/build/esm/util/isOntologyObjectV2.d.ts +0 -2
- package/build/esm/util/isOntologyObjectV2.d.ts.map +0 -1
- package/build/esm/util/isOsdkBaseObject.d.ts +0 -3
- package/build/esm/util/isOsdkBaseObject.d.ts.map +0 -1
- package/build/esm/util/isOsdkObject.d.ts +0 -3
- package/build/esm/util/isOsdkObject.d.ts.map +0 -1
- package/build/esm/util/partialBy.d.ts +0 -3
- package/build/esm/util/partialBy.d.ts.map +0 -1
- package/build/esm/util/streamutils.d.ts +0 -3
- package/build/esm/util/streamutils.d.ts.map +0 -1
- package/build/esm/util/timeseriesUtils.d.ts +0 -8
- package/build/esm/util/timeseriesUtils.d.ts.map +0 -1
- package/build/esm/util/toDataValue.d.ts +0 -2
- package/build/esm/util/toDataValue.d.ts.map +0 -1
- package/build/esm/util/toDataValue.test.d.ts +0 -2
- package/build/esm/util/toDataValue.test.d.ts.map +0 -1
- package/build/esm/util/toDataValueQueries.d.ts +0 -2
- package/build/esm/util/toDataValueQueries.d.ts.map +0 -1
|
@@ -0,0 +1,464 @@
|
|
|
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 { delay } from "msw";
|
|
18
|
+
import { BehaviorSubject } from "rxjs";
|
|
19
|
+
import invariant from "tiny-invariant";
|
|
20
|
+
import { DEBUG_REFCOUNTS } from "../DebugFlags.js";
|
|
21
|
+
import { CacheKeys } from "./CacheKeys.js";
|
|
22
|
+
import { createChangedObjects } from "./ChangedObjects.js";
|
|
23
|
+
import { Layer } from "./Layer.js";
|
|
24
|
+
import { isListCacheKey, ListQuery } from "./ListQuery.js";
|
|
25
|
+
import { ObjectQuery } from "./ObjectQuery.js";
|
|
26
|
+
import { runOptimisticJob } from "./OptimisticJob.js";
|
|
27
|
+
import { RefCounts } from "./RefCounts.js";
|
|
28
|
+
import { WhereClauseCanonicalizer } from "./WhereClauseCanonicalizer.js";
|
|
29
|
+
const ACTION_DELAY = process.env.NODE_ENV === "production" ? 0 : 1000;
|
|
30
|
+
|
|
31
|
+
/*
|
|
32
|
+
Work still to do:
|
|
33
|
+
- [x] testing for optimistic writes
|
|
34
|
+
- [x] automatic invalidation of actions
|
|
35
|
+
- [x] automatic optimistic list updates
|
|
36
|
+
- [x] useOsdkObjects
|
|
37
|
+
- [x] imply offline for objects passed directly
|
|
38
|
+
- [ ] websocket subscriptions
|
|
39
|
+
- [ ] links
|
|
40
|
+
- [ ] add pagination
|
|
41
|
+
- [ ] sub-selection support
|
|
42
|
+
- [ ] interfaces
|
|
43
|
+
- [ ] setup defaults
|
|
44
|
+
- [ ] reduce updates in react
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
function createInitEntry(cacheKey) {
|
|
48
|
+
return {
|
|
49
|
+
cacheKey,
|
|
50
|
+
status: "init",
|
|
51
|
+
value: undefined,
|
|
52
|
+
lastUpdated: 0
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/*
|
|
57
|
+
Notes:
|
|
58
|
+
- Subjects are one per type per store (by cache key)
|
|
59
|
+
- Data is one per layer per cache key
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
export class Store {
|
|
63
|
+
whereCanonicalizer = new WhereClauseCanonicalizer();
|
|
64
|
+
#truthLayer = new Layer(undefined, undefined);
|
|
65
|
+
#topLayer;
|
|
66
|
+
#queries = new WeakMap();
|
|
67
|
+
#cacheKeyToSubject = new WeakMap();
|
|
68
|
+
#cacheKeys;
|
|
69
|
+
#refCounts = new RefCounts(DEBUG_REFCOUNTS ? 15_000 : 60_000, k => this.#cleanupCacheKey(k));
|
|
70
|
+
#finalizationRegistry;
|
|
71
|
+
constructor(client) {
|
|
72
|
+
this.client = client;
|
|
73
|
+
this.#topLayer = this.#truthLayer;
|
|
74
|
+
this.#cacheKeys = new CacheKeys(this.whereCanonicalizer, k => {
|
|
75
|
+
if (DEBUG_REFCOUNTS) {
|
|
76
|
+
const cacheKeyType = k.type;
|
|
77
|
+
const otherKeys = k.otherKeys;
|
|
78
|
+
// eslint-disable-next-line no-console
|
|
79
|
+
console.log(`CacheKeys.onCreate(${cacheKeyType}, ${JSON.stringify(otherKeys)})`);
|
|
80
|
+
this.#finalizationRegistry.register(k, () => {
|
|
81
|
+
// eslint-disable-next-line no-console
|
|
82
|
+
console.log(`CacheKey Finalization(${cacheKeyType}, ${JSON.stringify(otherKeys)})`);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
this.#refCounts.register(k);
|
|
86
|
+
});
|
|
87
|
+
setInterval(() => {
|
|
88
|
+
this.#refCounts.gc();
|
|
89
|
+
}, 1000);
|
|
90
|
+
this.#finalizationRegistry = new FinalizationRegistry(cleanupCallback => {
|
|
91
|
+
try {
|
|
92
|
+
cleanupCallback();
|
|
93
|
+
} catch (e) {
|
|
94
|
+
// eslint-disable-next-line no-console
|
|
95
|
+
console.error("Caught an error while running a finalization callback", e);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Called after a key is no longer retained and the timeout has elapsed
|
|
102
|
+
* @param key
|
|
103
|
+
*/
|
|
104
|
+
#cleanupCacheKey = key => {
|
|
105
|
+
const subject = this.peekSubject(key);
|
|
106
|
+
if (DEBUG_REFCOUNTS) {
|
|
107
|
+
// eslint-disable-next-line no-console
|
|
108
|
+
console.log(`CacheKey cleaning up (${JSON.stringify({
|
|
109
|
+
closed: subject?.closed,
|
|
110
|
+
observed: subject?.observed
|
|
111
|
+
})})`, JSON.stringify([key.type, ...key.otherKeys], null, 2));
|
|
112
|
+
}
|
|
113
|
+
this.#cacheKeys.remove(key);
|
|
114
|
+
if (process.env.NODE_ENV !== "production") {
|
|
115
|
+
!subject ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
|
|
116
|
+
}
|
|
117
|
+
if (subject) {
|
|
118
|
+
subject.complete();
|
|
119
|
+
this.#cacheKeyToSubject.delete(key);
|
|
120
|
+
}
|
|
121
|
+
this.#queries.get(key)?.dispose();
|
|
122
|
+
this.#queries.delete(key);
|
|
123
|
+
};
|
|
124
|
+
applyAction = (action, args, opts) => {
|
|
125
|
+
return new ActionApplication(this).applyAction(action, args, opts);
|
|
126
|
+
};
|
|
127
|
+
removeLayer(layerId) {
|
|
128
|
+
!(layerId != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "undefined is the reserved layerId for the truth layer") : invariant(false) : void 0;
|
|
129
|
+
// 1. collect all cache keys for a given layerId
|
|
130
|
+
let currentLayer = this.#topLayer;
|
|
131
|
+
const cacheKeys = new Map();
|
|
132
|
+
while (currentLayer != null && currentLayer.parentLayer != null) {
|
|
133
|
+
if (currentLayer.layerId === layerId) {
|
|
134
|
+
for (const [k, v] of currentLayer.entries()) {
|
|
135
|
+
if (cacheKeys.has(k)) continue;
|
|
136
|
+
cacheKeys.set(k, v);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
currentLayer = currentLayer.parentLayer;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// 2. remove the layers from the chain
|
|
143
|
+
this.#topLayer = this.#topLayer.removeLayer(layerId);
|
|
144
|
+
|
|
145
|
+
// 3. check each cache key to see if it is different in the new chain
|
|
146
|
+
for (const [k, oldEntry] of cacheKeys) {
|
|
147
|
+
const currentEntry = this.#topLayer.get(k);
|
|
148
|
+
|
|
149
|
+
// 4. if different, update the subject
|
|
150
|
+
if (oldEntry !== currentEntry) {
|
|
151
|
+
currentEntry ?? createInitEntry(k); // We are going to be pretty lazy here and just re-emit the value.
|
|
152
|
+
// In the future it may benefit us to deep equal check her but I think
|
|
153
|
+
// the subjects are effectively doing this anyway.
|
|
154
|
+
this.peekSubject(k)?.next({
|
|
155
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-spread
|
|
156
|
+
...(currentEntry ?? createInitEntry(k)),
|
|
157
|
+
isOptimistic: currentEntry?.value !== this.#truthLayer.get(k)?.value
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
getCacheKey(type, ...args) {
|
|
163
|
+
return this.#refCounts.register(this.#cacheKeys.get(type, ...args));
|
|
164
|
+
}
|
|
165
|
+
peekSubject = cacheKey => {
|
|
166
|
+
return this.#cacheKeyToSubject.get(cacheKey);
|
|
167
|
+
};
|
|
168
|
+
getSubject = cacheKey => {
|
|
169
|
+
let subject = this.#cacheKeyToSubject.get(cacheKey);
|
|
170
|
+
if (!subject) {
|
|
171
|
+
const initialValue = this.#topLayer.get(cacheKey) ?? createInitEntry(cacheKey);
|
|
172
|
+
subject = new BehaviorSubject({
|
|
173
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-spread
|
|
174
|
+
...initialValue,
|
|
175
|
+
isOptimistic: initialValue.value !== this.#truthLayer.get(cacheKey)?.value
|
|
176
|
+
});
|
|
177
|
+
this.#cacheKeyToSubject.set(cacheKey, subject);
|
|
178
|
+
}
|
|
179
|
+
return subject;
|
|
180
|
+
};
|
|
181
|
+
observeObject(apiName, pk, options, subFn) {
|
|
182
|
+
if (typeof apiName !== "string") {
|
|
183
|
+
apiName = apiName.apiName;
|
|
184
|
+
}
|
|
185
|
+
const query = this.getObjectQuery(apiName, pk);
|
|
186
|
+
this.#refCounts.retain(query.cacheKey);
|
|
187
|
+
if (options.mode !== "offline") {
|
|
188
|
+
void query.revalidate(options.mode === "force");
|
|
189
|
+
}
|
|
190
|
+
const sub = query.subscribe({
|
|
191
|
+
next: subFn
|
|
192
|
+
});
|
|
193
|
+
return {
|
|
194
|
+
unsubscribe: () => {
|
|
195
|
+
sub.unsubscribe();
|
|
196
|
+
this.#refCounts.release(query.cacheKey);
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
observeList(apiName, where, options, subFn) {
|
|
201
|
+
if (typeof apiName !== "string") {
|
|
202
|
+
apiName = apiName.apiName;
|
|
203
|
+
}
|
|
204
|
+
const query = this.getListQuery(apiName, where, options);
|
|
205
|
+
this.#refCounts.retain(query.cacheKey);
|
|
206
|
+
if (options.mode !== "offline") {
|
|
207
|
+
void query.revalidate(options.mode === "force");
|
|
208
|
+
}
|
|
209
|
+
const sub = query.subscribe({
|
|
210
|
+
next: subFn
|
|
211
|
+
});
|
|
212
|
+
return {
|
|
213
|
+
unsubscribe: () => {
|
|
214
|
+
sub.unsubscribe();
|
|
215
|
+
this.#refCounts.release(query.cacheKey);
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
#peekQuery(cacheKey) {
|
|
220
|
+
return this.#queries.get(cacheKey);
|
|
221
|
+
}
|
|
222
|
+
#getQuery(cacheKey, createQuery) {
|
|
223
|
+
let query = this.#peekQuery(cacheKey);
|
|
224
|
+
if (!query) {
|
|
225
|
+
query = createQuery();
|
|
226
|
+
this.#queries.set(cacheKey, query);
|
|
227
|
+
}
|
|
228
|
+
return query;
|
|
229
|
+
}
|
|
230
|
+
getListQuery(apiName, where, opts, peek = false) {
|
|
231
|
+
if (typeof apiName !== "string") {
|
|
232
|
+
apiName = apiName.apiName;
|
|
233
|
+
}
|
|
234
|
+
const canonWhere = this.whereCanonicalizer.canonicalize(where);
|
|
235
|
+
const listCacheKey = this.getCacheKey("list", apiName, canonWhere);
|
|
236
|
+
return this.#getQuery(listCacheKey, () => {
|
|
237
|
+
return new ListQuery(this, this.getSubject(listCacheKey), apiName, canonWhere, listCacheKey, opts);
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
getObjectQuery(apiName, pk) {
|
|
241
|
+
if (typeof apiName !== "string") {
|
|
242
|
+
apiName = apiName.apiName;
|
|
243
|
+
}
|
|
244
|
+
const objectCacheKey = this.getCacheKey("object", apiName, pk);
|
|
245
|
+
return this.#getQuery(objectCacheKey, () => new ObjectQuery(this, this.getSubject(objectCacheKey), apiName, pk, objectCacheKey, {
|
|
246
|
+
dedupeInterval: 0
|
|
247
|
+
}));
|
|
248
|
+
}
|
|
249
|
+
getObject(apiName, pk) {
|
|
250
|
+
if (typeof apiName !== "string") {
|
|
251
|
+
apiName = apiName.apiName;
|
|
252
|
+
}
|
|
253
|
+
const objectCacheKey = this.getCacheKey("object", apiName, pk);
|
|
254
|
+
const objEntry = this.#topLayer.get(objectCacheKey);
|
|
255
|
+
return objEntry?.value;
|
|
256
|
+
}
|
|
257
|
+
batch = ({
|
|
258
|
+
optimisticId
|
|
259
|
+
}, batchFn) => {
|
|
260
|
+
!(optimisticId === undefined || !!optimisticId) ? process.env.NODE_ENV !== "production" ? invariant(false, "optimistic must be undefined or not falsy") : invariant(false) : void 0;
|
|
261
|
+
let needsLayer = optimisticId !== undefined;
|
|
262
|
+
const batchContext = {
|
|
263
|
+
addedObjects: new Set(),
|
|
264
|
+
modifiedObjects: new Set(),
|
|
265
|
+
modifiedLists: new Set(),
|
|
266
|
+
createLayerIfNeeded: () => {
|
|
267
|
+
if (needsLayer) {
|
|
268
|
+
this.#topLayer = this.#topLayer.addLayer(optimisticId);
|
|
269
|
+
needsLayer = false;
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
optimisticWrite: !!optimisticId,
|
|
273
|
+
write: (cacheKey, value, status) => {
|
|
274
|
+
const oldTopValue = this.#topLayer.get(cacheKey);
|
|
275
|
+
if (optimisticId) batchContext.createLayerIfNeeded();
|
|
276
|
+
const writeLayer = optimisticId ? this.#topLayer : this.#truthLayer;
|
|
277
|
+
const newValue = {
|
|
278
|
+
cacheKey,
|
|
279
|
+
value,
|
|
280
|
+
lastUpdated: Date.now(),
|
|
281
|
+
status
|
|
282
|
+
};
|
|
283
|
+
writeLayer.set(cacheKey, newValue);
|
|
284
|
+
const newTopValue = this.#topLayer.get(cacheKey);
|
|
285
|
+
if (oldTopValue !== newTopValue) {
|
|
286
|
+
this.#cacheKeyToSubject.get(cacheKey)?.next({
|
|
287
|
+
...newValue,
|
|
288
|
+
isOptimistic: newTopValue?.value !== this.#truthLayer.get(cacheKey)?.value
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
return newValue;
|
|
292
|
+
},
|
|
293
|
+
read: cacheKey => {
|
|
294
|
+
return optimisticId ? this.#topLayer.get(cacheKey) : this.#truthLayer.get(cacheKey);
|
|
295
|
+
}
|
|
296
|
+
};
|
|
297
|
+
const retVal = batchFn(batchContext);
|
|
298
|
+
return {
|
|
299
|
+
batchResult: batchContext,
|
|
300
|
+
retVal: retVal
|
|
301
|
+
};
|
|
302
|
+
};
|
|
303
|
+
invalidateObject(apiName, pk) {
|
|
304
|
+
if (typeof apiName !== "string") {
|
|
305
|
+
apiName = apiName.apiName;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
// inevitably we will want an internal version of this and a "public" one
|
|
309
|
+
// so we can avoid extra requests
|
|
310
|
+
|
|
311
|
+
const query = this.getObjectQuery(apiName, pk);
|
|
312
|
+
return query.revalidate(true);
|
|
313
|
+
|
|
314
|
+
// potentially trigger updates of the lists that included this object?
|
|
315
|
+
// TODO
|
|
316
|
+
// could we detect that a list WOULD include it?
|
|
317
|
+
}
|
|
318
|
+
maybeRevalidateLists(changes) {
|
|
319
|
+
for (const [cacheKey, v] of this.#truthLayer.entries()) {
|
|
320
|
+
if (isListCacheKey(cacheKey)) {
|
|
321
|
+
// fixme promise
|
|
322
|
+
void this.#peekQuery(cacheKey)?.maybeRevalidate(changes);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
maybeUpdateLists(changes, optimisticId) {
|
|
327
|
+
for (const [cacheKey, v] of this.#truthLayer.entries()) {
|
|
328
|
+
if (isListCacheKey(cacheKey)) {
|
|
329
|
+
// fixme promise
|
|
330
|
+
void this.#peekQuery(cacheKey)?.maybeUpdate(changes, optimisticId);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
invalidateObjectType(apiName) {
|
|
335
|
+
if (typeof apiName !== "string") {
|
|
336
|
+
apiName = apiName.apiName;
|
|
337
|
+
}
|
|
338
|
+
for (const [cacheKey, v] of this.#truthLayer.entries()) {
|
|
339
|
+
if (isListCacheKey(cacheKey, apiName)) {
|
|
340
|
+
void this.#peekQuery(cacheKey)?.revalidate(true);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
invalidateList(apiName, where) {
|
|
345
|
+
if (typeof apiName !== "string") {
|
|
346
|
+
apiName = apiName.apiName;
|
|
347
|
+
}
|
|
348
|
+
const cacheKey = this.getCacheKey("list", apiName, where);
|
|
349
|
+
void this.#peekQuery(cacheKey)?.revalidate(true);
|
|
350
|
+
}
|
|
351
|
+
updateObject(apiName, value, {
|
|
352
|
+
optimisticId
|
|
353
|
+
} = {}) {
|
|
354
|
+
if (typeof apiName !== "string") {
|
|
355
|
+
apiName = apiName.apiName;
|
|
356
|
+
}
|
|
357
|
+
const query = this.getObjectQuery(apiName, value.$primaryKey);
|
|
358
|
+
return this.batch({
|
|
359
|
+
optimisticId
|
|
360
|
+
}, batch => {
|
|
361
|
+
return query.writeToStore(value, "loaded", batch);
|
|
362
|
+
}).retVal.value;
|
|
363
|
+
}
|
|
364
|
+
updateList(apiName, where, values, {
|
|
365
|
+
optimisticId
|
|
366
|
+
} = {}, opts = {
|
|
367
|
+
dedupeInterval: 0
|
|
368
|
+
}) {
|
|
369
|
+
if (typeof apiName !== "string") {
|
|
370
|
+
apiName = apiName.apiName;
|
|
371
|
+
}
|
|
372
|
+
const query = this.getListQuery(apiName, where, opts);
|
|
373
|
+
this.batch({
|
|
374
|
+
optimisticId
|
|
375
|
+
}, b => {
|
|
376
|
+
query.updateList(values, false, "loaded", b);
|
|
377
|
+
});
|
|
378
|
+
}
|
|
379
|
+
retain(cacheKey) {
|
|
380
|
+
this.#refCounts.retain(cacheKey);
|
|
381
|
+
}
|
|
382
|
+
release(cacheKey) {
|
|
383
|
+
this.#refCounts.release(cacheKey);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
class ActionApplication {
|
|
387
|
+
constructor(store) {
|
|
388
|
+
this.store = store;
|
|
389
|
+
}
|
|
390
|
+
applyAction = (action, args, {
|
|
391
|
+
optimisticUpdate
|
|
392
|
+
} = {}) => {
|
|
393
|
+
const removeOptimisticResult = runOptimisticJob(this.store, optimisticUpdate);
|
|
394
|
+
return (async () => {
|
|
395
|
+
try {
|
|
396
|
+
// The types for client get confused when we dynamically applyAction so we
|
|
397
|
+
// have to deal with the `any` here and force cast it to what it should be.
|
|
398
|
+
// TODO: Update the types so this doesn't happen!
|
|
399
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
400
|
+
const actionResults = await this.store.client(action).applyAction(args, {
|
|
401
|
+
$returnEdits: true
|
|
402
|
+
});
|
|
403
|
+
if (ACTION_DELAY > 0) {
|
|
404
|
+
// eslint-disable-next-line no-console
|
|
405
|
+
console.log("action done, pausing");
|
|
406
|
+
await delay(ACTION_DELAY);
|
|
407
|
+
// eslint-disable-next-line no-console
|
|
408
|
+
console.log("action done, pausing done");
|
|
409
|
+
}
|
|
410
|
+
await this.#invalidateActionEditResponse(actionResults);
|
|
411
|
+
return actionResults;
|
|
412
|
+
} finally {
|
|
413
|
+
// make sure this happens even if the action fails
|
|
414
|
+
await removeOptimisticResult();
|
|
415
|
+
}
|
|
416
|
+
})();
|
|
417
|
+
};
|
|
418
|
+
#invalidateActionEditResponse = value => {
|
|
419
|
+
const typesToInvalidate = new Set();
|
|
420
|
+
let promisesToWait = [];
|
|
421
|
+
if (value.type === "edits") {
|
|
422
|
+
// TODO we need an backend update for deletes
|
|
423
|
+
for (const obj of value.modifiedObjects) {
|
|
424
|
+
promisesToWait.push(this.store.invalidateObject(obj.objectType, obj.primaryKey));
|
|
425
|
+
}
|
|
426
|
+
for (const obj of value.addedObjects) {
|
|
427
|
+
promisesToWait.push(this.store.invalidateObject(obj.objectType, obj.primaryKey));
|
|
428
|
+
typesToInvalidate.add(obj.objectType);
|
|
429
|
+
}
|
|
430
|
+
promisesToWait = [Promise.allSettled(promisesToWait).then(() => {
|
|
431
|
+
const changes2 = this.#changesFromActionEditResponse(value);
|
|
432
|
+
this.store.maybeRevalidateLists(changes2);
|
|
433
|
+
})];
|
|
434
|
+
} else {
|
|
435
|
+
for (const apiName of value.editedObjectTypes) {
|
|
436
|
+
typesToInvalidate.add(apiName.toString());
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
return Promise.allSettled(promisesToWait).then(() => {
|
|
440
|
+
// after the single object invalidations are done we can decide if we need to updates any lists
|
|
441
|
+
for (const objectType of typesToInvalidate) {
|
|
442
|
+
// TODO make sure this covers individual object loads too
|
|
443
|
+
this.store.invalidateObjectType(objectType);
|
|
444
|
+
}
|
|
445
|
+
return value;
|
|
446
|
+
});
|
|
447
|
+
};
|
|
448
|
+
#changesFromActionEditResponse = value => {
|
|
449
|
+
const changes = createChangedObjects();
|
|
450
|
+
for (const changeType of ["addedObjects", "modifiedObjects"]) {
|
|
451
|
+
for (const {
|
|
452
|
+
objectType,
|
|
453
|
+
primaryKey
|
|
454
|
+
} of value[changeType] ?? []) {
|
|
455
|
+
const obj = this.store.getObject(objectType, primaryKey);
|
|
456
|
+
if (obj) {
|
|
457
|
+
changes[changeType].set(objectType, obj);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
return changes;
|
|
462
|
+
};
|
|
463
|
+
}
|
|
464
|
+
//# sourceMappingURL=Store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Store.js","names":["delay","BehaviorSubject","invariant","DEBUG_REFCOUNTS","CacheKeys","createChangedObjects","Layer","isListCacheKey","ListQuery","ObjectQuery","runOptimisticJob","RefCounts","WhereClauseCanonicalizer","ACTION_DELAY","process","env","NODE_ENV","createInitEntry","cacheKey","status","value","undefined","lastUpdated","Store","whereCanonicalizer","truthLayer","topLayer","queries","WeakMap","cacheKeyToSubject","cacheKeys","refCounts","k","cleanupCacheKey","finalizationRegistry","constructor","client","cacheKeyType","type","otherKeys","console","log","JSON","stringify","register","setInterval","gc","FinalizationRegistry","cleanupCallback","e","error","key","subject","peekSubject","closed","observed","remove","complete","delete","get","dispose","applyAction","action","args","opts","ActionApplication","removeLayer","layerId","currentLayer","Map","parentLayer","v","entries","has","set","oldEntry","currentEntry","next","isOptimistic","getCacheKey","getSubject","initialValue","observeObject","apiName","pk","options","subFn","query","getObjectQuery","retain","mode","revalidate","sub","subscribe","unsubscribe","release","observeList","where","getListQuery","peekQuery","#peekQuery","getQuery","#getQuery","createQuery","peek","canonWhere","canonicalize","listCacheKey","objectCacheKey","dedupeInterval","getObject","objEntry","batch","optimisticId","batchFn","needsLayer","batchContext","addedObjects","Set","modifiedObjects","modifiedLists","createLayerIfNeeded","addLayer","optimisticWrite","write","oldTopValue","writeLayer","newValue","Date","now","newTopValue","read","retVal","batchResult","invalidateObject","maybeRevalidateLists","changes","maybeRevalidate","maybeUpdateLists","maybeUpdate","invalidateObjectType","invalidateList","updateObject","$primaryKey","writeToStore","updateList","values","b","store","optimisticUpdate","removeOptimisticResult","actionResults","$returnEdits","invalidateActionEditResponse","typesToInvalidate","promisesToWait","obj","push","objectType","primaryKey","add","Promise","allSettled","then","changes2","changesFromActionEditResponse","editedObjectTypes","toString","changeType"],"sources":["Store.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 {\n ActionDefinition,\n ActionEditResponse,\n ObjectTypeDefinition,\n Osdk,\n PrimaryKeyType,\n WhereClause,\n} from \"@osdk/api\";\nimport { delay } from \"msw\";\nimport { BehaviorSubject } from \"rxjs\";\nimport invariant from \"tiny-invariant\";\nimport type { ActionSignatureFromDef } from \"../../actions/applyAction.js\";\nimport type { Client } from \"../../Client.js\";\nimport { DEBUG_REFCOUNTS } from \"../DebugFlags.js\";\nimport type { ListPayload } from \"../ListPayload.js\";\nimport type { ObjectPayload } from \"../ObjectPayload.js\";\nimport type {\n ObserveObjectOptions,\n Unsubscribable,\n} from \"../ObservableClient.js\";\nimport type { OptimisticBuilder } from \"../OptimisticBuilder.js\";\nimport type { SubFn } from \"../types.js\";\nimport type { CacheKey } from \"./CacheKey.js\";\nimport { CacheKeys } from \"./CacheKeys.js\";\nimport { type ChangedObjects, createChangedObjects } from \"./ChangedObjects.js\";\nimport type { Entry } from \"./Layer.js\";\nimport { Layer } from \"./Layer.js\";\nimport type { ListCacheKey, ListQueryOptions } from \"./ListQuery.js\";\nimport { isListCacheKey, ListQuery } from \"./ListQuery.js\";\nimport type { ObjectCacheKey } from \"./ObjectQuery.js\";\nimport { ObjectQuery } from \"./ObjectQuery.js\";\nimport { type OptimisticId } from \"./OptimisticId.js\";\nimport { runOptimisticJob } from \"./OptimisticJob.js\";\nimport type { Query } from \"./Query.js\";\nimport { RefCounts } from \"./RefCounts.js\";\nimport { WhereClauseCanonicalizer } from \"./WhereClauseCanonicalizer.js\";\n\nconst ACTION_DELAY = process.env.NODE_ENV === \"production\" ? 0 : 1000;\n\n/*\n Work still to do:\n - [x] testing for optimistic writes\n - [x] automatic invalidation of actions\n - [x] automatic optimistic list updates\n - [x] useOsdkObjects\n - [x] imply offline for objects passed directly\n - [ ] websocket subscriptions\n - [ ] links\n - [ ] add pagination\n - [ ] sub-selection support\n - [ ] interfaces\n - [ ] setup defaults\n - [ ] reduce updates in react\n*/\n\nexport interface SubjectPayload<KEY extends CacheKey> extends Entry<KEY> {\n isOptimistic: boolean;\n}\n\nexport interface BatchContext {\n addedObjects: Set<ObjectCacheKey>;\n modifiedObjects: Set<ObjectCacheKey>;\n modifiedLists: Set<ListCacheKey>;\n createLayerIfNeeded: () => void;\n optimisticWrite: boolean;\n\n write: <K extends CacheKey<string, any, any>>(\n k: K,\n v: Entry<K>[\"value\"],\n status: Entry<K>[\"status\"],\n ) => Entry<K>;\n\n read: <K extends CacheKey<string, any, any>>(\n k: K,\n ) => Entry<K> | undefined;\n}\n\ninterface ObserveOptions {\n mode?: \"offline\" | \"force\";\n}\n\ninterface UpdateOptions {\n optimisticId?: OptimisticId;\n}\n\nexport namespace Store {\n export interface ApplyActionOptions {\n optimisticUpdate?: (ctx: OptimisticBuilder) => void;\n }\n}\n\nfunction createInitEntry(cacheKey: CacheKey): Entry<any> {\n return {\n cacheKey,\n status: \"init\",\n value: undefined,\n lastUpdated: 0,\n };\n}\n\n/*\n Notes:\n - Subjects are one per type per store (by cache key)\n - Data is one per layer per cache key\n*/\n\nexport class Store {\n whereCanonicalizer: WhereClauseCanonicalizer = new WhereClauseCanonicalizer();\n #truthLayer: Layer = new Layer(undefined, undefined);\n #topLayer: Layer;\n client: Client;\n\n #queries: WeakMap<CacheKey<string, any, any>, Query<any, any, any>> =\n new WeakMap();\n\n #cacheKeyToSubject = new WeakMap<\n CacheKey<string, any, any>,\n BehaviorSubject<SubjectPayload<any>>\n >();\n #cacheKeys: CacheKeys;\n\n #refCounts = new RefCounts<CacheKey>(\n DEBUG_REFCOUNTS ? 15_000 : 60_000,\n (k) => this.#cleanupCacheKey(k),\n );\n\n #finalizationRegistry: FinalizationRegistry<() => void>;\n\n constructor(client: Client) {\n this.client = client;\n this.#topLayer = this.#truthLayer;\n this.#cacheKeys = new CacheKeys(this.whereCanonicalizer, (k) => {\n if (DEBUG_REFCOUNTS) {\n const cacheKeyType = k.type;\n const otherKeys = k.otherKeys;\n // eslint-disable-next-line no-console\n console.log(\n `CacheKeys.onCreate(${cacheKeyType}, ${JSON.stringify(otherKeys)})`,\n );\n\n this.#finalizationRegistry.register(k, () => {\n // eslint-disable-next-line no-console\n console.log(\n `CacheKey Finalization(${cacheKeyType}, ${\n JSON.stringify(otherKeys)\n })`,\n );\n });\n }\n\n this.#refCounts.register(k);\n });\n\n setInterval(() => {\n this.#refCounts.gc();\n }, 1000);\n\n this.#finalizationRegistry = new FinalizationRegistry<() => void>(\n (cleanupCallback) => {\n try {\n cleanupCallback();\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\n \"Caught an error while running a finalization callback\",\n e,\n );\n }\n },\n );\n }\n\n /**\n * Called after a key is no longer retained and the timeout has elapsed\n * @param key\n */\n #cleanupCacheKey = (key: CacheKey<string, any, any>) => {\n const subject = this.peekSubject(key);\n\n if (DEBUG_REFCOUNTS) {\n // eslint-disable-next-line no-console\n console.log(\n `CacheKey cleaning up (${\n JSON.stringify({\n closed: subject?.closed,\n observed: subject?.observed,\n })\n })`,\n JSON.stringify([key.type, ...key.otherKeys], null, 2),\n );\n }\n this.#cacheKeys.remove(key);\n if (process.env.NODE_ENV !== \"production\") {\n invariant(subject);\n }\n\n if (subject) {\n subject.complete();\n this.#cacheKeyToSubject.delete(key);\n }\n\n this.#queries.get(key)?.dispose();\n this.#queries.delete(key);\n };\n\n applyAction: <Q extends ActionDefinition<any>>(\n action: Q,\n args: Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0],\n opts?: Store.ApplyActionOptions,\n ) => Promise<unknown> = (action, args, opts) => {\n return new ActionApplication(this).applyAction(action, args, opts);\n };\n\n removeLayer(layerId: OptimisticId): void {\n invariant(\n layerId != null,\n \"undefined is the reserved layerId for the truth layer\",\n );\n // 1. collect all cache keys for a given layerId\n let currentLayer: Layer | undefined = this.#topLayer;\n const cacheKeys = new Map<CacheKey<string, any, any>, Entry<any>>();\n while (currentLayer != null && currentLayer.parentLayer != null) {\n if (currentLayer.layerId === layerId) {\n for (const [k, v] of currentLayer.entries()) {\n if (cacheKeys.has(k)) continue;\n cacheKeys.set(k, v);\n }\n }\n\n currentLayer = currentLayer.parentLayer;\n }\n\n // 2. remove the layers from the chain\n this.#topLayer = this.#topLayer.removeLayer(layerId);\n\n // 3. check each cache key to see if it is different in the new chain\n for (const [k, oldEntry] of cacheKeys) {\n const currentEntry = this.#topLayer.get(k);\n\n // 4. if different, update the subject\n if (oldEntry !== currentEntry) {\n const x = currentEntry ?? createInitEntry(k);\n // We are going to be pretty lazy here and just re-emit the value.\n // In the future it may benefit us to deep equal check her but I think\n // the subjects are effectively doing this anyway.\n this.peekSubject(k)?.next(\n {\n // eslint-disable-next-line @typescript-eslint/no-misused-spread\n ...(currentEntry ?? createInitEntry(k)),\n isOptimistic:\n currentEntry?.value !== this.#truthLayer.get(k)?.value,\n },\n );\n }\n }\n }\n\n getCacheKey<K extends CacheKey<string, any, any>>(\n type: K[\"type\"],\n ...args: K[\"__cacheKey\"][\"args\"]\n ): K {\n return this.#refCounts.register(this.#cacheKeys.get(type, ...args));\n }\n\n peekSubject = <KEY extends CacheKey<string, any, any>>(\n cacheKey: KEY,\n ):\n | BehaviorSubject<SubjectPayload<KEY>>\n | undefined =>\n {\n return this.#cacheKeyToSubject.get(cacheKey);\n };\n\n getSubject = <KEY extends CacheKey<string, any, any>>(\n cacheKey: KEY,\n ): BehaviorSubject<SubjectPayload<KEY>> => {\n let subject = this.#cacheKeyToSubject.get(cacheKey);\n if (!subject) {\n const initialValue: Entry<KEY> = this.#topLayer.get(cacheKey)\n ?? createInitEntry(cacheKey);\n\n subject = new BehaviorSubject({\n // eslint-disable-next-line @typescript-eslint/no-misused-spread\n ...initialValue,\n isOptimistic:\n initialValue.value !== this.#truthLayer.get(cacheKey)?.value,\n });\n this.#cacheKeyToSubject.set(cacheKey, subject);\n }\n\n return subject;\n };\n\n public observeObject<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n pk: PrimaryKeyType<T>,\n options: ObserveObjectOptions<T>,\n subFn: SubFn<ObjectPayload>,\n ): Unsubscribable {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const query = this.getObjectQuery(apiName, pk);\n this.#refCounts.retain(query.cacheKey);\n\n if (options.mode !== \"offline\") {\n void query.revalidate(options.mode === \"force\");\n }\n const sub = query.subscribe({ next: subFn });\n\n return {\n unsubscribe: () => {\n sub.unsubscribe();\n this.#refCounts.release(query.cacheKey);\n },\n };\n }\n\n public observeList<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n where: WhereClause<T>,\n options: ObserveOptions & ListQueryOptions,\n subFn: SubFn<ListPayload>,\n ): Unsubscribable {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const query = this.getListQuery(apiName, where, options);\n this.#refCounts.retain(query.cacheKey);\n\n if (options.mode !== \"offline\") {\n void query.revalidate(options.mode === \"force\");\n }\n const sub = query.subscribe({ next: subFn });\n\n return {\n unsubscribe: () => {\n sub.unsubscribe();\n this.#refCounts.release(query.cacheKey);\n },\n };\n }\n\n #peekQuery<K extends CacheKey<string, any, any>>(\n cacheKey: K,\n ): K[\"__cacheKey\"][\"query\"] | undefined {\n return this.#queries.get(cacheKey) as K[\"__cacheKey\"][\"query\"] | undefined;\n }\n\n #getQuery<K extends CacheKey>(\n cacheKey: K,\n createQuery: () => K[\"__cacheKey\"][\"query\"],\n ): K[\"__cacheKey\"][\"query\"] {\n let query = this.#peekQuery(cacheKey);\n if (!query) {\n query = createQuery();\n this.#queries.set(cacheKey, query);\n }\n return query;\n }\n\n public getListQuery<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n where: WhereClause<T>,\n opts: ListQueryOptions,\n peek = false,\n ): ListQuery {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const canonWhere = this.whereCanonicalizer.canonicalize(where);\n const listCacheKey = this.getCacheKey<ListCacheKey>(\n \"list\",\n apiName,\n canonWhere,\n );\n\n return this.#getQuery(listCacheKey, () => {\n return new ListQuery(\n this,\n this.getSubject(listCacheKey),\n apiName,\n canonWhere,\n listCacheKey,\n opts,\n );\n });\n }\n\n public getObjectQuery<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n pk: PrimaryKeyType<T>,\n ): ObjectQuery {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const objectCacheKey = this.getCacheKey<ObjectCacheKey>(\n \"object\",\n apiName,\n pk,\n );\n\n return this.#getQuery(objectCacheKey, () =>\n new ObjectQuery(\n this,\n this.getSubject(objectCacheKey),\n apiName,\n pk,\n objectCacheKey,\n { dedupeInterval: 0 },\n ));\n }\n\n public getObject<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n pk: string | number,\n ): Osdk.Instance<T> | undefined {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const objectCacheKey = this.getCacheKey<ObjectCacheKey>(\n \"object\",\n apiName,\n pk,\n );\n const objEntry = this.#topLayer.get(objectCacheKey);\n return objEntry?.value as Osdk.Instance<T> | undefined;\n }\n\n batch = <X>(\n { optimisticId }: { optimisticId?: OptimisticId },\n batchFn: (batchContext: BatchContext) => X,\n ): {\n batchResult: BatchContext;\n retVal: X;\n } => {\n invariant(\n optimisticId === undefined || !!optimisticId,\n \"optimistic must be undefined or not falsy\",\n );\n\n let needsLayer = optimisticId !== undefined;\n const batchContext: BatchContext = {\n addedObjects: new Set(),\n modifiedObjects: new Set(),\n modifiedLists: new Set(),\n createLayerIfNeeded: () => {\n if (needsLayer) {\n this.#topLayer = this.#topLayer.addLayer(optimisticId);\n needsLayer = false;\n }\n },\n optimisticWrite: !!optimisticId,\n write: (cacheKey, value, status) => {\n const oldTopValue = this.#topLayer.get(cacheKey);\n\n if (optimisticId) batchContext.createLayerIfNeeded();\n\n const writeLayer = optimisticId\n ? this.#topLayer\n : this.#truthLayer;\n const newValue = {\n cacheKey,\n value,\n lastUpdated: Date.now(),\n status,\n };\n\n writeLayer.set(cacheKey, newValue);\n\n const newTopValue = this.#topLayer.get(cacheKey);\n\n if (oldTopValue !== newTopValue) {\n this.#cacheKeyToSubject.get(cacheKey)?.next({\n ...newValue,\n isOptimistic:\n newTopValue?.value !== this.#truthLayer.get(cacheKey)?.value,\n });\n }\n\n return newValue;\n },\n read: (cacheKey) => {\n return optimisticId\n ? this.#topLayer.get(cacheKey)\n : this.#truthLayer.get(cacheKey);\n },\n };\n\n const retVal = batchFn(batchContext);\n\n return { batchResult: batchContext, retVal: retVal };\n };\n\n public invalidateObject<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n pk: PrimaryKeyType<T>,\n ): Promise<unknown> {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n // inevitably we will want an internal version of this and a \"public\" one\n // so we can avoid extra requests\n\n const query = this.getObjectQuery(apiName, pk);\n\n return query.revalidate(true);\n\n // potentially trigger updates of the lists that included this object?\n // TODO\n // could we detect that a list WOULD include it?\n }\n\n public maybeRevalidateLists(\n changes: ChangedObjects,\n ): void {\n for (const [cacheKey, v] of this.#truthLayer.entries()) {\n if (isListCacheKey(cacheKey)) {\n // fixme promise\n void this.#peekQuery(cacheKey)?.maybeRevalidate(changes);\n }\n }\n }\n\n public maybeUpdateLists(\n changes: ChangedObjects,\n optimisticId: OptimisticId,\n ): void {\n for (const [cacheKey, v] of this.#truthLayer.entries()) {\n if (isListCacheKey(cacheKey)) {\n // fixme promise\n void this.#peekQuery(cacheKey)?.maybeUpdate(changes, optimisticId);\n }\n }\n }\n\n public invalidateObjectType<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n ): void {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n for (const [cacheKey, v] of this.#truthLayer.entries()) {\n if (isListCacheKey(cacheKey, apiName)) {\n void this.#peekQuery(cacheKey)?.revalidate(true);\n }\n }\n }\n\n public invalidateList<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n where: WhereClause<T>,\n ): void {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const cacheKey = this.getCacheKey<ListCacheKey>(\n \"list\",\n apiName,\n where,\n );\n\n void this.#peekQuery(cacheKey)?.revalidate(true);\n }\n\n public updateObject(\n apiName: string | ObjectTypeDefinition,\n value: Osdk.Instance<ObjectTypeDefinition>,\n { optimisticId }: UpdateOptions = {},\n ): Osdk.Instance<ObjectTypeDefinition> {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const query = this.getObjectQuery(apiName, value.$primaryKey);\n\n return this.batch({ optimisticId }, (batch) => {\n return query.writeToStore(value, \"loaded\", batch);\n }).retVal.value!;\n }\n\n public updateList<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n where: WhereClause<T>,\n values: Osdk.Instance<T>[],\n { optimisticId }: UpdateOptions = {},\n opts: ListQueryOptions = { dedupeInterval: 0 },\n ): void {\n if (typeof apiName !== \"string\") {\n apiName = apiName.apiName;\n }\n\n const query = this.getListQuery(apiName, where, opts);\n\n this.batch({ optimisticId }, (b) => {\n query.updateList(values, false, \"loaded\", b);\n });\n }\n\n retain(cacheKey: CacheKey<string, any, any>): void {\n this.#refCounts.retain(cacheKey);\n }\n\n release(cacheKey: CacheKey<string, any, any>): void {\n this.#refCounts.release(cacheKey);\n }\n}\n\nclass ActionApplication {\n constructor(private store: Store) {}\n\n applyAction: <Q extends ActionDefinition<any>>(\n action: Q,\n args: Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0],\n opts?: Store.ApplyActionOptions,\n ) => Promise<unknown> = (action, args, { optimisticUpdate } = {}) => {\n const removeOptimisticResult = runOptimisticJob(\n this.store,\n optimisticUpdate,\n );\n return (async () => {\n try {\n // The types for client get confused when we dynamically applyAction so we\n // have to deal with the `any` here and force cast it to what it should be.\n // TODO: Update the types so this doesn't happen!\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const actionResults: ActionEditResponse = await this.store.client(\n action,\n ).applyAction(args as any, { $returnEdits: true });\n\n if (ACTION_DELAY > 0) {\n // eslint-disable-next-line no-console\n console.log(\"action done, pausing\");\n await delay(ACTION_DELAY);\n // eslint-disable-next-line no-console\n console.log(\"action done, pausing done\");\n }\n await this.#invalidateActionEditResponse(actionResults);\n return actionResults;\n } finally {\n // make sure this happens even if the action fails\n await removeOptimisticResult();\n }\n })();\n };\n\n #invalidateActionEditResponse = (value: ActionEditResponse) => {\n const typesToInvalidate = new Set<string>();\n let promisesToWait: Promise<any>[] = [];\n if (value.type === \"edits\") {\n // TODO we need an backend update for deletes\n for (const obj of value.modifiedObjects) {\n promisesToWait.push(\n this.store.invalidateObject(obj.objectType, obj.primaryKey),\n );\n }\n\n for (const obj of value.addedObjects) {\n promisesToWait.push(\n this.store.invalidateObject(obj.objectType, obj.primaryKey),\n );\n\n typesToInvalidate.add(obj.objectType);\n }\n\n promisesToWait = [\n Promise.allSettled(promisesToWait).then(() => {\n const changes2 = this.#changesFromActionEditResponse(value);\n this.store.maybeRevalidateLists(changes2);\n }),\n ];\n } else {\n for (const apiName of value.editedObjectTypes) {\n typesToInvalidate.add(apiName.toString());\n }\n }\n\n return Promise.allSettled(promisesToWait).then(() => {\n // after the single object invalidations are done we can decide if we need to updates any lists\n for (const objectType of typesToInvalidate) {\n // TODO make sure this covers individual object loads too\n this.store.invalidateObjectType(objectType);\n }\n\n return value;\n });\n };\n\n #changesFromActionEditResponse = (value: ActionEditResponse) => {\n const changes = createChangedObjects();\n for (const changeType of [\"addedObjects\", \"modifiedObjects\"] as const) {\n for (const { objectType, primaryKey } of (value[changeType] ?? [])) {\n const obj = this.store.getObject(objectType, primaryKey);\n if (obj) {\n changes[changeType].set(objectType, obj);\n }\n }\n }\n return changes;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|