@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
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { Employee, Todo } from "@osdk/client.test.ontology";
|
|
17
|
+
import { Employee, FooInterface, Todo } from "@osdk/client.test.ontology";
|
|
18
18
|
import { describe, expect, expectTypeOf, it } from "vitest";
|
|
19
19
|
import { createMinimalClient } from "../createMinimalClient.js";
|
|
20
|
-
import { fetchPage, objectSetToSearchJsonV2 } from "../object/fetchPage.js";
|
|
20
|
+
import { fetchPage, objectSetToSearchJsonV2, resolveInterfaceObjectSet } from "../object/fetchPage.js";
|
|
21
21
|
import { createObjectSet, getWireObjectSet } from "../objectSet/createObjectSet.js";
|
|
22
22
|
const metadata = {
|
|
23
23
|
ontologyRid: "asdf"
|
|
@@ -93,6 +93,60 @@ describe(fetchPage, () => {
|
|
|
93
93
|
}]
|
|
94
94
|
});
|
|
95
95
|
});
|
|
96
|
+
it("converts interface object set for new API correctly", () => {
|
|
97
|
+
const client = createMinimalClient(metadata, "https://foo", async () => "");
|
|
98
|
+
const objectSet = createObjectSet(FooInterface, client).where({
|
|
99
|
+
fooSpt: "hello"
|
|
100
|
+
});
|
|
101
|
+
const wireObjectSet = getWireObjectSet(objectSet);
|
|
102
|
+
expect(resolveInterfaceObjectSet(wireObjectSet, "FooInterface", {
|
|
103
|
+
$includeAllBaseObjectProperties: true
|
|
104
|
+
})).toEqual({
|
|
105
|
+
type: "intersect",
|
|
106
|
+
objectSets: [{
|
|
107
|
+
type: "filter",
|
|
108
|
+
where: {
|
|
109
|
+
type: "eq",
|
|
110
|
+
field: "fooSpt",
|
|
111
|
+
value: "hello"
|
|
112
|
+
},
|
|
113
|
+
objectSet: {
|
|
114
|
+
interfaceType: "FooInterface",
|
|
115
|
+
type: "interfaceBase"
|
|
116
|
+
}
|
|
117
|
+
}, {
|
|
118
|
+
type: "interfaceBase",
|
|
119
|
+
interfaceType: "FooInterface",
|
|
120
|
+
includeAllBaseObjectProperties: true
|
|
121
|
+
}]
|
|
122
|
+
});
|
|
123
|
+
expect(resolveInterfaceObjectSet(wireObjectSet, "FooInterface", {})).toEqual({
|
|
124
|
+
type: "filter",
|
|
125
|
+
where: {
|
|
126
|
+
type: "eq",
|
|
127
|
+
field: "fooSpt",
|
|
128
|
+
value: "hello"
|
|
129
|
+
},
|
|
130
|
+
objectSet: {
|
|
131
|
+
interfaceType: "FooInterface",
|
|
132
|
+
type: "interfaceBase"
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
expect(resolveInterfaceObjectSet(wireObjectSet, "FooInterface", {
|
|
136
|
+
$includeAllBaseObjectProperties: false
|
|
137
|
+
})).toEqual({
|
|
138
|
+
type: "filter",
|
|
139
|
+
where: {
|
|
140
|
+
type: "eq",
|
|
141
|
+
field: "fooSpt",
|
|
142
|
+
value: "hello"
|
|
143
|
+
},
|
|
144
|
+
objectSet: {
|
|
145
|
+
interfaceType: "FooInterface",
|
|
146
|
+
type: "interfaceBase"
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
});
|
|
96
150
|
it("where clause keys correctly typed", () => {
|
|
97
151
|
const client = createMinimalClient(metadata, "https://foo", async () => "");
|
|
98
152
|
const objectSet = createObjectSet(Todo, client);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPage.test.js","names":["Employee","Todo","describe","expect","expectTypeOf","it","createMinimalClient","fetchPage","objectSetToSearchJsonV2","createObjectSet","getWireObjectSet","metadata","ontologyRid","branded","toEqualTypeOf","type","objectSet","objectType","where","field","value","undefined","toEqual","client","text","id","$gt","wireObjectSet","objectSetWithSpecialPropertyTypes","toBeCallableWith","$and","$lte","employeeLocation","$eq","$ne","$isNull","employeeStatus"],"sources":["fetchPage.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 {\n FetchPageArgs,\n FetchPageResult,\n ObjectTypeDefinition,\n Osdk,\n PageResult,\n PropertyKeys,\n SelectArgToKeys,\n} from \"@osdk/api\";\nimport type { FooInterface } from \"@osdk/client.test.ontology\";\nimport { Employee, Todo } from \"@osdk/client.test.ontology\";\nimport type { SearchJsonQueryV2 } from \"@osdk/foundry.ontologies\";\nimport { describe, expect, expectTypeOf, it } from \"vitest\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport { fetchPage, objectSetToSearchJsonV2 } from \"../object/fetchPage.js\";\nimport {\n createObjectSet,\n getWireObjectSet,\n} from \"../objectSet/createObjectSet.js\";\n\nconst metadata = {\n ontologyRid: \"asdf\",\n};\ntype TodoDef = Todo;\n\ndescribe(fetchPage, () => {\n it(\"infers select properly\", () => {\n // this helper lets us get return types of functions that are generic\n class Helper<\n T extends ObjectTypeDefinition,\n const A extends FetchPageArgs<T>,\n > {\n public fetchPage<\n L extends SelectArgToKeys<T, A>,\n R extends A[\"$includeRid\"] extends true ? true : false,\n >() {\n return fetchPage<\n T,\n L & PropertyKeys<T>,\n R,\n \"drop\"\n >({} as any, {} as any, {} as any);\n }\n }\n\n expectTypeOf<Awaited<ReturnType<Helper<TodoDef, {}>[\"fetchPage\"]>>>()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"$all\">>>();\n\n // e.g. fetchPage({ select: [] });\n expectTypeOf<\n Awaited<ReturnType<Helper<TodoDef, { $select: [] }>[\"fetchPage\"]>>\n >()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"$all\">>>();\n\n // e.g. fetchPage()\n expectTypeOf<\n Awaited<\n ReturnType<\n Helper<TodoDef, FetchPageArgs<TodoDef>>[\"fetchPage\"]\n >\n >\n >()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"$all\">>>();\n\n // e.g. fetchPage({ $select: [\"text\"]}\n expectTypeOf<\n Awaited<\n ReturnType<Helper<TodoDef, { $select: [\"text\"] }>[\"fetchPage\"]>\n >\n >()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"text\">>>();\n });\n\n it(\"converts interface objectsets to search properly\", () => {\n expect(objectSetToSearchJsonV2(\n {\n type: \"filter\",\n objectSet: {\n type: \"filter\",\n objectSet: {\n type: \"base\",\n objectType: \"Todo\",\n },\n where: {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n },\n\n where: {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n },\n \"Todo\",\n undefined,\n )).toEqual(\n {\n type: \"and\",\n value: [\n {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n ],\n } satisfies SearchJsonQueryV2,\n );\n });\n\n it(\"converts interface objectsets to search properly part 2\", () => {\n const client = createMinimalClient(\n metadata,\n \"https://foo\",\n async () => \"\",\n );\n const objectSet = createObjectSet(Todo, client).where({\n text: \"hello\",\n }).where({\n id: { $gt: 2 },\n });\n\n const wireObjectSet = getWireObjectSet(objectSet);\n\n expect(objectSetToSearchJsonV2(wireObjectSet, \"Todo\", undefined)).toEqual(\n {\n type: \"and\",\n value: [\n {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n ],\n } satisfies SearchJsonQueryV2,\n );\n });\n\n it(\"where clause keys correctly typed\", () => {\n const client = createMinimalClient(\n metadata,\n \"https://foo\",\n async () => \"\",\n );\n const objectSet = createObjectSet(Todo, client);\n const objectSetWithSpecialPropertyTypes = createObjectSet(Employee, client);\n\n expectTypeOf(objectSet.where).toBeCallableWith({\n $and: [{ id: { $gt: 2 } }, { id: { $lte: 2 } }],\n });\n expectTypeOf(objectSet.where).toBeCallableWith({\n // @ts-expect-error\n id: { $gt: 2, $lte: 2 },\n });\n\n // We used to default to number filters for other types, like geotimeseries reference and timeseries. These tests will make sure\n // we don't do that anymore\n expectTypeOf(objectSetWithSpecialPropertyTypes.where).toBeCallableWith({\n $and: [\n { employeeLocation: { $eq: \"myLocation\" } },\n {\n employeeLocation: { $ne: \"notMyLocation\" },\n },\n { employeeLocation: { $isNull: false } },\n // @ts-expect-error\n { employeeLocation: { $isNull: false, $eq: \"myLocation\" } },\n // @ts-expect-error\n { employeeLocation: { $gt: 5 } },\n ],\n });\n\n expectTypeOf(objectSetWithSpecialPropertyTypes.where).toBeCallableWith({\n $and: [\n { employeeStatus: { $eq: \"myStatus\" } },\n {\n employeeLocation: { $ne: \"notMyStatus\" },\n },\n { employeeLocation: { $isNull: false } },\n // @ts-expect-error\n { employeeLocation: { $lte: 5 } },\n ],\n });\n });\n\n describe(\"includeRid\", () => {\n it(\"properly returns the correct string for includeRid\", () => {\n expectTypeOf<Awaited<FetchPageResult<TodoDef, \"text\", false, \"throw\">>>()\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"text\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<Awaited<FetchPageResult<TodoDef, \"text\", true, false>>>()\n .branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"text\" | \"$rid\" | \"$notStrict\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n });\n\n it(\"works with $all\", () => {\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\" | \"id\", false, \"drop\">>\n >().branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef>[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\" | \"id\", true, \"drop\">>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\" | \"id\", true, \"drop\">>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<FooInterface, \"fooSpt\", true, \"drop\">>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<FooInterface, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<FooInterface, \"fooSpt\", true, \"drop\">>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<FooInterface, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"fetchPage.test.js","names":["Employee","FooInterface","Todo","describe","expect","expectTypeOf","it","createMinimalClient","fetchPage","objectSetToSearchJsonV2","resolveInterfaceObjectSet","createObjectSet","getWireObjectSet","metadata","ontologyRid","branded","toEqualTypeOf","type","objectSet","objectType","where","field","value","undefined","toEqual","client","text","id","$gt","wireObjectSet","fooSpt","$includeAllBaseObjectProperties","objectSets","interfaceType","includeAllBaseObjectProperties","objectSetWithSpecialPropertyTypes","toBeCallableWith","$and","$lte","employeeLocation","$eq","$ne","$isNull","employeeStatus"],"sources":["fetchPage.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 {\n FetchPageArgs,\n FetchPageResult,\n ObjectTypeDefinition,\n Osdk,\n PageResult,\n PropertyKeys,\n SelectArgToKeys,\n} from \"@osdk/api\";\nimport { Employee, FooInterface, Todo } from \"@osdk/client.test.ontology\";\nimport type { SearchJsonQueryV2 } from \"@osdk/foundry.ontologies\";\nimport { describe, expect, expectTypeOf, it } from \"vitest\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport {\n fetchPage,\n objectSetToSearchJsonV2,\n resolveInterfaceObjectSet,\n} from \"../object/fetchPage.js\";\nimport {\n createObjectSet,\n getWireObjectSet,\n} from \"../objectSet/createObjectSet.js\";\n\nconst metadata = {\n ontologyRid: \"asdf\",\n};\ntype TodoDef = Todo;\n\ndescribe(fetchPage, () => {\n it(\"infers select properly\", () => {\n // this helper lets us get return types of functions that are generic\n class Helper<\n T extends ObjectTypeDefinition,\n const A extends FetchPageArgs<T>,\n > {\n public fetchPage<\n L extends SelectArgToKeys<T, A>,\n R extends A[\"$includeRid\"] extends true ? true : false,\n >() {\n return fetchPage<\n T,\n L & PropertyKeys<T>,\n R,\n \"drop\",\n false\n >({} as any, {} as any, {} as any);\n }\n }\n\n expectTypeOf<Awaited<ReturnType<Helper<TodoDef, {}>[\"fetchPage\"]>>>()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"$all\">>>();\n\n // e.g. fetchPage({ select: [] });\n expectTypeOf<\n Awaited<ReturnType<Helper<TodoDef, { $select: [] }>[\"fetchPage\"]>>\n >()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"$all\">>>();\n\n // e.g. fetchPage()\n expectTypeOf<\n Awaited<\n ReturnType<\n Helper<TodoDef, FetchPageArgs<TodoDef>>[\"fetchPage\"]\n >\n >\n >()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"$all\">>>();\n\n // e.g. fetchPage({ $select: [\"text\"]}\n expectTypeOf<\n Awaited<\n ReturnType<Helper<TodoDef, { $select: [\"text\"] }>[\"fetchPage\"]>\n >\n >()\n .branded\n .toEqualTypeOf<PageResult<Osdk<TodoDef, \"text\">>>();\n });\n\n it(\"converts interface objectsets to search properly\", () => {\n expect(objectSetToSearchJsonV2(\n {\n type: \"filter\",\n objectSet: {\n type: \"filter\",\n objectSet: {\n type: \"base\",\n objectType: \"Todo\",\n },\n where: {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n },\n\n where: {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n },\n \"Todo\",\n undefined,\n )).toEqual(\n {\n type: \"and\",\n value: [\n {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n ],\n } satisfies SearchJsonQueryV2,\n );\n });\n\n it(\"converts interface objectsets to search properly part 2\", () => {\n const client = createMinimalClient(\n metadata,\n \"https://foo\",\n async () => \"\",\n );\n const objectSet = createObjectSet(Todo, client).where({\n text: \"hello\",\n }).where({\n id: { $gt: 2 },\n });\n\n const wireObjectSet = getWireObjectSet(objectSet);\n\n expect(objectSetToSearchJsonV2(wireObjectSet, \"Todo\", undefined)).toEqual(\n {\n type: \"and\",\n value: [\n {\n type: \"gt\",\n field: \"id\",\n value: 2,\n },\n {\n type: \"eq\",\n field: \"text\",\n value: \"hello\",\n },\n ],\n } satisfies SearchJsonQueryV2,\n );\n });\n\n it(\"converts interface object set for new API correctly\", () => {\n const client = createMinimalClient(\n metadata,\n \"https://foo\",\n async () => \"\",\n );\n const objectSet = createObjectSet(FooInterface, client).where({\n fooSpt: \"hello\",\n });\n\n const wireObjectSet = getWireObjectSet(objectSet);\n\n expect(\n resolveInterfaceObjectSet(wireObjectSet, \"FooInterface\", {\n $includeAllBaseObjectProperties: true,\n }),\n ).toEqual(\n {\n type: \"intersect\",\n objectSets: [\n {\n type: \"filter\",\n where: {\n type: \"eq\",\n field: \"fooSpt\",\n value: \"hello\",\n },\n objectSet: { interfaceType: \"FooInterface\", type: \"interfaceBase\" },\n },\n {\n type: \"interfaceBase\",\n interfaceType: \"FooInterface\",\n includeAllBaseObjectProperties: true,\n },\n ],\n },\n );\n\n expect(\n resolveInterfaceObjectSet(wireObjectSet, \"FooInterface\", {}),\n ).toEqual(\n {\n type: \"filter\",\n where: {\n type: \"eq\",\n field: \"fooSpt\",\n value: \"hello\",\n },\n objectSet: { interfaceType: \"FooInterface\", type: \"interfaceBase\" },\n },\n );\n expect(\n resolveInterfaceObjectSet(wireObjectSet, \"FooInterface\", {\n $includeAllBaseObjectProperties: false,\n }),\n ).toEqual(\n {\n type: \"filter\",\n where: {\n type: \"eq\",\n field: \"fooSpt\",\n value: \"hello\",\n },\n objectSet: { interfaceType: \"FooInterface\", type: \"interfaceBase\" },\n },\n );\n });\n\n it(\"where clause keys correctly typed\", () => {\n const client = createMinimalClient(\n metadata,\n \"https://foo\",\n async () => \"\",\n );\n const objectSet = createObjectSet(Todo, client);\n const objectSetWithSpecialPropertyTypes = createObjectSet(Employee, client);\n\n expectTypeOf(objectSet.where).toBeCallableWith({\n $and: [{ id: { $gt: 2 } }, { id: { $lte: 2 } }],\n });\n expectTypeOf(objectSet.where).toBeCallableWith({\n // @ts-expect-error\n id: { $gt: 2, $lte: 2 },\n });\n\n // We used to default to number filters for other types, like geotimeseries reference and timeseries. These tests will make sure\n // we don't do that anymore\n expectTypeOf(objectSetWithSpecialPropertyTypes.where).toBeCallableWith({\n $and: [\n { employeeLocation: { $eq: \"myLocation\" } },\n {\n employeeLocation: { $ne: \"notMyLocation\" },\n },\n { employeeLocation: { $isNull: false } },\n // @ts-expect-error\n { employeeLocation: { $isNull: false, $eq: \"myLocation\" } },\n // @ts-expect-error\n { employeeLocation: { $gt: 5 } },\n ],\n });\n\n expectTypeOf(objectSetWithSpecialPropertyTypes.where).toBeCallableWith({\n $and: [\n { employeeStatus: { $eq: \"myStatus\" } },\n {\n employeeLocation: { $ne: \"notMyStatus\" },\n },\n { employeeLocation: { $isNull: false } },\n // @ts-expect-error\n { employeeLocation: { $lte: 5 } },\n ],\n });\n });\n\n describe(\"includeRid\", () => {\n it(\"properly returns the correct string for includeRid\", () => {\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\", false, \"throw\", false>>\n >()\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"text\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\", true, false, false>>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"text\" | \"$rid\" | \"$notStrict\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n });\n\n it(\"works with $all\", () => {\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\" | \"id\", false, \"drop\", false>>\n >().branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef>[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\" | \"id\", true, \"drop\", false>>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<TodoDef, \"text\" | \"id\", true, \"drop\", false>>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<TodoDef, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<FooInterface, \"fooSpt\", true, \"drop\", false>>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<FooInterface, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n\n expectTypeOf<\n Awaited<FetchPageResult<FooInterface, \"fooSpt\", true, \"drop\", false>>\n >()\n .branded\n .toEqualTypeOf<{\n data: Osdk<FooInterface, \"$all\" | \"$rid\">[];\n nextPageToken: string | undefined;\n totalCount: string;\n }>();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,17 +15,56 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { $ontologyRid, Employee } from "@osdk/client.test.ontology";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
18
|
+
import { LegacyFauxFoundry, startNodeApiServer } from "@osdk/shared.test";
|
|
19
|
+
import { formatISO, sub } from "date-fns";
|
|
20
|
+
import { beforeAll, describe, expect, it, vi } from "vitest";
|
|
20
21
|
import { createClient } from "../createClient.js";
|
|
21
22
|
describe("Timeseries", () => {
|
|
22
23
|
let client;
|
|
24
|
+
const locationGeotimeData = {
|
|
25
|
+
50030: [{
|
|
26
|
+
time: "2012-02-12",
|
|
27
|
+
value: {
|
|
28
|
+
type: "Point",
|
|
29
|
+
coordinates: [1.1, 1.1]
|
|
30
|
+
}
|
|
31
|
+
}, {
|
|
32
|
+
time: "2013-03-13",
|
|
33
|
+
value: {
|
|
34
|
+
type: "Point",
|
|
35
|
+
coordinates: [2.2, 2.2]
|
|
36
|
+
}
|
|
37
|
+
}, {
|
|
38
|
+
time: "2014-04-14",
|
|
39
|
+
value: {
|
|
40
|
+
type: "Point",
|
|
41
|
+
coordinates: [3.3, 3.3]
|
|
42
|
+
}
|
|
43
|
+
}],
|
|
44
|
+
50031: [{
|
|
45
|
+
time: formatISO(sub(Date.now(), {
|
|
46
|
+
"days": 2
|
|
47
|
+
})),
|
|
48
|
+
value: {
|
|
49
|
+
type: "Point",
|
|
50
|
+
coordinates: [2.2, 2.2]
|
|
51
|
+
}
|
|
52
|
+
}]
|
|
53
|
+
};
|
|
23
54
|
beforeAll(async () => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
55
|
+
const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);
|
|
56
|
+
({
|
|
57
|
+
client
|
|
58
|
+
} = testSetup);
|
|
59
|
+
for (const [pk, data] of Object.entries(locationGeotimeData)) {
|
|
60
|
+
testSetup.fauxFoundry.getDataStore($ontologyRid).registerTimeSeriesData("Employee", pk, "employeeLocation", data);
|
|
61
|
+
}
|
|
62
|
+
vi.useFakeTimers();
|
|
63
|
+
vi.setSystemTime(new Date("2013-03-13"));
|
|
64
|
+
return () => {
|
|
65
|
+
testSetup.apiServer.close();
|
|
66
|
+
vi.useRealTimers();
|
|
67
|
+
};
|
|
29
68
|
});
|
|
30
69
|
it("get latest value works", async () => {
|
|
31
70
|
const employee = await client(Employee).fetchOne(50030);
|
|
@@ -40,16 +79,8 @@ describe("Timeseries", () => {
|
|
|
40
79
|
const nextLastPoint = employee.employeeLocation?.lastFetchedValue;
|
|
41
80
|
expect(employee.employeeLocation?.lastFetchedValue).toBeDefined();
|
|
42
81
|
expect(nextLastPoint).toEqual(fetchedPoint);
|
|
43
|
-
expect(nextLastPoint
|
|
44
|
-
expect(
|
|
45
|
-
type: "Point",
|
|
46
|
-
coordinates: [3.3, 3.3]
|
|
47
|
-
});
|
|
48
|
-
expect(fetchedPoint?.time).toEqual("2014-04-14");
|
|
49
|
-
expect(fetchedPoint?.value).toEqual({
|
|
50
|
-
type: "Point",
|
|
51
|
-
coordinates: [3.3, 3.3]
|
|
52
|
-
});
|
|
82
|
+
expect(nextLastPoint).toEqual(locationGeotimeData[50030][2]);
|
|
83
|
+
expect(fetchedPoint).toEqual(locationGeotimeData[50030][2]);
|
|
53
84
|
|
|
54
85
|
// Making sure caching working as expected
|
|
55
86
|
const initialPointEmployee2 = employee2.employeeLocation?.lastFetchedValue;
|
|
@@ -58,16 +89,8 @@ describe("Timeseries", () => {
|
|
|
58
89
|
const nextLastPoint2 = employee2.employeeLocation?.lastFetchedValue;
|
|
59
90
|
expect(employee2.employeeLocation?.lastFetchedValue).toBeDefined();
|
|
60
91
|
expect(nextLastPoint2).toEqual(fetchedPoint2);
|
|
61
|
-
expect(nextLastPoint2
|
|
62
|
-
expect(
|
|
63
|
-
type: "Point",
|
|
64
|
-
coordinates: [2.2, 2.2]
|
|
65
|
-
});
|
|
66
|
-
expect(fetchedPoint2?.time).toEqual("2013-03-13");
|
|
67
|
-
expect(fetchedPoint2?.value).toEqual({
|
|
68
|
-
type: "Point",
|
|
69
|
-
coordinates: [2.2, 2.2]
|
|
70
|
-
});
|
|
92
|
+
expect(nextLastPoint2).toEqual(locationGeotimeData[50031][0]);
|
|
93
|
+
expect(fetchedPoint2).toEqual(locationGeotimeData[50031][0]);
|
|
71
94
|
});
|
|
72
95
|
it("getAll values with before works", async () => {
|
|
73
96
|
const employee = await client(Employee).fetchOne(50030);
|
|
@@ -77,25 +100,7 @@ describe("Timeseries", () => {
|
|
|
77
100
|
$unit: "month"
|
|
78
101
|
});
|
|
79
102
|
expect(points).toBeDefined();
|
|
80
|
-
expect(points).toEqual([
|
|
81
|
-
time: "2012-02-12",
|
|
82
|
-
value: {
|
|
83
|
-
type: "Point",
|
|
84
|
-
coordinates: [1.1, 1.1]
|
|
85
|
-
}
|
|
86
|
-
}, {
|
|
87
|
-
time: "2013-03-13",
|
|
88
|
-
value: {
|
|
89
|
-
type: "Point",
|
|
90
|
-
coordinates: [2.2, 2.2]
|
|
91
|
-
}
|
|
92
|
-
}, {
|
|
93
|
-
time: "2014-04-14",
|
|
94
|
-
value: {
|
|
95
|
-
type: "Point",
|
|
96
|
-
coordinates: [3.3, 3.3]
|
|
97
|
-
}
|
|
98
|
-
}]);
|
|
103
|
+
expect(points).toEqual([locationGeotimeData[50030][1], locationGeotimeData[50030][2]]);
|
|
99
104
|
});
|
|
100
105
|
it("getAll values with after works", async () => {
|
|
101
106
|
const employee = await client(Employee).fetchOne(50030);
|
|
@@ -105,19 +110,8 @@ describe("Timeseries", () => {
|
|
|
105
110
|
$unit: "month"
|
|
106
111
|
});
|
|
107
112
|
expect(points).toBeDefined();
|
|
108
|
-
expect(points).toEqual([
|
|
109
|
-
|
|
110
|
-
value: {
|
|
111
|
-
type: "Point",
|
|
112
|
-
coordinates: [1.1, 1.1]
|
|
113
|
-
}
|
|
114
|
-
}, {
|
|
115
|
-
time: "2014-04-14",
|
|
116
|
-
value: {
|
|
117
|
-
type: "Point",
|
|
118
|
-
coordinates: [3.3, 3.3]
|
|
119
|
-
}
|
|
120
|
-
}]);
|
|
113
|
+
expect(points).toEqual([locationGeotimeData[50030][0], locationGeotimeData[50030][1]]);
|
|
114
|
+
vi.useRealTimers();
|
|
121
115
|
});
|
|
122
116
|
it("getAll points with absolute range works", async () => {
|
|
123
117
|
const employee = await client(Employee).fetchOne(50030);
|
|
@@ -146,37 +140,7 @@ describe("Timeseries", () => {
|
|
|
146
140
|
expect(employee.$primaryKey).toEqual(50030);
|
|
147
141
|
const points = await employee.employeeLocation?.getAllValues();
|
|
148
142
|
expect(points).toBeDefined();
|
|
149
|
-
expect(points).toEqual([
|
|
150
|
-
time: "2012-02-12",
|
|
151
|
-
value: {
|
|
152
|
-
type: "Point",
|
|
153
|
-
coordinates: [1.1, 1.1]
|
|
154
|
-
}
|
|
155
|
-
}, {
|
|
156
|
-
time: "2012-02-12",
|
|
157
|
-
value: {
|
|
158
|
-
type: "Point",
|
|
159
|
-
coordinates: [1.1, 1.1]
|
|
160
|
-
}
|
|
161
|
-
}, {
|
|
162
|
-
time: "2013-03-13",
|
|
163
|
-
value: {
|
|
164
|
-
type: "Point",
|
|
165
|
-
coordinates: [2.2, 2.2]
|
|
166
|
-
}
|
|
167
|
-
}, {
|
|
168
|
-
time: "2014-04-14",
|
|
169
|
-
value: {
|
|
170
|
-
type: "Point",
|
|
171
|
-
coordinates: [3.3, 3.3]
|
|
172
|
-
}
|
|
173
|
-
}, {
|
|
174
|
-
time: "2014-04-14",
|
|
175
|
-
value: {
|
|
176
|
-
type: "Point",
|
|
177
|
-
coordinates: [3.3, 3.3]
|
|
178
|
-
}
|
|
179
|
-
}]);
|
|
143
|
+
expect(points).toEqual(locationGeotimeData[50030]);
|
|
180
144
|
});
|
|
181
145
|
it("getAll points with no data works", async () => {
|
|
182
146
|
const employee = await client(Employee).fetchOne(50030);
|
|
@@ -200,19 +164,7 @@ describe("Timeseries", () => {
|
|
|
200
164
|
points.push(point);
|
|
201
165
|
}
|
|
202
166
|
expect(points).toBeDefined();
|
|
203
|
-
expect(points).toEqual([
|
|
204
|
-
time: "2013-03-13",
|
|
205
|
-
value: {
|
|
206
|
-
type: "Point",
|
|
207
|
-
coordinates: [2.2, 2.2]
|
|
208
|
-
}
|
|
209
|
-
}, {
|
|
210
|
-
time: "2014-04-14",
|
|
211
|
-
value: {
|
|
212
|
-
type: "Point",
|
|
213
|
-
coordinates: [3.3, 3.3]
|
|
214
|
-
}
|
|
215
|
-
}]);
|
|
167
|
+
expect(points).toEqual([locationGeotimeData[50030][1], locationGeotimeData[50030][2]]);
|
|
216
168
|
});
|
|
217
169
|
it("async iter points with no query", async () => {
|
|
218
170
|
const employee = await client(Employee).fetchOne(50030);
|
|
@@ -223,37 +175,7 @@ describe("Timeseries", () => {
|
|
|
223
175
|
points.push(point);
|
|
224
176
|
}
|
|
225
177
|
expect(points).toBeDefined();
|
|
226
|
-
expect(points).toEqual([
|
|
227
|
-
time: "2012-02-12",
|
|
228
|
-
value: {
|
|
229
|
-
type: "Point",
|
|
230
|
-
coordinates: [1.1, 1.1]
|
|
231
|
-
}
|
|
232
|
-
}, {
|
|
233
|
-
time: "2012-02-12",
|
|
234
|
-
value: {
|
|
235
|
-
type: "Point",
|
|
236
|
-
coordinates: [1.1, 1.1]
|
|
237
|
-
}
|
|
238
|
-
}, {
|
|
239
|
-
time: "2013-03-13",
|
|
240
|
-
value: {
|
|
241
|
-
type: "Point",
|
|
242
|
-
coordinates: [2.2, 2.2]
|
|
243
|
-
}
|
|
244
|
-
}, {
|
|
245
|
-
time: "2014-04-14",
|
|
246
|
-
value: {
|
|
247
|
-
type: "Point",
|
|
248
|
-
coordinates: [3.3, 3.3]
|
|
249
|
-
}
|
|
250
|
-
}, {
|
|
251
|
-
time: "2014-04-14",
|
|
252
|
-
value: {
|
|
253
|
-
type: "Point",
|
|
254
|
-
coordinates: [3.3, 3.3]
|
|
255
|
-
}
|
|
256
|
-
}]);
|
|
178
|
+
expect(points).toEqual(locationGeotimeData[50030]);
|
|
257
179
|
});
|
|
258
180
|
});
|
|
259
181
|
//# sourceMappingURL=geotimeseriesreference.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geotimeseriesreference.test.js","names":["$ontologyRid","Employee","apiServer","afterAll","beforeAll","describe","expect","it","createClient","client","listen","close","employee","fetchOne","employee2","$primaryKey","toEqual","location","employeeLocation","toBeDefined","initialLastPoint","lastFetchedValue","toBeUndefined","fetchedPoint","getLatestValue","nextLastPoint","time","value","type","coordinates","initialPointEmployee2","fetchedPoint2","nextLastPoint2","points","getAllValues","$before","$unit","$after","$startTime","$endTime","pointsIter","asyncIterValues","point","push"],"sources":["geotimeseriesreference.test.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { TimeSeriesPoint } from \"@osdk/api\";\nimport { $ontologyRid, Employee } from \"@osdk/client.test.ontology\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ndescribe(\"Timeseries\", () => {\n let client: Client;\n\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\n \"https://stack.palantir.com\",\n $ontologyRid,\n async () => \"myAccessToken\",\n );\n });\n\n afterAll(() => {\n apiServer.close();\n });\n\n it(\"get latest value works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n const employee2 = await client(Employee).fetchOne(50031);\n expect(employee.$primaryKey).toEqual(50030);\n expect(employee2.$primaryKey).toEqual(50031);\n const location = employee.employeeLocation;\n\n expect(location).toBeDefined();\n\n const initialLastPoint = employee.employeeLocation?.lastFetchedValue;\n expect(initialLastPoint).toBeUndefined();\n\n const fetchedPoint = await employee.employeeLocation?.getLatestValue();\n const nextLastPoint = employee.employeeLocation?.lastFetchedValue;\n expect(employee.employeeLocation?.lastFetchedValue).toBeDefined();\n\n expect(nextLastPoint).toEqual(fetchedPoint);\n expect(nextLastPoint?.time).toEqual(\"2014-04-14\");\n expect(nextLastPoint?.value).toEqual({\n type: \"Point\",\n coordinates: [3.3, 3.3],\n });\n\n expect(fetchedPoint?.time).toEqual(\"2014-04-14\");\n expect(fetchedPoint?.value).toEqual({\n type: \"Point\",\n coordinates: [3.3, 3.3],\n });\n\n // Making sure caching working as expected\n const initialPointEmployee2 = employee2.employeeLocation?.lastFetchedValue;\n expect(initialPointEmployee2).toBeUndefined();\n\n const fetchedPoint2 = await employee2.employeeLocation?.getLatestValue();\n const nextLastPoint2 = employee2.employeeLocation?.lastFetchedValue;\n expect(employee2.employeeLocation?.lastFetchedValue).toBeDefined();\n\n expect(nextLastPoint2).toEqual(fetchedPoint2);\n expect(nextLastPoint2?.time).toEqual(\"2013-03-13\");\n expect(nextLastPoint2?.value).toEqual({\n type: \"Point\",\n coordinates: [2.2, 2.2],\n });\n\n expect(fetchedPoint2?.time).toEqual(\"2013-03-13\");\n expect(fetchedPoint2?.value).toEqual({\n type: \"Point\",\n coordinates: [2.2, 2.2],\n });\n });\n\n it(\"getAll values with before works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $before: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([{\n time: \"2012-02-12\",\n value: { type: \"Point\", coordinates: [1.1, 1.1] },\n }, {\n time: \"2013-03-13\",\n value: { type: \"Point\", coordinates: [2.2, 2.2] },\n }, {\n time: \"2014-04-14\",\n value: { type: \"Point\", coordinates: [3.3, 3.3] },\n }]);\n });\n\n it(\"getAll values with after works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $after: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([{\n time: \"2012-02-12\",\n value: { type: \"Point\", coordinates: [1.1, 1.1] },\n }, {\n time: \"2014-04-14\",\n value: { type: \"Point\", coordinates: [3.3, 3.3] },\n }]);\n });\n\n it(\"getAll points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([{\n time: \"2013-03-13\",\n value: { type: \"Point\", coordinates: [2.2, 2.2] },\n }, {\n time: \"2014-04-14\",\n value: { type: \"Point\", coordinates: [3.3, 3.3] },\n }]);\n });\n\n it(\"getAll points with no query works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues();\n expect(points).toBeDefined();\n expect(points!).toEqual([\n { time: \"2012-02-12\", value: { type: \"Point\", coordinates: [1.1, 1.1] } },\n { time: \"2012-02-12\", value: { type: \"Point\", coordinates: [1.1, 1.1] } },\n {\n time: \"2013-03-13\",\n value: { type: \"Point\", coordinates: [2.2, 2.2] },\n },\n { time: \"2014-04-14\", value: { type: \"Point\", coordinates: [3.3, 3.3] } },\n { time: \"2014-04-14\", value: { type: \"Point\", coordinates: [3.3, 3.3] } },\n ]);\n });\n\n it(\"getAll points with no data works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $startTime: \"2021-03-12T12:00:00.000Z\",\n $endTime: \"2022-04-14T12:00:00.000Z\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([]);\n });\n\n it(\"async iter points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeLocation?.asyncIterValues({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n\n const points: TimeSeriesPoint<GeoJSON.Point>[] = [];\n for await (const point of pointsIter!) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points!).toEqual([{\n time: \"2013-03-13\",\n value: { type: \"Point\", coordinates: [2.2, 2.2] },\n }, {\n time: \"2014-04-14\",\n value: { type: \"Point\", coordinates: [3.3, 3.3] },\n }]);\n });\n\n it(\"async iter points with no query\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeLocation?.asyncIterValues();\n\n const points: TimeSeriesPoint<GeoJSON.Point>[] = [];\n for await (const point of pointsIter!) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points!).toEqual([\n { time: \"2012-02-12\", value: { type: \"Point\", coordinates: [1.1, 1.1] } },\n { time: \"2012-02-12\", value: { type: \"Point\", coordinates: [1.1, 1.1] } },\n {\n time: \"2013-03-13\",\n value: { type: \"Point\", coordinates: [2.2, 2.2] },\n },\n { time: \"2014-04-14\", value: { type: \"Point\", coordinates: [3.3, 3.3] } },\n { time: \"2014-04-14\", value: { type: \"Point\", coordinates: [3.3, 3.3] } },\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"geotimeseriesreference.test.js","names":["$ontologyRid","Employee","LegacyFauxFoundry","startNodeApiServer","formatISO","sub","beforeAll","describe","expect","it","vi","createClient","client","locationGeotimeData","time","value","type","coordinates","Date","now","testSetup","pk","data","Object","entries","fauxFoundry","getDataStore","registerTimeSeriesData","useFakeTimers","setSystemTime","apiServer","close","useRealTimers","employee","fetchOne","employee2","$primaryKey","toEqual","location","employeeLocation","toBeDefined","initialLastPoint","lastFetchedValue","toBeUndefined","fetchedPoint","getLatestValue","nextLastPoint","initialPointEmployee2","fetchedPoint2","nextLastPoint2","points","getAllValues","$before","$unit","$after","$startTime","$endTime","pointsIter","asyncIterValues","point","push"],"sources":["geotimeseriesreference.test.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { TimeSeriesPoint } from \"@osdk/api\";\nimport { $ontologyRid, Employee } from \"@osdk/client.test.ontology\";\nimport { LegacyFauxFoundry, startNodeApiServer } from \"@osdk/shared.test\";\nimport { formatISO, sub } from \"date-fns\";\nimport { beforeAll, describe, expect, it, vi } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ndescribe(\"Timeseries\", () => {\n let client: Client;\n const locationGeotimeData = {\n 50030: [\n {\n time: \"2012-02-12\",\n value: { type: \"Point\", coordinates: [1.1, 1.1] },\n },\n {\n time: \"2013-03-13\",\n value: { type: \"Point\", coordinates: [2.2, 2.2] },\n },\n {\n time: \"2014-04-14\",\n value: { type: \"Point\", coordinates: [3.3, 3.3] },\n },\n ],\n 50031: [\n {\n time: formatISO(sub(Date.now(), { \"days\": 2 })),\n value: {\n type: \"Point\",\n coordinates: [2.2, 2.2],\n },\n },\n ],\n };\n\n beforeAll(async () => {\n const testSetup = startNodeApiServer(\n new LegacyFauxFoundry(),\n createClient,\n );\n ({ client } = testSetup);\n\n for (const [pk, data] of Object.entries(locationGeotimeData)) {\n testSetup.fauxFoundry.getDataStore($ontologyRid)\n .registerTimeSeriesData(\n \"Employee\",\n pk,\n \"employeeLocation\",\n data,\n );\n }\n\n vi.useFakeTimers();\n vi.setSystemTime(new Date(\"2013-03-13\"));\n\n return () => {\n testSetup.apiServer.close();\n vi.useRealTimers();\n };\n });\n\n it(\"get latest value works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n const employee2 = await client(Employee).fetchOne(50031);\n expect(employee.$primaryKey).toEqual(50030);\n expect(employee2.$primaryKey).toEqual(50031);\n const location = employee.employeeLocation;\n\n expect(location).toBeDefined();\n\n const initialLastPoint = employee.employeeLocation?.lastFetchedValue;\n expect(initialLastPoint).toBeUndefined();\n\n const fetchedPoint = await employee.employeeLocation?.getLatestValue();\n const nextLastPoint = employee.employeeLocation?.lastFetchedValue;\n expect(employee.employeeLocation?.lastFetchedValue).toBeDefined();\n\n expect(nextLastPoint).toEqual(fetchedPoint);\n expect(nextLastPoint).toEqual(locationGeotimeData[50030][2]);\n\n expect(fetchedPoint).toEqual(locationGeotimeData[50030][2]);\n\n // Making sure caching working as expected\n const initialPointEmployee2 = employee2.employeeLocation?.lastFetchedValue;\n expect(initialPointEmployee2).toBeUndefined();\n\n const fetchedPoint2 = await employee2.employeeLocation?.getLatestValue();\n const nextLastPoint2 = employee2.employeeLocation?.lastFetchedValue;\n expect(employee2.employeeLocation?.lastFetchedValue).toBeDefined();\n\n expect(nextLastPoint2).toEqual(fetchedPoint2);\n expect(nextLastPoint2).toEqual(locationGeotimeData[50031][0]);\n\n expect(fetchedPoint2).toEqual(locationGeotimeData[50031][0]);\n });\n\n it(\"getAll values with before works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $before: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([\n locationGeotimeData[50030][1],\n locationGeotimeData[50030][2],\n ]);\n });\n\n it(\"getAll values with after works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $after: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([\n locationGeotimeData[50030][0],\n locationGeotimeData[50030][1],\n ]);\n\n vi.useRealTimers();\n });\n\n it(\"getAll points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([{\n time: \"2013-03-13\",\n value: { type: \"Point\", coordinates: [2.2, 2.2] },\n }, {\n time: \"2014-04-14\",\n value: { type: \"Point\", coordinates: [3.3, 3.3] },\n }]);\n });\n\n it(\"getAll points with no query works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues();\n expect(points).toBeDefined();\n expect(points!).toEqual(\n locationGeotimeData[50030],\n );\n });\n\n it(\"getAll points with no data works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeLocation?.getAllValues({\n $startTime: \"2021-03-12T12:00:00.000Z\",\n $endTime: \"2022-04-14T12:00:00.000Z\",\n });\n expect(points).toBeDefined();\n expect(points!).toEqual([]);\n });\n\n it(\"async iter points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeLocation?.asyncIterValues({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n\n const points: TimeSeriesPoint<GeoJSON.Point>[] = [];\n for await (const point of pointsIter!) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points!).toEqual([\n locationGeotimeData[50030][1],\n locationGeotimeData[50030][2],\n ]);\n });\n\n it(\"async iter points with no query\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeLocation?.asyncIterValues();\n\n const points: TimeSeriesPoint<GeoJSON.Point>[] = [];\n for await (const point of pointsIter!) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points!).toEqual(\n locationGeotimeData[50030],\n );\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,17 +15,22 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { $ontologyRid, objectTypeWithAllPropertyTypes } from "@osdk/client.test.ontology";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
18
|
+
import { LegacyFauxFoundry, startNodeApiServer, stubData } from "@osdk/shared.test";
|
|
19
|
+
import { beforeAll, describe, expect, it } from "vitest";
|
|
20
20
|
import { createClient } from "../createClient.js";
|
|
21
21
|
describe("media", () => {
|
|
22
22
|
let client;
|
|
23
|
-
beforeAll(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
beforeAll(() => {
|
|
24
|
+
const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);
|
|
25
|
+
({
|
|
26
|
+
client
|
|
27
|
+
} = testSetup);
|
|
28
|
+
testSetup.fauxFoundry.getDataStore($ontologyRid).registerMedia(objectTypeWithAllPropertyTypes.apiName, "mediaReference", new TextEncoder().encode(JSON.stringify({
|
|
29
|
+
content: "Hello World"
|
|
30
|
+
})), "application/json", "file1.txt", stubData.objectWithAllPropertyTypes1.mediaReference);
|
|
31
|
+
return () => {
|
|
32
|
+
testSetup.apiServer.close();
|
|
33
|
+
};
|
|
29
34
|
});
|
|
30
35
|
it("reads media metadata successfully", async () => {
|
|
31
36
|
const result = await client(objectTypeWithAllPropertyTypes).where({
|
|
@@ -34,10 +39,11 @@ describe("media", () => {
|
|
|
34
39
|
const object1 = result.data[0];
|
|
35
40
|
expect(object1.mediaReference).toBeDefined();
|
|
36
41
|
const mediaMetadata = await object1.mediaReference?.fetchMetadata();
|
|
37
|
-
expect(mediaMetadata).
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
42
|
+
expect(mediaMetadata).toEqual({
|
|
43
|
+
path: "file1.txt",
|
|
44
|
+
mediaType: "application/json",
|
|
45
|
+
sizeBytes: 25
|
|
46
|
+
});
|
|
41
47
|
});
|
|
42
48
|
it("reads media content successfully", async () => {
|
|
43
49
|
const result = await client(objectTypeWithAllPropertyTypes).where({
|
|
@@ -46,8 +52,7 @@ describe("media", () => {
|
|
|
46
52
|
const object1 = result.data[0];
|
|
47
53
|
expect(object1.mediaReference).toBeDefined();
|
|
48
54
|
const mediaContent = await object1?.mediaReference?.fetchContents();
|
|
49
|
-
|
|
50
|
-
expect(JSON.parse(mediaText)).toEqual({
|
|
55
|
+
expect(await mediaContent.json()).toEqual({
|
|
51
56
|
content: "Hello World"
|
|
52
57
|
});
|
|
53
58
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.test.js","names":["$ontologyRid","objectTypeWithAllPropertyTypes","
|
|
1
|
+
{"version":3,"file":"media.test.js","names":["$ontologyRid","objectTypeWithAllPropertyTypes","LegacyFauxFoundry","startNodeApiServer","stubData","beforeAll","describe","expect","it","createClient","client","testSetup","fauxFoundry","getDataStore","registerMedia","apiName","TextEncoder","encode","JSON","stringify","content","objectWithAllPropertyTypes1","mediaReference","apiServer","close","result","where","id","fetchPage","object1","data","toBeDefined","mediaMetadata","fetchMetadata","toEqual","path","mediaType","sizeBytes","mediaContent","fetchContents","json"],"sources":["media.test.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n $ontologyRid,\n objectTypeWithAllPropertyTypes,\n} from \"@osdk/client.test.ontology\";\nimport {\n LegacyFauxFoundry,\n startNodeApiServer,\n stubData,\n} from \"@osdk/shared.test\";\nimport { beforeAll, describe, expect, it } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ndescribe(\"media\", () => {\n let client: Client;\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(\n new LegacyFauxFoundry(),\n createClient,\n );\n\n ({ client } = testSetup);\n\n testSetup.fauxFoundry\n .getDataStore($ontologyRid)\n .registerMedia(\n objectTypeWithAllPropertyTypes.apiName,\n \"mediaReference\",\n new TextEncoder().encode(\n JSON.stringify({ content: \"Hello World\" }),\n ),\n \"application/json\",\n \"file1.txt\",\n stubData.objectWithAllPropertyTypes1.mediaReference,\n );\n\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"reads media metadata successfully\", async () => {\n const result = await client(\n objectTypeWithAllPropertyTypes,\n )\n .where({ id: stubData.objectWithAllPropertyTypes1.id }).fetchPage();\n\n const object1 = result.data[0];\n expect(object1.mediaReference).toBeDefined();\n const mediaMetadata = await object1.mediaReference?.fetchMetadata();\n expect(mediaMetadata).toEqual({\n path: \"file1.txt\",\n mediaType: \"application/json\",\n sizeBytes: 25,\n });\n });\n\n it(\"reads media content successfully\", async () => {\n const result = await client(objectTypeWithAllPropertyTypes)\n .where({ id: stubData.objectWithAllPropertyTypes1.id }).fetchPage();\n\n const object1 = result.data[0];\n expect(object1.mediaReference).toBeDefined();\n const mediaContent = await object1?.mediaReference?.fetchContents();\n expect(await mediaContent!.json()).toEqual({\n content: \"Hello World\",\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,YAAY,EACZC,8BAA8B,QACzB,4BAA4B;AACnC,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,QAAQ,QACH,mBAAmB;AAC1B,SAASC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAExD,SAASC,YAAY,QAAQ,oBAAoB;AAEjDH,QAAQ,CAAC,OAAO,EAAE,MAAM;EACtB,IAAII,MAAc;EAElBL,SAAS,CAAC,MAAM;IACd,MAAMM,SAAS,GAAGR,kBAAkB,CAClC,IAAID,iBAAiB,CAAC,CAAC,EACvBO,YACF,CAAC;IAED,CAAC;MAAEC;IAAO,CAAC,GAAGC,SAAS;IAEvBA,SAAS,CAACC,WAAW,CAClBC,YAAY,CAACb,YAAY,CAAC,CAC1Bc,aAAa,CACZb,8BAA8B,CAACc,OAAO,EACtC,gBAAgB,EAChB,IAAIC,WAAW,CAAC,CAAC,CAACC,MAAM,CACtBC,IAAI,CAACC,SAAS,CAAC;MAAEC,OAAO,EAAE;IAAc,CAAC,CAC3C,CAAC,EACD,kBAAkB,EAClB,WAAW,EACXhB,QAAQ,CAACiB,2BAA2B,CAACC,cACvC,CAAC;IAEH,OAAO,MAAM;MACXX,SAAS,CAACY,SAAS,CAACC,KAAK,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,CAAC;EAEFhB,EAAE,CAAC,mCAAmC,EAAE,YAAY;IAClD,MAAMiB,MAAM,GAAG,MAAMf,MAAM,CACzBT,8BACF,CAAC,CACEyB,KAAK,CAAC;MAAEC,EAAE,EAAEvB,QAAQ,CAACiB,2BAA2B,CAACM;IAAG,CAAC,CAAC,CAACC,SAAS,CAAC,CAAC;IAErE,MAAMC,OAAO,GAAGJ,MAAM,CAACK,IAAI,CAAC,CAAC,CAAC;IAC9BvB,MAAM,CAACsB,OAAO,CAACP,cAAc,CAAC,CAACS,WAAW,CAAC,CAAC;IAC5C,MAAMC,aAAa,GAAG,MAAMH,OAAO,CAACP,cAAc,EAAEW,aAAa,CAAC,CAAC;IACnE1B,MAAM,CAACyB,aAAa,CAAC,CAACE,OAAO,CAAC;MAC5BC,IAAI,EAAE,WAAW;MACjBC,SAAS,EAAE,kBAAkB;MAC7BC,SAAS,EAAE;IACb,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF7B,EAAE,CAAC,kCAAkC,EAAE,YAAY;IACjD,MAAMiB,MAAM,GAAG,MAAMf,MAAM,CAACT,8BAA8B,CAAC,CACxDyB,KAAK,CAAC;MAAEC,EAAE,EAAEvB,QAAQ,CAACiB,2BAA2B,CAACM;IAAG,CAAC,CAAC,CAACC,SAAS,CAAC,CAAC;IAErE,MAAMC,OAAO,GAAGJ,MAAM,CAACK,IAAI,CAAC,CAAC,CAAC;IAC9BvB,MAAM,CAACsB,OAAO,CAACP,cAAc,CAAC,CAACS,WAAW,CAAC,CAAC;IAC5C,MAAMO,YAAY,GAAG,MAAMT,OAAO,EAAEP,cAAc,EAAEiB,aAAa,CAAC,CAAC;IACnEhC,MAAM,CAAC,MAAM+B,YAAY,CAAEE,IAAI,CAAC,CAAC,CAAC,CAACN,OAAO,CAAC;MACzCd,OAAO,EAAE;IACX,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|