@osdk/client 2.2.0-beta.8 → 2.3.0-beta.1
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 +388 -0
- package/build/browser/MinimalClientContext.js.map +1 -1
- package/build/browser/__unstable/ConjureSupport.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 +134 -89
- package/build/browser/actions/actions.test.js.map +1 -1
- package/build/browser/actions/applyAction.js.map +1 -1
- package/build/browser/createClient.js +5 -1
- 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 +36 -13
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js +133 -0
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -1
- package/build/browser/derivedProperties/derivedPropertyDefinitionFactory.js +93 -0
- package/build/browser/derivedProperties/derivedPropertyDefinitionFactory.js.map +1 -0
- package/build/browser/fetchMetadata.js +1 -1
- package/build/browser/fetchMetadata.js.map +1 -1
- package/build/browser/fetchMetadata.test.js +11 -9
- package/build/browser/fetchMetadata.test.js.map +1 -1
- package/build/browser/index.js +0 -1
- package/build/browser/index.js.map +1 -1
- package/build/{esm/util/isOsdkBaseObject.js → browser/intellisense.test.helpers/showsObjectPropertyJsdoc.js} +9 -4
- package/build/browser/intellisense.test.helpers/showsObjectPropertyJsdoc.js.map +1 -0
- package/build/browser/intellisense.test.js +17 -1
- package/build/browser/intellisense.test.js.map +1 -1
- package/build/browser/logger/BaseLogger.js +59 -0
- package/build/browser/logger/BaseLogger.js.map +1 -0
- package/build/browser/logger/BrowserLogger.js +67 -0
- package/build/browser/logger/BrowserLogger.js.map +1 -0
- package/build/browser/logger/MinimalLogger.js +39 -0
- package/build/browser/logger/MinimalLogger.js.map +1 -0
- package/build/browser/logger/MinimalLogger.test.js +60 -0
- package/build/browser/logger/MinimalLogger.test.js.map +1 -0
- package/build/browser/logger/TestLogger.js +56 -0
- package/build/browser/logger/TestLogger.js.map +1 -0
- package/build/browser/object/SimpleOsdkProperties.js +2 -0
- package/build/browser/object/SimpleOsdkProperties.js.map +1 -0
- 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 +4 -0
- package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +53 -35
- 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 +7 -15
- package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.test.js +39 -33
- package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/browser/object/fetchPage.js +17 -4
- 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 +96 -89
- 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 +200 -116
- package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js +20 -16
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +19 -12
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/browser/objectSet/createObjectSet.js +2 -1
- 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/internal/ActionApplication.js +32 -32
- package/build/browser/observable/internal/ActionApplication.js.map +1 -1
- 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 +1 -1
- package/build/browser/observable/internal/CacheKey.js.map +1 -1
- package/build/browser/observable/internal/CacheKeys.js +2 -2
- package/build/browser/observable/internal/CacheKeys.js.map +1 -1
- package/build/browser/observable/internal/{ChangedObjects.js → Changes.js} +20 -9
- package/build/browser/observable/internal/Changes.js.map +1 -0
- package/build/browser/observable/internal/Layer.js +3 -0
- package/build/browser/observable/internal/Layer.js.map +1 -1
- package/build/browser/observable/internal/ListQuery.js +414 -170
- package/build/browser/observable/internal/ListQuery.js.map +1 -1
- package/build/browser/observable/internal/ObjectQuery.js +34 -21
- 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 +1 -1
- 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 +64 -31
- 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 +86 -269
- package/build/browser/observable/internal/Store.js.map +1 -1
- package/build/browser/observable/internal/Store.test.js +401 -375
- 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 -2
- 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 +85 -20
- package/build/browser/observable/internal/testUtils.js.map +1 -1
- package/build/browser/ontology/OntologyProvider.js.map +1 -1
- package/build/browser/ontology/StandardOntologyProvider.js +12 -5
- package/build/browser/ontology/StandardOntologyProvider.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/ontology/loadFullObjectMetadata.js +0 -1
- package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
- package/build/browser/ontology/loadQueryMetadata.js +5 -2
- package/build/browser/ontology/loadQueryMetadata.js.map +1 -1
- package/build/browser/public/internal.js +2 -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/osdkConfig.js +49 -0
- package/build/browser/public-utils/osdkConfig.js.map +1 -0
- package/build/browser/{object/createObjectSpecifierFromPrimaryKey.js → public-utils/vite-env.d.ts} +2 -3
- package/build/browser/queries/applyQuery.js +6 -4
- package/build/browser/queries/applyQuery.js.map +1 -1
- package/build/browser/queries/queries.test.js +93 -27
- package/build/browser/queries/queries.test.js.map +1 -1
- package/build/browser/queries/types.js.map +1 -1
- package/build/browser/tsserver.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/extractRdpDefinition.js +140 -0
- package/build/browser/util/extractRdpDefinition.js.map +1 -0
- package/build/browser/util/extractRdpDefinition.test.js +233 -0
- package/build/browser/util/extractRdpDefinition.test.js.map +1 -0
- package/build/browser/util/{isOsdkBaseObject.js → isObjectSpecifiersObject.js} +2 -2
- package/build/browser/util/isObjectSpecifiersObject.js.map +1 -0
- package/build/browser/util/isPoint.js +20 -0
- package/build/browser/util/isPoint.js.map +1 -0
- package/build/browser/util/objectSpecifierUtils.js +48 -0
- package/build/browser/util/objectSpecifierUtils.js.map +1 -0
- package/build/browser/util/objectSpecifierUtils.test.js +42 -0
- package/build/browser/util/objectSpecifierUtils.test.js.map +1 -0
- package/build/browser/util/toDataValue.js +6 -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 +4 -6
- package/build/browser/util/toDataValueQueries.js.map +1 -1
- package/build/cjs/{Client-DBTcM9gB.d.cts → Client-CgL2LKN9.d.cts} +6 -7
- package/build/cjs/{chunk-IU47QMYO.cjs → chunk-FKI2LO2O.cjs} +250 -82
- package/build/cjs/chunk-FKI2LO2O.cjs.map +1 -0
- package/build/cjs/chunk-T4NIFYZS.cjs +14 -0
- package/build/cjs/chunk-T4NIFYZS.cjs.map +1 -0
- package/build/cjs/{chunk-JPENHIJB.cjs → chunk-W5PFESFR.cjs} +174 -35
- package/build/cjs/chunk-W5PFESFR.cjs.map +1 -0
- package/build/cjs/index.cjs +212 -193
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +4 -24
- package/build/cjs/public/internal.cjs +61 -7
- package/build/cjs/public/internal.cjs.map +1 -1
- package/build/cjs/public/internal.d.cts +50 -3
- package/build/cjs/public/unstable-do-not-use.cjs +885 -620
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
- package/build/cjs/public/unstable-do-not-use.d.cts +35 -25
- package/build/esm/MinimalClientContext.js.map +1 -1
- package/build/esm/__unstable/ConjureSupport.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 +134 -89
- package/build/esm/actions/actions.test.js.map +1 -1
- package/build/esm/actions/applyAction.js.map +1 -1
- package/build/esm/createClient.js +5 -1
- 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 +36 -13
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js +133 -0
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -1
- package/build/esm/derivedProperties/derivedPropertyDefinitionFactory.js +93 -0
- package/build/esm/derivedProperties/derivedPropertyDefinitionFactory.js.map +1 -0
- package/build/esm/fetchMetadata.js +1 -1
- package/build/esm/fetchMetadata.js.map +1 -1
- package/build/esm/fetchMetadata.test.js +11 -9
- package/build/esm/fetchMetadata.test.js.map +1 -1
- package/build/esm/index.js +0 -1
- package/build/esm/index.js.map +1 -1
- package/build/esm/{util/isOsdkObject.js → intellisense.test.helpers/showsObjectPropertyJsdoc.js} +9 -4
- package/build/esm/intellisense.test.helpers/showsObjectPropertyJsdoc.js.map +1 -0
- package/build/esm/intellisense.test.js +17 -1
- package/build/esm/intellisense.test.js.map +1 -1
- package/build/esm/logger/BaseLogger.js +59 -0
- package/build/esm/logger/BaseLogger.js.map +1 -0
- package/build/esm/logger/BrowserLogger.js +67 -0
- package/build/esm/logger/BrowserLogger.js.map +1 -0
- package/build/esm/logger/MinimalLogger.js +39 -0
- package/build/esm/logger/MinimalLogger.js.map +1 -0
- package/build/esm/logger/MinimalLogger.test.js +60 -0
- package/build/esm/logger/MinimalLogger.test.js.map +1 -0
- package/build/esm/logger/TestLogger.js +56 -0
- package/build/esm/logger/TestLogger.js.map +1 -0
- package/build/esm/object/SimpleOsdkProperties.js +2 -0
- package/build/esm/object/SimpleOsdkProperties.js.map +1 -0
- 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 +4 -0
- package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +53 -35
- 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 +7 -15
- package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.test.js +39 -33
- package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/esm/object/fetchPage.js +17 -4
- 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 +96 -89
- 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 +200 -116
- package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js +20 -16
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +19 -12
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/esm/objectSet/createObjectSet.js +2 -1
- 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/internal/ActionApplication.js +32 -32
- package/build/esm/observable/internal/ActionApplication.js.map +1 -1
- 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 +1 -1
- package/build/esm/observable/internal/CacheKey.js.map +1 -1
- package/build/esm/observable/internal/CacheKeys.js +2 -2
- package/build/esm/observable/internal/CacheKeys.js.map +1 -1
- package/build/esm/observable/internal/{ChangedObjects.js → Changes.js} +20 -9
- package/build/esm/observable/internal/Changes.js.map +1 -0
- package/build/esm/observable/internal/Layer.js +3 -0
- package/build/esm/observable/internal/Layer.js.map +1 -1
- package/build/esm/observable/internal/ListQuery.js +414 -170
- package/build/esm/observable/internal/ListQuery.js.map +1 -1
- package/build/esm/observable/internal/ObjectQuery.js +34 -21
- 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 +1 -1
- 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 +64 -31
- 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 +86 -269
- package/build/esm/observable/internal/Store.js.map +1 -1
- package/build/esm/observable/internal/Store.test.js +401 -375
- 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 -2
- 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 +85 -20
- package/build/esm/observable/internal/testUtils.js.map +1 -1
- package/build/esm/ontology/OntologyProvider.js.map +1 -1
- package/build/esm/ontology/StandardOntologyProvider.js +12 -5
- package/build/esm/ontology/StandardOntologyProvider.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/ontology/loadFullObjectMetadata.js +0 -1
- package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
- package/build/esm/ontology/loadQueryMetadata.js +5 -2
- package/build/esm/ontology/loadQueryMetadata.js.map +1 -1
- package/build/esm/public/internal.js +2 -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/osdkConfig.js +49 -0
- package/build/esm/public-utils/osdkConfig.js.map +1 -0
- package/build/esm/{object/createObjectSpecifierFromPrimaryKey.js → public-utils/vite-env.d.ts} +2 -3
- package/build/esm/queries/applyQuery.js +6 -4
- package/build/esm/queries/applyQuery.js.map +1 -1
- package/build/esm/queries/queries.test.js +93 -27
- package/build/esm/queries/queries.test.js.map +1 -1
- package/build/esm/queries/types.js.map +1 -1
- package/build/esm/tsserver.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/extractRdpDefinition.js +140 -0
- package/build/esm/util/extractRdpDefinition.js.map +1 -0
- package/build/esm/util/extractRdpDefinition.test.js +233 -0
- package/build/esm/util/extractRdpDefinition.test.js.map +1 -0
- package/build/{browser/util/isOsdkObject.js → esm/util/isObjectSpecifiersObject.js} +2 -2
- package/build/esm/util/isObjectSpecifiersObject.js.map +1 -0
- package/build/esm/util/isPoint.js +20 -0
- package/build/esm/util/isPoint.js.map +1 -0
- package/build/esm/util/objectSpecifierUtils.js +48 -0
- package/build/esm/util/objectSpecifierUtils.js.map +1 -0
- package/build/esm/util/objectSpecifierUtils.test.js +42 -0
- package/build/esm/util/objectSpecifierUtils.test.js.map +1 -0
- package/build/esm/util/toDataValue.js +6 -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 +4 -6
- package/build/esm/util/toDataValueQueries.js.map +1 -1
- package/build/types/MinimalClientContext.d.ts +1 -1
- package/build/types/MinimalClientContext.d.ts.map +1 -1
- package/build/types/__unstable/ConjureSupport.d.ts +2 -2
- package/build/types/actions/applyAction.d.ts +1 -2
- 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/derivedPropertyDefinitionFactory.d.ts +1 -0
- package/build/types/derivedProperties/derivedPropertyDefinitionFactory.d.ts.map +1 -0
- package/build/types/index.d.ts +4 -6
- package/build/types/index.d.ts.map +1 -1
- package/build/types/intellisense.test.helpers/showsObjectPropertyJsdoc.d.ts +1 -0
- package/build/types/intellisense.test.helpers/showsObjectPropertyJsdoc.d.ts.map +1 -0
- package/build/types/logger/BaseLogger.d.ts +33 -0
- package/build/types/logger/BaseLogger.d.ts.map +1 -0
- package/build/types/logger/BrowserLogger.d.ts +9 -0
- package/build/types/logger/BrowserLogger.d.ts.map +1 -0
- package/build/types/logger/MinimalLogger.d.ts +9 -0
- package/build/types/logger/MinimalLogger.d.ts.map +1 -0
- package/build/types/logger/MinimalLogger.test.d.ts +1 -0
- package/build/types/logger/MinimalLogger.test.d.ts.map +1 -0
- package/build/types/logger/TestLogger.d.ts +14 -0
- package/build/types/logger/TestLogger.d.ts.map +1 -0
- 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/fetchPage.d.ts.map +1 -1
- 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 +27 -11
- package/build/types/observable/ObservableClient.d.ts.map +1 -1
- package/build/types/observable/internal/ActionApplication.d.ts +2 -2
- package/build/types/observable/internal/ActionApplication.d.ts.map +1 -1
- 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 +1 -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 +1 -0
- package/build/types/observable/internal/Layer.d.ts.map +1 -1
- package/build/types/observable/internal/ListQuery.d.ts +59 -14
- package/build/types/observable/internal/ListQuery.d.ts.map +1 -1
- package/build/types/observable/internal/ObjectQuery.d.ts +5 -6
- package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -1
- package/build/types/observable/internal/OptimisticJob.d.ts +1 -1
- 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 +41 -6
- 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 +20 -44
- 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 +39 -10
- package/build/types/observable/internal/testUtils.d.ts.map +1 -1
- package/build/types/ontology/OntologyProvider.d.ts +1 -1
- package/build/types/ontology/OntologyProvider.d.ts.map +1 -1
- package/build/types/ontology/loadQueryMetadata.d.ts +1 -1
- package/build/types/ontology/loadQueryMetadata.d.ts.map +1 -1
- package/build/types/public/internal.d.ts +2 -0
- package/build/types/public/internal.d.ts.map +1 -1
- package/build/types/public/unstable-do-not-use.d.ts +4 -5
- package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
- package/build/types/public-utils/osdkConfig.d.ts +8 -0
- package/build/types/public-utils/osdkConfig.d.ts.map +1 -0
- package/build/types/public-utils/vite-env.d.d.ts +3 -0
- package/build/types/public-utils/vite-env.d.d.ts.map +1 -0
- package/build/types/queries/applyQuery.d.ts +2 -2
- package/build/types/queries/applyQuery.d.ts.map +1 -1
- package/build/types/queries/types.d.ts +1 -1
- package/build/types/queries/types.d.ts.map +1 -1
- package/build/types/tsserver.d.ts +1 -1
- package/build/types/tsserver.d.ts.map +1 -1
- package/build/types/util/extractRdpDefinition.d.ts +4 -0
- package/build/types/util/extractRdpDefinition.d.ts.map +1 -0
- package/build/types/util/extractRdpDefinition.test.d.ts +1 -0
- package/build/types/util/extractRdpDefinition.test.d.ts.map +1 -0
- package/build/types/util/isObjectSpecifiersObject.d.ts +5 -0
- package/build/types/util/isObjectSpecifiersObject.d.ts.map +1 -0
- package/build/types/util/isPoint.d.ts +1 -0
- package/build/types/util/isPoint.d.ts.map +1 -0
- package/build/types/util/objectSpecifierUtils.d.ts +24 -0
- package/build/types/util/objectSpecifierUtils.d.ts.map +1 -0
- package/build/types/util/objectSpecifierUtils.test.d.ts +1 -0
- package/build/types/util/objectSpecifierUtils.test.d.ts.map +1 -0
- package/package.json +21 -18
- package/build/browser/Logger.js +0 -2
- package/build/browser/Logger.js.map +0 -1
- package/build/browser/object/createObjectSpecifierFromPrimaryKey.js.map +0 -1
- package/build/browser/observable/internal/ChangedObjects.js.map +0 -1
- package/build/browser/util/isOsdkBaseObject.js.map +0 -1
- package/build/browser/util/isOsdkObject.js.map +0 -1
- package/build/cjs/chunk-IU47QMYO.cjs.map +0 -1
- package/build/cjs/chunk-JPENHIJB.cjs.map +0 -1
- package/build/cjs/chunk-Q7SFCCGT.cjs +0 -11
- package/build/cjs/chunk-Q7SFCCGT.cjs.map +0 -1
- package/build/cjs/graphql-RGM5SRWV.cjs +0 -10532
- package/build/cjs/graphql-RGM5SRWV.cjs.map +0 -1
- package/build/esm/Logger.js +0 -2
- package/build/esm/Logger.js.map +0 -1
- package/build/esm/object/createObjectSpecifierFromPrimaryKey.js.map +0 -1
- package/build/esm/observable/internal/ChangedObjects.js.map +0 -1
- package/build/esm/util/isOsdkBaseObject.js.map +0 -1
- package/build/esm/util/isOsdkObject.js.map +0 -1
- package/build/types/Logger.d.ts +0 -17
- package/build/types/Logger.d.ts.map +0 -1
- package/build/types/object/createObjectSpecifierFromPrimaryKey.d.ts +0 -2
- package/build/types/object/createObjectSpecifierFromPrimaryKey.d.ts.map +0 -1
- package/build/types/observable/internal/ChangedObjects.d.ts +0 -11
- package/build/types/observable/internal/ChangedObjects.d.ts.map +0 -1
- package/build/types/util/isOsdkBaseObject.d.ts +0 -2
- package/build/types/util/isOsdkBaseObject.d.ts.map +0 -1
- package/build/types/util/isOsdkObject.d.ts +0 -2
- package/build/types/util/isOsdkObject.d.ts.map +0 -1
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
|
|
17
17
|
import { $ontologyRid, Employee, FooInterface, objectTypeWithAllPropertyTypes } from "@osdk/client.test.ontology";
|
|
18
18
|
import { createSharedClientContext } from "@osdk/shared.client.impl";
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
19
|
+
import { LegacyFauxFoundry, startNodeApiServer } from "@osdk/shared.test";
|
|
20
|
+
import { beforeAll, describe, expect, expectTypeOf, it } from "vitest";
|
|
21
21
|
import { additionalContext } from "../Client.js";
|
|
22
22
|
import { createClient } from "../createClient.js";
|
|
23
23
|
import { createMinimalClient } from "../createMinimalClient.js";
|
|
@@ -31,12 +31,14 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
|
-
beforeAll(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
beforeAll(() => {
|
|
35
|
+
const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);
|
|
36
|
+
({
|
|
37
|
+
client
|
|
38
|
+
} = testSetup);
|
|
39
|
+
return () => {
|
|
40
|
+
testSetup.apiServer.close();
|
|
41
|
+
};
|
|
40
42
|
});
|
|
41
43
|
it("configures properties correctly", async () => {
|
|
42
44
|
const {
|
|
@@ -66,11 +68,11 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
66
68
|
|
|
67
69
|
// Should not have $title
|
|
68
70
|
expect(JSON.stringify(employee)).toMatchInlineSnapshot(`"{"employeeId":50030,"fullName":"John Doe","office":"NYC","class":"Red","startDate":"2019-01-01","employeeStatus":{},"employeeSensor":{},"employeeLocation":{},"$apiName":"Employee","$objectType":"Employee","$primaryKey":50030,"$objectSpecifier":"Employee:50030"}"`);
|
|
69
|
-
expect(JSON.stringify(employee.$as(FooInterface))).toMatchInlineSnapshot(`"{"$apiName":"FooInterface","$objectType":"Employee","$primaryKey":50030,"fooSpt":"John Doe"}"`);
|
|
71
|
+
expect(JSON.stringify(employee.$as(FooInterface))).toMatchInlineSnapshot(`"{"$apiName":"FooInterface","$objectType":"Employee","$primaryKey":50030,"$objectSpecifier":"Employee:50030","fooSpt":"John Doe"}"`);
|
|
70
72
|
|
|
71
73
|
// Should have $title
|
|
72
74
|
expect(JSON.stringify(employee2)).toMatchInlineSnapshot(`"{"employeeId":50031,"fullName":"Jane Doe","office":"SEA","class":"Blue","startDate":"2012-02-12","employeeStatus":{},"employeeSensor":{},"employeeLocation":{},"$apiName":"Employee","$objectType":"Employee","$primaryKey":50031,"$title":"Jane Doe","$objectSpecifier":"Employee:50031"}"`);
|
|
73
|
-
expect(JSON.stringify(employee2.$as(FooInterface))).toMatchInlineSnapshot(`"{"$apiName":"FooInterface","$objectType":"Employee","$primaryKey":50031,"$title":"Jane Doe","fooSpt":"Jane Doe"}"`);
|
|
75
|
+
expect(JSON.stringify(employee2.$as(FooInterface))).toMatchInlineSnapshot(`"{"$apiName":"FooInterface","$objectType":"Employee","$primaryKey":50031,"$objectSpecifier":"Employee:50031","$title":"Jane Doe","fooSpt":"Jane Doe"}"`);
|
|
74
76
|
});
|
|
75
77
|
it("reuses the object prototype across objects", async () => {
|
|
76
78
|
const employees = await client(Employee).fetchPage();
|
|
@@ -143,7 +145,7 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
143
145
|
__primaryKey: 0
|
|
144
146
|
};
|
|
145
147
|
const prototypeBefore = Object.getPrototypeOf(object);
|
|
146
|
-
const object2 = await convertWireToOsdkObjects(clientCtx, [object], undefined, undefined, undefined, false);
|
|
148
|
+
const object2 = await convertWireToOsdkObjects(clientCtx, [object], undefined, undefined, {}, undefined, false);
|
|
147
149
|
const prototypeAfter = Object.getPrototypeOf(object2);
|
|
148
150
|
expect(prototypeBefore).not.toBe(prototypeAfter);
|
|
149
151
|
});
|
|
@@ -157,7 +159,7 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
157
159
|
__primaryKey: 0
|
|
158
160
|
};
|
|
159
161
|
const prototypeBefore = Object.getPrototypeOf(object);
|
|
160
|
-
const object2 = await convertWireToOsdkObjects2(clientCtx, [object], undefined, undefined, undefined, false);
|
|
162
|
+
const object2 = await convertWireToOsdkObjects2(clientCtx, [object], undefined, {}, undefined, undefined, false);
|
|
161
163
|
const prototypeAfter = Object.getPrototypeOf(object2);
|
|
162
164
|
expect(prototypeBefore).not.toBe(prototypeAfter);
|
|
163
165
|
});
|
|
@@ -170,10 +172,11 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
170
172
|
__primaryKey: 0,
|
|
171
173
|
__title: "Steve",
|
|
172
174
|
fooSpt: "Steve"
|
|
173
|
-
}], FooInterface.apiName);
|
|
175
|
+
}], FooInterface.apiName, undefined, {});
|
|
174
176
|
expect(objAsFoo).toMatchInlineSnapshot(`
|
|
175
177
|
{
|
|
176
178
|
"$apiName": "FooInterface",
|
|
179
|
+
"$objectSpecifier": "Employee:0",
|
|
177
180
|
"$objectType": "Employee",
|
|
178
181
|
"$primaryKey": 0,
|
|
179
182
|
"$title": "Steve",
|
|
@@ -203,10 +206,11 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
203
206
|
__primaryKey: 0,
|
|
204
207
|
__title: "Steve",
|
|
205
208
|
fullName: "Steve"
|
|
206
|
-
}], FooInterface.apiName, false, undefined, false, interfaceToObjectTypeMappings);
|
|
209
|
+
}], FooInterface.apiName, {}, false, undefined, false, interfaceToObjectTypeMappings);
|
|
207
210
|
expect(objAsFoo).toMatchInlineSnapshot(`
|
|
208
211
|
{
|
|
209
212
|
"$apiName": "FooInterface",
|
|
213
|
+
"$objectSpecifier": "Employee:0",
|
|
210
214
|
"$objectType": "Employee",
|
|
211
215
|
"$primaryKey": 0,
|
|
212
216
|
"$title": "Steve",
|
|
@@ -236,10 +240,11 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
236
240
|
__title: "Steve",
|
|
237
241
|
__rid: "hiMom",
|
|
238
242
|
fooSpt: "Steve"
|
|
239
|
-
}], FooInterface.apiName);
|
|
243
|
+
}], FooInterface.apiName, undefined, {});
|
|
240
244
|
expect(objAsFoo).toMatchInlineSnapshot(`
|
|
241
245
|
{
|
|
242
246
|
"$apiName": "FooInterface",
|
|
247
|
+
"$objectSpecifier": "Employee:0",
|
|
243
248
|
"$objectType": "Employee",
|
|
244
249
|
"$primaryKey": 0,
|
|
245
250
|
"$rid": "hiMom",
|
|
@@ -275,10 +280,11 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
275
280
|
__rid: "hiMom",
|
|
276
281
|
fullName: "Steve",
|
|
277
282
|
employeeId: 0
|
|
278
|
-
}], FooInterface.apiName, false, undefined, false, interfaceToObjectTypeMappings);
|
|
283
|
+
}], FooInterface.apiName, {}, false, undefined, false, interfaceToObjectTypeMappings);
|
|
279
284
|
expect(objAsFoo).toMatchInlineSnapshot(`
|
|
280
285
|
{
|
|
281
286
|
"$apiName": "FooInterface",
|
|
287
|
+
"$objectSpecifier": "Employee:0",
|
|
282
288
|
"$objectType": "Employee",
|
|
283
289
|
"$primaryKey": 0,
|
|
284
290
|
"$rid": "hiMom",
|
|
@@ -309,26 +315,26 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
309
315
|
__apiName: "Employee",
|
|
310
316
|
__primaryKey: 0
|
|
311
317
|
};
|
|
312
|
-
await expect(() => convertWireToOsdkObjects(client[additionalContext], [object], undefined, undefined, ["employeeId"], "throw")).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);
|
|
318
|
+
await expect(() => convertWireToOsdkObjects(client[additionalContext], [object], undefined, undefined, {}, ["employeeId"], "throw")).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);
|
|
313
319
|
});
|
|
314
320
|
it("does not throw when optional is missing", async () => {
|
|
315
321
|
await expect(convertWireToOsdkObjects(client[additionalContext], [{
|
|
316
322
|
__apiName: "Employee",
|
|
317
323
|
__primaryKey: 0
|
|
318
|
-
}], undefined, undefined, ["fullName"], "throw")).resolves.to.not.toBeUndefined();
|
|
324
|
+
}], undefined, undefined, {}, ["fullName"], "throw")).resolves.to.not.toBeUndefined();
|
|
319
325
|
});
|
|
320
326
|
it("filters when it should", async () => {
|
|
321
327
|
const result = await convertWireToOsdkObjects(client[additionalContext], [{
|
|
322
328
|
__apiName: "Employee",
|
|
323
329
|
__primaryKey: 0
|
|
324
|
-
}], undefined, undefined, ["employeeId"], "drop");
|
|
330
|
+
}], undefined, undefined, {}, ["employeeId"], "drop");
|
|
325
331
|
expect(result.length).toBe(0);
|
|
326
332
|
});
|
|
327
333
|
it("does not filter when it shouldn't", async () => {
|
|
328
334
|
const result = await convertWireToOsdkObjects(client[additionalContext], [{
|
|
329
335
|
__apiName: "Employee",
|
|
330
336
|
__primaryKey: 0
|
|
331
|
-
}], undefined, undefined, ["fullName"], "drop");
|
|
337
|
+
}], undefined, undefined, {}, ["fullName"], "drop");
|
|
332
338
|
expect(result.length).toBe(1);
|
|
333
339
|
});
|
|
334
340
|
});
|
|
@@ -338,26 +344,26 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
338
344
|
__apiName: "Employee",
|
|
339
345
|
__primaryKey: 0
|
|
340
346
|
};
|
|
341
|
-
await expect(() => convertWireToOsdkObjects2(client[additionalContext], [object], undefined, undefined, ["employeeId"], "throw")).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);
|
|
347
|
+
await expect(() => convertWireToOsdkObjects2(client[additionalContext], [object], undefined, {}, undefined, ["employeeId"], "throw")).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);
|
|
342
348
|
});
|
|
343
349
|
it("does not throw when optional is missing", async () => {
|
|
344
350
|
await expect(convertWireToOsdkObjects2(client[additionalContext], [{
|
|
345
351
|
__apiName: "Employee",
|
|
346
352
|
__primaryKey: 0
|
|
347
|
-
}], undefined, undefined, ["fullName"], "throw")).resolves.to.not.toBeUndefined();
|
|
353
|
+
}], undefined, {}, undefined, ["fullName"], "throw")).resolves.to.not.toBeUndefined();
|
|
348
354
|
});
|
|
349
355
|
it("filters when it should", async () => {
|
|
350
356
|
const result = await convertWireToOsdkObjects2(client[additionalContext], [{
|
|
351
357
|
__apiName: "Employee",
|
|
352
358
|
__primaryKey: 0
|
|
353
|
-
}], undefined, undefined, ["employeeId"], "drop");
|
|
359
|
+
}], undefined, {}, undefined, ["employeeId"], "drop");
|
|
354
360
|
expect(result.length).toBe(0);
|
|
355
361
|
});
|
|
356
362
|
it("does not filter when it shouldn't", async () => {
|
|
357
363
|
const result = await convertWireToOsdkObjects2(client[additionalContext], [{
|
|
358
364
|
__apiName: "Employee",
|
|
359
365
|
__primaryKey: 0
|
|
360
|
-
}], undefined, undefined, ["fullName"], "drop");
|
|
366
|
+
}], undefined, {}, undefined, ["fullName"], "drop");
|
|
361
367
|
expect(result.length).toBe(1);
|
|
362
368
|
});
|
|
363
369
|
});
|
|
@@ -367,20 +373,20 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
367
373
|
__apiName: "Employee",
|
|
368
374
|
__primaryKey: 0
|
|
369
375
|
};
|
|
370
|
-
await expect(() => convertWireToOsdkObjects2(client[additionalContext], [object], undefined, undefined, undefined, "throw")).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);
|
|
376
|
+
await expect(() => convertWireToOsdkObjects2(client[additionalContext], [object], undefined, {}, undefined, undefined, "throw")).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);
|
|
371
377
|
});
|
|
372
378
|
it("does not throw when required is present", async () => {
|
|
373
379
|
await expect(convertWireToOsdkObjects2(client[additionalContext], [{
|
|
374
380
|
__apiName: "Employee",
|
|
375
381
|
__primaryKey: 0,
|
|
376
382
|
"employeeId": 0
|
|
377
|
-
}], undefined, undefined, undefined, "throw")).resolves.to.not.toBeUndefined();
|
|
383
|
+
}], undefined, {}, undefined, undefined, "throw")).resolves.to.not.toBeUndefined();
|
|
378
384
|
});
|
|
379
385
|
it("filters when it should", async () => {
|
|
380
386
|
const result = await convertWireToOsdkObjects2(client[additionalContext], [{
|
|
381
387
|
__apiName: "Employee",
|
|
382
388
|
__primaryKey: 0
|
|
383
|
-
}], undefined, undefined, undefined, "drop");
|
|
389
|
+
}], undefined, {}, undefined, undefined, "drop");
|
|
384
390
|
expect(result.length).toBe(0);
|
|
385
391
|
});
|
|
386
392
|
it("does not filter when it shouldn't", async () => {
|
|
@@ -388,7 +394,7 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
388
394
|
__apiName: "Employee",
|
|
389
395
|
__primaryKey: 0,
|
|
390
396
|
"employeeId": 0
|
|
391
|
-
}], undefined, undefined, undefined, "drop");
|
|
397
|
+
}], undefined, {}, undefined, undefined, "drop");
|
|
392
398
|
expect(result.length).toBe(1);
|
|
393
399
|
});
|
|
394
400
|
});
|
|
@@ -398,20 +404,20 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
398
404
|
__apiName: "Employee",
|
|
399
405
|
__primaryKey: 0
|
|
400
406
|
};
|
|
401
|
-
await expect(() => convertWireToOsdkObjects2(client[additionalContext], [object], undefined, undefined, undefined, "throw")).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);
|
|
407
|
+
await expect(() => convertWireToOsdkObjects2(client[additionalContext], [object], undefined, {}, undefined, undefined, "throw")).rejects.toThrowErrorMatchingInlineSnapshot(`[Error: Unable to safely convert objects as some non nullable properties are null]`);
|
|
402
408
|
});
|
|
403
409
|
it("does not throw when required is present", async () => {
|
|
404
410
|
await expect(convertWireToOsdkObjects2(client[additionalContext], [{
|
|
405
411
|
__apiName: "Employee",
|
|
406
412
|
__primaryKey: 0,
|
|
407
413
|
"employeeId": 0
|
|
408
|
-
}], undefined, undefined, undefined, "throw")).resolves.to.not.toBeUndefined();
|
|
414
|
+
}], undefined, {}, undefined, undefined, "throw")).resolves.to.not.toBeUndefined();
|
|
409
415
|
});
|
|
410
416
|
it("filters when it should", async () => {
|
|
411
417
|
const result = await convertWireToOsdkObjects2(client[additionalContext], [{
|
|
412
418
|
__apiName: "Employee",
|
|
413
419
|
__primaryKey: 0
|
|
414
|
-
}], undefined, undefined, undefined, "drop");
|
|
420
|
+
}], undefined, {}, undefined, undefined, "drop");
|
|
415
421
|
expect(result.length).toBe(0);
|
|
416
422
|
});
|
|
417
423
|
it("does not filter when it shouldn't", async () => {
|
|
@@ -419,7 +425,7 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
419
425
|
__apiName: "Employee",
|
|
420
426
|
__primaryKey: 0,
|
|
421
427
|
"employeeId": 0
|
|
422
|
-
}], undefined, undefined, undefined, "drop");
|
|
428
|
+
}], undefined, {}, undefined, undefined, "drop");
|
|
423
429
|
expect(result.length).toBe(1);
|
|
424
430
|
});
|
|
425
431
|
});
|
|
@@ -428,7 +434,7 @@ describe("convertWireToOsdkObjects", () => {
|
|
|
428
434
|
__apiName: "Employee",
|
|
429
435
|
__primaryKey: 0,
|
|
430
436
|
fooSpt: "hi"
|
|
431
|
-
}], "FooInterface", undefined, ["fooSpt"], "drop", interfaceToObjectTypeMappings);
|
|
437
|
+
}], "FooInterface", {}, undefined, ["fooSpt"], "drop", interfaceToObjectTypeMappings);
|
|
432
438
|
expect(result.length).toBe(1);
|
|
433
439
|
});
|
|
434
440
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertWireToOsdkObjects.test.js","names":["$ontologyRid","Employee","FooInterface","objectTypeWithAllPropertyTypes","createSharedClientContext","apiServer","afterAll","beforeAll","describe","expect","expectTypeOf","it","additionalContext","createClient","createMinimalClient","convertWireToOsdkObjects","convertWireToOsdkObjects2","client","interfaceToObjectTypeMappings","fooSpt","listen","close","data","employee","fetchPage","Object","keys","sort","toEqual","$as","$link","employee2","where","$and","employeeId","$gt","$lt","JSON","stringify","toMatchInlineSnapshot","employees","length","toBeGreaterThanOrEqual","a","b","getPrototypeOf","toBe","withValues","id","attachment","attachmentArray","toMatchTypeOf","rid","Array","isArray","toBeTruthy","withoutValues","emptyAttachment","emptyAttachmentArray","toBeUndefined","mediaReference","toBeDefined","emptyMedia","somePropertyThatShouldNotExist","toThrow","objAsFoo","clientCtx","ontologyRid","object","__apiName","apiName","__primaryKey","prototypeBefore","object2","undefined","prototypeAfter","not","__title","obj","fullName","__rid","$rid","rejects","toThrowErrorMatchingInlineSnapshot","resolves","to","result","instance","osdk"],"sources":["convertWireToOsdkObjects.test.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 { Attachment, Media, Osdk, PropertyKeys } from \"@osdk/api\";\nimport {\n $ontologyRid,\n Employee,\n FooInterface,\n objectTypeWithAllPropertyTypes,\n} from \"@osdk/client.test.ontology\";\nimport type { OntologyObjectV2 } from \"@osdk/foundry.ontologies\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport {\n afterAll,\n beforeAll,\n describe,\n expect,\n expectTypeOf,\n it,\n} from \"vitest\";\nimport { additionalContext, type Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./convertWireToOsdkObjects.js\";\n\ndescribe(\"convertWireToOsdkObjects\", () => {\n let client: Client;\n const interfaceToObjectTypeMappings = {\n FooInterface: { Employee: { fooSpt: \"fullName\" } },\n };\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(\"configures properties correctly\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n\n expect(Object.keys(employee).sort()).toEqual([\n \"employeeId\",\n \"$title\",\n \"fullName\",\n \"office\",\n \"class\",\n \"startDate\",\n \"employeeSensor\",\n \"employeeStatus\",\n \"$apiName\",\n \"$objectType\",\n \"$primaryKey\",\n \"$objectSpecifier\",\n \"employeeLocation\",\n ].sort());\n\n expect(Object.keys(employee.$as)).toEqual([]);\n expect(Object.keys(employee.$link)).toEqual([\n \"peeps\",\n \"lead\",\n \"officeLink\",\n ]);\n });\n\n it(\"stringifies properties on objects and interfaces correctly\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const { data: [employee2] } = await client(Employee).where({\n $and: [{ employeeId: { $gt: 50030 } }, { employeeId: { $lt: 50032 } }],\n }).fetchPage();\n\n // Should not have $title\n expect(JSON.stringify(employee)).toMatchInlineSnapshot(\n `\"{\"employeeId\":50030,\"fullName\":\"John Doe\",\"office\":\"NYC\",\"class\":\"Red\",\"startDate\":\"2019-01-01\",\"employeeStatus\":{},\"employeeSensor\":{},\"employeeLocation\":{},\"$apiName\":\"Employee\",\"$objectType\":\"Employee\",\"$primaryKey\":50030,\"$objectSpecifier\":\"Employee:50030\"}\"`,\n );\n\n expect(JSON.stringify(employee.$as(FooInterface))).toMatchInlineSnapshot(\n `\"{\"$apiName\":\"FooInterface\",\"$objectType\":\"Employee\",\"$primaryKey\":50030,\"fooSpt\":\"John Doe\"}\"`,\n );\n\n // Should have $title\n expect(JSON.stringify(employee2)).toMatchInlineSnapshot(\n `\"{\"employeeId\":50031,\"fullName\":\"Jane Doe\",\"office\":\"SEA\",\"class\":\"Blue\",\"startDate\":\"2012-02-12\",\"employeeStatus\":{},\"employeeSensor\":{},\"employeeLocation\":{},\"$apiName\":\"Employee\",\"$objectType\":\"Employee\",\"$primaryKey\":50031,\"$title\":\"Jane Doe\",\"$objectSpecifier\":\"Employee:50031\"}\"`,\n );\n\n expect(JSON.stringify(employee2.$as(FooInterface))).toMatchInlineSnapshot(\n `\"{\"$apiName\":\"FooInterface\",\"$objectType\":\"Employee\",\"$primaryKey\":50031,\"$title\":\"Jane Doe\",\"fooSpt\":\"Jane Doe\"}\"`,\n );\n });\n\n it(\"reuses the object prototype across objects\", async () => {\n const employees = await client(Employee).fetchPage();\n expect(employees.data.length).toBeGreaterThanOrEqual(2);\n const [a, b] = employees.data;\n\n expect(Object.getPrototypeOf(Object.getPrototypeOf(a))).toBe(\n Object.getPrototypeOf(Object.getPrototypeOf(b)),\n );\n });\n\n it(\"converts attachments as expected\", async () => {\n const withValues = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: 1 })\n .fetchPage();\n expect(withValues.data.length).toBeGreaterThanOrEqual(1);\n\n const { attachment, attachmentArray } = withValues.data[0];\n\n expectTypeOf(attachment).toMatchTypeOf<\n Attachment | undefined\n >;\n expect(attachment?.rid).toEqual(\n \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n );\n expect(Array.isArray(attachmentArray)).toBeTruthy();\n expectTypeOf(attachmentArray![0]).toMatchTypeOf<Attachment>;\n\n const withoutValues = await client(\n objectTypeWithAllPropertyTypes,\n ).where({ id: 2 }).fetchPage();\n\n const {\n attachment: emptyAttachment,\n attachmentArray: emptyAttachmentArray,\n } = withoutValues.data[0];\n expect(emptyAttachment).toBeUndefined();\n expect(emptyAttachmentArray).toBeUndefined();\n });\n\n it(\"converts media as expected\", async () => {\n const withValues = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: 1 })\n .fetchPage();\n expect(withValues.data.length).toBeGreaterThanOrEqual(1);\n\n const { mediaReference } = withValues.data[0];\n\n expectTypeOf(mediaReference).toMatchTypeOf<\n Media | undefined\n >;\n expect(mediaReference).toBeDefined();\n\n const withoutValues = await client(\n objectTypeWithAllPropertyTypes,\n ).where({ id: 2 }).fetchPage();\n\n const {\n mediaReference: emptyMedia,\n } = withoutValues.data[0];\n expect(emptyMedia).toBeUndefined();\n });\n\n it(\"creates immutable objects\", async () => {\n const employees = await client(Employee).fetchPage();\n expect(employees.data.length).toBeGreaterThanOrEqual(2);\n const [a, b] = employees.data;\n\n expect(a).toBeDefined();\n expect(() => {\n (a as any).somePropertyThatShouldNotExist = 5;\n }).toThrow();\n\n const objAsFoo = a.$as(FooInterface);\n expect(objAsFoo).toBeDefined();\n expect(() => {\n (objAsFoo as any).somePropertyThatShouldNotExist = 5;\n }).toThrow();\n });\n\n it(\"works even with unknown apiNames - old\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n createSharedClientContext(\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n \"userAgent\",\n );\n\n const object = {\n __apiName: Employee.apiName,\n __primaryKey: 0,\n } as const;\n const prototypeBefore = Object.getPrototypeOf(object);\n const object2 = await convertWireToOsdkObjects(\n clientCtx,\n [object],\n undefined,\n undefined,\n undefined,\n false,\n );\n const prototypeAfter = Object.getPrototypeOf(object2);\n\n expect(prototypeBefore).not.toBe(prototypeAfter);\n });\n\n it(\"works even with unknown apiNames - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n createSharedClientContext(\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n \"userAgent\",\n );\n\n const object = {\n __apiName: Employee.apiName,\n __primaryKey: 0,\n } as const;\n const prototypeBefore = Object.getPrototypeOf(object);\n const object2 = await convertWireToOsdkObjects2(\n clientCtx,\n [object],\n undefined,\n undefined,\n undefined,\n false,\n );\n const prototypeAfter = Object.getPrototypeOf(object2);\n\n expect(prototypeBefore).not.toBe(prototypeAfter);\n });\n\n it(\"reconstitutes interfaces properly without rid - old\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n fooSpt: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n )) as unknown as Osdk<FooInterface>[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n });\n\n it(\"reconstitutes interfaces properly without rid - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n fullName: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n )) as unknown as Osdk<FooInterface>[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fullName\": \"Steve\",\n }\n `);\n });\n\n it(\"reconstitutes interfaces properly with rid\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n __rid: \"hiMom\",\n fooSpt: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n )) as unknown as Osdk<FooInterface, \"$rid\" | \"$all\">[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n expect(objAsFoo.$rid).toEqual(\"hiMom\");\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n expect(obj.$rid).toEqual(\"hiMom\");\n });\n\n it(\"reconstitutes interfaces properly with rid - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n __rid: \"hiMom\",\n fullName: \"Steve\",\n employeeId: 0,\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n )) as unknown as Osdk<FooInterface, \"$rid\" | \"$all\">[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n expect(objAsFoo.$rid).toEqual(\"hiMom\");\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n expect(obj.$rid).toEqual(\"hiMom\");\n });\n\n describe(\"selection keys\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"employeeId\"],\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when optional is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"fullName\"],\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"employeeId\"],\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"fullName\"],\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"selection keys - new\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"employeeId\"],\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when optional is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"fullName\"],\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"employeeId\"],\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n [\"fullName\"],\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"without selection keys\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when required is present\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"without selection keys - new\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when required is present\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n it(\"behaves correctly when converting\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n fooSpt: \"hi\",\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n \"FooInterface\",\n undefined,\n [\"fooSpt\"],\n \"drop\",\n interfaceToObjectTypeMappings,\n );\n\n expect(result.length).toBe(1);\n });\n});\n\ndescribe(\"Osdk.Instance\", () => {\n it(\"is assignable to Osdk<>\", () => {\n const instance: Osdk.Instance<Employee> = {} as any;\n const osdk: Osdk<Employee> = instance;\n });\n\n it(\"is assignable from Osdk<>\", () => {\n const osdk: Osdk<Employee> = {} as any;\n const instance: Osdk.Instance<Employee> = osdk;\n });\n\n it(\"is assignable to Osdk<> with $notStrict\", () => {\n const instance: Osdk.Instance<Employee> = {} as any;\n const osdk: Osdk<Employee, \"$notStrict\"> = instance;\n const osdk2: Osdk<Employee, \"$notStrict\" | \"$all\"> = instance;\n });\n\n it(\"is assignable from Osdk<> with $notStrict\", () => {\n const osdk: Osdk<Employee, \"$notStrict\"> = {} as any;\n const osdk2: Osdk<Employee, \"$notStrict\" | \"$all\"> = osdk;\n const instance: Osdk.Instance<Employee> = osdk;\n const instance2: Osdk.Instance<Employee> = osdk2;\n });\n\n it(\"object with any for props is assignable to its normal self\", () => {\n const foo: readonly Osdk.Instance<Employee, never, any>[] = {} as any;\n\n const bar: readonly Osdk.Instance<\n Employee,\n never,\n PropertyKeys<Employee>\n >[] = foo;\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"convertWireToOsdkObjects.test.js","names":["$ontologyRid","Employee","FooInterface","objectTypeWithAllPropertyTypes","createSharedClientContext","LegacyFauxFoundry","startNodeApiServer","beforeAll","describe","expect","expectTypeOf","it","additionalContext","createClient","createMinimalClient","convertWireToOsdkObjects","convertWireToOsdkObjects2","client","interfaceToObjectTypeMappings","fooSpt","testSetup","apiServer","close","data","employee","fetchPage","Object","keys","sort","toEqual","$as","$link","employee2","where","$and","employeeId","$gt","$lt","JSON","stringify","toMatchInlineSnapshot","employees","length","toBeGreaterThanOrEqual","a","b","getPrototypeOf","toBe","withValues","id","attachment","attachmentArray","toMatchTypeOf","rid","Array","isArray","toBeTruthy","withoutValues","emptyAttachment","emptyAttachmentArray","toBeUndefined","mediaReference","toBeDefined","emptyMedia","somePropertyThatShouldNotExist","toThrow","objAsFoo","clientCtx","ontologyRid","object","__apiName","apiName","__primaryKey","prototypeBefore","object2","undefined","prototypeAfter","not","__title","obj","fullName","__rid","$rid","rejects","toThrowErrorMatchingInlineSnapshot","resolves","to","result","instance","osdk"],"sources":["convertWireToOsdkObjects.test.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 { Attachment, Media, Osdk, PropertyKeys } from \"@osdk/api\";\nimport {\n $ontologyRid,\n Employee,\n FooInterface,\n objectTypeWithAllPropertyTypes,\n} from \"@osdk/client.test.ontology\";\nimport type { OntologyObjectV2 } from \"@osdk/foundry.ontologies\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport { LegacyFauxFoundry, startNodeApiServer } from \"@osdk/shared.test\";\nimport { beforeAll, describe, expect, expectTypeOf, it } from \"vitest\";\nimport { additionalContext, type Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./convertWireToOsdkObjects.js\";\n\ndescribe(\"convertWireToOsdkObjects\", () => {\n let client: Client;\n const interfaceToObjectTypeMappings = {\n FooInterface: { Employee: { fooSpt: \"fullName\" } },\n };\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);\n ({ client } = testSetup);\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"configures properties correctly\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n\n expect(Object.keys(employee).sort()).toEqual([\n \"employeeId\",\n \"$title\",\n \"fullName\",\n \"office\",\n \"class\",\n \"startDate\",\n \"employeeSensor\",\n \"employeeStatus\",\n \"$apiName\",\n \"$objectType\",\n \"$primaryKey\",\n \"$objectSpecifier\",\n \"employeeLocation\",\n ].sort());\n\n expect(Object.keys(employee.$as)).toEqual([]);\n expect(Object.keys(employee.$link)).toEqual([\n \"peeps\",\n \"lead\",\n \"officeLink\",\n ]);\n });\n\n it(\"stringifies properties on objects and interfaces correctly\", async () => {\n const { data: [employee] } = await client(Employee).fetchPage();\n const { data: [employee2] } = await client(Employee).where({\n $and: [{ employeeId: { $gt: 50030 } }, { employeeId: { $lt: 50032 } }],\n }).fetchPage();\n\n // Should not have $title\n expect(JSON.stringify(employee)).toMatchInlineSnapshot(\n `\"{\"employeeId\":50030,\"fullName\":\"John Doe\",\"office\":\"NYC\",\"class\":\"Red\",\"startDate\":\"2019-01-01\",\"employeeStatus\":{},\"employeeSensor\":{},\"employeeLocation\":{},\"$apiName\":\"Employee\",\"$objectType\":\"Employee\",\"$primaryKey\":50030,\"$objectSpecifier\":\"Employee:50030\"}\"`,\n );\n\n expect(JSON.stringify(employee.$as(FooInterface))).toMatchInlineSnapshot(\n `\"{\"$apiName\":\"FooInterface\",\"$objectType\":\"Employee\",\"$primaryKey\":50030,\"$objectSpecifier\":\"Employee:50030\",\"fooSpt\":\"John Doe\"}\"`,\n );\n\n // Should have $title\n expect(JSON.stringify(employee2)).toMatchInlineSnapshot(\n `\"{\"employeeId\":50031,\"fullName\":\"Jane Doe\",\"office\":\"SEA\",\"class\":\"Blue\",\"startDate\":\"2012-02-12\",\"employeeStatus\":{},\"employeeSensor\":{},\"employeeLocation\":{},\"$apiName\":\"Employee\",\"$objectType\":\"Employee\",\"$primaryKey\":50031,\"$title\":\"Jane Doe\",\"$objectSpecifier\":\"Employee:50031\"}\"`,\n );\n\n expect(JSON.stringify(employee2.$as(FooInterface))).toMatchInlineSnapshot(\n `\"{\"$apiName\":\"FooInterface\",\"$objectType\":\"Employee\",\"$primaryKey\":50031,\"$objectSpecifier\":\"Employee:50031\",\"$title\":\"Jane Doe\",\"fooSpt\":\"Jane Doe\"}\"`,\n );\n });\n\n it(\"reuses the object prototype across objects\", async () => {\n const employees = await client(Employee).fetchPage();\n expect(employees.data.length).toBeGreaterThanOrEqual(2);\n const [a, b] = employees.data;\n\n expect(Object.getPrototypeOf(Object.getPrototypeOf(a))).toBe(\n Object.getPrototypeOf(Object.getPrototypeOf(b)),\n );\n });\n\n it(\"converts attachments as expected\", async () => {\n const withValues = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: 1 })\n .fetchPage();\n expect(withValues.data.length).toBeGreaterThanOrEqual(1);\n\n const { attachment, attachmentArray } = withValues.data[0];\n\n expectTypeOf(attachment).toMatchTypeOf<\n Attachment | undefined\n >;\n expect(attachment?.rid).toEqual(\n \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n );\n expect(Array.isArray(attachmentArray)).toBeTruthy();\n expectTypeOf(attachmentArray![0]).toMatchTypeOf<Attachment>;\n\n const withoutValues = await client(\n objectTypeWithAllPropertyTypes,\n ).where({ id: 2 }).fetchPage();\n\n const {\n attachment: emptyAttachment,\n attachmentArray: emptyAttachmentArray,\n } = withoutValues.data[0];\n expect(emptyAttachment).toBeUndefined();\n expect(emptyAttachmentArray).toBeUndefined();\n });\n\n it(\"converts media as expected\", async () => {\n const withValues = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: 1 })\n .fetchPage();\n expect(withValues.data.length).toBeGreaterThanOrEqual(1);\n\n const { mediaReference } = withValues.data[0];\n\n expectTypeOf(mediaReference).toMatchTypeOf<\n Media | undefined\n >;\n expect(mediaReference).toBeDefined();\n\n const withoutValues = await client(\n objectTypeWithAllPropertyTypes,\n ).where({ id: 2 }).fetchPage();\n\n const {\n mediaReference: emptyMedia,\n } = withoutValues.data[0];\n expect(emptyMedia).toBeUndefined();\n });\n\n it(\"creates immutable objects\", async () => {\n const employees = await client(Employee).fetchPage();\n expect(employees.data.length).toBeGreaterThanOrEqual(2);\n const [a, b] = employees.data;\n\n expect(a).toBeDefined();\n expect(() => {\n (a as any).somePropertyThatShouldNotExist = 5;\n }).toThrow();\n\n const objAsFoo = a.$as(FooInterface);\n expect(objAsFoo).toBeDefined();\n expect(() => {\n (objAsFoo as any).somePropertyThatShouldNotExist = 5;\n }).toThrow();\n });\n\n it(\"works even with unknown apiNames - old\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n createSharedClientContext(\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n \"userAgent\",\n );\n\n const object = {\n __apiName: Employee.apiName,\n __primaryKey: 0,\n } as const;\n const prototypeBefore = Object.getPrototypeOf(object);\n const object2 = await convertWireToOsdkObjects(\n clientCtx,\n [object],\n undefined,\n undefined,\n {},\n undefined,\n false,\n );\n const prototypeAfter = Object.getPrototypeOf(object2);\n\n expect(prototypeBefore).not.toBe(prototypeAfter);\n });\n\n it(\"works even with unknown apiNames - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n createSharedClientContext(\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n \"userAgent\",\n );\n\n const object = {\n __apiName: Employee.apiName,\n __primaryKey: 0,\n } as const;\n const prototypeBefore = Object.getPrototypeOf(object);\n const object2 = await convertWireToOsdkObjects2(\n clientCtx,\n [object],\n undefined,\n {},\n undefined,\n undefined,\n false,\n );\n const prototypeAfter = Object.getPrototypeOf(object2);\n\n expect(prototypeBefore).not.toBe(prototypeAfter);\n });\n\n it(\"reconstitutes interfaces properly without rid - old\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n fooSpt: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n undefined,\n {},\n )) as unknown as Osdk<FooInterface>[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n });\n\n it(\"reconstitutes interfaces properly without rid - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n fullName: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n {},\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n )) as unknown as Osdk<FooInterface>[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$title\": \"Steve\",\n \"fullName\": \"Steve\",\n }\n `);\n });\n\n it(\"reconstitutes interfaces properly with rid\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n __rid: \"hiMom\",\n fooSpt: \"Steve\",\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n undefined,\n {},\n )) as unknown as Osdk<FooInterface, \"$rid\" | \"$all\">[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n expect(objAsFoo.$rid).toEqual(\"hiMom\");\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n expect(obj.$rid).toEqual(\"hiMom\");\n });\n\n it(\"reconstitutes interfaces properly with rid - new\", async () => {\n const clientCtx = createMinimalClient(\n { ontologyRid: $ontologyRid },\n \"https://stack.palantir.com\",\n async () => \"myAccessToken\",\n );\n\n const objectFromWire = {\n __apiName: \"Employee\" as const,\n __primaryKey: 0,\n __title: \"Steve\",\n __rid: \"hiMom\",\n fullName: \"Steve\",\n employeeId: 0,\n } satisfies OntologyObjectV2;\n\n const [objAsFoo] = (await convertWireToOsdkObjects2(\n clientCtx,\n [objectFromWire],\n FooInterface.apiName,\n {},\n false,\n undefined,\n false,\n interfaceToObjectTypeMappings,\n )) as unknown as Osdk<FooInterface, \"$rid\" | \"$all\">[];\n\n expect(objAsFoo).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"FooInterface\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"fooSpt\": \"Steve\",\n }\n `);\n expect(objAsFoo.$rid).toEqual(\"hiMom\");\n\n const obj = objAsFoo.$as(Employee);\n expect(obj.fullName).toEqual(\"Steve\");\n\n expect(obj).toMatchInlineSnapshot(`\n {\n \"$apiName\": \"Employee\",\n \"$objectSpecifier\": \"Employee:0\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 0,\n \"$rid\": \"hiMom\",\n \"$title\": \"Steve\",\n \"employeeId\": 0,\n \"fullName\": \"Steve\",\n }\n `);\n expect(obj.$rid).toEqual(\"hiMom\");\n });\n\n describe(\"selection keys\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n {},\n [\"employeeId\"],\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when optional is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n {},\n [\"fullName\"],\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n {},\n [\"employeeId\"],\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects(\n client[additionalContext],\n [object],\n undefined,\n undefined,\n {},\n [\"fullName\"],\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"selection keys - new\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n [\"employeeId\"],\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when optional is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n [\"fullName\"],\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n [\"employeeId\"],\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n [\"fullName\"],\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"without selection keys\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when required is present\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n describe(\"without selection keys - new\", () => {\n it(\"throws when required is missing\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n await expect(() =>\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"throw\",\n )\n ).rejects.toThrowErrorMatchingInlineSnapshot(\n `[Error: Unable to safely convert objects as some non nullable properties are null]`,\n );\n });\n\n it(\"does not throw when required is present\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n await expect(\n convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"throw\",\n ),\n ).resolves.to.not.toBeUndefined();\n });\n\n it(\"filters when it should\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(0);\n });\n\n it(\"does not filter when it shouldn't\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n \"employeeId\": 0,\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n undefined,\n {},\n undefined,\n undefined,\n \"drop\",\n );\n\n expect(result.length).toBe(1);\n });\n });\n\n it(\"behaves correctly when converting\", async () => {\n const object = {\n __apiName: \"Employee\",\n __primaryKey: 0,\n fooSpt: \"hi\",\n } as const;\n\n const result = await convertWireToOsdkObjects2(\n client[additionalContext],\n [object],\n \"FooInterface\",\n {},\n undefined,\n [\"fooSpt\"],\n \"drop\",\n interfaceToObjectTypeMappings,\n );\n\n expect(result.length).toBe(1);\n });\n});\n\ndescribe(\"Osdk.Instance\", () => {\n it(\"is assignable to Osdk<>\", () => {\n const instance: Osdk.Instance<Employee> = {} as any;\n const osdk: Osdk<Employee> = instance;\n });\n\n it(\"is assignable from Osdk<>\", () => {\n const osdk: Osdk<Employee> = {} as any;\n const instance: Osdk.Instance<Employee> = osdk;\n });\n\n it(\"is assignable to Osdk<> with $notStrict\", () => {\n const instance: Osdk.Instance<Employee> = {} as any;\n const osdk: Osdk<Employee, \"$notStrict\"> = instance;\n const osdk2: Osdk<Employee, \"$notStrict\" | \"$all\"> = instance;\n });\n\n it(\"is assignable from Osdk<> with $notStrict\", () => {\n const osdk: Osdk<Employee, \"$notStrict\"> = {} as any;\n const osdk2: Osdk<Employee, \"$notStrict\" | \"$all\"> = osdk;\n const instance: Osdk.Instance<Employee> = osdk;\n const instance2: Osdk.Instance<Employee> = osdk2;\n });\n\n it(\"object with any for props is assignable to its normal self\", () => {\n const foo: readonly Osdk.Instance<Employee, never, any>[] = {} as any;\n\n const bar: readonly Osdk.Instance<\n Employee,\n never,\n PropertyKeys<Employee>\n >[] = foo;\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import * as OntologiesV2 from "@osdk/foundry.ontologies";
|
|
18
18
|
import { addUserAgentAndRequestContextHeaders } from "../util/addUserAgentAndRequestContextHeaders.js";
|
|
19
|
+
import { extractRdpDefinition } from "../util/extractRdpDefinition.js";
|
|
19
20
|
import { resolveBaseObjectSetType } from "../util/objectSetUtils.js";
|
|
20
21
|
export function augment(type, ...properties) {
|
|
21
22
|
return {
|
|
@@ -42,6 +43,18 @@ export function objectSetToSearchJsonV2(objectSet, expectedApiName, existingWher
|
|
|
42
43
|
}
|
|
43
44
|
throw new Error(`Unsupported objectSet type: ${objectSet.type}`);
|
|
44
45
|
}
|
|
46
|
+
|
|
47
|
+
/** @internal */
|
|
48
|
+
export function resolveInterfaceObjectSet(objectSet, interfaceTypeApiName, args) {
|
|
49
|
+
return args?.$includeAllBaseObjectProperties ? {
|
|
50
|
+
type: "intersect",
|
|
51
|
+
objectSets: [objectSet, {
|
|
52
|
+
type: "interfaceBase",
|
|
53
|
+
interfaceType: interfaceTypeApiName,
|
|
54
|
+
includeAllBaseObjectProperties: true
|
|
55
|
+
}]
|
|
56
|
+
} : objectSet;
|
|
57
|
+
}
|
|
45
58
|
async function fetchInterfacePage(client, interfaceType, args, objectSet) {
|
|
46
59
|
if (args.$__UNSTABLE_useOldInterfaceApis) {
|
|
47
60
|
const result = await OntologiesV2.OntologyInterfaces.search(addUserAgentAndRequestContextHeaders(client, interfaceType), await client.ontologyRid, interfaceType.apiName, applyFetchArgs(args, {
|
|
@@ -56,18 +69,18 @@ async function fetchInterfacePage(client, interfaceType, args, objectSet) {
|
|
|
56
69
|
});
|
|
57
70
|
result.data = await client.objectFactory(client, result.data,
|
|
58
71
|
// drop readonly
|
|
59
|
-
interfaceType.apiName, !args.$includeRid);
|
|
72
|
+
interfaceType.apiName, !args.$includeRid, await extractRdpDefinition(client, objectSet));
|
|
60
73
|
return result;
|
|
61
74
|
}
|
|
62
75
|
const result = await OntologiesV2.OntologyObjectSets.loadMultipleObjectTypes(addUserAgentAndRequestContextHeaders(client, interfaceType), await client.ontologyRid, applyFetchArgs(args, {
|
|
63
|
-
objectSet,
|
|
76
|
+
objectSet: resolveInterfaceObjectSet(objectSet, interfaceType.apiName, args),
|
|
64
77
|
select: args?.$select ?? [],
|
|
65
78
|
excludeRid: !args?.$includeRid
|
|
66
79
|
}), {
|
|
67
80
|
preview: true
|
|
68
81
|
});
|
|
69
82
|
return Promise.resolve({
|
|
70
|
-
data: await client.objectFactory2(client, result.data, interfaceType.apiName, !args.$includeRid, args.$select, false, result.interfaceToObjectTypeMappings),
|
|
83
|
+
data: await client.objectFactory2(client, result.data, interfaceType.apiName, {}, !args.$includeRid, args.$select, false, result.interfaceToObjectTypeMappings),
|
|
71
84
|
nextPageToken: result.nextPageToken,
|
|
72
85
|
totalCount: result.totalCount
|
|
73
86
|
});
|
|
@@ -145,7 +158,7 @@ export async function fetchObjectPage(client, objectType, args, objectSet) {
|
|
|
145
158
|
excludeRid: !args?.$includeRid
|
|
146
159
|
}));
|
|
147
160
|
return Promise.resolve({
|
|
148
|
-
data: await client.objectFactory(client, r.data, undefined, undefined, args.$select),
|
|
161
|
+
data: await client.objectFactory(client, r.data, undefined, undefined, await extractRdpDefinition(client, objectSet), args.$select),
|
|
149
162
|
nextPageToken: r.nextPageToken,
|
|
150
163
|
totalCount: r.totalCount
|
|
151
164
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPage.js","names":["OntologiesV2","addUserAgentAndRequestContextHeaders","resolveBaseObjectSetType","augment","type","properties","apiName","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","undefined","objectType","Error","interfaceType","where","value","fetchInterfacePage","client","args","$__UNSTABLE_useOldInterfaceApis","result","OntologyInterfaces","search","ontologyRid","applyFetchArgs","augmentedProperties","augmentedSharedPropertyTypes","otherInterfaceTypes","selectedObjectTypes","selectedSharedPropertyTypes","$select","preview","data","objectFactory","$includeRid","OntologyObjectSets","loadMultipleObjectTypes","select","excludeRid","Promise","resolve","objectFactory2","interfaceToObjectTypeMappings","nextPageToken","totalCount","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","body","$nextPageToken","pageToken","$pageSize","pageSize","$orderBy","orderBy","fields","Object","entries","map","field","direction","r","load"],"sources":["fetchPage.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 Augment,\n Augments,\n FetchPageArgs,\n FetchPageResult,\n InterfaceDefinition,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectTypeDefinition,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\nimport type { PageSize, PageToken } from \"@osdk/foundry.core\";\nimport type {\n LoadObjectSetRequestV2,\n LoadObjectSetV2MultipleObjectTypesRequest,\n ObjectSet,\n OntologyObjectV2,\n SearchJsonQueryV2,\n SearchObjectsForInterfaceRequest,\n SearchOrderByV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\nexport function augment<\n Q extends ObjectOrInterfaceDefinition,\n T extends PropertyKeys<Q>,\n>(\n type: Q,\n ...properties: T[]\n): Augment<Q, T> {\n return { [type.apiName]: properties } as any;\n}\n\n/** @internal */\nexport function objectSetToSearchJsonV2(\n objectSet: ObjectSet,\n expectedApiName: string,\n existingWhere: SearchJsonQueryV2 | undefined = undefined,\n): SearchJsonQueryV2 | undefined {\n if (objectSet.type === \"base\" || objectSet.type === \"interfaceBase\") {\n if (objectSet.type === \"base\" && objectSet.objectType !== expectedApiName) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.objectType}`,\n );\n }\n if (\n objectSet.type === \"interfaceBase\"\n && objectSet.interfaceType !== expectedApiName\n ) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.interfaceType}`,\n );\n }\n\n return existingWhere;\n }\n\n if (objectSet.type === \"filter\") {\n return objectSetToSearchJsonV2(\n objectSet.objectSet,\n expectedApiName,\n existingWhere == null ? objectSet.where : {\n type: \"and\",\n value: [existingWhere, objectSet.where],\n },\n );\n }\n\n throw new Error(`Unsupported objectSet type: ${objectSet.type}`);\n}\n\nasync function fetchInterfacePage<\n Q extends InterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n>(\n client: MinimalClient,\n interfaceType: Q,\n args: FetchPageArgs<Q, L, R, any, S>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S>> {\n if (args.$__UNSTABLE_useOldInterfaceApis) {\n const result = await OntologiesV2.OntologyInterfaces\n .search(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n interfaceType.apiName,\n applyFetchArgs<SearchObjectsForInterfaceRequest>(args, {\n augmentedProperties: {},\n augmentedSharedPropertyTypes: {},\n otherInterfaceTypes: [],\n selectedObjectTypes: [],\n selectedSharedPropertyTypes: args.$select as undefined | string[]\n ?? [],\n where: objectSetToSearchJsonV2(objectSet, interfaceType.apiName),\n }),\n { preview: true },\n );\n\n result.data = await client.objectFactory(\n client,\n result.data as OntologyObjectV2[], // drop readonly\n interfaceType.apiName,\n !args.$includeRid,\n );\n return result as any;\n }\n const result = await OntologiesV2.OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n applyFetchArgs<LoadObjectSetV2MultipleObjectTypesRequest>(args, {\n objectSet,\n select: ((args?.$select as string[] | undefined) ?? []),\n excludeRid: !args?.$includeRid,\n }),\n { preview: true },\n );\n return Promise.resolve({\n data: await client.objectFactory2(\n client,\n result.data,\n interfaceType.apiName,\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S>>;\n}\n\n/** @internal */\nexport async function fetchPageInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S> = {},\n): Promise<FetchPageResult<Q, L, R, S>> {\n if (objectType.type === \"interface\") {\n return await fetchInterfacePage(\n client,\n objectType,\n args,\n objectSet,\n ) as any; // fixme\n } else {\n return await fetchObjectPage(\n client,\n objectType,\n args,\n objectSet,\n ) as any; // fixme\n }\n}\n\n/** @internal */\nexport async function fetchPageWithErrorsInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S> = {},\n): Promise<Result<FetchPageResult<Q, L, R, S>>> {\n try {\n const result = await fetchPageInternal(client, objectType, objectSet, args);\n return { value: result };\n } catch (e) {\n if (e instanceof Error) {\n return { error: e };\n }\n return { error: e as Error };\n }\n}\n\n/**\n * @param client\n * @param objectType\n * @param args\n * @param objectSet\n * @returns\n * @internal\n */\nexport async function fetchPage<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<FetchPageResult<Q, L, R, S>> {\n return fetchPageInternal(client, objectType, objectSet, args);\n}\n\n/** @internal */\nexport async function fetchPageWithErrors<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<Result<FetchPageResult<Q, L, R, S>>> {\n return fetchPageWithErrorsInternal(client, objectType, objectSet, args);\n}\n\nfunction applyFetchArgs<\n X extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n },\n>(\n args: FetchPageArgs<any, any, any, any, any>,\n body: X,\n): X {\n if (args?.$nextPageToken) {\n body.pageToken = args.$nextPageToken;\n }\n\n if (args?.$pageSize != null) {\n body.pageSize = args.$pageSize;\n }\n\n if (args?.$orderBy != null) {\n body.orderBy = {\n fields: Object.entries(args.$orderBy).map(([field, direction]) => ({\n field,\n direction,\n })),\n };\n }\n\n return body;\n}\n\n/** @internal */\nexport async function fetchObjectPage<\n Q extends ObjectTypeDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, Augments, S>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S>> {\n const r = await OntologiesV2.OntologyObjectSets.load(\n addUserAgentAndRequestContextHeaders(client, objectType),\n await client.ontologyRid,\n applyFetchArgs<LoadObjectSetRequestV2>(args, {\n objectSet,\n // We have to do the following case because LoadObjectSetRequestV2 isn't readonly\n select: ((args?.$select as string[] | undefined) ?? []), // FIXME?\n excludeRid: !args?.$includeRid,\n }),\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n r.data as OntologyObjectV2[],\n undefined,\n undefined,\n args.$select,\n ),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S>>;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"fetchPage.js","names":["OntologiesV2","addUserAgentAndRequestContextHeaders","extractRdpDefinition","resolveBaseObjectSetType","augment","type","properties","apiName","objectSetToSearchJsonV2","objectSet","expectedApiName","existingWhere","undefined","objectType","Error","interfaceType","where","value","resolveInterfaceObjectSet","interfaceTypeApiName","args","$includeAllBaseObjectProperties","objectSets","includeAllBaseObjectProperties","fetchInterfacePage","client","$__UNSTABLE_useOldInterfaceApis","result","OntologyInterfaces","search","ontologyRid","applyFetchArgs","augmentedProperties","augmentedSharedPropertyTypes","otherInterfaceTypes","selectedObjectTypes","selectedSharedPropertyTypes","$select","preview","data","objectFactory","$includeRid","OntologyObjectSets","loadMultipleObjectTypes","select","excludeRid","Promise","resolve","objectFactory2","interfaceToObjectTypeMappings","nextPageToken","totalCount","fetchPageInternal","fetchObjectPage","fetchPageWithErrorsInternal","e","error","fetchPage","fetchPageWithErrors","body","$nextPageToken","pageToken","$pageSize","pageSize","$orderBy","orderBy","fields","Object","entries","map","field","direction","r","load"],"sources":["fetchPage.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 Augment,\n Augments,\n FetchPageArgs,\n FetchPageResult,\n InterfaceDefinition,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectTypeDefinition,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\nimport type { PageSize, PageToken } from \"@osdk/foundry.core\";\nimport type {\n LoadObjectSetRequestV2,\n LoadObjectSetV2MultipleObjectTypesRequest,\n ObjectSet,\n OntologyObjectV2,\n SearchJsonQueryV2,\n SearchObjectsForInterfaceRequest,\n SearchOrderByV2,\n} from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { extractRdpDefinition } from \"../util/extractRdpDefinition.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\n\nexport function augment<\n Q extends ObjectOrInterfaceDefinition,\n T extends PropertyKeys<Q>,\n>(\n type: Q,\n ...properties: T[]\n): Augment<Q, T> {\n return { [type.apiName]: properties } as any;\n}\n\n/** @internal */\nexport function objectSetToSearchJsonV2(\n objectSet: ObjectSet,\n expectedApiName: string,\n existingWhere: SearchJsonQueryV2 | undefined = undefined,\n): SearchJsonQueryV2 | undefined {\n if (objectSet.type === \"base\" || objectSet.type === \"interfaceBase\") {\n if (objectSet.type === \"base\" && objectSet.objectType !== expectedApiName) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.objectType}`,\n );\n }\n if (\n objectSet.type === \"interfaceBase\"\n && objectSet.interfaceType !== expectedApiName\n ) {\n throw new Error(\n `Expected objectSet.objectType to be ${expectedApiName}, but got ${objectSet.interfaceType}`,\n );\n }\n\n return existingWhere;\n }\n\n if (objectSet.type === \"filter\") {\n return objectSetToSearchJsonV2(\n objectSet.objectSet,\n expectedApiName,\n existingWhere == null ? objectSet.where : {\n type: \"and\",\n value: [existingWhere, objectSet.where],\n },\n );\n }\n\n throw new Error(`Unsupported objectSet type: ${objectSet.type}`);\n}\n\n/** @internal */\nexport function resolveInterfaceObjectSet(\n objectSet: ObjectSet,\n interfaceTypeApiName: string,\n args: FetchPageArgs<any, any, any, any, any, any>,\n): ObjectSet {\n return args?.$includeAllBaseObjectProperties\n ? {\n type: \"intersect\",\n objectSets: [objectSet, {\n type: \"interfaceBase\",\n interfaceType: interfaceTypeApiName,\n includeAllBaseObjectProperties: true,\n }],\n }\n : objectSet;\n}\n\nasync function fetchInterfacePage<\n Q extends InterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n interfaceType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n if (args.$__UNSTABLE_useOldInterfaceApis) {\n const result = await OntologiesV2.OntologyInterfaces\n .search(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n interfaceType.apiName,\n applyFetchArgs<SearchObjectsForInterfaceRequest>(args, {\n augmentedProperties: {},\n augmentedSharedPropertyTypes: {},\n otherInterfaceTypes: [],\n selectedObjectTypes: [],\n selectedSharedPropertyTypes: args.$select as undefined | string[]\n ?? [],\n where: objectSetToSearchJsonV2(objectSet, interfaceType.apiName),\n }),\n { preview: true },\n );\n\n result.data = await client.objectFactory(\n client,\n result.data as OntologyObjectV2[], // drop readonly\n interfaceType.apiName,\n !args.$includeRid,\n await extractRdpDefinition(client, objectSet),\n );\n return result as any;\n }\n const result = await OntologiesV2.OntologyObjectSets.loadMultipleObjectTypes(\n addUserAgentAndRequestContextHeaders(client, interfaceType),\n await client.ontologyRid,\n applyFetchArgs<LoadObjectSetV2MultipleObjectTypesRequest>(args, {\n objectSet: resolveInterfaceObjectSet(\n objectSet,\n interfaceType.apiName,\n args,\n ),\n select: ((args?.$select as string[] | undefined) ?? []),\n excludeRid: !args?.$includeRid,\n }),\n { preview: true },\n );\n return Promise.resolve({\n data: await client.objectFactory2(\n client,\n result.data,\n interfaceType.apiName,\n {},\n !args.$includeRid,\n args.$select,\n false,\n result.interfaceToObjectTypeMappings,\n ),\n nextPageToken: result.nextPageToken,\n totalCount: result.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T>>;\n}\n\n/** @internal */\nexport async function fetchPageInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T> = {},\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n if (objectType.type === \"interface\") {\n return await fetchInterfacePage(\n client,\n objectType,\n args,\n objectSet,\n ) as any; // fixme\n } else {\n return await fetchObjectPage(\n client,\n objectType,\n args,\n objectSet,\n ) as any; // fixme\n }\n}\n\n/** @internal */\nexport async function fetchPageWithErrorsInternal<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n A extends Augments,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n objectSet: ObjectSet,\n args: FetchPageArgs<Q, L, R, A, S, T> = {},\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n try {\n const result = await fetchPageInternal(client, objectType, objectSet, args);\n return { value: result };\n } catch (e) {\n if (e instanceof Error) {\n return { error: e };\n }\n return { error: e as Error };\n }\n}\n\n/**\n * @param client\n * @param objectType\n * @param args\n * @param objectSet\n * @returns\n * @internal\n */\nexport async function fetchPage<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n return fetchPageInternal(client, objectType, objectSet, args);\n}\n\n/** @internal */\nexport async function fetchPageWithErrors<\n Q extends ObjectOrInterfaceDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, any, S, T>,\n objectSet: ObjectSet = resolveBaseObjectSetType(objectType),\n): Promise<Result<FetchPageResult<Q, L, R, S, T>>> {\n return fetchPageWithErrorsInternal(client, objectType, objectSet, args);\n}\n\nfunction applyFetchArgs<\n X extends {\n orderBy?: SearchOrderByV2;\n pageToken?: PageToken;\n pageSize?: PageSize;\n },\n>(\n args: FetchPageArgs<any, any, any, any, any, any>,\n body: X,\n): X {\n if (args?.$nextPageToken) {\n body.pageToken = args.$nextPageToken;\n }\n\n if (args?.$pageSize != null) {\n body.pageSize = args.$pageSize;\n }\n\n if (args?.$orderBy != null) {\n body.orderBy = {\n fields: Object.entries(args.$orderBy).map(([field, direction]) => ({\n field,\n direction,\n })),\n };\n }\n\n return body;\n}\n\n/** @internal */\nexport async function fetchObjectPage<\n Q extends ObjectTypeDefinition,\n L extends PropertyKeys<Q>,\n R extends boolean,\n S extends NullabilityAdherence,\n T extends boolean,\n>(\n client: MinimalClient,\n objectType: Q,\n args: FetchPageArgs<Q, L, R, Augments, S, T>,\n objectSet: ObjectSet,\n): Promise<FetchPageResult<Q, L, R, S, T>> {\n const r = await OntologiesV2.OntologyObjectSets.load(\n addUserAgentAndRequestContextHeaders(client, objectType),\n await client.ontologyRid,\n applyFetchArgs<LoadObjectSetRequestV2>(args, {\n objectSet,\n // We have to do the following case because LoadObjectSetRequestV2 isn't readonly\n select: ((args?.$select as string[] | undefined) ?? []), // FIXME?\n excludeRid: !args?.$includeRid,\n }),\n );\n\n return Promise.resolve({\n data: await client.objectFactory(\n client,\n r.data as OntologyObjectV2[],\n undefined,\n undefined,\n await extractRdpDefinition(client, objectSet),\n args.$select,\n ),\n nextPageToken: r.nextPageToken,\n totalCount: r.totalCount,\n }) as unknown as Promise<FetchPageResult<Q, L, R, S, T>>;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwBA,OAAO,KAAKA,YAAY,MAAM,0BAA0B;AAExD,SAASC,oCAAoC,QAAQ,iDAAiD;AACtG,SAASC,oBAAoB,QAAQ,iCAAiC;AACtE,SAASC,wBAAwB,QAAQ,2BAA2B;AAEpE,OAAO,SAASC,OAAOA,CAIrBC,IAAO,EACP,GAAGC,UAAe,EACH;EACf,OAAO;IAAE,CAACD,IAAI,CAACE,OAAO,GAAGD;EAAW,CAAC;AACvC;;AAEA;AACA,OAAO,SAASE,uBAAuBA,CACrCC,SAAoB,EACpBC,eAAuB,EACvBC,aAA4C,GAAGC,SAAS,EACzB;EAC/B,IAAIH,SAAS,CAACJ,IAAI,KAAK,MAAM,IAAII,SAAS,CAACJ,IAAI,KAAK,eAAe,EAAE;IACnE,IAAII,SAAS,CAACJ,IAAI,KAAK,MAAM,IAAII,SAAS,CAACI,UAAU,KAAKH,eAAe,EAAE;MACzE,MAAM,IAAII,KAAK,CACb,uCAAuCJ,eAAe,aAAaD,SAAS,CAACI,UAAU,EACzF,CAAC;IACH;IACA,IACEJ,SAAS,CAACJ,IAAI,KAAK,eAAe,IAC/BI,SAAS,CAACM,aAAa,KAAKL,eAAe,EAC9C;MACA,MAAM,IAAII,KAAK,CACb,uCAAuCJ,eAAe,aAAaD,SAAS,CAACM,aAAa,EAC5F,CAAC;IACH;IAEA,OAAOJ,aAAa;EACtB;EAEA,IAAIF,SAAS,CAACJ,IAAI,KAAK,QAAQ,EAAE;IAC/B,OAAOG,uBAAuB,CAC5BC,SAAS,CAACA,SAAS,EACnBC,eAAe,EACfC,aAAa,IAAI,IAAI,GAAGF,SAAS,CAACO,KAAK,GAAG;MACxCX,IAAI,EAAE,KAAK;MACXY,KAAK,EAAE,CAACN,aAAa,EAAEF,SAAS,CAACO,KAAK;IACxC,CACF,CAAC;EACH;EAEA,MAAM,IAAIF,KAAK,CAAC,+BAA+BL,SAAS,CAACJ,IAAI,EAAE,CAAC;AAClE;;AAEA;AACA,OAAO,SAASa,yBAAyBA,CACvCT,SAAoB,EACpBU,oBAA4B,EAC5BC,IAAiD,EACtC;EACX,OAAOA,IAAI,EAAEC,+BAA+B,GACxC;IACAhB,IAAI,EAAE,WAAW;IACjBiB,UAAU,EAAE,CAACb,SAAS,EAAE;MACtBJ,IAAI,EAAE,eAAe;MACrBU,aAAa,EAAEI,oBAAoB;MACnCI,8BAA8B,EAAE;IAClC,CAAC;EACH,CAAC,GACCd,SAAS;AACf;AAEA,eAAee,kBAAkBA,CAO/BC,MAAqB,EACrBV,aAAgB,EAChBK,IAAuC,EACvCX,SAAoB,EACqB;EACzC,IAAIW,IAAI,CAACM,+BAA+B,EAAE;IACxC,MAAMC,MAAM,GAAG,MAAM3B,YAAY,CAAC4B,kBAAkB,CACjDC,MAAM,CACL5B,oCAAoC,CAACwB,MAAM,EAAEV,aAAa,CAAC,EAC3D,MAAMU,MAAM,CAACK,WAAW,EACxBf,aAAa,CAACR,OAAO,EACrBwB,cAAc,CAAmCX,IAAI,EAAE;MACrDY,mBAAmB,EAAE,CAAC,CAAC;MACvBC,4BAA4B,EAAE,CAAC,CAAC;MAChCC,mBAAmB,EAAE,EAAE;MACvBC,mBAAmB,EAAE,EAAE;MACvBC,2BAA2B,EAAEhB,IAAI,CAACiB,OAAO,IACpC,EAAE;MACPrB,KAAK,EAAER,uBAAuB,CAACC,SAAS,EAAEM,aAAa,CAACR,OAAO;IACjE,CAAC,CAAC,EACF;MAAE+B,OAAO,EAAE;IAAK,CAClB,CAAC;IAEHX,MAAM,CAACY,IAAI,GAAG,MAAMd,MAAM,CAACe,aAAa,CACtCf,MAAM,EACNE,MAAM,CAACY,IAAI;IAAwB;IACnCxB,aAAa,CAACR,OAAO,EACrB,CAACa,IAAI,CAACqB,WAAW,EACjB,MAAMvC,oBAAoB,CAACuB,MAAM,EAAEhB,SAAS,CAC9C,CAAC;IACD,OAAOkB,MAAM;EACf;EACA,MAAMA,MAAM,GAAG,MAAM3B,YAAY,CAAC0C,kBAAkB,CAACC,uBAAuB,CAC1E1C,oCAAoC,CAACwB,MAAM,EAAEV,aAAa,CAAC,EAC3D,MAAMU,MAAM,CAACK,WAAW,EACxBC,cAAc,CAA4CX,IAAI,EAAE;IAC9DX,SAAS,EAAES,yBAAyB,CAClCT,SAAS,EACTM,aAAa,CAACR,OAAO,EACrBa,IACF,CAAC;IACDwB,MAAM,EAAIxB,IAAI,EAAEiB,OAAO,IAA6B,EAAG;IACvDQ,UAAU,EAAE,CAACzB,IAAI,EAAEqB;EACrB,CAAC,CAAC,EACF;IAAEH,OAAO,EAAE;EAAK,CAClB,CAAC;EACD,OAAOQ,OAAO,CAACC,OAAO,CAAC;IACrBR,IAAI,EAAE,MAAMd,MAAM,CAACuB,cAAc,CAC/BvB,MAAM,EACNE,MAAM,CAACY,IAAI,EACXxB,aAAa,CAACR,OAAO,EACrB,CAAC,CAAC,EACF,CAACa,IAAI,CAACqB,WAAW,EACjBrB,IAAI,CAACiB,OAAO,EACZ,KAAK,EACLV,MAAM,CAACsB,6BACT,CAAC;IACDC,aAAa,EAAEvB,MAAM,CAACuB,aAAa;IACnCC,UAAU,EAAExB,MAAM,CAACwB;EACrB,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,eAAeC,iBAAiBA,CAQrC3B,MAAqB,EACrBZ,UAAa,EACbJ,SAAoB,EACpBW,IAAqC,GAAG,CAAC,CAAC,EACD;EACzC,IAAIP,UAAU,CAACR,IAAI,KAAK,WAAW,EAAE;IACnC,OAAO,MAAMmB,kBAAkB,CAC7BC,MAAM,EACNZ,UAAU,EACVO,IAAI,EACJX,SACF,CAAC,CAAQ,CAAC;EACZ,CAAC,MAAM;IACL,OAAO,MAAM4C,eAAe,CAC1B5B,MAAM,EACNZ,UAAU,EACVO,IAAI,EACJX,SACF,CAAC,CAAQ,CAAC;EACZ;AACF;;AAEA;AACA,OAAO,eAAe6C,2BAA2BA,CAQ/C7B,MAAqB,EACrBZ,UAAa,EACbJ,SAAoB,EACpBW,IAAqC,GAAG,CAAC,CAAC,EACO;EACjD,IAAI;IACF,MAAMO,MAAM,GAAG,MAAMyB,iBAAiB,CAAC3B,MAAM,EAAEZ,UAAU,EAAEJ,SAAS,EAAEW,IAAI,CAAC;IAC3E,OAAO;MAAEH,KAAK,EAAEU;IAAO,CAAC;EAC1B,CAAC,CAAC,OAAO4B,CAAC,EAAE;IACV,IAAIA,CAAC,YAAYzC,KAAK,EAAE;MACtB,OAAO;QAAE0C,KAAK,EAAED;MAAE,CAAC;IACrB;IACA,OAAO;MAAEC,KAAK,EAAED;IAAW,CAAC;EAC9B;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeE,SAASA,CAO7BhC,MAAqB,EACrBZ,UAAa,EACbO,IAAuC,EACvCX,SAAoB,GAAGN,wBAAwB,CAACU,UAAU,CAAC,EAClB;EACzC,OAAOuC,iBAAiB,CAAC3B,MAAM,EAAEZ,UAAU,EAAEJ,SAAS,EAAEW,IAAI,CAAC;AAC/D;;AAEA;AACA,OAAO,eAAesC,mBAAmBA,CAOvCjC,MAAqB,EACrBZ,UAAa,EACbO,IAAuC,EACvCX,SAAoB,GAAGN,wBAAwB,CAACU,UAAU,CAAC,EACV;EACjD,OAAOyC,2BAA2B,CAAC7B,MAAM,EAAEZ,UAAU,EAAEJ,SAAS,EAAEW,IAAI,CAAC;AACzE;AAEA,SAASW,cAAcA,CAOrBX,IAAiD,EACjDuC,IAAO,EACJ;EACH,IAAIvC,IAAI,EAAEwC,cAAc,EAAE;IACxBD,IAAI,CAACE,SAAS,GAAGzC,IAAI,CAACwC,cAAc;EACtC;EAEA,IAAIxC,IAAI,EAAE0C,SAAS,IAAI,IAAI,EAAE;IAC3BH,IAAI,CAACI,QAAQ,GAAG3C,IAAI,CAAC0C,SAAS;EAChC;EAEA,IAAI1C,IAAI,EAAE4C,QAAQ,IAAI,IAAI,EAAE;IAC1BL,IAAI,CAACM,OAAO,GAAG;MACbC,MAAM,EAAEC,MAAM,CAACC,OAAO,CAAChD,IAAI,CAAC4C,QAAQ,CAAC,CAACK,GAAG,CAAC,CAAC,CAACC,KAAK,EAAEC,SAAS,CAAC,MAAM;QACjED,KAAK;QACLC;MACF,CAAC,CAAC;IACJ,CAAC;EACH;EAEA,OAAOZ,IAAI;AACb;;AAEA;AACA,OAAO,eAAeN,eAAeA,CAOnC5B,MAAqB,EACrBZ,UAAa,EACbO,IAA4C,EAC5CX,SAAoB,EACqB;EACzC,MAAM+D,CAAC,GAAG,MAAMxE,YAAY,CAAC0C,kBAAkB,CAAC+B,IAAI,CAClDxE,oCAAoC,CAACwB,MAAM,EAAEZ,UAAU,CAAC,EACxD,MAAMY,MAAM,CAACK,WAAW,EACxBC,cAAc,CAAyBX,IAAI,EAAE;IAC3CX,SAAS;IACT;IACAmC,MAAM,EAAIxB,IAAI,EAAEiB,OAAO,IAA6B,EAAG;IAAE;IACzDQ,UAAU,EAAE,CAACzB,IAAI,EAAEqB;EACrB,CAAC,CACH,CAAC;EAED,OAAOK,OAAO,CAACC,OAAO,CAAC;IACrBR,IAAI,EAAE,MAAMd,MAAM,CAACe,aAAa,CAC9Bf,MAAM,EACN+C,CAAC,CAACjC,IAAI,EACN3B,SAAS,EACTA,SAAS,EACT,MAAMV,oBAAoB,CAACuB,MAAM,EAAEhB,SAAS,CAAC,EAC7CW,IAAI,CAACiB,OACP,CAAC;IACDa,aAAa,EAAEsB,CAAC,CAACtB,aAAa;IAC9BC,UAAU,EAAEqB,CAAC,CAACrB;EAChB,CAAC,CAAC;AACJ","ignoreList":[]}
|