@wireio/shared 1.0.18 → 1.0.20
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/lib/cjs/guards/applyTypeGuardExtras.d.ts.map +1 -0
- package/lib/cjs/guards/applyTypeGuardExtras.js +8 -0
- package/lib/cjs/guards/array.d.ts.map +1 -0
- package/lib/cjs/guards/array.js +7 -0
- package/lib/cjs/guards/assert.d.ts.map +1 -0
- package/lib/cjs/guards/assert.js +56 -0
- package/lib/cjs/guards/class.d.ts.map +1 -0
- package/lib/{guards → cjs/guards}/class.js +15 -7
- package/lib/cjs/guards/guard-tools.d.ts.map +1 -0
- package/lib/cjs/guards/guard-tools.js +55 -0
- package/lib/cjs/guards/index.d.ts.map +1 -0
- package/lib/cjs/guards/index.js +24 -0
- package/lib/cjs/guards/primitive.d.ts.map +1 -0
- package/lib/cjs/guards/primitive.js +65 -0
- package/lib/cjs/guards/types.d.ts.map +1 -0
- package/lib/cjs/guards/types.js +3 -0
- package/lib/cjs/helpers/Deferred.d.ts.map +1 -0
- package/lib/cjs/helpers/Deferred.js +115 -0
- package/lib/cjs/helpers/index.d.ts.map +1 -0
- package/lib/cjs/helpers/index.js +18 -0
- package/lib/cjs/index.d.ts.map +1 -0
- package/lib/cjs/index.js +20 -0
- package/lib/cjs/logging/Appender.d.ts.map +1 -0
- package/lib/cjs/logging/Appender.js +3 -0
- package/lib/cjs/logging/Formatter.d.ts.map +1 -0
- package/lib/cjs/logging/Formatter.js +3 -0
- package/lib/cjs/logging/InternalLogger.d.ts.map +1 -0
- package/lib/cjs/logging/InternalLogger.js +27 -0
- package/lib/cjs/logging/Level.d.ts.map +1 -0
- package/lib/cjs/logging/Level.js +16 -0
- package/lib/cjs/logging/LogRecord.d.ts.map +1 -0
- package/lib/cjs/logging/LogRecord.js +3 -0
- package/lib/cjs/logging/Logger.d.ts.map +1 -0
- package/lib/cjs/logging/Logger.js +190 -0
- package/lib/cjs/logging/LoggingManager.d.ts.map +1 -0
- package/lib/cjs/logging/LoggingManager.js +253 -0
- package/lib/cjs/logging/appenders/ConsoleAppender.d.ts.map +1 -0
- package/lib/cjs/logging/appenders/ConsoleAppender.js +78 -0
- package/lib/cjs/logging/appenders/FileAppender.d.ts.map +1 -0
- package/lib/cjs/logging/appenders/FileAppender.js +254 -0
- package/lib/cjs/logging/appenders/aws-firehose/AWSFirehoseAppender.d.ts.map +1 -0
- package/lib/cjs/logging/appenders/aws-firehose/AWSFirehoseAppender.js +145 -0
- package/lib/cjs/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.d.ts.map +1 -0
- package/lib/cjs/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.js +105 -0
- package/lib/cjs/logging/appenders/index.d.ts.map +1 -0
- package/lib/cjs/logging/appenders/index.js +20 -0
- package/lib/cjs/logging/appenders/push/PushLogRecordsAppender.d.ts.map +1 -0
- package/lib/cjs/logging/appenders/push/PushLogRecordsAppender.js +294 -0
- package/lib/cjs/logging/appenders/push/index.d.ts.map +1 -0
- package/lib/cjs/logging/appenders/push/index.js +18 -0
- package/lib/cjs/logging/context/LogContext.d.ts.map +1 -0
- package/lib/cjs/logging/context/LogContext.js +62 -0
- package/lib/cjs/logging/context/LogContextContainer.d.ts.map +1 -0
- package/lib/cjs/logging/context/LogContextContainer.js +28 -0
- package/lib/cjs/logging/context/LogContextProvider.d.ts.map +1 -0
- package/lib/cjs/logging/context/LogContextProvider.js +21 -0
- package/lib/cjs/logging/context/index.d.ts.map +1 -0
- package/lib/cjs/logging/context/index.js +20 -0
- package/lib/cjs/logging/context/providers/node/NodeContextProvider.d.ts.map +1 -0
- package/lib/cjs/logging/context/providers/node/NodeContextProvider.js +33 -0
- package/lib/cjs/logging/context/providers/node/index.d.ts.map +1 -0
- package/lib/cjs/logging/context/providers/node/index.js +4 -0
- package/lib/cjs/logging/examples/example-debug-appender.d.ts.map +1 -0
- package/lib/cjs/logging/examples/example-debug-appender.js +16 -0
- package/lib/cjs/logging/examples/example-file-appender.d.ts.map +1 -0
- package/lib/cjs/logging/examples/example-file-appender.js +18 -0
- package/lib/cjs/logging/getLogger.d.ts.map +1 -0
- package/lib/cjs/logging/getLogger.js +8 -0
- package/lib/cjs/logging/index-node.d.ts.map +1 -0
- package/lib/cjs/logging/index-node.js +19 -0
- package/lib/cjs/logging/index.d.ts.map +1 -0
- package/lib/cjs/logging/index.js +27 -0
- package/lib/cjs/logging/util.d.ts.map +1 -0
- package/lib/cjs/logging/util.js +9 -0
- package/lib/esm/guards/applyTypeGuardExtras.d.ts +3 -0
- package/lib/esm/guards/applyTypeGuardExtras.d.ts.map +1 -0
- package/lib/esm/guards/applyTypeGuardExtras.js +5 -0
- package/lib/esm/guards/array.d.ts +2 -0
- package/lib/esm/guards/array.d.ts.map +1 -0
- package/lib/esm/guards/array.js +4 -0
- package/lib/esm/guards/assert.d.ts +19 -0
- package/lib/esm/guards/assert.d.ts.map +1 -0
- package/lib/esm/guards/assert.js +50 -0
- package/lib/esm/guards/class.d.ts +27 -0
- package/lib/esm/guards/class.d.ts.map +1 -0
- package/lib/esm/guards/class.js +34 -0
- package/lib/esm/guards/guard-tools.d.ts +20 -0
- package/lib/esm/guards/guard-tools.d.ts.map +1 -0
- package/lib/esm/guards/guard-tools.js +50 -0
- package/lib/esm/guards/index.d.ts +8 -0
- package/lib/esm/guards/index.d.ts.map +1 -0
- package/lib/esm/guards/index.js +8 -0
- package/lib/esm/guards/primitive.d.ts +26 -0
- package/lib/esm/guards/primitive.d.ts.map +1 -0
- package/lib/esm/guards/primitive.js +47 -0
- package/lib/esm/guards/types.d.ts +10 -0
- package/lib/esm/guards/types.d.ts.map +1 -0
- package/lib/esm/guards/types.js +2 -0
- package/lib/esm/helpers/Deferred.d.ts +31 -0
- package/lib/esm/helpers/Deferred.d.ts.map +1 -0
- package/lib/esm/helpers/Deferred.js +111 -0
- package/lib/esm/helpers/index.d.ts +2 -0
- package/lib/esm/helpers/index.d.ts.map +1 -0
- package/lib/esm/helpers/index.js +2 -0
- package/lib/esm/index.d.ts +4 -0
- package/lib/esm/index.d.ts.map +1 -0
- package/lib/esm/index.js +4 -0
- package/lib/esm/logging/Appender.d.ts +5 -0
- package/lib/esm/logging/Appender.d.ts.map +1 -0
- package/lib/esm/logging/Appender.js +2 -0
- package/lib/esm/logging/Formatter.d.ts +3 -0
- package/lib/esm/logging/Formatter.d.ts.map +1 -0
- package/lib/esm/logging/Formatter.js +2 -0
- package/lib/esm/logging/InternalLogger.d.ts +5 -0
- package/lib/esm/logging/InternalLogger.d.ts.map +1 -0
- package/lib/esm/logging/InternalLogger.js +23 -0
- package/lib/esm/logging/Level.d.ts +14 -0
- package/lib/esm/logging/Level.d.ts.map +1 -0
- package/lib/esm/logging/Level.js +13 -0
- package/lib/esm/logging/LogRecord.d.ts +19 -0
- package/lib/esm/logging/LogRecord.d.ts.map +1 -0
- package/lib/esm/logging/LogRecord.js +2 -0
- package/lib/esm/logging/Logger.d.ts +81 -0
- package/lib/esm/logging/Logger.d.ts.map +1 -0
- package/lib/esm/logging/Logger.js +184 -0
- package/lib/esm/logging/LoggingManager.d.ts +131 -0
- package/lib/esm/logging/LoggingManager.d.ts.map +1 -0
- package/lib/esm/logging/LoggingManager.js +248 -0
- package/lib/esm/logging/appenders/ConsoleAppender.d.ts +55 -0
- package/lib/esm/logging/appenders/ConsoleAppender.d.ts.map +1 -0
- package/lib/esm/logging/appenders/ConsoleAppender.js +72 -0
- package/lib/esm/logging/appenders/FileAppender.d.ts +65 -0
- package/lib/esm/logging/appenders/FileAppender.d.ts.map +1 -0
- package/lib/esm/logging/appenders/FileAppender.js +214 -0
- package/lib/esm/logging/appenders/aws-firehose/AWSFirehoseAppender.d.ts +28 -0
- package/lib/esm/logging/appenders/aws-firehose/AWSFirehoseAppender.d.ts.map +1 -0
- package/lib/esm/logging/appenders/aws-firehose/AWSFirehoseAppender.js +138 -0
- package/lib/esm/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.d.ts +29 -0
- package/lib/esm/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.d.ts.map +1 -0
- package/lib/esm/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.js +98 -0
- package/lib/esm/logging/appenders/index.d.ts +4 -0
- package/lib/esm/logging/appenders/index.d.ts.map +1 -0
- package/lib/esm/logging/appenders/index.js +4 -0
- package/lib/esm/logging/appenders/push/PushLogRecordsAppender.d.ts +76 -0
- package/lib/esm/logging/appenders/push/PushLogRecordsAppender.d.ts.map +1 -0
- package/lib/esm/logging/appenders/push/PushLogRecordsAppender.js +286 -0
- package/lib/esm/logging/appenders/push/index.d.ts +2 -0
- package/lib/esm/logging/appenders/push/index.d.ts.map +1 -0
- package/lib/esm/logging/appenders/push/index.js +2 -0
- package/lib/esm/logging/context/LogContext.d.ts +48 -0
- package/lib/esm/logging/context/LogContext.d.ts.map +1 -0
- package/lib/esm/logging/context/LogContext.js +58 -0
- package/lib/esm/logging/context/LogContextContainer.d.ts +9 -0
- package/lib/esm/logging/context/LogContextContainer.d.ts.map +1 -0
- package/lib/esm/logging/context/LogContextContainer.js +25 -0
- package/lib/esm/logging/context/LogContextProvider.d.ts +24 -0
- package/lib/esm/logging/context/LogContextProvider.d.ts.map +1 -0
- package/lib/esm/logging/context/LogContextProvider.js +18 -0
- package/lib/esm/logging/context/index.d.ts +4 -0
- package/lib/esm/logging/context/index.d.ts.map +1 -0
- package/lib/esm/logging/context/index.js +4 -0
- package/lib/esm/logging/context/providers/node/NodeContextProvider.d.ts +2 -0
- package/lib/esm/logging/context/providers/node/NodeContextProvider.d.ts.map +1 -0
- package/lib/esm/logging/context/providers/node/NodeContextProvider.js +31 -0
- package/lib/esm/logging/context/providers/node/index.d.ts +3 -0
- package/lib/esm/logging/context/providers/node/index.d.ts.map +1 -0
- package/lib/esm/logging/context/providers/node/index.js +2 -0
- package/lib/esm/logging/examples/example-debug-appender.d.ts +2 -0
- package/lib/esm/logging/examples/example-debug-appender.d.ts.map +1 -0
- package/lib/esm/logging/examples/example-debug-appender.js +14 -0
- package/lib/esm/logging/examples/example-file-appender.d.ts +2 -0
- package/lib/esm/logging/examples/example-file-appender.d.ts.map +1 -0
- package/lib/esm/logging/examples/example-file-appender.js +16 -0
- package/lib/esm/logging/getLogger.d.ts +3 -0
- package/lib/esm/logging/getLogger.d.ts.map +1 -0
- package/lib/esm/logging/getLogger.js +5 -0
- package/lib/esm/logging/index-node.d.ts +3 -0
- package/lib/esm/logging/index-node.d.ts.map +1 -0
- package/lib/esm/logging/index-node.js +3 -0
- package/lib/esm/logging/index.d.ts +11 -0
- package/lib/esm/logging/index.d.ts.map +1 -0
- package/lib/esm/logging/index.js +11 -0
- package/lib/esm/logging/util.d.ts +3 -0
- package/lib/esm/logging/util.d.ts.map +1 -0
- package/lib/esm/logging/util.js +6 -0
- package/lib/test-cjs/guards/array.test.d.ts +2 -0
- package/lib/test-cjs/guards/array.test.d.ts.map +1 -0
- package/lib/test-cjs/guards/array.test.js +33 -0
- package/lib/test-cjs/guards/array.test.js.map +1 -0
- package/lib/test-cjs/guards/assert.test.d.ts +2 -0
- package/lib/test-cjs/guards/assert.test.d.ts.map +1 -0
- package/lib/test-cjs/guards/assert.test.js +80 -0
- package/lib/test-cjs/guards/assert.test.js.map +1 -0
- package/lib/test-cjs/guards/class.test.d.ts +2 -0
- package/lib/test-cjs/guards/class.test.d.ts.map +1 -0
- package/lib/test-cjs/guards/class.test.js +78 -0
- package/lib/test-cjs/guards/class.test.js.map +1 -0
- package/lib/test-cjs/guards/guard-tools.test.d.ts +2 -0
- package/lib/test-cjs/guards/guard-tools.test.d.ts.map +1 -0
- package/lib/test-cjs/guards/guard-tools.test.js +68 -0
- package/lib/test-cjs/guards/guard-tools.test.js.map +1 -0
- package/lib/test-cjs/guards/primitive.test.d.ts +2 -0
- package/lib/test-cjs/guards/primitive.test.d.ts.map +1 -0
- package/lib/test-cjs/guards/primitive.test.js +238 -0
- package/lib/test-cjs/guards/primitive.test.js.map +1 -0
- package/lib/test-cjs/helpers/Deferred.test.d.ts +2 -0
- package/lib/test-cjs/helpers/Deferred.test.d.ts.map +1 -0
- package/lib/test-cjs/helpers/Deferred.test.js +196 -0
- package/lib/test-cjs/helpers/Deferred.test.js.map +1 -0
- package/lib/test-cjs/logging/ConsoleAppender.test.d.ts +2 -0
- package/lib/test-cjs/logging/ConsoleAppender.test.d.ts.map +1 -0
- package/lib/test-cjs/logging/ConsoleAppender.test.js +95 -0
- package/lib/test-cjs/logging/ConsoleAppender.test.js.map +1 -0
- package/lib/test-cjs/logging/Level.test.d.ts +2 -0
- package/lib/test-cjs/logging/Level.test.d.ts.map +1 -0
- package/lib/test-cjs/logging/Level.test.js +42 -0
- package/lib/test-cjs/logging/Level.test.js.map +1 -0
- package/lib/test-cjs/logging/Logger.test.d.ts +2 -0
- package/lib/test-cjs/logging/Logger.test.d.ts.map +1 -0
- package/lib/test-cjs/logging/Logger.test.js +121 -0
- package/lib/test-cjs/logging/Logger.test.js.map +1 -0
- package/lib/test-cjs/logging/LoggingManager.test.d.ts +2 -0
- package/lib/test-cjs/logging/LoggingManager.test.d.ts.map +1 -0
- package/lib/test-cjs/logging/LoggingManager.test.js +124 -0
- package/lib/test-cjs/logging/LoggingManager.test.js.map +1 -0
- package/lib/test-cjs/logging/util.test.d.ts +2 -0
- package/lib/test-cjs/logging/util.test.d.ts.map +1 -0
- package/lib/test-cjs/logging/util.test.js +48 -0
- package/lib/test-cjs/logging/util.test.js.map +1 -0
- package/lib/tsconfig.cjs.jest.tsbuildinfo +1 -0
- package/lib/tsconfig.cjs.tsbuildinfo +1 -0
- package/lib/tsconfig.esm.tsbuildinfo +1 -0
- package/package.json +18 -6
- package/lib/guards/applyTypeGuardExtras.d.ts.map +0 -1
- package/lib/guards/applyTypeGuardExtras.js +0 -5
- package/lib/guards/array.d.ts.map +0 -1
- package/lib/guards/array.js +0 -4
- package/lib/guards/assert.d.ts.map +0 -1
- package/lib/guards/assert.js +0 -50
- package/lib/guards/class.d.ts.map +0 -1
- package/lib/guards/guard-tools.d.ts.map +0 -1
- package/lib/guards/guard-tools.js +0 -50
- package/lib/guards/index.d.ts.map +0 -1
- package/lib/guards/index.js +0 -8
- package/lib/guards/primitive.d.ts.map +0 -1
- package/lib/guards/primitive.js +0 -47
- package/lib/guards/types.d.ts.map +0 -1
- package/lib/guards/types.js +0 -2
- package/lib/helpers/Deferred.d.ts.map +0 -1
- package/lib/helpers/Deferred.js +0 -111
- package/lib/helpers/index.d.ts.map +0 -1
- package/lib/helpers/index.js +0 -2
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -4
- package/lib/logging/Appender.d.ts.map +0 -1
- package/lib/logging/Appender.js +0 -2
- package/lib/logging/Formatter.d.ts.map +0 -1
- package/lib/logging/Formatter.js +0 -2
- package/lib/logging/InternalLogger.d.ts.map +0 -1
- package/lib/logging/InternalLogger.js +0 -23
- package/lib/logging/Level.d.ts.map +0 -1
- package/lib/logging/Level.js +0 -13
- package/lib/logging/LogRecord.d.ts.map +0 -1
- package/lib/logging/LogRecord.js +0 -2
- package/lib/logging/Logger.d.ts.map +0 -1
- package/lib/logging/Logger.js +0 -183
- package/lib/logging/LoggingManager.d.ts.map +0 -1
- package/lib/logging/LoggingManager.js +0 -243
- package/lib/logging/appenders/ConsoleAppender.d.ts.map +0 -1
- package/lib/logging/appenders/ConsoleAppender.js +0 -72
- package/lib/logging/appenders/FileAppender.d.ts.map +0 -1
- package/lib/logging/appenders/FileAppender.js +0 -212
- package/lib/logging/appenders/aws-firehose/AWSFirehoseAppender.d.ts.map +0 -1
- package/lib/logging/appenders/aws-firehose/AWSFirehoseAppender.js +0 -138
- package/lib/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.d.ts.map +0 -1
- package/lib/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.js +0 -98
- package/lib/logging/appenders/index.d.ts.map +0 -1
- package/lib/logging/appenders/index.js +0 -4
- package/lib/logging/appenders/push/PushLogRecordsAppender.d.ts.map +0 -1
- package/lib/logging/appenders/push/PushLogRecordsAppender.js +0 -286
- package/lib/logging/appenders/push/index.d.ts.map +0 -1
- package/lib/logging/appenders/push/index.js +0 -2
- package/lib/logging/context/LogContext.d.ts.map +0 -1
- package/lib/logging/context/LogContext.js +0 -58
- package/lib/logging/context/LogContextContainer.d.ts.map +0 -1
- package/lib/logging/context/LogContextContainer.js +0 -25
- package/lib/logging/context/LogContextProvider.d.ts.map +0 -1
- package/lib/logging/context/LogContextProvider.js +0 -18
- package/lib/logging/context/index.d.ts.map +0 -1
- package/lib/logging/context/index.js +0 -4
- package/lib/logging/context/providers/node/NodeContextProvider.d.ts.map +0 -1
- package/lib/logging/context/providers/node/NodeContextProvider.js +0 -31
- package/lib/logging/context/providers/node/index.d.ts.map +0 -1
- package/lib/logging/context/providers/node/index.js +0 -2
- package/lib/logging/examples/example-debug-appender.d.ts.map +0 -1
- package/lib/logging/examples/example-debug-appender.js +0 -14
- package/lib/logging/examples/example-file-appender.d.ts.map +0 -1
- package/lib/logging/examples/example-file-appender.js +0 -16
- package/lib/logging/getLogger.d.ts.map +0 -1
- package/lib/logging/getLogger.js +0 -5
- package/lib/logging/index-node.d.ts.map +0 -1
- package/lib/logging/index-node.js +0 -3
- package/lib/logging/index.d.ts.map +0 -1
- package/lib/logging/index.js +0 -11
- package/lib/logging/util.d.ts.map +0 -1
- package/lib/logging/util.js +0 -6
- /package/lib/{guards → cjs/guards}/applyTypeGuardExtras.d.ts +0 -0
- /package/lib/{guards → cjs/guards}/array.d.ts +0 -0
- /package/lib/{guards → cjs/guards}/assert.d.ts +0 -0
- /package/lib/{guards → cjs/guards}/class.d.ts +0 -0
- /package/lib/{guards → cjs/guards}/guard-tools.d.ts +0 -0
- /package/lib/{guards → cjs/guards}/index.d.ts +0 -0
- /package/lib/{guards → cjs/guards}/primitive.d.ts +0 -0
- /package/lib/{guards → cjs/guards}/types.d.ts +0 -0
- /package/lib/{helpers → cjs/helpers}/Deferred.d.ts +0 -0
- /package/lib/{helpers → cjs/helpers}/index.d.ts +0 -0
- /package/lib/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/lib/{logging → cjs/logging}/Appender.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/Formatter.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/InternalLogger.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/Level.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/LogRecord.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/Logger.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/LoggingManager.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/appenders/ConsoleAppender.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/appenders/FileAppender.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/appenders/aws-firehose/AWSFirehoseAppender.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/appenders/aws-firehose/AWSFirehoseCredentialManager.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/appenders/index.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/appenders/push/PushLogRecordsAppender.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/appenders/push/index.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/context/LogContext.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/context/LogContextContainer.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/context/LogContextProvider.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/context/index.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/context/providers/node/NodeContextProvider.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/context/providers/node/index.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/examples/example-debug-appender.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/examples/example-file-appender.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/getLogger.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/index-node.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/index.d.ts +0 -0
- /package/lib/{logging → cjs/logging}/util.d.ts +0 -0
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const primitive_1 = require("@wireio/shared/guards/primitive");
|
|
4
|
+
describe("isNil", () => {
|
|
5
|
+
it("returns true for null", () => {
|
|
6
|
+
expect((0, primitive_1.isNil)(null)).toBe(true);
|
|
7
|
+
});
|
|
8
|
+
it("returns true for undefined", () => {
|
|
9
|
+
expect((0, primitive_1.isNil)(undefined)).toBe(true);
|
|
10
|
+
});
|
|
11
|
+
it("returns false for 0", () => {
|
|
12
|
+
expect((0, primitive_1.isNil)(0)).toBe(false);
|
|
13
|
+
});
|
|
14
|
+
it("returns false for empty string", () => {
|
|
15
|
+
expect((0, primitive_1.isNil)("")).toBe(false);
|
|
16
|
+
});
|
|
17
|
+
it("returns false for false", () => {
|
|
18
|
+
expect((0, primitive_1.isNil)(false)).toBe(false);
|
|
19
|
+
});
|
|
20
|
+
it("returns false for empty object", () => {
|
|
21
|
+
expect((0, primitive_1.isNil)({})).toBe(false);
|
|
22
|
+
});
|
|
23
|
+
it("returns false for empty array", () => {
|
|
24
|
+
expect((0, primitive_1.isNil)([])).toBe(false);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
describe("isDefined", () => {
|
|
28
|
+
it("returns false for null", () => {
|
|
29
|
+
expect((0, primitive_1.isDefined)(null)).toBe(false);
|
|
30
|
+
});
|
|
31
|
+
it("returns false for undefined", () => {
|
|
32
|
+
expect((0, primitive_1.isDefined)(undefined)).toBe(false);
|
|
33
|
+
});
|
|
34
|
+
it("returns true for 0", () => {
|
|
35
|
+
expect((0, primitive_1.isDefined)(0)).toBe(true);
|
|
36
|
+
});
|
|
37
|
+
it("returns true for empty string", () => {
|
|
38
|
+
expect((0, primitive_1.isDefined)("")).toBe(true);
|
|
39
|
+
});
|
|
40
|
+
it("returns true for false", () => {
|
|
41
|
+
expect((0, primitive_1.isDefined)(false)).toBe(true);
|
|
42
|
+
});
|
|
43
|
+
it("returns true for empty object", () => {
|
|
44
|
+
expect((0, primitive_1.isDefined)({})).toBe(true);
|
|
45
|
+
});
|
|
46
|
+
it("returns true for empty array", () => {
|
|
47
|
+
expect((0, primitive_1.isDefined)([])).toBe(true);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe("isObject", () => {
|
|
51
|
+
it("returns true for plain object", () => {
|
|
52
|
+
expect((0, primitive_1.isObject)({})).toBe(true);
|
|
53
|
+
});
|
|
54
|
+
it("returns true for array", () => {
|
|
55
|
+
expect((0, primitive_1.isObject)([])).toBe(true);
|
|
56
|
+
});
|
|
57
|
+
it("returns true for Date", () => {
|
|
58
|
+
expect((0, primitive_1.isObject)(new Date())).toBe(true);
|
|
59
|
+
});
|
|
60
|
+
it("returns false for null", () => {
|
|
61
|
+
expect((0, primitive_1.isObject)(null)).toBe(false);
|
|
62
|
+
});
|
|
63
|
+
it("returns false for undefined", () => {
|
|
64
|
+
expect((0, primitive_1.isObject)(undefined)).toBe(false);
|
|
65
|
+
});
|
|
66
|
+
it("returns false for string", () => {
|
|
67
|
+
expect((0, primitive_1.isObject)("string")).toBe(false);
|
|
68
|
+
});
|
|
69
|
+
it("returns false for number", () => {
|
|
70
|
+
expect((0, primitive_1.isObject)(123)).toBe(false);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
describe("isPromise", () => {
|
|
74
|
+
it("returns true for Promise.resolve()", () => {
|
|
75
|
+
expect((0, primitive_1.isPromise)(Promise.resolve())).toBe(true);
|
|
76
|
+
});
|
|
77
|
+
it("returns true for new Promise", () => {
|
|
78
|
+
expect((0, primitive_1.isPromise)(new Promise(() => { }))).toBe(true);
|
|
79
|
+
});
|
|
80
|
+
it("returns true for thenable object", () => {
|
|
81
|
+
expect((0, primitive_1.isPromise)({ then: () => { } })).toBe(true);
|
|
82
|
+
});
|
|
83
|
+
it("returns false for plain object", () => {
|
|
84
|
+
expect((0, primitive_1.isPromise)({})).toBe(false);
|
|
85
|
+
});
|
|
86
|
+
it("returns false for null", () => {
|
|
87
|
+
expect((0, primitive_1.isPromise)(null)).toBe(false);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
describe("isObjectType", () => {
|
|
91
|
+
it("returns true for matching type", () => {
|
|
92
|
+
expect((0, primitive_1.isObjectType)(new Date(), Date)).toBe(true);
|
|
93
|
+
});
|
|
94
|
+
it("returns false for non-matching type", () => {
|
|
95
|
+
expect((0, primitive_1.isObjectType)("hello", Date)).toBe(false);
|
|
96
|
+
});
|
|
97
|
+
it("returns false for null", () => {
|
|
98
|
+
expect((0, primitive_1.isObjectType)(null, Date)).toBe(false);
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
describe("isString", () => {
|
|
102
|
+
it("returns true for hello", () => {
|
|
103
|
+
expect((0, primitive_1.isString)("hello")).toBe(true);
|
|
104
|
+
});
|
|
105
|
+
it("returns true for empty string", () => {
|
|
106
|
+
expect((0, primitive_1.isString)("")).toBe(true);
|
|
107
|
+
});
|
|
108
|
+
it("returns false for null", () => {
|
|
109
|
+
expect((0, primitive_1.isString)(null)).toBe(false);
|
|
110
|
+
});
|
|
111
|
+
it("returns false for number", () => {
|
|
112
|
+
expect((0, primitive_1.isString)(123)).toBe(false);
|
|
113
|
+
});
|
|
114
|
+
it("returns false for undefined", () => {
|
|
115
|
+
expect((0, primitive_1.isString)(undefined)).toBe(false);
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
describe("isNumber", () => {
|
|
119
|
+
it("returns true for 0", () => {
|
|
120
|
+
expect((0, primitive_1.isNumber)(0)).toBe(true);
|
|
121
|
+
});
|
|
122
|
+
it("returns true for 1", () => {
|
|
123
|
+
expect((0, primitive_1.isNumber)(1)).toBe(true);
|
|
124
|
+
});
|
|
125
|
+
it("returns true for -1", () => {
|
|
126
|
+
expect((0, primitive_1.isNumber)(-1)).toBe(true);
|
|
127
|
+
});
|
|
128
|
+
it("returns true for 1.5", () => {
|
|
129
|
+
expect((0, primitive_1.isNumber)(1.5)).toBe(true);
|
|
130
|
+
});
|
|
131
|
+
it("returns false for NaN", () => {
|
|
132
|
+
expect((0, primitive_1.isNumber)(NaN)).toBe(false);
|
|
133
|
+
});
|
|
134
|
+
it("returns false for null", () => {
|
|
135
|
+
expect((0, primitive_1.isNumber)(null)).toBe(false);
|
|
136
|
+
});
|
|
137
|
+
it("returns false for string number", () => {
|
|
138
|
+
expect((0, primitive_1.isNumber)("1")).toBe(false);
|
|
139
|
+
});
|
|
140
|
+
it("returns false for undefined", () => {
|
|
141
|
+
expect((0, primitive_1.isNumber)(undefined)).toBe(false);
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
describe("isFunction", () => {
|
|
145
|
+
it("returns true for arrow function", () => {
|
|
146
|
+
expect((0, primitive_1.isFunction)(() => { })).toBe(true);
|
|
147
|
+
});
|
|
148
|
+
it("returns true for function expression", () => {
|
|
149
|
+
expect((0, primitive_1.isFunction)(function () { })).toBe(true);
|
|
150
|
+
});
|
|
151
|
+
it("returns true for class", () => {
|
|
152
|
+
expect((0, primitive_1.isFunction)(class Foo {
|
|
153
|
+
})).toBe(true);
|
|
154
|
+
});
|
|
155
|
+
it("returns false for null", () => {
|
|
156
|
+
expect((0, primitive_1.isFunction)(null)).toBe(false);
|
|
157
|
+
});
|
|
158
|
+
it("returns false for object", () => {
|
|
159
|
+
expect((0, primitive_1.isFunction)({})).toBe(false);
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
describe("isSymbol", () => {
|
|
163
|
+
it("returns true for Symbol", () => {
|
|
164
|
+
expect((0, primitive_1.isSymbol)(Symbol("test"))).toBe(true);
|
|
165
|
+
});
|
|
166
|
+
it("returns false for string", () => {
|
|
167
|
+
expect((0, primitive_1.isSymbol)("symbol")).toBe(false);
|
|
168
|
+
});
|
|
169
|
+
it("returns false for null", () => {
|
|
170
|
+
expect((0, primitive_1.isSymbol)(null)).toBe(false);
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
describe("isBoolean", () => {
|
|
174
|
+
it("returns true for true", () => {
|
|
175
|
+
expect((0, primitive_1.isBoolean)(true)).toBe(true);
|
|
176
|
+
});
|
|
177
|
+
it("returns true for false", () => {
|
|
178
|
+
expect((0, primitive_1.isBoolean)(false)).toBe(true);
|
|
179
|
+
});
|
|
180
|
+
it("returns false for 0", () => {
|
|
181
|
+
expect((0, primitive_1.isBoolean)(0)).toBe(false);
|
|
182
|
+
});
|
|
183
|
+
it("returns false for 1", () => {
|
|
184
|
+
expect((0, primitive_1.isBoolean)(1)).toBe(false);
|
|
185
|
+
});
|
|
186
|
+
it("returns false for null", () => {
|
|
187
|
+
expect((0, primitive_1.isBoolean)(null)).toBe(false);
|
|
188
|
+
});
|
|
189
|
+
it("returns false for string true", () => {
|
|
190
|
+
expect((0, primitive_1.isBoolean)("true")).toBe(false);
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
describe("isDate", () => {
|
|
194
|
+
it("returns true for new Date()", () => {
|
|
195
|
+
expect((0, primitive_1.isDate)(new Date())).toBe(true);
|
|
196
|
+
});
|
|
197
|
+
it("returns false for Date.now()", () => {
|
|
198
|
+
expect((0, primitive_1.isDate)(Date.now())).toBe(false);
|
|
199
|
+
});
|
|
200
|
+
it("returns false for date string", () => {
|
|
201
|
+
expect((0, primitive_1.isDate)("2024-01-01")).toBe(false);
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
describe("isPrimitive", () => {
|
|
205
|
+
it("returns true for boolean", () => {
|
|
206
|
+
expect((0, primitive_1.isPrimitive)(true)).toBe(true);
|
|
207
|
+
});
|
|
208
|
+
it("returns true for string", () => {
|
|
209
|
+
expect((0, primitive_1.isPrimitive)("hello")).toBe(true);
|
|
210
|
+
});
|
|
211
|
+
it("returns true for number", () => {
|
|
212
|
+
expect((0, primitive_1.isPrimitive)(42)).toBe(true);
|
|
213
|
+
});
|
|
214
|
+
it("returns false for object", () => {
|
|
215
|
+
expect((0, primitive_1.isPrimitive)({})).toBe(false);
|
|
216
|
+
});
|
|
217
|
+
it("returns false for array", () => {
|
|
218
|
+
expect((0, primitive_1.isPrimitive)([])).toBe(false);
|
|
219
|
+
});
|
|
220
|
+
it("returns false for null", () => {
|
|
221
|
+
expect((0, primitive_1.isPrimitive)(null)).toBe(false);
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
describe("isPrimitiveProducer", () => {
|
|
225
|
+
it("returns true for String constructor", () => {
|
|
226
|
+
expect((0, primitive_1.isPrimitiveProducer)(String)).toBe(true);
|
|
227
|
+
});
|
|
228
|
+
it("returns true for Number constructor", () => {
|
|
229
|
+
expect((0, primitive_1.isPrimitiveProducer)(Number)).toBe(true);
|
|
230
|
+
});
|
|
231
|
+
it("returns true for Boolean constructor", () => {
|
|
232
|
+
expect((0, primitive_1.isPrimitiveProducer)(Boolean)).toBe(true);
|
|
233
|
+
});
|
|
234
|
+
it("returns false for a regular function", () => {
|
|
235
|
+
expect((0, primitive_1.isPrimitiveProducer)(() => "hello")).toBe(false);
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
//# sourceMappingURL=primitive.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitive.test.js","sourceRoot":"","sources":["../../../tests/guards/primitive.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isNil,\n isDefined,\n isObject,\n isPromise,\n isObjectType,\n isString,\n isNumber,\n isFunction,\n isSymbol,\n isBoolean,\n isDate,\n isPrimitive,\n isPrimitiveProducer\n} from \"@wireio/shared/guards/primitive\"\n\ndescribe(\"isNil\", () => {\n it(\"returns true for null\", () => {\n expect(isNil(null)).toBe(true)\n })\n\n it(\"returns true for undefined\", () => {\n expect(isNil(undefined)).toBe(true)\n })\n\n it(\"returns false for 0\", () => {\n expect(isNil(0)).toBe(false)\n })\n\n it(\"returns false for empty string\", () => {\n expect(isNil(\"\")).toBe(false)\n })\n\n it(\"returns false for false\", () => {\n expect(isNil(false)).toBe(false)\n })\n\n it(\"returns false for empty object\", () => {\n expect(isNil({})).toBe(false)\n })\n\n it(\"returns false for empty array\", () => {\n expect(isNil([])).toBe(false)\n })\n})\n\ndescribe(\"isDefined\", () => {\n it(\"returns false for null\", () => {\n expect(isDefined(null)).toBe(false)\n })\n\n it(\"returns false for undefined\", () => {\n expect(isDefined(undefined)).toBe(false)\n })\n\n it(\"returns true for 0\", () => {\n expect(isDefined(0)).toBe(true)\n })\n\n it(\"returns true for empty string\", () => {\n expect(isDefined(\"\")).toBe(true)\n })\n\n it(\"returns true for false\", () => {\n expect(isDefined(false)).toBe(true)\n })\n\n it(\"returns true for empty object\", () => {\n expect(isDefined({})).toBe(true)\n })\n\n it(\"returns true for empty array\", () => {\n expect(isDefined([])).toBe(true)\n })\n})\n\ndescribe(\"isObject\", () => {\n it(\"returns true for plain object\", () => {\n expect(isObject({})).toBe(true)\n })\n\n it(\"returns true for array\", () => {\n expect(isObject([])).toBe(true)\n })\n\n it(\"returns true for Date\", () => {\n expect(isObject(new Date())).toBe(true)\n })\n\n it(\"returns false for null\", () => {\n expect(isObject(null)).toBe(false)\n })\n\n it(\"returns false for undefined\", () => {\n expect(isObject(undefined)).toBe(false)\n })\n\n it(\"returns false for string\", () => {\n expect(isObject(\"string\")).toBe(false)\n })\n\n it(\"returns false for number\", () => {\n expect(isObject(123)).toBe(false)\n })\n})\n\ndescribe(\"isPromise\", () => {\n it(\"returns true for Promise.resolve()\", () => {\n expect(isPromise(Promise.resolve())).toBe(true)\n })\n\n it(\"returns true for new Promise\", () => {\n expect(isPromise(new Promise(() => {}))).toBe(true)\n })\n\n it(\"returns true for thenable object\", () => {\n expect(isPromise({ then: () => {} })).toBe(true)\n })\n\n it(\"returns false for plain object\", () => {\n expect(isPromise({})).toBe(false)\n })\n\n it(\"returns false for null\", () => {\n expect(isPromise(null)).toBe(false)\n })\n})\n\ndescribe(\"isObjectType\", () => {\n it(\"returns true for matching type\", () => {\n expect(isObjectType(new Date(), Date)).toBe(true)\n })\n\n it(\"returns false for non-matching type\", () => {\n expect(isObjectType(\"hello\", Date)).toBe(false)\n })\n\n it(\"returns false for null\", () => {\n expect(isObjectType(null, Date)).toBe(false)\n })\n})\n\ndescribe(\"isString\", () => {\n it(\"returns true for hello\", () => {\n expect(isString(\"hello\")).toBe(true)\n })\n\n it(\"returns true for empty string\", () => {\n expect(isString(\"\")).toBe(true)\n })\n\n it(\"returns false for null\", () => {\n expect(isString(null)).toBe(false)\n })\n\n it(\"returns false for number\", () => {\n expect(isString(123)).toBe(false)\n })\n\n it(\"returns false for undefined\", () => {\n expect(isString(undefined)).toBe(false)\n })\n})\n\ndescribe(\"isNumber\", () => {\n it(\"returns true for 0\", () => {\n expect(isNumber(0)).toBe(true)\n })\n\n it(\"returns true for 1\", () => {\n expect(isNumber(1)).toBe(true)\n })\n\n it(\"returns true for -1\", () => {\n expect(isNumber(-1)).toBe(true)\n })\n\n it(\"returns true for 1.5\", () => {\n expect(isNumber(1.5)).toBe(true)\n })\n\n it(\"returns false for NaN\", () => {\n expect(isNumber(NaN)).toBe(false)\n })\n\n it(\"returns false for null\", () => {\n expect(isNumber(null)).toBe(false)\n })\n\n it(\"returns false for string number\", () => {\n expect(isNumber(\"1\")).toBe(false)\n })\n\n it(\"returns false for undefined\", () => {\n expect(isNumber(undefined)).toBe(false)\n })\n})\n\ndescribe(\"isFunction\", () => {\n it(\"returns true for arrow function\", () => {\n expect(isFunction(() => {})).toBe(true)\n })\n\n it(\"returns true for function expression\", () => {\n expect(\n isFunction(function () {})\n ).toBe(true)\n })\n\n it(\"returns true for class\", () => {\n expect(isFunction(class Foo {})).toBe(true)\n })\n\n it(\"returns false for null\", () => {\n expect(isFunction(null)).toBe(false)\n })\n\n it(\"returns false for object\", () => {\n expect(isFunction({})).toBe(false)\n })\n})\n\ndescribe(\"isSymbol\", () => {\n it(\"returns true for Symbol\", () => {\n expect(isSymbol(Symbol(\"test\"))).toBe(true)\n })\n\n it(\"returns false for string\", () => {\n expect(isSymbol(\"symbol\")).toBe(false)\n })\n\n it(\"returns false for null\", () => {\n expect(isSymbol(null)).toBe(false)\n })\n})\n\ndescribe(\"isBoolean\", () => {\n it(\"returns true for true\", () => {\n expect(isBoolean(true)).toBe(true)\n })\n\n it(\"returns true for false\", () => {\n expect(isBoolean(false)).toBe(true)\n })\n\n it(\"returns false for 0\", () => {\n expect(isBoolean(0)).toBe(false)\n })\n\n it(\"returns false for 1\", () => {\n expect(isBoolean(1)).toBe(false)\n })\n\n it(\"returns false for null\", () => {\n expect(isBoolean(null)).toBe(false)\n })\n\n it(\"returns false for string true\", () => {\n expect(isBoolean(\"true\")).toBe(false)\n })\n})\n\ndescribe(\"isDate\", () => {\n it(\"returns true for new Date()\", () => {\n expect(isDate(new Date())).toBe(true)\n })\n\n it(\"returns false for Date.now()\", () => {\n expect(isDate(Date.now())).toBe(false)\n })\n\n it(\"returns false for date string\", () => {\n expect(isDate(\"2024-01-01\")).toBe(false)\n })\n})\n\ndescribe(\"isPrimitive\", () => {\n it(\"returns true for boolean\", () => {\n expect(isPrimitive(true)).toBe(true)\n })\n\n it(\"returns true for string\", () => {\n expect(isPrimitive(\"hello\")).toBe(true)\n })\n\n it(\"returns true for number\", () => {\n expect(isPrimitive(42)).toBe(true)\n })\n\n it(\"returns false for object\", () => {\n expect(isPrimitive({})).toBe(false)\n })\n\n it(\"returns false for array\", () => {\n expect(isPrimitive([])).toBe(false)\n })\n\n it(\"returns false for null\", () => {\n expect(isPrimitive(null)).toBe(false)\n })\n})\n\ndescribe(\"isPrimitiveProducer\", () => {\n it(\"returns true for String constructor\", () => {\n expect(isPrimitiveProducer(String)).toBe(true)\n })\n\n it(\"returns true for Number constructor\", () => {\n expect(isPrimitiveProducer(Number)).toBe(true)\n })\n\n it(\"returns true for Boolean constructor\", () => {\n expect(isPrimitiveProducer(Boolean)).toBe(true)\n })\n\n it(\"returns false for a regular function\", () => {\n expect(isPrimitiveProducer(() => \"hello\")).toBe(false)\n })\n})\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Deferred.test.d.ts","sourceRoot":"","sources":["../../../tests/helpers/Deferred.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Deferred_1 = require("@wireio/shared/helpers/Deferred");
|
|
4
|
+
describe("Deferred", () => {
|
|
5
|
+
describe("initial state", () => {
|
|
6
|
+
it("starts in PENDING status", () => {
|
|
7
|
+
const d = new Deferred_1.Deferred();
|
|
8
|
+
expect(d.status()).toBe(Deferred_1.DeferredStatus.PENDING);
|
|
9
|
+
});
|
|
10
|
+
it("isFulfilled() is false initially", () => {
|
|
11
|
+
const d = new Deferred_1.Deferred();
|
|
12
|
+
expect(d.isFulfilled()).toBe(false);
|
|
13
|
+
});
|
|
14
|
+
it("isRejected() is false initially", () => {
|
|
15
|
+
const d = new Deferred_1.Deferred();
|
|
16
|
+
expect(d.isRejected()).toBe(false);
|
|
17
|
+
});
|
|
18
|
+
it("isSettled() is false initially", () => {
|
|
19
|
+
const d = new Deferred_1.Deferred();
|
|
20
|
+
expect(d.isSettled()).toBe(false);
|
|
21
|
+
});
|
|
22
|
+
it("isCancelled() is false initially", () => {
|
|
23
|
+
const d = new Deferred_1.Deferred();
|
|
24
|
+
expect(d.isCancelled()).toBe(false);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
describe("resolve", () => {
|
|
28
|
+
it("changes status to FULFILLED", () => {
|
|
29
|
+
const d = new Deferred_1.Deferred();
|
|
30
|
+
d.resolve(42);
|
|
31
|
+
expect(d.status()).toBe(Deferred_1.DeferredStatus.FULFILLED);
|
|
32
|
+
});
|
|
33
|
+
it("sets isFulfilled() to true", () => {
|
|
34
|
+
const d = new Deferred_1.Deferred();
|
|
35
|
+
d.resolve(42);
|
|
36
|
+
expect(d.isFulfilled()).toBe(true);
|
|
37
|
+
});
|
|
38
|
+
it("sets isSettled() to true", () => {
|
|
39
|
+
const d = new Deferred_1.Deferred();
|
|
40
|
+
d.resolve(42);
|
|
41
|
+
expect(d.isSettled()).toBe(true);
|
|
42
|
+
});
|
|
43
|
+
it("getResult() returns the resolved value", () => {
|
|
44
|
+
const d = new Deferred_1.Deferred();
|
|
45
|
+
d.resolve(42);
|
|
46
|
+
expect(d.getResult()).toBe(42);
|
|
47
|
+
});
|
|
48
|
+
it("promise resolves to the value", async () => {
|
|
49
|
+
const d = new Deferred_1.Deferred();
|
|
50
|
+
d.resolve(42);
|
|
51
|
+
await expect(d.promise).resolves.toBe(42);
|
|
52
|
+
});
|
|
53
|
+
it("subsequent resolve() is a no-op", () => {
|
|
54
|
+
const d = new Deferred_1.Deferred();
|
|
55
|
+
d.resolve(42);
|
|
56
|
+
d.resolve(99);
|
|
57
|
+
expect(d.getResult()).toBe(42);
|
|
58
|
+
});
|
|
59
|
+
it("subsequent reject() is a no-op after resolve", () => {
|
|
60
|
+
const d = new Deferred_1.Deferred();
|
|
61
|
+
d.resolve(42);
|
|
62
|
+
d.reject(new Error("fail"));
|
|
63
|
+
expect(d.isFulfilled()).toBe(true);
|
|
64
|
+
expect(d.isRejected()).toBe(false);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
describe("reject", () => {
|
|
68
|
+
it("changes status to REJECTED", () => {
|
|
69
|
+
const d = new Deferred_1.Deferred();
|
|
70
|
+
const err = new Error("oops");
|
|
71
|
+
d.reject(err);
|
|
72
|
+
// Catch the promise to avoid unhandled rejection
|
|
73
|
+
d.promise.catch(() => { });
|
|
74
|
+
expect(d.status()).toBe(Deferred_1.DeferredStatus.REJECTED);
|
|
75
|
+
});
|
|
76
|
+
it("sets isRejected() to true", () => {
|
|
77
|
+
const d = new Deferred_1.Deferred();
|
|
78
|
+
d.reject(new Error("oops"));
|
|
79
|
+
d.promise.catch(() => { });
|
|
80
|
+
expect(d.isRejected()).toBe(true);
|
|
81
|
+
});
|
|
82
|
+
it("sets isSettled() to true", () => {
|
|
83
|
+
const d = new Deferred_1.Deferred();
|
|
84
|
+
d.reject(new Error("oops"));
|
|
85
|
+
d.promise.catch(() => { });
|
|
86
|
+
expect(d.isSettled()).toBe(true);
|
|
87
|
+
});
|
|
88
|
+
it("getError() returns the error", () => {
|
|
89
|
+
const d = new Deferred_1.Deferred();
|
|
90
|
+
const err = new Error("oops");
|
|
91
|
+
d.reject(err);
|
|
92
|
+
d.promise.catch(() => { });
|
|
93
|
+
expect(d.getError()).toBe(err);
|
|
94
|
+
});
|
|
95
|
+
it("promise rejects with the error", async () => {
|
|
96
|
+
const d = new Deferred_1.Deferred();
|
|
97
|
+
const err = new Error("oops");
|
|
98
|
+
d.reject(err);
|
|
99
|
+
await expect(d.promise).rejects.toBe(err);
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
describe("cancel", () => {
|
|
103
|
+
it("sets isCancelled() to true", () => {
|
|
104
|
+
const d = new Deferred_1.Deferred();
|
|
105
|
+
d.cancel();
|
|
106
|
+
expect(d.isCancelled()).toBe(true);
|
|
107
|
+
});
|
|
108
|
+
it("sets isSettled() to true", () => {
|
|
109
|
+
const d = new Deferred_1.Deferred();
|
|
110
|
+
d.cancel();
|
|
111
|
+
expect(d.isSettled()).toBe(true);
|
|
112
|
+
});
|
|
113
|
+
it("sets status to CANCELED", () => {
|
|
114
|
+
const d = new Deferred_1.Deferred();
|
|
115
|
+
d.cancel();
|
|
116
|
+
expect(d.status()).toBe(Deferred_1.DeferredStatus.CANCELED);
|
|
117
|
+
});
|
|
118
|
+
it("resolve() is a no-op after cancel", () => {
|
|
119
|
+
const d = new Deferred_1.Deferred();
|
|
120
|
+
d.cancel();
|
|
121
|
+
d.resolve(42);
|
|
122
|
+
expect(d.isFulfilled()).toBe(false);
|
|
123
|
+
});
|
|
124
|
+
it("reject() is a no-op after cancel", () => {
|
|
125
|
+
const d = new Deferred_1.Deferred();
|
|
126
|
+
d.cancel();
|
|
127
|
+
d.reject(new Error("fail"));
|
|
128
|
+
expect(d.isRejected()).toBe(false);
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
describe("getResult() and getError() when not settled", () => {
|
|
132
|
+
it("getResult() throws when not settled", () => {
|
|
133
|
+
const d = new Deferred_1.Deferred();
|
|
134
|
+
expect(() => d.getResult()).toThrow("Deferred promise is not settled, result is not available");
|
|
135
|
+
});
|
|
136
|
+
it("getError() throws when not settled", () => {
|
|
137
|
+
const d = new Deferred_1.Deferred();
|
|
138
|
+
expect(() => d.getError()).toThrow("Deferred promise is not settled, result is not available");
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
describe("value and error getters", () => {
|
|
142
|
+
it("value getter works same as getResult()", () => {
|
|
143
|
+
const d = new Deferred_1.Deferred();
|
|
144
|
+
d.resolve(42);
|
|
145
|
+
expect(d.value).toBe(d.getResult());
|
|
146
|
+
});
|
|
147
|
+
it("error getter works same as getError()", () => {
|
|
148
|
+
const d = new Deferred_1.Deferred();
|
|
149
|
+
d.reject(new Error("oops"));
|
|
150
|
+
d.promise.catch(() => { });
|
|
151
|
+
expect(d.error).toBe(d.getError());
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
describe("static resolve", () => {
|
|
155
|
+
it("creates a pre-resolved deferred", () => {
|
|
156
|
+
const d = Deferred_1.Deferred.resolve(42);
|
|
157
|
+
expect(d.isFulfilled()).toBe(true);
|
|
158
|
+
expect(d.getResult()).toBe(42);
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
describe("static delay", () => {
|
|
162
|
+
beforeEach(() => {
|
|
163
|
+
jest.useFakeTimers();
|
|
164
|
+
});
|
|
165
|
+
afterEach(() => {
|
|
166
|
+
jest.useRealTimers();
|
|
167
|
+
});
|
|
168
|
+
it("resolves after the specified timeout", async () => {
|
|
169
|
+
let resolved = false;
|
|
170
|
+
const p = Deferred_1.Deferred.delay(1000).then(() => {
|
|
171
|
+
resolved = true;
|
|
172
|
+
});
|
|
173
|
+
expect(resolved).toBe(false);
|
|
174
|
+
jest.advanceTimersByTime(1000);
|
|
175
|
+
await p;
|
|
176
|
+
expect(resolved).toBe(true);
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
describe("constructor with existing promise", () => {
|
|
180
|
+
it("resolves when the provided promise resolves", async () => {
|
|
181
|
+
const p = Promise.resolve(42);
|
|
182
|
+
const d = new Deferred_1.Deferred(p);
|
|
183
|
+
await expect(d.promise).resolves.toBe(42);
|
|
184
|
+
});
|
|
185
|
+
it("rejects when the provided promise rejects", async () => {
|
|
186
|
+
const err = new Error("fail");
|
|
187
|
+
const p = Promise.reject(err);
|
|
188
|
+
const d = new Deferred_1.Deferred(p);
|
|
189
|
+
await expect(d.promise).rejects.toBe(err);
|
|
190
|
+
});
|
|
191
|
+
it("throws when given an invalid argument", () => {
|
|
192
|
+
expect(() => new Deferred_1.Deferred("not a promise")).toThrow("An existing promise was provided to Deferred constructor, but it wasn't a valid promise");
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
//# sourceMappingURL=Deferred.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Deferred.test.js","sourceRoot":"","sources":["../../../tests/helpers/Deferred.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Deferred, DeferredStatus } from \"@wireio/shared/helpers/Deferred\"\n\ndescribe(\"Deferred\", () => {\n describe(\"initial state\", () => {\n it(\"starts in PENDING status\", () => {\n const d = new Deferred()\n expect(d.status()).toBe(DeferredStatus.PENDING)\n })\n\n it(\"isFulfilled() is false initially\", () => {\n const d = new Deferred()\n expect(d.isFulfilled()).toBe(false)\n })\n\n it(\"isRejected() is false initially\", () => {\n const d = new Deferred()\n expect(d.isRejected()).toBe(false)\n })\n\n it(\"isSettled() is false initially\", () => {\n const d = new Deferred()\n expect(d.isSettled()).toBe(false)\n })\n\n it(\"isCancelled() is false initially\", () => {\n const d = new Deferred()\n expect(d.isCancelled()).toBe(false)\n })\n })\n\n describe(\"resolve\", () => {\n it(\"changes status to FULFILLED\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.status()).toBe(DeferredStatus.FULFILLED)\n })\n\n it(\"sets isFulfilled() to true\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.isFulfilled()).toBe(true)\n })\n\n it(\"sets isSettled() to true\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.isSettled()).toBe(true)\n })\n\n it(\"getResult() returns the resolved value\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.getResult()).toBe(42)\n })\n\n it(\"promise resolves to the value\", async () => {\n const d = new Deferred<number>()\n d.resolve(42)\n await expect(d.promise).resolves.toBe(42)\n })\n\n it(\"subsequent resolve() is a no-op\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n d.resolve(99)\n expect(d.getResult()).toBe(42)\n })\n\n it(\"subsequent reject() is a no-op after resolve\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n d.reject(new Error(\"fail\"))\n expect(d.isFulfilled()).toBe(true)\n expect(d.isRejected()).toBe(false)\n })\n })\n\n describe(\"reject\", () => {\n it(\"changes status to REJECTED\", () => {\n const d = new Deferred<number>()\n const err = new Error(\"oops\")\n d.reject(err)\n // Catch the promise to avoid unhandled rejection\n d.promise.catch(() => {})\n expect(d.status()).toBe(DeferredStatus.REJECTED)\n })\n\n it(\"sets isRejected() to true\", () => {\n const d = new Deferred<number>()\n d.reject(new Error(\"oops\"))\n d.promise.catch(() => {})\n expect(d.isRejected()).toBe(true)\n })\n\n it(\"sets isSettled() to true\", () => {\n const d = new Deferred<number>()\n d.reject(new Error(\"oops\"))\n d.promise.catch(() => {})\n expect(d.isSettled()).toBe(true)\n })\n\n it(\"getError() returns the error\", () => {\n const d = new Deferred<number>()\n const err = new Error(\"oops\")\n d.reject(err)\n d.promise.catch(() => {})\n expect(d.getError()).toBe(err)\n })\n\n it(\"promise rejects with the error\", async () => {\n const d = new Deferred<number>()\n const err = new Error(\"oops\")\n d.reject(err)\n await expect(d.promise).rejects.toBe(err)\n })\n })\n\n describe(\"cancel\", () => {\n it(\"sets isCancelled() to true\", () => {\n const d = new Deferred<number>()\n d.cancel()\n expect(d.isCancelled()).toBe(true)\n })\n\n it(\"sets isSettled() to true\", () => {\n const d = new Deferred<number>()\n d.cancel()\n expect(d.isSettled()).toBe(true)\n })\n\n it(\"sets status to CANCELED\", () => {\n const d = new Deferred<number>()\n d.cancel()\n expect(d.status()).toBe(DeferredStatus.CANCELED)\n })\n\n it(\"resolve() is a no-op after cancel\", () => {\n const d = new Deferred<number>()\n d.cancel()\n d.resolve(42)\n expect(d.isFulfilled()).toBe(false)\n })\n\n it(\"reject() is a no-op after cancel\", () => {\n const d = new Deferred<number>()\n d.cancel()\n d.reject(new Error(\"fail\"))\n expect(d.isRejected()).toBe(false)\n })\n })\n\n describe(\"getResult() and getError() when not settled\", () => {\n it(\"getResult() throws when not settled\", () => {\n const d = new Deferred<number>()\n expect(() => d.getResult()).toThrow(\n \"Deferred promise is not settled, result is not available\"\n )\n })\n\n it(\"getError() throws when not settled\", () => {\n const d = new Deferred<number>()\n expect(() => d.getError()).toThrow(\n \"Deferred promise is not settled, result is not available\"\n )\n })\n })\n\n describe(\"value and error getters\", () => {\n it(\"value getter works same as getResult()\", () => {\n const d = new Deferred<number>()\n d.resolve(42)\n expect(d.value).toBe(d.getResult())\n })\n\n it(\"error getter works same as getError()\", () => {\n const d = new Deferred<number>()\n d.reject(new Error(\"oops\"))\n d.promise.catch(() => {})\n expect(d.error).toBe(d.getError())\n })\n })\n\n describe(\"static resolve\", () => {\n it(\"creates a pre-resolved deferred\", () => {\n const d = Deferred.resolve(42)\n expect(d.isFulfilled()).toBe(true)\n expect(d.getResult()).toBe(42)\n })\n })\n\n describe(\"static delay\", () => {\n beforeEach(() => {\n jest.useFakeTimers()\n })\n\n afterEach(() => {\n jest.useRealTimers()\n })\n\n it(\"resolves after the specified timeout\", async () => {\n let resolved = false\n const p = Deferred.delay(1000).then(() => {\n resolved = true\n })\n\n expect(resolved).toBe(false)\n jest.advanceTimersByTime(1000)\n await p\n expect(resolved).toBe(true)\n })\n })\n\n describe(\"constructor with existing promise\", () => {\n it(\"resolves when the provided promise resolves\", async () => {\n const p = Promise.resolve(42)\n const d = new Deferred<number>(p)\n await expect(d.promise).resolves.toBe(42)\n })\n\n it(\"rejects when the provided promise rejects\", async () => {\n const err = new Error(\"fail\")\n const p = Promise.reject(err)\n const d = new Deferred<number>(p)\n await expect(d.promise).rejects.toBe(err)\n })\n\n it(\"throws when given an invalid argument\", () => {\n expect(() => new Deferred(\"not a promise\" as any)).toThrow(\n \"An existing promise was provided to Deferred constructor, but it wasn't a valid promise\"\n )\n })\n })\n})\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleAppender.test.d.ts","sourceRoot":"","sources":["../../../tests/logging/ConsoleAppender.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const ConsoleAppender_1 = require("@wireio/shared/logging/appenders/ConsoleAppender");
|
|
4
|
+
const Level_1 = require("@wireio/shared/logging/Level");
|
|
5
|
+
describe("consoleFormatter", () => {
|
|
6
|
+
it("formats a LogRecord into an array containing category, level, and message", () => {
|
|
7
|
+
const record = {
|
|
8
|
+
timestamp: Date.now(),
|
|
9
|
+
category: "testCat",
|
|
10
|
+
level: Level_1.Level.info,
|
|
11
|
+
message: "hello world",
|
|
12
|
+
args: ["extra"]
|
|
13
|
+
};
|
|
14
|
+
const result = (0, ConsoleAppender_1.consoleFormatter)(record);
|
|
15
|
+
expect(Array.isArray(result)).toBe(true);
|
|
16
|
+
expect(result[0]).toContain("testCat");
|
|
17
|
+
expect(result[0]).toContain("info");
|
|
18
|
+
expect(result[0]).toContain("hello world");
|
|
19
|
+
expect(result).toContain("extra");
|
|
20
|
+
});
|
|
21
|
+
it("handles undefined args gracefully", () => {
|
|
22
|
+
const record = {
|
|
23
|
+
timestamp: Date.now(),
|
|
24
|
+
category: "cat",
|
|
25
|
+
level: Level_1.Level.warn,
|
|
26
|
+
message: "msg",
|
|
27
|
+
args: undefined
|
|
28
|
+
};
|
|
29
|
+
const result = (0, ConsoleAppender_1.consoleFormatter)(record);
|
|
30
|
+
expect(Array.isArray(result)).toBe(true);
|
|
31
|
+
expect(result[0]).toContain("msg");
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
describe("ConsoleAppender", () => {
|
|
35
|
+
it("calls console methods when append is called", () => {
|
|
36
|
+
const spy = jest.spyOn(console, "info").mockImplementation(() => { });
|
|
37
|
+
const appender = new ConsoleAppender_1.ConsoleAppender();
|
|
38
|
+
const record = {
|
|
39
|
+
timestamp: Date.now(),
|
|
40
|
+
category: "test",
|
|
41
|
+
level: Level_1.Level.info,
|
|
42
|
+
message: "test message",
|
|
43
|
+
args: []
|
|
44
|
+
};
|
|
45
|
+
appender.append(record);
|
|
46
|
+
expect(spy).toHaveBeenCalled();
|
|
47
|
+
spy.mockRestore();
|
|
48
|
+
});
|
|
49
|
+
it("falls back to console.log for unknown levels", () => {
|
|
50
|
+
const spy = jest.spyOn(console, "log").mockImplementation(() => { });
|
|
51
|
+
const appender = new ConsoleAppender_1.ConsoleAppender();
|
|
52
|
+
const record = {
|
|
53
|
+
timestamp: Date.now(),
|
|
54
|
+
category: "test",
|
|
55
|
+
level: "fatal",
|
|
56
|
+
message: "fatal message",
|
|
57
|
+
args: []
|
|
58
|
+
};
|
|
59
|
+
appender.append(record);
|
|
60
|
+
expect(spy).toHaveBeenCalled();
|
|
61
|
+
spy.mockRestore();
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe("getConsoleLogBinding", () => {
|
|
65
|
+
it("returns console.log for trace", () => {
|
|
66
|
+
const fn = (0, ConsoleAppender_1.getConsoleLogBinding)("trace");
|
|
67
|
+
expect(typeof fn).toBe("function");
|
|
68
|
+
});
|
|
69
|
+
it("returns console.debug for debug", () => {
|
|
70
|
+
const fn = (0, ConsoleAppender_1.getConsoleLogBinding)("debug");
|
|
71
|
+
expect(typeof fn).toBe("function");
|
|
72
|
+
});
|
|
73
|
+
it("returns console.info for info", () => {
|
|
74
|
+
const fn = (0, ConsoleAppender_1.getConsoleLogBinding)("info");
|
|
75
|
+
expect(typeof fn).toBe("function");
|
|
76
|
+
});
|
|
77
|
+
it("returns console.warn for warn", () => {
|
|
78
|
+
const fn = (0, ConsoleAppender_1.getConsoleLogBinding)("warn");
|
|
79
|
+
expect(typeof fn).toBe("function");
|
|
80
|
+
});
|
|
81
|
+
it("returns console.error for error", () => {
|
|
82
|
+
const fn = (0, ConsoleAppender_1.getConsoleLogBinding)("error");
|
|
83
|
+
expect(typeof fn).toBe("function");
|
|
84
|
+
});
|
|
85
|
+
it("returns a function for fatal (falls back to console.log)", () => {
|
|
86
|
+
const fn = (0, ConsoleAppender_1.getConsoleLogBinding)("fatal");
|
|
87
|
+
expect(typeof fn).toBe("function");
|
|
88
|
+
});
|
|
89
|
+
it("caches bindings on repeated calls", () => {
|
|
90
|
+
const fn1 = (0, ConsoleAppender_1.getConsoleLogBinding)("info");
|
|
91
|
+
const fn2 = (0, ConsoleAppender_1.getConsoleLogBinding)("info");
|
|
92
|
+
expect(fn1).toBe(fn2);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=ConsoleAppender.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleAppender.test.js","sourceRoot":"","sources":["../../../tests/logging/ConsoleAppender.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ConsoleAppender,\n consoleFormatter,\n getConsoleLogBinding\n} from \"@wireio/shared/logging/appenders/ConsoleAppender\"\nimport { Level } from \"@wireio/shared/logging/Level\"\nimport type { LogRecord } from \"@wireio/shared/logging/LogRecord\"\n\ndescribe(\"consoleFormatter\", () => {\n it(\"formats a LogRecord into an array containing category, level, and message\", () => {\n const record: LogRecord = {\n timestamp: Date.now(),\n category: \"testCat\",\n level: Level.info,\n message: \"hello world\",\n args: [\"extra\"]\n }\n\n const result = consoleFormatter(record)\n expect(Array.isArray(result)).toBe(true)\n expect(result[0]).toContain(\"testCat\")\n expect(result[0]).toContain(\"info\")\n expect(result[0]).toContain(\"hello world\")\n expect(result).toContain(\"extra\")\n })\n\n it(\"handles undefined args gracefully\", () => {\n const record: LogRecord = {\n timestamp: Date.now(),\n category: \"cat\",\n level: Level.warn,\n message: \"msg\",\n args: undefined\n }\n\n const result = consoleFormatter(record)\n expect(Array.isArray(result)).toBe(true)\n expect(result[0]).toContain(\"msg\")\n })\n})\n\ndescribe(\"ConsoleAppender\", () => {\n it(\"calls console methods when append is called\", () => {\n const spy = jest.spyOn(console, \"info\").mockImplementation(() => {})\n const appender = new ConsoleAppender()\n\n const record = {\n timestamp: Date.now(),\n category: \"test\",\n level: Level.info,\n message: \"test message\",\n args: []\n } as LogRecord\n\n appender.append(record)\n expect(spy).toHaveBeenCalled()\n spy.mockRestore()\n })\n\n it(\"falls back to console.log for unknown levels\", () => {\n const spy = jest.spyOn(console, \"log\").mockImplementation(() => {})\n const appender = new ConsoleAppender()\n\n const record = {\n timestamp: Date.now(),\n category: \"test\",\n level: \"fatal\" as any,\n message: \"fatal message\",\n args: []\n } as LogRecord\n\n appender.append(record)\n expect(spy).toHaveBeenCalled()\n spy.mockRestore()\n })\n})\n\ndescribe(\"getConsoleLogBinding\", () => {\n it(\"returns console.log for trace\", () => {\n const fn = getConsoleLogBinding(\"trace\")\n expect(typeof fn).toBe(\"function\")\n })\n\n it(\"returns console.debug for debug\", () => {\n const fn = getConsoleLogBinding(\"debug\")\n expect(typeof fn).toBe(\"function\")\n })\n\n it(\"returns console.info for info\", () => {\n const fn = getConsoleLogBinding(\"info\")\n expect(typeof fn).toBe(\"function\")\n })\n\n it(\"returns console.warn for warn\", () => {\n const fn = getConsoleLogBinding(\"warn\")\n expect(typeof fn).toBe(\"function\")\n })\n\n it(\"returns console.error for error\", () => {\n const fn = getConsoleLogBinding(\"error\")\n expect(typeof fn).toBe(\"function\")\n })\n\n it(\"returns a function for fatal (falls back to console.log)\", () => {\n const fn = getConsoleLogBinding(\"fatal\")\n expect(typeof fn).toBe(\"function\")\n })\n\n it(\"caches bindings on repeated calls\", () => {\n const fn1 = getConsoleLogBinding(\"info\")\n const fn2 = getConsoleLogBinding(\"info\")\n expect(fn1).toBe(fn2)\n })\n})\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Level.test.d.ts","sourceRoot":"","sources":["../../../tests/logging/Level.test.ts"],"names":[],"mappings":""}
|