@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
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
|
|
16
17
|
import { $ontologyRid, Employee } from "@osdk/client.test.ontology";
|
|
17
18
|
import { apiServer } from "@osdk/shared.test";
|
|
18
19
|
import ImportedWebSocket from "isomorphic-ws";
|
|
@@ -21,7 +22,8 @@ import pDefer from "p-defer";
|
|
|
21
22
|
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
|
|
22
23
|
import { z } from "zod";
|
|
23
24
|
import { createMinimalClient } from "../createMinimalClient.js";
|
|
24
|
-
import { ObjectSetListenerWebsocket } from "./ObjectSetListenerWebsocket.js";
|
|
25
|
+
import { constructWebsocketUrl, ObjectSetListenerWebsocket } from "./ObjectSetListenerWebsocket.js";
|
|
26
|
+
|
|
25
27
|
// it needs to be hoisted because its referenced from our mocked WebSocket
|
|
26
28
|
// which must be hoisted to work
|
|
27
29
|
const rootLogger = await vi.hoisted(async () => {
|
|
@@ -42,15 +44,17 @@ const rootLogger = await vi.hoisted(async () => {
|
|
|
42
44
|
write(a) {
|
|
43
45
|
// remove trailing newline since console.log adds one
|
|
44
46
|
if (a.at(-1) === "\n") a = a.slice(0, -1);
|
|
47
|
+
|
|
45
48
|
// This lets the test framework aggregate the logs per test, whereas direct to stdout does not
|
|
46
49
|
console.log(a);
|
|
47
50
|
}
|
|
48
51
|
}()
|
|
49
52
|
})));
|
|
50
53
|
});
|
|
54
|
+
|
|
51
55
|
// make local uses of WebSocket typed right
|
|
52
56
|
const MockedWebSocket = ImportedWebSocket;
|
|
53
|
-
const STACK = "https://stack.
|
|
57
|
+
const STACK = "https://stack.palantirCustom.com/foo/first/someStuff/";
|
|
54
58
|
vi.mock("isomorphic-ws", async importOriginal => {
|
|
55
59
|
const original = await importOriginal();
|
|
56
60
|
const WebSocket = createMockWebSocketConstructor(original.default, rootLogger);
|
|
@@ -122,16 +126,19 @@ describe("ObjectSetListenerWebsocket", async () => {
|
|
|
122
126
|
let subReq1;
|
|
123
127
|
beforeEach(async () => {
|
|
124
128
|
[ws, unsubscribe] = await subscribeAndExpectWebSocket(client, listener);
|
|
125
|
-
subReq1 = await
|
|
129
|
+
subReq1 = await expectSubscribeMessages(ws, 2);
|
|
126
130
|
});
|
|
127
131
|
afterEach(() => {
|
|
128
132
|
// just ensure we ended in good states, as we clear these as we consume them
|
|
129
133
|
expect(MockedWebSocket).not.toHaveBeenCalled();
|
|
134
|
+
|
|
130
135
|
// make sure we are unsubscribed so closing the socket doesn't trigger reconnects
|
|
131
136
|
unsubscribe();
|
|
137
|
+
|
|
132
138
|
// disconnect the socket
|
|
133
139
|
setWebSocketState(ws, "close");
|
|
134
140
|
vi.runAllTicks();
|
|
141
|
+
|
|
135
142
|
// Make sure we cleaned up
|
|
136
143
|
expectEqualRemoveAndAddListeners(ws);
|
|
137
144
|
});
|
|
@@ -139,12 +146,12 @@ describe("ObjectSetListenerWebsocket", async () => {
|
|
|
139
146
|
respondSuccessToSubscribe(ws, subReq1);
|
|
140
147
|
// actually this is broken FIXME
|
|
141
148
|
unsubscribe();
|
|
142
|
-
expect(ws.send).
|
|
149
|
+
expect(ws.send).toHaveBeenCalledTimes(1);
|
|
143
150
|
});
|
|
144
|
-
it("
|
|
145
|
-
expect(subReq1.requests[0].propertySet).toEqual(["employeeId"]);
|
|
151
|
+
it("correctly requests regular object properties", () => {
|
|
152
|
+
expect(subReq1.requests[0].propertySet).toEqual(["employeeId", "fullName", "office", "class", "startDate", "employeeStatus", "employeeSensor"]);
|
|
146
153
|
});
|
|
147
|
-
it("
|
|
154
|
+
it("correctly requests reference backed properties", () => {
|
|
148
155
|
expect(subReq1.requests[0].referenceSet).toEqual(["employeeLocation"]);
|
|
149
156
|
});
|
|
150
157
|
describe("socket closed before subscription confirmed", () => {
|
|
@@ -161,7 +168,7 @@ describe("ObjectSetListenerWebsocket", async () => {
|
|
|
161
168
|
});
|
|
162
169
|
describe("subscribe and respond", () => {
|
|
163
170
|
beforeEach(async () => {
|
|
164
|
-
const subReq2 = await
|
|
171
|
+
const subReq2 = await expectSubscribeMessages(ws);
|
|
165
172
|
respondSuccessToSubscribe(ws, subReq2);
|
|
166
173
|
});
|
|
167
174
|
it("should not send out of date", () => {
|
|
@@ -170,6 +177,21 @@ describe("ObjectSetListenerWebsocket", async () => {
|
|
|
170
177
|
});
|
|
171
178
|
});
|
|
172
179
|
});
|
|
180
|
+
describe("correctly try catches errors in handlers", () => {
|
|
181
|
+
beforeEach(() => {
|
|
182
|
+
listener.onSuccessfulSubscription.mockImplementationOnce(() => {
|
|
183
|
+
throw new Error("I am an error");
|
|
184
|
+
});
|
|
185
|
+
respondSuccessToSubscribe(ws, subReq1);
|
|
186
|
+
});
|
|
187
|
+
afterEach(() => {
|
|
188
|
+
listener.onSuccessfulSubscription.mockReset();
|
|
189
|
+
});
|
|
190
|
+
it("should call onError", async () => {
|
|
191
|
+
expect(listener.onError).toHaveBeenCalled();
|
|
192
|
+
expect(listener.onError.mock.calls[0][0].subscriptionClosed).toBe(false);
|
|
193
|
+
});
|
|
194
|
+
});
|
|
173
195
|
describe("successfully subscribed", () => {
|
|
174
196
|
beforeEach(() => {
|
|
175
197
|
respondSuccessToSubscribe(ws, subReq1);
|
|
@@ -187,6 +209,8 @@ describe("ObjectSetListenerWebsocket", async () => {
|
|
|
187
209
|
"object": {
|
|
188
210
|
"$apiName": "Employee",
|
|
189
211
|
"$objectType": "Employee",
|
|
212
|
+
"$primaryKey": undefined,
|
|
213
|
+
"$title": undefined,
|
|
190
214
|
"employeeId": 1,
|
|
191
215
|
},
|
|
192
216
|
"state": "ADDED_OR_UPDATED",
|
|
@@ -204,6 +228,7 @@ describe("ObjectSetListenerWebsocket", async () => {
|
|
|
204
228
|
"$apiName": "Employee",
|
|
205
229
|
"$objectType": "Employee",
|
|
206
230
|
"$primaryKey": "12345",
|
|
231
|
+
"$title": undefined,
|
|
207
232
|
"employeeId": "12345",
|
|
208
233
|
"employeeLocation": GeotimeSeriesPropertyImpl {
|
|
209
234
|
"lastFetchedValue": {
|
|
@@ -226,21 +251,23 @@ describe("ObjectSetListenerWebsocket", async () => {
|
|
|
226
251
|
let unsubscribe2;
|
|
227
252
|
let subReq2;
|
|
228
253
|
beforeEach(async () => {
|
|
229
|
-
|
|
254
|
+
unsubscribe2 = await client.subscribe({
|
|
230
255
|
type: "object",
|
|
231
256
|
apiName: "Employee"
|
|
232
257
|
}, {
|
|
233
258
|
type: "base",
|
|
234
259
|
objectType: Employee.apiName
|
|
235
|
-
}, listener, ["
|
|
236
|
-
|
|
237
|
-
subReq2
|
|
238
|
-
});
|
|
260
|
+
}, listener, ["employeeId"]);
|
|
261
|
+
subReq2 = await expectSubscribeMessages(ws);
|
|
239
262
|
respondSuccessToSubscribe(ws, subReq2);
|
|
240
263
|
});
|
|
241
264
|
afterEach(() => {
|
|
242
265
|
unsubscribe2();
|
|
243
266
|
});
|
|
267
|
+
it("only requests requested properties", () => {
|
|
268
|
+
expect(subReq2.requests[1].propertySet).toEqual(["employeeId"]);
|
|
269
|
+
expect(subReq2.requests[1].referenceSet).toEqual([]);
|
|
270
|
+
});
|
|
244
271
|
it("does not trigger an out of date ", () => {
|
|
245
272
|
expect(listener.onOutOfDate).not.toHaveBeenCalled();
|
|
246
273
|
});
|
|
@@ -256,7 +283,7 @@ describe("ObjectSetListenerWebsocket", async () => {
|
|
|
256
283
|
// delay for connection reconnect
|
|
257
284
|
vi.advanceTimersByTimeAsync(MINIMUM_RECONNECT_DELAY)]);
|
|
258
285
|
setWebSocketState(ws, "open");
|
|
259
|
-
const subReq2 = await
|
|
286
|
+
const subReq2 = await expectSubscribeMessages(ws);
|
|
260
287
|
respondSuccessToSubscribe(ws, subReq2);
|
|
261
288
|
});
|
|
262
289
|
it("should send out of date", () => {
|
|
@@ -270,6 +297,9 @@ describe("ObjectSetListenerWebsocket", async () => {
|
|
|
270
297
|
expect(listener.onChange).not.toHaveBeenCalled();
|
|
271
298
|
expect(listener.onError).not.toHaveBeenCalled();
|
|
272
299
|
});
|
|
300
|
+
it("should create url correctly", () => {
|
|
301
|
+
expect(constructWebsocketUrl(STACK, "ontologyRid1").toString()).toEqual("wss://stack.palantircustom.com/foo/first/someStuff/api/v2/ontologySubscriptions/ontologies/ontologyRid1/streamSubscriptions");
|
|
302
|
+
});
|
|
273
303
|
});
|
|
274
304
|
});
|
|
275
305
|
});
|
|
@@ -320,8 +350,13 @@ function sendReferenceUpdatesResponse(ws, subId) {
|
|
|
320
350
|
function expectEqualRemoveAndAddListeners(ws) {
|
|
321
351
|
expect(ws.removeEventListener).toHaveBeenCalledTimes(ws.addEventListener.mock.calls.length);
|
|
322
352
|
}
|
|
323
|
-
async function
|
|
324
|
-
return await
|
|
353
|
+
async function expectSubscribeMessages(ws, times = 1) {
|
|
354
|
+
return await vi.waitFor(() => {
|
|
355
|
+
expect(ws.send).toBeCalledTimes(times);
|
|
356
|
+
const result = JSON.parse(ws.send.mock.lastCall[0].toString());
|
|
357
|
+
ws.send.mockClear();
|
|
358
|
+
return result;
|
|
359
|
+
});
|
|
325
360
|
}
|
|
326
361
|
async function subscribeAndExpectWebSocket(client, listener) {
|
|
327
362
|
const [ws, unsubscribe] = await Promise.all([expectWebSocketConstructed(), client.subscribe({
|
|
@@ -330,7 +365,8 @@ async function subscribeAndExpectWebSocket(client, listener) {
|
|
|
330
365
|
}, {
|
|
331
366
|
type: "base",
|
|
332
367
|
objectType: Employee.apiName
|
|
333
|
-
}, listener
|
|
368
|
+
}, listener)]);
|
|
369
|
+
|
|
334
370
|
// otherwise the ObjectSetListenerWebSocket is sitting waiting for it to "connect"
|
|
335
371
|
setWebSocketState(ws, "open");
|
|
336
372
|
return [ws, unsubscribe];
|
|
@@ -347,14 +383,6 @@ async function expectWebSocketConstructed() {
|
|
|
347
383
|
expect(MockedWebSocket).toHaveBeenCalledTimes(0);
|
|
348
384
|
return ws;
|
|
349
385
|
}
|
|
350
|
-
async function consumeSingleSend(ws) {
|
|
351
|
-
return await vi.waitFor(() => {
|
|
352
|
-
expect(ws.send).toBeCalledTimes(1);
|
|
353
|
-
const result = JSON.parse(ws.send.mock.lastCall[0].toString());
|
|
354
|
-
ws.send.mockClear();
|
|
355
|
-
return result;
|
|
356
|
-
});
|
|
357
|
-
}
|
|
358
386
|
function createMockWebSocketConstructor(OriginalWebSocket, logger) {
|
|
359
387
|
let i = 0;
|
|
360
388
|
const ret = vi.fn(function (..._args) {
|
|
@@ -415,7 +443,6 @@ const SubscribeMessage = z.object({
|
|
|
415
443
|
}))
|
|
416
444
|
});
|
|
417
445
|
class MessageEvent extends Event {
|
|
418
|
-
data;
|
|
419
446
|
constructor(data) {
|
|
420
447
|
super("message");
|
|
421
448
|
this.data = JSON.stringify(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSetListenerWebsocket.test.js","names":["$ontologyRid","Employee","apiServer","ImportedWebSocket","http","HttpResponse","pDefer","afterAll","afterEach","beforeAll","beforeEach","describe","expect","it","vi","z","createMinimalClient","ObjectSetListenerWebsocket","rootLogger","hoisted","pino","pinoPretty","EventEmitter","Promise","resolve","level","build","sync","timestampKey","undefined","errorLikeObjectKeys","errorProps","ignore","destination","write","a","at","slice","console","log","MockedWebSocket","STACK","mock","importOriginal","original","WebSocket","createMockWebSocketConstructor","default","currentSubscriptionId","listen","addLoggerToApiServer","close","minimalClient","MINIMUM_RECONNECT_DELAY","client","listener","oslwInst","updateReceived","listenerPromise","ontologyRid","logger","child","minimumReconnectDelayMs","onChange","fn","o","onError","onOutOfDate","onSuccessfulSubscription","objectSetRidCounter","use","post","json","objectSetRid","useFakeTimers","restoreAllMocks","resetHandlers","not","toHaveBeenCalled","ws","unsubscribe","subReq1","subscribeAndExpectWebSocket","expectSingleSubscribeMessage","setWebSocketState","runAllTicks","expectEqualRemoveAndAddListeners","respondSuccessToSubscribe","send","requests","propertySet","toEqual","referenceSet","all","expectWebSocketConstructed","advanceTimersByTimeAsync","subReq2","idNum2","sendObjectUpdateResponse","promise","toMatchInlineSnapshot","sendReferenceUpdatesResponse","unsubscribe2","subscribe","type","apiName","objectType","fatal","toHaveBeenCalledTimes","sendToClient","id","responses","subId","updates","state","object","__apiName","employeeId","removeEventListener","addEventListener","calls","length","consumeSingleSend","waitFor","results","value","mockClear","toBeCalledTimes","result","JSON","parse","lastCall","toString","OriginalWebSocket","i","ret","_args","webSocketInst","debug","eventEmitter","EventTarget","bind","message","_eventEmitter","readyState","CONNECTING","Object","assign","OPEN","CLOSED","CLOSING","newState","dispatchEvent","Event","name","requestId","request","trace","url","eventNames","c","events","on","SubscribeMessage","string","array","objectSet","MessageEvent","data","constructor","stringify","t"],"sources":["ObjectSetListenerWebsocket.test.js"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { $ontologyRid, Employee } from \"@osdk/client.test.ontology\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport ImportedWebSocket from \"isomorphic-ws\";\nimport { http, HttpResponse } from \"msw\";\nimport pDefer from \"p-defer\";\nimport { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi, } from \"vitest\";\nimport { z } from \"zod\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport { ObjectSetListenerWebsocket } from \"./ObjectSetListenerWebsocket.js\";\n// it needs to be hoisted because its referenced from our mocked WebSocket\n// which must be hoisted to work\nconst rootLogger = await vi.hoisted(async () => {\n const pino = (await import(\"pino\")).pino;\n const pinoPretty = await import(\"pino-pretty\");\n const { EventEmitter } = await import(\"node:events\");\n class PinoConsoleLogDestination extends EventEmitter {\n write(a) {\n // remove trailing newline since console.log adds one\n if (a.at(-1) === \"\\n\")\n a = a.slice(0, -1);\n // This lets the test framework aggregate the logs per test, whereas direct to stdout does not\n console.log(a);\n }\n }\n return Promise.resolve(pino({ level: \"info\" }, (pinoPretty.build)({\n sync: true,\n timestampKey: undefined,\n errorLikeObjectKeys: [\"error\", \"err\", \"exception\"],\n errorProps: \"stack,cause,properties\",\n ignore: \"time,hostname,pid\",\n destination: new PinoConsoleLogDestination(),\n })));\n});\n// make local uses of WebSocket typed right\nconst MockedWebSocket = ImportedWebSocket;\nconst STACK = \"https://stack.palantir.com\";\nvi.mock(\"isomorphic-ws\", async (importOriginal) => {\n const original = await importOriginal();\n const WebSocket = createMockWebSocketConstructor(original.default, rootLogger);\n return { default: WebSocket, WebSocket };\n});\nlet currentSubscriptionId = 0;\ndescribe(\"ObjectSetListenerWebsocket\", async () => {\n beforeAll(async () => {\n apiServer.listen();\n addLoggerToApiServer(rootLogger);\n });\n afterAll(() => {\n apiServer.close();\n });\n describe(\"basic setup\", () => {\n let minimalClient;\n const MINIMUM_RECONNECT_DELAY = 2_000;\n const OBJECT_SET_EXPIRY_MS = 60_000;\n let client;\n let listener;\n let oslwInst = 0;\n let updateReceived = undefined;\n let listenerPromise;\n beforeEach(() => {\n minimalClient = createMinimalClient({ ontologyRid: $ontologyRid }, STACK, async () => \"myAccessToken\", { logger: rootLogger });\n client = new ObjectSetListenerWebsocket({\n ...minimalClient,\n logger: rootLogger.child({ oslwInst: oslwInst++ }),\n }, {\n minimumReconnectDelayMs: MINIMUM_RECONNECT_DELAY,\n });\n listenerPromise = pDefer();\n listener = {\n onChange: vi.fn((o) => {\n updateReceived = o;\n listenerPromise.resolve();\n }),\n onError: vi.fn(),\n onOutOfDate: vi.fn(),\n onSuccessfulSubscription: vi.fn(),\n };\n let objectSetRidCounter = 0;\n apiServer.use(http.post(`${STACK}api/v2/ontologySubscriptions/ontologies/${$ontologyRid}/streamSubscriptions`, () => HttpResponse.json({\n objectSetRid: `rid.hi.${objectSetRidCounter++}`,\n })));\n vi.useFakeTimers();\n });\n afterEach(() => {\n vi.restoreAllMocks();\n apiServer.resetHandlers();\n });\n it(\"should not send onOutOfDate since it has not subscribed yet\", () => {\n expect(MockedWebSocket).not.toHaveBeenCalled();\n expect(listener.onOutOfDate).not.toHaveBeenCalled();\n expect(listener.onChange).not.toHaveBeenCalled();\n expect(listener.onError).not.toHaveBeenCalled();\n });\n describe(\"requests subscription\", () => {\n let ws;\n let unsubscribe;\n let subReq1;\n beforeEach(async () => {\n [ws, unsubscribe] = await subscribeAndExpectWebSocket(client, listener);\n subReq1 = await expectSingleSubscribeMessage(ws);\n });\n afterEach(() => {\n // just ensure we ended in good states, as we clear these as we consume them\n expect(MockedWebSocket).not.toHaveBeenCalled();\n // make sure we are unsubscribed so closing the socket doesn't trigger reconnects\n unsubscribe();\n // disconnect the socket\n setWebSocketState(ws, \"close\");\n vi.runAllTicks();\n // Make sure we cleaned up\n expectEqualRemoveAndAddListeners(ws);\n });\n it(\"only sends a single request\", async () => {\n respondSuccessToSubscribe(ws, subReq1);\n // actually this is broken FIXME\n unsubscribe();\n expect(ws.send).not.toHaveBeenCalled();\n });\n it(\"currently requests regular object properties\", () => {\n expect(subReq1.requests[0].propertySet).toEqual([\n \"employeeId\",\n ]);\n });\n it(\"currently requests reference backed properties\", () => {\n expect(subReq1.requests[0].referenceSet).toEqual([\"employeeLocation\"]);\n });\n describe(\"socket closed before subscription confirmed\", () => {\n beforeEach(() => {\n setWebSocketState(ws, \"close\");\n expectEqualRemoveAndAddListeners(ws);\n });\n describe(\"reconnect\", async () => {\n beforeEach(async () => {\n [ws] = await Promise.all([\n expectWebSocketConstructed(),\n // delay for connection reconnect\n vi.advanceTimersByTimeAsync(MINIMUM_RECONNECT_DELAY),\n ]);\n setWebSocketState(ws, \"open\");\n });\n describe(\"subscribe and respond\", () => {\n beforeEach(async () => {\n const subReq2 = await expectSingleSubscribeMessage(ws);\n respondSuccessToSubscribe(ws, subReq2);\n });\n it(\"should not send out of date\", () => {\n expect(listener.onOutOfDate).not.toHaveBeenCalled();\n });\n });\n });\n });\n describe(\"successfully subscribed\", () => {\n beforeEach(() => {\n respondSuccessToSubscribe(ws, subReq1);\n });\n it(\"should call onSuccessfulSubscription\", () => {\n expect(listener.onSuccessfulSubscription).toHaveBeenCalled();\n });\n it(\"should correctly return regular updates\", async () => {\n const idNum2 = currentSubscriptionId;\n sendObjectUpdateResponse(ws, `${idNum2}`);\n await listenerPromise.promise;\n expect(listener.onChange).toHaveBeenCalled();\n expect(updateReceived).toMatchInlineSnapshot(`\n {\n \"object\": {\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"employeeId\": 1,\n },\n \"state\": \"ADDED_OR_UPDATED\",\n }\n `);\n });\n it(\"should correctly return reference update\", async () => {\n const idNum2 = currentSubscriptionId;\n sendReferenceUpdatesResponse(ws, `${idNum2}`);\n await listenerPromise.promise;\n expect(listener.onChange).toHaveBeenCalled();\n expect(updateReceived).toMatchInlineSnapshot(`\n {\n \"object\": {\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": \"12345\",\n \"employeeId\": \"12345\",\n \"employeeLocation\": GeotimeSeriesPropertyImpl {\n \"lastFetchedValue\": {\n \"time\": \"111\",\n \"value\": {\n \"coordinates\": [\n 100,\n 200,\n ],\n \"type\": \"Point\",\n },\n },\n },\n },\n \"state\": \"ADDED_OR_UPDATED\",\n }\n `);\n });\n describe(\"additional subscription\", async () => {\n let unsubscribe2;\n let subReq2;\n beforeEach(async () => {\n [unsubscribe2, subReq2] = await Promise.all([\n client.subscribe({\n type: \"object\",\n apiName: \"Employee\",\n }, {\n type: \"base\",\n objectType: Employee.apiName,\n }, listener, [\"employeeStatus\"]),\n expectSingleSubscribeMessage(ws),\n ]);\n rootLogger.fatal({ subReq2 });\n respondSuccessToSubscribe(ws, subReq2);\n });\n afterEach(() => {\n unsubscribe2();\n });\n it(\"does not trigger an out of date \", () => {\n expect(listener.onOutOfDate).not.toHaveBeenCalled();\n });\n });\n describe(\"socket closed abruptly\", () => {\n beforeEach(() => {\n setWebSocketState(ws, \"close\");\n expectEqualRemoveAndAddListeners(ws);\n });\n describe(\"reconnect, resubscribe successfully\", async () => {\n beforeEach(async () => {\n [ws] = await Promise.all([\n expectWebSocketConstructed(),\n // delay for connection reconnect\n vi.advanceTimersByTimeAsync(MINIMUM_RECONNECT_DELAY),\n ]);\n setWebSocketState(ws, \"open\");\n const subReq2 = await expectSingleSubscribeMessage(ws);\n respondSuccessToSubscribe(ws, subReq2);\n });\n it(\"should send out of date\", () => {\n expect(listener.onOutOfDate).toHaveBeenCalledTimes(1);\n });\n });\n });\n it(\"should not send onOutOfDate for first call\", () => {\n expect(MockedWebSocket).not.toHaveBeenCalled();\n expect(listener.onOutOfDate).not.toHaveBeenCalled();\n expect(listener.onChange).not.toHaveBeenCalled();\n expect(listener.onError).not.toHaveBeenCalled();\n });\n });\n });\n });\n});\nfunction respondSuccessToSubscribe(ws, subReq2) {\n sendToClient(ws, {\n id: subReq2.id,\n type: \"subscribeResponses\",\n responses: [{\n type: \"success\",\n id: `${++currentSubscriptionId}`,\n }],\n });\n}\nfunction sendObjectUpdateResponse(ws, subId) {\n const updateMessage = {\n type: \"objectSetChanged\",\n id: subId,\n updates: [{\n type: \"object\",\n state: \"ADDED_OR_UPDATED\",\n object: {\n __apiName: \"Employee\",\n employeeId: 1,\n },\n }],\n };\n sendToClient(ws, updateMessage);\n}\nfunction sendReferenceUpdatesResponse(ws, subId) {\n const referenceUpdateMessage = {\n type: \"objectSetChanged\",\n id: subId,\n updates: [{\n \"type\": \"reference\",\n \"objectType\": \"Employee\",\n \"primaryKey\": { \"employeeId\": \"12345\" },\n \"property\": \"employeeLocation\",\n \"value\": {\n \"timestamp\": \"111\",\n \"type\": \"geotimeSeriesValue\",\n \"position\": [100, 200],\n },\n }],\n };\n sendToClient(ws, referenceUpdateMessage);\n}\nfunction expectEqualRemoveAndAddListeners(ws) {\n expect(ws.removeEventListener).toHaveBeenCalledTimes(ws.addEventListener.mock.calls.length);\n}\nasync function expectSingleSubscribeMessage(ws) {\n return await consumeSingleSend(ws);\n}\nasync function subscribeAndExpectWebSocket(client, listener) {\n const [ws, unsubscribe] = await Promise.all([\n expectWebSocketConstructed(),\n client.subscribe({\n apiName: \"Employee\",\n type: \"object\",\n }, {\n type: \"base\",\n objectType: Employee.apiName,\n }, listener, [\"employeeId\", \"employeeLocation\"]),\n ]);\n // otherwise the ObjectSetListenerWebSocket is sitting waiting for it to \"connect\"\n setWebSocketState(ws, \"open\");\n return [ws, unsubscribe];\n}\nasync function expectWebSocketConstructed() {\n expect(MockedWebSocket).toHaveBeenCalledTimes(0);\n const ws = await vi.waitFor(() => {\n expect(MockedWebSocket).toHaveBeenCalled();\n expect(MockedWebSocket.mock.results[0].type === \"return\");\n return MockedWebSocket.mock.results[0].value;\n });\n expect(MockedWebSocket).toHaveBeenCalledTimes(1);\n MockedWebSocket.mockClear();\n expect(MockedWebSocket).toHaveBeenCalledTimes(0);\n return ws;\n}\nasync function consumeSingleSend(ws) {\n return await vi.waitFor(() => {\n expect(ws.send).toBeCalledTimes(1);\n const result = JSON.parse(ws.send.mock.lastCall[0].toString());\n ws.send.mockClear();\n return result;\n });\n}\nfunction createMockWebSocketConstructor(OriginalWebSocket, logger) {\n let i = 0;\n const ret = vi.fn(function (..._args) {\n const webSocketInst = i++;\n logger.debug(\"WebSocket constructor called\");\n const eventEmitter = new EventTarget();\n return {\n addEventListener: vi.fn(eventEmitter.addEventListener.bind(eventEmitter)),\n removeEventListener: vi.fn(eventEmitter.removeEventListener.bind(eventEmitter)),\n send: vi.fn((a, _b) => {\n logger.debug({ message: JSON.parse(a.toString()), webSocketInst }, \"send() called\");\n }),\n close: vi.fn(),\n _eventEmitter: eventEmitter,\n readyState: OriginalWebSocket.CONNECTING,\n };\n // ^ we only implement some things but the type system wants to think its the full deal,\n // thus the satisfies plus the cast\n });\n Object.assign(ret, {\n OPEN: OriginalWebSocket.OPEN,\n CLOSED: OriginalWebSocket.CLOSED,\n CLOSING: OriginalWebSocket.CLOSING,\n CONNECTING: OriginalWebSocket.CONNECTING,\n });\n return ret;\n}\nfunction setWebSocketState(ws, readyState) {\n const newState = readyState === \"open\"\n ? ImportedWebSocket.OPEN\n : ImportedWebSocket.CLOSED;\n if (newState === ws.readyState)\n return;\n ws.readyState = newState;\n ws._eventEmitter.dispatchEvent(new Event(readyState, {}));\n}\nfunction addLoggerToApiServer(logger) {\n const z = (name, { requestId, request }) => logger.trace({ requestId, url: request.url }, name);\n const eventNames = [\n \"request:start\",\n \"request:match\",\n \"request:end\",\n \"request:unhandled\",\n \"response:bypass\",\n \"response:mocked\",\n ];\n for (const c of eventNames) {\n apiServer.events.on(c, z.bind(undefined, c));\n }\n}\nconst SubscribeMessage = z.object({\n id: z.string(),\n requests: z.array(z.object({\n objectSet: z.object({ id: z.string() }),\n propertySet: z.array(z.string()),\n referenceSet: z.array(z.string()),\n })),\n});\nclass MessageEvent extends Event {\n data;\n constructor(data) {\n super(\"message\");\n this.data = JSON.stringify(data);\n }\n}\nfunction sendToClient(ws, t) {\n ws._eventEmitter.dispatchEvent(new MessageEvent(t));\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ObjectSetListenerWebsocket.test.js","names":["$ontologyRid","Employee","apiServer","ImportedWebSocket","http","HttpResponse","pDefer","afterAll","afterEach","beforeAll","beforeEach","describe","expect","it","vi","z","createMinimalClient","constructWebsocketUrl","ObjectSetListenerWebsocket","rootLogger","hoisted","pino","pinoPretty","EventEmitter","Promise","resolve","level","build","sync","timestampKey","undefined","errorLikeObjectKeys","errorProps","ignore","destination","write","a","at","slice","console","log","MockedWebSocket","STACK","mock","importOriginal","original","WebSocket","createMockWebSocketConstructor","default","currentSubscriptionId","listen","addLoggerToApiServer","close","minimalClient","MINIMUM_RECONNECT_DELAY","client","listener","oslwInst","updateReceived","listenerPromise","ontologyRid","logger","child","minimumReconnectDelayMs","onChange","fn","o","onError","onOutOfDate","onSuccessfulSubscription","objectSetRidCounter","use","post","json","objectSetRid","useFakeTimers","restoreAllMocks","resetHandlers","not","toHaveBeenCalled","ws","unsubscribe","subReq1","subscribeAndExpectWebSocket","expectSubscribeMessages","setWebSocketState","runAllTicks","expectEqualRemoveAndAddListeners","respondSuccessToSubscribe","send","toHaveBeenCalledTimes","requests","propertySet","toEqual","referenceSet","all","expectWebSocketConstructed","advanceTimersByTimeAsync","subReq2","mockImplementationOnce","Error","mockReset","calls","subscriptionClosed","toBe","idNum2","sendObjectUpdateResponse","promise","toMatchInlineSnapshot","sendReferenceUpdatesResponse","unsubscribe2","subscribe","type","apiName","objectType","toString","sendToClient","id","responses","subId","updates","state","object","__apiName","employeeId","removeEventListener","addEventListener","length","times","waitFor","toBeCalledTimes","result","JSON","parse","lastCall","mockClear","results","value","OriginalWebSocket","i","ret","_args","webSocketInst","debug","eventEmitter","EventTarget","bind","message","_eventEmitter","readyState","CONNECTING","Object","assign","OPEN","CLOSED","CLOSING","newState","dispatchEvent","Event","name","requestId","request","trace","url","eventNames","c","events","on","SubscribeMessage","string","array","objectSet","MessageEvent","constructor","data","stringify","t"],"sources":["ObjectSetListenerWebsocket.test.ts"],"sourcesContent":["/*\n * Copyright 2024 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 { ObjectSetSubscription, PropertyKeys } from \"@osdk/api\";\nimport { $ontologyRid, Employee } from \"@osdk/client.test.ontology\";\nimport type {\n ObjectSetStreamSubscribeRequests,\n ObjectUpdate,\n StreamMessage,\n} from \"@osdk/foundry.ontologies\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport ImportedWebSocket from \"isomorphic-ws\";\nimport { http, HttpResponse } from \"msw\";\nimport type { DeferredPromise } from \"p-defer\";\nimport pDefer from \"p-defer\";\nimport type { MockedClass, MockedFunction, MockedObject } from \"vitest\";\nimport {\n afterAll,\n afterEach,\n beforeAll,\n beforeEach,\n describe,\n expect,\n it,\n vi,\n} from \"vitest\";\nimport { z } from \"zod\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport type { Logger } from \"../Logger.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport {\n constructWebsocketUrl,\n ObjectSetListenerWebsocket,\n} from \"./ObjectSetListenerWebsocket.js\";\n\n// it needs to be hoisted because its referenced from our mocked WebSocket\n// which must be hoisted to work\nconst rootLogger = await vi.hoisted(async (): Promise<Logger> => {\n const pino = (await import(\"pino\")).pino;\n const pinoPretty = await import(\"pino-pretty\");\n const { EventEmitter } = await import(\"node:events\");\n class PinoConsoleLogDestination extends EventEmitter {\n write(a: string) {\n // remove trailing newline since console.log adds one\n if (a.at(-1) === \"\\n\") a = a.slice(0, -1);\n\n // This lets the test framework aggregate the logs per test, whereas direct to stdout does not\n console.log(a);\n }\n }\n return Promise.resolve(pino(\n { level: \"info\" },\n (pinoPretty.build)({\n sync: true,\n timestampKey: undefined,\n errorLikeObjectKeys: [\"error\", \"err\", \"exception\"],\n errorProps: \"stack,cause,properties\",\n ignore: \"time,hostname,pid\",\n destination: new PinoConsoleLogDestination(),\n }),\n ));\n});\n\n// make local uses of WebSocket typed right\nconst MockedWebSocket = ImportedWebSocket as unknown as MockedWebSocket;\n\nconst STACK = \"https://stack.palantirCustom.com/foo/first/someStuff/\";\n\nvi.mock(\"isomorphic-ws\", async (importOriginal) => {\n const original = await importOriginal<\n { default: WebSocket }\n >();\n\n const WebSocket = createMockWebSocketConstructor(\n original.default,\n rootLogger,\n );\n return { default: WebSocket, WebSocket };\n});\n\nlet currentSubscriptionId = 0;\n\ndescribe(\"ObjectSetListenerWebsocket\", async () => {\n beforeAll(async () => {\n apiServer.listen();\n addLoggerToApiServer(rootLogger);\n });\n\n afterAll(() => {\n apiServer.close();\n });\n\n describe(\"basic setup\", () => {\n let minimalClient: MinimalClient;\n\n const MINIMUM_RECONNECT_DELAY = 2_000;\n const OBJECT_SET_EXPIRY_MS = 60_000;\n\n let client: ObjectSetListenerWebsocket;\n let listener: MockedObject<\n Required<\n ObjectSetSubscription.Listener<Employee, any>\n >\n >;\n let oslwInst = 0;\n\n let updateReceived: ObjectUpdate | undefined = undefined;\n\n let listenerPromise: DeferredPromise<void>;\n\n beforeEach(() => {\n minimalClient = createMinimalClient(\n { ontologyRid: $ontologyRid },\n STACK,\n async () => \"myAccessToken\",\n { logger: rootLogger },\n );\n client = new ObjectSetListenerWebsocket({\n ...minimalClient,\n logger: rootLogger.child({ oslwInst: oslwInst++ }),\n }, {\n minimumReconnectDelayMs: MINIMUM_RECONNECT_DELAY,\n });\n\n listenerPromise = pDefer();\n\n listener = {\n onChange: vi.fn((o) => {\n updateReceived = o;\n listenerPromise.resolve();\n }),\n onError: vi.fn(),\n onOutOfDate: vi.fn(),\n onSuccessfulSubscription: vi.fn(),\n };\n\n let objectSetRidCounter = 0;\n apiServer.use(\n http.post(\n `${STACK}api/v2/ontologySubscriptions/ontologies/${$ontologyRid}/streamSubscriptions`,\n () =>\n HttpResponse.json({\n objectSetRid: `rid.hi.${objectSetRidCounter++}`,\n }),\n ),\n );\n\n vi.useFakeTimers();\n });\n\n afterEach(() => {\n vi.restoreAllMocks();\n apiServer.resetHandlers();\n });\n\n it(\"should not send onOutOfDate since it has not subscribed yet\", () => {\n expect(MockedWebSocket).not.toHaveBeenCalled();\n expect(listener.onOutOfDate).not.toHaveBeenCalled();\n expect(listener.onChange).not.toHaveBeenCalled();\n expect(listener.onError).not.toHaveBeenCalled();\n });\n\n describe(\"requests subscription\", () => {\n let ws: MockedWebSocket;\n let unsubscribe: () => void;\n let subReq1: ObjectSetStreamSubscribeRequests;\n\n beforeEach(async () => {\n [ws, unsubscribe] = await subscribeAndExpectWebSocket(\n client,\n listener,\n );\n\n subReq1 = await expectSubscribeMessages(ws, 2);\n });\n\n afterEach(() => {\n // just ensure we ended in good states, as we clear these as we consume them\n expect(MockedWebSocket).not.toHaveBeenCalled();\n\n // make sure we are unsubscribed so closing the socket doesn't trigger reconnects\n unsubscribe();\n\n // disconnect the socket\n setWebSocketState(ws, \"close\");\n\n vi.runAllTicks();\n\n // Make sure we cleaned up\n expectEqualRemoveAndAddListeners(ws);\n });\n\n it(\"only sends a single request\", async () => {\n respondSuccessToSubscribe(ws, subReq1);\n // actually this is broken FIXME\n unsubscribe();\n expect(ws.send).toHaveBeenCalledTimes(1);\n });\n\n it(\"correctly requests regular object properties\", () => {\n expect(subReq1.requests[0].propertySet).toEqual([\n \"employeeId\",\n \"fullName\",\n \"office\",\n \"class\",\n \"startDate\",\n \"employeeStatus\",\n \"employeeSensor\",\n ]);\n });\n\n it(\"correctly requests reference backed properties\", () => {\n expect(subReq1.requests[0].referenceSet).toEqual([\"employeeLocation\"]);\n });\n\n describe(\"socket closed before subscription confirmed\", () => {\n beforeEach(() => {\n setWebSocketState(ws, \"close\");\n expectEqualRemoveAndAddListeners(ws);\n });\n\n describe(\"reconnect\", async () => {\n beforeEach(async () => {\n [ws] = await Promise.all([\n expectWebSocketConstructed(),\n // delay for connection reconnect\n vi.advanceTimersByTimeAsync(MINIMUM_RECONNECT_DELAY),\n ]);\n setWebSocketState(ws, \"open\");\n });\n\n describe(\"subscribe and respond\", () => {\n beforeEach(async () => {\n const subReq2 = await expectSubscribeMessages(ws);\n respondSuccessToSubscribe(ws, subReq2);\n });\n\n it(\"should not send out of date\", () => {\n expect(listener.onOutOfDate).not.toHaveBeenCalled();\n });\n });\n });\n });\n\n describe(\"correctly try catches errors in handlers\", () => {\n beforeEach(() => {\n listener.onSuccessfulSubscription.mockImplementationOnce(() => {\n throw new Error(\"I am an error\");\n });\n respondSuccessToSubscribe(ws, subReq1);\n });\n afterEach(() => {\n listener.onSuccessfulSubscription.mockReset();\n });\n\n it(\"should call onError\", async () => {\n expect(listener.onError).toHaveBeenCalled();\n expect(listener.onError.mock.calls[0][0].subscriptionClosed).toBe(\n false,\n );\n });\n });\n\n describe(\"successfully subscribed\", () => {\n beforeEach(() => {\n respondSuccessToSubscribe(ws, subReq1);\n });\n\n it(\"should call onSuccessfulSubscription\", () => {\n expect(listener.onSuccessfulSubscription).toHaveBeenCalled();\n });\n\n it(\"should correctly return regular updates\", async () => {\n const idNum2 = currentSubscriptionId;\n\n sendObjectUpdateResponse(ws, `${idNum2}`);\n await listenerPromise.promise;\n expect(listener.onChange).toHaveBeenCalled();\n expect(updateReceived).toMatchInlineSnapshot(`\n {\n \"object\": {\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": undefined,\n \"$title\": undefined,\n \"employeeId\": 1,\n },\n \"state\": \"ADDED_OR_UPDATED\",\n }\n `);\n });\n\n it(\"should correctly return reference update\", async () => {\n const idNum2 = currentSubscriptionId;\n\n sendReferenceUpdatesResponse(ws, `${idNum2}`);\n await listenerPromise.promise;\n expect(listener.onChange).toHaveBeenCalled();\n expect(updateReceived).toMatchInlineSnapshot(`\n {\n \"object\": {\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": \"12345\",\n \"$title\": undefined,\n \"employeeId\": \"12345\",\n \"employeeLocation\": GeotimeSeriesPropertyImpl {\n \"lastFetchedValue\": {\n \"time\": \"111\",\n \"value\": {\n \"coordinates\": [\n 100,\n 200,\n ],\n \"type\": \"Point\",\n },\n },\n },\n },\n \"state\": \"ADDED_OR_UPDATED\",\n }\n `);\n });\n\n describe(\"additional subscription\", async () => {\n let unsubscribe2: () => void;\n let subReq2: ObjectSetStreamSubscribeRequests;\n beforeEach(async () => {\n unsubscribe2 = await client.subscribe(\n {\n type: \"object\",\n apiName: \"Employee\",\n },\n {\n type: \"base\",\n objectType: Employee.apiName,\n },\n listener,\n [\"employeeId\"],\n );\n\n subReq2 = await expectSubscribeMessages(ws);\n\n respondSuccessToSubscribe(ws, subReq2);\n });\n\n afterEach(() => {\n unsubscribe2();\n });\n\n it(\"only requests requested properties\", () => {\n expect(subReq2.requests[1].propertySet).toEqual([\"employeeId\"]);\n expect(subReq2.requests[1].referenceSet).toEqual([]);\n });\n\n it(\"does not trigger an out of date \", () => {\n expect(listener.onOutOfDate).not.toHaveBeenCalled();\n });\n });\n\n describe(\"socket closed abruptly\", () => {\n beforeEach(() => {\n setWebSocketState(ws, \"close\");\n expectEqualRemoveAndAddListeners(ws);\n });\n\n describe(\"reconnect, resubscribe successfully\", async () => {\n beforeEach(async () => {\n [ws] = await Promise.all([\n expectWebSocketConstructed(),\n // delay for connection reconnect\n vi.advanceTimersByTimeAsync(MINIMUM_RECONNECT_DELAY),\n ]);\n setWebSocketState(ws, \"open\");\n\n const subReq2 = await expectSubscribeMessages(ws);\n respondSuccessToSubscribe(ws, subReq2);\n });\n\n it(\"should send out of date\", () => {\n expect(listener.onOutOfDate).toHaveBeenCalledTimes(1);\n });\n });\n });\n\n it(\"should not send onOutOfDate for first call\", () => {\n expect(MockedWebSocket).not.toHaveBeenCalled();\n expect(listener.onOutOfDate).not.toHaveBeenCalled();\n expect(listener.onChange).not.toHaveBeenCalled();\n expect(listener.onError).not.toHaveBeenCalled();\n });\n\n it(\"should create url correctly\", () => {\n expect(constructWebsocketUrl(STACK, \"ontologyRid1\").toString())\n .toEqual(\n \"wss://stack.palantircustom.com/foo/first/someStuff/api/v2/ontologySubscriptions/ontologies/ontologyRid1/streamSubscriptions\",\n );\n });\n });\n });\n });\n});\n\ninterface RawWebSocketPlus\n extends Pick<ImportedWebSocket, \"addEventListener\" | \"removeEventListener\">\n{\n _eventEmitter: EventTarget;\n readyState: 0 | 1 | 2 | 3;\n send: MockedFunction<ImportedWebSocket[\"send\"]>;\n close: MockedFunction<ImportedWebSocket[\"close\"]>;\n}\n\ninterface MockedWebSocket\n extends MockedClass<typeof ImportedWebSocket>, MockedObject<RawWebSocketPlus>\n{\n}\n\ntype MockedListener = MockedObject<\n Required<\n ObjectSetSubscription.Listener<Employee, PropertyKeys<Employee>>\n >\n>;\n\nfunction respondSuccessToSubscribe(\n ws: MockedWebSocket,\n subReq2: ObjectSetStreamSubscribeRequests,\n) {\n sendToClient<StreamMessage>(\n ws,\n {\n id: subReq2.id,\n type: \"subscribeResponses\",\n responses: [{\n type: \"success\",\n id: `${++currentSubscriptionId}`,\n }],\n },\n );\n}\n\nfunction sendObjectUpdateResponse(\n ws: MockedWebSocket,\n subId: string,\n) {\n const updateMessage: StreamMessage = {\n type: \"objectSetChanged\",\n id: subId,\n updates: [{\n type: \"object\",\n state: \"ADDED_OR_UPDATED\",\n object: {\n __apiName: \"Employee\",\n employeeId: 1,\n },\n }],\n };\n\n sendToClient<StreamMessage>(\n ws,\n updateMessage,\n );\n}\n\nfunction sendReferenceUpdatesResponse(\n ws: MockedWebSocket,\n subId: string,\n) {\n const referenceUpdateMessage: StreamMessage = {\n type: \"objectSetChanged\",\n id: subId,\n updates: [{\n \"type\": \"reference\",\n \"objectType\": \"Employee\",\n \"primaryKey\": { \"employeeId\": \"12345\" },\n \"property\": \"employeeLocation\",\n \"value\": {\n \"timestamp\": \"111\",\n \"type\": \"geotimeSeriesValue\",\n \"position\": [100, 200],\n },\n }],\n };\n\n sendToClient<StreamMessage>(\n ws,\n referenceUpdateMessage,\n );\n}\n\nfunction expectEqualRemoveAndAddListeners(ws: MockedWebSocket) {\n expect(ws.removeEventListener).toHaveBeenCalledTimes(\n ws.addEventListener.mock.calls.length,\n );\n}\n\nasync function expectSubscribeMessages(\n ws: MockedWebSocket,\n times: number = 1,\n): Promise<ObjectSetStreamSubscribeRequests> {\n return await vi.waitFor(() => {\n expect(ws.send).toBeCalledTimes(times);\n const result = JSON.parse(ws.send.mock.lastCall![0].toString());\n ws.send.mockClear();\n return result;\n });\n}\n\nasync function subscribeAndExpectWebSocket(\n client: ObjectSetListenerWebsocket,\n listener: MockedListener,\n): Promise<readonly [MockedWebSocket, () => void]> {\n const [ws, unsubscribe] = await Promise.all([\n expectWebSocketConstructed(),\n client.subscribe<Employee, PropertyKeys<Employee>>(\n {\n apiName: \"Employee\",\n type: \"object\",\n },\n {\n type: \"base\",\n objectType: Employee.apiName,\n },\n listener,\n ),\n ]);\n\n // otherwise the ObjectSetListenerWebSocket is sitting waiting for it to \"connect\"\n setWebSocketState(ws, \"open\");\n\n return [ws, unsubscribe] as const;\n}\n\nasync function expectWebSocketConstructed(): Promise<MockedWebSocket> {\n expect(MockedWebSocket).toHaveBeenCalledTimes(0);\n\n const ws = await vi.waitFor(() => {\n expect(MockedWebSocket).toHaveBeenCalled();\n expect(MockedWebSocket.mock.results[0].type === \"return\");\n return MockedWebSocket.mock.results[0].value as MockedWebSocket;\n });\n\n expect(MockedWebSocket).toHaveBeenCalledTimes(1);\n MockedWebSocket.mockClear();\n expect(MockedWebSocket).toHaveBeenCalledTimes(0);\n\n return ws;\n}\n\nfunction createMockWebSocketConstructor(\n OriginalWebSocket: WebSocket,\n logger: Logger,\n): MockedWebSocket {\n let i = 0;\n const ret = vi.fn(function(..._args: any[]): MockedWebSocket {\n const webSocketInst = i++;\n logger.debug(\"WebSocket constructor called\");\n const eventEmitter = new EventTarget();\n\n return {\n addEventListener: vi.fn(\n eventEmitter.addEventListener.bind(eventEmitter),\n ) as any,\n removeEventListener: vi.fn(\n eventEmitter.removeEventListener.bind(eventEmitter),\n ) as any,\n\n send: vi.fn((a, _b: any) => {\n logger.debug(\n { message: JSON.parse(a.toString()), webSocketInst },\n \"send() called\",\n );\n }),\n close: vi.fn(),\n _eventEmitter: eventEmitter,\n readyState: OriginalWebSocket.CONNECTING,\n } satisfies RawWebSocketPlus as any as MockedWebSocket;\n // ^ we only implement some things but the type system wants to think its the full deal,\n // thus the satisfies plus the cast\n }) as any as MockedWebSocket;\n\n Object.assign(ret, {\n OPEN: OriginalWebSocket.OPEN,\n CLOSED: OriginalWebSocket.CLOSED,\n CLOSING: OriginalWebSocket.CLOSING,\n CONNECTING: OriginalWebSocket.CONNECTING,\n });\n\n return ret;\n}\n\nfunction setWebSocketState(ws: MockedWebSocket, readyState: \"open\" | \"close\") {\n const newState = readyState === \"open\"\n ? ImportedWebSocket.OPEN\n : ImportedWebSocket.CLOSED;\n\n if (newState === ws.readyState) return;\n\n ws.readyState = newState;\n ws._eventEmitter.dispatchEvent(new Event(readyState, {}));\n}\n\nfunction addLoggerToApiServer(logger: Logger) {\n const z = (\n name: string,\n { requestId, request }: { requestId: string; request: Request },\n ) => logger.trace({ requestId, url: request.url }, name);\n\n const eventNames = [\n \"request:start\",\n \"request:match\",\n \"request:end\",\n \"request:unhandled\",\n \"response:bypass\",\n \"response:mocked\",\n ] as const;\n\n for (const c of eventNames) {\n apiServer.events.on(c as typeof eventNames[number], z.bind(undefined, c));\n }\n}\n\nconst SubscribeMessage = z.object({\n id: z.string(),\n requests: z.array(z.object({\n objectSet: z.object({ id: z.string() }),\n propertySet: z.array(z.string()),\n referenceSet: z.array(z.string()),\n })),\n});\n\nclass MessageEvent extends Event {\n data: string;\n constructor(data: any) {\n super(\"message\");\n this.data = JSON.stringify(data);\n }\n}\n\nfunction sendToClient<T>(ws: MockedWebSocket, t: T) {\n ws._eventEmitter.dispatchEvent(new MessageEvent(t));\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conjureUnionType.js","names":["conjureUnionType","type","value"],"sources":["conjureUnionType.
|
|
1
|
+
{"version":3,"file":"conjureUnionType.js","names":["conjureUnionType","type","value"],"sources":["conjureUnionType.ts"],"sourcesContent":["/*\n * Copyright 2024 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\ntype DeepWriteable<T> = {\n -readonly [P in keyof T]: DeepWriteable<T[P]>;\n};\n\n/**\n * Helper function that creates the shape of a conjure union in fewer bytes than manually declaring it (when compressed)\n *\n * e.g `{type:\"base\",base:{foo:5}}` becomes `a(\"base\",{foo:5})`\n */\nexport function conjureUnionType<T extends string, const V>(\n type: T,\n value: V,\n): { type: T } & Record<T, DeepWriteable<V>> {\n return {\n type,\n [type]: value,\n } as { type: T } & Record<T, V>;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,gBAAgBA,CAC9BC,IAAO,EACPC,KAAQ,EACmC;EAC3C,OAAO;IACLD,IAAI;IACJ,CAACA,IAAI,GAAGC;EACV,CAAC;AACH","ignoreList":[]}
|
|
@@ -13,30 +13,32 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
|
|
16
17
|
import { modernToLegacyWhereClause } from "../internal/conversions/modernToLegacyWhereClause.js";
|
|
17
18
|
import { aggregate } from "../object/aggregate.js";
|
|
18
19
|
import { fetchPageInternal, fetchPageWithErrorsInternal } from "../object/fetchPage.js";
|
|
19
20
|
import { fetchSingle, fetchSingleWithErrors } from "../object/fetchSingle.js";
|
|
20
21
|
import { augmentRequestContext } from "../util/augmentRequestContext.js";
|
|
22
|
+
import { resolveBaseObjectSetType } from "../util/objectSetUtils.js";
|
|
21
23
|
import { isWireObjectSet } from "../util/WireObjectSet.js";
|
|
22
24
|
import { ObjectSetListenerWebsocket } from "./ObjectSetListenerWebsocket.js";
|
|
23
25
|
function isObjectTypeDefinition(def) {
|
|
24
26
|
return def.type === "object";
|
|
25
27
|
}
|
|
28
|
+
|
|
26
29
|
/* @internal */
|
|
27
30
|
export function isObjectSet(o) {
|
|
28
31
|
return o != null && typeof o === "object" && isWireObjectSet(objectSetDefinitions.get(o));
|
|
29
32
|
}
|
|
33
|
+
|
|
30
34
|
/** @internal */
|
|
31
35
|
export function getWireObjectSet(objectSet) {
|
|
32
36
|
return objectSetDefinitions.get(objectSet);
|
|
33
37
|
}
|
|
34
38
|
const objectSetDefinitions = new WeakMap();
|
|
39
|
+
|
|
35
40
|
/** @internal */
|
|
36
|
-
export function createObjectSet(objectType, clientCtx, objectSet = {
|
|
37
|
-
type: "base",
|
|
38
|
-
objectType: objectType["apiName"]
|
|
39
|
-
}) {
|
|
41
|
+
export function createObjectSet(objectType, clientCtx, objectSet = resolveBaseObjectSetType(objectType)) {
|
|
40
42
|
const base = {
|
|
41
43
|
aggregate: aggregate.bind(globalThis, augmentRequestContext(clientCtx, () => ({
|
|
42
44
|
finalMethodCall: "aggregate"
|
|
@@ -100,8 +102,8 @@ export function createObjectSet(objectType, clientCtx, objectSet = {
|
|
|
100
102
|
finalMethodCall: "fetchOneWithErrors"
|
|
101
103
|
})), objectType, options, await createWithPk(clientCtx, objectType, objectSet, primaryKey));
|
|
102
104
|
} : undefined,
|
|
103
|
-
subscribe: (
|
|
104
|
-
const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(clientCtx).subscribe(objectType, objectSet, listener, properties);
|
|
105
|
+
subscribe: (listener, opts) => {
|
|
106
|
+
const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(clientCtx).subscribe(objectType, objectSet, listener, opts?.properties);
|
|
105
107
|
return {
|
|
106
108
|
unsubscribe: async () => (await pendingSubscribe)()
|
|
107
109
|
};
|
|
@@ -120,6 +122,7 @@ export function createObjectSet(objectType, clientCtx, objectSet = {
|
|
|
120
122
|
};
|
|
121
123
|
}
|
|
122
124
|
objectSetDefinitions.set(base, objectSet);
|
|
125
|
+
|
|
123
126
|
// we are using a type assertion because the marker symbol defined in BaseObjectSet isn't actually used
|
|
124
127
|
// at runtime.
|
|
125
128
|
return base;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createObjectSet.js","names":["modernToLegacyWhereClause","aggregate","fetchPageInternal","fetchPageWithErrorsInternal","fetchSingle","fetchSingleWithErrors","augmentRequestContext","isWireObjectSet","ObjectSetListenerWebsocket","isObjectTypeDefinition","def","type","isObjectSet","o","objectSetDefinitions","get","getWireObjectSet","objectSet","WeakMap","createObjectSet","objectType","clientCtx","base","bind","globalThis","finalMethodCall","fetchPage","fetchPageWithErrors","where","clause","objectSetFactory","pivotTo","createSearchAround","union","objectSets","map","os","intersect","subtract","asyncIter","args","$nextPageToken","undefined","result","nextPageToken","obj","data","fetchOne","primaryKey","options","createWithPk","fetchOneWithErrors","subscribe","properties","listener","pendingSubscribe","getInstance","unsubscribe","$objectSetInternals","link","set","objDef","ontologyProvider","getObjectDefinition","apiName","withPk","field","primaryKeyApiName","value"],"sources":["createObjectSet.js"],"sourcesContent":["/*\n * Copyright 2023 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 */\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport { aggregate } from \"../object/aggregate.js\";\nimport { fetchPageInternal, fetchPageWithErrorsInternal, } from \"../object/fetchPage.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../object/fetchSingle.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { isWireObjectSet } from \"../util/WireObjectSet.js\";\nimport { ObjectSetListenerWebsocket } from \"./ObjectSetListenerWebsocket.js\";\nfunction isObjectTypeDefinition(def) {\n return def.type === \"object\";\n}\n/* @internal */\nexport function isObjectSet(o) {\n return o != null && typeof o === \"object\"\n && isWireObjectSet(objectSetDefinitions.get(o));\n}\n/** @internal */\nexport function getWireObjectSet(objectSet) {\n return objectSetDefinitions.get(objectSet);\n}\nconst objectSetDefinitions = new WeakMap();\n/** @internal */\nexport function createObjectSet(objectType, clientCtx, objectSet = {\n type: \"base\",\n objectType: objectType[\"apiName\"],\n}) {\n const base = {\n aggregate: (aggregate).bind(globalThis, augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"aggregate\" })), objectType, objectSet),\n fetchPage: fetchPageInternal.bind(globalThis, augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"fetchPage\" })), objectType, objectSet),\n fetchPageWithErrors: fetchPageWithErrorsInternal.bind(globalThis, augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"fetchPageWithErrors\" })), objectType, objectSet),\n where: (clause) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"filter\",\n objectSet: objectSet,\n where: modernToLegacyWhereClause(clause, objectType),\n });\n },\n pivotTo: function (type) {\n return createSearchAround(type)();\n },\n union: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"union\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)),\n ],\n });\n },\n intersect: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"intersect\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)),\n ],\n });\n },\n subtract: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"subtract\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)),\n ],\n });\n },\n asyncIter: async function* (args) {\n let $nextPageToken = undefined;\n do {\n const result = await fetchPageInternal(augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"asyncIter\" })), objectType, objectSet, { ...args, $nextPageToken });\n $nextPageToken = result.nextPageToken;\n for (const obj of result.data) {\n yield obj;\n }\n } while ($nextPageToken != null);\n },\n fetchOne: (isObjectTypeDefinition(objectType)\n ? async (primaryKey, options) => {\n return await fetchSingle(augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"fetchOne\" })), objectType, options, await createWithPk(clientCtx, objectType, objectSet, primaryKey));\n }\n : undefined),\n fetchOneWithErrors: (isObjectTypeDefinition(objectType)\n ? async (primaryKey, options) => {\n return await fetchSingleWithErrors(augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"fetchOneWithErrors\" })), objectType, options, await createWithPk(clientCtx, objectType, objectSet, primaryKey));\n }\n : undefined),\n subscribe: (properties, listener) => {\n const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(clientCtx).subscribe(objectType, objectSet, listener, properties);\n return { unsubscribe: async () => (await pendingSubscribe)() };\n },\n $objectSetInternals: {\n def: objectType,\n },\n };\n function createSearchAround(link) {\n return () => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"searchAround\",\n objectSet,\n link,\n });\n };\n }\n objectSetDefinitions.set(base, objectSet);\n // we are using a type assertion because the marker symbol defined in BaseObjectSet isn't actually used\n // at runtime.\n return base;\n}\nasync function createWithPk(clientCtx, objectType, objectSet, primaryKey) {\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(objectType.apiName);\n const withPk = {\n type: \"filter\",\n objectSet: objectSet,\n where: {\n type: \"eq\",\n field: objDef.primaryKeyApiName,\n value: primaryKey,\n },\n };\n return withPk;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"createObjectSet.js","names":["modernToLegacyWhereClause","aggregate","fetchPageInternal","fetchPageWithErrorsInternal","fetchSingle","fetchSingleWithErrors","augmentRequestContext","resolveBaseObjectSetType","isWireObjectSet","ObjectSetListenerWebsocket","isObjectTypeDefinition","def","type","isObjectSet","o","objectSetDefinitions","get","getWireObjectSet","objectSet","WeakMap","createObjectSet","objectType","clientCtx","base","bind","globalThis","finalMethodCall","fetchPage","fetchPageWithErrors","where","clause","objectSetFactory","pivotTo","createSearchAround","union","objectSets","map","os","intersect","subtract","asyncIter","args","$nextPageToken","undefined","result","nextPageToken","obj","data","fetchOne","primaryKey","options","createWithPk","fetchOneWithErrors","subscribe","listener","opts","pendingSubscribe","getInstance","properties","unsubscribe","$objectSetInternals","link","set","objDef","ontologyProvider","getObjectDefinition","apiName","withPk","field","primaryKeyApiName","value"],"sources":["createObjectSet.ts"],"sourcesContent":["/*\n * Copyright 2023 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 AsyncIterArgs,\n Augments,\n FetchPageResult,\n LinkedType,\n LinkNames,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n PrimaryKeyType,\n PropertyKeys,\n Result,\n SelectArg,\n SingleOsdkResult,\n} from \"@osdk/api\";\nimport type { MinimalObjectSet } from \"@osdk/api/unstable\";\nimport type { ObjectSet as WireObjectSet } from \"@osdk/foundry.ontologies\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { aggregate } from \"../object/aggregate.js\";\nimport {\n fetchPageInternal,\n fetchPageWithErrorsInternal,\n} from \"../object/fetchPage.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../object/fetchSingle.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\nimport { isWireObjectSet } from \"../util/WireObjectSet.js\";\nimport { ObjectSetListenerWebsocket } from \"./ObjectSetListenerWebsocket.js\";\n\nfunction isObjectTypeDefinition(\n def: ObjectOrInterfaceDefinition,\n): def is ObjectTypeDefinition {\n return def.type === \"object\";\n}\n\n/* @internal */\nexport function isObjectSet(o: any): o is ObjectSet<any> {\n return o != null && typeof o === \"object\"\n && isWireObjectSet(objectSetDefinitions.get(o));\n}\n\n/** @internal */\nexport function getWireObjectSet(\n objectSet: ObjectSet<any> | MinimalObjectSet<any>,\n): WireObjectSet {\n return objectSetDefinitions.get(objectSet)!;\n}\n\nconst objectSetDefinitions = new WeakMap<\n any,\n WireObjectSet\n>();\n\n/** @internal */\nexport function createObjectSet<Q extends ObjectOrInterfaceDefinition>(\n objectType: Q,\n clientCtx: MinimalClient,\n objectSet: WireObjectSet = resolveBaseObjectSetType(objectType),\n): ObjectSet<Q> {\n const base: ObjectSet<Q> = {\n aggregate: (aggregate<Q, any>).bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"aggregate\" })),\n objectType,\n objectSet,\n ),\n\n fetchPage: fetchPageInternal.bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"fetchPage\" })),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPage\"],\n\n fetchPageWithErrors: fetchPageWithErrorsInternal.bind(\n globalThis,\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchPageWithErrors\" }),\n ),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPageWithErrors\"],\n\n where: (clause) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"filter\",\n objectSet: objectSet,\n where: modernToLegacyWhereClause(clause, objectType),\n });\n },\n\n pivotTo: function<L extends LinkNames<Q>>(\n type: L,\n ): ObjectSet<LinkedType<Q, L>> {\n return createSearchAround(type)();\n },\n\n union: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"union\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n intersect: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"intersect\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n subtract: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"subtract\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n asyncIter: async function*<\n L extends PropertyKeys<Q>,\n R extends boolean,\n const A extends Augments,\n S extends NullabilityAdherence = NullabilityAdherence.Default,\n >(\n args?: AsyncIterArgs<Q, L, R, A, S>,\n ): AsyncIterableIterator<SingleOsdkResult<Q, L, R, S>> {\n let $nextPageToken: string | undefined = undefined;\n do {\n const result: FetchPageResult<\n Q,\n L,\n R,\n S\n > = await fetchPageInternal(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"asyncIter\" }),\n ),\n objectType,\n objectSet,\n { ...args, $nextPageToken },\n );\n $nextPageToken = result.nextPageToken;\n\n for (const obj of result.data) {\n yield obj as SingleOsdkResult<Q, L, R, S>;\n }\n } while ($nextPageToken != null);\n },\n\n fetchOne: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: PrimaryKeyType<Q>,\n options: A,\n ) => {\n return await fetchSingle(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOne\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Osdk<Q>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOne\"],\n\n fetchOneWithErrors: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: Q extends ObjectTypeDefinition ? PrimaryKeyType<Q>\n : never,\n options: A,\n ) => {\n return await fetchSingleWithErrors(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOneWithErrors\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Result<Osdk<Q>>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOneWithErrors\"],\n\n subscribe: (\n listener,\n opts,\n ) => {\n const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(\n clientCtx,\n ).subscribe(\n objectType,\n objectSet,\n listener,\n opts?.properties,\n );\n\n return { unsubscribe: async () => (await pendingSubscribe)() };\n },\n\n $objectSetInternals: {\n def: objectType,\n },\n };\n\n function createSearchAround<L extends LinkNames<Q>>(link: L) {\n return () => {\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n {\n type: \"searchAround\",\n objectSet,\n link,\n },\n );\n };\n }\n\n objectSetDefinitions.set(base, objectSet);\n\n // we are using a type assertion because the marker symbol defined in BaseObjectSet isn't actually used\n // at runtime.\n return base as ObjectSet<Q>;\n}\n\nasync function createWithPk(\n clientCtx: MinimalClient,\n objectType: ObjectTypeDefinition,\n objectSet: WireObjectSet,\n primaryKey: PrimaryKeyType<ObjectTypeDefinition>,\n) {\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n );\n\n const withPk: WireObjectSet = {\n type: \"filter\",\n objectSet: objectSet,\n where: {\n type: \"eq\",\n field: objDef.primaryKeyApiName,\n value: primaryKey,\n },\n };\n return withPk;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
export const DEBUG_REFCOUNTS = process.env.NODE_ENV !== "production" && false;
|
|
18
|
+
export const DEBUG_CACHE_KEYS = process.env.NODE_ENV !== "production" && false;
|
|
19
|
+
//# sourceMappingURL=DebugFlags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DebugFlags.js","names":["DEBUG_REFCOUNTS","process","env","NODE_ENV","DEBUG_CACHE_KEYS"],"sources":["DebugFlags.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\nexport const DEBUG_REFCOUNTS: boolean = process.env.NODE_ENV !== \"production\"\n && false;\n\nexport const DEBUG_CACHE_KEYS: boolean = process.env.NODE_ENV !== \"production\"\n && false;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,eAAwB,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IACxE,KAAK;AAEV,OAAO,MAAMC,gBAAyB,GAAGH,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IACzE,KAAK","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListPayload.js","names":[],"sources":["ListPayload.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 { Osdk } from \"@osdk/api\";\nimport type { Status } from \"./ObservableClient.js\";\n\nexport interface ListPayload {\n resolvedList: Array<Osdk.Instance<any, never, string>>;\n isOptimistic: boolean;\n lastUpdated: number;\n fetchMore: () => Promise<unknown>;\n hasMore: boolean;\n status: Status;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectPayload.js","names":[],"sources":["ObjectPayload.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 { ObjectTypeDefinition, Osdk } from \"@osdk/api\";\nimport type { Status } from \"./ObservableClient.js\";\n\nexport interface ObjectPayload {\n object: Osdk.Instance<ObjectTypeDefinition> | undefined;\n isOptimistic: boolean;\n status: Status;\n lastUpdated: number;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
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 { ObservableClientImpl } from "./internal/ObservableClientImpl.js";
|
|
18
|
+
import { Store } from "./internal/Store.js";
|
|
19
|
+
export let ObservableClient;
|
|
20
|
+
export function createObservableClient(client) {
|
|
21
|
+
return new ObservableClientImpl(new Store(client));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=ObservableClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObservableClient.js","names":["ObservableClientImpl","Store","ObservableClient","createObservableClient","client"],"sources":["ObservableClient.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 ObjectTypeDefinition,\n PrimaryKeyType,\n PropertyKeys,\n WhereClause,\n} from \"@osdk/api\";\nimport type { ActionSignatureFromDef } from \"../actions/applyAction.js\";\nimport type { Client } from \"../Client.js\";\nimport type { Canonical } from \"./internal/Canonical.js\";\nimport { ObservableClientImpl } from \"./internal/ObservableClientImpl.js\";\nimport { Store } from \"./internal/Store.js\";\nimport type { ListPayload } from \"./ListPayload.js\";\nimport type { ObjectPayload } from \"./ObjectPayload.js\";\nimport type { OptimisticBuilder } from \"./OptimisticBuilder.js\";\nimport type { SubFn } from \"./types.js\";\n\nexport type Status = \"init\" | \"loading\" | \"loaded\" | \"error\";\n\nexport namespace ObservableClient {\n export interface ApplyActionOptions {\n optimisticUpdate?: (ctx: OptimisticBuilder) => void;\n }\n}\nexport interface QueryOptions {\n dedupeInterval?: number;\n}\n\nexport interface ObserveOptions {\n mode?: \"offline\" | \"force\";\n}\n\nexport interface ObserveObjectOptions<T extends ObjectTypeDefinition>\n extends ObserveOptions\n{\n select?: PropertyKeys<T>[];\n}\n\nexport interface ListQueryOptions extends QueryOptions {\n pageSize?: number;\n}\n\nexport interface ObservableClient {\n observeObject<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n pk: PrimaryKeyType<T>,\n options: ObserveOptions,\n subFn: SubFn<ObjectPayload>,\n ): Unsubscribable;\n\n observeList<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n where: WhereClause<T>,\n options: ObserveOptions & ListQueryOptions,\n subFn: SubFn<ListPayload>,\n ): Unsubscribable;\n\n applyAction: <Q extends ActionDefinition<any>>(\n action: Q,\n args: Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0],\n opts?: ObservableClient.ApplyActionOptions,\n ) => Promise<unknown>;\n\n canonicalizeWhereClause: <T extends ObjectTypeDefinition>(\n where: WhereClause<T>,\n ) => Canonical<WhereClause<T>>;\n}\n\nexport function createObservableClient(client: Client): ObservableClient {\n return new ObservableClientImpl(new Store(client));\n}\n\nexport interface Unsubscribable {\n unsubscribe: () => void;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA,SAASA,oBAAoB,QAAQ,oCAAoC;AACzE,SAASC,KAAK,QAAQ,qBAAqB;AAAC,WAQ3BC,gBAAgB;AAiDjC,OAAO,SAASC,sBAAsBA,CAACC,MAAc,EAAoB;EACvE,OAAO,IAAIJ,oBAAoB,CAAC,IAAIC,KAAK,CAACG,MAAM,CAAC,CAAC;AACpD","ignoreList":[]}
|