@osdk/client 2.2.0-beta.9 → 2.2.0-rc.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +394 -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 +4 -21
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js +14 -14
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -1
- package/build/browser/derivedProperties/derivedPropertyRuntimeMetadata.js +2 -0
- package/build/browser/derivedProperties/derivedPropertyRuntimeMetadata.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/browser/intellisense.test.helpers/orderBySuggestionIsRight.js +30 -0
- package/build/browser/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -0
- 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 +39 -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 +56 -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 +188 -66
- 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 +1 -0
- package/build/browser/tsserver.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/browser/util/extractRdpDefinition.js +151 -0
- package/build/browser/util/extractRdpDefinition.js.map +1 -0
- package/build/browser/util/extractRdpDefinition.test.js +315 -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-5JZGGCIW.cjs} +124 -72
- package/build/cjs/chunk-5JZGGCIW.cjs.map +1 -0
- package/build/cjs/{chunk-EY52J5Z4.cjs → chunk-HDAQ6JIR.cjs} +174 -34
- package/build/cjs/chunk-HDAQ6JIR.cjs.map +1 -0
- package/build/cjs/index.cjs +198 -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 +4 -21
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js +14 -14
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -1
- package/build/esm/derivedProperties/derivedPropertyRuntimeMetadata.js +2 -0
- package/build/esm/derivedProperties/derivedPropertyRuntimeMetadata.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/intellisense.test.helpers/orderBySuggestionIsRight.js +30 -0
- package/build/esm/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -0
- 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 +39 -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 +56 -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 +188 -66
- 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 +1 -0
- package/build/esm/tsserver.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/UserAgent.js.map +1 -1
- package/build/esm/util/extractRdpDefinition.js +151 -0
- package/build/esm/util/extractRdpDefinition.js.map +1 -0
- package/build/esm/util/extractRdpDefinition.test.js +315 -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/derivedPropertyRuntimeMetadata.d.ts +6 -0
- package/build/types/derivedProperties/derivedPropertyRuntimeMetadata.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/orderBySuggestionIsRight.d.ts +1 -0
- package/build/types/intellisense.test.helpers/orderBySuggestionIsRight.d.ts.map +1 -0
- 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 -3
- 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 +2 -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 +14 -13
- 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
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
// WARNING!
|
|
18
|
+
// WARNING!
|
|
19
|
+
// This file is used for tests that check intellisense. Editing this file by hand will likely
|
|
20
|
+
// break tests that have hard coded line numbers and line offsets.
|
|
21
|
+
|
|
22
|
+
import { Employee } from "@osdk/client.test.ontology";
|
|
23
|
+
void client(Employee).fetchPage({
|
|
24
|
+
$orderBy: {}
|
|
25
|
+
});
|
|
26
|
+
void client(Employee).fetchPage({
|
|
27
|
+
// @ts-expect-error
|
|
28
|
+
$orderBy
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=orderBySuggestionIsRight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderBySuggestionIsRight.js","names":["Employee","client","fetchPage","$orderBy"],"sources":["orderBySuggestionIsRight.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\n// WARNING!\n// WARNING!\n// This file is used for tests that check intellisense. Editing this file by hand will likely\n// break tests that have hard coded line numbers and line offsets.\n\nimport { Employee } from \"@osdk/client.test.ontology\";\nimport type { Client } from \"../Client.js\";\n\ndeclare const client: Client;\n\nvoid client(Employee).fetchPage({\n $orderBy: {},\n});\n\nvoid client(Employee).fetchPage({\n // @ts-expect-error\n $orderBy,\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,4BAA4B;AAKrD,KAAKC,MAAM,CAACD,QAAQ,CAAC,CAACE,SAAS,CAAC;EAC9BC,QAAQ,EAAE,CAAC;AACb,CAAC,CAAC;AAEF,KAAKF,MAAM,CAACD,QAAQ,CAAC,CAACE,SAAS,CAAC;EAC9B;EACAC;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -14,7 +14,12 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
// WARNING!
|
|
18
|
+
// WARNING!
|
|
19
|
+
// This file is used for tests that check intellisense. Editing this file by hand will likely
|
|
20
|
+
// break tests that have hard coded line numbers and line offsets.
|
|
21
|
+
|
|
22
|
+
const employee = {};
|
|
23
|
+
employee.employeeLocation;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=showsObjectPropertyJsdoc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"showsObjectPropertyJsdoc.js","names":["employee","employeeLocation"],"sources":["showsObjectPropertyJsdoc.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\n// WARNING!\n// WARNING!\n// This file is used for tests that check intellisense. Editing this file by hand will likely\n// break tests that have hard coded line numbers and line offsets.\n\nimport type { Osdk } from \"@osdk/api\";\nimport type { Employee } from \"@osdk/client.test.ontology\";\n\nconst employee: Osdk.Instance<Employee> = {} as any;\nemployee.employeeLocation;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAKA,MAAMA,QAAiC,GAAG,CAAC,CAAQ;AACnDA,QAAQ,CAACC,gBAAgB;AAAC","ignoreList":[]}
|
|
@@ -53,7 +53,10 @@ describe("intellisense", () => {
|
|
|
53
53
|
let clientPackagePath;
|
|
54
54
|
beforeAll(() => {
|
|
55
55
|
const clientsPackageJson = findUpSync("package.json", {
|
|
56
|
-
cwd: import.meta.
|
|
56
|
+
cwd: import.meta.dirname
|
|
57
|
+
});
|
|
58
|
+
console.log({
|
|
59
|
+
clientsPackageJson
|
|
57
60
|
});
|
|
58
61
|
!(clientsPackageJson != null) ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
|
|
59
62
|
packagesDir = path.join(path.dirname(clientsPackageJson), "..");
|
|
@@ -63,6 +66,7 @@ describe("intellisense", () => {
|
|
|
63
66
|
let intellisenseFilePath;
|
|
64
67
|
beforeEach(async a => {
|
|
65
68
|
intellisenseFilePath = path.join(clientPackagePath, "src", "intellisense.test.helpers", `${a.task.name}.ts`);
|
|
69
|
+
console.log(intellisenseFilePath);
|
|
66
70
|
expect(ts.sys.fileExists(intellisenseFilePath)).toBeTruthy();
|
|
67
71
|
tsServer = await startTsServer(rootLogger);
|
|
68
72
|
await tsServer.sendOpenRequest({
|
|
@@ -85,5 +89,39 @@ describe("intellisense", () => {
|
|
|
85
89
|
});
|
|
86
90
|
expect(resp.body?.documentation).toMatchInlineSnapshot(`"(no ontology metadata)"`);
|
|
87
91
|
});
|
|
92
|
+
it("showsObjectPropertyJsdoc", {
|
|
93
|
+
timeout: 40_000
|
|
94
|
+
}, async () => {
|
|
95
|
+
const {
|
|
96
|
+
resp
|
|
97
|
+
} = await tsServer.sendQuickInfoRequest({
|
|
98
|
+
file: intellisenseFilePath,
|
|
99
|
+
line: 26,
|
|
100
|
+
offset: 13
|
|
101
|
+
});
|
|
102
|
+
expect(resp.body?.documentation).toMatchInlineSnapshot(`"description: Geotime series reference of the location of the employee"`);
|
|
103
|
+
});
|
|
104
|
+
it("orderBySuggestionIsRight", {
|
|
105
|
+
timeout: 40_000
|
|
106
|
+
}, async () => {
|
|
107
|
+
const {
|
|
108
|
+
resp
|
|
109
|
+
} = await tsServer.sendCompletionsRequest({
|
|
110
|
+
file: intellisenseFilePath,
|
|
111
|
+
line: 28,
|
|
112
|
+
offset: 14,
|
|
113
|
+
triggerKind: ts.CompletionTriggerKind.Invoked
|
|
114
|
+
});
|
|
115
|
+
expect(resp.body?.entries.length).toBeGreaterThan(2);
|
|
116
|
+
expect(resp.body?.entries.map(e => e.name)).toEqual(["class", "employeeId", "employeeLocation", "employeeSensor", "employeeStatus", "fullName", "office", "startDate"]);
|
|
117
|
+
const {
|
|
118
|
+
resp: resp2
|
|
119
|
+
} = await tsServer.sendQuickInfoRequest({
|
|
120
|
+
file: intellisenseFilePath,
|
|
121
|
+
line: 32,
|
|
122
|
+
offset: 3
|
|
123
|
+
});
|
|
124
|
+
expect(resp2.body?.documentation).not.toEqual("'(property) $orderBy: any'");
|
|
125
|
+
});
|
|
88
126
|
});
|
|
89
127
|
//# sourceMappingURL=intellisense.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intellisense.test.js","names":["findUpSync","path","invariant","ts","afterEach","beforeAll","beforeEach","describe","expect","it","vi","startTsServer","rootLogger","hoisted","pino","pinoPretty","EventEmitter","Promise","resolve","level","build","sync","timestampKey","undefined","errorLikeObjectKeys","errorProps","ignore","destination","write","a","at","slice","console","log","packagesDir","clientPackagePath","clientsPackageJson","cwd","import","meta","
|
|
1
|
+
{"version":3,"file":"intellisense.test.js","names":["findUpSync","path","invariant","ts","afterEach","beforeAll","beforeEach","describe","expect","it","vi","startTsServer","rootLogger","hoisted","pino","pinoPretty","EventEmitter","Promise","resolve","level","build","sync","timestampKey","undefined","errorLikeObjectKeys","errorProps","ignore","destination","write","a","at","slice","console","log","packagesDir","clientPackagePath","clientsPackageJson","cwd","import","meta","dirname","process","env","NODE_ENV","join","tsServer","intellisenseFilePath","task","name","sys","fileExists","toBeTruthy","sendOpenRequest","file","stop","timeout","resp","sendQuickInfoRequest","line","offset","body","documentation","toMatchInlineSnapshot","sendCompletionsRequest","triggerKind","CompletionTriggerKind","Invoked","entries","length","toBeGreaterThan","map","e","toEqual","resp2","not"],"sources":["intellisense.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 { Logger } from \"@osdk/api\";\nimport { findUpSync } from \"find-up\";\nimport * as path from \"node:path\";\nimport invariant from \"tiny-invariant\";\nimport * as ts from \"typescript\";\nimport {\n afterEach,\n beforeAll,\n beforeEach,\n describe,\n expect,\n it,\n vi,\n} from \"vitest\";\nimport type { TsServer } from \"./tsserver.js\";\nimport { startTsServer } from \"./tsserver.js\";\n\n// it needs to be hoisted because its referenced from our mocked WebSocket\n// which must be hoisted to work\nconst rootLogger = await vi.hoisted(async (): Promise<Logger> => {\n const pino = (await import(\"pino\")).pino;\n const pinoPretty = await import(\"pino-pretty\");\n const { EventEmitter } = await import(\"node:events\");\n class PinoConsoleLogDestination extends EventEmitter {\n write(a: string) {\n // remove trailing newline since console.log adds one\n if (a.at(-1) === \"\\n\") a = a.slice(0, -1);\n\n // This lets the test framework aggregate the logs per test, whereas direct to stdout does not\n console.log(a);\n }\n }\n return Promise.resolve(pino(\n { level: \"info\" },\n (pinoPretty.build)({\n sync: true,\n timestampKey: undefined,\n errorLikeObjectKeys: [\"error\", \"err\", \"exception\"],\n errorProps: \"stack,cause,properties\",\n ignore: \"time,hostname,pid\",\n destination: new PinoConsoleLogDestination(),\n }),\n ));\n});\n\ndescribe(\"intellisense\", () => {\n let packagesDir: string;\n let clientPackagePath: string;\n\n beforeAll(() => {\n const clientsPackageJson = findUpSync(\"package.json\", {\n cwd: import.meta.dirname,\n });\n console.log({ clientsPackageJson });\n invariant(clientsPackageJson != null);\n packagesDir = path.join(\n path.dirname(clientsPackageJson),\n \"..\",\n );\n\n clientPackagePath = path.join(packagesDir, \"client\");\n });\n\n let tsServer: TsServer;\n let intellisenseFilePath: string;\n\n beforeEach(async (a) => {\n intellisenseFilePath = path.join(\n clientPackagePath,\n \"src\",\n \"intellisense.test.helpers\",\n `${a.task.name}.ts`,\n );\n\n console.log(intellisenseFilePath);\n\n expect(ts.sys.fileExists(intellisenseFilePath)).toBeTruthy();\n\n tsServer = await startTsServer(rootLogger);\n await tsServer.sendOpenRequest({ file: intellisenseFilePath });\n });\n\n afterEach(async () => {\n tsServer.stop();\n tsServer = undefined as any;\n });\n\n it(\"callsQueryAcceptsObject\", { timeout: 40_000 }, async () => {\n const { resp } = await tsServer.sendQuickInfoRequest({\n file: intellisenseFilePath,\n line: 27,\n offset: 6,\n });\n expect(resp.body?.documentation).toMatchInlineSnapshot(\n `\"(no ontology metadata)\"`,\n );\n });\n\n it(\"showsObjectPropertyJsdoc\", { timeout: 40_000 }, async () => {\n const { resp } = await tsServer.sendQuickInfoRequest({\n file: intellisenseFilePath,\n line: 26,\n offset: 13,\n });\n expect(resp.body?.documentation).toMatchInlineSnapshot(\n `\"description: Geotime series reference of the location of the employee\"`,\n );\n });\n\n it(\"orderBySuggestionIsRight\", { timeout: 40_000 }, async () => {\n const { resp } = await tsServer.sendCompletionsRequest({\n file: intellisenseFilePath,\n line: 28,\n offset: 14,\n triggerKind: ts.CompletionTriggerKind.Invoked,\n });\n expect(resp.body?.entries.length).toBeGreaterThan(2);\n expect(resp.body?.entries.map(e => e.name)).toEqual([\n \"class\",\n \"employeeId\",\n \"employeeLocation\",\n \"employeeSensor\",\n \"employeeStatus\",\n \"fullName\",\n \"office\",\n \"startDate\",\n ]);\n\n const { resp: resp2 } = await tsServer.sendQuickInfoRequest({\n file: intellisenseFilePath,\n line: 32,\n offset: 3,\n });\n expect(resp2.body?.documentation).not.toEqual(\"'(property) $orderBy: any'\");\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
export function noop() {}
|
|
18
|
+
const levels = {
|
|
19
|
+
trace: 10,
|
|
20
|
+
debug: 20,
|
|
21
|
+
info: 30,
|
|
22
|
+
warn: 40,
|
|
23
|
+
error: 50,
|
|
24
|
+
fatal: 60
|
|
25
|
+
};
|
|
26
|
+
export class BaseLogger {
|
|
27
|
+
#factory;
|
|
28
|
+
constructor(bindings, options = {}, factory) {
|
|
29
|
+
this.bindings = bindings;
|
|
30
|
+
this.options = options;
|
|
31
|
+
this.#factory = factory;
|
|
32
|
+
for (const k of ["trace", "debug", "info", "warn", "error", "fatal"]) {
|
|
33
|
+
if (this.options?.level && !this.isLevelEnabled(k)) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
this[k] = this.createLogMethod(k, bindings);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
trace = noop;
|
|
40
|
+
debug = noop;
|
|
41
|
+
warn = noop;
|
|
42
|
+
info = noop;
|
|
43
|
+
error = noop;
|
|
44
|
+
fatal = noop;
|
|
45
|
+
child(bindings, options) {
|
|
46
|
+
return new this.#factory({
|
|
47
|
+
...this.bindings,
|
|
48
|
+
...bindings
|
|
49
|
+
}, {
|
|
50
|
+
level: (options ?? this.options)?.level,
|
|
51
|
+
msgPrefix: [this.options?.msgPrefix, options?.msgPrefix].filter(x => x).join(" ")
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
isLevelEnabled(level) {
|
|
55
|
+
const ourLevel = this.options?.level ?? "info";
|
|
56
|
+
return level in levels && ourLevel in levels && levels[level] >= levels[ourLevel];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=BaseLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseLogger.js","names":["noop","levels","trace","debug","info","warn","error","fatal","BaseLogger","factory","constructor","bindings","options","k","level","isLevelEnabled","createLogMethod","child","msgPrefix","filter","x","join","ourLevel"],"sources":["BaseLogger.ts"],"sourcesContent":["/*\n * Copyright 2025 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\";\n\nexport function noop(): any {\n}\n\ninterface LoggerConstructor {\n new(\n bindings: Record<string, any>,\n options?: { level?: string; msgPrefix?: string },\n ): Logger;\n}\n\nconst levels = {\n trace: 10,\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n fatal: 60,\n};\n\nexport abstract class BaseLogger implements Logger {\n protected bindings: Record<string, any>;\n protected options: { level?: string; msgPrefix?: string } | undefined;\n #factory: LoggerConstructor;\n\n constructor(\n bindings: Record<string, any>,\n options: { level?: string; msgPrefix?: string } = {},\n factory: LoggerConstructor,\n ) {\n this.bindings = bindings;\n this.options = options;\n this.#factory = factory;\n\n for (\n const k of [\"trace\", \"debug\", \"info\", \"warn\", \"error\", \"fatal\"] as const\n ) {\n if (this.options?.level && !this.isLevelEnabled(k)) {\n continue;\n }\n this[k] = this.createLogMethod(k, bindings);\n }\n }\n\n protected abstract createLogMethod(\n name: \"trace\" | \"debug\" | \"info\" | \"warn\" | \"error\" | \"fatal\",\n bindings: Record<string, any>,\n ): Logger.LogFn;\n\n trace: Logger.LogFn = noop;\n debug: Logger.LogFn = noop;\n warn: Logger.LogFn = noop;\n info: Logger.LogFn = noop;\n error: Logger.LogFn = noop;\n fatal: Logger.LogFn = noop;\n\n child(\n bindings: Record<string, any>,\n options?: { level?: string; msgPrefix?: string },\n ): Logger {\n return new this.#factory({\n ...this.bindings,\n ...bindings,\n }, {\n level: (options ?? this.options)?.level,\n msgPrefix: [this.options?.msgPrefix, options?.msgPrefix].filter(x => x)\n .join(\" \"),\n });\n }\n\n isLevelEnabled(level: string): boolean {\n const ourLevel = (this.options?.level ?? \"info\") as keyof typeof levels;\n\n return level in levels && ourLevel in levels\n && levels[level as keyof typeof levels] >= levels[ourLevel];\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,OAAO,SAASA,IAAIA,CAAA,EAAQ,CAC5B;AASA,MAAMC,MAAM,GAAG;EACbC,KAAK,EAAE,EAAE;EACTC,KAAK,EAAE,EAAE;EACTC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,EAAE;EACTC,KAAK,EAAE;AACT,CAAC;AAED,OAAO,MAAeC,UAAU,CAAmB;EAGjD,CAACC,OAAO;EAERC,WAAWA,CACTC,QAA6B,EAC7BC,OAA+C,GAAG,CAAC,CAAC,EACpDH,OAA0B,EAC1B;IACA,IAAI,CAACE,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAAC,CAACH,OAAO,GAAGA,OAAO;IAEvB,KACE,MAAMI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAC/D;MACA,IAAI,IAAI,CAACD,OAAO,EAAEE,KAAK,IAAI,CAAC,IAAI,CAACC,cAAc,CAACF,CAAC,CAAC,EAAE;QAClD;MACF;MACA,IAAI,CAACA,CAAC,CAAC,GAAG,IAAI,CAACG,eAAe,CAACH,CAAC,EAAEF,QAAQ,CAAC;IAC7C;EACF;EAOAT,KAAK,GAAiBF,IAAI;EAC1BG,KAAK,GAAiBH,IAAI;EAC1BK,IAAI,GAAiBL,IAAI;EACzBI,IAAI,GAAiBJ,IAAI;EACzBM,KAAK,GAAiBN,IAAI;EAC1BO,KAAK,GAAiBP,IAAI;EAE1BiB,KAAKA,CACHN,QAA6B,EAC7BC,OAAgD,EACxC;IACR,OAAO,IAAI,IAAI,CAAC,CAACH,OAAO,CAAC;MACvB,GAAG,IAAI,CAACE,QAAQ;MAChB,GAAGA;IACL,CAAC,EAAE;MACDG,KAAK,EAAE,CAACF,OAAO,IAAI,IAAI,CAACA,OAAO,GAAGE,KAAK;MACvCI,SAAS,EAAE,CAAC,IAAI,CAACN,OAAO,EAAEM,SAAS,EAAEN,OAAO,EAAEM,SAAS,CAAC,CAACC,MAAM,CAACC,CAAC,IAAIA,CAAC,CAAC,CACpEC,IAAI,CAAC,GAAG;IACb,CAAC,CAAC;EACJ;EAEAN,cAAcA,CAACD,KAAa,EAAW;IACrC,MAAMQ,QAAQ,GAAI,IAAI,CAACV,OAAO,EAAEE,KAAK,IAAI,MAA8B;IAEvE,OAAOA,KAAK,IAAIb,MAAM,IAAIqB,QAAQ,IAAIrB,MAAM,IACvCA,MAAM,CAACa,KAAK,CAAwB,IAAIb,MAAM,CAACqB,QAAQ,CAAC;EAC/D;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { BaseLogger } from "./BaseLogger.js";
|
|
18
|
+
function createStyle({
|
|
19
|
+
color
|
|
20
|
+
}) {
|
|
21
|
+
return `color: ${color}; border: 1px solid ${color}; padding: 2px; border-radius: 3px;`;
|
|
22
|
+
}
|
|
23
|
+
const levelStyles = {
|
|
24
|
+
debug: createStyle({
|
|
25
|
+
color: "LightBlue"
|
|
26
|
+
}),
|
|
27
|
+
error: createStyle({
|
|
28
|
+
color: "red"
|
|
29
|
+
}),
|
|
30
|
+
fatal: createStyle({
|
|
31
|
+
color: "red"
|
|
32
|
+
}),
|
|
33
|
+
info: createStyle({
|
|
34
|
+
color: "green"
|
|
35
|
+
}),
|
|
36
|
+
trace: createStyle({
|
|
37
|
+
color: "gray"
|
|
38
|
+
}),
|
|
39
|
+
warn: createStyle({
|
|
40
|
+
color: "orange"
|
|
41
|
+
})
|
|
42
|
+
};
|
|
43
|
+
export class BrowserLogger extends BaseLogger {
|
|
44
|
+
constructor(bindings = {}, options = {}) {
|
|
45
|
+
super(bindings, {
|
|
46
|
+
...options,
|
|
47
|
+
level: options.level ?? "error"
|
|
48
|
+
}, BrowserLogger);
|
|
49
|
+
}
|
|
50
|
+
createLogMethod(name, bindings) {
|
|
51
|
+
const msgs = [`%c${name}%c`];
|
|
52
|
+
const styles = [levelStyles[name], ""];
|
|
53
|
+
if (this.options?.msgPrefix) {
|
|
54
|
+
msgs.push(`%c${this.options.msgPrefix}%c`);
|
|
55
|
+
styles.push("font-style: italic; color: gray", "");
|
|
56
|
+
}
|
|
57
|
+
if (typeof bindings === "object" && "methodName" in bindings) {
|
|
58
|
+
msgs.push(`%c.${bindings.methodName}()%c`);
|
|
59
|
+
styles.push("font-style: italic;color: orchid", "");
|
|
60
|
+
}
|
|
61
|
+
return (...args) => {
|
|
62
|
+
// eslint-disable-next-line no-console
|
|
63
|
+
console[name === "fatal" ? "error" : name](msgs.join(" "), ...styles, ...args);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=BrowserLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserLogger.js","names":["BaseLogger","createStyle","color","levelStyles","debug","error","fatal","info","trace","warn","BrowserLogger","constructor","bindings","options","level","createLogMethod","name","msgs","styles","msgPrefix","push","methodName","args","console","join"],"sources":["BrowserLogger.ts"],"sourcesContent":["/*\n * Copyright 2025 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 { BaseLogger } from \"./BaseLogger.js\";\nfunction createStyle({ color }: { color: string }) {\n return `color: ${color}; border: 1px solid ${color}; padding: 2px; border-radius: 3px;`;\n}\n\nconst levelStyles = {\n debug: createStyle({\n color: \"LightBlue\",\n }),\n error: createStyle({\n color: \"red\",\n }),\n fatal: createStyle({\n color: \"red\",\n }),\n info: createStyle({\n color: \"green\",\n }),\n trace: createStyle({\n color: \"gray\",\n }),\n warn: createStyle({\n color: \"orange\",\n }),\n};\n\nexport class BrowserLogger extends BaseLogger implements Logger {\n constructor(\n bindings: Record<string, any> = {},\n options: { level?: string; msgPrefix?: string } = {},\n ) {\n super(\n bindings,\n { ...options, level: options.level ?? \"error\" },\n BrowserLogger,\n );\n }\n\n protected createLogMethod(\n name: \"trace\" | \"debug\" | \"info\" | \"warn\" | \"error\" | \"fatal\",\n bindings: Record<string, any>,\n ): Logger.LogFn {\n const msgs: string[] = [`%c${name}%c`];\n const styles: string[] = [levelStyles[name], \"\"];\n\n if (this.options?.msgPrefix) {\n msgs.push(`%c${this.options.msgPrefix}%c`);\n styles.push(\n \"font-style: italic; color: gray\",\n \"\",\n );\n }\n\n if (typeof bindings === \"object\" && \"methodName\" in bindings) {\n msgs.push(`%c.${bindings.methodName}()%c`);\n styles.push(\n \"font-style: italic;color: orchid\",\n \"\",\n );\n }\n\n return (...args: any[]): any => {\n // eslint-disable-next-line no-console\n console[name === \"fatal\" ? \"error\" : name](\n msgs.join(\" \"),\n ...styles,\n ...args,\n );\n };\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,WAAWA,CAAC;EAAEC;AAAyB,CAAC,EAAE;EACjD,OAAO,UAAUA,KAAK,uBAAuBA,KAAK,qCAAqC;AACzF;AAEA,MAAMC,WAAW,GAAG;EAClBC,KAAK,EAAEH,WAAW,CAAC;IACjBC,KAAK,EAAE;EACT,CAAC,CAAC;EACFG,KAAK,EAAEJ,WAAW,CAAC;IACjBC,KAAK,EAAE;EACT,CAAC,CAAC;EACFI,KAAK,EAAEL,WAAW,CAAC;IACjBC,KAAK,EAAE;EACT,CAAC,CAAC;EACFK,IAAI,EAAEN,WAAW,CAAC;IAChBC,KAAK,EAAE;EACT,CAAC,CAAC;EACFM,KAAK,EAAEP,WAAW,CAAC;IACjBC,KAAK,EAAE;EACT,CAAC,CAAC;EACFO,IAAI,EAAER,WAAW,CAAC;IAChBC,KAAK,EAAE;EACT,CAAC;AACH,CAAC;AAED,OAAO,MAAMQ,aAAa,SAASV,UAAU,CAAmB;EAC9DW,WAAWA,CACTC,QAA6B,GAAG,CAAC,CAAC,EAClCC,OAA+C,GAAG,CAAC,CAAC,EACpD;IACA,KAAK,CACHD,QAAQ,EACR;MAAE,GAAGC,OAAO;MAAEC,KAAK,EAAED,OAAO,CAACC,KAAK,IAAI;IAAQ,CAAC,EAC/CJ,aACF,CAAC;EACH;EAEUK,eAAeA,CACvBC,IAA6D,EAC7DJ,QAA6B,EACf;IACd,MAAMK,IAAc,GAAG,CAAC,KAAKD,IAAI,IAAI,CAAC;IACtC,MAAME,MAAgB,GAAG,CAACf,WAAW,CAACa,IAAI,CAAC,EAAE,EAAE,CAAC;IAEhD,IAAI,IAAI,CAACH,OAAO,EAAEM,SAAS,EAAE;MAC3BF,IAAI,CAACG,IAAI,CAAC,KAAK,IAAI,CAACP,OAAO,CAACM,SAAS,IAAI,CAAC;MAC1CD,MAAM,CAACE,IAAI,CACT,iCAAiC,EACjC,EACF,CAAC;IACH;IAEA,IAAI,OAAOR,QAAQ,KAAK,QAAQ,IAAI,YAAY,IAAIA,QAAQ,EAAE;MAC5DK,IAAI,CAACG,IAAI,CAAC,MAAMR,QAAQ,CAACS,UAAU,MAAM,CAAC;MAC1CH,MAAM,CAACE,IAAI,CACT,kCAAkC,EAClC,EACF,CAAC;IACH;IAEA,OAAO,CAAC,GAAGE,IAAW,KAAU;MAC9B;MACAC,OAAO,CAACP,IAAI,KAAK,OAAO,GAAG,OAAO,GAAGA,IAAI,CAAC,CACxCC,IAAI,CAACO,IAAI,CAAC,GAAG,CAAC,EACd,GAAGN,MAAM,EACT,GAAGI,IACL,CAAC;IACH,CAAC;EACH;AACF","ignoreList":[0]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { BaseLogger } from "./BaseLogger.js";
|
|
18
|
+
export class MinimalLogger extends BaseLogger {
|
|
19
|
+
constructor(bindings = {}, options = {}) {
|
|
20
|
+
super(bindings, {
|
|
21
|
+
...options,
|
|
22
|
+
level: options.level ?? "error"
|
|
23
|
+
}, MinimalLogger);
|
|
24
|
+
}
|
|
25
|
+
createLogMethod(name, bindings) {
|
|
26
|
+
const msgs = [name];
|
|
27
|
+
if (this.options?.msgPrefix) {
|
|
28
|
+
msgs.push(this.options.msgPrefix);
|
|
29
|
+
}
|
|
30
|
+
if (typeof bindings === "object" && "methodName" in bindings) {
|
|
31
|
+
msgs.push(`.${bindings.methodName}()`);
|
|
32
|
+
}
|
|
33
|
+
return (...args) => {
|
|
34
|
+
// eslint-disable-next-line no-console
|
|
35
|
+
console[name === "fatal" ? "error" : name](msgs.join(" "), ...args);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=MinimalLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MinimalLogger.js","names":["BaseLogger","MinimalLogger","constructor","bindings","options","level","createLogMethod","name","msgs","msgPrefix","push","methodName","args","console","join"],"sources":["MinimalLogger.ts"],"sourcesContent":["/*\n * Copyright 2025 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 { BaseLogger } from \"./BaseLogger.js\";\n\nexport class MinimalLogger extends BaseLogger implements Logger {\n constructor(\n bindings: Record<string, any> = {},\n options: { level?: string; msgPrefix?: string } = {},\n ) {\n super(\n bindings,\n { ...options, level: options.level ?? \"error\" },\n MinimalLogger,\n );\n }\n\n createLogMethod(\n name: \"trace\" | \"debug\" | \"info\" | \"warn\" | \"error\" | \"fatal\",\n bindings: Record<string, any>,\n ): Logger.LogFn {\n const msgs: string[] = [name];\n\n if (this.options?.msgPrefix) {\n msgs.push(this.options.msgPrefix);\n }\n\n if (typeof bindings === \"object\" && \"methodName\" in bindings) {\n msgs.push(`.${bindings.methodName}()`);\n }\n\n return (...args: any[]) => {\n // eslint-disable-next-line no-console\n console[name === \"fatal\" ? \"error\" : name](msgs.join(\" \"), ...args);\n };\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,UAAU,QAAQ,iBAAiB;AAE5C,OAAO,MAAMC,aAAa,SAASD,UAAU,CAAmB;EAC9DE,WAAWA,CACTC,QAA6B,GAAG,CAAC,CAAC,EAClCC,OAA+C,GAAG,CAAC,CAAC,EACpD;IACA,KAAK,CACHD,QAAQ,EACR;MAAE,GAAGC,OAAO;MAAEC,KAAK,EAAED,OAAO,CAACC,KAAK,IAAI;IAAQ,CAAC,EAC/CJ,aACF,CAAC;EACH;EAEAK,eAAeA,CACbC,IAA6D,EAC7DJ,QAA6B,EACf;IACd,MAAMK,IAAc,GAAG,CAACD,IAAI,CAAC;IAE7B,IAAI,IAAI,CAACH,OAAO,EAAEK,SAAS,EAAE;MAC3BD,IAAI,CAACE,IAAI,CAAC,IAAI,CAACN,OAAO,CAACK,SAAS,CAAC;IACnC;IAEA,IAAI,OAAON,QAAQ,KAAK,QAAQ,IAAI,YAAY,IAAIA,QAAQ,EAAE;MAC5DK,IAAI,CAACE,IAAI,CAAC,IAAIP,QAAQ,CAACQ,UAAU,IAAI,CAAC;IACxC;IAEA,OAAO,CAAC,GAAGC,IAAW,KAAK;MACzB;MACAC,OAAO,CAACN,IAAI,KAAK,OAAO,GAAG,OAAO,GAAGA,IAAI,CAAC,CAACC,IAAI,CAACM,IAAI,CAAC,GAAG,CAAC,EAAE,GAAGF,IAAI,CAAC;IACrE,CAAC;EACH;AACF","ignoreList":[0]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
18
|
+
import { MinimalLogger } from "./MinimalLogger.js";
|
|
19
|
+
const orderedLevels = ["trace", "debug", "info", "warn", "error", "fatal"];
|
|
20
|
+
describe(MinimalLogger, () => {
|
|
21
|
+
const consoleMocks = Object.fromEntries(["log", "error", "warn", "trace"].map(name => [name, vi.spyOn(console, name)]));
|
|
22
|
+
beforeEach(() => {
|
|
23
|
+
for (const consoleMock of Object.values(consoleMocks)) {
|
|
24
|
+
consoleMock.mockClear();
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
it("does not debug log by default", () => {
|
|
28
|
+
const logger = new MinimalLogger();
|
|
29
|
+
logger.debug("hi");
|
|
30
|
+
for (const consoleMock of Object.values(consoleMocks)) {
|
|
31
|
+
expect(consoleMock).not.toHaveBeenCalled();
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
it("can log", () => {
|
|
35
|
+
new MinimalLogger({}, {});
|
|
36
|
+
});
|
|
37
|
+
describe.for(orderedLevels)("For level %s", level => {
|
|
38
|
+
const idx = orderedLevels.findIndex(a => a === level);
|
|
39
|
+
expect(idx).toBeGreaterThan(-1);
|
|
40
|
+
const shouldNotOutput = orderedLevels.slice(0, idx);
|
|
41
|
+
const shouldOutput = orderedLevels.slice(idx);
|
|
42
|
+
const x = [...shouldNotOutput.map(x => [x, false]), ...shouldOutput.map(x => [x, true])];
|
|
43
|
+
it.for(x)("It should log for %s? %s", ([levelToCheck, shouldLog]) => {
|
|
44
|
+
const logger = new MinimalLogger({}, {
|
|
45
|
+
level
|
|
46
|
+
});
|
|
47
|
+
logger[levelToCheck]("logging");
|
|
48
|
+
let calls = 0;
|
|
49
|
+
for (const consoleMock of Object.values(consoleMocks)) {
|
|
50
|
+
calls += consoleMock.mock.calls.length;
|
|
51
|
+
}
|
|
52
|
+
if (shouldLog) {
|
|
53
|
+
expect(calls === 1, `Should log one time but got ${calls}`);
|
|
54
|
+
} else {
|
|
55
|
+
expect(calls === 0, "should not call console.thing");
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=MinimalLogger.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MinimalLogger.test.js","names":["beforeEach","describe","expect","it","vi","MinimalLogger","orderedLevels","consoleMocks","Object","fromEntries","map","name","spyOn","console","consoleMock","values","mockClear","logger","debug","not","toHaveBeenCalled","for","level","idx","findIndex","a","toBeGreaterThan","shouldNotOutput","slice","shouldOutput","x","levelToCheck","shouldLog","calls","mock","length"],"sources":["MinimalLogger.test.ts"],"sourcesContent":["/*\n * Copyright 2025 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 { MockInstance } from \"vitest\";\nimport { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { MinimalLogger } from \"./MinimalLogger.js\";\n\nconst orderedLevels = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\",\n \"fatal\",\n] as const;\n\ndescribe(MinimalLogger, () => {\n const consoleTypes = [\"log\", \"error\", \"warn\", \"trace\"] as const;\n type consoleTypes = typeof consoleTypes[number];\n\n const consoleMocks = Object.fromEntries(\n consoleTypes.map(name =>\n [name, vi.spyOn(console, name)] as [consoleTypes, MockInstance<any>]\n ),\n ) as Record<\n typeof consoleTypes[number],\n MockInstance<any>\n >;\n\n beforeEach(() => {\n for (const consoleMock of Object.values(consoleMocks)) {\n consoleMock.mockClear();\n }\n });\n\n it(\"does not debug log by default\", () => {\n const logger = new MinimalLogger();\n logger.debug(\"hi\");\n\n for (const consoleMock of Object.values(consoleMocks)) {\n expect(consoleMock).not.toHaveBeenCalled();\n }\n });\n\n it(\"can log\", () => {\n new MinimalLogger({}, {});\n });\n\n describe.for(orderedLevels)(\"For level %s\", (level) => {\n const idx = orderedLevels.findIndex(a => a === level);\n expect(idx).toBeGreaterThan(-1);\n\n const shouldNotOutput = orderedLevels.slice(0, idx);\n const shouldOutput = orderedLevels.slice(idx);\n\n const x = [\n ...shouldNotOutput.map(x => [x, false] as const),\n ...shouldOutput.map(x => [x, true] as const),\n ];\n\n it.for(x)(\"It should log for %s? %s\", ([levelToCheck, shouldLog]) => {\n const logger = new MinimalLogger({}, { level });\n\n logger[levelToCheck](\"logging\");\n\n let calls = 0;\n\n for (const consoleMock of Object.values(consoleMocks)) {\n calls += consoleMock.mock.calls.length;\n }\n\n if (shouldLog) {\n expect(calls === 1, `Should log one time but got ${calls}`);\n } else {\n expect(calls === 0, \"should not call console.thing\");\n }\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { Chalk } from "chalk";
|
|
18
|
+
import { vi } from "vitest";
|
|
19
|
+
import { BaseLogger } from "./BaseLogger.js";
|
|
20
|
+
const chalk = new Chalk(); // new Chalk({ level: 3 });
|
|
21
|
+
|
|
22
|
+
const colors = {
|
|
23
|
+
debug: [chalk.cyan, chalk.bgCyan],
|
|
24
|
+
info: [chalk.green, chalk.bgGreen],
|
|
25
|
+
trace: [chalk.gray, chalk.bgGray],
|
|
26
|
+
error: [chalk.red, chalk.bgRed],
|
|
27
|
+
warn: [chalk.yellow, chalk.bgYellow],
|
|
28
|
+
fatal: [chalk.redBright, chalk.bgRedBright]
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* A logger suitable for using in unit tests.
|
|
33
|
+
* - It uses chalk for colors (Node and browser console.log supports)
|
|
34
|
+
* - Does not rely on async behavior of `pino`.
|
|
35
|
+
*/
|
|
36
|
+
export class TestLogger extends BaseLogger {
|
|
37
|
+
constructor(bindings = {}, options = {}) {
|
|
38
|
+
super(bindings, {
|
|
39
|
+
...options,
|
|
40
|
+
level: options.level ?? "error"
|
|
41
|
+
}, TestLogger);
|
|
42
|
+
}
|
|
43
|
+
createLogMethod(name, bindings) {
|
|
44
|
+
const msgs = [colors[name][1](name)];
|
|
45
|
+
if (this.options?.msgPrefix) {
|
|
46
|
+
msgs.push(colors[name][0](this.options.msgPrefix));
|
|
47
|
+
}
|
|
48
|
+
if (typeof bindings === "object" && "methodName" in bindings) {
|
|
49
|
+
msgs.push(chalk.magenta(`.${bindings.methodName}()`));
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// eslint-disable-next-line no-console
|
|
53
|
+
return vi.fn(console[name === "fatal" ? "error" : name].bind(console, msgs.join(" ")));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=TestLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestLogger.js","names":["Chalk","vi","BaseLogger","chalk","colors","debug","cyan","bgCyan","info","green","bgGreen","trace","gray","bgGray","error","red","bgRed","warn","yellow","bgYellow","fatal","redBright","bgRedBright","TestLogger","constructor","bindings","options","level","createLogMethod","name","msgs","msgPrefix","push","magenta","methodName","fn","console","bind","join"],"sources":["TestLogger.ts"],"sourcesContent":["/*\n * Copyright 2025 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 { Chalk } from \"chalk\";\nimport { vi } from \"vitest\";\nimport { BaseLogger } from \"./BaseLogger.js\";\n\nconst chalk = new Chalk(); // new Chalk({ level: 3 });\n\nconst colors = {\n debug: [chalk.cyan, chalk.bgCyan],\n info: [chalk.green, chalk.bgGreen],\n trace: [chalk.gray, chalk.bgGray],\n error: [chalk.red, chalk.bgRed],\n warn: [chalk.yellow, chalk.bgYellow],\n fatal: [chalk.redBright, chalk.bgRedBright],\n} as const;\n\n/**\n * A logger suitable for using in unit tests.\n * - It uses chalk for colors (Node and browser console.log supports)\n * - Does not rely on async behavior of `pino`.\n */\nexport class TestLogger extends BaseLogger implements Logger {\n constructor(\n bindings: Record<string, any> = {},\n options: { level?: string; msgPrefix?: string } = {},\n ) {\n super(\n bindings,\n { ...options, level: options.level ?? \"error\" },\n TestLogger,\n );\n }\n\n protected createLogMethod(\n name: \"trace\" | \"debug\" | \"info\" | \"warn\" | \"error\" | \"fatal\",\n bindings: Record<string, any>,\n ): Logger.LogFn {\n const msgs: string[] = [colors[name][1](name)];\n\n if (this.options?.msgPrefix) {\n msgs.push(colors[name][0](this.options.msgPrefix));\n }\n\n if (typeof bindings === \"object\" && \"methodName\" in bindings) {\n msgs.push(chalk.magenta(`.${bindings.methodName}()`));\n }\n\n // eslint-disable-next-line no-console\n return vi.fn<Logger.LogFn>(console[name === \"fatal\" ? \"error\" : name].bind(\n console,\n msgs.join(\" \"),\n )) as Logger.LogFn;\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,KAAK,QAAQ,OAAO;AAC7B,SAASC,EAAE,QAAQ,QAAQ;AAC3B,SAASC,UAAU,QAAQ,iBAAiB;AAE5C,MAAMC,KAAK,GAAG,IAAIH,KAAK,CAAC,CAAC,CAAC,CAAC;;AAE3B,MAAMI,MAAM,GAAG;EACbC,KAAK,EAAE,CAACF,KAAK,CAACG,IAAI,EAAEH,KAAK,CAACI,MAAM,CAAC;EACjCC,IAAI,EAAE,CAACL,KAAK,CAACM,KAAK,EAAEN,KAAK,CAACO,OAAO,CAAC;EAClCC,KAAK,EAAE,CAACR,KAAK,CAACS,IAAI,EAAET,KAAK,CAACU,MAAM,CAAC;EACjCC,KAAK,EAAE,CAACX,KAAK,CAACY,GAAG,EAAEZ,KAAK,CAACa,KAAK,CAAC;EAC/BC,IAAI,EAAE,CAACd,KAAK,CAACe,MAAM,EAAEf,KAAK,CAACgB,QAAQ,CAAC;EACpCC,KAAK,EAAE,CAACjB,KAAK,CAACkB,SAAS,EAAElB,KAAK,CAACmB,WAAW;AAC5C,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,SAASrB,UAAU,CAAmB;EAC3DsB,WAAWA,CACTC,QAA6B,GAAG,CAAC,CAAC,EAClCC,OAA+C,GAAG,CAAC,CAAC,EACpD;IACA,KAAK,CACHD,QAAQ,EACR;MAAE,GAAGC,OAAO;MAAEC,KAAK,EAAED,OAAO,CAACC,KAAK,IAAI;IAAQ,CAAC,EAC/CJ,UACF,CAAC;EACH;EAEUK,eAAeA,CACvBC,IAA6D,EAC7DJ,QAA6B,EACf;IACd,MAAMK,IAAc,GAAG,CAAC1B,MAAM,CAACyB,IAAI,CAAC,CAAC,CAAC,CAAC,CAACA,IAAI,CAAC,CAAC;IAE9C,IAAI,IAAI,CAACH,OAAO,EAAEK,SAAS,EAAE;MAC3BD,IAAI,CAACE,IAAI,CAAC5B,MAAM,CAACyB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAACH,OAAO,CAACK,SAAS,CAAC,CAAC;IACpD;IAEA,IAAI,OAAON,QAAQ,KAAK,QAAQ,IAAI,YAAY,IAAIA,QAAQ,EAAE;MAC5DK,IAAI,CAACE,IAAI,CAAC7B,KAAK,CAAC8B,OAAO,CAAC,IAAIR,QAAQ,CAACS,UAAU,IAAI,CAAC,CAAC;IACvD;;IAEA;IACA,OAAOjC,EAAE,CAACkC,EAAE,CAAeC,OAAO,CAACP,IAAI,KAAK,OAAO,GAAG,OAAO,GAAGA,IAAI,CAAC,CAACQ,IAAI,CACxED,OAAO,EACPN,IAAI,CAACQ,IAAI,CAAC,GAAG,CACf,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
|
|
@@ -14,15 +14,28 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
17
|
+
import { objectTypeWithAllPropertyTypes } from "@osdk/client.test.ontology";
|
|
18
|
+
import { LegacyFauxFoundry, startNodeApiServer, stubData } from "@osdk/shared.test";
|
|
19
19
|
import { afterAll, beforeAll, describe, expect, it } from "vitest";
|
|
20
20
|
import { createClient } from "../createClient.js";
|
|
21
21
|
describe("attachments", () => {
|
|
22
|
+
let fauxFoundry;
|
|
23
|
+
let apiServer;
|
|
22
24
|
let client;
|
|
23
25
|
beforeAll(async () => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
({
|
|
27
|
+
client,
|
|
28
|
+
apiServer,
|
|
29
|
+
fauxFoundry
|
|
30
|
+
} = startNodeApiServer(new LegacyFauxFoundry(), createClient));
|
|
31
|
+
fauxFoundry.attachments.registerAttachment({
|
|
32
|
+
filename: "file1.txt",
|
|
33
|
+
mediaType: "application/json",
|
|
34
|
+
rid: "ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75",
|
|
35
|
+
buffer: new TextEncoder().encode(JSON.stringify({
|
|
36
|
+
name: "Hello World"
|
|
37
|
+
}, null, 2))
|
|
38
|
+
});
|
|
26
39
|
});
|
|
27
40
|
afterAll(() => {
|
|
28
41
|
apiServer.close();
|
|
@@ -37,8 +50,8 @@ describe("attachments", () => {
|
|
|
37
50
|
expect(attachmentMetadata).toBeDefined();
|
|
38
51
|
expect(attachmentMetadata?.filename).toEqual("file1.txt");
|
|
39
52
|
expect(attachmentMetadata?.mediaType).toEqual("application/json");
|
|
40
|
-
expect(attachmentMetadata?.sizeBytes).toEqual(
|
|
41
|
-
expect(attachmentMetadata?.rid).toEqual(
|
|
53
|
+
expect(attachmentMetadata?.sizeBytes).toEqual(27);
|
|
54
|
+
expect(attachmentMetadata?.rid).toEqual(stubData.objectWithAllPropertyTypes1.attachment.rid);
|
|
42
55
|
});
|
|
43
56
|
it("reads attachment successfully", async () => {
|
|
44
57
|
const result = await client(objectTypeWithAllPropertyTypes).where({
|
|
@@ -49,7 +62,7 @@ describe("attachments", () => {
|
|
|
49
62
|
const attachmentContent = await object1?.attachment?.fetchContents();
|
|
50
63
|
const attachmentText = await attachmentContent.text();
|
|
51
64
|
expect(JSON.parse(attachmentText)).toEqual({
|
|
52
|
-
name: "Hello World
|
|
65
|
+
name: "Hello World"
|
|
53
66
|
});
|
|
54
67
|
});
|
|
55
68
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment.test.js","names":["
|
|
1
|
+
{"version":3,"file":"attachment.test.js","names":["objectTypeWithAllPropertyTypes","LegacyFauxFoundry","startNodeApiServer","stubData","afterAll","beforeAll","describe","expect","it","createClient","fauxFoundry","apiServer","client","attachments","registerAttachment","filename","mediaType","rid","buffer","TextEncoder","encode","JSON","stringify","name","close","result","where","id","objectWithAllPropertyTypes1","fetchPage","object1","data","attachment","toBeDefined","attachmentMetadata","fetchMetadata","toEqual","sizeBytes","attachmentContent","fetchContents","attachmentText","text","parse"],"sources":["attachment.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 { objectTypeWithAllPropertyTypes } from \"@osdk/client.test.ontology\";\nimport {\n LegacyFauxFoundry,\n startNodeApiServer,\n stubData,\n} from \"@osdk/shared.test\";\nimport { type SetupServer } 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(\"attachments\", () => {\n let fauxFoundry: LegacyFauxFoundry;\n let apiServer: SetupServer;\n let client: Client;\n\n beforeAll(async () => {\n ({ client, apiServer, fauxFoundry } = startNodeApiServer(\n new LegacyFauxFoundry(),\n createClient,\n ));\n\n fauxFoundry.attachments.registerAttachment({\n filename: \"file1.txt\",\n mediaType: \"application/json\",\n rid:\n \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n buffer: new TextEncoder().encode(\n JSON.stringify({ name: \"Hello World\" }, null, 2),\n ),\n });\n });\n\n afterAll(() => {\n apiServer.close();\n });\n\n it(\"reads attachment 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.attachment).toBeDefined();\n const attachmentMetadata = await object1.attachment?.fetchMetadata();\n expect(attachmentMetadata).toBeDefined();\n expect(attachmentMetadata?.filename).toEqual(\"file1.txt\");\n expect(attachmentMetadata?.mediaType).toEqual(\"application/json\");\n expect(attachmentMetadata?.sizeBytes).toEqual(27);\n expect(attachmentMetadata?.rid).toEqual(\n stubData.objectWithAllPropertyTypes1.attachment.rid,\n );\n });\n\n it(\"reads attachment 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.attachment).toBeDefined();\n const attachmentContent = await object1?.attachment?.fetchContents();\n const attachmentText = await attachmentContent!.text();\n expect(JSON.parse(attachmentText)).toEqual({\n name: \"Hello World\",\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseHolder.js","names":[],"sources":["BaseHolder.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectOrInterfaceDefinition, ObjectSpecifier } from \"@osdk/api\";\nimport type { InterfaceHolder } from \"./InterfaceHolder.js\";\nimport type { UnderlyingOsdkObject } from \"./InternalSymbols.js\";\nimport type { ObjectHolder } from \"./ObjectHolder.js\";\n\n/** @internal */\n\nexport interface BaseHolder {\n readonly [UnderlyingOsdkObject]: ObjectHolder;\n\n readonly $apiName: string;\n readonly $objectType: string;\n readonly $primaryKey: string | number
|
|
1
|
+
{"version":3,"file":"BaseHolder.js","names":[],"sources":["BaseHolder.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectOrInterfaceDefinition, ObjectSpecifier } from \"@osdk/api\";\nimport type { InterfaceHolder } from \"./InterfaceHolder.js\";\nimport type { UnderlyingOsdkObject } from \"./InternalSymbols.js\";\nimport type { ObjectHolder } from \"./ObjectHolder.js\";\n\n/** @internal */\n\nexport interface BaseHolder {\n readonly [UnderlyingOsdkObject]: ObjectHolder;\n\n readonly $apiName: string;\n readonly $objectType: string;\n readonly $primaryKey: string | number;\n readonly $title: string | undefined;\n readonly $objectSpecifier: ObjectSpecifier<any>;\n\n readonly \"$as\": (\n newDef: string | ObjectOrInterfaceDefinition,\n ) => ObjectHolder | InterfaceHolder;\n\n readonly \"$clone\": (\n newProps?: Record<string, any>,\n ) => this;\n\n // [key: `$$${string}`]: any;\n // Unlike SimpleOsdkProperties, all of our remaining types are unknown as the full\n // union is basically `any` when you consider the above fields.\n [key: string]: unknown;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -40,6 +40,10 @@ export function createOsdkInterface(underlying, interfaceDef) {
|
|
|
40
40
|
value: underlying.$primaryKey,
|
|
41
41
|
enumerable: "$primaryKey" in underlying
|
|
42
42
|
},
|
|
43
|
+
"$objectSpecifier": {
|
|
44
|
+
value: underlying.$objectSpecifier,
|
|
45
|
+
enumerable: "$objectSpecifier" in underlying
|
|
46
|
+
},
|
|
43
47
|
"$title": {
|
|
44
48
|
value: underlying.$title,
|
|
45
49
|
enumerable: "$title" in underlying
|