@osdk/client 2.1.0-beta.23 → 2.1.0-beta.25
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 +33 -0
- package/build/browser/Client.js +6 -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 +3 -0
- package/build/browser/__unstable/ConjureSupport.js.map +1 -1
- package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js +4 -0
- 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 +30 -2
- package/build/browser/actions/actions.test.js.map +1 -1
- package/build/browser/actions/applyAction.js +1 -0
- package/build/browser/actions/applyAction.js.map +1 -1
- package/build/browser/createClient.js +10 -5
- package/build/browser/createClient.js.map +1 -1
- package/build/browser/createClient.test.js +1 -0
- package/build/browser/createClient.test.js.map +1 -1
- package/build/browser/createGeotimeSeriesProperty.js +1 -1
- package/build/browser/createGeotimeSeriesProperty.js.map +1 -1
- package/build/browser/createMediaReferenceProperty.js +1 -0
- package/build/browser/createMediaReferenceProperty.js.map +1 -1
- package/build/browser/createMinimalClient.js +2 -0
- 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 +1 -0
- 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 +5 -0
- package/build/browser/fetchMetadata.test.js.map +1 -1
- package/build/browser/index.js +1 -0
- package/build/browser/index.js.map +1 -1
- package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js +2 -0
- package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
- package/build/browser/intellisense.test.js +3 -0
- 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 +3 -0
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +1 -0
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
- package/build/browser/object/AttachmentUpload.js +1 -0
- 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 +9 -0
- 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 +3 -0
- package/build/browser/object/aggregate.js.map +1 -1
- package/build/browser/object/aggregate.test.js +5 -0
- 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 -0
- 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 +2 -0
- 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 +1 -0
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js +1 -0
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +4 -0
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js +6 -0
- package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +1 -0
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.js +11 -0
- package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.test.js +3 -0
- package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/browser/object/fetchPage.js +7 -0
- package/build/browser/object/fetchPage.js.map +1 -1
- package/build/browser/object/fetchPage.test.js +5 -0
- 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 +1 -0
- package/build/browser/object/media.test.js.map +1 -1
- package/build/browser/object/object.test.js +8 -0
- package/build/browser/object/object.test.js.map +1 -1
- package/build/browser/object/timeseries.test.js +1 -0
- package/build/browser/object/timeseries.test.js.map +1 -1
- package/build/browser/objectSet/InterfaceObjectSet.test.js +4 -0
- package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -1
- package/build/browser/objectSet/ObjectSet.test.js +13 -0
- 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 +18 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +8 -1
- 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 +5 -0
- package/build/browser/objectSet/createObjectSet.js.map +1 -1
- 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 +1 -0
- package/build/browser/ontology/loadActionMetadata.js.map +1 -1
- package/build/browser/ontology/loadFullObjectMetadata.js +1 -0
- package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
- package/build/browser/ontology/loadInterfaceMetadata.js +1 -0
- package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -1
- package/build/browser/ontology/loadQueryMetadata.js +1 -0
- 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 +1 -0
- package/build/browser/public/internal.js.map +1 -1
- package/build/browser/public/unstable-do-not-use.js +1 -0
- package/build/browser/public/unstable-do-not-use.js.map +1 -1
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +2 -0
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -1
- package/build/browser/public-utils/hydrateAttachmentFromRid.js +2 -0
- package/build/browser/public-utils/hydrateAttachmentFromRid.js.map +1 -1
- package/build/browser/public-utils/hydrateObjectSetFromRid.js +2 -0
- package/build/browser/public-utils/hydrateObjectSetFromRid.js.map +1 -1
- package/build/browser/queries/applyQuery.js +1 -0
- package/build/browser/queries/applyQuery.js.map +1 -1
- package/build/browser/queries/queries.test.js +2 -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 +5 -0
- package/build/browser/util/datetimeConverters.js.map +1 -1
- package/build/browser/util/datetimeConverters.test.js +1 -0
- package/build/browser/util/datetimeConverters.test.js.map +1 -1
- 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 +1 -0
- package/build/browser/util/objectSetUtils.js.map +1 -1
- 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 +1 -0
- package/build/browser/util/timeseriesUtils.js.map +1 -1
- package/build/browser/util/toDataValue.js +17 -1
- package/build/browser/util/toDataValue.js.map +1 -1
- package/build/browser/util/toDataValue.test.js +1 -0
- package/build/browser/util/toDataValue.test.js.map +1 -1
- package/build/browser/util/toDataValueQueries.js +3 -0
- package/build/browser/util/toDataValueQueries.js.map +1 -1
- package/build/cjs/Client-BZcoRu7n.d.cts +67 -0
- package/build/cjs/chunk-Q4BVHDNO.cjs +460 -0
- package/build/cjs/chunk-Q4BVHDNO.cjs.map +1 -0
- package/build/cjs/chunk-RWHJNRHF.cjs +887 -0
- package/build/cjs/chunk-RWHJNRHF.cjs.map +1 -0
- package/build/cjs/index.cjs +1628 -0
- package/build/cjs/index.cjs.map +1 -0
- package/build/cjs/index.d.cts +85 -0
- package/build/cjs/public/internal.cjs +35 -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 +12 -0
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -0
- package/build/cjs/public/unstable-do-not-use.d.cts +5 -0
- package/build/esm/Client.js +6 -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 +3 -0
- package/build/esm/__unstable/ConjureSupport.js.map +1 -1
- package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js +4 -0
- 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 +30 -2
- package/build/esm/actions/actions.test.js.map +1 -1
- package/build/esm/actions/applyAction.js +1 -0
- package/build/esm/actions/applyAction.js.map +1 -1
- package/build/esm/createClient.js +10 -5
- package/build/esm/createClient.js.map +1 -1
- package/build/esm/createClient.test.js +1 -0
- package/build/esm/createClient.test.js.map +1 -1
- package/build/esm/createGeotimeSeriesProperty.js +1 -1
- package/build/esm/createGeotimeSeriesProperty.js.map +1 -1
- package/build/esm/createMediaReferenceProperty.js +1 -0
- package/build/esm/createMediaReferenceProperty.js.map +1 -1
- package/build/esm/createMinimalClient.js +2 -0
- 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 +1 -0
- 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 +5 -0
- package/build/esm/fetchMetadata.test.js.map +1 -1
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js +2 -0
- package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
- package/build/esm/intellisense.test.js +3 -0
- 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 +3 -0
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +1 -0
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
- package/build/esm/object/AttachmentUpload.js +1 -0
- 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 +9 -0
- 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 +3 -0
- package/build/esm/object/aggregate.js.map +1 -1
- package/build/esm/object/aggregate.test.js +5 -0
- 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 -0
- 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 +2 -0
- 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 +1 -0
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js +1 -0
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +4 -0
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js +6 -0
- package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +1 -0
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.js +11 -0
- package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.test.js +3 -0
- package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/esm/object/fetchPage.js +7 -0
- package/build/esm/object/fetchPage.js.map +1 -1
- package/build/esm/object/fetchPage.test.js +5 -0
- 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 +1 -0
- package/build/esm/object/media.test.js.map +1 -1
- package/build/esm/object/object.test.js +8 -0
- package/build/esm/object/object.test.js.map +1 -1
- package/build/esm/object/timeseries.test.js +1 -0
- package/build/esm/object/timeseries.test.js.map +1 -1
- package/build/esm/objectSet/InterfaceObjectSet.test.js +4 -0
- package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -1
- package/build/esm/objectSet/ObjectSet.test.js +13 -0
- 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 +18 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +8 -1
- 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 +5 -0
- package/build/esm/objectSet/createObjectSet.js.map +1 -1
- 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 +1 -0
- package/build/esm/ontology/loadActionMetadata.js.map +1 -1
- package/build/esm/ontology/loadFullObjectMetadata.js +1 -0
- package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
- package/build/esm/ontology/loadInterfaceMetadata.js +1 -0
- package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -1
- package/build/esm/ontology/loadQueryMetadata.js +1 -0
- 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 +1 -0
- package/build/esm/public/internal.js.map +1 -1
- package/build/esm/public/unstable-do-not-use.js +1 -0
- package/build/esm/public/unstable-do-not-use.js.map +1 -1
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +2 -0
- package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -1
- package/build/esm/public-utils/hydrateAttachmentFromRid.js +2 -0
- package/build/esm/public-utils/hydrateAttachmentFromRid.js.map +1 -1
- package/build/esm/public-utils/hydrateObjectSetFromRid.js +2 -0
- package/build/esm/public-utils/hydrateObjectSetFromRid.js.map +1 -1
- package/build/esm/queries/applyQuery.js +1 -0
- package/build/esm/queries/applyQuery.js.map +1 -1
- package/build/esm/queries/queries.test.js +2 -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 +5 -0
- package/build/esm/util/datetimeConverters.js.map +1 -1
- package/build/esm/util/datetimeConverters.test.js +1 -0
- package/build/esm/util/datetimeConverters.test.js.map +1 -1
- 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 +1 -0
- package/build/esm/util/objectSetUtils.js.map +1 -1
- 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 +1 -0
- package/build/esm/util/timeseriesUtils.js.map +1 -1
- package/build/esm/util/toDataValue.js +17 -1
- package/build/esm/util/toDataValue.js.map +1 -1
- package/build/esm/util/toDataValue.test.js +1 -0
- package/build/esm/util/toDataValue.test.js.map +1 -1
- package/build/esm/util/toDataValueQueries.js +3 -0
- package/build/esm/util/toDataValueQueries.js.map +1 -1
- package/build/types/Client.d.ts +20 -0
- package/build/types/Definitions.test.d.ts +1 -0
- package/build/types/Logger.d.ts +18 -0
- package/build/types/MinimalClientContext.d.ts +21 -0
- package/build/types/ResultOrError.d.ts +9 -0
- package/build/types/SatisfiesSemver.d.ts +10 -0
- package/build/types/SatisfiesSemver.test.d.ts +1 -0
- package/build/types/__unstable/ConjureSupport.d.ts +37 -0
- package/build/{browser → types}/__unstable/createBulkLinksAsyncIterFactory.d.ts +0 -1
- package/build/types/actions/ActionValidationError.d.ts +5 -0
- package/build/types/actions/actions.test.d.ts +1 -0
- package/build/{esm → types}/actions/applyAction.d.ts +16 -15
- package/build/{browser → types}/createClient.d.ts +1 -4
- package/build/types/createClient.test.d.ts +1 -0
- package/build/types/createGeotimeSeriesProperty.d.ts +13 -0
- package/build/types/createMediaReferenceProperty.d.ts +13 -0
- package/build/types/createMinimalClient.d.ts +1 -0
- package/build/types/createPlatformClient.d.ts +15 -0
- package/build/types/createTimeseriesProperty.d.ts +13 -0
- package/build/types/definitions/LinkDefinitions.test.d.ts +1 -0
- package/build/types/fetchMetadata.d.ts +1 -0
- package/build/types/fetchMetadata.test.d.ts +1 -0
- package/build/types/index.d.ts +12 -0
- package/build/types/intellisense.test.d.ts +1 -0
- package/build/types/intellisense.test.helpers/callsQueryAcceptsObject.d.ts +1 -0
- package/build/types/internal/conversions/legacyToModernSingleAggregationResult.d.ts +1 -0
- package/build/types/internal/conversions/modernToLegacyAggregationClause.d.ts +1 -0
- package/build/types/internal/conversions/modernToLegacyGroupByClause.d.ts +1 -0
- package/build/{browser → types}/internal/conversions/modernToLegacyWhereClause.d.ts +0 -1
- package/build/types/internal/conversions/modernToLegacyWhereClause.test.d.ts +1 -0
- package/build/{browser → types}/object/AttachmentUpload.d.ts +0 -1
- package/build/types/object/Cache.d.ts +17 -0
- package/build/types/object/Cache.test.d.ts +8 -0
- package/build/types/object/SimpleCache.d.ts +52 -0
- package/build/types/object/aggregate.d.ts +1 -0
- package/build/types/object/aggregate.test.d.ts +1 -0
- package/build/types/object/attachment.test.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects/InterfaceHolder.d.ts +1 -0
- package/build/{browser → types}/object/convertWireToOsdkObjects/InternalSymbols.d.ts +3 -4
- package/build/types/object/convertWireToOsdkObjects/ObjectHolder.d.ts +1 -0
- package/build/{esm → types}/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +8 -11
- package/build/types/object/convertWireToOsdkObjects/PropertyDescriptorRecord.d.ts +5 -0
- package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects/createOsdkInterface.test.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects/createOsdkObject.d.ts +1 -0
- package/build/{browser → types}/object/convertWireToOsdkObjects/getDollarAs.d.ts +0 -1
- package/build/types/object/convertWireToOsdkObjects/getDollarLink.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects.test.d.ts +1 -0
- package/build/types/object/fetchPage.d.ts +5 -0
- package/build/types/object/fetchPage.test.d.ts +1 -0
- package/build/types/object/fetchSingle.d.ts +1 -0
- package/build/types/object/geotimeseriesreference.test.d.ts +1 -0
- package/build/types/object/media.test.d.ts +1 -0
- package/build/{esm → types}/object/object.test.d.ts +0 -1
- package/build/types/object/timeseries.test.d.ts +1 -0
- package/build/types/objectSet/InterfaceObjectSet.test.d.ts +1 -0
- package/build/types/objectSet/ObjectSet.test.d.ts +7 -0
- package/build/types/objectSet/ObjectSetFactory.d.ts +1 -0
- package/build/types/objectSet/ObjectSetListenerWebsocket.d.ts +1 -0
- package/build/types/objectSet/ObjectSetListenerWebsocket.test.d.ts +1 -0
- package/build/types/objectSet/conjureUnionType.d.ts +11 -0
- package/build/types/objectSet/createObjectSet.d.ts +1 -0
- package/build/types/ontology/OntologyProvider.d.ts +27 -0
- package/build/{browser → types}/ontology/StandardOntologyProvider.d.ts +1 -3
- package/build/types/ontology/StandardOntologyProvider.test.d.ts +1 -0
- package/build/{browser → types}/ontology/loadActionMetadata.d.ts +0 -1
- package/build/{esm → types}/ontology/loadFullObjectMetadata.d.ts +1 -4
- package/build/{esm → types}/ontology/loadInterfaceMetadata.d.ts +0 -1
- package/build/{browser → types}/ontology/loadQueryMetadata.d.ts +0 -1
- package/build/{browser → types}/ontology/makeConjureContext.d.ts +0 -1
- package/build/types/pageRequestAsAsyncIter.d.ts +10 -0
- package/build/{browser → types}/public/internal.d.ts +0 -1
- package/build/{browser → types}/public/unstable-do-not-use.d.ts +0 -1
- package/build/{esm → types}/public-utils/createAndFetchTempObjectSetRid.d.ts +6 -7
- package/build/types/public-utils/hydrateAttachmentFromRid.d.ts +9 -0
- package/build/types/public-utils/hydrateObjectSetFromRid.d.ts +10 -0
- package/build/{browser → types}/queries/applyQuery.d.ts +4 -2
- package/build/types/queries/queries.test.d.ts +1 -0
- package/build/{esm → types}/queries/types.d.ts +3 -12
- package/build/{browser → types}/tsserver.d.ts +18 -18
- package/build/{browser → types}/util/ArrayElement.d.ts +0 -1
- package/build/types/util/NOOP.d.ts +1 -0
- package/build/types/util/NullableProps.d.ts +1 -0
- package/build/{browser → types}/util/UserAgent.d.ts +0 -1
- package/build/types/util/WireObjectSet.d.ts +1 -0
- package/build/{esm → types}/util/addUserAgentAndRequestContextHeaders.d.ts +0 -1
- package/build/{browser → types}/util/augmentRequestContext.d.ts +6 -7
- package/build/types/util/datetimeConverters.d.ts +21 -0
- package/build/types/util/datetimeConverters.test.d.ts +1 -0
- package/build/types/util/interfaceUtils.d.ts +1 -0
- package/build/types/util/isOntologyObjectV2.d.ts +1 -0
- package/build/{esm/util/isOsdkObject.d.ts → types/util/isOsdkBaseObject.d.ts} +0 -1
- package/build/{browser → types}/util/isOsdkObject.d.ts +0 -1
- package/build/{browser → types}/util/objectSetUtils.d.ts +0 -1
- package/build/types/util/partialBy.d.ts +8 -0
- package/build/{browser → types}/util/streamutils.d.ts +0 -1
- package/build/{browser → types}/util/timeseriesUtils.d.ts +2 -3
- package/build/types/util/toDataValue.d.ts +1 -0
- package/build/types/util/toDataValue.test.d.ts +1 -0
- package/build/types/util/toDataValueQueries.d.ts +1 -0
- package/index.d.ts +17 -0
- package/internal.d.ts +17 -0
- package/package.json +47 -16
- package/unstable-do-not-use.d.ts +1 -1
- package/build/browser/Client.d.ts +0 -23
- 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 -38
- package/build/browser/__unstable/ConjureSupport.d.ts.map +0 -1
- 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/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/createMediaReferenceProperty.d.ts +0 -14
- package/build/browser/createMediaReferenceProperty.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 -13
- 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.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.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.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 -18
- 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.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/media.test.d.ts +0 -2
- package/build/browser/object/media.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/InterfaceObjectSet.test.d.ts +0 -2
- package/build/browser/objectSet/InterfaceObjectSet.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/ontology/OntologyProvider.d.ts +0 -32
- package/build/browser/ontology/OntologyProvider.d.ts.map +0 -1
- 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.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.map +0 -1
- 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/internal.d.ts.map +0 -1
- package/build/browser/public/unstable-do-not-use.d.ts.map +0 -1
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts +0 -11
- package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts.map +0 -1
- package/build/browser/public-utils/hydrateAttachmentFromRid.d.ts +0 -10
- package/build/browser/public-utils/hydrateAttachmentFromRid.d.ts.map +0 -1
- package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts +0 -11
- package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts.map +0 -1
- 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.map +0 -1
- 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.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.map +0 -1
- package/build/browser/util/datetimeConverters.d.ts +0 -22
- package/build/browser/util/datetimeConverters.d.ts.map +0 -1
- package/build/browser/util/datetimeConverters.test.d.ts +0 -2
- package/build/browser/util/datetimeConverters.test.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.map +0 -1
- package/build/browser/util/objectSetUtils.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.map +0 -1
- 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 -23
- 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 -38
- 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.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/createMediaReferenceProperty.d.ts +0 -14
- package/build/esm/createMediaReferenceProperty.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 -13
- 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.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/media.test.d.ts +0 -2
- package/build/esm/object/media.test.d.ts.map +0 -1
- 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/InterfaceObjectSet.test.d.ts +0 -2
- package/build/esm/objectSet/InterfaceObjectSet.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/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.map +0 -1
- 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/internal.d.ts +0 -4
- package/build/esm/public/internal.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/public-utils/createAndFetchTempObjectSetRid.d.ts.map +0 -1
- package/build/esm/public-utils/hydrateAttachmentFromRid.d.ts +0 -10
- package/build/esm/public-utils/hydrateAttachmentFromRid.d.ts.map +0 -1
- package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts +0 -11
- package/build/esm/public-utils/hydrateObjectSetFromRid.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.map +0 -1
- package/build/esm/tsserver.d.ts +0 -32
- 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.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/datetimeConverters.d.ts +0 -22
- package/build/esm/util/datetimeConverters.d.ts.map +0 -1
- package/build/esm/util/datetimeConverters.test.d.ts +0 -2
- package/build/esm/util/datetimeConverters.test.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.map +0 -1
- package/build/esm/util/objectSetUtils.d.ts +0 -4
- package/build/esm/util/objectSetUtils.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSet.test.js","names":["isOk","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","$ontologyRid","BarInterface","BgaoNflPlayer","Employee","FooInterface","Office","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","client","listen","close","employeeObjectSet","officeObjectSet","union","subtract","intersect","objectSet","unionedObjectSet","iter","data","employees","fetchPage","emp","employeeId","toEqual","objectSet2","where","subtractedObjectSet","intersectedObjectSet","$orderBy","toMatchObject","$apiName","$objectType","$primaryKey","class","employeeStatus","anything","employeeSensor","fullName","office","startDate","employeeLocation","$title","employee","fetchOne","employee1","toMatchTypeOf","toBe","fetchOneByRid","$select","employee2","player","address1","address","addressLine1","address2","addressLine2","city","state","zipCode","travisPlayer","__primaryKey","employeeResult","fetchOneWithErrors","value","branded","toEqualTypeOf","rejects","toThrow","pivotTo","result","fetchPageWithErrors","$in","toBeDefined","employeeIdNonExistent","nonExistentProp","$or","$containsAllTerms","term","fuzzySearch","$containsAnyTerm","each","k","opts","$__EXPERIMENTAL_strictNonNull","$includeRid","toHaveLength","not","toBeUndefined","empNotStrict","cheesedFooNotStrict","$as","fooSpt"],"sources":["ObjectSet.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 { isOk } from \"@osdk/api\";\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid } from \"@osdk/api/unstable\";\nimport { $ontologyRid, BarInterface, BgaoNflPlayer, Employee, FooInterface, Office, } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"ObjectSet\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os) {\n return os;\n }\n function takesNewStyleObjectSet(os) {\n return os;\n }\n function maybe() {\n const newStyleObjectSet = client(Employee);\n const oldStyleObjectSet = newStyleObjectSet;\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n if (false) {\n // here for a simple type check\n maybe();\n }\n });\n it(\"objects set union\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const { data: employees } = await unionedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set subtract\", async () => {\n const objectSet = client(Employee);\n const objectSet2 = client(Employee).where({\n employeeId: 50030,\n });\n const subtractedObjectSet = objectSet.subtract(objectSet2);\n let iter = 0;\n const { data: employees } = await subtractedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50031 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set intersect\", async () => {\n const objectSet = client(Employee);\n const intersectedObjectSet = objectSet.intersect(objectSet);\n let iter = 0;\n const { data: employees } = await intersectedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50032);\n iter += 1;\n }\n expect(iter).toEqual(1);\n });\n it(\"orders objects in ascending order without a filter, and returns all results\", async () => {\n const { data: employees } = await client(Employee)\n .fetchPage({\n $orderBy: { \"employeeId\": \"asc\" },\n });\n expect(employees).toMatchObject([\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n class: \"Red\",\n employeeId: 50030,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"John Doe\",\n office: \"NYC\",\n startDate: \"2019-01-01\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $title: \"Jane Doe\",\n class: \"Blue\",\n employeeId: 50031,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"Jane Doe\",\n office: \"SEA\",\n startDate: \"2012-02-12\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50032,\n $title: \"Jack Smith\",\n class: \"Red\",\n employeeId: 50032,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"Jack Smith\",\n office: \"LON\",\n startDate: \"2015-05-15\",\n employeeLocation: expect.anything(),\n },\n ]);\n });\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by rid with experimental function\", async () => {\n const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, \"ri.employee.i.look.for\");\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by rid with experimental function, with select\", async () => {\n const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, \"ri.employee.i.look.for\", { $select: [\"fullName\"] });\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee2.employeeId);\n });\n it(\"check struct parsing\", async () => {\n const player = await client(BgaoNflPlayer).fetchOne(\"tkelce\");\n expectTypeOf().toMatchTypeOf;\n expectTypeOf().toMatchTypeOf;\n const address1 = player.address.addressLine1;\n expectTypeOf().toMatchTypeOf;\n expect(address1).toEqual(\"15 Muppets Lane\");\n const address2 = player.address?.addressLine2;\n expectTypeOf().toMatchTypeOf;\n expect(address2).toEqual(\"Resort No 4\");\n const city = player.address?.city;\n expectTypeOf().toMatchTypeOf;\n expect(city).toEqual(\"Memphis\");\n const state = player.address?.state;\n expectTypeOf().toMatchTypeOf;\n expect(state).toEqual(\"TN\");\n const zipCode = player.address?.zipCode;\n expectTypeOf().toMatchTypeOf;\n expect(zipCode).toEqual(11100);\n expect(player.$primaryKey).toEqual(stubData.travisPlayer.__primaryKey);\n expect(player.address).toEqual(stubData.travisPlayer.address);\n });\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a base object set with selected properties - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOne\", async () => {\n await expect(client(Employee).fetchOne(-1)).rejects\n .toThrow();\n });\n it(\"throws when fetching by PK with an object that does not exist - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(-1);\n expectTypeOf().branded.toEqualTypeOf;\n expect(\"error\" in employeeResult);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOne\", async () => {\n const employee = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOne(stubData.employee1.employeeId);\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a pivoted object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOneWithErrors(stubData.employee1.employeeId);\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\" object set union works with fetchPageWithErrors\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const result = await unionedObjectSet.fetchPageWithErrors();\n if (isOk(result)) {\n const employees = result.value.data;\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n }\n });\n it(\"allows $in filter with ReadonlyArrays\", () => {\n const ids = [50030, 50031];\n const objectSet = client(Employee).where({\n employeeId: { $in: ids },\n });\n expect(objectSet).toBeDefined();\n });\n it(\"does not allow arbitrary keys when no properties\", () => {\n const ids = [50030, 50031];\n client(Employee).where({\n // @ts-expect-error\n employeeIdNonExistent: { $in: ids },\n });\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n it(\"type checking containsallterm and containsanyterm\", () => {\n const ids = [50030, 50031];\n client(Employee).where({\n $or: [{ fullName: { $containsAllTerms: \"John Smith\" } }, {\n office: { $containsAllTerms: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAllTerms: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAllTerms: { fuzzySearch: false } },\n }],\n });\n client(Employee).where({\n $or: [{ fullName: { $containsAnyTerm: \"John Smith\" } }, {\n office: { $containsAnyTerm: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAnyTerm: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAnyTerm: { fuzzySearch: false } },\n }],\n });\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"])(\"%s\", (k) => {\n // describe(\"strictNonNull: \\\"drop\\\"\", () => {\n // describe(\"includeRid: true\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: true,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Osdk<Employee, \"$rid\" | \"$all\">\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<\"$rid\">\n // >();\n // });\n // });\n // describe(\"includeRid: false\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: false,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<Osdk<Employee>>();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<never>\n // >();\n // });\n // });\n // });\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $includeRid: false,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe.each([\"fetchOne\", \"fetchOneWithErrors\"])(\"%s\", (k) => {\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n // Look at this\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: false,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe(\"conversions\", () => {\n describe(\"strictNonNull: false\", () => {\n it(\"returns bad data\", async () => {\n const result = await client(Employee).fetchPage({});\n const empNotStrict = result.data[0];\n const empNotStrict2 = empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf();\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n const CheesedFoo = FooInterface;\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf();\n cheesedFooNotStrict.fooSpt;\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ObjectSet.test.js","names":["isOk","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","$ontologyRid","BarInterface","BgaoNflPlayer","Employee","FooInterface","Office","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","client","listen","close","employeeObjectSet","officeObjectSet","union","subtract","intersect","objectSet","unionedObjectSet","iter","data","employees","fetchPage","emp","employeeId","toEqual","objectSet2","where","subtractedObjectSet","intersectedObjectSet","$orderBy","toMatchObject","$apiName","$objectType","$primaryKey","class","employeeStatus","anything","employeeSensor","fullName","office","startDate","employeeLocation","$title","employee","fetchOne","employee1","toMatchTypeOf","toBe","fetchOneByRid","$select","employee2","player","address1","address","addressLine1","address2","addressLine2","city","state","zipCode","travisPlayer","__primaryKey","employeeResult","fetchOneWithErrors","value","branded","toEqualTypeOf","rejects","toThrow","pivotTo","result","fetchPageWithErrors","$in","toBeDefined","employeeIdNonExistent","nonExistentProp","$or","$containsAllTerms","term","fuzzySearch","$containsAnyTerm","each","k","opts","$__EXPERIMENTAL_strictNonNull","$includeRid","toHaveLength","not","toBeUndefined","empNotStrict","cheesedFooNotStrict","$as","fooSpt"],"sources":["ObjectSet.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 {\n CompileTimeMetadata,\n ConvertProps,\n InterfaceDefinition,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\nimport { isOk } from \"@osdk/api\";\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid } from \"@osdk/api/unstable\";\nimport {\n $ontologyRid,\n BarInterface,\n BgaoNflPlayer,\n Employee,\n FooInterface,\n Office,\n} from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport {\n afterAll,\n beforeAll,\n describe,\n expect,\n expectTypeOf,\n it,\n} from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ntype ApiNameAsString<\n T extends ObjectOrInterfaceDefinition,\n> = CompileTimeMetadata<T>[\"apiName\"];\n\ntype JustProps<\n T extends ObjectOrInterfaceDefinition,\n P extends ValidOsdkPropParams<T>,\n> = P extends \"$all\" ? PropertyKeys<T>\n : Exclude<P, SpecialOsdkPropParams>;\n\ntype SpecialOsdkPropParams =\n | \"$all\"\n | \"$rid\"\n | \"$strict\"\n | \"$notStrict\";\n\ntype ValidOsdkPropParams<Q extends ObjectOrInterfaceDefinition> =\n | SpecialOsdkPropParams\n | PropertyKeys<Q>;\n\ntype PropMapToInterface<\n FROM extends ObjectTypeDefinition,\n TO extends InterfaceDefinition,\n> = NonNullable<\n CompileTimeMetadata<FROM>[\"inverseInterfaceMap\"]\n>[ApiNameAsString<TO>];\n\nexport type PropMapToObject<\n FROM extends ObjectOrInterfaceDefinition,\n TO extends ObjectTypeDefinition,\n> = NonNullable<CompileTimeMetadata<TO>[\"interfaceMap\"]>[ApiNameAsString<FROM>];\n\ndescribe(\"ObjectSet\", () => {\n let client: Client;\n\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\n \"https://stack.palantir.com\",\n $ontologyRid,\n async () => \"myAccessToken\",\n );\n });\n\n afterAll(() => {\n apiServer.close();\n });\n\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os: ObjectSet<Employee>) {\n return os;\n }\n\n function takesNewStyleObjectSet(os: Employee.ObjectSet) {\n return os;\n }\n\n function maybe() {\n const newStyleObjectSet: Employee.ObjectSet = client(Employee);\n const oldStyleObjectSet: ObjectSet<Employee> = newStyleObjectSet;\n\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n\n if (false) {\n // here for a simple type check\n maybe();\n }\n });\n\n it(\"objects set union\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const { data: employees } = await unionedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n\n it(\"objects set subtract\", async () => {\n const objectSet = client(Employee);\n const objectSet2 = client(Employee).where({\n employeeId: 50030,\n });\n const subtractedObjectSet = objectSet.subtract(objectSet2);\n let iter = 0;\n const { data: employees } = await subtractedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50031 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n\n it(\"objects set intersect\", async () => {\n const objectSet = client(Employee);\n const intersectedObjectSet = objectSet.intersect(objectSet);\n let iter = 0;\n const { data: employees } = await intersectedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50032);\n iter += 1;\n }\n expect(iter).toEqual(1);\n });\n\n it(\"orders objects in ascending order without a filter, and returns all results\", async () => {\n const { data: employees } = await client(Employee)\n .fetchPage({\n $orderBy: { \"employeeId\": \"asc\" },\n });\n expect(employees).toMatchObject([\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n class: \"Red\",\n employeeId: 50030,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"John Doe\",\n office: \"NYC\",\n startDate: \"2019-01-01\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $title: \"Jane Doe\",\n class: \"Blue\",\n employeeId: 50031,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"Jane Doe\",\n office: \"SEA\",\n startDate: \"2012-02-12\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50032,\n $title: \"Jack Smith\",\n class: \"Red\",\n employeeId: 50032,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"Jack Smith\",\n office: \"LON\",\n startDate: \"2015-05-15\",\n employeeLocation: expect.anything(),\n },\n ]);\n });\n\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(\n stubData.employee1.employeeId,\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, PropertyKeys<Employee>>\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by rid with experimental function\", async () => {\n const employee = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n ).fetchOneByRid(\n Employee,\n \"ri.employee.i.look.for\",\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, PropertyKeys<Employee>>\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by rid with experimental function, with select\", async () => {\n const employee = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n ).fetchOneByRid(\n Employee,\n \"ri.employee.i.look.for\",\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, \"fullName\">\n >;\n expect(employee.$primaryKey).toBe(stubData.employee2.employeeId);\n });\n it(\"check struct parsing\", async () => {\n const player = await client(BgaoNflPlayer).fetchOne(\n \"tkelce\",\n );\n expectTypeOf<typeof player>().toMatchTypeOf<\n Osdk<BgaoNflPlayer, PropertyKeys<BgaoNflPlayer>>\n >;\n expectTypeOf<typeof player.address>().toMatchTypeOf<\n {\n addressLine1: string | undefined;\n addressLine2: string | undefined;\n city: string | undefined;\n state: string | undefined;\n zipCode: number | undefined;\n } | undefined\n >;\n\n const address1 = player.address!.addressLine1;\n expectTypeOf<typeof address1>().toMatchTypeOf<\n string | undefined\n >;\n expect(address1).toEqual(\"15 Muppets Lane\");\n\n const address2 = player.address?.addressLine2;\n expectTypeOf<typeof address2>().toMatchTypeOf<\n string | undefined\n >;\n expect(address2).toEqual(\"Resort No 4\");\n\n const city = player.address?.city;\n expectTypeOf<typeof city>().toMatchTypeOf<\n string | undefined\n >;\n expect(city).toEqual(\"Memphis\");\n\n const state = player.address?.state;\n expectTypeOf<typeof state>().toMatchTypeOf<\n string | undefined\n >;\n expect(state).toEqual(\"TN\");\n\n const zipCode = player.address?.zipCode;\n expectTypeOf<typeof zipCode>().toMatchTypeOf<\n number | undefined\n >;\n expect(zipCode).toEqual(11100);\n\n expect(player.$primaryKey).toEqual(stubData.travisPlayer.__primaryKey);\n expect(player.address).toEqual(stubData.travisPlayer.address);\n });\n\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(\n stubData.employee1.employeeId,\n );\n expectTypeOf<typeof employeeResult>().toMatchTypeOf<\n Result<Osdk<Employee, PropertyKeys<Employee>>>\n >;\n\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n\n it(\"allows fetching by PK from a base object set with selected properties - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(\n stubData.employee1.employeeId,\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employee>().branded.toEqualTypeOf<\n Osdk<Employee, \"fullName\">\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by PK from a base object set with selected properties - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(\n stubData.employee1.employeeId,\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employeeResult>().branded.toEqualTypeOf<\n Result<Osdk<Employee, \"fullName\">>\n >;\n\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n\n it(\"throws when fetching by PK with an object that does not exist - fetchOne\", async () => {\n await expect(client(Employee).fetchOne(-1)).rejects\n .toThrow();\n });\n\n it(\"throws when fetching by PK with an object that does not exist - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(-1);\n\n expectTypeOf<typeof employeeResult>().branded.toEqualTypeOf<\n Result<Osdk<Employee>>\n >;\n\n expect(\"error\" in employeeResult);\n });\n\n it(\"allows fetching by PK from a pivoted object set - fetchOne\", async () => {\n const employee = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOne(stubData.employee1.employeeId);\n\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by PK from a pivoted object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOneWithErrors(stubData.employee1.employeeId);\n\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n\n it(\" object set union works with fetchPageWithErrors\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const result = await unionedObjectSet.fetchPageWithErrors();\n if (isOk(result)) {\n const employees = result.value.data;\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n }\n });\n\n it(\"allows $in filter with ReadonlyArrays\", () => {\n const ids: ReadonlyArray<number> = [50030, 50031];\n const objectSet = client(Employee).where({\n employeeId: { $in: ids },\n });\n expect(objectSet).toBeDefined();\n });\n\n it(\"does not allow arbitrary keys when no properties\", () => {\n const ids: ReadonlyArray<number> = [50030, 50031];\n client(Employee).where({\n // @ts-expect-error\n employeeIdNonExistent: { $in: ids },\n });\n\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n\n it(\"type checking containsallterm and containsanyterm\", () => {\n const ids: ReadonlyArray<number> = [50030, 50031];\n client(Employee).where({\n $or: [{ fullName: { $containsAllTerms: \"John Smith\" } }, {\n office: { $containsAllTerms: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAllTerms: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAllTerms: { fuzzySearch: false } },\n }],\n });\n\n client(Employee).where({\n $or: [{ fullName: { $containsAnyTerm: \"John Smith\" } }, {\n office: { $containsAnyTerm: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAnyTerm: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAnyTerm: { fuzzySearch: false } },\n }],\n });\n\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"] as const)(\"%s\", (k) => {\n // describe(\"strictNonNull: \\\"drop\\\"\", () => {\n // describe(\"includeRid: true\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: true,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Osdk<Employee, \"$rid\" | \"$all\">\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<\"$rid\">\n // >();\n // });\n // });\n\n // describe(\"includeRid: false\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: false,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<Osdk<Employee>>();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<never>\n // >();\n // });\n // });\n // });\n\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n } as const;\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\" | \"$rid\">\n >();\n });\n });\n\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $includeRid: false,\n } as const;\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\">\n >();\n });\n });\n });\n });\n\n describe.each([\"fetchOne\", \"fetchOneWithErrors\"] as const)(\"%s\", (k) => {\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n // Look at this\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n } as const;\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;\n\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\" | \"$rid\">\n >();\n });\n });\n\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: false,\n } as const;\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;\n\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\">\n >();\n });\n });\n });\n });\n\n describe(\"conversions\", () => {\n describe(\"strictNonNull: false\", () => {\n it(\"returns bad data\", async () => {\n const result = await client(Employee).fetchPage({});\n\n const empNotStrict = result.data[0];\n const empNotStrict2: Osdk<Employee, \"$all\" | \"$notStrict\"> =\n empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\">\n >();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Employee.OsdkObject<never, Employee.PropertyKeys>\n >();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Employee.OsdkObject<never>\n >();\n\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf<\n number\n >();\n\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf<\n number\n >();\n\n expectTypeOf<ApiNameAsString<FooInterface>>()\n .toEqualTypeOf<\"FooInterface\">();\n\n expectTypeOf<\n NonNullable<CompileTimeMetadata<Employee>[\"interfaceMap\"]>\n >()\n .toEqualTypeOf<{\n FooInterface: {\n fooSpt: \"fullName\";\n };\n }>();\n\n expectTypeOf<PropMapToInterface<Employee, FooInterface>>()\n .toEqualTypeOf<{ fullName: \"fooSpt\" }>();\n\n expectTypeOf<PropMapToObject<FooInterface, Employee>>()\n .toEqualTypeOf<{ fooSpt: \"fullName\" }>();\n\n expectTypeOf<ConvertProps<Employee, FooInterface, \"fullName\">>()\n .toEqualTypeOf<\"fooSpt\">();\n\n expectTypeOf<JustProps<Employee, \"$all\">>()\n .toEqualTypeOf<\n | \"class\"\n | \"fullName\"\n | \"office\"\n | \"employeeId\"\n | \"employeeStatus\"\n | \"startDate\"\n | \"employeeLocation\"\n | \"employeeSensor\"\n >();\n\n expectTypeOf<\n ConvertProps<Employee, FooInterface, \"fullName\" | \"office\">\n >()\n .toEqualTypeOf<\"fooSpt\">();\n\n expectTypeOf<ConvertProps<FooInterface, Employee, \"fooSpt\">>()\n .toEqualTypeOf<\"fullName\">();\n\n // We don't have a proper definition that has\n // a non-null property on an interface so\n // we cheese it here to be sure the types work\n type CheesedProp<\n T extends InterfaceDefinition,\n K extends PropertyKeys<T>,\n > = T & { properties: { [KK in K]: { nullable: false } } };\n\n type CheesedFoo = CheesedProp<FooInterface, \"fooSpt\">;\n const CheesedFoo: CheesedFoo = FooInterface as CheesedFoo;\n\n type T = ConvertProps<Employee, CheesedFoo, \"fullName\">;\n\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf<\n Osdk<CheesedFoo, \"$all\" | \"$notStrict\">\n >();\n\n cheesedFooNotStrict.fooSpt;\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,17 +1,2 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2024 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
1
|
export {};
|
|
17
2
|
//# sourceMappingURL=ObjectSetFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSetFactory.js","names":[],"sources":["ObjectSetFactory.
|
|
1
|
+
{"version":3,"file":"ObjectSetFactory.js","names":[],"sources":["ObjectSetFactory.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 { ObjectOrInterfaceDefinition, ObjectSet } from \"@osdk/api\";\nimport type { ObjectSet as WireObjectSet } from \"@osdk/internal.foundry.core\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\n/** @internal */\nexport type ObjectSetFactory<\n Q extends ObjectOrInterfaceDefinition,\n R extends ObjectSet<Q>,\n> = (\n type: Q,\n clientCtx: MinimalClient,\n objectSet?: WireObjectSet,\n) => R;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -13,11 +13,14 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
|
|
16
17
|
import WebSocket from "isomorphic-ws";
|
|
17
18
|
import invariant from "tiny-invariant";
|
|
18
19
|
const MINIMUM_RECONNECT_DELAY_MS = 5 * 1000;
|
|
20
|
+
|
|
19
21
|
/** Noop function to reduce conditional checks */
|
|
20
22
|
function doNothing() {}
|
|
23
|
+
|
|
21
24
|
/**
|
|
22
25
|
* Converts an ObjectSetListener to one where all the functions are defined.
|
|
23
26
|
*/
|
|
@@ -40,10 +43,10 @@ function isReady(sub) {
|
|
|
40
43
|
function subscriptionIsDone(sub) {
|
|
41
44
|
return sub.status === "done" || sub.status === "error";
|
|
42
45
|
}
|
|
46
|
+
|
|
43
47
|
/** @internal */
|
|
44
48
|
export class ObjectSetListenerWebsocket {
|
|
45
49
|
static #instances = new WeakMap();
|
|
46
|
-
MINIMUM_RECONNECT_DELAY_MS;
|
|
47
50
|
// FIXME
|
|
48
51
|
static getInstance(client) {
|
|
49
52
|
let instance = ObjectSetListenerWebsocket.#instances.get(client.clientCacheKey);
|
|
@@ -57,10 +60,12 @@ export class ObjectSetListenerWebsocket {
|
|
|
57
60
|
#lastWsConnect = 0;
|
|
58
61
|
#client;
|
|
59
62
|
#logger;
|
|
63
|
+
|
|
60
64
|
/**
|
|
61
65
|
* map of requestId to all active subscriptions at the time of the request
|
|
62
66
|
*/
|
|
63
67
|
#pendingSubscriptions = new Map();
|
|
68
|
+
|
|
64
69
|
/**
|
|
65
70
|
* Map of subscriptionId to Subscription. Note: the subscriptionId may be
|
|
66
71
|
* temporary and not the actual subscriptionId from the server.
|
|
@@ -68,6 +73,7 @@ export class ObjectSetListenerWebsocket {
|
|
|
68
73
|
#subscriptions = new Map();
|
|
69
74
|
#endedSubscriptions = new Set();
|
|
70
75
|
#maybeDisconnectTimeout;
|
|
76
|
+
|
|
71
77
|
// DO NOT CONSTRUCT DIRECTLY. ONLY EXPOSED AS A TESTING SEAM
|
|
72
78
|
constructor(client, {
|
|
73
79
|
minimumReconnectDelayMs = MINIMUM_RECONNECT_DELAY_MS
|
|
@@ -106,6 +112,7 @@ export class ObjectSetListenerWebsocket {
|
|
|
106
112
|
interfaceApiName: objDef.type === "object" ? undefined : objDef.apiName
|
|
107
113
|
};
|
|
108
114
|
this.#subscriptions.set(sub.subscriptionId, sub);
|
|
115
|
+
|
|
109
116
|
// actually prepares the subscription, ensures the ws is ready, and sends
|
|
110
117
|
// a subscribe message. We don't want to block on this.
|
|
111
118
|
void this.#initiateSubscribe(sub);
|
|
@@ -113,6 +120,7 @@ export class ObjectSetListenerWebsocket {
|
|
|
113
120
|
this.#unsubscribe(sub);
|
|
114
121
|
};
|
|
115
122
|
}
|
|
123
|
+
|
|
116
124
|
/**
|
|
117
125
|
* Called at least once for every subscription.
|
|
118
126
|
*
|
|
@@ -128,6 +136,7 @@ export class ObjectSetListenerWebsocket {
|
|
|
128
136
|
}
|
|
129
137
|
try {
|
|
130
138
|
await this.#ensureWebsocket();
|
|
139
|
+
|
|
131
140
|
// the consumer may have already unsubscribed before we are ready to request a subscription
|
|
132
141
|
// so we have to acquire the pendingSubscription after the await.
|
|
133
142
|
if (subscriptionIsDone(sub)) {
|
|
@@ -154,6 +163,7 @@ export class ObjectSetListenerWebsocket {
|
|
|
154
163
|
const id = nextUuid();
|
|
155
164
|
// responses come back as an array of subIds, so we need to know the sources
|
|
156
165
|
this.#pendingSubscriptions.set(id, readySubs);
|
|
166
|
+
|
|
157
167
|
// every subscribe message "overwrites" the previous ones that are not
|
|
158
168
|
// re-included, so we have to reconstitute the entire list of subscriptions
|
|
159
169
|
const subscribe = {
|
|
@@ -184,11 +194,13 @@ export class ObjectSetListenerWebsocket {
|
|
|
184
194
|
return;
|
|
185
195
|
}
|
|
186
196
|
sub.status = newStatus;
|
|
197
|
+
|
|
187
198
|
// make sure listeners do nothing now
|
|
188
199
|
sub.listener = fillOutListener({});
|
|
189
200
|
this.#subscriptions.delete(sub.subscriptionId);
|
|
190
201
|
this.#endedSubscriptions.add(sub.subscriptionId);
|
|
191
202
|
this.#sendSubscribeMessage();
|
|
203
|
+
|
|
192
204
|
// If we have no more subscriptions, we can disconnect the websocket
|
|
193
205
|
// however we should wait a bit to see if we get any more subscriptions.
|
|
194
206
|
// For example, when switching between react views, you may unsubscribe
|
|
@@ -220,6 +232,7 @@ export class ObjectSetListenerWebsocket {
|
|
|
220
232
|
} = this.#client;
|
|
221
233
|
const url = constructWebsocketUrl(baseUrl, await this.#client.ontologyRid);
|
|
222
234
|
const token = await tokenProvider();
|
|
235
|
+
|
|
223
236
|
// tokenProvider is async, there could potentially be a race to create the websocket.
|
|
224
237
|
// Only the first call to reach here will find a null this.#ws, the rest will bail out
|
|
225
238
|
if (this.#ws == null) {
|
|
@@ -232,6 +245,7 @@ export class ObjectSetListenerWebsocket {
|
|
|
232
245
|
});
|
|
233
246
|
}
|
|
234
247
|
this.#lastWsConnect = Date.now();
|
|
248
|
+
|
|
235
249
|
// we again may have lost the race after our minimum backoff time
|
|
236
250
|
if (this.#ws == null) {
|
|
237
251
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -428,6 +442,7 @@ export class ObjectSetListenerWebsocket {
|
|
|
428
442
|
}
|
|
429
443
|
this.#ws = undefined;
|
|
430
444
|
}
|
|
445
|
+
|
|
431
446
|
// if we have any listeners that are still depending on us, go ahead and reopen the websocket
|
|
432
447
|
if (this.#subscriptions.size > 0) {
|
|
433
448
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -438,6 +453,7 @@ export class ObjectSetListenerWebsocket {
|
|
|
438
453
|
for (const s of this.#subscriptions.values()) {
|
|
439
454
|
if (s.status === "subscribed") s.status = "reconnecting";
|
|
440
455
|
}
|
|
456
|
+
|
|
441
457
|
// we don't care about the result of this (we want cycleWebsocket to be fire and forget)
|
|
442
458
|
// just that it happens
|
|
443
459
|
void this.#ensureWebsocket();
|
|
@@ -464,6 +480,7 @@ export class ObjectSetListenerWebsocket {
|
|
|
464
480
|
}
|
|
465
481
|
};
|
|
466
482
|
}
|
|
483
|
+
|
|
467
484
|
/** @internal */
|
|
468
485
|
export function constructWebsocketUrl(baseUrl, ontologyRid) {
|
|
469
486
|
const base = new URL(baseUrl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSetListenerWebsocket.js","names":["WebSocket","invariant","MINIMUM_RECONNECT_DELAY_MS","doNothing","fillOutListener","onChange","onError","onOutOfDate","onSuccessfulSubscription","isReady","sub","subscriptionIsDone","status","ObjectSetListenerWebsocket","instances","WeakMap","getInstance","client","instance","get","clientCacheKey","set","ws","lastWsConnect","logger","pendingSubscriptions","Map","subscriptions","endedSubscriptions","Set","maybeDisconnectTimeout","constructor","minimumReconnectDelayMs","child","msgPrefix","baseUrl","startsWith","process","env","NODE_ENV","subscribe","objectType","objectSet","listener","properties","objDef","type","ontologyProvider","getObjectDefinition","apiName","getInterfaceDefinition","objectProperties","referenceProperties","length","Object","keys","filter","p","primaryKeyPropertyName","undefined","primaryKeyApiName","requestedProperties","requestedReferenceProperties","subscriptionId","nextUuid","interfaceApiName","initiateSubscribe","unsubscribe","#initiateSubscribe","trace","ensureWebsocket","readyState","OPEN","sendSubscribeMessage","error","tryCatchOnError","#sendSubscribeMessage","readySubs","values","id","requests","map","propertySet","referenceSet","payload","send","JSON","stringify","#unsubscribe","newStatus","delete","add","clearTimeout","setTimeout","size","cycleWebsocket","#ensureWebsocket","tokenProvider","url","constructWebsocketUrl","ontologyRid","token","nextConnectTime","Date","now","Promise","resolve","addEventListener","onClose","onMessage","onOpen","CONNECTING","reject","cleanup","removeEventListener","open","evt","#onOpen","message","data","parse","toString","handleMessage_objectSetChanged","handleMessage_refreshObjectSet","handleMessage_subscribeResponses","handleMessage_subscriptionClosed","objectUpdates","updates","update","referenceUpdates","osdkObjectsWithReferenceUpdates","all","o","osdkObjectArray","objectFactory","__apiName","__primaryKey","primaryKey","property","value","singleOsdkObject","object","state","osdkObject","osdkObjects","keysToDelete","key","includes","responses","subs","i","response","errors","shouldFireOutOfDate","#handleMessage_subscriptionClosed","has","cause","event","#cycleWebsocket","CLOSING","CLOSED","close","s","#tryCatchOnError","subscriptionClosed","onErrorError","console","base","URL","protocol","replace","uuidCounter","padStart"],"sources":["ObjectSetListenerWebsocket.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 WebSocket from \"isomorphic-ws\";\nimport invariant from \"tiny-invariant\";\nconst MINIMUM_RECONNECT_DELAY_MS = 5 * 1000;\n/** Noop function to reduce conditional checks */\nfunction doNothing() { }\n/**\n * Converts an ObjectSetListener to one where all the functions are defined.\n */\nfunction fillOutListener({ onChange = doNothing, onError = doNothing, onOutOfDate = doNothing, onSuccessfulSubscription = doNothing, }) {\n return { onChange, onError, onOutOfDate, onSuccessfulSubscription };\n}\nfunction isReady(sub) {\n return sub.isReady != null;\n}\nfunction subscriptionIsDone(sub) {\n return sub.status === \"done\" || sub.status === \"error\";\n}\n/** @internal */\nexport class ObjectSetListenerWebsocket {\n static #instances = new WeakMap();\n MINIMUM_RECONNECT_DELAY_MS;\n // FIXME\n static getInstance(client) {\n let instance = ObjectSetListenerWebsocket.#instances.get(client.clientCacheKey);\n if (instance == null) {\n instance = new ObjectSetListenerWebsocket(client);\n ObjectSetListenerWebsocket.#instances.set(client.clientCacheKey, instance);\n }\n return instance;\n }\n #ws;\n #lastWsConnect = 0;\n #client;\n #logger;\n /**\n * map of requestId to all active subscriptions at the time of the request\n */\n #pendingSubscriptions = new Map();\n /**\n * Map of subscriptionId to Subscription. Note: the subscriptionId may be\n * temporary and not the actual subscriptionId from the server.\n */\n #subscriptions = new Map();\n #endedSubscriptions = new Set();\n #maybeDisconnectTimeout;\n // DO NOT CONSTRUCT DIRECTLY. ONLY EXPOSED AS A TESTING SEAM\n constructor(client, { minimumReconnectDelayMs = MINIMUM_RECONNECT_DELAY_MS, } = {}) {\n this.MINIMUM_RECONNECT_DELAY_MS = minimumReconnectDelayMs;\n this.#client = client;\n this.#logger = client.logger?.child({}, {\n msgPrefix: \"<OSW> \",\n });\n invariant(client.baseUrl.startsWith(\"https://\")\n || client.baseUrl.startsWith(\"http://\"), \"Stack must be a URL\");\n }\n async subscribe(objectType, objectSet, listener, properties = []) {\n const objDef = objectType.type === \"object\"\n ? await this.#client.ontologyProvider.getObjectDefinition(objectType.apiName)\n : await this.#client.ontologyProvider.getInterfaceDefinition(objectType.apiName);\n let objectProperties = [];\n let referenceProperties = [];\n if (objectType.type === \"object\") {\n if (properties.length === 0) {\n properties = Object.keys(objDef.properties);\n }\n objectProperties = properties.filter((p) => objDef.properties[p].type !== \"geotimeSeriesReference\");\n referenceProperties = properties.filter((p) => objDef.properties[p].type === \"geotimeSeriesReference\");\n }\n else {\n objectProperties = [];\n referenceProperties = properties;\n }\n const sub = {\n listener: fillOutListener(listener),\n objectSet,\n primaryKeyPropertyName: objDef.type === \"interface\"\n ? undefined\n : objDef.primaryKeyApiName,\n requestedProperties: objectProperties,\n requestedReferenceProperties: referenceProperties,\n status: \"preparing\",\n // Since we don't have a real subscription id yet but we need to keep\n // track of this reference, we can just use a random uuid.\n subscriptionId: `TMP-${nextUuid()}}`,\n interfaceApiName: objDef.type === \"object\"\n ? undefined\n : objDef.apiName,\n };\n this.#subscriptions.set(sub.subscriptionId, sub);\n // actually prepares the subscription, ensures the ws is ready, and sends\n // a subscribe message. We don't want to block on this.\n void this.#initiateSubscribe(sub);\n return () => {\n this.#unsubscribe(sub);\n };\n }\n /**\n * Called at least once for every subscription.\n *\n * - Resets pending expiry\n * - Recreates temporary object set\n * - Triggers a full subscribe message\n *\n * @returns\n */\n async #initiateSubscribe(sub) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace(\"#initiateSubscribe()\");\n }\n try {\n await this.#ensureWebsocket();\n // the consumer may have already unsubscribed before we are ready to request a subscription\n // so we have to acquire the pendingSubscription after the await.\n if (subscriptionIsDone(sub)) {\n return;\n }\n sub.isReady = true;\n // if we aren't open, then this happens after we #onConnect\n if (this.#ws?.readyState === WebSocket.OPEN) {\n this.#sendSubscribeMessage();\n }\n }\n catch (error) {\n this.#logger?.error(error, \"Error in #initiateSubscribe\");\n this.#tryCatchOnError(sub, true, error);\n }\n }\n #sendSubscribeMessage() {\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace(\"#sendSubscribeMessage()\");\n }\n // If two calls to `.subscribe()` happen at once (or if the connection is reset),\n // we may have multiple subscriptions that don't have a subscriptionId yet,\n // so we filter those out.\n const readySubs = [...this.#subscriptions.values()].filter(isReady);\n const id = nextUuid();\n // responses come back as an array of subIds, so we need to know the sources\n this.#pendingSubscriptions.set(id, readySubs);\n // every subscribe message \"overwrites\" the previous ones that are not\n // re-included, so we have to reconstitute the entire list of subscriptions\n const subscribe = {\n id,\n requests: readySubs.map(({ objectSet, requestedProperties, requestedReferenceProperties, interfaceApiName, }) => {\n return {\n objectSet: objectSet,\n propertySet: requestedProperties,\n referenceSet: requestedReferenceProperties,\n };\n }),\n };\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace({ payload: subscribe }, \"sending subscribe message\");\n }\n this.#ws?.send(JSON.stringify(subscribe));\n }\n #unsubscribe(sub, newStatus = \"done\") {\n if (subscriptionIsDone(sub)) {\n // if we are already done, we don't need to do anything\n return;\n }\n sub.status = newStatus;\n // make sure listeners do nothing now\n sub.listener = fillOutListener({});\n this.#subscriptions.delete(sub.subscriptionId);\n this.#endedSubscriptions.add(sub.subscriptionId);\n this.#sendSubscribeMessage();\n // If we have no more subscriptions, we can disconnect the websocket\n // however we should wait a bit to see if we get any more subscriptions.\n // For example, when switching between react views, you may unsubscribe\n // in the old view and subscribe in the new view. We don't need to re-establish\n // the websocket connection in that case.\n if (this.#maybeDisconnectTimeout) {\n // We reset the timeout on every unsubscribe so its always at least 15s from\n // the last time we are empty. E.g.:\n // - 0s: Subscribe(A)\n // - 10s: Unsubscribe(A)\n // - 11s: Subscribe(B)\n // - 20s: Unsubscribe(B)\n // If we do not clear out the timeout we would disconnect at 25s but that would only be\n // 5s after the last subscription was removed instead of at 35s for the desired 15s.\n clearTimeout(this.#maybeDisconnectTimeout);\n }\n this.#maybeDisconnectTimeout = setTimeout(() => {\n this.#maybeDisconnectTimeout = undefined;\n if (this.#subscriptions.size === 0) {\n this.#cycleWebsocket();\n }\n }, 15_000 /* ms */);\n }\n async #ensureWebsocket() {\n if (this.#ws == null) {\n const { baseUrl, tokenProvider } = this.#client;\n const url = constructWebsocketUrl(baseUrl, await this.#client.ontologyRid);\n const token = await tokenProvider();\n // tokenProvider is async, there could potentially be a race to create the websocket.\n // Only the first call to reach here will find a null this.#ws, the rest will bail out\n if (this.#ws == null) {\n // TODO this can probably be exponential backoff with jitter\n // don't reconnect more quickly than MINIMUM_RECONNECT_DELAY\n const nextConnectTime = (this.#lastWsConnect ?? 0)\n + this.MINIMUM_RECONNECT_DELAY_MS;\n if (nextConnectTime > Date.now()) {\n await new Promise((resolve) => {\n setTimeout(resolve, nextConnectTime - Date.now());\n });\n }\n this.#lastWsConnect = Date.now();\n // we again may have lost the race after our minimum backoff time\n if (this.#ws == null) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace(\"Creating websocket\");\n }\n this.#ws = new WebSocket(url, [`Bearer-${token}`]);\n this.#ws.addEventListener(\"close\", this.#onClose);\n this.#ws.addEventListener(\"message\", this.#onMessage);\n this.#ws.addEventListener(\"open\", this.#onOpen);\n }\n }\n // Allow await-ing the websocket open event if it isn't open already.\n // This needs to happen even for callers that didn't just create this.#ws\n if (this.#ws.readyState === WebSocket.CONNECTING) {\n const ws = this.#ws;\n return new Promise((resolve, reject) => {\n function cleanup() {\n ws.removeEventListener(\"open\", open);\n ws.removeEventListener(\"error\", error);\n ws.removeEventListener(\"close\", cleanup);\n }\n function open() {\n cleanup();\n resolve();\n }\n function error(evt) {\n cleanup();\n reject(evt);\n }\n ws.addEventListener(\"open\", open);\n ws.addEventListener(\"error\", error);\n ws.addEventListener(\"close\", cleanup);\n });\n }\n }\n }\n #onOpen = () => {\n // resubscribe all of the listeners\n this.#sendSubscribeMessage();\n };\n #onMessage = async (message) => {\n const data = JSON.parse(message.data.toString());\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace({ payload: data }, \"received message from ws\");\n }\n switch (data.type) {\n case \"objectSetChanged\":\n return void this.#handleMessage_objectSetChanged(data);\n case \"refreshObjectSet\":\n return void this.#handleMessage_refreshObjectSet(data);\n case \"subscribeResponses\":\n return void this.#handleMessage_subscribeResponses(data);\n case \"subscriptionClosed\": {\n return void this.#handleMessage_subscriptionClosed(data);\n }\n default:\n const _ = data;\n invariant(false, \"Unexpected message type\");\n }\n };\n #handleMessage_objectSetChanged = async (payload) => {\n const sub = this.#subscriptions.get(payload.id);\n if (sub == null)\n return;\n const objectUpdates = payload.updates.filter((update) => update.type === \"object\");\n const referenceUpdates = payload.updates.filter((update) => update.type === \"reference\");\n const osdkObjectsWithReferenceUpdates = await Promise.all(referenceUpdates.map(async (o) => {\n const osdkObjectArray = await this.#client.objectFactory(this.#client, [{\n __apiName: o.objectType,\n __primaryKey: sub.primaryKeyPropertyName != null\n ? o.primaryKey[sub.primaryKeyPropertyName]\n : undefined,\n ...o.primaryKey,\n [o.property]: o.value,\n }], sub.interfaceApiName);\n const singleOsdkObject = osdkObjectArray[0] ?? undefined;\n return singleOsdkObject != null\n ? {\n object: singleOsdkObject,\n state: \"ADDED_OR_UPDATED\",\n }\n : undefined;\n }));\n for (const osdkObject of osdkObjectsWithReferenceUpdates) {\n if (osdkObject != null) {\n try {\n sub.listener.onChange?.(osdkObject);\n }\n catch (error) {\n this.#logger?.error(error, \"Error in onChange callback\");\n this.#tryCatchOnError(sub, false, error);\n }\n }\n }\n const osdkObjects = await Promise.all(objectUpdates.map(async (o) => {\n const keysToDelete = Object.keys(o.object).filter((key) => sub.requestedReferenceProperties.includes(key));\n for (const key of keysToDelete) {\n delete o.object[key];\n }\n const osdkObjectArray = await this.#client.objectFactory(this.#client, [o.object], sub.interfaceApiName);\n const singleOsdkObject = osdkObjectArray[0] ?? undefined;\n return singleOsdkObject != null\n ? {\n object: singleOsdkObject,\n state: o.state,\n }\n : undefined;\n }));\n for (const osdkObject of osdkObjects) {\n if (osdkObject != null) {\n try {\n sub.listener.onChange?.(osdkObject);\n }\n catch (error) {\n this.#logger?.error(error, \"Error in onChange callback\");\n this.#tryCatchOnError(sub, false, error);\n }\n }\n }\n };\n #handleMessage_refreshObjectSet = (payload) => {\n const sub = this.#subscriptions.get(payload.id);\n invariant(sub, `Expected subscription id ${payload.id}`);\n try {\n sub.listener.onOutOfDate();\n }\n catch (error) {\n this.#logger?.error(error, \"Error in onOutOfDate callback\");\n this.#tryCatchOnError(sub, false, error);\n }\n };\n #handleMessage_subscribeResponses = (payload) => {\n const { id, responses } = payload;\n const subs = this.#pendingSubscriptions.get(id);\n invariant(subs, `should have a pending subscription for ${id}`);\n this.#pendingSubscriptions.delete(id);\n for (let i = 0; i < responses.length; i++) {\n const sub = subs[i];\n const response = responses[i];\n switch (response.type) {\n case \"error\":\n this.#tryCatchOnError(sub, true, response.errors);\n this.#unsubscribe(sub, \"error\");\n break;\n case \"qos\":\n // the server has requested that we tear down our websocket and reconnect to help load balance\n this.#cycleWebsocket();\n break;\n case \"success\":\n // `\"preparing\"` should only be the status on an initial subscribe.\n const shouldFireOutOfDate = sub.status === \"expired\"\n || sub.status === \"reconnecting\";\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace({ shouldFireOutOfDate }, \"success\");\n }\n sub.status = \"subscribed\";\n if (sub.subscriptionId !== response.id) {\n // might be the temporary one\n this.#subscriptions.delete(sub.subscriptionId);\n sub.subscriptionId = response.id;\n this.#subscriptions.set(sub.subscriptionId, sub); // future messages come by this subId\n }\n try {\n if (shouldFireOutOfDate)\n sub.listener.onOutOfDate();\n else\n sub.listener.onSuccessfulSubscription();\n }\n catch (error) {\n this.#logger?.error(error, \"Error in onOutOfDate or onSuccessfulSubscription callback\");\n this.#tryCatchOnError(sub, false, error);\n }\n break;\n default:\n this.#tryCatchOnError(sub, true, response);\n }\n }\n };\n #handleMessage_subscriptionClosed(payload) {\n const sub = this.#subscriptions.get(payload.id);\n if (sub == null && this.#endedSubscriptions.has(payload.id))\n return;\n invariant(sub, `Expected subscription id ${payload.id}`);\n this.#tryCatchOnError(sub, true, payload.cause);\n this.#unsubscribe(sub, \"error\");\n }\n #onClose = (event) => {\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace({ event }, \"Received close event from ws\", event);\n }\n // TODO we should probably throttle this so we don't abuse the backend\n this.#cycleWebsocket();\n };\n #cycleWebsocket = () => {\n if (this.#ws) {\n this.#ws.removeEventListener(\"open\", this.#onOpen);\n this.#ws.removeEventListener(\"message\", this.#onMessage);\n this.#ws.removeEventListener(\"close\", this.#onClose);\n if (this.#ws.readyState !== WebSocket.CLOSING\n && this.#ws.readyState !== WebSocket.CLOSED) {\n this.#ws.close();\n }\n this.#ws = undefined;\n }\n // if we have any listeners that are still depending on us, go ahead and reopen the websocket\n if (this.#subscriptions.size > 0) {\n if (process.env.NODE_ENV !== \"production\") {\n for (const s of this.#subscriptions.values()) {\n invariant(s.status !== \"done\" && s.status !== \"error\", \"should not have done/error subscriptions still\");\n }\n }\n for (const s of this.#subscriptions.values()) {\n if (s.status === \"subscribed\")\n s.status = \"reconnecting\";\n }\n // we don't care about the result of this (we want cycleWebsocket to be fire and forget)\n // just that it happens\n void this.#ensureWebsocket();\n }\n };\n #tryCatchOnError = (sub, subscriptionClosed, error) => {\n try {\n sub.listener.onError({ subscriptionClosed: subscriptionClosed, error });\n }\n catch (onErrorError) {\n // eslint-disable-next-line no-console\n console.error(`Error encountered in an onError callback for an OSDK subscription`, onErrorError);\n // eslint-disable-next-line no-console\n console.error(`This onError call was triggered by an error in another callback`, error);\n // eslint-disable-next-line no-console\n console.error(`The subscription has been closed.`, error);\n if (!subscriptionClosed) {\n this.#logger?.error(error, \"Error in onError callback\");\n this.#unsubscribe(sub, \"error\");\n this.#tryCatchOnError(sub, true, onErrorError);\n }\n }\n };\n}\n/** @internal */\nexport function constructWebsocketUrl(baseUrl, ontologyRid) {\n const base = new URL(baseUrl);\n const url = new URL(`api/v2/ontologySubscriptions/ontologies/${ontologyRid}/streamSubscriptions`, base);\n url.protocol = url.protocol.replace(\"https\", \"wss\");\n return url;\n}\nlet uuidCounter = 0;\nfunction nextUuid() {\n return `00000000-0000-0000-0000-${(uuidCounter++).toString().padStart(12, \"0\")}`;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ObjectSetListenerWebsocket.js","names":["WebSocket","invariant","MINIMUM_RECONNECT_DELAY_MS","doNothing","fillOutListener","onChange","onError","onOutOfDate","onSuccessfulSubscription","isReady","sub","subscriptionIsDone","status","ObjectSetListenerWebsocket","instances","WeakMap","getInstance","client","instance","get","clientCacheKey","set","ws","lastWsConnect","logger","pendingSubscriptions","Map","subscriptions","endedSubscriptions","Set","maybeDisconnectTimeout","constructor","minimumReconnectDelayMs","child","msgPrefix","baseUrl","startsWith","process","env","NODE_ENV","subscribe","objectType","objectSet","listener","properties","objDef","type","ontologyProvider","getObjectDefinition","apiName","getInterfaceDefinition","objectProperties","referenceProperties","length","Object","keys","filter","p","primaryKeyPropertyName","undefined","primaryKeyApiName","requestedProperties","requestedReferenceProperties","subscriptionId","nextUuid","interfaceApiName","initiateSubscribe","unsubscribe","#initiateSubscribe","trace","ensureWebsocket","readyState","OPEN","sendSubscribeMessage","error","tryCatchOnError","#sendSubscribeMessage","readySubs","values","id","requests","map","propertySet","referenceSet","payload","send","JSON","stringify","#unsubscribe","newStatus","delete","add","clearTimeout","setTimeout","size","cycleWebsocket","#ensureWebsocket","tokenProvider","url","constructWebsocketUrl","ontologyRid","token","nextConnectTime","Date","now","Promise","resolve","addEventListener","onClose","onMessage","onOpen","CONNECTING","reject","cleanup","removeEventListener","open","evt","#onOpen","message","data","parse","toString","handleMessage_objectSetChanged","handleMessage_refreshObjectSet","handleMessage_subscribeResponses","handleMessage_subscriptionClosed","objectUpdates","updates","update","referenceUpdates","osdkObjectsWithReferenceUpdates","all","o","osdkObjectArray","objectFactory","__apiName","__primaryKey","primaryKey","property","value","singleOsdkObject","object","state","osdkObject","osdkObjects","keysToDelete","key","includes","responses","subs","i","response","errors","shouldFireOutOfDate","#handleMessage_subscriptionClosed","has","cause","event","#cycleWebsocket","CLOSING","CLOSED","close","s","#tryCatchOnError","subscriptionClosed","onErrorError","console","base","URL","protocol","replace","uuidCounter","padStart"],"sources":["ObjectSetListenerWebsocket.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 ObjectOrInterfaceDefinition,\n ObjectSetListener,\n Osdk,\n PropertyKeys,\n} from \"@osdk/api\";\nimport type {\n ObjectSet,\n ObjectSetStreamSubscribeRequest,\n ObjectSetStreamSubscribeRequests,\n ObjectSetSubscribeResponses,\n ObjectSetUpdates,\n ObjectState,\n RefreshObjectSet,\n StreamMessage,\n SubscriptionClosed,\n} from \"@osdk/internal.foundry.core\";\nimport WebSocket from \"isomorphic-ws\";\nimport invariant from \"tiny-invariant\";\nimport type { Logger } from \"../Logger.js\";\nimport type { ClientCacheKey, MinimalClient } from \"../MinimalClientContext.js\";\n\nconst MINIMUM_RECONNECT_DELAY_MS = 5 * 1000;\n\n/** Noop function to reduce conditional checks */\nfunction doNothing() {}\n\n/**\n * Converts an ObjectSetListener to one where all the functions are defined.\n */\nfunction fillOutListener<\n Q extends ObjectOrInterfaceDefinition,\n P extends PropertyKeys<Q>,\n>(\n {\n onChange = doNothing,\n onError = doNothing,\n onOutOfDate = doNothing,\n onSuccessfulSubscription = doNothing,\n }: ObjectSetListener<Q, P>,\n): Required<ObjectSetListener<Q, P>> {\n return { onChange, onError, onOutOfDate, onSuccessfulSubscription };\n}\n\ninterface Subscription<\n Q extends ObjectOrInterfaceDefinition,\n P extends PropertyKeys<Q>,\n> {\n listener: Required<ObjectSetListener<Q, P>>;\n objectSet: ObjectSet;\n interfaceApiName?: string;\n primaryKeyPropertyName?: string;\n requestedProperties: Array<P>;\n requestedReferenceProperties: Array<P>;\n subscriptionId: string;\n isReady?: boolean;\n status:\n | \"preparing\"\n | \"subscribed\"\n | \"done\"\n | \"expired\"\n | \"error\"\n | \"reconnecting\";\n}\n\nfunction isReady<\n Q extends ObjectOrInterfaceDefinition,\n P extends PropertyKeys<Q>,\n>(\n sub: Subscription<Q, P>,\n): sub is Subscription<Q, P> & { temporaryObjectSetId: string } {\n return sub.isReady != null;\n}\n\nfunction subscriptionIsDone(sub: Subscription<any, any>) {\n return sub.status === \"done\" || sub.status === \"error\";\n}\n\n/** @internal */\nexport class ObjectSetListenerWebsocket {\n static #instances = new WeakMap<\n ClientCacheKey,\n ObjectSetListenerWebsocket\n >();\n readonly MINIMUM_RECONNECT_DELAY_MS: number;\n\n // FIXME\n static getInstance(client: MinimalClient): ObjectSetListenerWebsocket {\n let instance = ObjectSetListenerWebsocket.#instances.get(\n client.clientCacheKey,\n );\n if (instance == null) {\n instance = new ObjectSetListenerWebsocket(client);\n ObjectSetListenerWebsocket.#instances.set(\n client.clientCacheKey,\n instance,\n );\n }\n return instance;\n }\n\n #ws: WebSocket | undefined;\n #lastWsConnect = 0;\n #client: MinimalClient;\n\n #logger?: Logger;\n\n /**\n * map of requestId to all active subscriptions at the time of the request\n */\n #pendingSubscriptions = new Map<\n string,\n Subscription<any, any>[]\n >();\n\n /**\n * Map of subscriptionId to Subscription. Note: the subscriptionId may be\n * temporary and not the actual subscriptionId from the server.\n */\n #subscriptions = new Map<\n string,\n Subscription<any, any>\n >();\n\n #endedSubscriptions = new Set<\n string\n >();\n\n #maybeDisconnectTimeout: ReturnType<typeof setTimeout> | undefined;\n\n // DO NOT CONSTRUCT DIRECTLY. ONLY EXPOSED AS A TESTING SEAM\n constructor(\n client: MinimalClient,\n {\n minimumReconnectDelayMs = MINIMUM_RECONNECT_DELAY_MS,\n } = {},\n ) {\n this.MINIMUM_RECONNECT_DELAY_MS = minimumReconnectDelayMs;\n this.#client = client;\n this.#logger = client.logger?.child({}, {\n msgPrefix: \"<OSW> \",\n });\n invariant(\n client.baseUrl.startsWith(\"https://\")\n || client.baseUrl.startsWith(\"http://\"),\n \"Stack must be a URL\",\n );\n }\n\n async subscribe<\n Q extends ObjectOrInterfaceDefinition,\n P extends PropertyKeys<Q>,\n >(\n objectType: ObjectOrInterfaceDefinition,\n objectSet: ObjectSet,\n listener: ObjectSetListener<Q, P>,\n properties: Array<P> = [],\n ): Promise<() => void> {\n const objDef = objectType.type === \"object\"\n ? await this.#client.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n )\n : await this.#client.ontologyProvider.getInterfaceDefinition(\n objectType.apiName,\n );\n\n let objectProperties: Array<P> = [];\n let referenceProperties: Array<P> = [];\n\n if (objectType.type === \"object\") {\n if (properties.length === 0) {\n properties = Object.keys(objDef.properties) as Array<P>;\n }\n\n objectProperties = properties.filter((p) =>\n objDef.properties[p].type !== \"geotimeSeriesReference\"\n );\n\n referenceProperties = properties.filter((p) =>\n objDef.properties[p].type === \"geotimeSeriesReference\"\n );\n } else {\n objectProperties = [];\n referenceProperties = properties;\n }\n\n const sub: Subscription<Q, P> = {\n listener: fillOutListener<Q, P>(listener),\n objectSet,\n primaryKeyPropertyName: objDef.type === \"interface\"\n ? undefined\n : objDef.primaryKeyApiName,\n requestedProperties: objectProperties,\n requestedReferenceProperties: referenceProperties,\n status: \"preparing\",\n // Since we don't have a real subscription id yet but we need to keep\n // track of this reference, we can just use a random uuid.\n subscriptionId: `TMP-${nextUuid()}}`,\n interfaceApiName: objDef.type === \"object\"\n ? undefined\n : objDef.apiName,\n };\n\n this.#subscriptions.set(sub.subscriptionId, sub);\n\n // actually prepares the subscription, ensures the ws is ready, and sends\n // a subscribe message. We don't want to block on this.\n void this.#initiateSubscribe(sub);\n\n return () => {\n this.#unsubscribe(sub);\n };\n }\n\n /**\n * Called at least once for every subscription.\n *\n * - Resets pending expiry\n * - Recreates temporary object set\n * - Triggers a full subscribe message\n *\n * @returns\n */\n async #initiateSubscribe(sub: Subscription<any, any>) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace(\"#initiateSubscribe()\");\n }\n\n try {\n await this.#ensureWebsocket();\n\n // the consumer may have already unsubscribed before we are ready to request a subscription\n // so we have to acquire the pendingSubscription after the await.\n if (subscriptionIsDone(sub)) {\n return;\n }\n sub.isReady = true;\n // if we aren't open, then this happens after we #onConnect\n if (this.#ws?.readyState === WebSocket.OPEN) {\n this.#sendSubscribeMessage();\n }\n } catch (error) {\n this.#logger?.error(error, \"Error in #initiateSubscribe\");\n this.#tryCatchOnError(sub, true, error);\n }\n }\n\n #sendSubscribeMessage() {\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace(\"#sendSubscribeMessage()\");\n }\n // If two calls to `.subscribe()` happen at once (or if the connection is reset),\n // we may have multiple subscriptions that don't have a subscriptionId yet,\n // so we filter those out.\n const readySubs = [...this.#subscriptions.values()].filter(isReady);\n\n const id = nextUuid();\n // responses come back as an array of subIds, so we need to know the sources\n this.#pendingSubscriptions.set(id, readySubs);\n\n // every subscribe message \"overwrites\" the previous ones that are not\n // re-included, so we have to reconstitute the entire list of subscriptions\n const subscribe: ObjectSetStreamSubscribeRequests = {\n id,\n requests: readySubs.map<ObjectSetStreamSubscribeRequest>((\n {\n objectSet,\n requestedProperties,\n requestedReferenceProperties,\n interfaceApiName,\n },\n ) => {\n return {\n objectSet: objectSet,\n propertySet: requestedProperties,\n referenceSet: requestedReferenceProperties,\n };\n }),\n };\n\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace(\n { payload: subscribe },\n \"sending subscribe message\",\n );\n }\n this.#ws?.send(JSON.stringify(subscribe));\n }\n\n #unsubscribe<Q extends ObjectOrInterfaceDefinition>(\n sub: Subscription<Q, any>,\n newStatus: \"done\" | \"error\" = \"done\",\n ) {\n if (subscriptionIsDone(sub)) {\n // if we are already done, we don't need to do anything\n return;\n }\n\n sub.status = newStatus;\n\n // make sure listeners do nothing now\n sub.listener = fillOutListener<Q, any>({});\n\n this.#subscriptions.delete(sub.subscriptionId);\n this.#endedSubscriptions.add(sub.subscriptionId);\n this.#sendSubscribeMessage();\n\n // If we have no more subscriptions, we can disconnect the websocket\n // however we should wait a bit to see if we get any more subscriptions.\n // For example, when switching between react views, you may unsubscribe\n // in the old view and subscribe in the new view. We don't need to re-establish\n // the websocket connection in that case.\n if (this.#maybeDisconnectTimeout) {\n // We reset the timeout on every unsubscribe so its always at least 15s from\n // the last time we are empty. E.g.:\n // - 0s: Subscribe(A)\n // - 10s: Unsubscribe(A)\n // - 11s: Subscribe(B)\n // - 20s: Unsubscribe(B)\n // If we do not clear out the timeout we would disconnect at 25s but that would only be\n // 5s after the last subscription was removed instead of at 35s for the desired 15s.\n clearTimeout(this.#maybeDisconnectTimeout);\n }\n this.#maybeDisconnectTimeout = setTimeout(() => {\n this.#maybeDisconnectTimeout = undefined;\n if (this.#subscriptions.size === 0) {\n this.#cycleWebsocket();\n }\n }, 15_000 /* ms */);\n }\n\n async #ensureWebsocket() {\n if (this.#ws == null) {\n const { baseUrl, tokenProvider } = this.#client;\n const url = constructWebsocketUrl(\n baseUrl,\n await this.#client.ontologyRid,\n );\n\n const token = await tokenProvider();\n\n // tokenProvider is async, there could potentially be a race to create the websocket.\n // Only the first call to reach here will find a null this.#ws, the rest will bail out\n if (this.#ws == null) {\n // TODO this can probably be exponential backoff with jitter\n // don't reconnect more quickly than MINIMUM_RECONNECT_DELAY\n const nextConnectTime = (this.#lastWsConnect ?? 0)\n + this.MINIMUM_RECONNECT_DELAY_MS;\n if (nextConnectTime > Date.now()) {\n await new Promise((resolve) => {\n setTimeout(resolve, nextConnectTime - Date.now());\n });\n }\n\n this.#lastWsConnect = Date.now();\n\n // we again may have lost the race after our minimum backoff time\n if (this.#ws == null) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace(\"Creating websocket\");\n }\n this.#ws = new WebSocket(url, [`Bearer-${token}`]);\n this.#ws.addEventListener(\"close\", this.#onClose);\n this.#ws.addEventListener(\"message\", this.#onMessage);\n this.#ws.addEventListener(\"open\", this.#onOpen);\n }\n }\n // Allow await-ing the websocket open event if it isn't open already.\n // This needs to happen even for callers that didn't just create this.#ws\n if (this.#ws.readyState === WebSocket.CONNECTING) {\n const ws = this.#ws;\n return new Promise<void>((resolve, reject) => {\n function cleanup() {\n ws.removeEventListener(\"open\", open);\n ws.removeEventListener(\"error\", error);\n ws.removeEventListener(\"close\", cleanup);\n }\n function open() {\n cleanup();\n resolve();\n }\n function error(evt: unknown) {\n cleanup();\n reject(evt);\n }\n ws.addEventListener(\"open\", open);\n ws.addEventListener(\"error\", error);\n ws.addEventListener(\"close\", cleanup);\n });\n }\n }\n }\n\n #onOpen = () => {\n // resubscribe all of the listeners\n this.#sendSubscribeMessage();\n };\n\n #onMessage = async (message: WebSocket.MessageEvent) => {\n const data = JSON.parse(message.data.toString()) as StreamMessage;\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace({ payload: data }, \"received message from ws\");\n }\n switch (data.type) {\n case \"objectSetChanged\":\n return void this.#handleMessage_objectSetChanged(data);\n\n case \"refreshObjectSet\":\n return void this.#handleMessage_refreshObjectSet(data);\n\n case \"subscribeResponses\":\n return void this.#handleMessage_subscribeResponses(data);\n\n case \"subscriptionClosed\": {\n return void this.#handleMessage_subscriptionClosed(data);\n }\n\n default:\n const _: never = data;\n invariant(false, \"Unexpected message type\");\n }\n };\n\n #handleMessage_objectSetChanged = async (\n payload: ObjectSetUpdates,\n ) => {\n const sub = this.#subscriptions.get(payload.id);\n if (sub == null) return;\n\n const objectUpdates = payload.updates.filter((update) =>\n update.type === \"object\"\n );\n const referenceUpdates = payload.updates.filter((update) =>\n update.type === \"reference\"\n );\n const osdkObjectsWithReferenceUpdates = await Promise.all(\n referenceUpdates.map(async (o) => {\n const osdkObjectArray = await this.#client.objectFactory(\n this.#client,\n [{\n __apiName: o.objectType,\n __primaryKey: sub.primaryKeyPropertyName != null\n ? o.primaryKey[sub.primaryKeyPropertyName]\n : undefined,\n ...o.primaryKey,\n [o.property]: o.value,\n }],\n sub.interfaceApiName,\n ) as Array<Osdk.Instance<any, never, any>>;\n const singleOsdkObject = osdkObjectArray[0] ?? undefined;\n return singleOsdkObject != null\n ? {\n object: singleOsdkObject,\n state: \"ADDED_OR_UPDATED\" as ObjectState,\n }\n : undefined;\n }),\n );\n\n for (const osdkObject of osdkObjectsWithReferenceUpdates) {\n if (osdkObject != null) {\n try {\n sub.listener.onChange?.(osdkObject);\n } catch (error) {\n this.#logger?.error(error, \"Error in onChange callback\");\n this.#tryCatchOnError(sub, false, error);\n }\n }\n }\n\n const osdkObjects = await Promise.all(objectUpdates.map(async (o) => {\n const keysToDelete = Object.keys(o.object).filter((key) =>\n sub.requestedReferenceProperties.includes(key)\n );\n for (const key of keysToDelete) {\n delete o.object[key];\n }\n const osdkObjectArray = await this.#client.objectFactory(\n this.#client,\n [o.object],\n sub.interfaceApiName,\n ) as Array<Osdk.Instance<any, never, any>>;\n const singleOsdkObject = osdkObjectArray[0] ?? undefined;\n return singleOsdkObject != null\n ? {\n object: singleOsdkObject,\n state: o.state,\n }\n : undefined;\n }));\n\n for (const osdkObject of osdkObjects) {\n if (osdkObject != null) {\n try {\n sub.listener.onChange?.(osdkObject);\n } catch (error) {\n this.#logger?.error(error, \"Error in onChange callback\");\n this.#tryCatchOnError(sub, false, error);\n }\n }\n }\n };\n\n #handleMessage_refreshObjectSet = (payload: RefreshObjectSet) => {\n const sub = this.#subscriptions.get(payload.id);\n invariant(sub, `Expected subscription id ${payload.id}`);\n try {\n sub.listener.onOutOfDate();\n } catch (error) {\n this.#logger?.error(error, \"Error in onOutOfDate callback\");\n this.#tryCatchOnError(sub, false, error);\n }\n };\n\n #handleMessage_subscribeResponses = (\n payload: ObjectSetSubscribeResponses,\n ) => {\n const { id, responses } = payload;\n\n const subs = this.#pendingSubscriptions.get(id);\n invariant(subs, `should have a pending subscription for ${id}`);\n this.#pendingSubscriptions.delete(id);\n\n for (let i = 0; i < responses.length; i++) {\n const sub = subs[i];\n const response = responses[i];\n\n switch (response.type) {\n case \"error\":\n this.#tryCatchOnError(sub, true, response.errors);\n this.#unsubscribe(sub, \"error\");\n break;\n\n case \"qos\":\n // the server has requested that we tear down our websocket and reconnect to help load balance\n this.#cycleWebsocket();\n break;\n\n case \"success\":\n // `\"preparing\"` should only be the status on an initial subscribe.\n const shouldFireOutOfDate = sub.status === \"expired\"\n || sub.status === \"reconnecting\";\n\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace({ shouldFireOutOfDate }, \"success\");\n }\n sub.status = \"subscribed\";\n if (sub.subscriptionId !== response.id) {\n // might be the temporary one\n this.#subscriptions.delete(sub.subscriptionId);\n sub.subscriptionId = response.id;\n this.#subscriptions.set(sub.subscriptionId, sub); // future messages come by this subId\n }\n try {\n if (shouldFireOutOfDate) sub.listener.onOutOfDate();\n else sub.listener.onSuccessfulSubscription();\n } catch (error) {\n this.#logger?.error(\n error,\n \"Error in onOutOfDate or onSuccessfulSubscription callback\",\n );\n this.#tryCatchOnError(sub, false, error);\n }\n break;\n default:\n this.#tryCatchOnError(sub, true, response);\n }\n }\n };\n\n #handleMessage_subscriptionClosed(payload: SubscriptionClosed) {\n const sub = this.#subscriptions.get(payload.id);\n if (sub == null && this.#endedSubscriptions.has(payload.id)) return;\n invariant(sub, `Expected subscription id ${payload.id}`);\n this.#tryCatchOnError(sub, true, payload.cause);\n this.#unsubscribe(sub, \"error\");\n }\n\n #onClose = (event: WebSocket.CloseEvent) => {\n if (process.env.NODE_ENV !== \"production\") {\n this.#logger?.trace({ event }, \"Received close event from ws\", event);\n }\n // TODO we should probably throttle this so we don't abuse the backend\n this.#cycleWebsocket();\n };\n\n #cycleWebsocket = () => {\n if (this.#ws) {\n this.#ws.removeEventListener(\"open\", this.#onOpen);\n this.#ws.removeEventListener(\"message\", this.#onMessage);\n this.#ws.removeEventListener(\"close\", this.#onClose);\n\n if (\n this.#ws.readyState !== WebSocket.CLOSING\n && this.#ws.readyState !== WebSocket.CLOSED\n ) {\n this.#ws.close();\n }\n this.#ws = undefined;\n }\n\n // if we have any listeners that are still depending on us, go ahead and reopen the websocket\n if (this.#subscriptions.size > 0) {\n if (process.env.NODE_ENV !== \"production\") {\n for (const s of this.#subscriptions.values()) {\n invariant(\n s.status !== \"done\" && s.status !== \"error\",\n \"should not have done/error subscriptions still\",\n );\n }\n }\n\n for (const s of this.#subscriptions.values()) {\n if (s.status === \"subscribed\") s.status = \"reconnecting\";\n }\n\n // we don't care about the result of this (we want cycleWebsocket to be fire and forget)\n // just that it happens\n void this.#ensureWebsocket();\n }\n };\n\n #tryCatchOnError = (\n sub: Subscription<any, any>,\n subscriptionClosed: boolean,\n error: any,\n ) => {\n try {\n sub.listener.onError({ subscriptionClosed: subscriptionClosed, error });\n } catch (onErrorError) {\n // eslint-disable-next-line no-console\n console.error(\n `Error encountered in an onError callback for an OSDK subscription`,\n onErrorError,\n );\n // eslint-disable-next-line no-console\n console.error(\n `This onError call was triggered by an error in another callback`,\n error,\n );\n // eslint-disable-next-line no-console\n console.error(\n `The subscription has been closed.`,\n error,\n );\n\n if (!subscriptionClosed) {\n this.#logger?.error(error, \"Error in onError callback\");\n this.#unsubscribe(sub, \"error\");\n this.#tryCatchOnError(sub, true, onErrorError);\n }\n }\n };\n}\n\n/** @internal */\nexport function constructWebsocketUrl(\n baseUrl: string,\n ontologyRid: string,\n) {\n const base = new URL(baseUrl);\n const url = new URL(\n `api/v2/ontologySubscriptions/ontologies/${ontologyRid}/streamSubscriptions`,\n base,\n );\n url.protocol = url.protocol.replace(\"https\", \"wss\");\n return url;\n}\n\nlet uuidCounter = 0;\n\nfunction nextUuid() {\n return `00000000-0000-0000-0000-${\n (uuidCounter++).toString().padStart(12, \"0\")\n }`;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -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";
|
|
@@ -22,6 +23,7 @@ import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi }
|
|
|
22
23
|
import { z } from "zod";
|
|
23
24
|
import { createMinimalClient } from "../createMinimalClient.js";
|
|
24
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,12 +44,14 @@ 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
57
|
const STACK = "https://stack.palantirCustom.com/foo/first/someStuff/";
|
|
@@ -127,11 +131,14 @@ describe("ObjectSetListenerWebsocket", async () => {
|
|
|
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
|
});
|
|
@@ -359,6 +366,7 @@ async function subscribeAndExpectWebSocket(client, listener) {
|
|
|
359
366
|
type: "base",
|
|
360
367
|
objectType: Employee.apiName
|
|
361
368
|
}, listener)]);
|
|
369
|
+
|
|
362
370
|
// otherwise the ObjectSetListenerWebSocket is sitting waiting for it to "connect"
|
|
363
371
|
setWebSocketState(ws, "open");
|
|
364
372
|
return [ws, unsubscribe];
|
|
@@ -435,7 +443,6 @@ const SubscribeMessage = z.object({
|
|
|
435
443
|
}))
|
|
436
444
|
});
|
|
437
445
|
class MessageEvent extends Event {
|
|
438
|
-
data;
|
|
439
446
|
constructor(data) {
|
|
440
447
|
super("message");
|
|
441
448
|
this.data = JSON.stringify(data);
|