vwo-fme-node-sdk 1.0.1 → 1.2.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/README.md +37 -7
- package/dist/VWO.d.ts +34 -3
- package/dist/VWO.js +148 -33
- package/dist/VWO.js.map +1 -1
- package/dist/VWOBuilder.d.ts +87 -21
- package/dist/VWOBuilder.js +190 -88
- package/dist/VWOBuilder.js.map +1 -1
- package/dist/VWOClient.d.ts +40 -14
- package/dist/VWOClient.js +171 -187
- package/dist/VWOClient.js.map +1 -1
- package/dist/api/GetFlag.d.ts +20 -13
- package/dist/api/GetFlag.js +179 -261
- package/dist/api/GetFlag.js.map +1 -1
- package/dist/api/SetAttribute.d.ts +33 -2
- package/dist/api/SetAttribute.js +22 -9
- package/dist/api/SetAttribute.js.map +1 -1
- package/dist/api/TrackEvent.d.ts +17 -2
- package/dist/api/TrackEvent.js +45 -15
- package/dist/api/TrackEvent.js.map +1 -1
- package/dist/constants/index.js +19 -4
- package/dist/constants/index.js.map +1 -1
- package/dist/constants/url.d.ts +15 -0
- package/dist/constants/url.js +16 -1
- package/dist/constants/url.js.map +1 -1
- package/dist/decorators/StorageDecorator.d.ts +31 -4
- package/dist/decorators/StorageDecorator.js +46 -19
- package/dist/decorators/StorageDecorator.js.map +1 -1
- package/dist/enums/ApiEnum.d.ts +15 -0
- package/dist/enums/ApiEnum.js +15 -0
- package/dist/enums/ApiEnum.js.map +1 -1
- package/dist/enums/EventEnum.d.ts +15 -0
- package/dist/enums/EventEnum.js +15 -0
- package/dist/enums/EventEnum.js.map +1 -1
- package/dist/enums/HeadersEnum.d.ts +15 -0
- package/dist/enums/HeadersEnum.js +15 -0
- package/dist/enums/HeadersEnum.js.map +1 -1
- package/dist/enums/HooksEnum.d.ts +15 -0
- package/dist/enums/HooksEnum.js +15 -0
- package/dist/enums/HooksEnum.js.map +1 -1
- package/dist/enums/LogLevelEnum.d.ts +15 -0
- package/dist/enums/LogLevelEnum.js +15 -0
- package/dist/enums/LogLevelEnum.js.map +1 -1
- package/dist/enums/StatusEnum.d.ts +15 -0
- package/dist/enums/StorageEnum.d.ts +15 -0
- package/dist/enums/StorageEnum.js +15 -0
- package/dist/enums/StorageEnum.js.map +1 -1
- package/dist/enums/UrlEnum.d.ts +16 -2
- package/dist/enums/UrlEnum.js +16 -2
- package/dist/enums/UrlEnum.js.map +1 -1
- package/dist/enums/campaignTypeEnum.d.ts +15 -0
- package/dist/enums/campaignTypeEnum.js +16 -1
- package/dist/enums/campaignTypeEnum.js.map +1 -1
- package/dist/enums/log-messages/DebugLogMessageEnum.d.ts +18 -0
- package/dist/enums/log-messages/DebugLogMessageEnum.js +23 -0
- package/dist/enums/log-messages/DebugLogMessageEnum.js.map +1 -0
- package/dist/enums/log-messages/DebugLogMessagesEnum.d.ts +25 -0
- package/dist/enums/log-messages/DebugLogMessagesEnum.js +30 -0
- package/dist/enums/log-messages/DebugLogMessagesEnum.js.map +1 -0
- package/dist/enums/log-messages/ErrorLogMessageEnum.d.ts +18 -0
- package/dist/enums/log-messages/ErrorLogMessageEnum.js +23 -0
- package/dist/enums/log-messages/ErrorLogMessageEnum.js.map +1 -0
- package/dist/enums/log-messages/ErrorLogMessagesEnum.d.ts +33 -0
- package/dist/enums/log-messages/ErrorLogMessagesEnum.js +39 -0
- package/dist/enums/log-messages/ErrorLogMessagesEnum.js.map +1 -0
- package/dist/enums/log-messages/InfoLogMessagesEnum.d.ts +36 -0
- package/dist/enums/log-messages/InfoLogMessagesEnum.js +41 -0
- package/dist/enums/log-messages/InfoLogMessagesEnum.js.map +1 -0
- package/dist/enums/log-messages/index.d.ts +4 -0
- package/dist/enums/log-messages/index.js +11 -0
- package/dist/enums/log-messages/index.js.map +1 -0
- package/dist/enums/statusEnum.js +15 -0
- package/dist/enums/statusEnum.js.map +1 -1
- package/dist/index.d.ts +16 -1
- package/dist/index.js +20 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces/IVWOBuilder.js +1 -0
- package/dist/interfaces/IVWOBuilder.js.map +1 -0
- package/dist/models/CampaignModel.d.ts +17 -2
- package/dist/models/CampaignModel.js +1 -1
- package/dist/models/CampaignModel.js.map +1 -1
- package/dist/models/FeatureModel.d.ts +1 -1
- package/dist/models/FeatureModel.js +17 -2
- package/dist/models/FeatureModel.js.map +1 -1
- package/dist/models/GatewayServiceModel.d.ts +29 -0
- package/dist/models/GatewayServiceModel.js +36 -0
- package/dist/models/GatewayServiceModel.js.map +1 -0
- package/dist/models/ImpactCampaignModel.d.ts +15 -0
- package/dist/models/ImpactCampaignModel.js +15 -0
- package/dist/models/ImpactCampaignModel.js.map +1 -1
- package/dist/models/MetricModel.d.ts +15 -0
- package/dist/models/MetricModel.js +15 -0
- package/dist/models/MetricModel.js.map +1 -1
- package/dist/models/RuleModel.d.ts +15 -0
- package/dist/models/RuleModel.js +15 -0
- package/dist/models/RuleModel.js.map +1 -1
- package/dist/models/SettingsModel.d.ts +16 -1
- package/dist/models/SettingsModel.js +16 -1
- package/dist/models/SettingsModel.js.map +1 -1
- package/dist/models/VWOOptionsModel.d.ts +65 -0
- package/dist/models/VWOOptionsModel.js +85 -0
- package/dist/models/VWOOptionsModel.js.map +1 -0
- package/dist/models/VariableModel.d.ts +16 -1
- package/dist/models/VariableModel.js.map +1 -1
- package/dist/models/VariationModel.d.ts +16 -1
- package/dist/models/VariationModel.js.map +1 -1
- package/dist/models/campaign/CampaignModel.d.ts +51 -0
- package/dist/models/campaign/CampaignModel.js +120 -0
- package/dist/models/campaign/CampaignModel.js.map +1 -0
- package/dist/models/campaign/FeatureModel.d.ts +43 -0
- package/dist/models/campaign/FeatureModel.js +89 -0
- package/dist/models/campaign/FeatureModel.js.map +1 -0
- package/dist/models/campaign/ImpactCampaignModel.d.ts +22 -0
- package/dist/models/campaign/ImpactCampaignModel.js +36 -0
- package/dist/models/campaign/ImpactCampaignModel.js.map +1 -0
- package/dist/models/campaign/MetricModel.d.ts +27 -0
- package/dist/models/campaign/MetricModel.js +40 -0
- package/dist/models/campaign/MetricModel.js.map +1 -0
- package/dist/models/campaign/RuleModel.d.ts +28 -0
- package/dist/models/campaign/RuleModel.js +48 -0
- package/dist/models/campaign/RuleModel.js.map +1 -0
- package/dist/models/campaign/VariableModel.d.ts +33 -0
- package/dist/models/campaign/VariableModel.js +38 -0
- package/dist/models/campaign/VariableModel.js.map +1 -0
- package/dist/models/campaign/VariationModel.d.ts +44 -0
- package/dist/models/campaign/VariationModel.js +80 -0
- package/dist/models/campaign/VariationModel.js.map +1 -0
- package/dist/models/schemas/SettingsSchemaValidation.d.ts +5 -5
- package/dist/models/schemas/SettingsSchemaValidation.js +51 -22
- package/dist/models/schemas/SettingsSchemaValidation.js.map +1 -1
- package/dist/models/settings/SettingsModel.d.ts +43 -0
- package/dist/models/settings/SettingsModel.js +85 -0
- package/dist/models/settings/SettingsModel.js.map +1 -0
- package/dist/models/storage/StorageDataModel.d.ts +43 -0
- package/dist/models/storage/StorageDataModel.js +69 -0
- package/dist/models/storage/StorageDataModel.js.map +1 -0
- package/dist/models/user/ContextModel.d.ts +35 -0
- package/dist/models/user/ContextModel.js +54 -0
- package/dist/models/user/ContextModel.js.map +1 -0
- package/dist/models/user/ContextVWOModel.d.ts +22 -0
- package/dist/models/user/ContextVWOModel.js +40 -0
- package/dist/models/user/ContextVWOModel.js.map +1 -0
- package/dist/modules/decision-maker/index.d.ts +24 -12
- package/dist/modules/decision-maker/index.js +34 -20
- package/dist/modules/decision-maker/index.js.map +1 -1
- package/dist/modules/logger/core/logManager.d.ts +65 -4
- package/dist/modules/logger/core/logManager.js +78 -19
- package/dist/modules/logger/core/logManager.js.map +1 -1
- package/dist/modules/logger/core/transportManager.d.ts +60 -2
- package/dist/modules/logger/core/transportManager.js +70 -9
- package/dist/modules/logger/core/transportManager.js.map +1 -1
- package/dist/modules/logger/enums/logLevelEnum.d.ts +15 -0
- package/dist/modules/logger/enums/logLevelEnum.js +16 -1
- package/dist/modules/logger/enums/logLevelEnum.js.map +1 -1
- package/dist/modules/logger/index.d.ts +17 -2
- package/dist/modules/logger/index.js +19 -4
- package/dist/modules/logger/index.js.map +1 -1
- package/dist/modules/logger/logMessageBuilder.d.ts +42 -1
- package/dist/modules/logger/logMessageBuilder.js +32 -7
- package/dist/modules/logger/logMessageBuilder.js.map +1 -1
- package/dist/modules/logger/logger.d.ts +39 -0
- package/dist/modules/logger/logger.js +20 -1
- package/dist/modules/logger/logger.js.map +1 -1
- package/dist/modules/logger/transports/consoleTransport.d.ts +34 -1
- package/dist/modules/logger/transports/consoleTransport.js +58 -10
- package/dist/modules/logger/transports/consoleTransport.js.map +1 -1
- package/dist/modules/network-layer/client/NetworkClient.d.ts +20 -0
- package/dist/modules/network-layer/client/NetworkClient.js +156 -0
- package/dist/modules/network-layer/client/NetworkClient.js.map +1 -0
- package/dist/modules/network-layer/client/NetworkClientInterface.d.ts +31 -0
- package/dist/modules/network-layer/client/NetworkClientInterface.js +3 -0
- package/dist/modules/network-layer/client/NetworkClientInterface.js.map +1 -0
- package/dist/modules/network-layer/handlers/RequestHandler.d.ts +17 -0
- package/dist/modules/network-layer/handlers/RequestHandler.js +50 -0
- package/dist/modules/network-layer/handlers/RequestHandler.js.map +1 -0
- package/dist/modules/network-layer/index.d.ts +21 -0
- package/dist/modules/network-layer/index.js +29 -0
- package/dist/modules/network-layer/index.js.map +1 -0
- package/dist/modules/network-layer/manager/NetworkManager.d.ts +47 -0
- package/dist/modules/network-layer/manager/NetworkManager.js +118 -0
- package/dist/modules/network-layer/manager/NetworkManager.js.map +1 -0
- package/dist/modules/network-layer/models/GlobalRequestModel.d.ts +97 -0
- package/dist/modules/network-layer/models/GlobalRequestModel.js +111 -0
- package/dist/modules/network-layer/models/GlobalRequestModel.js.map +1 -0
- package/dist/modules/network-layer/models/RequestModel.d.ts +140 -0
- package/dist/modules/network-layer/models/RequestModel.js +221 -0
- package/dist/modules/network-layer/models/RequestModel.js.map +1 -0
- package/dist/modules/network-layer/models/ResponseModel.d.ts +66 -0
- package/dist/modules/network-layer/models/ResponseModel.js +70 -0
- package/dist/modules/network-layer/models/ResponseModel.js.map +1 -0
- package/dist/modules/networking/client/networkClient.d.ts +16 -3
- package/dist/modules/networking/client/networkClient.js +49 -10
- package/dist/modules/networking/client/networkClient.js.map +1 -1
- package/dist/modules/networking/client/networkClientInterface.d.ts +27 -2
- package/dist/modules/networking/client/networkClientInterface.js +1 -1
- package/dist/modules/networking/client/networkClientInterface.js.map +1 -1
- package/dist/modules/networking/handlers/requestHandler.d.ts +14 -2
- package/dist/modules/networking/handlers/requestHandler.js +24 -3
- package/dist/modules/networking/handlers/requestHandler.js.map +1 -1
- package/dist/modules/networking/index.d.ts +21 -6
- package/dist/modules/networking/index.js +26 -11
- package/dist/modules/networking/index.js.map +1 -1
- package/dist/modules/networking/manager/networkManager.d.ts +35 -4
- package/dist/modules/networking/manager/networkManager.js +70 -24
- package/dist/modules/networking/manager/networkManager.js.map +1 -1
- package/dist/modules/networking/models/globalRequestModel.d.ts +76 -1
- package/dist/modules/networking/models/globalRequestModel.js +62 -2
- package/dist/modules/networking/models/globalRequestModel.js.map +1 -1
- package/dist/modules/networking/models/requestModel.d.ts +110 -2
- package/dist/modules/networking/models/requestModel.js +97 -4
- package/dist/modules/networking/models/requestModel.js.map +1 -1
- package/dist/modules/networking/models/responseModel.d.ts +52 -1
- package/dist/modules/networking/models/responseModel.js +37 -1
- package/dist/modules/networking/models/responseModel.js.map +1 -1
- package/dist/modules/segmentor/core/segmentationManger.d.ts +44 -4
- package/dist/modules/segmentor/core/segmentationManger.js +83 -7
- package/dist/modules/segmentor/core/segmentationManger.js.map +1 -1
- package/dist/modules/segmentor/enums/segmentOperandRegexEnum.d.ts +20 -1
- package/dist/modules/segmentor/enums/segmentOperandRegexEnum.js +20 -1
- package/dist/modules/segmentor/enums/segmentOperandRegexEnum.js.map +1 -1
- package/dist/modules/segmentor/enums/segmentOperandValueEnum.d.ts +20 -1
- package/dist/modules/segmentor/enums/segmentOperandValueEnum.js +20 -1
- package/dist/modules/segmentor/enums/segmentOperandValueEnum.js.map +1 -1
- package/dist/modules/segmentor/enums/segmentOperatorValueEnum.d.ts +15 -0
- package/dist/modules/segmentor/enums/segmentOperatorValueEnum.js +16 -1
- package/dist/modules/segmentor/enums/segmentOperatorValueEnum.js.map +1 -1
- package/dist/modules/segmentor/evaluators/segmentEvaluator.d.ts +71 -9
- package/dist/modules/segmentor/evaluators/segmentEvaluator.js +157 -96
- package/dist/modules/segmentor/evaluators/segmentEvaluator.js.map +1 -1
- package/dist/modules/segmentor/evaluators/segmentOperandEvaluator.d.ts +55 -3
- package/dist/modules/segmentor/evaluators/segmentOperandEvaluator.js +172 -42
- package/dist/modules/segmentor/evaluators/segmentOperandEvaluator.js.map +1 -1
- package/dist/modules/segmentor/index.d.ts +18 -3
- package/dist/modules/segmentor/index.js +20 -5
- package/dist/modules/segmentor/index.js.map +1 -1
- package/dist/modules/segmentor/segmentation.d.ts +29 -2
- package/dist/modules/segmentor/segmentation.js +1 -1
- package/dist/modules/segmentor/segmentation.js.map +1 -1
- package/dist/modules/segmentor/utils/SegmentUtil.d.ts +13 -2
- package/dist/modules/segmentor/utils/SegmentUtil.js +32 -0
- package/dist/modules/segmentor/utils/SegmentUtil.js.map +1 -1
- package/dist/modules/storage/connector.d.ts +17 -11
- package/dist/modules/storage/connector.js +1 -1
- package/dist/modules/storage/connector.js.map +1 -1
- package/dist/modules/storage/connectors/index.d.ts +15 -0
- package/dist/modules/storage/connectors/index.js +15 -0
- package/dist/modules/storage/connectors/index.js.map +1 -1
- package/dist/modules/storage/connectors/memoryConnector.d.ts +6 -25
- package/dist/modules/storage/connectors/memoryConnector.js +50 -74
- package/dist/modules/storage/connectors/memoryConnector.js.map +1 -1
- package/dist/modules/storage/connectors/redisConnector.d.ts +15 -0
- package/dist/modules/storage/connectors/redisConnector.js +16 -1
- package/dist/modules/storage/connectors/redisConnector.js.map +1 -1
- package/dist/modules/storage/index.d.ts +16 -1
- package/dist/modules/storage/index.js +17 -2
- package/dist/modules/storage/index.js.map +1 -1
- package/dist/modules/storage/storage.d.ts +17 -4
- package/dist/modules/storage/storage.js +9 -21
- package/dist/modules/storage/storage.js.map +1 -1
- package/dist/packages/decision-maker/index.d.ts +50 -0
- package/dist/packages/decision-maker/index.js +81 -0
- package/dist/packages/decision-maker/index.js.map +1 -0
- package/dist/packages/logger/LogMessageBuilder.d.ts +63 -0
- package/dist/packages/logger/LogMessageBuilder.js +71 -0
- package/dist/packages/logger/LogMessageBuilder.js.map +1 -0
- package/dist/packages/logger/Logger.d.ts +46 -0
- package/dist/packages/logger/Logger.js +29 -0
- package/dist/packages/logger/Logger.js.map +1 -0
- package/dist/packages/logger/core/LogManager.d.ts +100 -0
- package/dist/packages/logger/core/LogManager.js +157 -0
- package/dist/packages/logger/core/LogManager.js.map +1 -0
- package/dist/packages/logger/core/TransportManager.d.ts +80 -0
- package/dist/packages/logger/core/TransportManager.js +121 -0
- package/dist/packages/logger/core/TransportManager.js.map +1 -0
- package/dist/packages/logger/enums/LogLevelEnum.d.ts +22 -0
- package/dist/packages/logger/enums/LogLevelEnum.js +27 -0
- package/dist/packages/logger/enums/LogLevelEnum.js.map +1 -0
- package/dist/packages/logger/index.d.ts +17 -0
- package/dist/packages/logger/index.js +23 -0
- package/dist/packages/logger/index.js.map +1 -0
- package/dist/packages/logger/transports/ConsoleTransport.d.ts +45 -0
- package/dist/packages/logger/transports/ConsoleTransport.js +80 -0
- package/dist/packages/logger/transports/ConsoleTransport.js.map +1 -0
- package/dist/packages/network-layer/client/NetworkClient.d.ts +20 -0
- package/dist/packages/network-layer/client/NetworkClient.js +160 -0
- package/dist/packages/network-layer/client/NetworkClient.js.map +1 -0
- package/dist/packages/network-layer/client/NetworkClientInterface.d.ts +31 -0
- package/dist/packages/network-layer/client/NetworkClientInterface.js +3 -0
- package/dist/packages/network-layer/client/NetworkClientInterface.js.map +1 -0
- package/dist/packages/network-layer/handlers/RequestHandler.d.ts +17 -0
- package/dist/packages/network-layer/handlers/RequestHandler.js +50 -0
- package/dist/packages/network-layer/handlers/RequestHandler.js.map +1 -0
- package/dist/packages/network-layer/index.d.ts +21 -0
- package/dist/packages/network-layer/index.js +29 -0
- package/dist/packages/network-layer/index.js.map +1 -0
- package/dist/packages/network-layer/manager/NetworkManager.d.ts +47 -0
- package/dist/packages/network-layer/manager/NetworkManager.js +118 -0
- package/dist/packages/network-layer/manager/NetworkManager.js.map +1 -0
- package/dist/packages/network-layer/models/GlobalRequestModel.d.ts +97 -0
- package/dist/packages/network-layer/models/GlobalRequestModel.js +111 -0
- package/dist/packages/network-layer/models/GlobalRequestModel.js.map +1 -0
- package/dist/packages/network-layer/models/RequestModel.d.ts +140 -0
- package/dist/packages/network-layer/models/RequestModel.js +220 -0
- package/dist/packages/network-layer/models/RequestModel.js.map +1 -0
- package/dist/packages/network-layer/models/ResponseModel.d.ts +66 -0
- package/dist/packages/network-layer/models/ResponseModel.js +70 -0
- package/dist/packages/network-layer/models/ResponseModel.js.map +1 -0
- package/dist/packages/segmentation-evaluator/Segmentation.d.ts +32 -0
- package/dist/packages/segmentation-evaluator/Segmentation.js +3 -0
- package/dist/packages/segmentation-evaluator/Segmentation.js.map +1 -0
- package/dist/packages/segmentation-evaluator/core/SegmentationManger.d.ts +50 -0
- package/dist/packages/segmentation-evaluator/core/SegmentationManger.js +148 -0
- package/dist/packages/segmentation-evaluator/core/SegmentationManger.js.map +1 -0
- package/dist/packages/segmentation-evaluator/enums/SegmentOperandRegexEnum.d.ts +29 -0
- package/dist/packages/segmentation-evaluator/enums/SegmentOperandRegexEnum.js +34 -0
- package/dist/packages/segmentation-evaluator/enums/SegmentOperandRegexEnum.js.map +1 -0
- package/dist/packages/segmentation-evaluator/enums/SegmentOperandValueEnum.d.ts +27 -0
- package/dist/packages/segmentation-evaluator/enums/SegmentOperandValueEnum.js +32 -0
- package/dist/packages/segmentation-evaluator/enums/SegmentOperandValueEnum.js.map +1 -0
- package/dist/packages/segmentation-evaluator/enums/SegmentOperatorValueEnum.d.ts +30 -0
- package/dist/packages/segmentation-evaluator/enums/SegmentOperatorValueEnum.js +35 -0
- package/dist/packages/segmentation-evaluator/enums/SegmentOperatorValueEnum.js.map +1 -0
- package/dist/packages/segmentation-evaluator/evaluators/SegmentEvaluator.d.ts +77 -0
- package/dist/packages/segmentation-evaluator/evaluators/SegmentEvaluator.js +446 -0
- package/dist/packages/segmentation-evaluator/evaluators/SegmentEvaluator.js.map +1 -0
- package/dist/packages/segmentation-evaluator/evaluators/SegmentOperandEvaluator.d.ts +64 -0
- package/dist/packages/segmentation-evaluator/evaluators/SegmentOperandEvaluator.js +378 -0
- package/dist/packages/segmentation-evaluator/evaluators/SegmentOperandEvaluator.js.map +1 -0
- package/dist/packages/segmentation-evaluator/index.d.ts +18 -0
- package/dist/packages/segmentation-evaluator/index.js +23 -0
- package/dist/packages/segmentation-evaluator/index.js.map +1 -0
- package/dist/packages/segmentation-evaluator/utils/SegmentUtil.d.ts +13 -0
- package/dist/packages/segmentation-evaluator/utils/SegmentUtil.js +58 -0
- package/dist/packages/segmentation-evaluator/utils/SegmentUtil.js.map +1 -0
- package/dist/packages/segmentor/Segmentation.d.ts +32 -0
- package/dist/packages/segmentor/Segmentation.js +3 -0
- package/dist/packages/segmentor/Segmentation.js.map +1 -0
- package/dist/packages/segmentor/core/SegmentationManger.d.ts +50 -0
- package/dist/packages/segmentor/core/SegmentationManger.js +144 -0
- package/dist/packages/segmentor/core/SegmentationManger.js.map +1 -0
- package/dist/packages/segmentor/enums/SegmentOperandRegexEnum.d.ts +29 -0
- package/dist/packages/segmentor/enums/SegmentOperandRegexEnum.js +34 -0
- package/dist/packages/segmentor/enums/SegmentOperandRegexEnum.js.map +1 -0
- package/dist/packages/segmentor/enums/SegmentOperandValueEnum.d.ts +27 -0
- package/dist/packages/segmentor/enums/SegmentOperandValueEnum.js +32 -0
- package/dist/packages/segmentor/enums/SegmentOperandValueEnum.js.map +1 -0
- package/dist/packages/segmentor/enums/SegmentOperatorValueEnum.d.ts +30 -0
- package/dist/packages/segmentor/enums/SegmentOperatorValueEnum.js +35 -0
- package/dist/packages/segmentor/enums/SegmentOperatorValueEnum.js.map +1 -0
- package/dist/packages/segmentor/evaluators/SegmentEvaluator.d.ts +77 -0
- package/dist/packages/segmentor/evaluators/SegmentEvaluator.js +440 -0
- package/dist/packages/segmentor/evaluators/SegmentEvaluator.js.map +1 -0
- package/dist/packages/segmentor/evaluators/SegmentOperandEvaluator.d.ts +64 -0
- package/dist/packages/segmentor/evaluators/SegmentOperandEvaluator.js +378 -0
- package/dist/packages/segmentor/evaluators/SegmentOperandEvaluator.js.map +1 -0
- package/dist/packages/segmentor/index.d.ts +18 -0
- package/dist/packages/segmentor/index.js +23 -0
- package/dist/packages/segmentor/index.js.map +1 -0
- package/dist/packages/segmentor/utils/SegmentUtil.d.ts +13 -0
- package/dist/packages/segmentor/utils/SegmentUtil.js +58 -0
- package/dist/packages/segmentor/utils/SegmentUtil.js.map +1 -0
- package/dist/packages/storage/Connector.d.ts +20 -0
- package/dist/packages/storage/Connector.js +10 -0
- package/dist/packages/storage/Connector.js.map +1 -0
- package/dist/packages/storage/Storage.d.ts +23 -0
- package/dist/packages/storage/Storage.js +37 -0
- package/dist/packages/storage/Storage.js.map +1 -0
- package/dist/packages/storage/connectors/MemoryConnector.d.ts +15 -0
- package/dist/packages/storage/connectors/MemoryConnector.js +35 -0
- package/dist/packages/storage/connectors/MemoryConnector.js.map +1 -0
- package/dist/packages/storage/connectors/RedisConnector.d.ts +15 -0
- package/dist/packages/storage/connectors/RedisConnector.js +196 -0
- package/dist/packages/storage/connectors/RedisConnector.js.map +1 -0
- package/dist/packages/storage/connectors/index.d.ts +15 -0
- package/dist/packages/storage/connectors/index.js +18 -0
- package/dist/packages/storage/connectors/index.js.map +1 -0
- package/dist/packages/storage/index.d.ts +16 -0
- package/dist/packages/storage/index.js +21 -0
- package/dist/packages/storage/index.js.map +1 -0
- package/dist/services/CampaignDecisionService.d.ts +5 -5
- package/dist/services/CampaignDecisionService.js +55 -20
- package/dist/services/CampaignDecisionService.js.map +1 -1
- package/dist/services/HooksManager.d.ts +17 -6
- package/dist/services/HooksManager.js +0 -1
- package/dist/services/HooksManager.js.map +1 -1
- package/dist/services/SettingsManager.d.ts +25 -10
- package/dist/services/SettingsManager.js +60 -31
- package/dist/services/SettingsManager.js.map +1 -1
- package/dist/services/StorageService.d.ts +13 -1
- package/dist/services/StorageService.js +58 -21
- package/dist/services/StorageService.js.map +1 -1
- package/dist/services/UrlService.d.ts +5 -4
- package/dist/services/UrlService.js +50 -13
- package/dist/services/UrlService.js.map +1 -1
- package/dist/types/common.d.ts +24 -0
- package/dist/types/common.js +16 -1
- package/dist/types/common.js.map +1 -1
- package/dist/utils/CampaignUtil.d.ts +87 -11
- package/dist/utils/CampaignUtil.js +188 -95
- package/dist/utils/CampaignUtil.js.map +1 -1
- package/dist/utils/DataTypeUtil.d.ts +86 -1
- package/dist/utils/DataTypeUtil.js +108 -24
- package/dist/utils/DataTypeUtil.js.map +1 -1
- package/dist/utils/DecisionUtil.d.ts +8 -4
- package/dist/utils/DecisionUtil.js +117 -81
- package/dist/utils/DecisionUtil.js.map +1 -1
- package/dist/utils/FunctionUtil.d.ts +70 -9
- package/dist/utils/FunctionUtil.js +121 -69
- package/dist/utils/FunctionUtil.js.map +1 -1
- package/dist/utils/GatewayServiceUtil.d.ts +19 -0
- package/dist/utils/GatewayServiceUtil.js +156 -0
- package/dist/utils/GatewayServiceUtil.js.map +1 -0
- package/dist/utils/ImpressionUtil.d.ts +28 -0
- package/dist/utils/ImpressionUtil.js +41 -0
- package/dist/utils/ImpressionUtil.js.map +1 -0
- package/dist/utils/LogMessageUtil.d.ts +5 -13
- package/dist/utils/LogMessageUtil.js +20 -22
- package/dist/utils/LogMessageUtil.js.map +1 -1
- package/dist/utils/MegUtil.d.ts +23 -3
- package/dist/utils/MegUtil.js +273 -225
- package/dist/utils/MegUtil.js.map +1 -1
- package/dist/utils/NetworkUtil.d.ts +91 -140
- package/dist/utils/NetworkUtil.js +280 -184
- package/dist/utils/NetworkUtil.js.map +1 -1
- package/dist/utils/PromiseUtil.d.ts +5 -0
- package/dist/utils/PromiseUtil.js +9 -3
- package/dist/utils/PromiseUtil.js.map +1 -1
- package/dist/utils/RuleEvaluationUtil.d.ts +37 -0
- package/dist/utils/RuleEvaluationUtil.js +83 -0
- package/dist/utils/RuleEvaluationUtil.js.map +1 -0
- package/dist/utils/SettingsUtil.d.ts +1 -2
- package/dist/utils/SettingsUtil.js +32 -13
- package/dist/utils/SettingsUtil.js.map +1 -1
- package/dist/utils/UuidUtil.d.ts +19 -1
- package/dist/utils/UuidUtil.js +46 -7
- package/dist/utils/UuidUtil.js.map +1 -1
- package/dist/utils/WebServiceUtil.d.ts +12 -3
- package/dist/utils/WebServiceUtil.js +49 -18
- package/dist/utils/WebServiceUtil.js.map +1 -1
- package/dist/utils/logMessageBuilder.d.ts +1 -1
- package/lib/VWO.ts +157 -30
- package/lib/VWOBuilder.ts +210 -89
- package/lib/VWOClient.ts +225 -234
- package/lib/api/GetFlag.ts +210 -322
- package/lib/api/SetAttribute.ts +60 -15
- package/lib/api/TrackEvent.ts +74 -23
- package/lib/constants/Url.ts +22 -0
- package/lib/constants/index.ts +16 -1
- package/lib/decorators/StorageDecorator.ts +64 -22
- package/lib/enums/ApiEnum.ts +15 -0
- package/lib/enums/CampaignTypeEnum.ts +20 -0
- package/lib/enums/EventEnum.ts +15 -0
- package/lib/enums/HeadersEnum.ts +15 -0
- package/lib/enums/HooksEnum.ts +15 -0
- package/lib/enums/LogLevelEnum.ts +15 -0
- package/lib/enums/StatusEnum.ts +15 -0
- package/lib/enums/StorageEnum.ts +15 -0
- package/lib/enums/UrlEnum.ts +16 -2
- package/lib/enums/log-messages/index.ts +22 -0
- package/lib/index.ts +16 -1
- package/lib/models/GatewayServiceModel.ts +43 -0
- package/lib/models/VWOOptionsModel.ts +132 -0
- package/lib/models/{CampaignModel.ts → campaign/CampaignModel.ts} +26 -46
- package/lib/models/{FeatureModel.ts → campaign/FeatureModel.ts} +47 -13
- package/lib/models/campaign/ImpactCampaignModel.ts +33 -0
- package/lib/models/campaign/MetricModel.ts +44 -0
- package/lib/models/campaign/RuleModel.ts +51 -0
- package/lib/models/{VariableModel.ts → campaign/VariableModel.ts} +16 -1
- package/lib/models/{VariationModel.ts → campaign/VariationModel.ts} +16 -1
- package/lib/models/schemas/SettingsSchemaValidation.ts +61 -30
- package/lib/models/{SettingsModel.ts → settings/SettingsModel.ts} +27 -13
- package/lib/models/storage/StorageDataModel.ts +103 -0
- package/lib/models/user/ContextModel.ts +78 -0
- package/lib/models/user/ContextVWOModel.ts +39 -0
- package/lib/packages/decision-maker/index.ts +77 -0
- package/lib/packages/logger/LogMessageBuilder.ts +107 -0
- package/lib/packages/logger/Logger.ts +50 -0
- package/lib/packages/logger/core/LogManager.ts +177 -0
- package/lib/packages/logger/core/TransportManager.ts +141 -0
- package/lib/packages/logger/enums/LogLevelEnum.ts +23 -0
- package/lib/packages/logger/index.ts +17 -0
- package/lib/packages/logger/transports/ConsoleTransport.ts +84 -0
- package/lib/{modules/networking/client/networkClient.ts → packages/network-layer/client/NetworkClient.ts} +60 -15
- package/lib/packages/network-layer/client/NetworkClientInterface.ts +33 -0
- package/lib/packages/network-layer/handlers/RequestHandler.ts +64 -0
- package/lib/packages/network-layer/index.ts +21 -0
- package/lib/packages/network-layer/manager/NetworkManager.ts +122 -0
- package/lib/packages/network-layer/models/GlobalRequestModel.ts +145 -0
- package/lib/packages/network-layer/models/RequestModel.ts +272 -0
- package/lib/packages/network-layer/models/ResponseModel.ts +91 -0
- package/lib/packages/segmentation-evaluator/Segmentation.ts +37 -0
- package/lib/packages/segmentation-evaluator/core/SegmentationManger.ts +92 -0
- package/lib/packages/segmentation-evaluator/enums/SegmentOperandRegexEnum.ts +29 -0
- package/lib/packages/segmentation-evaluator/enums/SegmentOperandValueEnum.ts +27 -0
- package/lib/packages/segmentation-evaluator/enums/SegmentOperatorValueEnum.ts +30 -0
- package/lib/packages/segmentation-evaluator/evaluators/SegmentEvaluator.ts +331 -0
- package/lib/packages/segmentation-evaluator/evaluators/SegmentOperandEvaluator.ts +331 -0
- package/lib/packages/segmentation-evaluator/index.ts +18 -0
- package/lib/packages/segmentation-evaluator/utils/SegmentUtil.ts +54 -0
- package/lib/packages/storage/Connector.ts +40 -0
- package/lib/packages/storage/Storage.ts +48 -0
- package/lib/packages/storage/connectors/MemoryConnector.ts +34 -0
- package/lib/{modules/storage/connectors/redisConnector.ts → packages/storage/connectors/RedisConnector.ts} +16 -0
- package/lib/packages/storage/connectors/index.ts +17 -0
- package/lib/packages/storage/index.ts +16 -0
- package/lib/services/CampaignDecisionService.ts +72 -30
- package/lib/services/HooksManager.ts +17 -8
- package/lib/services/SettingsManager.ts +97 -50
- package/lib/services/StorageService.ts +44 -9
- package/lib/services/UrlService.ts +64 -15
- package/lib/types/Common.ts +42 -0
- package/lib/utils/CampaignUtil.ts +200 -110
- package/lib/utils/DataTypeUtil.ts +113 -14
- package/lib/utils/DecisionUtil.ts +170 -106
- package/lib/utils/FunctionUtil.ts +126 -64
- package/lib/utils/GatewayServiceUtil.ts +126 -0
- package/lib/utils/ImpressionUtil.ts +59 -0
- package/lib/utils/LogMessageUtil.ts +21 -24
- package/lib/utils/MegUtil.ts +316 -236
- package/lib/utils/NetworkUtil.ts +335 -234
- package/lib/utils/PromiseUtil.ts +25 -4
- package/lib/utils/RuleEvaluationUtil.ts +78 -0
- package/lib/utils/SettingsUtil.ts +30 -16
- package/lib/utils/UuidUtil.ts +45 -9
- package/package.json +34 -24
- package/lib/api/GetVariables.ts +0 -0
- package/lib/constants/url.ts +0 -7
- package/lib/enums/campaignTypeEnum.ts +0 -5
- package/lib/enums/logMessages/DebugLogMessageEnum.ts +0 -3
- package/lib/enums/logMessages/ErrorLogMessageEnum.ts +0 -3
- package/lib/models/ImpactCampaignModel.ts +0 -20
- package/lib/models/MetricModel.ts +0 -31
- package/lib/models/RuleModel.ts +0 -35
- package/lib/modules/decision-maker/index.ts +0 -65
- package/lib/modules/logger/core/logManager.ts +0 -113
- package/lib/modules/logger/core/transportManager.ts +0 -76
- package/lib/modules/logger/enums/logLevelEnum.ts +0 -7
- package/lib/modules/logger/index.ts +0 -2
- package/lib/modules/logger/logMessageBuilder.ts +0 -60
- package/lib/modules/logger/logger.ts +0 -7
- package/lib/modules/logger/transports/consoleTransport.ts +0 -37
- package/lib/modules/networking/client/networkClientInterface.ts +0 -8
- package/lib/modules/networking/handlers/requestHandler.ts +0 -28
- package/lib/modules/networking/index.ts +0 -6
- package/lib/modules/networking/manager/networkManager.ts +0 -77
- package/lib/modules/networking/models/globalRequestModel.ts +0 -69
- package/lib/modules/networking/models/requestModel.ts +0 -164
- package/lib/modules/networking/models/responseModel.ts +0 -40
- package/lib/modules/segmentor/core/segmentationManger.ts +0 -22
- package/lib/modules/segmentor/enums/segmentOperandRegexEnum.ts +0 -10
- package/lib/modules/segmentor/enums/segmentOperandValueEnum.ts +0 -8
- package/lib/modules/segmentor/enums/segmentOperatorValueEnum.ts +0 -15
- package/lib/modules/segmentor/evaluators/segmentEvaluator.ts +0 -239
- package/lib/modules/segmentor/evaluators/segmentOperandEvaluator.ts +0 -199
- package/lib/modules/segmentor/index.ts +0 -3
- package/lib/modules/segmentor/segmentation.ts +0 -6
- package/lib/modules/segmentor/utils/SegmentUtil.ts +0 -23
- package/lib/modules/storage/connector.ts +0 -25
- package/lib/modules/storage/connectors/index.ts +0 -2
- package/lib/modules/storage/connectors/memoryConnector.ts +0 -115
- package/lib/modules/storage/index.ts +0 -1
- package/lib/modules/storage/storage.ts +0 -48
- package/lib/types/common.ts +0 -13
- package/lib/utils/WebServiceUtil.ts +0 -60
- package/lib/utils/logMessageBuilder.ts +0 -60
- /package/{lib/api/GetVariable.ts → dist/interfaces/IVWOBuilder.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
## VWO Feature Management and Experimentation SDK for Node.js
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/vwo-fme-node-sdk)
|
|
4
|
+
[](https://github.com/wingify/vwo-fme-node-sdk/actions?query=workflow%3ACI)
|
|
5
|
+
|
|
6
|
+
[](https://codecov.io/gh/wingify/vwo-fme-node-sdk)
|
|
7
|
+
|
|
4
8
|
[](http://www.apache.org/licenses/LICENSE-2.0)
|
|
5
9
|
|
|
6
10
|
### Requirements
|
|
@@ -20,22 +24,48 @@ yarn add vwo-fme-node-sdk
|
|
|
20
24
|
### Example
|
|
21
25
|
|
|
22
26
|
```javascript
|
|
23
|
-
|
|
27
|
+
const { init } = require('vwo-fme-node-sdk');
|
|
28
|
+
|
|
29
|
+
const vwoClient = await vwo.init({
|
|
30
|
+
accountId: '123456', // VWO Account ID
|
|
31
|
+
sdkKey: '32-alpha-numeric-sdk-key' // SDK Key
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
// set user context
|
|
35
|
+
const userContext = { id: "unique_user_id" };
|
|
36
|
+
// returns a flag object
|
|
37
|
+
const getFlag = await vwoClient.getFlag('feature_key', userContext);
|
|
38
|
+
// check if flag is enabled
|
|
39
|
+
const isFlagEnabled = getFlag.isEnabled();
|
|
40
|
+
// get variable
|
|
41
|
+
const intVar = getFlag.getVariable('int_variable_key');
|
|
42
|
+
|
|
43
|
+
// track event
|
|
44
|
+
vwoClient.trackEvent('addToCart', userContext, eventProperties);
|
|
24
45
|
```
|
|
25
46
|
|
|
26
|
-
### Scripts
|
|
47
|
+
### Development Scripts
|
|
27
48
|
|
|
28
|
-
1. Install dependencies
|
|
49
|
+
1. Install dependencies and bootstrap git-hooks
|
|
29
50
|
|
|
30
|
-
|
|
51
|
+
```bash
|
|
52
|
+
yarn install
|
|
53
|
+
```
|
|
31
54
|
|
|
32
55
|
2. Compile TypeScript code to JavaScript(ES6)
|
|
33
56
|
|
|
34
|
-
|
|
57
|
+
```bash
|
|
58
|
+
yarn tsc
|
|
59
|
+
```
|
|
35
60
|
|
|
36
|
-
|
|
61
|
+
3. To run tests:
|
|
37
62
|
|
|
38
|
-
|
|
63
|
+
```bash
|
|
64
|
+
# for production
|
|
65
|
+
yarn run test:prod
|
|
66
|
+
# for development
|
|
67
|
+
yarn run test:dev
|
|
68
|
+
```
|
|
39
69
|
|
|
40
70
|
### Contributing
|
|
41
71
|
|
package/dist/VWO.d.ts
CHANGED
|
@@ -1,9 +1,40 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IVWOClient } from './VWOClient';
|
|
2
|
+
import { IVWOOptions } from './models/VWOOptionsModel';
|
|
3
|
+
import { dynamic } from './types/Common';
|
|
4
|
+
import { LogLevelEnum } from './packages/logger/enums/LogLevelEnum';
|
|
5
|
+
import { Connector } from './packages/storage/Connector';
|
|
6
|
+
export { LogLevelEnum, Connector as StorageConnector };
|
|
2
7
|
export declare class VWO {
|
|
3
8
|
private static vwoBuilder;
|
|
4
9
|
private static instance;
|
|
5
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Constructor for the VWO class.
|
|
12
|
+
* Initializes a new instance of VWO with the provided options.
|
|
13
|
+
* @param {Record<string, dynamic>} options - Configuration options for the VWO instance.
|
|
14
|
+
* @returns The instance of VWO.
|
|
15
|
+
*/
|
|
16
|
+
constructor(options: IVWOOptions);
|
|
17
|
+
/**
|
|
18
|
+
* Sets the singleton instance of VWO.
|
|
19
|
+
* Configures and builds the VWO instance using the provided options.
|
|
20
|
+
* @param {Record<string, dynamic>} options - Configuration options for setting up VWO.
|
|
21
|
+
* @returns A Promise resolving to the configured VWO instance.
|
|
22
|
+
*/
|
|
6
23
|
private static setInstance;
|
|
24
|
+
/**
|
|
25
|
+
* Gets the singleton instance of VWO.
|
|
26
|
+
* @returns The singleton instance of VWO.
|
|
27
|
+
*/
|
|
7
28
|
static get Instance(): dynamic;
|
|
8
29
|
}
|
|
9
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Initializes a new instance of VWO with the provided options.
|
|
32
|
+
* @param options Configuration options for the VWO instance.
|
|
33
|
+
* @property {string} sdkKey - The SDK key for the VWO account.
|
|
34
|
+
* @property {string} accountId - The account ID for the VWO account.
|
|
35
|
+
* @property {GatewayServiceModel} gatewayService - The gateway service configuration.
|
|
36
|
+
* @property {StorageService} storage - The storage configuration.
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
export declare function init(options: IVWOOptions): Promise<IVWOClient>;
|
|
40
|
+
export declare function onReady(): Promise<any>;
|
package/dist/VWO.js
CHANGED
|
@@ -36,33 +36,69 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.init = exports.VWO = void 0;
|
|
39
|
+
exports.onReady = exports.init = exports.VWO = exports.StorageConnector = exports.LogLevelEnum = void 0;
|
|
40
|
+
/**
|
|
41
|
+
* Copyright 2024 Wingify Software Pvt. Ltd.
|
|
42
|
+
*
|
|
43
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
44
|
+
* you may not use this file except in compliance with the License.
|
|
45
|
+
* You may obtain a copy of the License at
|
|
46
|
+
*
|
|
47
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
48
|
+
*
|
|
49
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
50
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
51
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
52
|
+
* See the License for the specific language governing permissions and
|
|
53
|
+
* limitations under the License.
|
|
54
|
+
*/
|
|
40
55
|
var VWOBuilder_1 = require("./VWOBuilder");
|
|
41
56
|
var DataTypeUtil_1 = require("./utils/DataTypeUtil");
|
|
57
|
+
var PromiseUtil_1 = require("./utils/PromiseUtil");
|
|
58
|
+
var log_messages_1 = require("./enums/log-messages");
|
|
59
|
+
var LogLevelEnum_1 = require("./packages/logger/enums/LogLevelEnum");
|
|
60
|
+
Object.defineProperty(exports, "LogLevelEnum", { enumerable: true, get: function () { return LogLevelEnum_1.LogLevelEnum; } });
|
|
61
|
+
var Connector_1 = require("./packages/storage/Connector");
|
|
62
|
+
Object.defineProperty(exports, "StorageConnector", { enumerable: true, get: function () { return Connector_1.Connector; } });
|
|
63
|
+
var LogMessageUtil_1 = require("./utils/LogMessageUtil");
|
|
42
64
|
var VWO = /** @class */ (function () {
|
|
65
|
+
/**
|
|
66
|
+
* Constructor for the VWO class.
|
|
67
|
+
* Initializes a new instance of VWO with the provided options.
|
|
68
|
+
* @param {Record<string, dynamic>} options - Configuration options for the VWO instance.
|
|
69
|
+
* @returns The instance of VWO.
|
|
70
|
+
*/
|
|
43
71
|
function VWO(options) {
|
|
44
|
-
if (options === void 0) { options = {}; }
|
|
45
72
|
return VWO.setInstance(options);
|
|
46
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Sets the singleton instance of VWO.
|
|
76
|
+
* Configures and builds the VWO instance using the provided options.
|
|
77
|
+
* @param {Record<string, dynamic>} options - Configuration options for setting up VWO.
|
|
78
|
+
* @returns A Promise resolving to the configured VWO instance.
|
|
79
|
+
*/
|
|
47
80
|
VWO.setInstance = function (options) {
|
|
48
81
|
var _this = this;
|
|
49
|
-
|
|
82
|
+
var optionsVWOBuilder = options === null || options === void 0 ? void 0 : options.vwoBuilder;
|
|
83
|
+
this.vwoBuilder = optionsVWOBuilder || new VWOBuilder_1.VWOBuilder(options);
|
|
50
84
|
this.instance = this.vwoBuilder
|
|
51
|
-
.
|
|
52
|
-
.
|
|
53
|
-
.
|
|
54
|
-
.setNetworkManager()
|
|
55
|
-
.setSegmentation()
|
|
56
|
-
.initBatching()
|
|
57
|
-
.initPolling();
|
|
58
|
-
// .
|
|
59
|
-
// .setAnalyticsCallback()
|
|
85
|
+
.setLogger() // Sets up logging for debugging and monitoring.
|
|
86
|
+
.setSettingsManager() // Sets the settings manager for configuration management.
|
|
87
|
+
.setStorage() // Configures storage for data persistence.
|
|
88
|
+
.setNetworkManager() // Configures network management for API communication.
|
|
89
|
+
.setSegmentation() // Sets up segmentation for targeted functionality.
|
|
90
|
+
// .initBatching() // Initializes batching for bulk data processing.
|
|
91
|
+
.initPolling(); // Starts polling mechanism for regular updates.
|
|
92
|
+
// .setAnalyticsCallback() // Sets up analytics callback for data analysis.
|
|
60
93
|
return this.vwoBuilder.getSettings().then(function (settings) {
|
|
61
|
-
return _this.vwoBuilder.build(settings);
|
|
94
|
+
return _this.vwoBuilder.build(settings); // Builds the VWO instance with the fetched settings.
|
|
62
95
|
});
|
|
63
|
-
// return this.instance;
|
|
64
96
|
};
|
|
65
97
|
Object.defineProperty(VWO, "Instance", {
|
|
98
|
+
/**
|
|
99
|
+
* Gets the singleton instance of VWO.
|
|
100
|
+
* @returns The singleton instance of VWO.
|
|
101
|
+
*/
|
|
66
102
|
get: function () {
|
|
67
103
|
return this.instance;
|
|
68
104
|
},
|
|
@@ -72,29 +108,108 @@ var VWO = /** @class */ (function () {
|
|
|
72
108
|
return VWO;
|
|
73
109
|
}());
|
|
74
110
|
exports.VWO = VWO;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
111
|
+
var _global = {};
|
|
112
|
+
/**
|
|
113
|
+
* Initializes a new instance of VWO with the provided options.
|
|
114
|
+
* @param options Configuration options for the VWO instance.
|
|
115
|
+
* @property {string} sdkKey - The SDK key for the VWO account.
|
|
116
|
+
* @property {string} accountId - The account ID for the VWO account.
|
|
117
|
+
* @property {GatewayServiceModel} gatewayService - The gateway service configuration.
|
|
118
|
+
* @property {StorageService} storage - The storage configuration.
|
|
119
|
+
* @returns
|
|
120
|
+
*/
|
|
121
|
+
function init(options) {
|
|
122
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
123
|
+
var apiName, date, msg, msg, msg, instance, msg;
|
|
79
124
|
return __generator(this, function (_a) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
125
|
+
apiName = 'init';
|
|
126
|
+
date = new Date().toISOString();
|
|
127
|
+
try {
|
|
128
|
+
if (!(0, DataTypeUtil_1.isObject)(options)) {
|
|
129
|
+
msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.ErrorLogMessagesEnum.INIT_OPTIONS_ERROR, {
|
|
130
|
+
date: date,
|
|
131
|
+
});
|
|
132
|
+
console.error(msg); // Ensures options is an object.
|
|
133
|
+
}
|
|
134
|
+
if (!(options === null || options === void 0 ? void 0 : options.sdkKey) || !(0, DataTypeUtil_1.isString)(options === null || options === void 0 ? void 0 : options.sdkKey)) {
|
|
135
|
+
msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.ErrorLogMessagesEnum.INIT_OPTIONS_SDK_KEY_ERROR, {
|
|
136
|
+
date: date,
|
|
137
|
+
});
|
|
138
|
+
console.error(msg); // Validates sdkKey presence and type.
|
|
139
|
+
}
|
|
140
|
+
if (!options.accountId) {
|
|
141
|
+
msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.ErrorLogMessagesEnum.INIT_OPTIONS_ACCOUNT_ID_ERROR, {
|
|
142
|
+
date: date,
|
|
143
|
+
});
|
|
144
|
+
console.error(msg); // Validates accountId presence and type.
|
|
145
|
+
}
|
|
146
|
+
instance = new VWO(options);
|
|
147
|
+
_global = {
|
|
148
|
+
vwoInitDeferred: new PromiseUtil_1.Deferred(),
|
|
149
|
+
isSettingsFetched: false,
|
|
150
|
+
instance: null,
|
|
151
|
+
};
|
|
152
|
+
return [2 /*return*/, instance.then(function (_vwoInstance) {
|
|
153
|
+
_global.isSettingsFetched = true;
|
|
154
|
+
_global.instance = _vwoInstance;
|
|
155
|
+
_global.vwoInitDeferred.resolve(_vwoInstance);
|
|
156
|
+
return _vwoInstance;
|
|
157
|
+
})];
|
|
95
158
|
}
|
|
159
|
+
catch (err) {
|
|
160
|
+
msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.ErrorLogMessagesEnum.API_THROW_ERROR, {
|
|
161
|
+
apiName: apiName,
|
|
162
|
+
err: err,
|
|
163
|
+
});
|
|
164
|
+
console.info("[INFO]: VWO-SDK ".concat(new Date().toISOString(), " ").concat(msg));
|
|
165
|
+
}
|
|
166
|
+
return [2 /*return*/];
|
|
96
167
|
});
|
|
97
168
|
});
|
|
98
169
|
}
|
|
99
170
|
exports.init = init;
|
|
171
|
+
function onReady() {
|
|
172
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
173
|
+
var apiName, date_1, msg, msg;
|
|
174
|
+
return __generator(this, function (_a) {
|
|
175
|
+
apiName = 'onReady';
|
|
176
|
+
try {
|
|
177
|
+
_global.vwoInitDeferred = new PromiseUtil_1.Deferred();
|
|
178
|
+
date_1 = new Date().toISOString();
|
|
179
|
+
// If settings are already fetched, resolve the promise
|
|
180
|
+
if (_global.isSettingsFetched) {
|
|
181
|
+
msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.InfoLogMessagesEnum.ON_READY_ALREADY_RESOLVED, {
|
|
182
|
+
date: date_1,
|
|
183
|
+
apiName: apiName,
|
|
184
|
+
});
|
|
185
|
+
console.info(msg);
|
|
186
|
+
_global.vwoInitDeferred.resolve(_global.instance);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
// wait for five seconds, else reject the promise
|
|
190
|
+
setTimeout(function () {
|
|
191
|
+
if (_global.isSettingsFetched) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
var msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.InfoLogMessagesEnum.ON_READY_SETTINGS_FAILED, {
|
|
195
|
+
date: date_1,
|
|
196
|
+
});
|
|
197
|
+
console.error(msg);
|
|
198
|
+
_global.vwoInitDeferred.reject(new Error('VWO settings could not be fetched'));
|
|
199
|
+
}, 5000);
|
|
200
|
+
}
|
|
201
|
+
return [2 /*return*/, _global.vwoInitDeferred.promise];
|
|
202
|
+
}
|
|
203
|
+
catch (err) {
|
|
204
|
+
msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.ErrorLogMessagesEnum.API_THROW_ERROR, {
|
|
205
|
+
apiName: apiName,
|
|
206
|
+
err: err,
|
|
207
|
+
});
|
|
208
|
+
console.info("[INFO]: VWO-SDK ".concat(new Date().toISOString(), " ").concat(msg));
|
|
209
|
+
}
|
|
210
|
+
return [2 /*return*/];
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
exports.onReady = onReady;
|
|
100
215
|
//# sourceMappingURL=VWO.js.map
|
package/dist/VWO.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VWO.js","sourceRoot":"","sources":["../lib/VWO.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"VWO.js","sourceRoot":"","sources":["../lib/VWO.ts"],"names":[],"mappings":"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"}
|
package/dist/VWOBuilder.d.ts
CHANGED
|
@@ -1,48 +1,114 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2024 Wingify Software Pvt. Ltd.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { dynamic } from './types/Common';
|
|
17
|
+
import { ILogManager } from './packages/logger';
|
|
18
|
+
import { Storage } from './packages/storage';
|
|
19
|
+
import { IVWOClient } from './VWOClient';
|
|
20
|
+
import { SettingsModel } from './models/settings/SettingsModel';
|
|
21
|
+
import { IVWOOptions } from './models/VWOOptionsModel';
|
|
22
|
+
export interface IVWOBuilder {
|
|
7
23
|
settings: SettingsModel;
|
|
8
24
|
storage: Storage;
|
|
9
|
-
logManager:
|
|
25
|
+
logManager: ILogManager;
|
|
10
26
|
isSettingsFetchInProgress: boolean;
|
|
11
|
-
|
|
27
|
+
vwoInstance: IVWOClient;
|
|
28
|
+
build(settings: SettingsModel): IVWOClient;
|
|
12
29
|
fetchSettings(): Promise<SettingsModel>;
|
|
13
30
|
setSettingsManager(): this;
|
|
14
|
-
setSettings(settings: SettingsModel): void;
|
|
15
31
|
getSettings(force: boolean): Promise<dynamic>;
|
|
16
32
|
setStorage(): this;
|
|
17
33
|
setNetworkManager(): this;
|
|
18
|
-
initBatching(): this;
|
|
19
34
|
initPolling(): this;
|
|
20
|
-
setAnalyticsCallback(): this;
|
|
21
35
|
setLogger(): this;
|
|
22
36
|
setSegmentation(): this;
|
|
23
37
|
}
|
|
24
38
|
export declare class VWOBuilder implements IVWOBuilder {
|
|
25
|
-
readonly
|
|
26
|
-
readonly options:
|
|
39
|
+
readonly sdkKey: string;
|
|
40
|
+
readonly options: IVWOOptions;
|
|
27
41
|
private settingFileManager;
|
|
28
42
|
settings: SettingsModel;
|
|
29
43
|
storage: Storage;
|
|
30
|
-
logManager:
|
|
44
|
+
logManager: ILogManager;
|
|
31
45
|
originalSettings: dynamic;
|
|
32
46
|
isSettingsFetchInProgress: boolean;
|
|
33
|
-
|
|
47
|
+
vwoInstance: IVWOClient;
|
|
48
|
+
constructor(options: IVWOOptions);
|
|
49
|
+
/**
|
|
50
|
+
* Sets the network manager with the provided client and development mode options.
|
|
51
|
+
* @returns {this} The instance of this builder.
|
|
52
|
+
*/
|
|
34
53
|
setNetworkManager(): this;
|
|
54
|
+
/**
|
|
55
|
+
* Sets the segmentation evaluator with the provided segmentation options.
|
|
56
|
+
* @returns {this} The instance of this builder.
|
|
57
|
+
*/
|
|
35
58
|
setSegmentation(): this;
|
|
59
|
+
/**
|
|
60
|
+
* Fetches settings asynchronously, ensuring no parallel fetches.
|
|
61
|
+
* @param {boolean} [force=false] - Force fetch ignoring cache.
|
|
62
|
+
* @returns {Promise<SettingsModel>} A promise that resolves to the fetched settings.
|
|
63
|
+
*/
|
|
36
64
|
fetchSettings(force?: boolean): Promise<SettingsModel>;
|
|
37
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Gets the settings, fetching them if not cached or if forced.
|
|
67
|
+
* @param {boolean} [force=false] - Force fetch ignoring cache.
|
|
68
|
+
* @returns {Promise<SettingsModel>} A promise that resolves to the settings.
|
|
69
|
+
*/
|
|
38
70
|
getSettings(force?: boolean): Promise<SettingsModel>;
|
|
71
|
+
/**
|
|
72
|
+
* Sets the storage connector based on the provided storage options.
|
|
73
|
+
* @returns {this} The instance of this builder.
|
|
74
|
+
*/
|
|
39
75
|
setStorage(): this;
|
|
76
|
+
/**
|
|
77
|
+
* Sets the settings manager with the provided options.
|
|
78
|
+
* @returns {this} The instance of this builder.
|
|
79
|
+
*/
|
|
40
80
|
setSettingsManager(): this;
|
|
81
|
+
/**
|
|
82
|
+
* Sets the logger with the provided logger options.
|
|
83
|
+
* @returns {this} The instance of this builder.
|
|
84
|
+
*/
|
|
41
85
|
setLogger(): this;
|
|
42
|
-
|
|
43
|
-
|
|
86
|
+
/**
|
|
87
|
+
* Sets the analytics callback with the provided analytics options.
|
|
88
|
+
* @returns {this} The instance of this builder.
|
|
89
|
+
*/
|
|
90
|
+
/**
|
|
91
|
+
* Generates a random user ID based on the provided API key.
|
|
92
|
+
* @returns {string} The generated random user ID.
|
|
93
|
+
*/
|
|
94
|
+
getRandomUserId(): string;
|
|
95
|
+
/**
|
|
96
|
+
* Initializes the batching with the provided batch events options.
|
|
97
|
+
* @returns {this} The instance of this builder.
|
|
98
|
+
*/
|
|
99
|
+
/**
|
|
100
|
+
* Initializes the polling with the provided poll interval.
|
|
101
|
+
* @returns {this} The instance of this builder.
|
|
102
|
+
*/
|
|
44
103
|
initPolling(): this;
|
|
45
|
-
|
|
46
|
-
|
|
104
|
+
/**
|
|
105
|
+
* Builds a new VWOClient instance with the provided settings.
|
|
106
|
+
* @param {SettingsModel} settings - The settings for the VWOClient.
|
|
107
|
+
* @returns {VWOClient} The new VWOClient instance.
|
|
108
|
+
*/
|
|
109
|
+
build(settings: SettingsModel): IVWOClient;
|
|
110
|
+
/**
|
|
111
|
+
* Checks and polls for settings updates at the provided interval.
|
|
112
|
+
*/
|
|
113
|
+
checkAndPoll(): void;
|
|
47
114
|
}
|
|
48
|
-
export {};
|