@osdk/client 2.2.0-beta.9 → 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 +370 -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.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/attachment.test.js +20 -7
- package/build/browser/object/attachment.test.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/BaseHolder.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 +44 -33
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.js +4 -14
- 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 +4 -3
- package/build/browser/object/fetchPage.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 +24 -20
- package/build/browser/objectSet/InterfaceObjectSet.test.js.map +1 -1
- package/build/browser/objectSet/ObjectSet.test.js +113 -19
- package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js +2 -2
- 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/internal/ActionApplication.js +4 -4
- 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/ListQuery.js +4 -1
- package/build/browser/observable/internal/ListQuery.js.map +1 -1
- package/build/browser/observable/internal/ObjectQuery.js +3 -6
- package/build/browser/observable/internal/ObjectQuery.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/Query.js.map +1 -1
- package/build/browser/observable/internal/Store.js +2 -2
- package/build/browser/observable/internal/Store.js.map +1 -1
- package/build/browser/observable/internal/Store.test.js +215 -206
- package/build/browser/observable/internal/Store.test.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/testUtils.js +4 -3
- 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-MCQVHD2F.cjs → chunk-FKI2LO2O.cjs} +232 -68
- package/build/cjs/chunk-FKI2LO2O.cjs.map +1 -0
- package/build/cjs/{chunk-EY52J5Z4.cjs → chunk-W5PFESFR.cjs} +163 -34
- package/build/cjs/chunk-W5PFESFR.cjs.map +1 -0
- package/build/cjs/index.cjs +188 -166
- 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 +224 -103
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
- package/build/cjs/public/unstable-do-not-use.d.cts +12 -3
- 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.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/attachment.test.js +20 -7
- package/build/esm/object/attachment.test.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/BaseHolder.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 +44 -33
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.js +4 -14
- 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 +4 -3
- package/build/esm/object/fetchPage.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 +24 -20
- package/build/esm/objectSet/InterfaceObjectSet.test.js.map +1 -1
- package/build/esm/objectSet/ObjectSet.test.js +113 -19
- package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js +2 -2
- 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/internal/ActionApplication.js +4 -4
- 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/ListQuery.js +4 -1
- package/build/esm/observable/internal/ListQuery.js.map +1 -1
- package/build/esm/observable/internal/ObjectQuery.js +3 -6
- package/build/esm/observable/internal/ObjectQuery.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/Query.js.map +1 -1
- package/build/esm/observable/internal/Store.js +2 -2
- package/build/esm/observable/internal/Store.js.map +1 -1
- package/build/esm/observable/internal/Store.test.js +215 -206
- package/build/esm/observable/internal/Store.test.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/testUtils.js +4 -3
- 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/convertWireToOsdkObjects.d.ts +4 -4
- 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/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/ListQuery.d.ts.map +1 -1
- package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -1
- package/build/types/observable/internal/OptimisticJob.d.ts.map +1 -1
- package/build/types/observable/internal/Query.d.ts +2 -2
- package/build/types/observable/internal/Query.d.ts.map +1 -1
- package/build/types/observable/internal/Store.d.ts +2 -2
- package/build/types/observable/internal/Store.d.ts.map +1 -1
- package/build/types/observable/internal/testUtils.d.ts +1 -2
- 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 -2
- 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 +19 -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/util/isOsdkBaseObject.js.map +0 -1
- package/build/browser/util/isOsdkObject.js.map +0 -1
- package/build/cjs/chunk-EY52J5Z4.cjs.map +0 -1
- package/build/cjs/chunk-MCQVHD2F.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/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/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
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ObjectOrInterfaceDefinition, PropertyKeys, Augment, ObjectTypeDefinition, Osdk, PrimaryKeyType, InterfaceDefinition,
|
|
2
|
-
import {
|
|
1
|
+
import { ObjectOrInterfaceDefinition, PropertyKeys, Augment, ObjectTypeDefinition, Osdk, PrimaryKeyType, InterfaceDefinition, WhereClause, ActionDefinition } from '@osdk/api';
|
|
2
|
+
import { C as Client, A as ActionSignatureFromDef } from '../Client-CgL2LKN9.cjs';
|
|
3
3
|
import '@osdk/shared.client';
|
|
4
4
|
import '@osdk/api/unstable';
|
|
5
5
|
import '@osdk/shared.client2';
|
|
@@ -69,4 +69,13 @@ interface Unsubscribable {
|
|
|
69
69
|
unsubscribe: () => void;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
|
|
72
|
+
declare function getMetaTagContent(name: string): string;
|
|
73
|
+
interface OsdkConfig {
|
|
74
|
+
clientId: string;
|
|
75
|
+
redirectUrl: string;
|
|
76
|
+
foundryUrl: string;
|
|
77
|
+
ontologyRid: string;
|
|
78
|
+
}
|
|
79
|
+
declare function getOsdkConfig(ontologyRid: string): OsdkConfig;
|
|
80
|
+
|
|
81
|
+
export { ActionSignatureFromDef, ObservableClient, type ObserveObjectArgs, type ObserveObjectsArgs, type Observer, type OsdkConfig, type Unsubscribable, augment, createObservableClient, getMetaTagContent, getOsdkConfig };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MinimalClientContext.js","names":[],"sources":["MinimalClientContext.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {
|
|
1
|
+
{"version":3,"file":"MinimalClientContext.js","names":[],"sources":["MinimalClientContext.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Logger } from \"@osdk/api\";\nimport type { SharedClientContext } from \"@osdk/shared.client2\";\nimport type {\n convertWireToOsdkObjects,\n convertWireToOsdkObjects2,\n} from \"./object/convertWireToOsdkObjects.js\";\nimport type { ObjectSetFactory } from \"./objectSet/ObjectSetFactory.js\";\nimport type { OntologyProvider } from \"./ontology/OntologyProvider.js\";\n\ndeclare const tag: unique symbol;\n\nexport type ClientCacheKey = {} & { readonly [tag]: void };\n\nexport type RequestContext = {\n finalMethodCall?: string;\n};\n\nexport interface MinimalClient extends SharedClientContext {\n ontologyRid: string | Promise<string>;\n ontologyProvider: OntologyProvider;\n logger?: Logger;\n /** @internal */\n objectSetFactory: ObjectSetFactory<any, any>;\n /** @internal */\n objectFactory: typeof convertWireToOsdkObjects;\n /** @internal */\n objectFactory2: typeof convertWireToOsdkObjects2;\n\n clientCacheKey: ClientCacheKey;\n requestContext: RequestContext;\n}\n\nexport type MinimalClientParams = {\n metadata: MinimalClientMetadata;\n provider: OntologyProvider;\n};\n\nexport interface MinimalClientMetadata {\n ontologyRid: string | Promise<string>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConjureSupport.js","names":["bulkLoadOntologyEntities","getLinkTypesForObjectTypes","loadAllOntologies","invariant","createSimpleAsyncCache","createSimpleCache","makeConjureContext","cachedAllOntologies","getOntologyVersionForRid","ctx","ontologyRid","ontologies","process","env","NODE_ENV","currentOntologyVersion","strongMemoSync","fn","Map","get","weakMemoSync","WeakMap","strongMemoAsync","weakMemoAsync","MetadataClient","client","logger","constructor","ontologyProvider","getObjectDefinition","child","mcc","forObjectByRid","rid","Promise","resolve","getPropertyMapping","objectPropertyMapping","bind","getLinkMapping","objectLinkMapping","getRid","getApiName","getConjureObjectType","apiName","forObjectByApiName","objectApiName","objectDef","objectTypeRid","conjureObjectType","createObjectPropertyMapping","linkTypes","includeObjectTypesWithoutSearchableDatasources","loadRedacted","objectTypeBranches","objectTypeVersions","ontologyVersion","ret","l","helper","linkSide","otherObjectType","directedLinkTypeRid","linkTypeRid","definition","type","oneToMany","objectTypeRidManySide","manyToOneLinkMetadata","objectTypeRidOneSide","oneToManyLinkMetadata","manyToMany","objectTypeRidA","objectTypeAToBLinkMetadata","objectTypeRidB","objectTypeBToALinkMetadata","debug","body","datasourceTypes","objectTypes","identifier","versionReference","sharedPropertyTypes","interfaceTypes","typeGroups","includeObjectTypeCount","undefined","includeEntityMetadata","actionTypes","includeTypeGroupEntitiesCount","entityMetadata","entities","objectType","metadataCacheClient","conjureOT","primaryKeys","length","pkRid","pkProperty","Object","values","propertyTypes","find","a","Error","propertyIdToApiNameMapping","fromEntries","map","property","id","propertyApiNameToIdMapping","pk"],"sources":["ConjureSupport.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n DirectedLinkTypeRid,\n LinkTypeMetadata,\n LoadAllOntologiesResponse,\n ObjectType,\n Type,\n} from \"@osdk/client.unstable\";\nimport {\n bulkLoadOntologyEntities,\n getLinkTypesForObjectTypes,\n loadAllOntologies,\n} from \"@osdk/client.unstable\";\nimport type { ConjureContext } from \"conjure-lite\";\nimport invariant from \"tiny-invariant\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport {\n createSimpleAsyncCache,\n createSimpleCache,\n} from \"../object/SimpleCache.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\n\nexport interface ObjectPropertyMapping {\n apiName: string;\n id: string;\n propertyIdToApiNameMapping: Record<string, string>;\n propertyApiNameToIdMapping: Record<string, string>;\n pk: {\n rid: string;\n apiName: string;\n type: Type;\n };\n}\n\ntype ObjectLinkMapping = Record<string, {\n apiName: string;\n directedLinkTypeRid: DirectedLinkTypeRid;\n otherObjectType: string; // rid\n}>;\n\nlet cachedAllOntologies: LoadAllOntologiesResponse | undefined;\nasync function getOntologyVersionForRid(\n ctx: ConjureContext,\n ontologyRid: string,\n) {\n cachedAllOntologies ??= await loadAllOntologies(ctx, {});\n invariant(\n cachedAllOntologies.ontologies[ontologyRid],\n \"ontology should be loaded\",\n );\n\n return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;\n}\n\nconst strongMemoSync = <K, V>(fn: (entry: K) => V) =>\n createSimpleCache<K, V>(new Map(), fn).get;\n\nconst weakMemoSync = <K extends object, V>(fn: (entry: K) => V) =>\n createSimpleCache<K, V>(new WeakMap() as any, fn).get; // FIXME\n\nconst strongMemoAsync = <K, V>(fn: (entry: K) => Promise<V>) =>\n createSimpleAsyncCache<K, V>(\"strong\", fn).get;\n\nconst weakMemoAsync = <K, V>(fn: (entry: K) => Promise<V>) =>\n createSimpleAsyncCache<K, V>(\"weak\", fn).get;\n\nexport class MetadataClient {\n #client: MinimalClient;\n #ctx: ConjureContext;\n #logger: any;\n\n constructor(client: MinimalClient) {\n this.#client = client;\n this.#ctx = makeConjureContext(client, \"ontology-metadata/api\");\n this.#client.ontologyProvider.getObjectDefinition;\n\n this.#logger = this.#client.logger?.child({\n mcc: true,\n });\n }\n\n forObjectByRid: (key: string) => Promise<{\n getPropertyMapping: () => Promise<ObjectPropertyMapping>;\n getLinkMapping: () => Promise<ObjectLinkMapping>;\n getRid: () => string;\n getApiName: () => Promise<string | undefined>;\n }> = strongMemoAsync(async (rid: string) => {\n return Promise.resolve({\n getPropertyMapping: this.#objectPropertyMapping.bind(this, rid),\n getLinkMapping: this.#objectLinkMapping.bind(this, rid),\n getRid: () => rid,\n getApiName: async () => (await this.#getConjureObjectType(rid)).apiName,\n });\n });\n\n forObjectByApiName: (key: string) => Promise<{\n getPropertyMapping: () => Promise<ObjectPropertyMapping>;\n getLinkMapping: () => Promise<ObjectLinkMapping>;\n getRid: () => string;\n getApiName: () => Promise<string | undefined>;\n }> = strongMemoAsync(\n async (objectApiName: string) => {\n const objectDef = await this.#client.ontologyProvider.getObjectDefinition(\n objectApiName,\n );\n return this.forObjectByRid(objectDef.rid);\n },\n );\n\n #objectPropertyMapping = strongMemoAsync(async (objectTypeRid: string) => {\n const conjureObjectType = await this.#getConjureObjectType(objectTypeRid);\n return createObjectPropertyMapping(conjureObjectType);\n });\n\n #objectLinkMapping = strongMemoAsync(async (objectTypeRid: string) => {\n const linkTypes = await getLinkTypesForObjectTypes(this.#ctx, {\n includeObjectTypesWithoutSearchableDatasources: true,\n loadRedacted: false,\n objectTypeBranches: {},\n objectTypeVersions: {\n [objectTypeRid]: await this.ontologyVersion(\"\"),\n },\n });\n invariant(\n linkTypes.linkTypes[objectTypeRid],\n \"link type should be loaded\",\n );\n\n // apiName to content\n const ret: ObjectLinkMapping = {};\n for (const l of linkTypes.linkTypes[objectTypeRid]) {\n const helper = (\n { apiName }: LinkTypeMetadata,\n linkSide: \"SOURCE\" | \"TARGET\",\n otherObjectType: string,\n ) => {\n if (apiName) {\n ret[apiName] = {\n apiName,\n directedLinkTypeRid: {\n linkTypeRid: l.rid,\n linkSide,\n },\n otherObjectType,\n };\n }\n };\n if (l.definition.type === \"oneToMany\") {\n const {\n oneToMany: {\n objectTypeRidManySide,\n manyToOneLinkMetadata,\n objectTypeRidOneSide,\n oneToManyLinkMetadata,\n },\n } = l.definition;\n if (objectTypeRidManySide === objectTypeRid) {\n helper(\n manyToOneLinkMetadata,\n \"TARGET\",\n objectTypeRidOneSide,\n );\n }\n if (objectTypeRidOneSide === objectTypeRid) {\n helper(\n oneToManyLinkMetadata,\n \"SOURCE\",\n objectTypeRidManySide,\n );\n }\n } else if (l.definition.type === \"manyToMany\") {\n const {\n manyToMany: {\n objectTypeRidA,\n objectTypeAToBLinkMetadata,\n objectTypeRidB,\n objectTypeBToALinkMetadata,\n },\n } = l.definition;\n if (objectTypeRidA === objectTypeRid) {\n helper(\n objectTypeAToBLinkMetadata,\n \"SOURCE\",\n objectTypeRidB,\n );\n }\n\n if (objectTypeRidB === objectTypeRid) {\n helper(\n objectTypeBToALinkMetadata,\n \"TARGET\",\n objectTypeRidA,\n );\n }\n }\n }\n\n return ret;\n });\n\n #getConjureObjectType = strongMemoAsync(async (objectTypeRid: string) => {\n this.#logger?.debug(`getConjureObjectType(${objectTypeRid})`);\n const body = {\n datasourceTypes: [],\n objectTypes: [{\n identifier: {\n type: \"objectTypeRid\" as const,\n objectTypeRid: objectTypeRid,\n },\n versionReference: {\n type: \"ontologyVersion\" as const,\n ontologyVersion: await this.ontologyVersion(\"\"),\n },\n }],\n linkTypes: [],\n sharedPropertyTypes: [],\n interfaceTypes: [],\n typeGroups: [],\n loadRedacted: false,\n includeObjectTypeCount: undefined,\n includeObjectTypesWithoutSearchableDatasources: true,\n includeEntityMetadata: undefined,\n actionTypes: [],\n includeTypeGroupEntitiesCount: undefined,\n entityMetadata: undefined,\n };\n const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);\n invariant(\n entities.objectTypes[0]?.objectType,\n \"object type should be loaded\",\n );\n return entities.objectTypes[0].objectType;\n });\n\n ontologyVersion: (key: string) => Promise<string> = strongMemoAsync(async (\n _: string,\n ) => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));\n}\n\nexport const metadataCacheClient: (\n key: MinimalClient,\n) => Promise<MetadataClient> = weakMemoAsync(\n (client: MinimalClient) => Promise.resolve(new MetadataClient(client)),\n);\n\nfunction createObjectPropertyMapping(\n conjureOT: ObjectType,\n): ObjectPropertyMapping {\n invariant(\n conjureOT.primaryKeys.length === 1,\n `only one primary key supported, got ${conjureOT.primaryKeys.length}`,\n );\n const pkRid = conjureOT.primaryKeys[0];\n\n const pkProperty = Object.values(conjureOT.propertyTypes).find(a =>\n a.rid === pkRid\n );\n if (!pkProperty) {\n throw new Error(`Could not find PK property by rid: ${pkRid}`);\n }\n\n const propertyIdToApiNameMapping: Record<string, string> = Object\n .fromEntries(\n Object.values(conjureOT.propertyTypes).map(\n property => {\n return [property.id, property.apiName!];\n },\n ),\n );\n\n const propertyApiNameToIdMapping: Record<string, string> = Object\n .fromEntries(\n Object.values(conjureOT.propertyTypes).map(\n property => {\n return [property.apiName!, property.id];\n },\n ),\n );\n\n return {\n apiName: conjureOT.apiName!,\n id: conjureOT.id,\n propertyIdToApiNameMapping,\n propertyApiNameToIdMapping,\n pk: {\n rid: pkRid,\n apiName: pkProperty.apiName!,\n type: pkProperty.type,\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ConjureSupport.js","names":["bulkLoadOntologyEntities","getLinkTypesForObjectTypes","loadAllOntologies","invariant","createSimpleAsyncCache","createSimpleCache","makeConjureContext","cachedAllOntologies","getOntologyVersionForRid","ctx","ontologyRid","ontologies","process","env","NODE_ENV","currentOntologyVersion","strongMemoSync","fn","Map","get","weakMemoSync","WeakMap","strongMemoAsync","weakMemoAsync","MetadataClient","client","logger","constructor","ontologyProvider","getObjectDefinition","child","mcc","forObjectByRid","rid","Promise","resolve","getPropertyMapping","objectPropertyMapping","bind","getLinkMapping","objectLinkMapping","getRid","getApiName","getConjureObjectType","apiName","forObjectByApiName","objectApiName","objectDef","objectTypeRid","conjureObjectType","createObjectPropertyMapping","linkTypes","includeObjectTypesWithoutSearchableDatasources","loadRedacted","objectTypeBranches","objectTypeVersions","ontologyVersion","ret","l","helper","linkSide","otherObjectType","directedLinkTypeRid","linkTypeRid","definition","type","oneToMany","objectTypeRidManySide","manyToOneLinkMetadata","objectTypeRidOneSide","oneToManyLinkMetadata","manyToMany","objectTypeRidA","objectTypeAToBLinkMetadata","objectTypeRidB","objectTypeBToALinkMetadata","debug","body","datasourceTypes","objectTypes","identifier","versionReference","sharedPropertyTypes","interfaceTypes","typeGroups","includeObjectTypeCount","undefined","includeEntityMetadata","actionTypes","includeTypeGroupEntitiesCount","entityMetadata","entities","objectType","metadataCacheClient","conjureOT","primaryKeys","length","pkRid","pkProperty","Object","values","propertyTypes","find","a","Error","propertyIdToApiNameMapping","fromEntries","map","property","id","propertyApiNameToIdMapping","pk"],"sources":["ConjureSupport.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n DirectedLinkTypeRid,\n LinkTypeMetadata,\n LoadAllOntologiesResponse,\n ObjectType,\n Type,\n} from \"@osdk/client.unstable\";\nimport {\n bulkLoadOntologyEntities,\n getLinkTypesForObjectTypes,\n loadAllOntologies,\n} from \"@osdk/client.unstable\";\nimport type { ConjureContext } from \"conjure-lite\";\nimport invariant from \"tiny-invariant\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport {\n createSimpleAsyncCache,\n createSimpleCache,\n} from \"../object/SimpleCache.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\n\nexport interface ObjectPropertyMapping {\n apiName: string;\n id: string;\n propertyIdToApiNameMapping: Record<string, string>;\n propertyApiNameToIdMapping: Record<string, string>;\n pk: {\n rid: string;\n apiName: string;\n type: Type;\n };\n}\n\ntype ObjectLinkMapping = Record<string, {\n apiName: string;\n directedLinkTypeRid: DirectedLinkTypeRid;\n otherObjectType: string; // rid\n}>;\n\nlet cachedAllOntologies: LoadAllOntologiesResponse | undefined;\nasync function getOntologyVersionForRid(\n ctx: ConjureContext,\n ontologyRid: string,\n) {\n cachedAllOntologies ??= await loadAllOntologies(ctx, {});\n invariant(\n cachedAllOntologies.ontologies[ontologyRid],\n \"ontology should be loaded\",\n );\n\n return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;\n}\n\nconst strongMemoSync = <K, V>(fn: (entry: K) => V) =>\n createSimpleCache<K, V>(new Map(), fn).get;\n\nconst weakMemoSync = <K extends object, V>(fn: (entry: K) => V) =>\n createSimpleCache<K, V>(new WeakMap() as any, fn).get; // FIXME\n\nconst strongMemoAsync = <K, V>(fn: (entry: K) => Promise<V>) =>\n createSimpleAsyncCache<K, V>(\"strong\", fn).get;\n\nconst weakMemoAsync = <K, V>(fn: (entry: K) => Promise<V>) =>\n createSimpleAsyncCache<K, V>(\"weak\", fn).get;\n\nexport class MetadataClient {\n #client: MinimalClient;\n #ctx: ConjureContext;\n #logger: any;\n\n constructor(client: MinimalClient) {\n this.#client = client;\n this.#ctx = makeConjureContext(client, \"ontology-metadata/api\");\n this.#client.ontologyProvider.getObjectDefinition;\n\n this.#logger = this.#client.logger?.child({\n mcc: true,\n });\n }\n\n forObjectByRid: (key: string) => Promise<{\n getPropertyMapping: () => Promise<ObjectPropertyMapping>;\n getLinkMapping: () => Promise<ObjectLinkMapping>;\n getRid: () => string;\n getApiName: () => Promise<string | null | undefined>;\n }> = strongMemoAsync(async (rid: string) => {\n return Promise.resolve({\n getPropertyMapping: this.#objectPropertyMapping.bind(this, rid),\n getLinkMapping: this.#objectLinkMapping.bind(this, rid),\n getRid: () => rid,\n getApiName: async () => (await this.#getConjureObjectType(rid)).apiName,\n });\n });\n\n forObjectByApiName: (key: string) => Promise<{\n getPropertyMapping: () => Promise<ObjectPropertyMapping>;\n getLinkMapping: () => Promise<ObjectLinkMapping>;\n getRid: () => string;\n getApiName: () => Promise<string | null | undefined>;\n }> = strongMemoAsync(\n async (objectApiName: string) => {\n const objectDef = await this.#client.ontologyProvider.getObjectDefinition(\n objectApiName,\n );\n return this.forObjectByRid(objectDef.rid);\n },\n );\n\n #objectPropertyMapping = strongMemoAsync(async (objectTypeRid: string) => {\n const conjureObjectType = await this.#getConjureObjectType(objectTypeRid);\n return createObjectPropertyMapping(conjureObjectType);\n });\n\n #objectLinkMapping = strongMemoAsync(async (objectTypeRid: string) => {\n const linkTypes = await getLinkTypesForObjectTypes(this.#ctx, {\n includeObjectTypesWithoutSearchableDatasources: true,\n loadRedacted: false,\n objectTypeBranches: {},\n objectTypeVersions: {\n [objectTypeRid]: await this.ontologyVersion(\"\"),\n },\n });\n invariant(\n linkTypes.linkTypes[objectTypeRid],\n \"link type should be loaded\",\n );\n\n // apiName to content\n const ret: ObjectLinkMapping = {};\n for (const l of linkTypes.linkTypes[objectTypeRid]) {\n const helper = (\n { apiName }: LinkTypeMetadata,\n linkSide: \"SOURCE\" | \"TARGET\",\n otherObjectType: string,\n ) => {\n if (apiName) {\n ret[apiName] = {\n apiName,\n directedLinkTypeRid: {\n linkTypeRid: l.rid,\n linkSide,\n },\n otherObjectType,\n };\n }\n };\n if (l.definition.type === \"oneToMany\") {\n const {\n oneToMany: {\n objectTypeRidManySide,\n manyToOneLinkMetadata,\n objectTypeRidOneSide,\n oneToManyLinkMetadata,\n },\n } = l.definition;\n if (objectTypeRidManySide === objectTypeRid) {\n helper(\n manyToOneLinkMetadata,\n \"TARGET\",\n objectTypeRidOneSide,\n );\n }\n if (objectTypeRidOneSide === objectTypeRid) {\n helper(\n oneToManyLinkMetadata,\n \"SOURCE\",\n objectTypeRidManySide,\n );\n }\n } else if (l.definition.type === \"manyToMany\") {\n const {\n manyToMany: {\n objectTypeRidA,\n objectTypeAToBLinkMetadata,\n objectTypeRidB,\n objectTypeBToALinkMetadata,\n },\n } = l.definition;\n if (objectTypeRidA === objectTypeRid) {\n helper(\n objectTypeAToBLinkMetadata,\n \"SOURCE\",\n objectTypeRidB,\n );\n }\n\n if (objectTypeRidB === objectTypeRid) {\n helper(\n objectTypeBToALinkMetadata,\n \"TARGET\",\n objectTypeRidA,\n );\n }\n }\n }\n\n return ret;\n });\n\n #getConjureObjectType = strongMemoAsync(async (objectTypeRid: string) => {\n this.#logger?.debug(`getConjureObjectType(${objectTypeRid})`);\n const body = {\n datasourceTypes: [],\n objectTypes: [{\n identifier: {\n type: \"objectTypeRid\" as const,\n objectTypeRid: objectTypeRid,\n },\n versionReference: {\n type: \"ontologyVersion\" as const,\n ontologyVersion: await this.ontologyVersion(\"\"),\n },\n }],\n linkTypes: [],\n sharedPropertyTypes: [],\n interfaceTypes: [],\n typeGroups: [],\n loadRedacted: false,\n includeObjectTypeCount: undefined,\n includeObjectTypesWithoutSearchableDatasources: true,\n includeEntityMetadata: undefined,\n actionTypes: [],\n includeTypeGroupEntitiesCount: undefined,\n entityMetadata: undefined,\n };\n const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);\n invariant(\n entities.objectTypes[0]?.objectType,\n \"object type should be loaded\",\n );\n return entities.objectTypes[0].objectType;\n });\n\n ontologyVersion: (key: string) => Promise<string> = strongMemoAsync(async (\n _: string,\n ) => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));\n}\n\nexport const metadataCacheClient: (\n key: MinimalClient,\n) => Promise<MetadataClient> = weakMemoAsync(\n (client: MinimalClient) => Promise.resolve(new MetadataClient(client)),\n);\n\nfunction createObjectPropertyMapping(\n conjureOT: ObjectType,\n): ObjectPropertyMapping {\n invariant(\n conjureOT.primaryKeys.length === 1,\n `only one primary key supported, got ${conjureOT.primaryKeys.length}`,\n );\n const pkRid = conjureOT.primaryKeys[0];\n\n const pkProperty = Object.values(conjureOT.propertyTypes).find(a =>\n a.rid === pkRid\n );\n if (!pkProperty) {\n throw new Error(`Could not find PK property by rid: ${pkRid}`);\n }\n\n const propertyIdToApiNameMapping: Record<string, string> = Object\n .fromEntries(\n Object.values(conjureOT.propertyTypes).map(\n property => {\n return [property.id, property.apiName!];\n },\n ),\n );\n\n const propertyApiNameToIdMapping: Record<string, string> = Object\n .fromEntries(\n Object.values(conjureOT.propertyTypes).map(\n property => {\n return [property.apiName!, property.id];\n },\n ),\n );\n\n return {\n apiName: conjureOT.apiName!,\n id: conjureOT.id,\n propertyIdToApiNameMapping,\n propertyApiNameToIdMapping,\n pk: {\n rid: pkRid,\n apiName: pkProperty.apiName!,\n type: pkProperty.type,\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionValidationError.js","names":["ActionValidationError","Error","constructor","validation"],"sources":["ActionValidationError.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 { ActionValidationResponse } from \"@osdk/api\";\n\nexport class ActionValidationError extends Error {\n constructor(public validation: ActionValidationResponse) {\n super(\"Validation Error\");\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,OAAO,MAAMA,qBAAqB,SAASC,KAAK,CAAC;EAC/CC,WAAWA,CAAQC,UAAoC,EAAE;IACvD,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"ActionValidationError.js","names":["ActionValidationError","Error","constructor","validation","JSON","stringify"],"sources":["ActionValidationError.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 { ActionValidationResponse } from \"@osdk/api\";\n\nexport class ActionValidationError extends Error {\n constructor(public validation: ActionValidationResponse) {\n super(\"Validation Error: \" + JSON.stringify(validation, null, 2));\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,OAAO,MAAMA,qBAAqB,SAASC,KAAK,CAAC;EAC/CC,WAAWA,CAAQC,UAAoC,EAAE;IACvD,KAAK,CAAC,oBAAoB,GAAGC,IAAI,CAACC,SAAS,CAACF,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAAC,KADjDA,UAAoC,GAApCA,UAAoC;EAEvD;AACF","ignoreList":[]}
|
|
@@ -14,23 +14,25 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { $Actions,
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
17
|
+
import { $Actions, actionTakesAttachment, actionTakesMedia, addGeoshape, createFooInterface, createOffice, createStructPerson, deleteBarInterface, deleteFooInterface, Employee, moveOffice } from "@osdk/client.test.ontology";
|
|
18
|
+
import { LegacyFauxFoundry, MockOntologiesV2, startNodeApiServer, stubData } from "@osdk/shared.test";
|
|
19
|
+
import { beforeAll, describe, expect, expectTypeOf, it, vi } from "vitest";
|
|
20
20
|
import { createClient } from "../createClient.js";
|
|
21
21
|
import { createAttachmentUpload } from "../object/AttachmentUpload.js";
|
|
22
22
|
import { ActionValidationError } from "./ActionValidationError.js";
|
|
23
23
|
import { remapActionResponse } from "./applyAction.js";
|
|
24
|
-
describe("
|
|
24
|
+
describe.each(["https://stack.palantir.com", "https://stack.palantirCustom.com/foo/first/someStuff"])("actions for %s", baseUrl => {
|
|
25
25
|
let client;
|
|
26
|
-
let
|
|
27
|
-
beforeAll(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
let apiServer;
|
|
27
|
+
beforeAll(() => {
|
|
28
|
+
const testSetup = startNodeApiServer(new LegacyFauxFoundry(baseUrl), createClient);
|
|
29
|
+
({
|
|
30
|
+
client,
|
|
31
|
+
apiServer
|
|
32
|
+
} = testSetup);
|
|
33
|
+
return () => {
|
|
34
|
+
apiServer.close();
|
|
35
|
+
};
|
|
34
36
|
});
|
|
35
37
|
it("conditionally returns the edits", async () => {
|
|
36
38
|
const result = await client(createOffice).applyAction({
|
|
@@ -41,26 +43,20 @@ describe("actions", () => {
|
|
|
41
43
|
$returnEdits: true
|
|
42
44
|
});
|
|
43
45
|
expectTypeOf().toEqualTypeOf();
|
|
44
|
-
expect(result).
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
"Office",
|
|
59
|
-
],
|
|
60
|
-
"modifiedObjects": [],
|
|
61
|
-
"type": "edits",
|
|
62
|
-
}
|
|
63
|
-
`);
|
|
46
|
+
expect(result).toMatchObject({
|
|
47
|
+
"addedLinks": [],
|
|
48
|
+
"addedObjects": [{
|
|
49
|
+
"objectType": "Office",
|
|
50
|
+
"primaryKey": "NYC"
|
|
51
|
+
}],
|
|
52
|
+
"deletedLinks": [],
|
|
53
|
+
"deletedLinksCount": 0,
|
|
54
|
+
"deletedObjects": [],
|
|
55
|
+
"deletedObjectsCount": 0,
|
|
56
|
+
"editedObjectTypes": ["Office"],
|
|
57
|
+
"modifiedObjects": [],
|
|
58
|
+
"type": "edits"
|
|
59
|
+
});
|
|
64
60
|
|
|
65
61
|
// eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
|
|
66
62
|
const undefinedResult = await client(createOffice).applyAction({
|
|
@@ -84,55 +80,70 @@ describe("actions", () => {
|
|
|
84
80
|
const result = await client(moveOffice).applyAction({
|
|
85
81
|
officeId: "SEA",
|
|
86
82
|
newAddress: "456 Pike Place",
|
|
87
|
-
|
|
83
|
+
// intentionally using a string to trigger validation errors
|
|
84
|
+
newCapacity: "40"
|
|
88
85
|
}, {
|
|
89
86
|
$validateOnly: true
|
|
90
87
|
});
|
|
91
88
|
expectTypeOf().toEqualTypeOf();
|
|
92
|
-
expect(result).
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
"
|
|
96
|
-
"
|
|
89
|
+
expect(result).toMatchObject({
|
|
90
|
+
"parameters": {
|
|
91
|
+
"newCapacity": {
|
|
92
|
+
"evaluatedConstraints": [],
|
|
93
|
+
"required": false,
|
|
94
|
+
"result": "INVALID"
|
|
97
95
|
}
|
|
98
|
-
|
|
96
|
+
},
|
|
97
|
+
"result": "INVALID",
|
|
98
|
+
"submissionCriteria": []
|
|
99
|
+
});
|
|
99
100
|
});
|
|
100
101
|
it("returns validation directly on validateOnly mode, with custom entry point in URL", async () => {
|
|
101
|
-
const result = await
|
|
102
|
+
const result = await client(moveOffice).applyAction({
|
|
102
103
|
officeId: "SEA",
|
|
103
104
|
newAddress: "456 Pike Place",
|
|
104
|
-
|
|
105
|
+
// intentionally using a string to trigger validation failure
|
|
106
|
+
newCapacity: "40"
|
|
105
107
|
}, {
|
|
106
108
|
$validateOnly: true
|
|
107
109
|
});
|
|
108
110
|
expectTypeOf().toEqualTypeOf();
|
|
109
|
-
expect(result).
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
"
|
|
113
|
-
"
|
|
111
|
+
expect(result).toMatchObject({
|
|
112
|
+
"parameters": {
|
|
113
|
+
"newCapacity": {
|
|
114
|
+
"evaluatedConstraints": [],
|
|
115
|
+
"required": false,
|
|
116
|
+
"result": "INVALID"
|
|
114
117
|
}
|
|
115
|
-
|
|
118
|
+
},
|
|
119
|
+
"result": "INVALID",
|
|
120
|
+
"submissionCriteria": []
|
|
121
|
+
});
|
|
116
122
|
});
|
|
117
123
|
it("throws on validation errors", async () => {
|
|
118
124
|
try {
|
|
119
125
|
await client(moveOffice).applyAction({
|
|
120
126
|
officeId: "SEA",
|
|
121
127
|
newAddress: "456 Pike Place",
|
|
122
|
-
|
|
128
|
+
// intentionally using a string to trigger validation failure
|
|
129
|
+
newCapacity: "40"
|
|
123
130
|
}, {
|
|
124
131
|
$returnEdits: true
|
|
125
132
|
});
|
|
126
133
|
expect.fail("Should not reach here");
|
|
127
134
|
} catch (e) {
|
|
128
135
|
expect(e).toBeInstanceOf(ActionValidationError);
|
|
129
|
-
expect(e.validation).
|
|
130
|
-
{
|
|
131
|
-
"
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
+
expect(e.validation).toMatchObject({
|
|
137
|
+
"parameters": {
|
|
138
|
+
"newCapacity": {
|
|
139
|
+
"evaluatedConstraints": [],
|
|
140
|
+
"required": false,
|
|
141
|
+
"result": "INVALID"
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
"result": "INVALID",
|
|
145
|
+
"submissionCriteria": []
|
|
146
|
+
});
|
|
136
147
|
}
|
|
137
148
|
});
|
|
138
149
|
it("Accepts structs", async () => {
|
|
@@ -154,27 +165,46 @@ describe("actions", () => {
|
|
|
154
165
|
expectTypeOf().toMatchTypeOf();
|
|
155
166
|
client(actionTakesAttachment).batchApplyAction;
|
|
156
167
|
expectTypeOf().toMatchTypeOf();
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
168
|
+
await apiServer.boundary(async () => {
|
|
169
|
+
apiServer.use(MockOntologiesV2.Actions.apply(baseUrl, () => {
|
|
170
|
+
return {
|
|
171
|
+
validation: {
|
|
172
|
+
result: "VALID",
|
|
173
|
+
submissionCriteria: [],
|
|
174
|
+
parameters: {}
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
}));
|
|
178
|
+
|
|
179
|
+
// eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
|
|
180
|
+
const result = await client(actionTakesAttachment).applyAction({
|
|
181
|
+
attachment: "ri.some.rid"
|
|
182
|
+
});
|
|
183
|
+
expectTypeOf().toEqualTypeOf();
|
|
184
|
+
expect(result).toBeUndefined();
|
|
185
|
+
})();
|
|
162
186
|
});
|
|
163
187
|
it("Accepts attachment uploads", async () => {
|
|
164
188
|
client(actionTakesAttachment).applyAction;
|
|
165
189
|
client(actionTakesAttachment).batchApplyAction;
|
|
166
190
|
expectTypeOf().toMatchTypeOf();
|
|
167
191
|
expectTypeOf().toMatchTypeOf();
|
|
168
|
-
const blob =
|
|
192
|
+
const blob = new Blob([JSON.stringify({
|
|
193
|
+
name: "Hello World"
|
|
194
|
+
}, null, 2)]);
|
|
169
195
|
const attachment = createAttachmentUpload(blob, "file1.txt");
|
|
170
196
|
|
|
171
197
|
// Mimics the Web file API (https://developer.mozilla.org/en-US/docs/Web/API/File). The File constructor is only available in Node 19.2.0 and above
|
|
172
198
|
const fileAttachment = Object.assign(blob, {
|
|
173
199
|
name: "file1.txt"
|
|
174
200
|
});
|
|
201
|
+
|
|
202
|
+
// eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
|
|
175
203
|
const result = await client(actionTakesAttachment).applyAction({
|
|
176
204
|
attachment
|
|
177
205
|
});
|
|
206
|
+
|
|
207
|
+
// eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
|
|
178
208
|
const result2 = await client(actionTakesAttachment).applyAction({
|
|
179
209
|
attachment: fileAttachment
|
|
180
210
|
});
|
|
@@ -187,7 +217,23 @@ describe("actions", () => {
|
|
|
187
217
|
client(actionTakesMedia).applyAction;
|
|
188
218
|
expectTypeOf().toMatchTypeOf();
|
|
189
219
|
const result = await client(actionTakesMedia).applyAction({
|
|
190
|
-
media_reference: stubData.
|
|
220
|
+
media_reference: stubData.actionRequestMediaUpload.parameters.media_reference
|
|
221
|
+
});
|
|
222
|
+
expectTypeOf().toEqualTypeOf();
|
|
223
|
+
expect(result).toBeUndefined();
|
|
224
|
+
});
|
|
225
|
+
it("Accepts geoshapes", async () => {
|
|
226
|
+
client(addGeoshape).applyAction;
|
|
227
|
+
expectTypeOf().toMatchTypeOf();
|
|
228
|
+
const result = await client(addGeoshape).applyAction({
|
|
229
|
+
geoshapeParam: {
|
|
230
|
+
type: "Polygon",
|
|
231
|
+
coordinates: [[[-97.86567863752134, 38.418052586871624], [-97.86567863752134, 35.410223767370525], [-91.98573135442845, 35.410223767370525], [-91.98573135442845, 38.418052586871624], [-97.86567863752134, 38.418052586871624]]]
|
|
232
|
+
},
|
|
233
|
+
geohashParam: {
|
|
234
|
+
type: "Point",
|
|
235
|
+
coordinates: [-79.4382042508868, 40.917859676842255]
|
|
236
|
+
}
|
|
191
237
|
});
|
|
192
238
|
expectTypeOf().toEqualTypeOf();
|
|
193
239
|
expect(result).toBeUndefined();
|
|
@@ -200,7 +246,7 @@ describe("actions", () => {
|
|
|
200
246
|
const result = await client(deleteFooInterface).applyAction({
|
|
201
247
|
deletedInterface: {
|
|
202
248
|
$objectType: "Employee",
|
|
203
|
-
$primaryKey:
|
|
249
|
+
$primaryKey: 50030
|
|
204
250
|
}
|
|
205
251
|
});
|
|
206
252
|
expectTypeOf().toEqualTypeOf();
|
|
@@ -218,7 +264,7 @@ describe("actions", () => {
|
|
|
218
264
|
client(createFooInterface).batchApplyAction;
|
|
219
265
|
expectTypeOf().toMatchTypeOf();
|
|
220
266
|
const result = await client(createFooInterface).applyAction({
|
|
221
|
-
createdInterface:
|
|
267
|
+
createdInterface: Employee.apiName
|
|
222
268
|
});
|
|
223
269
|
expectTypeOf().toEqualTypeOf();
|
|
224
270
|
expect(result).toBeUndefined();
|
|
@@ -235,30 +281,23 @@ describe("actions", () => {
|
|
|
235
281
|
}], {
|
|
236
282
|
$returnEdits: true
|
|
237
283
|
});
|
|
238
|
-
expect(result).
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
"objectType": "Office",
|
|
256
|
-
"primaryKey": "NYC",
|
|
257
|
-
},
|
|
258
|
-
],
|
|
259
|
-
"type": "edits",
|
|
260
|
-
}
|
|
261
|
-
`);
|
|
284
|
+
expect(result).toMatchObject({
|
|
285
|
+
"addedLinks": [],
|
|
286
|
+
"addedObjects": [],
|
|
287
|
+
"deletedLinks": [],
|
|
288
|
+
"deletedLinksCount": 0,
|
|
289
|
+
"deletedObjects": [],
|
|
290
|
+
"deletedObjectsCount": 0,
|
|
291
|
+
"editedObjectTypes": ["Office"],
|
|
292
|
+
"modifiedObjects": [{
|
|
293
|
+
"objectType": "Office",
|
|
294
|
+
"primaryKey": "SEA"
|
|
295
|
+
}, {
|
|
296
|
+
"objectType": "Office",
|
|
297
|
+
"primaryKey": "NYC"
|
|
298
|
+
}],
|
|
299
|
+
"type": "edits"
|
|
300
|
+
});
|
|
262
301
|
});
|
|
263
302
|
});
|
|
264
303
|
describe("ActionResponse remapping", () => {
|
|
@@ -446,7 +485,13 @@ describe("ActionResponse remapping", () => {
|
|
|
446
485
|
});
|
|
447
486
|
it("actions are enumerable", async () => {
|
|
448
487
|
const actions = Object.keys($Actions);
|
|
449
|
-
expect(actions).toStrictEqual(["actionTakesAttachment", "actionTakesMedia", "actionTakesObjectSet", "createFooInterface", "createOffice", "createOfficeAndEmployee", "createStructPerson", "deleteBarInterface", "deleteFooInterface", "moveOffice", "promoteEmployee", "promoteEmployeeObject"]);
|
|
488
|
+
expect(actions).toStrictEqual(["actionTakesAttachment", "actionTakesMedia", "actionTakesObjectSet", "addGeoshape", "createFooInterface", "createOffice", "createOfficeAndEmployee", "createStructPerson", "deleteBarInterface", "deleteFooInterface", "editTodo", "moveOffice", "promoteEmployee", "promoteEmployeeObject"]);
|
|
450
489
|
});
|
|
451
490
|
});
|
|
491
|
+
function wrapper(fn) {
|
|
492
|
+
return () => fn();
|
|
493
|
+
}
|
|
494
|
+
async function example() {
|
|
495
|
+
await wrapper(async () => Promise.resolve("hi"))();
|
|
496
|
+
}
|
|
452
497
|
//# sourceMappingURL=actions.test.js.map
|