@osdk/client 2.1.1 → 2.2.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +129 -181
- package/build/browser/Client.js +1 -1
- package/build/browser/Client.js.map +1 -1
- package/build/browser/MinimalClientContext.js.map +1 -1
- package/build/browser/actions/ActionValidationError.js +1 -1
- package/build/browser/actions/ActionValidationError.js.map +1 -1
- package/build/browser/actions/actions.test.js +164 -87
- package/build/browser/actions/actions.test.js.map +1 -1
- package/build/browser/actions/applyAction.js +21 -15
- package/build/browser/actions/applyAction.js.map +1 -1
- package/build/browser/createClient.js +19 -8
- package/build/browser/createClient.js.map +1 -1
- package/build/browser/createClient.test.js +14 -6
- package/build/browser/createClient.test.js.map +1 -1
- package/build/browser/createMinimalClient.js +2 -2
- package/build/browser/createMinimalClient.js.map +1 -1
- package/build/browser/createMinimalClientHelper.js +25 -0
- package/build/browser/createMinimalClientHelper.js.map +1 -0
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.js +106 -0
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -0
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js +100 -0
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -0
- package/build/browser/fetchMetadata.test.js +11 -9
- 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.js +5 -1
- package/build/browser/intellisense.test.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyGroupByClause.js +7 -0
- package/build/browser/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/browser/logger/BaseLogger.js +53 -0
- package/build/browser/logger/BaseLogger.js.map +1 -0
- package/build/{esm → browser/logger}/Logger.js.map +1 -1
- package/build/browser/logger/MinimalLogger.js +41 -0
- package/build/browser/logger/MinimalLogger.js.map +1 -0
- package/build/browser/object/AttachmentUpload.js +3 -0
- package/build/browser/object/AttachmentUpload.js.map +1 -1
- package/build/browser/object/SimpleOsdkProperties.js +2 -0
- package/build/browser/object/SimpleOsdkProperties.js.map +1 -0
- package/build/browser/object/aggregate.test.js +12 -2
- package/build/browser/object/aggregate.test.js.map +1 -1
- package/build/browser/object/attachment.test.js +20 -7
- package/build/browser/object/attachment.test.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js +2 -0
- package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -0
- package/build/browser/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js +25 -0
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +10 -3
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.js +13 -4
- package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.test.js +17 -11
- package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/{esm/observable/internal/ChangedObjects.js → browser/object/createObjectSpecifierFromPrimaryKey.js} +3 -7
- package/build/browser/object/createObjectSpecifierFromPrimaryKey.js.map +1 -0
- package/build/browser/object/fetchPage.js +13 -1
- package/build/browser/object/fetchPage.js.map +1 -1
- package/build/browser/object/fetchPage.test.js +56 -2
- package/build/browser/object/fetchPage.test.js.map +1 -1
- package/build/browser/object/geotimeseriesreference.test.js +56 -134
- package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
- package/build/browser/object/media.test.js +19 -14
- package/build/browser/object/media.test.js.map +1 -1
- package/build/browser/object/object.test.js +166 -66
- package/build/browser/object/object.test.js.map +1 -1
- package/build/browser/object/timeseries.test.js +119 -85
- package/build/browser/object/timeseries.test.js.map +1 -1
- package/build/browser/objectSet/InterfaceObjectSet.test.js +37 -17
- package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -1
- package/build/browser/objectSet/ObjectSet.test.js +313 -79
- package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js +18 -14
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +16 -9
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/browser/objectSet/createObjectSet.js +16 -0
- package/build/browser/objectSet/createObjectSet.js.map +1 -1
- package/build/browser/observable/ListPayload.js.map +1 -1
- package/build/browser/observable/ObjectPayload.js.map +1 -1
- package/build/browser/observable/ObservableClient.js.map +1 -1
- package/build/browser/observable/OptimisticBuilder.js.map +1 -1
- package/build/browser/observable/internal/ActionApplication.js +102 -0
- package/build/browser/observable/internal/ActionApplication.js.map +1 -0
- package/build/browser/observable/internal/BulkObjectLoader.js +93 -0
- package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -0
- package/build/browser/observable/internal/BulkObjectLoader.test.js +112 -0
- package/build/browser/observable/internal/BulkObjectLoader.test.js.map +1 -0
- package/build/browser/observable/internal/CacheKey.js +38 -1
- package/build/browser/observable/internal/CacheKey.js.map +1 -1
- package/build/browser/observable/internal/CacheKeys.js +4 -4
- package/build/browser/observable/internal/CacheKeys.js.map +1 -1
- package/build/browser/observable/internal/Changes.js +58 -0
- package/build/browser/observable/internal/Changes.js.map +1 -0
- package/build/browser/observable/internal/Layer.js +6 -3
- package/build/browser/observable/internal/Layer.js.map +1 -1
- package/build/browser/observable/internal/ListQuery.js +495 -129
- package/build/browser/observable/internal/ListQuery.js.map +1 -1
- package/build/browser/observable/internal/ObjectQuery.js +40 -14
- package/build/browser/observable/internal/ObjectQuery.js.map +1 -1
- package/build/browser/observable/internal/ObservableClientImpl.js +4 -12
- package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
- package/build/browser/observable/internal/OptimisticJob.js +30 -29
- package/build/browser/observable/internal/OptimisticJob.js.map +1 -1
- package/build/browser/observable/internal/OrderByCanonicalizer.js +73 -0
- package/build/browser/observable/internal/OrderByCanonicalizer.js.map +1 -0
- package/build/browser/observable/internal/OrderByCanonicalizer.test.js +78 -0
- package/build/browser/observable/internal/OrderByCanonicalizer.test.js.map +1 -0
- package/build/browser/observable/internal/Query.js +79 -6
- package/build/browser/observable/internal/Query.js.map +1 -1
- package/build/browser/observable/internal/RefCounts.js +7 -2
- package/build/browser/observable/internal/RefCounts.js.map +1 -1
- package/build/browser/observable/internal/SimpleWhereClause.js +2 -0
- package/build/browser/observable/internal/SimpleWhereClause.js.map +1 -0
- package/build/browser/observable/internal/Store.js +138 -188
- package/build/browser/observable/internal/Store.js.map +1 -1
- package/build/browser/observable/internal/Store.test.js +664 -255
- package/build/browser/observable/internal/Store.test.js.map +1 -1
- package/build/browser/observable/internal/WhereClauseCanonicalizer.js +11 -3
- package/build/browser/observable/internal/WhereClauseCanonicalizer.js.map +1 -1
- package/build/browser/observable/internal/objectMatchesWhereClause.js +0 -4
- package/build/browser/observable/internal/objectMatchesWhereClause.js.map +1 -1
- package/build/browser/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
- package/build/browser/observable/internal/testUtils.js +222 -19
- package/build/browser/observable/internal/testUtils.js.map +1 -1
- package/build/browser/ontology/StandardOntologyProvider.test.js +17 -16
- package/build/browser/ontology/StandardOntologyProvider.test.js.map +1 -1
- package/build/browser/public/unstable-do-not-use.js.map +1 -1
- package/build/browser/queries/applyQuery.js +33 -1
- package/build/browser/queries/applyQuery.js.map +1 -1
- package/build/browser/queries/queries.test.js +36 -13
- package/build/browser/queries/queries.test.js.map +1 -1
- package/build/browser/tsserver.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/browser/util/toDataValue.js +10 -2
- package/build/browser/util/toDataValue.js.map +1 -1
- package/build/browser/util/toDataValue.test.js +37 -16
- package/build/browser/util/toDataValue.test.js.map +1 -1
- package/build/browser/util/toDataValueQueries.js +27 -2
- package/build/browser/util/toDataValueQueries.js.map +1 -1
- package/build/cjs/{Client-C8K3E1vH.d.cts → Client-DBTcM9gB.d.cts} +1 -1
- package/build/cjs/{chunk-FWVJ2AKD.cjs → chunk-EY52J5Z4.cjs} +25 -15
- package/build/cjs/chunk-EY52J5Z4.cjs.map +1 -0
- package/build/cjs/{chunk-DLSRNRTA.cjs → chunk-MCQVHD2F.cjs} +155 -42
- package/build/cjs/chunk-MCQVHD2F.cjs.map +1 -0
- package/build/cjs/chunk-T4NIFYZS.cjs +14 -0
- package/build/cjs/chunk-T4NIFYZS.cjs.map +1 -0
- package/build/cjs/{graphql-JJX5MZPQ.cjs → graphql-RGM5SRWV.cjs} +43 -2
- package/build/cjs/graphql-RGM5SRWV.cjs.map +1 -0
- package/build/cjs/index.cjs +265 -94
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +6 -4
- package/build/cjs/public/internal.cjs +6 -6
- package/build/cjs/public/internal.d.cts +1 -1
- package/build/cjs/public/unstable-do-not-use.cjs +1087 -470
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
- package/build/cjs/public/unstable-do-not-use.d.cts +37 -27
- package/build/esm/Client.js +1 -1
- package/build/esm/Client.js.map +1 -1
- package/build/esm/MinimalClientContext.js.map +1 -1
- package/build/esm/actions/ActionValidationError.js +1 -1
- package/build/esm/actions/ActionValidationError.js.map +1 -1
- package/build/esm/actions/actions.test.js +164 -87
- package/build/esm/actions/actions.test.js.map +1 -1
- package/build/esm/actions/applyAction.js +21 -15
- package/build/esm/actions/applyAction.js.map +1 -1
- package/build/esm/createClient.js +19 -8
- package/build/esm/createClient.js.map +1 -1
- package/build/esm/createClient.test.js +14 -6
- package/build/esm/createClient.test.js.map +1 -1
- package/build/esm/createMinimalClient.js +2 -2
- package/build/esm/createMinimalClient.js.map +1 -1
- package/build/esm/createMinimalClientHelper.js +25 -0
- package/build/esm/createMinimalClientHelper.js.map +1 -0
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.js +106 -0
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -0
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js +100 -0
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -0
- package/build/esm/fetchMetadata.test.js +11 -9
- 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.js +5 -1
- package/build/esm/intellisense.test.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyGroupByClause.js +7 -0
- package/build/esm/internal/conversions/modernToLegacyGroupByClause.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/esm/logger/BaseLogger.js +53 -0
- package/build/esm/logger/BaseLogger.js.map +1 -0
- package/build/{browser → esm/logger}/Logger.js.map +1 -1
- package/build/esm/logger/MinimalLogger.js +41 -0
- package/build/esm/logger/MinimalLogger.js.map +1 -0
- package/build/esm/object/AttachmentUpload.js +3 -0
- package/build/esm/object/AttachmentUpload.js.map +1 -1
- package/build/esm/object/SimpleOsdkProperties.js +2 -0
- package/build/esm/object/SimpleOsdkProperties.js.map +1 -0
- package/build/esm/object/aggregate.test.js +12 -2
- package/build/esm/object/aggregate.test.js.map +1 -1
- package/build/esm/object/attachment.test.js +20 -7
- package/build/esm/object/attachment.test.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js +2 -0
- package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -0
- package/build/esm/object/convertWireToOsdkObjects/InterfaceHolder.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/ObjectHolder.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js +25 -0
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +10 -3
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.js +13 -4
- package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.test.js +17 -11
- package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/{browser/observable/internal/ChangedObjects.js → esm/object/createObjectSpecifierFromPrimaryKey.js} +3 -7
- package/build/esm/object/createObjectSpecifierFromPrimaryKey.js.map +1 -0
- package/build/esm/object/fetchPage.js +13 -1
- package/build/esm/object/fetchPage.js.map +1 -1
- package/build/esm/object/fetchPage.test.js +56 -2
- package/build/esm/object/fetchPage.test.js.map +1 -1
- package/build/esm/object/geotimeseriesreference.test.js +56 -134
- package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
- package/build/esm/object/media.test.js +19 -14
- package/build/esm/object/media.test.js.map +1 -1
- package/build/esm/object/object.test.js +166 -66
- package/build/esm/object/object.test.js.map +1 -1
- package/build/esm/object/timeseries.test.js +119 -85
- package/build/esm/object/timeseries.test.js.map +1 -1
- package/build/esm/objectSet/InterfaceObjectSet.test.js +37 -17
- package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -1
- package/build/esm/objectSet/ObjectSet.test.js +313 -79
- package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js +18 -14
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +16 -9
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/esm/objectSet/createObjectSet.js +16 -0
- package/build/esm/objectSet/createObjectSet.js.map +1 -1
- package/build/esm/observable/ListPayload.js.map +1 -1
- package/build/esm/observable/ObjectPayload.js.map +1 -1
- package/build/esm/observable/ObservableClient.js.map +1 -1
- package/build/esm/observable/OptimisticBuilder.js.map +1 -1
- package/build/esm/observable/internal/ActionApplication.js +102 -0
- package/build/esm/observable/internal/ActionApplication.js.map +1 -0
- package/build/esm/observable/internal/BulkObjectLoader.js +93 -0
- package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -0
- package/build/esm/observable/internal/BulkObjectLoader.test.js +112 -0
- package/build/esm/observable/internal/BulkObjectLoader.test.js.map +1 -0
- package/build/esm/observable/internal/CacheKey.js +38 -1
- package/build/esm/observable/internal/CacheKey.js.map +1 -1
- package/build/esm/observable/internal/CacheKeys.js +4 -4
- package/build/esm/observable/internal/CacheKeys.js.map +1 -1
- package/build/esm/observable/internal/Changes.js +58 -0
- package/build/esm/observable/internal/Changes.js.map +1 -0
- package/build/esm/observable/internal/Layer.js +6 -3
- package/build/esm/observable/internal/Layer.js.map +1 -1
- package/build/esm/observable/internal/ListQuery.js +495 -129
- package/build/esm/observable/internal/ListQuery.js.map +1 -1
- package/build/esm/observable/internal/ObjectQuery.js +40 -14
- package/build/esm/observable/internal/ObjectQuery.js.map +1 -1
- package/build/esm/observable/internal/ObservableClientImpl.js +4 -12
- package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
- package/build/esm/observable/internal/OptimisticJob.js +30 -29
- package/build/esm/observable/internal/OptimisticJob.js.map +1 -1
- package/build/esm/observable/internal/OrderByCanonicalizer.js +73 -0
- package/build/esm/observable/internal/OrderByCanonicalizer.js.map +1 -0
- package/build/esm/observable/internal/OrderByCanonicalizer.test.js +78 -0
- package/build/esm/observable/internal/OrderByCanonicalizer.test.js.map +1 -0
- package/build/esm/observable/internal/Query.js +79 -6
- package/build/esm/observable/internal/Query.js.map +1 -1
- package/build/esm/observable/internal/RefCounts.js +7 -2
- package/build/esm/observable/internal/RefCounts.js.map +1 -1
- package/build/esm/observable/internal/SimpleWhereClause.js +2 -0
- package/build/esm/observable/internal/SimpleWhereClause.js.map +1 -0
- package/build/esm/observable/internal/Store.js +138 -188
- package/build/esm/observable/internal/Store.js.map +1 -1
- package/build/esm/observable/internal/Store.test.js +664 -255
- package/build/esm/observable/internal/Store.test.js.map +1 -1
- package/build/esm/observable/internal/WhereClauseCanonicalizer.js +11 -3
- package/build/esm/observable/internal/WhereClauseCanonicalizer.js.map +1 -1
- package/build/esm/observable/internal/objectMatchesWhereClause.js +0 -4
- package/build/esm/observable/internal/objectMatchesWhereClause.js.map +1 -1
- package/build/esm/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
- package/build/esm/observable/internal/testUtils.js +222 -19
- package/build/esm/observable/internal/testUtils.js.map +1 -1
- package/build/esm/ontology/StandardOntologyProvider.test.js +17 -16
- package/build/esm/ontology/StandardOntologyProvider.test.js.map +1 -1
- package/build/esm/public/unstable-do-not-use.js.map +1 -1
- package/build/esm/queries/applyQuery.js +33 -1
- package/build/esm/queries/applyQuery.js.map +1 -1
- package/build/esm/queries/queries.test.js +36 -13
- package/build/esm/queries/queries.test.js.map +1 -1
- package/build/esm/tsserver.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/UserAgent.js.map +1 -1
- package/build/esm/util/toDataValue.js +10 -2
- package/build/esm/util/toDataValue.js.map +1 -1
- package/build/esm/util/toDataValue.test.js +37 -16
- package/build/esm/util/toDataValue.test.js.map +1 -1
- package/build/esm/util/toDataValueQueries.js +27 -2
- package/build/esm/util/toDataValueQueries.js.map +1 -1
- package/build/types/Client.d.ts +2 -2
- package/build/types/Client.d.ts.map +1 -1
- package/build/types/MinimalClientContext.d.ts +1 -1
- package/build/types/MinimalClientContext.d.ts.map +1 -1
- package/build/types/actions/applyAction.d.ts.map +1 -1
- package/build/types/createClient.d.ts +1 -1
- package/build/types/createClient.d.ts.map +1 -1
- package/build/types/createClient.test.d.ts +2 -1
- package/build/types/createClient.test.d.ts.map +1 -1
- package/build/types/createMinimalClientHelper.d.ts +1 -0
- package/build/types/createMinimalClientHelper.d.ts.map +1 -0
- package/build/types/derivedProperties/createWithPropertiesObjectSet.d.ts +1 -0
- package/build/types/derivedProperties/createWithPropertiesObjectSet.d.ts.map +1 -0
- package/build/types/derivedProperties/createWithPropertiesObjectSet.test.d.ts +1 -0
- package/build/types/derivedProperties/createWithPropertiesObjectSet.test.d.ts.map +1 -0
- package/build/types/index.d.ts +3 -2
- package/build/types/index.d.ts.map +1 -1
- package/build/types/logger/BaseLogger.d.ts +31 -0
- package/build/types/logger/BaseLogger.d.ts.map +1 -0
- package/build/types/{Logger.d.ts → logger/Logger.d.ts} +1 -2
- package/build/types/logger/Logger.d.ts.map +1 -0
- package/build/types/logger/MinimalLogger.d.ts +8 -0
- package/build/types/logger/MinimalLogger.d.ts.map +1 -0
- package/build/types/object/AttachmentUpload.d.ts +3 -0
- package/build/types/object/AttachmentUpload.d.ts.map +1 -1
- package/build/types/object/SimpleOsdkProperties.d.ts +1 -0
- package/build/types/object/SimpleOsdkProperties.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects/BaseHolder.d.ts +1 -0
- package/build/types/object/convertWireToOsdkObjects/BaseHolder.d.ts.map +1 -0
- package/build/types/object/convertWireToOsdkObjects.d.ts +8 -1
- package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -1
- package/build/types/object/createObjectSpecifierFromPrimaryKey.d.ts +2 -0
- package/build/types/object/createObjectSpecifierFromPrimaryKey.d.ts.map +1 -0
- package/build/types/object/object.test.d.ts.map +1 -1
- package/build/types/objectSet/ObjectSet.test.d.ts.map +1 -1
- package/build/types/observable/ListPayload.d.ts +5 -9
- package/build/types/observable/ListPayload.d.ts.map +1 -1
- package/build/types/observable/ObjectPayload.d.ts +4 -7
- package/build/types/observable/ObjectPayload.d.ts.map +1 -1
- package/build/types/observable/ObservableClient.d.ts +33 -10
- package/build/types/observable/ObservableClient.d.ts.map +1 -1
- package/build/types/observable/OptimisticBuilder.d.ts +1 -1
- package/build/types/observable/OptimisticBuilder.d.ts.map +1 -1
- package/build/types/observable/internal/ActionApplication.d.ts +9 -0
- package/build/types/observable/internal/ActionApplication.d.ts.map +1 -0
- package/build/types/observable/internal/BulkObjectLoader.d.ts +8 -0
- package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -0
- package/build/types/observable/internal/BulkObjectLoader.test.d.ts +1 -0
- package/build/types/observable/internal/BulkObjectLoader.test.d.ts.map +1 -0
- package/build/types/observable/internal/CacheKeys.d.ts +2 -1
- package/build/types/observable/internal/CacheKeys.d.ts.map +1 -1
- package/build/types/observable/internal/Changes.d.ts +15 -0
- package/build/types/observable/internal/Changes.d.ts.map +1 -0
- package/build/types/observable/internal/Layer.d.ts +2 -1
- package/build/types/observable/internal/Layer.d.ts.map +1 -1
- package/build/types/observable/internal/ListQuery.d.ts +69 -23
- package/build/types/observable/internal/ListQuery.d.ts.map +1 -1
- package/build/types/observable/internal/ObjectQuery.d.ts +8 -9
- package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -1
- package/build/types/observable/internal/OptimisticJob.d.ts +2 -2
- package/build/types/observable/internal/OptimisticJob.d.ts.map +1 -1
- package/build/types/observable/internal/OrderByCanonicalizer.d.ts +12 -0
- package/build/types/observable/internal/OrderByCanonicalizer.d.ts.map +1 -0
- package/build/types/observable/internal/OrderByCanonicalizer.test.d.ts +1 -0
- package/build/types/observable/internal/OrderByCanonicalizer.test.d.ts.map +1 -0
- package/build/types/observable/internal/Query.d.ts +45 -9
- package/build/types/observable/internal/Query.d.ts.map +1 -1
- package/build/types/observable/internal/RefCounts.d.ts.map +1 -1
- package/build/types/observable/internal/SimpleWhereClause.d.ts +2 -0
- package/build/types/observable/internal/SimpleWhereClause.d.ts.map +1 -0
- package/build/types/observable/internal/Store.d.ts +33 -29
- package/build/types/observable/internal/Store.d.ts.map +1 -1
- package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts +2 -1
- package/build/types/observable/internal/WhereClauseCanonicalizer.d.ts.map +1 -1
- package/build/types/observable/internal/objectMatchesWhereClause.d.ts +4 -2
- package/build/types/observable/internal/objectMatchesWhereClause.d.ts.map +1 -1
- package/build/types/observable/internal/testUtils.d.ts +49 -9
- package/build/types/observable/internal/testUtils.d.ts.map +1 -1
- package/build/types/public/unstable-do-not-use.d.ts +1 -4
- package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
- package/build/types/queries/applyQuery.d.ts.map +1 -1
- package/build/types/tsserver.d.ts +1 -1
- package/build/types/tsserver.d.ts.map +1 -1
- package/package.json +18 -14
- package/build/browser/observable/internal/ChangedObjects.js.map +0 -1
- package/build/cjs/chunk-DLSRNRTA.cjs.map +0 -1
- package/build/cjs/chunk-FWVJ2AKD.cjs.map +0 -1
- package/build/cjs/graphql-JJX5MZPQ.cjs.map +0 -1
- package/build/esm/observable/internal/ChangedObjects.js.map +0 -1
- package/build/types/Logger.d.ts.map +0 -1
- package/build/types/observable/internal/ChangedObjects.d.ts +0 -7
- package/build/types/observable/internal/ChangedObjects.d.ts.map +0 -1
- /package/build/browser/{Logger.js → logger/Logger.js} +0 -0
- /package/build/esm/{Logger.js → logger/Logger.js} +0 -0
|
@@ -15,19 +15,21 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { isOk } from "@osdk/api";
|
|
18
|
-
import { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid } from "@osdk/api/unstable";
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
18
|
+
import { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid, __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid } from "@osdk/api/unstable";
|
|
19
|
+
import { BarInterface, BgaoNflPlayer, Employee, FooInterface, Office } from "@osdk/client.test.ontology";
|
|
20
|
+
import { LegacyFauxFoundry, startNodeApiServer, stubData } from "@osdk/shared.test";
|
|
21
|
+
import { beforeAll, describe, expect, expectTypeOf, it } from "vitest";
|
|
22
22
|
import { createClient } from "../createClient.js";
|
|
23
23
|
describe("ObjectSet", () => {
|
|
24
24
|
let client;
|
|
25
|
-
beforeAll(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
beforeAll(() => {
|
|
26
|
+
const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);
|
|
27
|
+
({
|
|
28
|
+
client
|
|
29
|
+
} = testSetup);
|
|
30
|
+
return () => {
|
|
31
|
+
testSetup.apiServer.close();
|
|
32
|
+
};
|
|
31
33
|
});
|
|
32
34
|
it("does not allow intersect/union/subtract with different object types", () => {
|
|
33
35
|
const employeeObjectSet = client(Employee);
|
|
@@ -46,15 +48,20 @@ describe("ObjectSet", () => {
|
|
|
46
48
|
it("objects set union", async () => {
|
|
47
49
|
const objectSet = client(Employee);
|
|
48
50
|
const unionedObjectSet = objectSet.union(objectSet);
|
|
49
|
-
let iter = 0;
|
|
50
51
|
const {
|
|
51
52
|
data: employees
|
|
52
53
|
} = await unionedObjectSet.fetchPage();
|
|
54
|
+
const pks = new Set();
|
|
53
55
|
for (const emp of employees) {
|
|
54
|
-
|
|
55
|
-
iter += 1;
|
|
56
|
+
pks.add(emp.$primaryKey);
|
|
56
57
|
}
|
|
57
|
-
expect(
|
|
58
|
+
expect(pks.size).toEqual(6);
|
|
59
|
+
expect(pks.has(stubData.employee1.employeeId)).toBe(true);
|
|
60
|
+
expect(pks.has(stubData.employee2.employeeId)).toBe(true);
|
|
61
|
+
expect(pks.has(stubData.employee3.employeeId)).toBe(true);
|
|
62
|
+
expect(pks.has(stubData.employee4withDerived.employeeId)).toBe(true);
|
|
63
|
+
expect(pks.has(stubData.employeePassesStrict.__primaryKey)).toBe(true);
|
|
64
|
+
expect(pks.has(stubData.employee50050.employeeId)).toBe(true);
|
|
58
65
|
});
|
|
59
66
|
it("objects set subtract", async () => {
|
|
60
67
|
const objectSet = client(Employee);
|
|
@@ -62,76 +69,44 @@ describe("ObjectSet", () => {
|
|
|
62
69
|
employeeId: 50030
|
|
63
70
|
});
|
|
64
71
|
const subtractedObjectSet = objectSet.subtract(objectSet2);
|
|
65
|
-
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
iter += 1;
|
|
72
|
-
}
|
|
73
|
-
expect(iter).toEqual(2);
|
|
72
|
+
const objectSetResults = await objectSet.fetchPage();
|
|
73
|
+
const objectSet2Results = await objectSet2.fetchPage();
|
|
74
|
+
const subtractedObjectSetResults = await subtractedObjectSet.fetchPage();
|
|
75
|
+
expect(objectSet2Results.data).toHaveLength(1);
|
|
76
|
+
expect(subtractedObjectSetResults.data).toHaveLength(objectSetResults.data.length - objectSet2Results.data.length);
|
|
77
|
+
expect(subtractedObjectSetResults.data.find(x => x.$primaryKey === 50030)).toBeUndefined();
|
|
74
78
|
});
|
|
75
79
|
it("objects set intersect", async () => {
|
|
76
80
|
const objectSet = client(Employee);
|
|
77
81
|
const intersectedObjectSet = objectSet.intersect(objectSet);
|
|
78
|
-
let iter = 0;
|
|
79
82
|
const {
|
|
80
83
|
data: employees
|
|
81
84
|
} = await intersectedObjectSet.fetchPage();
|
|
85
|
+
const pks = new Set();
|
|
82
86
|
for (const emp of employees) {
|
|
83
|
-
|
|
84
|
-
iter += 1;
|
|
87
|
+
pks.add(emp.$primaryKey);
|
|
85
88
|
}
|
|
86
|
-
expect(
|
|
89
|
+
expect(pks.size).toEqual(6);
|
|
90
|
+
expect(pks.has(stubData.employee1.employeeId)).toBe(true);
|
|
91
|
+
expect(pks.has(stubData.employee2.employeeId)).toBe(true);
|
|
92
|
+
expect(pks.has(stubData.employee3.employeeId)).toBe(true);
|
|
93
|
+
expect(pks.has(stubData.employee4withDerived.employeeId)).toBe(true);
|
|
94
|
+
expect(pks.has(stubData.employeePassesStrict.__primaryKey)).toBe(true);
|
|
95
|
+
expect(pks.has(stubData.employee50050.employeeId)).toBe(true);
|
|
87
96
|
});
|
|
88
97
|
it("orders objects in ascending order without a filter, and returns all results", async () => {
|
|
89
98
|
const {
|
|
90
99
|
data: employees
|
|
91
|
-
} = await client(Employee).
|
|
100
|
+
} = await client(Employee).where({
|
|
101
|
+
employeeId: {
|
|
102
|
+
$isNull: false
|
|
103
|
+
}
|
|
104
|
+
}).fetchPage({
|
|
92
105
|
$orderBy: {
|
|
93
106
|
"employeeId": "asc"
|
|
94
107
|
}
|
|
95
108
|
});
|
|
96
|
-
expect(employees).
|
|
97
|
-
$apiName: "Employee",
|
|
98
|
-
$objectType: "Employee",
|
|
99
|
-
$primaryKey: 50030,
|
|
100
|
-
class: "Red",
|
|
101
|
-
employeeId: 50030,
|
|
102
|
-
employeeStatus: expect.anything(),
|
|
103
|
-
employeeSensor: expect.anything(),
|
|
104
|
-
fullName: "John Doe",
|
|
105
|
-
office: "NYC",
|
|
106
|
-
startDate: "2019-01-01",
|
|
107
|
-
employeeLocation: expect.anything()
|
|
108
|
-
}, {
|
|
109
|
-
$apiName: "Employee",
|
|
110
|
-
$objectType: "Employee",
|
|
111
|
-
$primaryKey: 50031,
|
|
112
|
-
$title: "Jane Doe",
|
|
113
|
-
class: "Blue",
|
|
114
|
-
employeeId: 50031,
|
|
115
|
-
employeeStatus: expect.anything(),
|
|
116
|
-
employeeSensor: expect.anything(),
|
|
117
|
-
fullName: "Jane Doe",
|
|
118
|
-
office: "SEA",
|
|
119
|
-
startDate: "2012-02-12",
|
|
120
|
-
employeeLocation: expect.anything()
|
|
121
|
-
}, {
|
|
122
|
-
$apiName: "Employee",
|
|
123
|
-
$objectType: "Employee",
|
|
124
|
-
$primaryKey: 50032,
|
|
125
|
-
$title: "Jack Smith",
|
|
126
|
-
class: "Red",
|
|
127
|
-
employeeId: 50032,
|
|
128
|
-
employeeStatus: expect.anything(),
|
|
129
|
-
employeeSensor: expect.anything(),
|
|
130
|
-
fullName: "Jack Smith",
|
|
131
|
-
office: "LON",
|
|
132
|
-
startDate: "2015-05-15",
|
|
133
|
-
employeeLocation: expect.anything()
|
|
134
|
-
}]);
|
|
109
|
+
expect(employees.map(e => e.$primaryKey)).toEqual([50030, 50031, 50032, 50033, 50035, stubData.employee50050.employeeId]);
|
|
135
110
|
});
|
|
136
111
|
it("allows fetching by PK from a base object set - fetchOne", async () => {
|
|
137
112
|
const employee = await client(Employee).fetchOne(stubData.employee1.employeeId);
|
|
@@ -139,17 +114,31 @@ describe("ObjectSet", () => {
|
|
|
139
114
|
expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);
|
|
140
115
|
});
|
|
141
116
|
it("allows fetching by rid with experimental function", async () => {
|
|
142
|
-
const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee,
|
|
117
|
+
const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, stubData.employee1.__rid);
|
|
143
118
|
expectTypeOf().toMatchTypeOf;
|
|
144
119
|
expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);
|
|
145
120
|
});
|
|
121
|
+
it("allows fetching page of rids with experimental function", async () => {
|
|
122
|
+
const employees = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid).fetchPageByRid(Employee, [stubData.employee1.__rid, stubData.employee2.__rid], {});
|
|
123
|
+
expectTypeOf().toMatchTypeOf;
|
|
124
|
+
expect(employees.data[0].$primaryKey).toBe(stubData.employee1.employeeId);
|
|
125
|
+
expect(employees.data[1].$primaryKey).toBe(stubData.employee2.employeeId);
|
|
126
|
+
});
|
|
146
127
|
it("allows fetching by rid with experimental function, with select", async () => {
|
|
147
|
-
const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee,
|
|
128
|
+
const employee = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid).fetchOneByRid(Employee, stubData.employee2.__rid, {
|
|
148
129
|
$select: ["fullName"]
|
|
149
130
|
});
|
|
150
131
|
expectTypeOf().toMatchTypeOf;
|
|
151
132
|
expect(employee.$primaryKey).toBe(stubData.employee2.employeeId);
|
|
152
133
|
});
|
|
134
|
+
it("allows fetching by rid with experimental function, with select 2", async () => {
|
|
135
|
+
const employees = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid).fetchPageByRid(Employee, [stubData.employee2.__rid, stubData.employee3.__rid], {
|
|
136
|
+
$select: ["fullName"]
|
|
137
|
+
});
|
|
138
|
+
expectTypeOf().toMatchTypeOf;
|
|
139
|
+
expect(employees.data[0].$primaryKey).toBe(stubData.employee2.employeeId);
|
|
140
|
+
expect(employees.data[1].$primaryKey).toBe(stubData.employee3.employeeId);
|
|
141
|
+
});
|
|
153
142
|
it("check struct parsing", async () => {
|
|
154
143
|
const player = await client(BgaoNflPlayer).fetchOne("tkelce");
|
|
155
144
|
expectTypeOf().toMatchTypeOf;
|
|
@@ -223,16 +212,18 @@ describe("ObjectSet", () => {
|
|
|
223
212
|
it(" object set union works with fetchPageWithErrors", async () => {
|
|
224
213
|
const objectSet = client(Employee);
|
|
225
214
|
const unionedObjectSet = objectSet.union(objectSet);
|
|
226
|
-
let iter = 0;
|
|
227
215
|
const result = await unionedObjectSet.fetchPageWithErrors();
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
expect(emp.employeeId).toEqual(50030 + iter);
|
|
232
|
-
iter += 1;
|
|
233
|
-
}
|
|
234
|
-
expect(iter).toEqual(2);
|
|
216
|
+
const pks = new Set();
|
|
217
|
+
for (const emp of result.value.data) {
|
|
218
|
+
pks.add(emp.$primaryKey);
|
|
235
219
|
}
|
|
220
|
+
expect(pks.size).toEqual(6);
|
|
221
|
+
expect(pks.has(stubData.employee1.employeeId)).toBe(true);
|
|
222
|
+
expect(pks.has(stubData.employee2.employeeId)).toBe(true);
|
|
223
|
+
expect(pks.has(stubData.employee3.employeeId)).toBe(true);
|
|
224
|
+
expect(pks.has(stubData.employee4withDerived.employeeId)).toBe(true);
|
|
225
|
+
expect(pks.has(stubData.employeePassesStrict.__primaryKey)).toBe(true);
|
|
226
|
+
expect(pks.has(stubData.employee50050.employeeId)).toBe(true);
|
|
236
227
|
});
|
|
237
228
|
it("allows $in filter with ReadonlyArrays", () => {
|
|
238
229
|
const objectSet = client(Employee).where({
|
|
@@ -394,7 +385,7 @@ describe("ObjectSet", () => {
|
|
|
394
385
|
$includeRid: true
|
|
395
386
|
};
|
|
396
387
|
const result = k === "fetchPage" ? await client(Employee).fetchPage(opts) : (await client(Employee).fetchPageWithErrors(opts)).value;
|
|
397
|
-
expect(result.data).toHaveLength(
|
|
388
|
+
expect(result.data).toHaveLength(6);
|
|
398
389
|
expectTypeOf(result.data[0]).branded.toEqualTypeOf();
|
|
399
390
|
});
|
|
400
391
|
});
|
|
@@ -404,12 +395,254 @@ describe("ObjectSet", () => {
|
|
|
404
395
|
$includeRid: false
|
|
405
396
|
};
|
|
406
397
|
const result = k === "fetchPage" ? await client(Employee).fetchPage(opts) : (await client(Employee).fetchPageWithErrors(opts)).value;
|
|
407
|
-
expect(result.data).toHaveLength(
|
|
398
|
+
expect(result.data).toHaveLength(6);
|
|
408
399
|
expectTypeOf(result.data[0]).branded.toEqualTypeOf();
|
|
409
400
|
});
|
|
410
401
|
});
|
|
411
402
|
});
|
|
412
403
|
});
|
|
404
|
+
describe("Derived Properties Object Set", () => {
|
|
405
|
+
it("does not allow aggregate or selectProperty before a link type is selected", () => {
|
|
406
|
+
client(Employee).withProperties({
|
|
407
|
+
"derivedPropertyName": base =>
|
|
408
|
+
// @ts-expect-error
|
|
409
|
+
base.aggregate("employeeId:exactDistinct")
|
|
410
|
+
});
|
|
411
|
+
client(Employee).withProperties({
|
|
412
|
+
"derivedPropertyName": base =>
|
|
413
|
+
// @ts-expect-error
|
|
414
|
+
base.selectProperty("employeeId")
|
|
415
|
+
});
|
|
416
|
+
});
|
|
417
|
+
it("does not allow selectProperty when a many link was selected at any point", () => {
|
|
418
|
+
client(Employee).withProperties({
|
|
419
|
+
"derivedPropertyName": base => {
|
|
420
|
+
// @ts-expect-error
|
|
421
|
+
base.pivotTo("peeps").selectProperty("employeeId");
|
|
422
|
+
|
|
423
|
+
// @ts-expect-error
|
|
424
|
+
base.pivotTo("lead").pivotTo("peeps").selectProperty("employeeId");
|
|
425
|
+
return base.pivotTo("lead").selectProperty("employeeId");
|
|
426
|
+
}
|
|
427
|
+
});
|
|
428
|
+
});
|
|
429
|
+
it("enforces a return only of correct type", () => {
|
|
430
|
+
client(Employee).withProperties({
|
|
431
|
+
// @ts-expect-error
|
|
432
|
+
"derivedPropertyName": base => {
|
|
433
|
+
return base.pivotTo("peeps");
|
|
434
|
+
},
|
|
435
|
+
// @ts-expect-error
|
|
436
|
+
"derivedPropertyName2": () => {
|
|
437
|
+
return {
|
|
438
|
+
incorrect: "type"
|
|
439
|
+
};
|
|
440
|
+
}
|
|
441
|
+
});
|
|
442
|
+
});
|
|
443
|
+
|
|
444
|
+
// Executed code fails since we're providing bad strings to the function
|
|
445
|
+
it.fails("correctly narrows types of aggregate function", () => {
|
|
446
|
+
client(Employee).withProperties({
|
|
447
|
+
"derivedPropertyName": base => {
|
|
448
|
+
// @ts-expect-error
|
|
449
|
+
base.pivotTo("lead").aggregate("notAProperty:sum");
|
|
450
|
+
|
|
451
|
+
// @ts-expect-error
|
|
452
|
+
base.pivotTo("lead").aggregate(":avg");
|
|
453
|
+
|
|
454
|
+
// @ts-expect-error
|
|
455
|
+
base.pivotTo("lead").aggregate("employeeId:notAnOp");
|
|
456
|
+
|
|
457
|
+
// @ts-expect-error
|
|
458
|
+
base.pivotTo("lead").aggregate("");
|
|
459
|
+
base.pivotTo("lead").aggregate("employeeId:collectList");
|
|
460
|
+
return base.pivotTo("lead").aggregate("employeeId:sum");
|
|
461
|
+
}
|
|
462
|
+
});
|
|
463
|
+
});
|
|
464
|
+
|
|
465
|
+
// Executed code fails since we're providing bad strings to the function
|
|
466
|
+
it("correctly narrows types of options for aggregate functions", () => {
|
|
467
|
+
const objectSet = client(Employee).withProperties({
|
|
468
|
+
"derivedPropertyName": base => {
|
|
469
|
+
// @ts-expect-error
|
|
470
|
+
base.pivotTo("lead").aggregate("employeeId:approximateDistinct", {
|
|
471
|
+
limit: 1
|
|
472
|
+
});
|
|
473
|
+
base.pivotTo("lead").aggregate("employeeId:collectList", {
|
|
474
|
+
limit: 1
|
|
475
|
+
});
|
|
476
|
+
base.pivotTo("lead").aggregate("employeeId:collectSet", {
|
|
477
|
+
limit: 1
|
|
478
|
+
});
|
|
479
|
+
base.pivotTo("lead").aggregate("employeeId:collectList", {
|
|
480
|
+
// @ts-expect-error
|
|
481
|
+
percentile: 1
|
|
482
|
+
});
|
|
483
|
+
return base.pivotTo("lead").aggregate("employeeId:approximatePercentile", {
|
|
484
|
+
percentile: 0.5
|
|
485
|
+
});
|
|
486
|
+
}
|
|
487
|
+
});
|
|
488
|
+
expectTypeOf(objectSet).branded.toEqualTypeOf();
|
|
489
|
+
});
|
|
490
|
+
it("correctly narrows types of selectProperty function", () => {
|
|
491
|
+
client(Employee).withProperties({
|
|
492
|
+
"derivedPropertyName": base => {
|
|
493
|
+
// @ts-expect-error
|
|
494
|
+
base.pivotTo("lead").selectProperty("notAProperty");
|
|
495
|
+
return base.pivotTo("lead").selectProperty("employeeStatus");
|
|
496
|
+
}
|
|
497
|
+
});
|
|
498
|
+
});
|
|
499
|
+
it("propagates derived property type to future object set operations with correct types", () => {
|
|
500
|
+
client(Employee).withProperties({
|
|
501
|
+
"derivedPropertyName": base => base.pivotTo("lead").aggregate("employeeId:sum")
|
|
502
|
+
// @ts-expect-error
|
|
503
|
+
}).where({
|
|
504
|
+
"notAProperty": {
|
|
505
|
+
"$eq": 3
|
|
506
|
+
}
|
|
507
|
+
});
|
|
508
|
+
const numericAggregationObjectSet = client(Employee).withProperties({
|
|
509
|
+
"derivedPropertyName": base => base.pivotTo("lead").aggregate("employeeId:sum")
|
|
510
|
+
}).where({
|
|
511
|
+
"derivedPropertyName": {
|
|
512
|
+
"$eq": 3
|
|
513
|
+
}
|
|
514
|
+
});
|
|
515
|
+
expectTypeOf(numericAggregationObjectSet).toEqualTypeOf();
|
|
516
|
+
client(Employee).withProperties({
|
|
517
|
+
"derivedPropertyName": base => base.pivotTo("lead").aggregate("employeeId:collectList")
|
|
518
|
+
}).where({
|
|
519
|
+
"derivedPropertyName": {
|
|
520
|
+
"$isNull": false
|
|
521
|
+
}
|
|
522
|
+
})
|
|
523
|
+
// @ts-expect-error
|
|
524
|
+
.where({
|
|
525
|
+
"derivedPropertyName": {
|
|
526
|
+
"$eq": [1, 2]
|
|
527
|
+
}
|
|
528
|
+
});
|
|
529
|
+
const setAggregationObjectSet = client(Employee).withProperties({
|
|
530
|
+
"derivedPropertyName": base => base.pivotTo("lead").aggregate("fullName:collectSet")
|
|
531
|
+
});
|
|
532
|
+
setAggregationObjectSet.where({
|
|
533
|
+
"derivedPropertyName": {
|
|
534
|
+
"$isNull": false
|
|
535
|
+
}
|
|
536
|
+
});
|
|
537
|
+
setAggregationObjectSet.where({
|
|
538
|
+
// @ts-expect-error
|
|
539
|
+
"derivedPropertyName": {
|
|
540
|
+
"$eq": [1, 2]
|
|
541
|
+
}
|
|
542
|
+
});
|
|
543
|
+
expectTypeOf(setAggregationObjectSet).toEqualTypeOf();
|
|
544
|
+
const selectPropertyObjectSet = client(Employee).withProperties({
|
|
545
|
+
"derivedPropertyName": base => base.pivotTo("lead").selectProperty("employeeId")
|
|
546
|
+
}).where({
|
|
547
|
+
"derivedPropertyName": {
|
|
548
|
+
"$eq": 3
|
|
549
|
+
}
|
|
550
|
+
});
|
|
551
|
+
expectTypeOf(selectPropertyObjectSet).toEqualTypeOf();
|
|
552
|
+
client(Employee).withProperties({
|
|
553
|
+
"derivedPropertyName": base => base.pivotTo("lead").selectProperty("startDate")
|
|
554
|
+
}).where({
|
|
555
|
+
"derivedPropertyName": {
|
|
556
|
+
"$eq": "datetimeFilter"
|
|
557
|
+
}
|
|
558
|
+
});
|
|
559
|
+
});
|
|
560
|
+
it("correctly types multiple property definitions in one clause", () => {
|
|
561
|
+
const objectSet = client(Employee).withProperties({
|
|
562
|
+
"derivedPropertyName": base => base.pivotTo("lead").aggregate("employeeId:sum"),
|
|
563
|
+
"derivedPropertyName2": base => base.pivotTo("lead").selectProperty("fullName")
|
|
564
|
+
}).where({
|
|
565
|
+
"derivedPropertyName": {
|
|
566
|
+
"$eq": 3
|
|
567
|
+
}
|
|
568
|
+
}).where({
|
|
569
|
+
"derivedPropertyName2": {
|
|
570
|
+
"$eq": "name"
|
|
571
|
+
}
|
|
572
|
+
});
|
|
573
|
+
expectTypeOf(objectSet).toEqualTypeOf();
|
|
574
|
+
});
|
|
575
|
+
it("ensures other properties are consistently typed", () => {
|
|
576
|
+
client(Employee).withProperties({
|
|
577
|
+
"derivedPropertyName": base => base.pivotTo("lead").selectProperty("employeeId")
|
|
578
|
+
}).where({
|
|
579
|
+
"fullName": {
|
|
580
|
+
"$eq": "A"
|
|
581
|
+
}
|
|
582
|
+
});
|
|
583
|
+
client(Employee).withProperties({
|
|
584
|
+
"derivedPropertyName": base => base.pivotTo("lead").selectProperty("employeeId")
|
|
585
|
+
}).where({
|
|
586
|
+
"employeeId": {
|
|
587
|
+
"$eq": 2
|
|
588
|
+
}
|
|
589
|
+
});
|
|
590
|
+
});
|
|
591
|
+
it("allows fetching derived properties with correctly typed Osdk.Instance types", async () => {
|
|
592
|
+
const objectWithRdp = await client(Employee).withProperties({
|
|
593
|
+
"derivedPropertyName": base => base.pivotTo("lead").selectProperty("employeeId")
|
|
594
|
+
}).fetchOne(stubData.employee1.employeeId);
|
|
595
|
+
expectTypeOf(objectWithRdp.derivedPropertyName).toEqualTypeOf();
|
|
596
|
+
expect(objectWithRdp.derivedPropertyName).toBe(stubData.employee2.__primaryKey);
|
|
597
|
+
const objectWithUndefinedRdp = await client(Employee).withProperties({
|
|
598
|
+
"derivedPropertyName": base => base.pivotTo("lead").selectProperty("employeeId")
|
|
599
|
+
}).fetchOne(stubData.employee2.employeeId, {
|
|
600
|
+
$select: ["derivedPropertyName"]
|
|
601
|
+
});
|
|
602
|
+
expect(objectWithUndefinedRdp.derivedPropertyName).toBeUndefined();
|
|
603
|
+
});
|
|
604
|
+
});
|
|
605
|
+
|
|
606
|
+
// Can't run these tests because we can't load by primary key!
|
|
607
|
+
// describe.each(["fetchOne", "fetchOneWithErrors"] as const)("%s", (k) => {
|
|
608
|
+
// describe("strictNonNull: false", () => {
|
|
609
|
+
// describe("includeRid: true", () => {
|
|
610
|
+
// it("returns bad data", async () => {
|
|
611
|
+
// // Look at this
|
|
612
|
+
// const opts = {
|
|
613
|
+
// $__EXPERIMENTAL_strictNonNull: false,
|
|
614
|
+
// $includeRid: true,
|
|
615
|
+
// } as const;
|
|
616
|
+
// const result = k === "fetchOne"
|
|
617
|
+
// ? await client(Employee).fetchOne(50033, opts)
|
|
618
|
+
// : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;
|
|
619
|
+
|
|
620
|
+
// expect(result).not.toBeUndefined();
|
|
621
|
+
// expectTypeOf(result).branded.toEqualTypeOf<
|
|
622
|
+
// Osdk<Employee, "$all" | "$notStrict" | "$rid">
|
|
623
|
+
// >();
|
|
624
|
+
// });
|
|
625
|
+
// });
|
|
626
|
+
|
|
627
|
+
// describe("includeRid: false", () => {
|
|
628
|
+
// it("returns bad data", async () => {
|
|
629
|
+
// const opts = {
|
|
630
|
+
// $__EXPERIMENTAL_strictNonNull: false,
|
|
631
|
+
// $includeRid: false,
|
|
632
|
+
// } as const;
|
|
633
|
+
// const result = k === "fetchOne"
|
|
634
|
+
// ? await client(Employee).fetchOne(50033, opts)
|
|
635
|
+
// : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;
|
|
636
|
+
|
|
637
|
+
// expect(result).not.toBeUndefined();
|
|
638
|
+
// expectTypeOf(result).branded.toEqualTypeOf<
|
|
639
|
+
// Osdk<Employee, "$all" | "$notStrict">
|
|
640
|
+
// >();
|
|
641
|
+
// });
|
|
642
|
+
// });
|
|
643
|
+
// });
|
|
644
|
+
// });
|
|
645
|
+
|
|
413
646
|
describe("conversions", () => {
|
|
414
647
|
describe("strictNonNull: false", () => {
|
|
415
648
|
it("returns bad data", async () => {
|
|
@@ -428,6 +661,7 @@ describe("ObjectSet", () => {
|
|
|
428
661
|
expectTypeOf().toEqualTypeOf();
|
|
429
662
|
expectTypeOf().toEqualTypeOf();
|
|
430
663
|
expectTypeOf().toEqualTypeOf();
|
|
664
|
+
expectTypeOf().toEqualTypeOf();
|
|
431
665
|
|
|
432
666
|
// We don't have a proper definition that has
|
|
433
667
|
// a non-null property on an interface so
|