@matter/general 0.11.0-alpha.0-20241005-e3e4e4a7a
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/LICENSE +201 -0
- package/README.md +3 -0
- package/dist/cjs/MatterError.d.ts +95 -0
- package/dist/cjs/MatterError.d.ts.map +1 -0
- package/dist/cjs/MatterError.js +177 -0
- package/dist/cjs/MatterError.js.map +6 -0
- package/dist/cjs/codec/Base64Codec.d.ts +23 -0
- package/dist/cjs/codec/Base64Codec.d.ts.map +1 -0
- package/dist/cjs/codec/Base64Codec.js +134 -0
- package/dist/cjs/codec/Base64Codec.js.map +6 -0
- package/dist/cjs/codec/DerCodec.d.ts +83 -0
- package/dist/cjs/codec/DerCodec.d.ts.map +1 -0
- package/dist/cjs/codec/DerCodec.js +286 -0
- package/dist/cjs/codec/DerCodec.js.map +6 -0
- package/dist/cjs/codec/DerTypes.d.ts +73 -0
- package/dist/cjs/codec/DerTypes.d.ts.map +1 -0
- package/dist/cjs/codec/DerTypes.js +132 -0
- package/dist/cjs/codec/DerTypes.js.map +6 -0
- package/dist/cjs/codec/DnsCodec.d.ts +86 -0
- package/dist/cjs/codec/DnsCodec.d.ts.map +1 -0
- package/dist/cjs/codec/DnsCodec.js +355 -0
- package/dist/cjs/codec/DnsCodec.js.map +6 -0
- package/dist/cjs/codec/index.d.ts +10 -0
- package/dist/cjs/codec/index.d.ts.map +1 -0
- package/dist/cjs/codec/index.js +27 -0
- package/dist/cjs/codec/index.js.map +6 -0
- package/dist/cjs/crypto/Crypto.d.ts +169 -0
- package/dist/cjs/crypto/Crypto.d.ts.map +1 -0
- package/dist/cjs/crypto/Crypto.js +103 -0
- package/dist/cjs/crypto/Crypto.js.map +6 -0
- package/dist/cjs/crypto/CryptoConstants.d.ts +19 -0
- package/dist/cjs/crypto/CryptoConstants.d.ts.map +1 -0
- package/dist/cjs/crypto/CryptoConstants.js +48 -0
- package/dist/cjs/crypto/CryptoConstants.js.map +6 -0
- package/dist/cjs/crypto/Key.d.ts +171 -0
- package/dist/cjs/crypto/Key.d.ts.map +1 -0
- package/dist/cjs/crypto/Key.js +356 -0
- package/dist/cjs/crypto/Key.js.map +6 -0
- package/dist/cjs/crypto/Spake2p.d.ts +40 -0
- package/dist/cjs/crypto/Spake2p.d.ts.map +1 -0
- package/dist/cjs/crypto/Spake2p.js +128 -0
- package/dist/cjs/crypto/Spake2p.js.map +6 -0
- package/dist/cjs/crypto/index.d.ts +10 -0
- package/dist/cjs/crypto/index.d.ts.map +1 -0
- package/dist/cjs/crypto/index.js +27 -0
- package/dist/cjs/crypto/index.js.map +6 -0
- package/dist/cjs/environment/Environment.d.ts +96 -0
- package/dist/cjs/environment/Environment.d.ts.map +1 -0
- package/dist/cjs/environment/Environment.js +199 -0
- package/dist/cjs/environment/Environment.js.map +6 -0
- package/dist/cjs/environment/Environmental.d.ts +52 -0
- package/dist/cjs/environment/Environmental.d.ts.map +1 -0
- package/dist/cjs/environment/Environmental.js +33 -0
- package/dist/cjs/environment/Environmental.js.map +6 -0
- package/dist/cjs/environment/RuntimeService.d.ts +107 -0
- package/dist/cjs/environment/RuntimeService.d.ts.map +1 -0
- package/dist/cjs/environment/RuntimeService.js +222 -0
- package/dist/cjs/environment/RuntimeService.js.map +6 -0
- package/dist/cjs/environment/VariableService.d.ts +58 -0
- package/dist/cjs/environment/VariableService.d.ts.map +1 -0
- package/dist/cjs/environment/VariableService.js +257 -0
- package/dist/cjs/environment/VariableService.js.map +6 -0
- package/dist/cjs/environment/index.d.ts +10 -0
- package/dist/cjs/environment/index.d.ts.map +1 -0
- package/dist/cjs/environment/index.js +27 -0
- package/dist/cjs/environment/index.js.map +6 -0
- package/dist/cjs/index.d.ts +17 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +34 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/log/Diagnostic.d.ts +140 -0
- package/dist/cjs/log/Diagnostic.d.ts.map +1 -0
- package/dist/cjs/log/Diagnostic.js +297 -0
- package/dist/cjs/log/Diagnostic.js.map +6 -0
- package/dist/cjs/log/DiagnosticSource.d.ts +16 -0
- package/dist/cjs/log/DiagnosticSource.d.ts.map +1 -0
- package/dist/cjs/log/DiagnosticSource.js +45 -0
- package/dist/cjs/log/DiagnosticSource.js.map +6 -0
- package/dist/cjs/log/LogFormat.d.ts +33 -0
- package/dist/cjs/log/LogFormat.d.ts.map +1 -0
- package/dist/cjs/log/LogFormat.js +503 -0
- package/dist/cjs/log/LogFormat.js.map +6 -0
- package/dist/cjs/log/LogLevel.d.ts +18 -0
- package/dist/cjs/log/LogLevel.d.ts.map +1 -0
- package/dist/cjs/log/LogLevel.js +57 -0
- package/dist/cjs/log/LogLevel.js.map +6 -0
- package/dist/cjs/log/Logger.d.ts +220 -0
- package/dist/cjs/log/Logger.d.ts.map +1 -0
- package/dist/cjs/log/Logger.js +401 -0
- package/dist/cjs/log/Logger.js.map +6 -0
- package/dist/cjs/log/index.d.ts +11 -0
- package/dist/cjs/log/index.d.ts.map +1 -0
- package/dist/cjs/log/index.js +28 -0
- package/dist/cjs/log/index.js.map +6 -0
- package/dist/cjs/math/ReedSolomon.d.ts +11 -0
- package/dist/cjs/math/ReedSolomon.d.ts.map +1 -0
- package/dist/cjs/math/ReedSolomon.js +109 -0
- package/dist/cjs/math/ReedSolomon.js.map +6 -0
- package/dist/cjs/math/Verhoeff.d.ts +17 -0
- package/dist/cjs/math/Verhoeff.d.ts.map +1 -0
- package/dist/cjs/math/Verhoeff.js +64 -0
- package/dist/cjs/math/Verhoeff.js.map +6 -0
- package/dist/cjs/math/index.d.ts +8 -0
- package/dist/cjs/math/index.d.ts.map +1 -0
- package/dist/cjs/math/index.js +25 -0
- package/dist/cjs/math/index.js.map +6 -0
- package/dist/cjs/net/Channel.d.ts +24 -0
- package/dist/cjs/net/Channel.d.ts.map +1 -0
- package/dist/cjs/net/Channel.js +35 -0
- package/dist/cjs/net/Channel.js.map +6 -0
- package/dist/cjs/net/NetInterface.d.ts +24 -0
- package/dist/cjs/net/NetInterface.d.ts.map +1 -0
- package/dist/cjs/net/NetInterface.js +42 -0
- package/dist/cjs/net/NetInterface.js.map +6 -0
- package/dist/cjs/net/Network.d.ts +54 -0
- package/dist/cjs/net/Network.d.ts.map +1 -0
- package/dist/cjs/net/Network.js +50 -0
- package/dist/cjs/net/Network.js.map +6 -0
- package/dist/cjs/net/ServerAddress.d.ts +17 -0
- package/dist/cjs/net/ServerAddress.d.ts.map +1 -0
- package/dist/cjs/net/ServerAddress.js +32 -0
- package/dist/cjs/net/ServerAddress.js.map +6 -0
- package/dist/cjs/net/TransportInterface.d.ts +40 -0
- package/dist/cjs/net/TransportInterface.d.ts.map +1 -0
- package/dist/cjs/net/TransportInterface.js +55 -0
- package/dist/cjs/net/TransportInterface.js.map +6 -0
- package/dist/cjs/net/UdpChannel.d.ts +25 -0
- package/dist/cjs/net/UdpChannel.d.ts.map +1 -0
- package/dist/cjs/net/UdpChannel.js +30 -0
- package/dist/cjs/net/UdpChannel.js.map +6 -0
- package/dist/cjs/net/UdpInterface.d.ts +35 -0
- package/dist/cjs/net/UdpInterface.d.ts.map +1 -0
- package/dist/cjs/net/UdpInterface.js +82 -0
- package/dist/cjs/net/UdpInterface.js.map +6 -0
- package/dist/cjs/net/UdpMulticastServer.d.ts +30 -0
- package/dist/cjs/net/UdpMulticastServer.d.ts.map +1 -0
- package/dist/cjs/net/UdpMulticastServer.js +133 -0
- package/dist/cjs/net/UdpMulticastServer.js.map +6 -0
- package/dist/cjs/net/index.d.ts +17 -0
- package/dist/cjs/net/index.d.ts.map +1 -0
- package/dist/cjs/net/index.js +34 -0
- package/dist/cjs/net/index.js.map +6 -0
- package/dist/cjs/net/mock/MockNetwork.d.ts +19 -0
- package/dist/cjs/net/mock/MockNetwork.d.ts.map +1 -0
- package/dist/cjs/net/mock/MockNetwork.js +56 -0
- package/dist/cjs/net/mock/MockNetwork.js.map +6 -0
- package/dist/cjs/net/mock/MockUdpChannel.d.ts +27 -0
- package/dist/cjs/net/mock/MockUdpChannel.d.ts.map +1 -0
- package/dist/cjs/net/mock/MockUdpChannel.js +76 -0
- package/dist/cjs/net/mock/MockUdpChannel.js.map +6 -0
- package/dist/cjs/net/mock/NetworkSimulator.d.ts +18 -0
- package/dist/cjs/net/mock/NetworkSimulator.d.ts.map +1 -0
- package/dist/cjs/net/mock/NetworkSimulator.js +73 -0
- package/dist/cjs/net/mock/NetworkSimulator.js.map +6 -0
- package/dist/cjs/package.json +6 -0
- package/dist/cjs/polyfills/disposable.d.ts +7 -0
- package/dist/cjs/polyfills/disposable.d.ts.map +1 -0
- package/dist/cjs/polyfills/disposable.js +19 -0
- package/dist/cjs/polyfills/disposable.js.map +6 -0
- package/dist/cjs/polyfills/index.d.ts +7 -0
- package/dist/cjs/polyfills/index.d.ts.map +1 -0
- package/dist/cjs/polyfills/index.js +8 -0
- package/dist/cjs/polyfills/index.js.map +6 -0
- package/dist/cjs/storage/Storage.d.ts +54 -0
- package/dist/cjs/storage/Storage.d.ts.map +1 -0
- package/dist/cjs/storage/Storage.js +38 -0
- package/dist/cjs/storage/Storage.js.map +6 -0
- package/dist/cjs/storage/StorageBackendMemory.d.ts +27 -0
- package/dist/cjs/storage/StorageBackendMemory.d.ts.map +1 -0
- package/dist/cjs/storage/StorageBackendMemory.js +131 -0
- package/dist/cjs/storage/StorageBackendMemory.js.map +6 -0
- package/dist/cjs/storage/StorageContext.d.ts +26 -0
- package/dist/cjs/storage/StorageContext.d.ts.map +1 -0
- package/dist/cjs/storage/StorageContext.js +117 -0
- package/dist/cjs/storage/StorageContext.js.map +6 -0
- package/dist/cjs/storage/StorageManager.d.ts +17 -0
- package/dist/cjs/storage/StorageManager.d.ts.map +1 -0
- package/dist/cjs/storage/StorageManager.js +59 -0
- package/dist/cjs/storage/StorageManager.js.map +6 -0
- package/dist/cjs/storage/StorageService.d.ts +35 -0
- package/dist/cjs/storage/StorageService.d.ts.map +1 -0
- package/dist/cjs/storage/StorageService.js +82 -0
- package/dist/cjs/storage/StorageService.js.map +6 -0
- package/dist/cjs/storage/StringifyTools.d.ts +16 -0
- package/dist/cjs/storage/StringifyTools.d.ts.map +1 -0
- package/dist/cjs/storage/StringifyTools.js +105 -0
- package/dist/cjs/storage/StringifyTools.js.map +6 -0
- package/dist/cjs/storage/index.d.ts +12 -0
- package/dist/cjs/storage/index.d.ts.map +1 -0
- package/dist/cjs/storage/index.js +29 -0
- package/dist/cjs/storage/index.js.map +6 -0
- package/dist/cjs/time/Time.d.ts +66 -0
- package/dist/cjs/time/Time.d.ts.map +1 -0
- package/dist/cjs/time/Time.js +137 -0
- package/dist/cjs/time/Time.js.map +6 -0
- package/dist/cjs/time/index.d.ts +7 -0
- package/dist/cjs/time/index.d.ts.map +1 -0
- package/dist/cjs/time/index.js +24 -0
- package/dist/cjs/time/index.js.map +6 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/cjs/util/Array.d.ts +12 -0
- package/dist/cjs/util/Array.d.ts.map +1 -0
- package/dist/cjs/util/Array.js +24 -0
- package/dist/cjs/util/Array.js.map +6 -0
- package/dist/cjs/util/Bytes.d.ts +23 -0
- package/dist/cjs/util/Bytes.d.ts.map +1 -0
- package/dist/cjs/util/Bytes.js +95 -0
- package/dist/cjs/util/Bytes.js.map +6 -0
- package/dist/cjs/util/Cache.d.ts +33 -0
- package/dist/cjs/util/Cache.d.ts.map +1 -0
- package/dist/cjs/util/Cache.js +114 -0
- package/dist/cjs/util/Cache.js.map +6 -0
- package/dist/cjs/util/Construction.d.ts +182 -0
- package/dist/cjs/util/Construction.d.ts.map +1 -0
- package/dist/cjs/util/Construction.js +417 -0
- package/dist/cjs/util/Construction.js.map +6 -0
- package/dist/cjs/util/DataReadQueue.d.ts +17 -0
- package/dist/cjs/util/DataReadQueue.d.ts.map +1 -0
- package/dist/cjs/util/DataReadQueue.js +76 -0
- package/dist/cjs/util/DataReadQueue.js.map +6 -0
- package/dist/cjs/util/DataReader.d.ts +32 -0
- package/dist/cjs/util/DataReader.d.ts.map +1 -0
- package/dist/cjs/util/DataReader.js +101 -0
- package/dist/cjs/util/DataReader.js.map +6 -0
- package/dist/cjs/util/DataWriter.d.ts +26 -0
- package/dist/cjs/util/DataWriter.d.ts.map +1 -0
- package/dist/cjs/util/DataWriter.js +114 -0
- package/dist/cjs/util/DataWriter.js.map +6 -0
- package/dist/cjs/util/DeepCopy.d.ts +12 -0
- package/dist/cjs/util/DeepCopy.d.ts.map +1 -0
- package/dist/cjs/util/DeepCopy.js +58 -0
- package/dist/cjs/util/DeepCopy.js.map +6 -0
- package/dist/cjs/util/DeepEqual.d.ts +7 -0
- package/dist/cjs/util/DeepEqual.d.ts.map +1 -0
- package/dist/cjs/util/DeepEqual.js +55 -0
- package/dist/cjs/util/DeepEqual.js.map +6 -0
- package/dist/cjs/util/Error.d.ts +12 -0
- package/dist/cjs/util/Error.d.ts.map +1 -0
- package/dist/cjs/util/Error.js +41 -0
- package/dist/cjs/util/Error.js.map +6 -0
- package/dist/cjs/util/GeneratedClass.d.ts +62 -0
- package/dist/cjs/util/GeneratedClass.d.ts.map +1 -0
- package/dist/cjs/util/GeneratedClass.js +117 -0
- package/dist/cjs/util/GeneratedClass.js.map +6 -0
- package/dist/cjs/util/Introspection.d.ts +38 -0
- package/dist/cjs/util/Introspection.d.ts.map +1 -0
- package/dist/cjs/util/Introspection.js +85 -0
- package/dist/cjs/util/Introspection.js.map +6 -0
- package/dist/cjs/util/Ip.d.ts +8 -0
- package/dist/cjs/util/Ip.d.ts.map +1 -0
- package/dist/cjs/util/Ip.js +90 -0
- package/dist/cjs/util/Ip.js.map +6 -0
- package/dist/cjs/util/Lifecycle.d.ts +97 -0
- package/dist/cjs/util/Lifecycle.d.ts.map +1 -0
- package/dist/cjs/util/Lifecycle.js +89 -0
- package/dist/cjs/util/Lifecycle.js.map +6 -0
- package/dist/cjs/util/Multiplex.d.ts +14 -0
- package/dist/cjs/util/Multiplex.d.ts.map +1 -0
- package/dist/cjs/util/Multiplex.js +22 -0
- package/dist/cjs/util/Multiplex.js.map +6 -0
- package/dist/cjs/util/Mutex.d.ts +34 -0
- package/dist/cjs/util/Mutex.d.ts.map +1 -0
- package/dist/cjs/util/Mutex.js +105 -0
- package/dist/cjs/util/Mutex.js.map +6 -0
- package/dist/cjs/util/NamedHandler.d.ts +21 -0
- package/dist/cjs/util/NamedHandler.d.ts.map +1 -0
- package/dist/cjs/util/NamedHandler.js +54 -0
- package/dist/cjs/util/NamedHandler.js.map +6 -0
- package/dist/cjs/util/Number.d.ts +37 -0
- package/dist/cjs/util/Number.d.ts.map +1 -0
- package/dist/cjs/util/Number.js +97 -0
- package/dist/cjs/util/Number.js.map +6 -0
- package/dist/cjs/util/Observable.d.ts +197 -0
- package/dist/cjs/util/Observable.d.ts.map +1 -0
- package/dist/cjs/util/Observable.js +340 -0
- package/dist/cjs/util/Observable.js.map +6 -0
- package/dist/cjs/util/PromiseQueue.d.ts +25 -0
- package/dist/cjs/util/PromiseQueue.d.ts.map +1 -0
- package/dist/cjs/util/PromiseQueue.js +107 -0
- package/dist/cjs/util/PromiseQueue.js.map +6 -0
- package/dist/cjs/util/Promises.d.ts +68 -0
- package/dist/cjs/util/Promises.d.ts.map +1 -0
- package/dist/cjs/util/Promises.js +199 -0
- package/dist/cjs/util/Promises.js.map +6 -0
- package/dist/cjs/util/Set.d.ts +60 -0
- package/dist/cjs/util/Set.d.ts.map +1 -0
- package/dist/cjs/util/Set.js +145 -0
- package/dist/cjs/util/Set.js.map +6 -0
- package/dist/cjs/util/Singleton.d.ts +7 -0
- package/dist/cjs/util/Singleton.d.ts.map +1 -0
- package/dist/cjs/util/Singleton.js +36 -0
- package/dist/cjs/util/Singleton.js.map +6 -0
- package/dist/cjs/util/Stream.d.ts +16 -0
- package/dist/cjs/util/Stream.d.ts.map +1 -0
- package/dist/cjs/util/Stream.js +38 -0
- package/dist/cjs/util/Stream.js.map +6 -0
- package/dist/cjs/util/String.d.ts +39 -0
- package/dist/cjs/util/String.d.ts.map +1 -0
- package/dist/cjs/util/String.js +208 -0
- package/dist/cjs/util/String.js.map +6 -0
- package/dist/cjs/util/Type.d.ts +84 -0
- package/dist/cjs/util/Type.d.ts.map +1 -0
- package/dist/cjs/util/Type.js +52 -0
- package/dist/cjs/util/Type.js.map +6 -0
- package/dist/cjs/util/index.d.ts +30 -0
- package/dist/cjs/util/index.d.ts.map +1 -0
- package/dist/cjs/util/index.js +47 -0
- package/dist/cjs/util/index.js.map +6 -0
- package/dist/esm/MatterError.d.ts +95 -0
- package/dist/esm/MatterError.d.ts.map +1 -0
- package/dist/esm/MatterError.js +157 -0
- package/dist/esm/MatterError.js.map +6 -0
- package/dist/esm/codec/Base64Codec.d.ts +23 -0
- package/dist/esm/codec/Base64Codec.d.ts.map +1 -0
- package/dist/esm/codec/Base64Codec.js +114 -0
- package/dist/esm/codec/Base64Codec.js.map +6 -0
- package/dist/esm/codec/DerCodec.d.ts +83 -0
- package/dist/esm/codec/DerCodec.d.ts.map +1 -0
- package/dist/esm/codec/DerCodec.js +266 -0
- package/dist/esm/codec/DerCodec.js.map +6 -0
- package/dist/esm/codec/DerTypes.d.ts +73 -0
- package/dist/esm/codec/DerTypes.d.ts.map +1 -0
- package/dist/esm/codec/DerTypes.js +122 -0
- package/dist/esm/codec/DerTypes.js.map +6 -0
- package/dist/esm/codec/DnsCodec.d.ts +86 -0
- package/dist/esm/codec/DnsCodec.d.ts.map +1 -0
- package/dist/esm/codec/DnsCodec.js +335 -0
- package/dist/esm/codec/DnsCodec.js.map +6 -0
- package/dist/esm/codec/index.d.ts +10 -0
- package/dist/esm/codec/index.d.ts.map +1 -0
- package/dist/esm/codec/index.js +10 -0
- package/dist/esm/codec/index.js.map +6 -0
- package/dist/esm/crypto/Crypto.d.ts +169 -0
- package/dist/esm/crypto/Crypto.d.ts.map +1 -0
- package/dist/esm/crypto/Crypto.js +73 -0
- package/dist/esm/crypto/Crypto.js.map +6 -0
- package/dist/esm/crypto/CryptoConstants.d.ts +19 -0
- package/dist/esm/crypto/CryptoConstants.d.ts.map +1 -0
- package/dist/esm/crypto/CryptoConstants.js +28 -0
- package/dist/esm/crypto/CryptoConstants.js.map +6 -0
- package/dist/esm/crypto/Key.d.ts +171 -0
- package/dist/esm/crypto/Key.d.ts.map +1 -0
- package/dist/esm/crypto/Key.js +336 -0
- package/dist/esm/crypto/Key.js.map +6 -0
- package/dist/esm/crypto/Spake2p.d.ts +40 -0
- package/dist/esm/crypto/Spake2p.d.ts.map +1 -0
- package/dist/esm/crypto/Spake2p.js +108 -0
- package/dist/esm/crypto/Spake2p.js.map +6 -0
- package/dist/esm/crypto/index.d.ts +10 -0
- package/dist/esm/crypto/index.d.ts.map +1 -0
- package/dist/esm/crypto/index.js +10 -0
- package/dist/esm/crypto/index.js.map +6 -0
- package/dist/esm/environment/Environment.d.ts +96 -0
- package/dist/esm/environment/Environment.d.ts.map +1 -0
- package/dist/esm/environment/Environment.js +179 -0
- package/dist/esm/environment/Environment.js.map +6 -0
- package/dist/esm/environment/Environmental.d.ts +52 -0
- package/dist/esm/environment/Environmental.d.ts.map +1 -0
- package/dist/esm/environment/Environmental.js +13 -0
- package/dist/esm/environment/Environmental.js.map +6 -0
- package/dist/esm/environment/RuntimeService.d.ts +107 -0
- package/dist/esm/environment/RuntimeService.d.ts.map +1 -0
- package/dist/esm/environment/RuntimeService.js +202 -0
- package/dist/esm/environment/RuntimeService.js.map +6 -0
- package/dist/esm/environment/VariableService.d.ts +58 -0
- package/dist/esm/environment/VariableService.d.ts.map +1 -0
- package/dist/esm/environment/VariableService.js +237 -0
- package/dist/esm/environment/VariableService.js.map +6 -0
- package/dist/esm/environment/index.d.ts +10 -0
- package/dist/esm/environment/index.d.ts.map +1 -0
- package/dist/esm/environment/index.js +10 -0
- package/dist/esm/environment/index.js.map +6 -0
- package/dist/esm/index.d.ts +17 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +17 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/log/Diagnostic.d.ts +140 -0
- package/dist/esm/log/Diagnostic.d.ts.map +1 -0
- package/dist/esm/log/Diagnostic.js +277 -0
- package/dist/esm/log/Diagnostic.js.map +6 -0
- package/dist/esm/log/DiagnosticSource.d.ts +16 -0
- package/dist/esm/log/DiagnosticSource.d.ts.map +1 -0
- package/dist/esm/log/DiagnosticSource.js +25 -0
- package/dist/esm/log/DiagnosticSource.js.map +6 -0
- package/dist/esm/log/LogFormat.d.ts +33 -0
- package/dist/esm/log/LogFormat.d.ts.map +1 -0
- package/dist/esm/log/LogFormat.js +483 -0
- package/dist/esm/log/LogFormat.js.map +6 -0
- package/dist/esm/log/LogLevel.d.ts +18 -0
- package/dist/esm/log/LogLevel.d.ts.map +1 -0
- package/dist/esm/log/LogLevel.js +37 -0
- package/dist/esm/log/LogLevel.js.map +6 -0
- package/dist/esm/log/Logger.d.ts +220 -0
- package/dist/esm/log/Logger.d.ts.map +1 -0
- package/dist/esm/log/Logger.js +381 -0
- package/dist/esm/log/Logger.js.map +6 -0
- package/dist/esm/log/index.d.ts +11 -0
- package/dist/esm/log/index.d.ts.map +1 -0
- package/dist/esm/log/index.js +11 -0
- package/dist/esm/log/index.js.map +6 -0
- package/dist/esm/math/ReedSolomon.d.ts +11 -0
- package/dist/esm/math/ReedSolomon.d.ts.map +1 -0
- package/dist/esm/math/ReedSolomon.js +89 -0
- package/dist/esm/math/ReedSolomon.js.map +6 -0
- package/dist/esm/math/Verhoeff.d.ts +17 -0
- package/dist/esm/math/Verhoeff.d.ts.map +1 -0
- package/dist/esm/math/Verhoeff.js +44 -0
- package/dist/esm/math/Verhoeff.js.map +6 -0
- package/dist/esm/math/index.d.ts +8 -0
- package/dist/esm/math/index.d.ts.map +1 -0
- package/dist/esm/math/index.js +8 -0
- package/dist/esm/math/index.js.map +6 -0
- package/dist/esm/net/Channel.d.ts +24 -0
- package/dist/esm/net/Channel.d.ts.map +1 -0
- package/dist/esm/net/Channel.js +15 -0
- package/dist/esm/net/Channel.js.map +6 -0
- package/dist/esm/net/NetInterface.d.ts +24 -0
- package/dist/esm/net/NetInterface.d.ts.map +1 -0
- package/dist/esm/net/NetInterface.js +22 -0
- package/dist/esm/net/NetInterface.js.map +6 -0
- package/dist/esm/net/Network.d.ts +54 -0
- package/dist/esm/net/Network.d.ts.map +1 -0
- package/dist/esm/net/Network.js +30 -0
- package/dist/esm/net/Network.js.map +6 -0
- package/dist/esm/net/ServerAddress.d.ts +17 -0
- package/dist/esm/net/ServerAddress.d.ts.map +1 -0
- package/dist/esm/net/ServerAddress.js +12 -0
- package/dist/esm/net/ServerAddress.js.map +6 -0
- package/dist/esm/net/TransportInterface.d.ts +40 -0
- package/dist/esm/net/TransportInterface.d.ts.map +1 -0
- package/dist/esm/net/TransportInterface.js +35 -0
- package/dist/esm/net/TransportInterface.js.map +6 -0
- package/dist/esm/net/UdpChannel.d.ts +25 -0
- package/dist/esm/net/UdpChannel.d.ts.map +1 -0
- package/dist/esm/net/UdpChannel.js +10 -0
- package/dist/esm/net/UdpChannel.js.map +6 -0
- package/dist/esm/net/UdpInterface.d.ts +35 -0
- package/dist/esm/net/UdpInterface.d.ts.map +1 -0
- package/dist/esm/net/UdpInterface.js +62 -0
- package/dist/esm/net/UdpInterface.js.map +6 -0
- package/dist/esm/net/UdpMulticastServer.d.ts +30 -0
- package/dist/esm/net/UdpMulticastServer.d.ts.map +1 -0
- package/dist/esm/net/UdpMulticastServer.js +113 -0
- package/dist/esm/net/UdpMulticastServer.js.map +6 -0
- package/dist/esm/net/index.d.ts +17 -0
- package/dist/esm/net/index.d.ts.map +1 -0
- package/dist/esm/net/index.js +17 -0
- package/dist/esm/net/index.js.map +6 -0
- package/dist/esm/net/mock/MockNetwork.d.ts +19 -0
- package/dist/esm/net/mock/MockNetwork.d.ts.map +1 -0
- package/dist/esm/net/mock/MockNetwork.js +36 -0
- package/dist/esm/net/mock/MockNetwork.js.map +6 -0
- package/dist/esm/net/mock/MockUdpChannel.d.ts +27 -0
- package/dist/esm/net/mock/MockUdpChannel.d.ts.map +1 -0
- package/dist/esm/net/mock/MockUdpChannel.js +56 -0
- package/dist/esm/net/mock/MockUdpChannel.js.map +6 -0
- package/dist/esm/net/mock/NetworkSimulator.d.ts +18 -0
- package/dist/esm/net/mock/NetworkSimulator.d.ts.map +1 -0
- package/dist/esm/net/mock/NetworkSimulator.js +53 -0
- package/dist/esm/net/mock/NetworkSimulator.js.map +6 -0
- package/dist/esm/package.json +6 -0
- package/dist/esm/polyfills/disposable.d.ts +7 -0
- package/dist/esm/polyfills/disposable.d.ts.map +1 -0
- package/dist/esm/polyfills/disposable.js +18 -0
- package/dist/esm/polyfills/disposable.js.map +6 -0
- package/dist/esm/polyfills/index.d.ts +7 -0
- package/dist/esm/polyfills/index.d.ts.map +1 -0
- package/dist/esm/polyfills/index.js +7 -0
- package/dist/esm/polyfills/index.js.map +6 -0
- package/dist/esm/storage/Storage.d.ts +54 -0
- package/dist/esm/storage/Storage.d.ts.map +1 -0
- package/dist/esm/storage/Storage.js +18 -0
- package/dist/esm/storage/Storage.js.map +6 -0
- package/dist/esm/storage/StorageBackendMemory.d.ts +27 -0
- package/dist/esm/storage/StorageBackendMemory.d.ts.map +1 -0
- package/dist/esm/storage/StorageBackendMemory.js +111 -0
- package/dist/esm/storage/StorageBackendMemory.js.map +6 -0
- package/dist/esm/storage/StorageContext.d.ts +26 -0
- package/dist/esm/storage/StorageContext.d.ts.map +1 -0
- package/dist/esm/storage/StorageContext.js +97 -0
- package/dist/esm/storage/StorageContext.js.map +6 -0
- package/dist/esm/storage/StorageManager.d.ts +17 -0
- package/dist/esm/storage/StorageManager.d.ts.map +1 -0
- package/dist/esm/storage/StorageManager.js +39 -0
- package/dist/esm/storage/StorageManager.js.map +6 -0
- package/dist/esm/storage/StorageService.d.ts +35 -0
- package/dist/esm/storage/StorageService.d.ts.map +1 -0
- package/dist/esm/storage/StorageService.js +62 -0
- package/dist/esm/storage/StorageService.js.map +6 -0
- package/dist/esm/storage/StringifyTools.d.ts +16 -0
- package/dist/esm/storage/StringifyTools.d.ts.map +1 -0
- package/dist/esm/storage/StringifyTools.js +85 -0
- package/dist/esm/storage/StringifyTools.js.map +6 -0
- package/dist/esm/storage/index.d.ts +12 -0
- package/dist/esm/storage/index.d.ts.map +1 -0
- package/dist/esm/storage/index.js +12 -0
- package/dist/esm/storage/index.js.map +6 -0
- package/dist/esm/time/Time.d.ts +66 -0
- package/dist/esm/time/Time.d.ts.map +1 -0
- package/dist/esm/time/Time.js +117 -0
- package/dist/esm/time/Time.js.map +6 -0
- package/dist/esm/time/index.d.ts +7 -0
- package/dist/esm/time/index.d.ts.map +1 -0
- package/dist/esm/time/index.js +7 -0
- package/dist/esm/time/index.js.map +6 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/util/Array.d.ts +12 -0
- package/dist/esm/util/Array.d.ts.map +1 -0
- package/dist/esm/util/Array.js +8 -0
- package/dist/esm/util/Array.js.map +6 -0
- package/dist/esm/util/Bytes.d.ts +23 -0
- package/dist/esm/util/Bytes.d.ts.map +1 -0
- package/dist/esm/util/Bytes.js +75 -0
- package/dist/esm/util/Bytes.js.map +6 -0
- package/dist/esm/util/Cache.d.ts +33 -0
- package/dist/esm/util/Cache.d.ts.map +1 -0
- package/dist/esm/util/Cache.js +94 -0
- package/dist/esm/util/Cache.js.map +6 -0
- package/dist/esm/util/Construction.d.ts +182 -0
- package/dist/esm/util/Construction.d.ts.map +1 -0
- package/dist/esm/util/Construction.js +397 -0
- package/dist/esm/util/Construction.js.map +6 -0
- package/dist/esm/util/DataReadQueue.d.ts +17 -0
- package/dist/esm/util/DataReadQueue.d.ts.map +1 -0
- package/dist/esm/util/DataReadQueue.js +56 -0
- package/dist/esm/util/DataReadQueue.js.map +6 -0
- package/dist/esm/util/DataReader.d.ts +32 -0
- package/dist/esm/util/DataReader.d.ts.map +1 -0
- package/dist/esm/util/DataReader.js +81 -0
- package/dist/esm/util/DataReader.js.map +6 -0
- package/dist/esm/util/DataWriter.d.ts +26 -0
- package/dist/esm/util/DataWriter.d.ts.map +1 -0
- package/dist/esm/util/DataWriter.js +94 -0
- package/dist/esm/util/DataWriter.js.map +6 -0
- package/dist/esm/util/DeepCopy.d.ts +12 -0
- package/dist/esm/util/DeepCopy.d.ts.map +1 -0
- package/dist/esm/util/DeepCopy.js +38 -0
- package/dist/esm/util/DeepCopy.js.map +6 -0
- package/dist/esm/util/DeepEqual.d.ts +7 -0
- package/dist/esm/util/DeepEqual.d.ts.map +1 -0
- package/dist/esm/util/DeepEqual.js +35 -0
- package/dist/esm/util/DeepEqual.js.map +6 -0
- package/dist/esm/util/Error.d.ts +12 -0
- package/dist/esm/util/Error.d.ts.map +1 -0
- package/dist/esm/util/Error.js +21 -0
- package/dist/esm/util/Error.js.map +6 -0
- package/dist/esm/util/GeneratedClass.d.ts +62 -0
- package/dist/esm/util/GeneratedClass.d.ts.map +1 -0
- package/dist/esm/util/GeneratedClass.js +97 -0
- package/dist/esm/util/GeneratedClass.js.map +6 -0
- package/dist/esm/util/Introspection.d.ts +38 -0
- package/dist/esm/util/Introspection.d.ts.map +1 -0
- package/dist/esm/util/Introspection.js +65 -0
- package/dist/esm/util/Introspection.js.map +6 -0
- package/dist/esm/util/Ip.d.ts +8 -0
- package/dist/esm/util/Ip.d.ts.map +1 -0
- package/dist/esm/util/Ip.js +70 -0
- package/dist/esm/util/Ip.js.map +6 -0
- package/dist/esm/util/Lifecycle.d.ts +97 -0
- package/dist/esm/util/Lifecycle.d.ts.map +1 -0
- package/dist/esm/util/Lifecycle.js +69 -0
- package/dist/esm/util/Lifecycle.js.map +6 -0
- package/dist/esm/util/Multiplex.d.ts +14 -0
- package/dist/esm/util/Multiplex.d.ts.map +1 -0
- package/dist/esm/util/Multiplex.js +6 -0
- package/dist/esm/util/Multiplex.js.map +6 -0
- package/dist/esm/util/Mutex.d.ts +34 -0
- package/dist/esm/util/Mutex.d.ts.map +1 -0
- package/dist/esm/util/Mutex.js +85 -0
- package/dist/esm/util/Mutex.js.map +6 -0
- package/dist/esm/util/NamedHandler.d.ts +21 -0
- package/dist/esm/util/NamedHandler.d.ts.map +1 -0
- package/dist/esm/util/NamedHandler.js +34 -0
- package/dist/esm/util/NamedHandler.js.map +6 -0
- package/dist/esm/util/Number.d.ts +37 -0
- package/dist/esm/util/Number.d.ts.map +1 -0
- package/dist/esm/util/Number.js +77 -0
- package/dist/esm/util/Number.js.map +6 -0
- package/dist/esm/util/Observable.d.ts +197 -0
- package/dist/esm/util/Observable.d.ts.map +1 -0
- package/dist/esm/util/Observable.js +320 -0
- package/dist/esm/util/Observable.js.map +6 -0
- package/dist/esm/util/PromiseQueue.d.ts +25 -0
- package/dist/esm/util/PromiseQueue.d.ts.map +1 -0
- package/dist/esm/util/PromiseQueue.js +87 -0
- package/dist/esm/util/PromiseQueue.js.map +6 -0
- package/dist/esm/util/Promises.d.ts +68 -0
- package/dist/esm/util/Promises.d.ts.map +1 -0
- package/dist/esm/util/Promises.js +179 -0
- package/dist/esm/util/Promises.js.map +6 -0
- package/dist/esm/util/Set.d.ts +60 -0
- package/dist/esm/util/Set.d.ts.map +1 -0
- package/dist/esm/util/Set.js +125 -0
- package/dist/esm/util/Set.js.map +6 -0
- package/dist/esm/util/Singleton.d.ts +7 -0
- package/dist/esm/util/Singleton.d.ts.map +1 -0
- package/dist/esm/util/Singleton.js +16 -0
- package/dist/esm/util/Singleton.js.map +6 -0
- package/dist/esm/util/Stream.d.ts +16 -0
- package/dist/esm/util/Stream.d.ts.map +1 -0
- package/dist/esm/util/Stream.js +18 -0
- package/dist/esm/util/Stream.js.map +6 -0
- package/dist/esm/util/String.d.ts +39 -0
- package/dist/esm/util/String.d.ts.map +1 -0
- package/dist/esm/util/String.js +188 -0
- package/dist/esm/util/String.js.map +6 -0
- package/dist/esm/util/Type.d.ts +84 -0
- package/dist/esm/util/Type.d.ts.map +1 -0
- package/dist/esm/util/Type.js +32 -0
- package/dist/esm/util/Type.js.map +6 -0
- package/dist/esm/util/index.d.ts +30 -0
- package/dist/esm/util/index.d.ts.map +1 -0
- package/dist/esm/util/index.js +30 -0
- package/dist/esm/util/index.js.map +6 -0
- package/package.json +76 -0
- package/src/MatterError.ts +205 -0
- package/src/codec/Base64Codec.ts +137 -0
- package/src/codec/DerCodec.ts +300 -0
- package/src/codec/DerTypes.ts +145 -0
- package/src/codec/DnsCodec.ts +393 -0
- package/src/codec/index.ts +10 -0
- package/src/crypto/Crypto.ts +136 -0
- package/src/crypto/CryptoConstants.ts +19 -0
- package/src/crypto/Key.ts +600 -0
- package/src/crypto/Spake2p.ts +128 -0
- package/src/crypto/index.ts +10 -0
- package/src/environment/Environment.ts +215 -0
- package/src/environment/Environmental.ts +60 -0
- package/src/environment/RuntimeService.ts +301 -0
- package/src/environment/VariableService.ts +308 -0
- package/src/environment/index.ts +10 -0
- package/src/index.ts +17 -0
- package/src/log/Diagnostic.ts +454 -0
- package/src/log/DiagnosticSource.ts +30 -0
- package/src/log/LogFormat.ts +646 -0
- package/src/log/LogLevel.ts +36 -0
- package/src/log/Logger.ts +474 -0
- package/src/log/index.ts +11 -0
- package/src/math/ReedSolomon.ts +100 -0
- package/src/math/Verhoeff.ts +47 -0
- package/src/math/index.ts +8 -0
- package/src/net/Channel.ts +30 -0
- package/src/net/NetInterface.ts +33 -0
- package/src/net/Network.ts +70 -0
- package/src/net/ServerAddress.ts +22 -0
- package/src/net/TransportInterface.ts +56 -0
- package/src/net/UdpChannel.ts +30 -0
- package/src/net/UdpInterface.ts +75 -0
- package/src/net/UdpMulticastServer.ts +138 -0
- package/src/net/index.ts +17 -0
- package/src/net/mock/MockNetwork.ts +42 -0
- package/src/net/mock/MockUdpChannel.ts +69 -0
- package/src/net/mock/NetworkSimulator.ts +63 -0
- package/src/polyfills/disposable.ts +24 -0
- package/src/polyfills/index.ts +7 -0
- package/src/storage/Storage.ts +61 -0
- package/src/storage/StorageBackendMemory.ts +131 -0
- package/src/storage/StorageContext.ts +111 -0
- package/src/storage/StorageManager.ts +39 -0
- package/src/storage/StorageService.ts +73 -0
- package/src/storage/StringifyTools.ts +107 -0
- package/src/storage/index.ts +12 -0
- package/src/time/Time.ts +179 -0
- package/src/time/index.ts +7 -0
- package/src/tsconfig.json +10 -0
- package/src/util/Array.ts +15 -0
- package/src/util/Bytes.ts +73 -0
- package/src/util/Cache.ts +111 -0
- package/src/util/Construction.ts +717 -0
- package/src/util/DataReadQueue.ts +55 -0
- package/src/util/DataReader.ts +100 -0
- package/src/util/DataWriter.ts +109 -0
- package/src/util/DeepCopy.ts +47 -0
- package/src/util/DeepEqual.ts +49 -0
- package/src/util/Error.ts +32 -0
- package/src/util/GeneratedClass.ts +204 -0
- package/src/util/Introspection.ts +93 -0
- package/src/util/Ip.ts +71 -0
- package/src/util/Lifecycle.ts +135 -0
- package/src/util/Multiplex.ts +14 -0
- package/src/util/Mutex.ts +100 -0
- package/src/util/NamedHandler.ts +52 -0
- package/src/util/Number.ts +71 -0
- package/src/util/Observable.ts +550 -0
- package/src/util/PromiseQueue.ts +102 -0
- package/src/util/Promises.ts +278 -0
- package/src/util/Set.ts +189 -0
- package/src/util/Singleton.ts +13 -0
- package/src/util/Stream.ts +19 -0
- package/src/util/String.ts +248 -0
- package/src/util/Type.ts +145 -0
- package/src/util/index.ts +30 -0
|
@@ -0,0 +1,646 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { ImplementationError, InternalError, MatterError } from "../MatterError.js";
|
|
8
|
+
import { Bytes } from "../util/Bytes.js";
|
|
9
|
+
import { Lifecycle } from "../util/Lifecycle.js";
|
|
10
|
+
import { serialize } from "../util/String.js";
|
|
11
|
+
import { Diagnostic } from "./Diagnostic.js";
|
|
12
|
+
import { LogLevel } from "./LogLevel.js";
|
|
13
|
+
|
|
14
|
+
const INDENT_SPACES = 2;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Get a diagnostic formatter for the specified format.
|
|
18
|
+
*
|
|
19
|
+
* A "diagnostic formatter" converts arbitrary values into a formatted string. Formatting is controlled by type and the
|
|
20
|
+
* {@link Diagnostic.presentation} and {@link Diagnostic.value} properties.
|
|
21
|
+
*/
|
|
22
|
+
export function LogFormat(format: string) {
|
|
23
|
+
if (format === undefined) {
|
|
24
|
+
format = LogFormat.ANSI;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
switch (format) {
|
|
28
|
+
case LogFormat.PLAIN:
|
|
29
|
+
return LogFormat.plain;
|
|
30
|
+
|
|
31
|
+
case LogFormat.ANSI:
|
|
32
|
+
return LogFormat.ansi;
|
|
33
|
+
|
|
34
|
+
case LogFormat.HTML:
|
|
35
|
+
return LogFormat.html;
|
|
36
|
+
|
|
37
|
+
default:
|
|
38
|
+
throw new ImplementationError(`Unsupported log format "${format}"`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Log stylization support.
|
|
44
|
+
*/
|
|
45
|
+
export namespace LogFormat {
|
|
46
|
+
export type Type = typeof PLAIN | typeof ANSI | typeof HTML;
|
|
47
|
+
|
|
48
|
+
/** Generate text only */
|
|
49
|
+
export const PLAIN = "plain";
|
|
50
|
+
|
|
51
|
+
/** Format log messages using ANSI escape codes */
|
|
52
|
+
export const ANSI = "ansi";
|
|
53
|
+
|
|
54
|
+
/** Format log messages using HTML tags */
|
|
55
|
+
export const HTML = "html";
|
|
56
|
+
|
|
57
|
+
export const plain = formatPlain;
|
|
58
|
+
export const ansi = formatAnsi;
|
|
59
|
+
export const html = formatHtml;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export type DiagnosticProducer = () => string;
|
|
63
|
+
|
|
64
|
+
interface Formatter {
|
|
65
|
+
message(message: Diagnostic.Message): string;
|
|
66
|
+
text(text: string): string;
|
|
67
|
+
indent(producer: DiagnosticProducer): string;
|
|
68
|
+
break(): string;
|
|
69
|
+
key(text: string): string;
|
|
70
|
+
value(producer: DiagnosticProducer): string;
|
|
71
|
+
strong(producer: DiagnosticProducer): string;
|
|
72
|
+
weak(producer: DiagnosticProducer): string;
|
|
73
|
+
error(producer: DiagnosticProducer): string;
|
|
74
|
+
status(status: Lifecycle.Status, producer: DiagnosticProducer): string;
|
|
75
|
+
via(text: string): string;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const LifecycleIcons = {
|
|
79
|
+
[Lifecycle.Status.Unknown]: "?",
|
|
80
|
+
[Lifecycle.Status.Inactive]: "💤",
|
|
81
|
+
[Lifecycle.Status.Initializing]: "⌛",
|
|
82
|
+
[Lifecycle.Status.Active]: "✔",
|
|
83
|
+
[Lifecycle.Status.Crashed]: "✗",
|
|
84
|
+
[Lifecycle.Status.Destroying]: "☠︎",
|
|
85
|
+
[Lifecycle.Status.Destroyed]: "☠︎",
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Create a small utility shared by plain and ansi formats.
|
|
90
|
+
*/
|
|
91
|
+
function plaintextCreator(indents: number) {
|
|
92
|
+
let broke = false;
|
|
93
|
+
|
|
94
|
+
return {
|
|
95
|
+
text(value: string) {
|
|
96
|
+
if (broke) {
|
|
97
|
+
broke = false;
|
|
98
|
+
return `\n${"".padStart(indents * INDENT_SPACES)}${value}`;
|
|
99
|
+
}
|
|
100
|
+
return value;
|
|
101
|
+
},
|
|
102
|
+
|
|
103
|
+
break() {
|
|
104
|
+
broke = true;
|
|
105
|
+
return "";
|
|
106
|
+
},
|
|
107
|
+
|
|
108
|
+
indent(producer: () => string) {
|
|
109
|
+
indents++;
|
|
110
|
+
const result = producer();
|
|
111
|
+
indents--;
|
|
112
|
+
return result;
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
function statusIcon(status: Lifecycle.Status) {
|
|
118
|
+
return LifecycleIcons[status] ?? LifecycleIcons[Lifecycle.Status.Unknown];
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function formatPlain(diagnostic: unknown, indents = 0) {
|
|
122
|
+
const creator = plaintextCreator(indents);
|
|
123
|
+
|
|
124
|
+
const formatter = {
|
|
125
|
+
...creator,
|
|
126
|
+
message: message => {
|
|
127
|
+
const formattedValues = ensureIndented(renderDiagnostic(message.values, formatter));
|
|
128
|
+
|
|
129
|
+
return `${formatTime(message.now)} ${
|
|
130
|
+
LogLevel[message.level]
|
|
131
|
+
} ${message.facility} ${message.prefix}${formattedValues}`;
|
|
132
|
+
},
|
|
133
|
+
key: text => creator.text(`${text}: `),
|
|
134
|
+
value: producer => creator.text(producer()),
|
|
135
|
+
strong: producer => creator.text(`*${producer()}*`),
|
|
136
|
+
weak: producer => creator.text(producer()),
|
|
137
|
+
error: producer => creator.text(producer()),
|
|
138
|
+
status: (status, producer) => `${creator.text(statusIcon(status))}${producer()}`,
|
|
139
|
+
via: text => creator.text(text),
|
|
140
|
+
} satisfies Formatter;
|
|
141
|
+
|
|
142
|
+
return renderDiagnostic(diagnostic, formatter);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
const ANSI_CODES = {
|
|
146
|
+
reset: 0,
|
|
147
|
+
bold: 1,
|
|
148
|
+
dim: 2,
|
|
149
|
+
red: 31,
|
|
150
|
+
green: 32,
|
|
151
|
+
yellow: 33,
|
|
152
|
+
blue: 34,
|
|
153
|
+
magenta: 35,
|
|
154
|
+
cyan: 36,
|
|
155
|
+
white: 37,
|
|
156
|
+
default: 39,
|
|
157
|
+
gray: 90,
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
type AnsiCode = "normal" | keyof typeof ANSI_CODES;
|
|
161
|
+
|
|
162
|
+
function ansiEscape(...codes: AnsiCode[]) {
|
|
163
|
+
const numbers = [];
|
|
164
|
+
for (const code of codes) {
|
|
165
|
+
if (code === "normal") {
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
const number = ANSI_CODES[code];
|
|
169
|
+
if (number === undefined) {
|
|
170
|
+
throw new InternalError(`Invalid ANSI code ${code}`);
|
|
171
|
+
}
|
|
172
|
+
numbers.push(number);
|
|
173
|
+
}
|
|
174
|
+
if (!numbers.length) {
|
|
175
|
+
return "";
|
|
176
|
+
}
|
|
177
|
+
return `\u001b[${numbers.join(";")}m`;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
interface Style {
|
|
181
|
+
color?: "default" | keyof typeof ANSI_CODES;
|
|
182
|
+
dim?: boolean;
|
|
183
|
+
bold?: boolean;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
const Styles = {
|
|
187
|
+
default: { color: "default" },
|
|
188
|
+
prefix: { color: "default", dim: true },
|
|
189
|
+
facility: { color: "gray", bold: true },
|
|
190
|
+
debug: { color: "gray" },
|
|
191
|
+
info: { color: "default" },
|
|
192
|
+
notice: { color: "green" },
|
|
193
|
+
warn: { color: "yellow" },
|
|
194
|
+
error: { color: "red" },
|
|
195
|
+
fatal: { color: "red", bold: true },
|
|
196
|
+
key: { color: "blue" },
|
|
197
|
+
value: { color: "default", dim: true },
|
|
198
|
+
strong: { bold: true },
|
|
199
|
+
weak: { dim: true },
|
|
200
|
+
ballotCheck: { color: "green" },
|
|
201
|
+
ballotCross: { color: "red" },
|
|
202
|
+
unknown: { color: "gray" },
|
|
203
|
+
inactive: { color: "gray" },
|
|
204
|
+
initializing: { color: "yellow" },
|
|
205
|
+
active: { color: "green" },
|
|
206
|
+
crashed: { color: "red" },
|
|
207
|
+
destroying: { color: "gray" },
|
|
208
|
+
destroyed: { color: "gray" },
|
|
209
|
+
via: { color: "magenta" },
|
|
210
|
+
} as const satisfies Record<string, Style>;
|
|
211
|
+
|
|
212
|
+
type StyleName = keyof typeof Styles;
|
|
213
|
+
|
|
214
|
+
function formatAnsi(diagnostic: unknown, indents = 0) {
|
|
215
|
+
let baseStyleChanged = false;
|
|
216
|
+
const creator = plaintextCreator(indents);
|
|
217
|
+
const currentStyle: Style = {
|
|
218
|
+
color: "default",
|
|
219
|
+
dim: false,
|
|
220
|
+
bold: false,
|
|
221
|
+
};
|
|
222
|
+
const styles: StyleName[] = ["default"];
|
|
223
|
+
|
|
224
|
+
function normal(text: string) {
|
|
225
|
+
return style(styles[styles.length - 1] ?? "default", text);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
const formatter = {
|
|
229
|
+
message: ({ now, level, facility, prefix: nestPrefix, values }) => {
|
|
230
|
+
baseStyleChanged = true;
|
|
231
|
+
styles[0] = (LogLevel[level] ?? "default").toLowerCase() as StyleName;
|
|
232
|
+
|
|
233
|
+
const prefix = style("prefix", `${formatTime(now)} ${LogLevel[level].padEnd(6)}`);
|
|
234
|
+
|
|
235
|
+
facility = style(
|
|
236
|
+
"facility",
|
|
237
|
+
facility.length > 20
|
|
238
|
+
? `${facility.slice(0, 10)}~${facility.slice(facility.length - 9)}`
|
|
239
|
+
: facility.padEnd(20),
|
|
240
|
+
);
|
|
241
|
+
|
|
242
|
+
if (nestPrefix) {
|
|
243
|
+
nestPrefix = style("prefix", nestPrefix);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
const formattedValues = ensureIndented(renderDiagnostic(values, formatter));
|
|
247
|
+
|
|
248
|
+
return `${prefix} ${facility} ${nestPrefix}${formattedValues}`;
|
|
249
|
+
},
|
|
250
|
+
|
|
251
|
+
text: text => creator.text(normal(text)),
|
|
252
|
+
|
|
253
|
+
indent: producer => creator.indent(producer),
|
|
254
|
+
|
|
255
|
+
break: () => {
|
|
256
|
+
// After the first line revert to default styling so e.g. stack traces aren't all red
|
|
257
|
+
if (baseStyleChanged) {
|
|
258
|
+
baseStyleChanged = false;
|
|
259
|
+
styles[0] = "default";
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
return creator.break();
|
|
263
|
+
},
|
|
264
|
+
|
|
265
|
+
key: text => creator.text(style("key", `${text}: `)),
|
|
266
|
+
|
|
267
|
+
value: producer => {
|
|
268
|
+
styles.push("value");
|
|
269
|
+
const result = producer();
|
|
270
|
+
styles.pop();
|
|
271
|
+
return result;
|
|
272
|
+
},
|
|
273
|
+
|
|
274
|
+
strong: producer => {
|
|
275
|
+
styles.push("strong");
|
|
276
|
+
const result = producer();
|
|
277
|
+
styles.pop();
|
|
278
|
+
return result;
|
|
279
|
+
},
|
|
280
|
+
|
|
281
|
+
weak: producer => {
|
|
282
|
+
styles.push("weak");
|
|
283
|
+
const result = producer();
|
|
284
|
+
styles.pop();
|
|
285
|
+
return result;
|
|
286
|
+
},
|
|
287
|
+
|
|
288
|
+
error: producer => {
|
|
289
|
+
styles.push("error");
|
|
290
|
+
const result = producer();
|
|
291
|
+
styles.pop();
|
|
292
|
+
return result;
|
|
293
|
+
},
|
|
294
|
+
|
|
295
|
+
status: (status, producer) => {
|
|
296
|
+
styles.push(status);
|
|
297
|
+
const result = `${creator.text(style(status, statusIcon(status)))}${producer()}`;
|
|
298
|
+
styles.pop();
|
|
299
|
+
return result;
|
|
300
|
+
},
|
|
301
|
+
|
|
302
|
+
via: text => creator.text(style("via", text)),
|
|
303
|
+
} satisfies Formatter;
|
|
304
|
+
|
|
305
|
+
return renderDiagnostic(diagnostic, formatter) + ansiEscape("reset");
|
|
306
|
+
|
|
307
|
+
// Convert a style name into a set of escape codes to transition state
|
|
308
|
+
function escapes(styleName: StyleName) {
|
|
309
|
+
const style = Styles[styleName] as Style;
|
|
310
|
+
if (style === undefined) {
|
|
311
|
+
throw new InternalError(`Invalid ANSI style "${styleName}"`);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
const targetDim = !!style.dim;
|
|
315
|
+
const targetBold = !!style.bold;
|
|
316
|
+
let targetColor = style.color;
|
|
317
|
+
|
|
318
|
+
// Compute target color from style stack if not explicit
|
|
319
|
+
if (!targetColor) {
|
|
320
|
+
for (let i = styles.length; i > 0; i--) {
|
|
321
|
+
const color = (Styles[styles[i - 1] ?? "default"] as Style).color;
|
|
322
|
+
if (color) {
|
|
323
|
+
targetColor = color;
|
|
324
|
+
break;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
const codes = Array<AnsiCode>();
|
|
330
|
+
|
|
331
|
+
if ((!targetDim && currentStyle.dim) || (!targetBold && currentStyle.bold)) {
|
|
332
|
+
// Don't think we can reset dim/bold without full reset
|
|
333
|
+
codes.push("reset");
|
|
334
|
+
currentStyle.dim = false;
|
|
335
|
+
currentStyle.bold = false;
|
|
336
|
+
currentStyle.color = "default";
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
if (targetDim !== currentStyle.dim) {
|
|
340
|
+
codes.push("dim");
|
|
341
|
+
currentStyle.dim = true;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
if (targetBold !== currentStyle.bold) {
|
|
345
|
+
codes.push("bold");
|
|
346
|
+
currentStyle.bold = true;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
if (targetColor && targetColor !== currentStyle.color) {
|
|
350
|
+
codes.push(targetColor);
|
|
351
|
+
currentStyle.color = targetColor;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
return ansiEscape(...codes);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
// Apply style codes. Maintains color state (via escapes) so values must
|
|
358
|
+
// be rendered sequentially as they appear
|
|
359
|
+
function style(style: StyleName, text: string) {
|
|
360
|
+
if (text === "") {
|
|
361
|
+
return text;
|
|
362
|
+
}
|
|
363
|
+
const segments = text.match(/([^✓✔✗✘]+|[✓✔✗✘])/g);
|
|
364
|
+
if (segments === null) {
|
|
365
|
+
throw new InternalError("ANSI text processing regex failure");
|
|
366
|
+
}
|
|
367
|
+
return segments
|
|
368
|
+
.map(segment => {
|
|
369
|
+
let esc;
|
|
370
|
+
switch (segment) {
|
|
371
|
+
case "✓":
|
|
372
|
+
case "✔":
|
|
373
|
+
esc = escapes("ballotCheck");
|
|
374
|
+
break;
|
|
375
|
+
|
|
376
|
+
case "✗":
|
|
377
|
+
case "✘":
|
|
378
|
+
esc = escapes("ballotCross");
|
|
379
|
+
break;
|
|
380
|
+
|
|
381
|
+
default:
|
|
382
|
+
esc = escapes(style);
|
|
383
|
+
break;
|
|
384
|
+
}
|
|
385
|
+
return `${esc}${segment}`;
|
|
386
|
+
})
|
|
387
|
+
.join("");
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
function htmlSpan(type: string, inner: string) {
|
|
392
|
+
return `<span class="matter-log-${type}">${inner}</span>`;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
function formatHtml(diagnostic: unknown) {
|
|
396
|
+
function escape(text: string) {
|
|
397
|
+
return text.toString().replace(/</g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
const formatter = {
|
|
401
|
+
message: ({ now, level, facility, prefix, values }) => {
|
|
402
|
+
prefix = prefix.replace(/ /g, " ");
|
|
403
|
+
const formattedValues = renderDiagnostic(values, formatter);
|
|
404
|
+
|
|
405
|
+
return htmlSpan(
|
|
406
|
+
`line ${LogLevel[level].toLowerCase()}`,
|
|
407
|
+
`${htmlSpan("time", formatTime(now))} ${htmlSpan("level", LogLevel[level])} ${htmlSpan(
|
|
408
|
+
"facility",
|
|
409
|
+
facility,
|
|
410
|
+
)} ${prefix}${formattedValues}`,
|
|
411
|
+
);
|
|
412
|
+
},
|
|
413
|
+
text: escape,
|
|
414
|
+
break: () => "<br/>",
|
|
415
|
+
indent: producer => htmlSpan("indent", producer()),
|
|
416
|
+
key: text => htmlSpan("key", `${escape(text)}:`) + " ",
|
|
417
|
+
value: producer => htmlSpan("value", producer()),
|
|
418
|
+
strong: producer => `<em>${producer()}</em>`,
|
|
419
|
+
weak: producer => htmlSpan("weak", producer()),
|
|
420
|
+
error: producer => htmlSpan("error", producer()),
|
|
421
|
+
status: (status, producer) => htmlSpan(`status-${status}`, producer()),
|
|
422
|
+
via: text => htmlSpan("via", escape(text)),
|
|
423
|
+
} satisfies Formatter;
|
|
424
|
+
|
|
425
|
+
return renderDiagnostic(diagnostic, formatter);
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Render a value based on its JS type.
|
|
430
|
+
*/
|
|
431
|
+
function renderValue(value: unknown, formatter: Formatter, squash: boolean): string {
|
|
432
|
+
if (value === undefined) {
|
|
433
|
+
return formatter.text("undefined");
|
|
434
|
+
}
|
|
435
|
+
if (value === null) {
|
|
436
|
+
return formatter.text("null");
|
|
437
|
+
}
|
|
438
|
+
if (value instanceof Uint8Array) {
|
|
439
|
+
return formatter.text(Bytes.toHex(value));
|
|
440
|
+
}
|
|
441
|
+
if (value instanceof Error) {
|
|
442
|
+
return renderDiagnostic(Diagnostic.error(value), formatter);
|
|
443
|
+
}
|
|
444
|
+
if (typeof value === "object" && Symbol.iterator in value && !(value instanceof String)) {
|
|
445
|
+
const list = sequenceToList(value as Iterable<unknown>);
|
|
446
|
+
if (!list.length) {
|
|
447
|
+
return "";
|
|
448
|
+
}
|
|
449
|
+
if (list.length > 1) {
|
|
450
|
+
return renderList(list, formatter);
|
|
451
|
+
}
|
|
452
|
+
const first = valueFor(list[0]) as unknown[];
|
|
453
|
+
return first
|
|
454
|
+
.map(e => {
|
|
455
|
+
if (typeof e === "string" && !squash) {
|
|
456
|
+
e = e.trim();
|
|
457
|
+
}
|
|
458
|
+
return renderDiagnostic(e, formatter);
|
|
459
|
+
})
|
|
460
|
+
.join(squash ? "" : " ");
|
|
461
|
+
}
|
|
462
|
+
if (value instanceof Date) {
|
|
463
|
+
return formatter.text(formatTime(value));
|
|
464
|
+
}
|
|
465
|
+
if (typeof value === "object") {
|
|
466
|
+
if (value instanceof String) {
|
|
467
|
+
return value.toString();
|
|
468
|
+
}
|
|
469
|
+
return formatter.text(serialize(value) ?? "undefined");
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
const text = typeof value === "string" || value instanceof String ? value : value.toString().trim();
|
|
473
|
+
if (!text.includes("\n")) {
|
|
474
|
+
return formatter.text(text as string);
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
return renderList(text.split("\n"), formatter);
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
function renderList(value: Iterable<unknown>, formatter: Formatter) {
|
|
481
|
+
const parts = Array<string>();
|
|
482
|
+
|
|
483
|
+
for (const v of value) {
|
|
484
|
+
parts.push(renderDiagnostic(v, formatter));
|
|
485
|
+
formatter.break();
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
return parts.join("");
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
function renderIndentedList(value: Iterable<unknown>, formatter: Formatter) {
|
|
492
|
+
return formatter.indent(() => {
|
|
493
|
+
return renderList(value, formatter);
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
function renderDictionary(value: object, formatter: Formatter) {
|
|
498
|
+
const entries = value instanceof Map ? value.entries() : Object.entries(value);
|
|
499
|
+
|
|
500
|
+
const parts = [];
|
|
501
|
+
for (const [k, v] of entries) {
|
|
502
|
+
if (parts.length) {
|
|
503
|
+
parts.push(" ");
|
|
504
|
+
}
|
|
505
|
+
parts.push(formatter.key(k));
|
|
506
|
+
parts.push(formatter.value(() => renderDiagnostic(v, formatter)));
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
return parts.join("");
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
function valueFor(value: unknown) {
|
|
513
|
+
if (typeof value !== "object" || value === null) {
|
|
514
|
+
return value;
|
|
515
|
+
}
|
|
516
|
+
const proxied = (value as Diagnostic)[Diagnostic.value];
|
|
517
|
+
if (proxied) {
|
|
518
|
+
if (proxied === value) {
|
|
519
|
+
throw new InternalError("Diagnostic value proxies to itself");
|
|
520
|
+
}
|
|
521
|
+
return valueFor(proxied);
|
|
522
|
+
}
|
|
523
|
+
return value;
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
function presentationFor(value: unknown) {
|
|
527
|
+
if (typeof value !== "object" || value === null) {
|
|
528
|
+
return;
|
|
529
|
+
}
|
|
530
|
+
if (Diagnostic.presentation in (value as Diagnostic)) {
|
|
531
|
+
return (value as Diagnostic)[Diagnostic.presentation];
|
|
532
|
+
}
|
|
533
|
+
const proxied = (value as Diagnostic)[Diagnostic.value];
|
|
534
|
+
if (proxied && proxied !== value) {
|
|
535
|
+
if (proxied === value) {
|
|
536
|
+
throw new InternalError("Diagnostic value proxies to itself");
|
|
537
|
+
}
|
|
538
|
+
return presentationFor(proxied);
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
/**
|
|
543
|
+
* Render a value with presentation support
|
|
544
|
+
*/
|
|
545
|
+
function renderDiagnostic(value: unknown, formatter: Formatter): string {
|
|
546
|
+
const presentation = presentationFor(value);
|
|
547
|
+
value = valueFor(value);
|
|
548
|
+
|
|
549
|
+
switch (presentation) {
|
|
550
|
+
case undefined:
|
|
551
|
+
return renderValue(value, formatter, false);
|
|
552
|
+
|
|
553
|
+
case Diagnostic.Presentation.Message:
|
|
554
|
+
if (value === undefined || value === null) {
|
|
555
|
+
throw new ImplementationError("Diagnostic message is not an object");
|
|
556
|
+
}
|
|
557
|
+
return formatter.message(Diagnostic.message(value));
|
|
558
|
+
|
|
559
|
+
case Diagnostic.Presentation.List:
|
|
560
|
+
if (typeof (value as Iterable<unknown>)?.[Symbol.iterator] !== "function") {
|
|
561
|
+
throw new ImplementationError("Diagnostic list is not iterable");
|
|
562
|
+
}
|
|
563
|
+
return renderIndentedList(value as Iterable<unknown>, formatter);
|
|
564
|
+
|
|
565
|
+
case Diagnostic.Presentation.Squash:
|
|
566
|
+
return renderValue(value, formatter, true);
|
|
567
|
+
|
|
568
|
+
case Diagnostic.Presentation.Strong:
|
|
569
|
+
return formatter.strong(() => renderDiagnostic(value, formatter));
|
|
570
|
+
|
|
571
|
+
case Diagnostic.Presentation.Weak:
|
|
572
|
+
return formatter.weak(() => renderDiagnostic(value, formatter));
|
|
573
|
+
|
|
574
|
+
case Diagnostic.Presentation.Error:
|
|
575
|
+
return formatter.error(() => renderDiagnostic(value, formatter));
|
|
576
|
+
|
|
577
|
+
case Diagnostic.Presentation.Via:
|
|
578
|
+
return formatter.via(`${value}`);
|
|
579
|
+
|
|
580
|
+
case Diagnostic.Presentation.Dictionary:
|
|
581
|
+
if (typeof value !== "object") {
|
|
582
|
+
throw new ImplementationError("Diagnostic dictionary is not an object");
|
|
583
|
+
}
|
|
584
|
+
return renderDictionary(value as object, formatter);
|
|
585
|
+
|
|
586
|
+
case Lifecycle.Status.Unknown:
|
|
587
|
+
case Lifecycle.Status.Inactive:
|
|
588
|
+
case Lifecycle.Status.Initializing:
|
|
589
|
+
case Lifecycle.Status.Active:
|
|
590
|
+
case Lifecycle.Status.Crashed:
|
|
591
|
+
case Lifecycle.Status.Destroyed:
|
|
592
|
+
return formatter.status(presentation, () => renderDiagnostic(value, formatter));
|
|
593
|
+
|
|
594
|
+
default:
|
|
595
|
+
throw new ImplementationError(`Unsupported diagnostic presentation "${presentation}"`);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
/**
|
|
600
|
+
* Group items in an iterable based on their presentation. The result is then
|
|
601
|
+
* appropriate for rendering as a list.
|
|
602
|
+
*/
|
|
603
|
+
function sequenceToList(sequence: Iterable<unknown>) {
|
|
604
|
+
let group: unknown[] | undefined;
|
|
605
|
+
const list = Array<unknown[]>();
|
|
606
|
+
for (const value of sequence) {
|
|
607
|
+
if (presentationFor(value) === Diagnostic.Presentation.List) {
|
|
608
|
+
group = undefined;
|
|
609
|
+
list.push(value as unknown[]);
|
|
610
|
+
continue;
|
|
611
|
+
}
|
|
612
|
+
if (!group) {
|
|
613
|
+
list.push((group = [value]));
|
|
614
|
+
} else {
|
|
615
|
+
group.push(value);
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
return list;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
function formatTime(time: Date) {
|
|
622
|
+
return `${time.getFullYear()}-${(time.getMonth() + 1).toString().padStart(2, "0")}-${time
|
|
623
|
+
.getDate()
|
|
624
|
+
.toString()
|
|
625
|
+
.padStart(2, "0")} ${time.getHours().toString().padStart(2, "0")}:${time
|
|
626
|
+
.getMinutes()
|
|
627
|
+
.toString()
|
|
628
|
+
.padStart(2, "0")}:${time.getSeconds().toString().padStart(2, "0")}.${time
|
|
629
|
+
.getMilliseconds()
|
|
630
|
+
.toString()
|
|
631
|
+
.padStart(3, "0")}`;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
/**
|
|
635
|
+
* Multiline messages should always have whitespace as the first character after newlines. Ensure this is so.
|
|
636
|
+
*/
|
|
637
|
+
function ensureIndented(text: string) {
|
|
638
|
+
if (text.match(/\n\S/s)) {
|
|
639
|
+
return text.replace(/\n/gs, "\n ");
|
|
640
|
+
}
|
|
641
|
+
return text;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
if (MatterError.formatterFor === MatterError.defaultFormatterFactory) {
|
|
645
|
+
MatterError.formatterFor = LogFormat;
|
|
646
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export function logLevelFromString(level: string) {
|
|
8
|
+
switch (level.toLowerCase()) {
|
|
9
|
+
case "debug":
|
|
10
|
+
return LogLevel.DEBUG;
|
|
11
|
+
case "info":
|
|
12
|
+
return LogLevel.INFO;
|
|
13
|
+
case "notice":
|
|
14
|
+
return LogLevel.NOTICE;
|
|
15
|
+
case "warn":
|
|
16
|
+
return LogLevel.WARN;
|
|
17
|
+
case "error":
|
|
18
|
+
return LogLevel.ERROR;
|
|
19
|
+
case "fatal":
|
|
20
|
+
return LogLevel.FATAL;
|
|
21
|
+
default:
|
|
22
|
+
return LogLevel.INFO;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Logging severity levels.
|
|
28
|
+
*/
|
|
29
|
+
export enum LogLevel {
|
|
30
|
+
DEBUG = 0,
|
|
31
|
+
INFO = 1,
|
|
32
|
+
NOTICE = 2,
|
|
33
|
+
WARN = 3,
|
|
34
|
+
ERROR = 4,
|
|
35
|
+
FATAL = 5,
|
|
36
|
+
}
|