@featbit/js-client-sdk 2.0.1 → 3.0.0
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 +21 -201
- package/README.md +162 -150
- package/dist/esm/Configuration.d.ts +35 -0
- package/dist/esm/Configuration.d.ts.map +1 -0
- package/dist/esm/Configuration.js +179 -0
- package/dist/esm/Configuration.js.map +1 -0
- package/dist/esm/Context.d.ts +23 -0
- package/dist/esm/Context.d.ts.map +1 -0
- package/dist/esm/Context.js +49 -0
- package/dist/esm/Context.js.map +1 -0
- package/dist/esm/FbClientBuilder.d.ts +90 -0
- package/dist/esm/FbClientBuilder.d.ts.map +1 -0
- package/dist/esm/FbClientBuilder.js +133 -0
- package/dist/esm/FbClientBuilder.js.map +1 -0
- package/dist/esm/FbClientCore.d.ts +56 -0
- package/dist/esm/FbClientCore.d.ts.map +1 -0
- package/dist/esm/FbClientCore.js +283 -0
- package/dist/esm/FbClientCore.js.map +1 -0
- package/dist/esm/IContextProperty.d.ts +5 -0
- package/dist/esm/IContextProperty.d.ts.map +1 -0
- package/dist/esm/IContextProperty.js +3 -0
- package/dist/esm/IContextProperty.js.map +1 -0
- package/dist/esm/IDataKind.d.ts +12 -0
- package/dist/esm/IDataKind.d.ts.map +1 -0
- package/dist/esm/IDataKind.js +3 -0
- package/dist/esm/IDataKind.js.map +1 -0
- package/dist/esm/IFbClient.d.ts +30 -0
- package/dist/esm/IFbClient.d.ts.map +1 -0
- package/dist/esm/IFbClient.js +3 -0
- package/dist/esm/IFbClient.js.map +1 -0
- package/dist/esm/IFbClientCore.d.ts +240 -0
- package/dist/esm/IFbClientCore.d.ts.map +1 -0
- package/dist/esm/IFbClientCore.js +3 -0
- package/dist/esm/IFbClientCore.js.map +1 -0
- package/dist/esm/IVersionedData.d.ts +18 -0
- package/dist/esm/IVersionedData.d.ts.map +1 -0
- package/dist/esm/IVersionedData.js +3 -0
- package/dist/esm/IVersionedData.js.map +1 -0
- package/dist/esm/bootstrap/IBootstrapProvider.d.ts +5 -0
- package/dist/esm/bootstrap/IBootstrapProvider.d.ts.map +1 -0
- package/dist/esm/bootstrap/IBootstrapProvider.js +3 -0
- package/dist/esm/bootstrap/IBootstrapProvider.js.map +1 -0
- package/dist/esm/bootstrap/JsonBootstrapProvider.d.ts +9 -0
- package/dist/esm/bootstrap/JsonBootstrapProvider.d.ts.map +1 -0
- package/dist/esm/bootstrap/JsonBootstrapProvider.js +29 -0
- package/dist/esm/bootstrap/JsonBootstrapProvider.js.map +1 -0
- package/dist/esm/bootstrap/NullBootstrapProvider.d.ts +8 -0
- package/dist/esm/bootstrap/NullBootstrapProvider.d.ts.map +1 -0
- package/dist/esm/bootstrap/NullBootstrapProvider.js +19 -0
- package/dist/esm/bootstrap/NullBootstrapProvider.js.map +1 -0
- package/dist/esm/bootstrap/index.d.ts +4 -0
- package/dist/esm/bootstrap/index.d.ts.map +1 -0
- package/dist/esm/bootstrap/index.js +20 -0
- package/dist/esm/bootstrap/index.js.map +1 -0
- package/dist/esm/constants.d.ts +3 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +6 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/data-sources/DataSourceUpdates.d.ts +17 -0
- package/dist/esm/data-sources/DataSourceUpdates.d.ts.map +1 -0
- package/dist/esm/data-sources/DataSourceUpdates.js +84 -0
- package/dist/esm/data-sources/DataSourceUpdates.js.map +1 -0
- package/dist/esm/data-sources/createStreamListeners.d.ts +19 -0
- package/dist/esm/data-sources/createStreamListeners.d.ts.map +1 -0
- package/dist/esm/data-sources/createStreamListeners.js +49 -0
- package/dist/esm/data-sources/createStreamListeners.js.map +1 -0
- package/dist/esm/data-sources/index.d.ts +3 -0
- package/dist/esm/data-sources/index.d.ts.map +1 -0
- package/dist/esm/data-sources/index.js +19 -0
- package/dist/esm/data-sources/index.js.map +1 -0
- package/dist/esm/data-sync/DataSyncMode.d.ts +5 -0
- package/dist/esm/data-sync/DataSyncMode.d.ts.map +1 -0
- package/dist/esm/data-sync/DataSyncMode.js +9 -0
- package/dist/esm/data-sync/DataSyncMode.js.map +1 -0
- package/dist/esm/data-sync/IDataSynchronizer.d.ts +15 -0
- package/dist/esm/data-sync/IDataSynchronizer.d.ts.map +1 -0
- package/dist/esm/data-sync/IDataSynchronizer.js +3 -0
- package/dist/esm/data-sync/IDataSynchronizer.js.map +1 -0
- package/dist/esm/data-sync/IRequestor.d.ts +11 -0
- package/dist/esm/data-sync/IRequestor.d.ts.map +1 -0
- package/dist/esm/data-sync/IRequestor.js +3 -0
- package/dist/esm/data-sync/IRequestor.js.map +1 -0
- package/dist/esm/data-sync/NullDataSynchronizer.d.ts +8 -0
- package/dist/esm/data-sync/NullDataSynchronizer.d.ts.map +1 -0
- package/dist/esm/data-sync/NullDataSynchronizer.js +15 -0
- package/dist/esm/data-sync/NullDataSynchronizer.js.map +1 -0
- package/dist/esm/data-sync/PollingDataSynchronizer.d.ts +23 -0
- package/dist/esm/data-sync/PollingDataSynchronizer.d.ts.map +1 -0
- package/dist/esm/data-sync/PollingDataSynchronizer.js +87 -0
- package/dist/esm/data-sync/PollingDataSynchronizer.js.map +1 -0
- package/dist/esm/data-sync/Requestor.d.ts +20 -0
- package/dist/esm/data-sync/Requestor.d.ts.map +1 -0
- package/dist/esm/data-sync/Requestor.js +56 -0
- package/dist/esm/data-sync/Requestor.js.map +1 -0
- package/dist/esm/data-sync/WebSocketDataSynchronizer.d.ts +20 -0
- package/dist/esm/data-sync/WebSocketDataSynchronizer.d.ts.map +1 -0
- package/dist/esm/data-sync/WebSocketDataSynchronizer.js +55 -0
- package/dist/esm/data-sync/WebSocketDataSynchronizer.js.map +1 -0
- package/dist/esm/data-sync/index.d.ts +10 -0
- package/dist/esm/data-sync/index.d.ts.map +1 -0
- package/dist/esm/data-sync/index.js +26 -0
- package/dist/esm/data-sync/index.js.map +1 -0
- package/dist/esm/data-sync/types.d.ts +17 -0
- package/dist/esm/data-sync/types.d.ts.map +1 -0
- package/dist/esm/data-sync/types.js +9 -0
- package/dist/esm/data-sync/types.js.map +1 -0
- package/dist/esm/data-sync/utils.d.ts +3 -0
- package/dist/esm/data-sync/utils.d.ts.map +1 -0
- package/dist/esm/data-sync/utils.js +33 -0
- package/dist/esm/data-sync/utils.js.map +1 -0
- package/dist/esm/errors.d.ts +16 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js +41 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/evaluation/EvalResult.d.ts +20 -0
- package/dist/esm/evaluation/EvalResult.d.ts.map +1 -0
- package/dist/esm/evaluation/EvalResult.js +33 -0
- package/dist/esm/evaluation/EvalResult.js.map +1 -0
- package/dist/esm/evaluation/Evaluator.d.ts +15 -0
- package/dist/esm/evaluation/Evaluator.d.ts.map +1 -0
- package/dist/esm/evaluation/Evaluator.js +28 -0
- package/dist/esm/evaluation/Evaluator.js.map +1 -0
- package/dist/esm/evaluation/IEvalDetail.d.ts +21 -0
- package/dist/esm/evaluation/IEvalDetail.d.ts.map +1 -0
- package/dist/esm/evaluation/IEvalDetail.js +3 -0
- package/dist/esm/evaluation/IEvalDetail.js.map +1 -0
- package/dist/esm/evaluation/ReasonKinds.d.ts +11 -0
- package/dist/esm/evaluation/ReasonKinds.d.ts.map +1 -0
- package/dist/esm/evaluation/ReasonKinds.js +15 -0
- package/dist/esm/evaluation/ReasonKinds.js.map +1 -0
- package/dist/esm/evaluation/data/IFlag.d.ts +26 -0
- package/dist/esm/evaluation/data/IFlag.d.ts.map +1 -0
- package/dist/esm/evaluation/data/IFlag.js +12 -0
- package/dist/esm/evaluation/data/IFlag.js.map +1 -0
- package/dist/esm/evaluation/data/index.d.ts +2 -0
- package/dist/esm/evaluation/data/index.d.ts.map +1 -0
- package/dist/esm/evaluation/data/index.js +18 -0
- package/dist/esm/evaluation/data/index.js.map +1 -0
- package/dist/esm/evaluation/index.d.ts +6 -0
- package/dist/esm/evaluation/index.d.ts.map +1 -0
- package/dist/esm/evaluation/index.js +22 -0
- package/dist/esm/evaluation/index.js.map +1 -0
- package/dist/esm/events/DefaultEventProcessor.d.ts +16 -0
- package/dist/esm/events/DefaultEventProcessor.d.ts.map +1 -0
- package/dist/esm/events/DefaultEventProcessor.js +79 -0
- package/dist/esm/events/DefaultEventProcessor.js.map +1 -0
- package/dist/esm/events/DefaultEventQueue.d.ts +18 -0
- package/dist/esm/events/DefaultEventQueue.d.ts.map +1 -0
- package/dist/esm/events/DefaultEventQueue.js +42 -0
- package/dist/esm/events/DefaultEventQueue.js.map +1 -0
- package/dist/esm/events/DefaultEventSender.d.ts +10 -0
- package/dist/esm/events/DefaultEventSender.d.ts.map +1 -0
- package/dist/esm/events/DefaultEventSender.js +67 -0
- package/dist/esm/events/DefaultEventSender.js.map +1 -0
- package/dist/esm/events/DefaultEventSerializer.d.ts +6 -0
- package/dist/esm/events/DefaultEventSerializer.d.ts.map +1 -0
- package/dist/esm/events/DefaultEventSerializer.js +14 -0
- package/dist/esm/events/DefaultEventSerializer.js.map +1 -0
- package/dist/esm/events/EventDispatcher.d.ts +17 -0
- package/dist/esm/events/EventDispatcher.d.ts.map +1 -0
- package/dist/esm/events/EventDispatcher.js +127 -0
- package/dist/esm/events/EventDispatcher.js.map +1 -0
- package/dist/esm/events/EventSerializer.d.ts +5 -0
- package/dist/esm/events/EventSerializer.d.ts.map +1 -0
- package/dist/esm/events/EventSerializer.js +3 -0
- package/dist/esm/events/EventSerializer.js.map +1 -0
- package/dist/esm/events/IEventProcessor.d.ts +7 -0
- package/dist/esm/events/IEventProcessor.d.ts.map +1 -0
- package/dist/esm/events/IEventProcessor.js +3 -0
- package/dist/esm/events/IEventProcessor.js.map +1 -0
- package/dist/esm/events/IEventQueue.d.ts +11 -0
- package/dist/esm/events/IEventQueue.d.ts.map +1 -0
- package/dist/esm/events/IEventQueue.js +3 -0
- package/dist/esm/events/IEventQueue.js.map +1 -0
- package/dist/esm/events/IEventSender.d.ts +13 -0
- package/dist/esm/events/IEventSender.d.ts.map +1 -0
- package/dist/esm/events/IEventSender.js +10 -0
- package/dist/esm/events/IEventSender.js.map +1 -0
- package/dist/esm/events/NullEventProcessor.d.ts +8 -0
- package/dist/esm/events/NullEventProcessor.d.ts.map +1 -0
- package/dist/esm/events/NullEventProcessor.js +16 -0
- package/dist/esm/events/NullEventProcessor.js.map +1 -0
- package/dist/esm/events/event.d.ts +44 -0
- package/dist/esm/events/event.d.ts.map +1 -0
- package/dist/esm/events/event.js +115 -0
- package/dist/esm/events/event.js.map +1 -0
- package/dist/esm/events/index.d.ts +12 -0
- package/dist/esm/events/index.d.ts.map +1 -0
- package/dist/esm/events/index.js +28 -0
- package/dist/esm/events/index.js.map +1 -0
- package/dist/esm/index.d.ts +20 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +36 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/integrations/TestLogger.d.ts +10 -0
- package/dist/esm/integrations/TestLogger.d.ts.map +1 -0
- package/dist/esm/integrations/TestLogger.js +25 -0
- package/dist/esm/integrations/TestLogger.js.map +1 -0
- package/dist/esm/integrations/index.d.ts +3 -0
- package/dist/esm/integrations/index.d.ts.map +1 -0
- package/dist/esm/integrations/index.js +21 -0
- package/dist/esm/integrations/index.js.map +1 -0
- package/dist/esm/integrations/test_data/FlagBuilder.d.ts +19 -0
- package/dist/esm/integrations/test_data/FlagBuilder.d.ts.map +1 -0
- package/dist/esm/integrations/test_data/FlagBuilder.js +56 -0
- package/dist/esm/integrations/test_data/FlagBuilder.js.map +1 -0
- package/dist/esm/integrations/test_data/TestData.d.ts +18 -0
- package/dist/esm/integrations/test_data/TestData.d.ts.map +1 -0
- package/dist/esm/integrations/test_data/TestData.js +38 -0
- package/dist/esm/integrations/test_data/TestData.js.map +1 -0
- package/dist/esm/integrations/test_data/TestDataSynchronizer.d.ts +21 -0
- package/dist/esm/integrations/test_data/TestDataSynchronizer.d.ts.map +1 -0
- package/dist/esm/integrations/test_data/TestDataSynchronizer.js +50 -0
- package/dist/esm/integrations/test_data/TestDataSynchronizer.js.map +1 -0
- package/dist/esm/integrations/test_data/index.d.ts +5 -0
- package/dist/esm/integrations/test_data/index.d.ts.map +1 -0
- package/dist/esm/integrations/test_data/index.js +13 -0
- package/dist/esm/integrations/test_data/index.js.map +1 -0
- package/dist/esm/logging/BasicLogger.d.ts +34 -0
- package/dist/esm/logging/BasicLogger.d.ts.map +1 -0
- package/dist/esm/logging/BasicLogger.js +101 -0
- package/dist/esm/logging/BasicLogger.js.map +1 -0
- package/dist/esm/logging/IBasicLoggerOptions.d.ts +43 -0
- package/dist/esm/logging/IBasicLoggerOptions.d.ts.map +1 -0
- package/dist/esm/logging/IBasicLoggerOptions.js +3 -0
- package/dist/esm/logging/IBasicLoggerOptions.js.map +1 -0
- package/dist/esm/logging/ILogger.d.ts +47 -0
- package/dist/esm/logging/ILogger.d.ts.map +1 -0
- package/dist/esm/logging/ILogger.js +3 -0
- package/dist/esm/logging/ILogger.js.map +1 -0
- package/dist/esm/logging/LogLevel.d.ts +10 -0
- package/dist/esm/logging/LogLevel.d.ts.map +1 -0
- package/dist/esm/logging/LogLevel.js +3 -0
- package/dist/esm/logging/LogLevel.js.map +1 -0
- package/dist/esm/logging/SafeLogger.d.ts +28 -0
- package/dist/esm/logging/SafeLogger.d.ts.map +1 -0
- package/dist/esm/logging/SafeLogger.js +63 -0
- package/dist/esm/logging/SafeLogger.js.map +1 -0
- package/dist/esm/logging/format.d.ts +12 -0
- package/dist/esm/logging/format.d.ts.map +1 -0
- package/dist/esm/logging/format.js +156 -0
- package/dist/esm/logging/format.js.map +1 -0
- package/dist/esm/logging/index.d.ts +7 -0
- package/dist/esm/logging/index.d.ts.map +1 -0
- package/dist/esm/logging/index.js +23 -0
- package/dist/esm/logging/index.js.map +1 -0
- package/dist/esm/options/ClientContext.d.ts +28 -0
- package/dist/esm/options/ClientContext.d.ts.map +1 -0
- package/dist/esm/options/ClientContext.js +21 -0
- package/dist/esm/options/ClientContext.js.map +1 -0
- package/dist/esm/options/IClientContext.d.ts +45 -0
- package/dist/esm/options/IClientContext.d.ts.map +1 -0
- package/dist/esm/options/IClientContext.js +3 -0
- package/dist/esm/options/IClientContext.js.map +1 -0
- package/dist/esm/options/IOptions.d.ts +101 -0
- package/dist/esm/options/IOptions.d.ts.map +1 -0
- package/dist/esm/options/IOptions.js +3 -0
- package/dist/esm/options/IOptions.js.map +1 -0
- package/dist/esm/options/IUser.d.ts +7 -0
- package/dist/esm/options/IUser.d.ts.map +1 -0
- package/dist/esm/options/IUser.js +3 -0
- package/dist/esm/options/IUser.js.map +1 -0
- package/dist/esm/options/IValidatedOptions.d.ts +27 -0
- package/dist/esm/options/IValidatedOptions.d.ts.map +1 -0
- package/dist/esm/options/IValidatedOptions.js +3 -0
- package/dist/esm/options/IValidatedOptions.js.map +1 -0
- package/dist/esm/options/OptionMessages.d.ts +14 -0
- package/dist/esm/options/OptionMessages.d.ts.map +1 -0
- package/dist/esm/options/OptionMessages.js +33 -0
- package/dist/esm/options/OptionMessages.js.map +1 -0
- package/dist/esm/options/UserBuilder.d.ts +17 -0
- package/dist/esm/options/UserBuilder.d.ts.map +1 -0
- package/dist/esm/options/UserBuilder.js +35 -0
- package/dist/esm/options/UserBuilder.js.map +1 -0
- package/dist/esm/options/Validators.d.ts +111 -0
- package/dist/esm/options/Validators.d.ts.map +1 -0
- package/dist/esm/options/Validators.js +247 -0
- package/dist/esm/options/Validators.js.map +1 -0
- package/dist/esm/options/index.d.ts +9 -0
- package/dist/esm/options/index.d.ts.map +1 -0
- package/dist/esm/options/index.js +25 -0
- package/dist/esm/options/index.js.map +1 -0
- package/dist/esm/platform/IInfo.d.ts +73 -0
- package/dist/esm/platform/IInfo.d.ts.map +1 -0
- package/dist/esm/platform/IInfo.js +3 -0
- package/dist/esm/platform/IInfo.js.map +1 -0
- package/dist/esm/platform/IPlatform.d.ts +19 -0
- package/dist/esm/platform/IPlatform.d.ts.map +1 -0
- package/dist/esm/platform/IPlatform.js +3 -0
- package/dist/esm/platform/IPlatform.js.map +1 -0
- package/dist/esm/platform/IStore.d.ts +110 -0
- package/dist/esm/platform/IStore.d.ts.map +1 -0
- package/dist/esm/platform/IStore.js +3 -0
- package/dist/esm/platform/IStore.js.map +1 -0
- package/dist/esm/platform/IWebSocket.d.ts +21 -0
- package/dist/esm/platform/IWebSocket.d.ts.map +1 -0
- package/dist/esm/platform/IWebSocket.js +3 -0
- package/dist/esm/platform/IWebSocket.js.map +1 -0
- package/dist/esm/platform/browser/BrowserInfo.d.ts +7 -0
- package/dist/esm/platform/browser/BrowserInfo.d.ts.map +1 -0
- package/dist/esm/platform/browser/BrowserInfo.js +24 -0
- package/dist/esm/platform/browser/BrowserInfo.js.map +1 -0
- package/dist/esm/platform/browser/BrowserPlatform.d.ts +12 -0
- package/dist/esm/platform/browser/BrowserPlatform.d.ts.map +1 -0
- package/dist/esm/platform/browser/BrowserPlatform.js +17 -0
- package/dist/esm/platform/browser/BrowserPlatform.js.map +1 -0
- package/dist/esm/platform/browser/BrowserRequests.d.ts +5 -0
- package/dist/esm/platform/browser/BrowserRequests.d.ts.map +1 -0
- package/dist/esm/platform/browser/BrowserRequests.js +9 -0
- package/dist/esm/platform/browser/BrowserRequests.js.map +1 -0
- package/dist/esm/platform/browser/BrowserWebSocket.d.ts +38 -0
- package/dist/esm/platform/browser/BrowserWebSocket.d.ts.map +1 -0
- package/dist/esm/platform/browser/BrowserWebSocket.js +129 -0
- package/dist/esm/platform/browser/BrowserWebSocket.js.map +1 -0
- package/dist/esm/platform/browser/FbClient.d.ts +30 -0
- package/dist/esm/platform/browser/FbClient.d.ts.map +1 -0
- package/dist/esm/platform/browser/FbClient.js +47 -0
- package/dist/esm/platform/browser/FbClient.js.map +1 -0
- package/dist/esm/platform/browser/LocalStorageStore.d.ts +26 -0
- package/dist/esm/platform/browser/LocalStorageStore.d.ts.map +1 -0
- package/dist/esm/platform/browser/LocalStorageStore.js +122 -0
- package/dist/esm/platform/browser/LocalStorageStore.js.map +1 -0
- package/dist/esm/platform/index.d.ts +5 -0
- package/dist/esm/platform/index.d.ts.map +1 -0
- package/dist/esm/platform/index.js +21 -0
- package/dist/esm/platform/index.js.map +1 -0
- package/dist/esm/platform/requests.d.ts +64 -0
- package/dist/esm/platform/requests.d.ts.map +1 -0
- package/dist/esm/platform/requests.js +7 -0
- package/dist/esm/platform/requests.js.map +1 -0
- package/dist/esm/store/DataKinds.d.ts +5 -0
- package/dist/esm/store/DataKinds.d.ts.map +1 -0
- package/dist/esm/store/DataKinds.js +9 -0
- package/dist/esm/store/DataKinds.js.map +1 -0
- package/dist/esm/store/IDataSourceUpdates.d.ts +48 -0
- package/dist/esm/store/IDataSourceUpdates.d.ts.map +1 -0
- package/dist/esm/store/IDataSourceUpdates.js +3 -0
- package/dist/esm/store/IDataSourceUpdates.js.map +1 -0
- package/dist/esm/store/InMemoryStore.d.ts +24 -0
- package/dist/esm/store/InMemoryStore.d.ts.map +1 -0
- package/dist/esm/store/InMemoryStore.js +96 -0
- package/dist/esm/store/InMemoryStore.js.map +1 -0
- package/dist/esm/store/index.d.ts +6 -0
- package/dist/esm/store/index.d.ts.map +1 -0
- package/dist/esm/store/index.js +22 -0
- package/dist/esm/store/index.js.map +1 -0
- package/dist/esm/store/serialization.d.ts +23 -0
- package/dist/esm/store/serialization.d.ts.map +1 -0
- package/dist/esm/store/serialization.js +37 -0
- package/dist/esm/store/serialization.js.map +1 -0
- package/dist/esm/store/store.d.ts +30 -0
- package/dist/esm/store/store.d.ts.map +1 -0
- package/dist/esm/store/store.js +6 -0
- package/dist/esm/store/store.js.map +1 -0
- package/dist/esm/utils/Emits.d.ts +30 -0
- package/dist/esm/utils/Emits.d.ts.map +1 -0
- package/dist/esm/utils/Emits.js +64 -0
- package/dist/esm/utils/Emits.js.map +1 -0
- package/dist/esm/utils/EventEmitter.d.ts +22 -0
- package/dist/esm/utils/EventEmitter.d.ts.map +1 -0
- package/dist/esm/utils/EventEmitter.js +108 -0
- package/dist/esm/utils/EventEmitter.js.map +1 -0
- package/dist/esm/utils/IEventEmitter.d.ts +16 -0
- package/dist/esm/utils/IEventEmitter.d.ts.map +1 -0
- package/dist/esm/utils/IEventEmitter.js +3 -0
- package/dist/esm/utils/IEventEmitter.js.map +1 -0
- package/dist/esm/utils/Regex.d.ts +7 -0
- package/dist/esm/utils/Regex.d.ts.map +1 -0
- package/dist/esm/utils/Regex.js +22 -0
- package/dist/esm/utils/Regex.js.map +1 -0
- package/dist/esm/utils/ValueConverters.d.ts +13 -0
- package/dist/esm/utils/ValueConverters.d.ts.map +1 -0
- package/dist/esm/utils/ValueConverters.js +46 -0
- package/dist/esm/utils/ValueConverters.js.map +1 -0
- package/dist/esm/utils/VoidFunction.d.ts +2 -0
- package/dist/esm/utils/VoidFunction.d.ts.map +1 -0
- package/dist/esm/utils/VoidFunction.js +3 -0
- package/dist/esm/utils/VoidFunction.js.map +1 -0
- package/dist/esm/utils/canonicalizeUri.d.ts +2 -0
- package/dist/esm/utils/canonicalizeUri.d.ts.map +1 -0
- package/dist/esm/utils/canonicalizeUri.js +9 -0
- package/dist/esm/utils/canonicalizeUri.js.map +1 -0
- package/dist/esm/utils/http.d.ts +12 -0
- package/dist/esm/utils/http.d.ts.map +1 -0
- package/dist/esm/utils/http.js +26 -0
- package/dist/esm/utils/http.js.map +1 -0
- package/dist/esm/utils/index.d.ts +5 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +21 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/isNullOrUndefined.d.ts +2 -0
- package/dist/esm/utils/isNullOrUndefined.d.ts.map +1 -0
- package/dist/esm/utils/isNullOrUndefined.js +8 -0
- package/dist/esm/utils/isNullOrUndefined.js.map +1 -0
- package/dist/esm/utils/serializeUser.d.ts +3 -0
- package/dist/esm/utils/serializeUser.d.ts.map +1 -0
- package/dist/esm/utils/serializeUser.js +24 -0
- package/dist/esm/utils/serializeUser.js.map +1 -0
- package/dist/esm/utils/sleep.d.ts +3 -0
- package/dist/esm/utils/sleep.d.ts.map +1 -0
- package/dist/esm/utils/sleep.js +18 -0
- package/dist/esm/utils/sleep.js.map +1 -0
- package/dist/esm/version.d.ts +3 -0
- package/dist/esm/version.d.ts.map +1 -0
- package/dist/esm/version.js +6 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/umd/featbit-js-client-sdk-3.0.0.js +2 -0
- package/dist/umd/featbit-js-client-sdk-3.0.0.js.map +1 -0
- package/dist/umd/featbit-js-client-sdk.js +2 -0
- package/dist/umd/featbit-js-client-sdk.js.map +1 -0
- package/package.json +22 -24
- package/src/Configuration.ts +234 -0
- package/src/Context.ts +62 -0
- package/src/FbClientBuilder.ts +161 -0
- package/src/FbClientCore.ts +389 -0
- package/src/IContextProperty.ts +4 -0
- package/src/IDataKind.ts +11 -0
- package/src/IFbClient.ts +30 -0
- package/src/IFbClientCore.ts +291 -0
- package/src/IVersionedData.ts +18 -0
- package/src/bootstrap/IBootstrapProvider.ts +5 -0
- package/src/bootstrap/JsonBootstrapProvider.ts +35 -0
- package/src/bootstrap/NullBootstrapProvider.ts +21 -0
- package/src/bootstrap/index.ts +3 -0
- package/src/constants.ts +2 -6
- package/src/data-sources/DataSourceUpdates.ts +93 -0
- package/src/data-sources/createStreamListeners.ts +66 -0
- package/src/data-sources/index.ts +2 -0
- package/src/data-sync/DataSyncMode.ts +4 -0
- package/src/data-sync/IDataSynchronizer.ts +15 -0
- package/src/data-sync/IRequestor.ts +10 -0
- package/src/data-sync/NullDataSynchronizer.ts +15 -0
- package/src/data-sync/PollingDataSynchronizer.ts +111 -0
- package/src/data-sync/Requestor.ts +61 -0
- package/src/data-sync/WebSocketDataSynchronizer.ts +74 -0
- package/src/data-sync/index.ts +9 -0
- package/src/data-sync/types.ts +20 -0
- package/src/data-sync/utils.ts +32 -0
- package/src/errors.ts +41 -0
- package/src/evaluation/EvalResult.ts +36 -0
- package/src/evaluation/Evaluator.ts +27 -0
- package/src/evaluation/IEvalDetail.ts +24 -0
- package/src/evaluation/ReasonKinds.ts +10 -0
- package/src/evaluation/data/IFlag.ts +29 -0
- package/src/evaluation/data/index.ts +1 -0
- package/src/evaluation/index.ts +5 -0
- package/src/events/DefaultEventProcessor.ts +84 -0
- package/src/events/DefaultEventQueue.ts +50 -0
- package/src/events/DefaultEventSender.ts +75 -0
- package/src/events/DefaultEventSerializer.ts +12 -0
- package/src/events/EventDispatcher.ts +128 -0
- package/src/events/EventSerializer.ts +5 -0
- package/src/events/IEventProcessor.ts +9 -0
- package/src/events/IEventQueue.ts +17 -0
- package/src/events/IEventSender.ts +14 -0
- package/src/events/NullEventProcessor.ts +16 -0
- package/src/events/event.ts +130 -0
- package/src/events/index.ts +11 -0
- package/src/index.ts +19 -4
- package/src/integrations/TestLogger.ts +25 -0
- package/src/integrations/index.ts +2 -0
- package/src/integrations/test_data/FlagBuilder.ts +60 -0
- package/src/integrations/test_data/TestData.ts +58 -0
- package/src/integrations/test_data/TestDataSynchronizer.ts +50 -0
- package/src/integrations/test_data/index.ts +5 -0
- package/src/logging/BasicLogger.ts +108 -0
- package/src/logging/IBasicLoggerOptions.ts +46 -0
- package/src/logging/ILogger.ts +49 -0
- package/src/logging/LogLevel.ts +9 -0
- package/src/logging/SafeLogger.ts +70 -0
- package/src/logging/format.ts +154 -0
- package/src/logging/index.ts +6 -0
- package/src/options/ClientContext.ts +40 -0
- package/src/options/IClientContext.ts +54 -0
- package/src/options/IOptions.ts +124 -0
- package/src/options/IUser.ts +7 -0
- package/src/options/IValidatedOptions.ts +30 -0
- package/src/options/OptionMessages.ts +36 -0
- package/src/options/UserBuilder.ts +36 -0
- package/src/options/Validators.ts +301 -0
- package/src/options/index.ts +8 -0
- package/src/platform/IInfo.ts +82 -0
- package/src/platform/IPlatform.ts +21 -0
- package/src/platform/IStore.ts +119 -0
- package/src/platform/IWebSocket.ts +23 -0
- package/src/platform/browser/BrowserInfo.ts +25 -0
- package/src/platform/browser/BrowserPlatform.ts +20 -0
- package/src/platform/browser/BrowserRequests.ts +7 -0
- package/src/platform/browser/BrowserWebSocket.ts +143 -0
- package/src/platform/browser/FbClient.ts +59 -0
- package/src/platform/browser/LocalStorageStore.ts +153 -0
- package/src/platform/index.ts +4 -0
- package/src/platform/requests.ts +77 -0
- package/src/store/DataKinds.ts +7 -0
- package/src/store/IDataSourceUpdates.ts +49 -0
- package/src/store/InMemoryStore.ts +115 -0
- package/src/store/index.ts +5 -0
- package/src/store/serialization.ts +52 -0
- package/src/store/store.ts +38 -0
- package/src/utils/Emits.ts +76 -0
- package/src/utils/EventEmitter.ts +129 -0
- package/src/utils/IEventEmitter.ts +15 -0
- package/src/utils/Regex.ts +22 -0
- package/src/utils/ValueConverters.ts +56 -0
- package/src/utils/VoidFunction.ts +1 -0
- package/src/utils/canonicalizeUri.ts +4 -0
- package/src/utils/http.ts +40 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/isNullOrUndefined.ts +3 -0
- package/src/utils/serializeUser.ts +28 -0
- package/src/utils/sleep.ts +6 -0
- package/src/version.ts +1 -0
- package/esm/constants.d.ts +0 -6
- package/esm/constants.js +0 -7
- package/esm/constants.js.map +0 -1
- package/esm/events.d.ts +0 -14
- package/esm/events.js +0 -27
- package/esm/events.js.map +0 -1
- package/esm/featbit.d.ts +0 -34
- package/esm/featbit.js +0 -382
- package/esm/featbit.js.map +0 -1
- package/esm/index.d.ts +0 -4
- package/esm/index.js +0 -5
- package/esm/index.js.map +0 -1
- package/esm/logger.d.ts +0 -4
- package/esm/logger.js +0 -20
- package/esm/logger.js.map +0 -1
- package/esm/network.service.d.ts +0 -27
- package/esm/network.service.js +0 -288
- package/esm/network.service.js.map +0 -1
- package/esm/optionMessages.d.ts +0 -5
- package/esm/optionMessages.js +0 -16
- package/esm/optionMessages.js.map +0 -1
- package/esm/queue.d.ts +0 -8
- package/esm/queue.js +0 -35
- package/esm/queue.js.map +0 -1
- package/esm/store.d.ts +0 -20
- package/esm/store.js +0 -143
- package/esm/store.js.map +0 -1
- package/esm/throttleutil.d.ts +0 -9
- package/esm/throttleutil.js +0 -133
- package/esm/throttleutil.js.map +0 -1
- package/esm/types.d.ts +0 -94
- package/esm/types.js +0 -24
- package/esm/types.js.map +0 -1
- package/esm/umd.d.ts +0 -2
- package/esm/utils.d.ts +0 -11
- package/esm/utils.js +0 -142
- package/esm/utils.js.map +0 -1
- package/src/events.ts +0 -29
- package/src/featbit.ts +0 -343
- package/src/logger.ts +0 -13
- package/src/network.service.ts +0 -223
- package/src/optionMessages.ts +0 -13
- package/src/queue.ts +0 -23
- package/src/store.ts +0 -169
- package/src/throttleutil.ts +0 -72
- package/src/types.ts +0 -113
- package/src/umd.ts +0 -15
- package/src/utils.ts +0 -173
- package/umd/featbit-js-client-sdk-2.0.1.js +0 -2
- package/umd/featbit-js-client-sdk-2.0.1.js.map +0 -1
- package/umd/featbit-js-client-sdk.js +0 -2
- package/umd/featbit-js-client-sdk.js.map +0 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IDataSynchronizer } from "../../data-sync/IDataSynchronizer";
|
|
2
|
+
import { IFlag } from "../../evaluation/data/IFlag";
|
|
3
|
+
import { EventName, ProcessStreamResponse } from "../../data-sync/types";
|
|
4
|
+
import { IDataSourceUpdates } from "../../store/IDataSourceUpdates";
|
|
5
|
+
import { VoidFunction } from "../../utils/VoidFunction";
|
|
6
|
+
import { IDataKind } from "../../IDataKind";
|
|
7
|
+
import { IKeyedStoreItem } from "../../store/store";
|
|
8
|
+
export default class TestDataSynchronizer implements IDataSynchronizer {
|
|
9
|
+
private dataSourceUpdates;
|
|
10
|
+
private readonly onStop;
|
|
11
|
+
private readonly listeners;
|
|
12
|
+
private readonly flags;
|
|
13
|
+
private readonly userKeyId;
|
|
14
|
+
constructor(dataSourceUpdates: IDataSourceUpdates, initialFlags: IFlag[], onStop: VoidFunction, listeners: Map<EventName, ProcessStreamResponse>);
|
|
15
|
+
start(): Promise<void>;
|
|
16
|
+
identify(): void;
|
|
17
|
+
stop(): void;
|
|
18
|
+
close(): void;
|
|
19
|
+
upsert(kind: IDataKind, value: IKeyedStoreItem): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=TestDataSynchronizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestDataSynchronizer.d.ts","sourceRoot":"","sources":["../../../../src/integrations/test_data/TestDataSynchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,oBAAqB,YAAW,iBAAiB;IAKlE,OAAO,CAAC,iBAAiB;IAEzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;gBAG9C,iBAAiB,EAAE,kBAAkB,EAC7C,YAAY,EAAE,KAAK,EAAE,EACJ,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAO7D,KAAK;IAOX,QAAQ;IAIR,IAAI;IAIJ,KAAK;IAIC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe;CAOrD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
class TestDataSynchronizer {
|
|
13
|
+
constructor(dataSourceUpdates, initialFlags, onStop, listeners) {
|
|
14
|
+
this.dataSourceUpdates = dataSourceUpdates;
|
|
15
|
+
this.onStop = onStop;
|
|
16
|
+
this.listeners = listeners;
|
|
17
|
+
this.userKeyId = 'test-user-key-id';
|
|
18
|
+
// make copies of these objects to decouple them from the originals
|
|
19
|
+
// so updates made to the originals don't affect these internal data.
|
|
20
|
+
this.flags = [...initialFlags];
|
|
21
|
+
}
|
|
22
|
+
start() {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
this.listeners.forEach(({ deserializeData, processJson }) => {
|
|
25
|
+
const data = deserializeData(this.flags);
|
|
26
|
+
processJson(this.userKeyId, data);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
identify() {
|
|
31
|
+
// no-op
|
|
32
|
+
}
|
|
33
|
+
stop() {
|
|
34
|
+
this.onStop();
|
|
35
|
+
}
|
|
36
|
+
close() {
|
|
37
|
+
this.stop();
|
|
38
|
+
}
|
|
39
|
+
upsert(kind, value) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
return new Promise((resolve) => {
|
|
42
|
+
this.dataSourceUpdates.upsert(this.userKeyId, kind, value, () => {
|
|
43
|
+
resolve();
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.default = TestDataSynchronizer;
|
|
50
|
+
//# sourceMappingURL=TestDataSynchronizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestDataSynchronizer.js","sourceRoot":"","sources":["../../../../src/integrations/test_data/TestDataSynchronizer.ts"],"names":[],"mappings":";;;;;;;;;;;AAQA,MAAqB,oBAAoB;IAIvC,YACU,iBAAqC,EAC7C,YAAqB,EACJ,MAAoB,EACpB,SAAgD;QAHzD,sBAAiB,GAAjB,iBAAiB,CAAoB;QAE5B,WAAM,GAAN,MAAM,CAAc;QACpB,cAAS,GAAT,SAAS,CAAuC;QANlD,cAAS,GAAW,kBAAkB,CAAC;QAQtD,mEAAmE;QACnE,qEAAqE;QACrE,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IACjC,CAAC;IAEK,KAAK;;YACT,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAC,eAAe,EAAE,WAAW,EAAE,EAAE,EAAE;gBACzD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,QAAQ;QACN,QAAQ;IACV,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEK,MAAM,CAAC,IAAe,EAAE,KAAsB;;YAClD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACnC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC9D,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AAzCD,uCAyCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/integrations/test_data/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TestDataSynchronizer = exports.FlagBuilder = exports.TestData = void 0;
|
|
7
|
+
const TestData_1 = __importDefault(require("./TestData"));
|
|
8
|
+
exports.TestData = TestData_1.default;
|
|
9
|
+
const FlagBuilder_1 = require("./FlagBuilder");
|
|
10
|
+
Object.defineProperty(exports, "FlagBuilder", { enumerable: true, get: function () { return FlagBuilder_1.FlagBuilder; } });
|
|
11
|
+
const TestDataSynchronizer_1 = __importDefault(require("./TestDataSynchronizer"));
|
|
12
|
+
exports.TestDataSynchronizer = TestDataSynchronizer_1.default;
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integrations/test_data/index.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAIzB,mBAJF,kBAAQ,CAIE;AAHjB,+CAA4C;AAGzB,4FAHV,yBAAW,OAGU;AAF9B,kFAA0D;AAE1B,+BAFzB,8BAAoB,CAEyB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ILogger } from "./ILogger";
|
|
2
|
+
import { IBasicLoggerOptions } from "./IBasicLoggerOptions";
|
|
3
|
+
/**
|
|
4
|
+
* A basic logger which handles filtering by level.
|
|
5
|
+
*
|
|
6
|
+
* With the default options it will write to `console.error`
|
|
7
|
+
* and it will use the formatting provided by `console.error`.
|
|
8
|
+
* If the destination is overwritten, then it will use an included
|
|
9
|
+
* formatter similar to `util.format`.
|
|
10
|
+
*
|
|
11
|
+
* If a formatter is available, then that should be overridden
|
|
12
|
+
* as well for performance.
|
|
13
|
+
*/
|
|
14
|
+
export declare class BasicLogger implements ILogger {
|
|
15
|
+
private logLevel;
|
|
16
|
+
private name;
|
|
17
|
+
private destination?;
|
|
18
|
+
private formatter?;
|
|
19
|
+
/**
|
|
20
|
+
* This should only be used as a default fallback and not as a convenient
|
|
21
|
+
* solution. In most cases you should construct a new instance with the
|
|
22
|
+
* appropriate options for your specific needs.
|
|
23
|
+
*/
|
|
24
|
+
static get(): BasicLogger;
|
|
25
|
+
constructor(options: IBasicLoggerOptions);
|
|
26
|
+
private tryFormat;
|
|
27
|
+
private tryWrite;
|
|
28
|
+
private log;
|
|
29
|
+
error(...args: any[]): void;
|
|
30
|
+
warn(...args: any[]): void;
|
|
31
|
+
info(...args: any[]): void;
|
|
32
|
+
debug(...args: any[]): void;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=BasicLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BasicLogger.d.ts","sourceRoot":"","sources":["../../../src/logging/BasicLogger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAY5D;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,YAAW,OAAO;IACzC,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,IAAI,CAAS;IAErB,OAAO,CAAC,WAAW,CAAC,CAAyB;IAE7C,OAAO,CAAC,SAAS,CAAC,CAA6B;IAE/C;;;;OAIG;IACH,MAAM,CAAC,GAAG;gBAIE,OAAO,EAAE,mBAAmB;IAQxC,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,GAAG;IAoBX,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI1B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI1B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAG5B"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.BasicLogger = void 0;
|
|
7
|
+
const format_1 = __importDefault(require("./format"));
|
|
8
|
+
const LogPriority = {
|
|
9
|
+
debug: 0,
|
|
10
|
+
info: 1,
|
|
11
|
+
warn: 2,
|
|
12
|
+
error: 3,
|
|
13
|
+
none: 4,
|
|
14
|
+
};
|
|
15
|
+
const LevelNames = ['debug', 'info', 'warn', 'error', 'none'];
|
|
16
|
+
/**
|
|
17
|
+
* A basic logger which handles filtering by level.
|
|
18
|
+
*
|
|
19
|
+
* With the default options it will write to `console.error`
|
|
20
|
+
* and it will use the formatting provided by `console.error`.
|
|
21
|
+
* If the destination is overwritten, then it will use an included
|
|
22
|
+
* formatter similar to `util.format`.
|
|
23
|
+
*
|
|
24
|
+
* If a formatter is available, then that should be overridden
|
|
25
|
+
* as well for performance.
|
|
26
|
+
*/
|
|
27
|
+
class BasicLogger {
|
|
28
|
+
/**
|
|
29
|
+
* This should only be used as a default fallback and not as a convenient
|
|
30
|
+
* solution. In most cases you should construct a new instance with the
|
|
31
|
+
* appropriate options for your specific needs.
|
|
32
|
+
*/
|
|
33
|
+
static get() {
|
|
34
|
+
return new BasicLogger({});
|
|
35
|
+
}
|
|
36
|
+
constructor(options) {
|
|
37
|
+
var _a, _b, _c;
|
|
38
|
+
this.logLevel = (_b = LogPriority[(_a = options.level) !== null && _a !== void 0 ? _a : 'info']) !== null && _b !== void 0 ? _b : LogPriority.info;
|
|
39
|
+
this.name = (_c = options.name) !== null && _c !== void 0 ? _c : 'FeatBit';
|
|
40
|
+
// eslint-disable-next-line no-console
|
|
41
|
+
this.destination = options.destination;
|
|
42
|
+
this.formatter = options.formatter;
|
|
43
|
+
}
|
|
44
|
+
tryFormat(...args) {
|
|
45
|
+
var _a;
|
|
46
|
+
try {
|
|
47
|
+
if (this.formatter) {
|
|
48
|
+
// In case the provided formatter fails.
|
|
49
|
+
return (_a = this.formatter) === null || _a === void 0 ? void 0 : _a.call(this, ...args);
|
|
50
|
+
}
|
|
51
|
+
return (0, format_1.default)(...args);
|
|
52
|
+
}
|
|
53
|
+
catch (_b) {
|
|
54
|
+
return (0, format_1.default)(...args);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
tryWrite(msg) {
|
|
58
|
+
try {
|
|
59
|
+
this.destination(msg);
|
|
60
|
+
}
|
|
61
|
+
catch (_a) {
|
|
62
|
+
// eslint-disable-next-line no-console
|
|
63
|
+
console.error(msg);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
log(level, args) {
|
|
67
|
+
if (level >= this.logLevel) {
|
|
68
|
+
const prefix = `${LevelNames[level]}: [${this.name}]`;
|
|
69
|
+
try {
|
|
70
|
+
if (this.destination) {
|
|
71
|
+
this.tryWrite(`${prefix} ${this.tryFormat(...args)}`);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
// `console.error` has its own formatter.
|
|
75
|
+
// So we don't need to do anything.
|
|
76
|
+
// eslint-disable-next-line no-console
|
|
77
|
+
console.error(...args);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch (_a) {
|
|
81
|
+
// If all else fails do not break.
|
|
82
|
+
// eslint-disable-next-line no-console
|
|
83
|
+
console.error(...args);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
error(...args) {
|
|
88
|
+
this.log(LogPriority.error, args);
|
|
89
|
+
}
|
|
90
|
+
warn(...args) {
|
|
91
|
+
this.log(LogPriority.warn, args);
|
|
92
|
+
}
|
|
93
|
+
info(...args) {
|
|
94
|
+
this.log(LogPriority.info, args);
|
|
95
|
+
}
|
|
96
|
+
debug(...args) {
|
|
97
|
+
this.log(LogPriority.debug, args);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.BasicLogger = BasicLogger;
|
|
101
|
+
//# sourceMappingURL=BasicLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BasicLogger.js","sourceRoot":"","sources":["../../../src/logging/BasicLogger.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAI9B,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAE9D;;;;;;;;;;GAUG;AACH,MAAa,WAAW;IAStB;;;;OAIG;IACH,MAAM,CAAC,GAAG;QACR,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,YAAY,OAA4B;;QACtC,IAAI,CAAC,QAAQ,GAAG,MAAA,WAAW,CAAC,MAAA,OAAO,CAAC,KAAK,mCAAI,MAAM,CAAC,mCAAI,WAAW,CAAC,IAAI,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,SAAS,CAAC;QACtC,sCAAsC;QACtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IAEO,SAAS,CAAC,GAAG,IAAW;;QAC9B,IAAI;YACF,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,wCAAwC;gBACxC,OAAO,MAAA,IAAI,CAAC,SAAS,qDAAG,GAAG,IAAI,CAAC,CAAC;aAClC;YACD,OAAO,IAAA,gBAAM,EAAC,GAAG,IAAI,CAAC,CAAC;SACxB;QAAC,WAAM;YACN,OAAO,IAAA,gBAAM,EAAC,GAAG,IAAI,CAAC,CAAC;SACxB;IACH,CAAC;IAEO,QAAQ,CAAC,GAAW;QAC1B,IAAI;YACF,IAAI,CAAC,WAAY,CAAC,GAAG,CAAC,CAAC;SACxB;QAAC,WAAM;YACN,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpB;IACH,CAAC;IAEO,GAAG,CAAC,KAAa,EAAE,IAAW;QACpC,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC1B,MAAM,MAAM,GAAG,GAAI,UAAU,CAAC,KAAK,CAAE,MAAO,IAAI,CAAC,IAAK,GAAG,CAAC;YAC1D,IAAI;gBACF,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,IAAI,CAAC,QAAQ,CAAC,GAAI,MAAO,IAAK,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAE,EAAE,CAAC,CAAC;iBAC3D;qBAAM;oBACL,yCAAyC;oBACzC,mCAAmC;oBACnC,sCAAsC;oBACtC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;iBACxB;aACF;YAAC,WAAM;gBACN,kCAAkC;gBAClC,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;aACxB;SACF;IACH,CAAC;IAED,KAAK,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,GAAG,IAAW;QACjB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,GAAG,IAAW;QACjB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;CACF;AAlFD,kCAkFC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ILogLevel } from './LogLevel';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for {@link basicLogger}.
|
|
4
|
+
*/
|
|
5
|
+
export interface IBasicLoggerOptions {
|
|
6
|
+
/**
|
|
7
|
+
* The lowest level of log message to enable.
|
|
8
|
+
*
|
|
9
|
+
* See {@link ILogLevel} for a list of possible levels. Setting a level here causes
|
|
10
|
+
* all lower-importance levels to be disabled: for instance, if you specify
|
|
11
|
+
* `'warn'`, then `'debug'` and `'info'` are disabled.
|
|
12
|
+
*
|
|
13
|
+
* If not specified, the default is `'info'` (meaning that `'debug'` is disabled).
|
|
14
|
+
*/
|
|
15
|
+
level?: ILogLevel;
|
|
16
|
+
/**
|
|
17
|
+
* Name to use for the log entires. The default name is `FeatBit`.
|
|
18
|
+
*/
|
|
19
|
+
name?: string;
|
|
20
|
+
/**
|
|
21
|
+
* An optional function to use to print each log line.
|
|
22
|
+
*
|
|
23
|
+
* If this is specified, `basicLogger` calls it to write each line of output. The
|
|
24
|
+
* argument is a fully formatted log line, not including a linefeed. The function
|
|
25
|
+
* is only called for log levels that are enabled.
|
|
26
|
+
*
|
|
27
|
+
* If not specified, the default is `console.error`.
|
|
28
|
+
*
|
|
29
|
+
* Setting this property to anything other than a function will cause SDK
|
|
30
|
+
* initialization to fail.
|
|
31
|
+
*/
|
|
32
|
+
destination?: (line: string) => void;
|
|
33
|
+
/**
|
|
34
|
+
* An optional formatter to use. The formatter should be compatible
|
|
35
|
+
* with browser-style format strings like those used with `util.format`.
|
|
36
|
+
*
|
|
37
|
+
* If not specified, then a default implementation will be used.
|
|
38
|
+
* But using a browser-specific implementation, for instance, would
|
|
39
|
+
* have performance and quality benefits.
|
|
40
|
+
*/
|
|
41
|
+
formatter?: (...args: any[]) => string;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=IBasicLoggerOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IBasicLoggerOptions.d.ts","sourceRoot":"","sources":["../../../src/logging/IBasicLoggerOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC;CACxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IBasicLoggerOptions.js","sourceRoot":"","sources":["../../../src/logging/IBasicLoggerOptions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The FeatBit client logger interface.
|
|
3
|
+
*
|
|
4
|
+
* The {@link IOptions.logger} property accepts any object that conforms to this
|
|
5
|
+
* interface. The SDK only uses four logging levels: `error`, `warn`, `info`, and
|
|
6
|
+
* `debug`. It will call the corresponding method of the `ILogger` either with a
|
|
7
|
+
* single string argument, or with a format string and variable arguments in the
|
|
8
|
+
* format used by Node's `util.format()`.
|
|
9
|
+
*
|
|
10
|
+
* The [Winston](https://github.com/winstonjs/winston) logging package provides a
|
|
11
|
+
* logger that conforms to this interface, so if you have created a logger with
|
|
12
|
+
* Winston, you can simply put it into the {@link IOptions.logger} property.
|
|
13
|
+
*
|
|
14
|
+
* If you do not provide a logger object, the SDK uses the {@link basicLogger}
|
|
15
|
+
* implementation with a minimum level of `info`.
|
|
16
|
+
*/
|
|
17
|
+
export interface ILogger {
|
|
18
|
+
/**
|
|
19
|
+
* The error logger.
|
|
20
|
+
*
|
|
21
|
+
* @param args
|
|
22
|
+
* A sequence of any JavaScript values.
|
|
23
|
+
*/
|
|
24
|
+
error(...args: any[]): void;
|
|
25
|
+
/**
|
|
26
|
+
* The warning logger.
|
|
27
|
+
*
|
|
28
|
+
* @param args
|
|
29
|
+
* A sequence of any JavaScript values.
|
|
30
|
+
*/
|
|
31
|
+
warn(...args: any[]): void;
|
|
32
|
+
/**
|
|
33
|
+
* The info logger.
|
|
34
|
+
*
|
|
35
|
+
* @param args
|
|
36
|
+
* A sequence of any JavaScript values.
|
|
37
|
+
*/
|
|
38
|
+
info(...args: any[]): void;
|
|
39
|
+
/**
|
|
40
|
+
* The debug logger.
|
|
41
|
+
*
|
|
42
|
+
* @param args
|
|
43
|
+
* A sequence of any JavaScript values.
|
|
44
|
+
*/
|
|
45
|
+
debug(...args: any[]): void;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=ILogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILogger.d.ts","sourceRoot":"","sources":["../../../src/logging/ILogger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;OAKG;IACH,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE5B;;;;;OAKG;IACH,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILogger.js","sourceRoot":"","sources":["../../../src/logging/ILogger.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logging levels that can be used with {@link basicLogger}.
|
|
3
|
+
*
|
|
4
|
+
* Set {@link BasicLoggerOptions.level} to one of these values to control what levels
|
|
5
|
+
* of log messages are enabled. Going from lowest importance (and most verbose)
|
|
6
|
+
* to most importance, the levels are `'debug'`, `'info'`, `'warn'`, and `'error'`.
|
|
7
|
+
* You can also specify `'none'` instead to disable all logging.
|
|
8
|
+
*/
|
|
9
|
+
export type ILogLevel = 'debug' | 'info' | 'warn' | 'error' | 'none';
|
|
10
|
+
//# sourceMappingURL=LogLevel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogLevel.d.ts","sourceRoot":"","sources":["../../../src/logging/LogLevel.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogLevel.js","sourceRoot":"","sources":["../../../src/logging/LogLevel.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ILogger } from "./ILogger";
|
|
2
|
+
/**
|
|
3
|
+
* The safeLogger logic exists because we allow the application to pass in a custom logger, but
|
|
4
|
+
* there is no guarantee that the logger works correctly and if it ever throws exceptions there
|
|
5
|
+
* could be serious consequences (e.g. an uncaught exception within an error event handler, due
|
|
6
|
+
* to the SDK trying to log the error, can terminate the application). An exception could result
|
|
7
|
+
* from faulty logic in the logger implementation, or it could be that this is not a logger at
|
|
8
|
+
* all but some other kind of object; the former is handled by a catch block that logs an error
|
|
9
|
+
* message to the SDK's default logger, and we can at least partly guard against the latter by
|
|
10
|
+
* checking for the presence of required methods at configuration time.
|
|
11
|
+
*/
|
|
12
|
+
export default class SafeLogger implements ILogger {
|
|
13
|
+
private logger;
|
|
14
|
+
private fallback;
|
|
15
|
+
/**
|
|
16
|
+
* Construct a safe logger with the specified logger.
|
|
17
|
+
* @param logger The logger to use.
|
|
18
|
+
* @param fallback A fallback logger to use in case an issue is encountered using
|
|
19
|
+
* the provided logger.
|
|
20
|
+
*/
|
|
21
|
+
constructor(logger: ILogger, fallback: ILogger);
|
|
22
|
+
private log;
|
|
23
|
+
error(...args: any[]): void;
|
|
24
|
+
warn(...args: any[]): void;
|
|
25
|
+
info(...args: any[]): void;
|
|
26
|
+
debug(...args: any[]): void;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=SafeLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SafeLogger.d.ts","sourceRoot":"","sources":["../../../src/logging/SafeLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,OAAO;IAChD,OAAO,CAAC,MAAM,CAAU;IAExB,OAAO,CAAC,QAAQ,CAAU;IAE1B;;;;;OAKG;gBACS,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAc9C,OAAO,CAAC,GAAG;IASX,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI1B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI1B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAG5B"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Validators_1 = require("../options/Validators");
|
|
4
|
+
const loggerRequirements = {
|
|
5
|
+
error: Validators_1.TypeValidators.Function,
|
|
6
|
+
warn: Validators_1.TypeValidators.Function,
|
|
7
|
+
info: Validators_1.TypeValidators.Function,
|
|
8
|
+
debug: Validators_1.TypeValidators.Function,
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* The safeLogger logic exists because we allow the application to pass in a custom logger, but
|
|
12
|
+
* there is no guarantee that the logger works correctly and if it ever throws exceptions there
|
|
13
|
+
* could be serious consequences (e.g. an uncaught exception within an error event handler, due
|
|
14
|
+
* to the SDK trying to log the error, can terminate the application). An exception could result
|
|
15
|
+
* from faulty logic in the logger implementation, or it could be that this is not a logger at
|
|
16
|
+
* all but some other kind of object; the former is handled by a catch block that logs an error
|
|
17
|
+
* message to the SDK's default logger, and we can at least partly guard against the latter by
|
|
18
|
+
* checking for the presence of required methods at configuration time.
|
|
19
|
+
*/
|
|
20
|
+
class SafeLogger {
|
|
21
|
+
/**
|
|
22
|
+
* Construct a safe logger with the specified logger.
|
|
23
|
+
* @param logger The logger to use.
|
|
24
|
+
* @param fallback A fallback logger to use in case an issue is encountered using
|
|
25
|
+
* the provided logger.
|
|
26
|
+
*/
|
|
27
|
+
constructor(logger, fallback) {
|
|
28
|
+
Object.entries(loggerRequirements).forEach(([level, validator]) => {
|
|
29
|
+
if (!validator.is(logger[level])) {
|
|
30
|
+
throw new Error(`Provided logger instance must support logger.${level}(...) method`);
|
|
31
|
+
// Note that the SDK normally does not throw exceptions to the application, but that rule
|
|
32
|
+
// does not apply to FbClientNode.init() which will throw an exception if the parameters are so
|
|
33
|
+
// invalid that we cannot proceed with creating the client. An invalid logger meets those
|
|
34
|
+
// criteria since the SDK calls the logger during nearly all of its operations.
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
this.logger = logger;
|
|
38
|
+
this.fallback = fallback;
|
|
39
|
+
}
|
|
40
|
+
log(level, args) {
|
|
41
|
+
try {
|
|
42
|
+
this.logger[level](...args);
|
|
43
|
+
}
|
|
44
|
+
catch (_a) {
|
|
45
|
+
// If all else fails do not break.
|
|
46
|
+
this.fallback[level](...args);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
error(...args) {
|
|
50
|
+
this.log('error', args);
|
|
51
|
+
}
|
|
52
|
+
warn(...args) {
|
|
53
|
+
this.log('warn', args);
|
|
54
|
+
}
|
|
55
|
+
info(...args) {
|
|
56
|
+
this.log('info', args);
|
|
57
|
+
}
|
|
58
|
+
debug(...args) {
|
|
59
|
+
this.log('debug', args);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.default = SafeLogger;
|
|
63
|
+
//# sourceMappingURL=SafeLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SafeLogger.js","sourceRoot":"","sources":["../../../src/logging/SafeLogger.ts"],"names":[],"mappings":";;AACA,sDAAuD;AAEvD,MAAM,kBAAkB,GAAG;IACzB,KAAK,EAAE,2BAAc,CAAC,QAAQ;IAC9B,IAAI,EAAE,2BAAc,CAAC,QAAQ;IAC7B,IAAI,EAAE,2BAAc,CAAC,QAAQ;IAC7B,KAAK,EAAE,2BAAc,CAAC,QAAQ;CAC/B,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAqB,UAAU;IAK7B;;;;;OAKG;IACH,YAAY,MAAe,EAAE,QAAiB;QAC5C,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE;YAChE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAE,MAAc,CAAC,KAAK,CAAC,CAAC,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,gDAAiD,KAAM,cAAc,CAAC,CAAC;gBACvF,yFAAyF;gBACzF,+FAA+F;gBAC/F,yFAAyF;gBACzF,+EAA+E;aAChF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEO,GAAG,CAAC,KAA0C,EAAE,IAAW;QACjE,IAAI;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;SAC7B;QAAC,WAAM;YACN,kCAAkC;YAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,KAAK,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,GAAG,IAAW;QACjB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,GAAG,IAAW;QACjB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAjDD,6BAiDC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A basic formatted for use where `util.format` is not available.
|
|
3
|
+
* This will not be as performant, but it will produce formatted
|
|
4
|
+
* messages.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*
|
|
8
|
+
* @param args
|
|
9
|
+
* @returns Formatted string.
|
|
10
|
+
*/
|
|
11
|
+
export default function format(...args: any[]): string;
|
|
12
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/logging/format.ts"],"names":[],"mappings":"AAwGA;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAuCrD"}
|