vwo-fme-node-sdk 1.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/CONTRIBUTING.md +46 -0
- package/LICENSE +202 -0
- package/NOTICE +18 -0
- package/README.md +52 -0
- package/dist/VWO.d.ts +9 -0
- package/dist/VWO.js +100 -0
- package/dist/VWO.js.map +1 -0
- package/dist/VWOBuilder.d.ts +48 -0
- package/dist/VWOBuilder.js +173 -0
- package/dist/VWOBuilder.js.map +1 -0
- package/dist/VWOClient.d.ts +20 -0
- package/dist/VWOClient.js +249 -0
- package/dist/VWOClient.js.map +1 -0
- package/dist/api/GetFlag.d.ts +19 -0
- package/dist/api/GetFlag.js +394 -0
- package/dist/api/GetFlag.js.map +1 -0
- package/dist/api/GetVariable.d.ts +0 -0
- package/dist/api/GetVariable.js +1 -0
- package/dist/api/GetVariable.js.map +1 -0
- package/dist/api/GetVariables.d.ts +0 -0
- package/dist/api/GetVariables.js +1 -0
- package/dist/api/GetVariables.js.map +1 -0
- package/dist/api/SetAttribute.d.ts +7 -0
- package/dist/api/SetAttribute.js +62 -0
- package/dist/api/SetAttribute.js.map +1 -0
- package/dist/api/Track.js +76 -0
- package/dist/api/Track.js.map +1 -0
- package/dist/api/TrackEvent.d.ts +8 -0
- package/dist/api/TrackEvent.js +78 -0
- package/dist/api/TrackEvent.js.map +1 -0
- package/dist/constants/index.d.ts +24 -0
- package/dist/constants/index.js +31 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/url.d.ts +6 -0
- package/dist/constants/url.js +10 -0
- package/dist/constants/url.js.map +1 -0
- package/dist/decision-maker/index.js +75 -0
- package/dist/decision-maker/index.js.map +1 -0
- package/dist/decorators/StorageDecorator.d.ts +12 -0
- package/dist/decorators/StorageDecorator.js +119 -0
- package/dist/decorators/StorageDecorator.js.map +1 -0
- package/dist/enums/ApiEnum.d.ts +4 -0
- package/dist/enums/ApiEnum.js +9 -0
- package/dist/enums/ApiEnum.js.map +1 -0
- package/dist/enums/EventEnum.d.ts +4 -0
- package/dist/enums/EventEnum.js +9 -0
- package/dist/enums/EventEnum.js.map +1 -0
- package/dist/enums/HeadersEnum.d.ts +4 -0
- package/dist/enums/HeadersEnum.js +9 -0
- package/dist/enums/HeadersEnum.js.map +1 -0
- package/dist/enums/HooksEnum.d.ts +7 -0
- package/dist/enums/HooksEnum.js +8 -0
- package/dist/enums/HooksEnum.js.map +1 -0
- package/dist/enums/LogLevelEnum.d.ts +7 -0
- package/dist/enums/LogLevelEnum.js +12 -0
- package/dist/enums/LogLevelEnum.js.map +1 -0
- package/dist/enums/StatusEnum.d.ts +4 -0
- package/dist/enums/StorageEnum.d.ts +8 -0
- package/dist/enums/StorageEnum.js +13 -0
- package/dist/enums/StorageEnum.js.map +1 -0
- package/dist/enums/UrlEnum.d.ts +13 -0
- package/dist/enums/UrlEnum.js +18 -0
- package/dist/enums/UrlEnum.js.map +1 -0
- package/dist/enums/campaignTypeEnum.d.ts +5 -0
- package/dist/enums/campaignTypeEnum.js +10 -0
- package/dist/enums/campaignTypeEnum.js.map +1 -0
- package/dist/enums/logMessages/DbugLogMessageEnum.js +1 -0
- package/dist/enums/logMessages/DbugLogMessageEnum.js.map +1 -0
- package/dist/enums/logMessages/DebugLogMessageEnum.d.ts +3 -0
- package/dist/enums/logMessages/ErorLogMessageEnum.js +1 -0
- package/dist/enums/logMessages/ErorLogMessageEnum.js.map +1 -0
- package/dist/enums/logMessages/ErrorLogMessageEnum.d.ts +3 -0
- package/dist/enums/logMessages/debugLogMessageEnum.js +8 -0
- package/dist/enums/logMessages/debugLogMessageEnum.js.map +1 -0
- package/dist/enums/logMessages/errorLogMessageEnum.js +8 -0
- package/dist/enums/logMessages/errorLogMessageEnum.js.map +1 -0
- package/dist/enums/statusEnum.js +9 -0
- package/dist/enums/statusEnum.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/logger/core/logManager.js +97 -0
- package/dist/logger/core/logManager.js.map +1 -0
- package/dist/logger/core/transportManager.js +60 -0
- package/dist/logger/core/transportManager.js.map +1 -0
- package/dist/logger/enums/logLevelEnum.js +12 -0
- package/dist/logger/enums/logLevelEnum.js.map +1 -0
- package/dist/logger/index.js +8 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/logMessageBuilder.js +43 -0
- package/dist/logger/logMessageBuilder.js.map +1 -0
- package/dist/logger/logger.js +10 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/logger/transports/consoleTransport.js +32 -0
- package/dist/logger/transports/consoleTransport.js.map +1 -0
- package/dist/models/CampaignModel.d.ts +32 -0
- package/dist/models/CampaignModel.js +149 -0
- package/dist/models/CampaignModel.js.map +1 -0
- package/dist/models/FeatureModel.d.ts +20 -0
- package/dist/models/FeatureModel.js +72 -0
- package/dist/models/FeatureModel.js.map +1 -0
- package/dist/models/ImpactCampaignModel.d.ts +7 -0
- package/dist/models/ImpactCampaignModel.js +21 -0
- package/dist/models/ImpactCampaignModel.js.map +1 -0
- package/dist/models/MetricModel.d.ts +12 -0
- package/dist/models/MetricModel.js +25 -0
- package/dist/models/MetricModel.js.map +1 -0
- package/dist/models/RuleModel.d.ts +11 -0
- package/dist/models/RuleModel.js +29 -0
- package/dist/models/RuleModel.js.map +1 -0
- package/dist/models/SettingsModel.d.ts +28 -0
- package/dist/models/SettingsModel.js +70 -0
- package/dist/models/SettingsModel.js.map +1 -0
- package/dist/models/VariableModel.d.ts +18 -0
- package/dist/models/VariableModel.js +38 -0
- package/dist/models/VariableModel.js.map +1 -0
- package/dist/models/VariationModel.d.ts +29 -0
- package/dist/models/VariationModel.js +80 -0
- package/dist/models/VariationModel.js.map +1 -0
- package/dist/models/schemas/SettingsSchemaValidation.d.ts +13 -0
- package/dist/models/schemas/SettingsSchemaValidation.js +70 -0
- package/dist/models/schemas/SettingsSchemaValidation.js.map +1 -0
- package/dist/modules/decision-maker/index.d.ts +38 -0
- package/dist/modules/decision-maker/index.js +67 -0
- package/dist/modules/decision-maker/index.js.map +1 -0
- package/dist/modules/logger/core/logManager.d.ts +40 -0
- package/dist/modules/logger/core/logManager.js +97 -0
- package/dist/modules/logger/core/logManager.js.map +1 -0
- package/dist/modules/logger/core/transportManager.d.ts +22 -0
- package/dist/modules/logger/core/transportManager.js +60 -0
- package/dist/modules/logger/core/transportManager.js.map +1 -0
- package/dist/modules/logger/enums/logLevelEnum.d.ts +7 -0
- package/dist/modules/logger/enums/logLevelEnum.js +12 -0
- package/dist/modules/logger/enums/logLevelEnum.js.map +1 -0
- package/dist/modules/logger/index.d.ts +2 -0
- package/dist/modules/logger/index.js +8 -0
- package/dist/modules/logger/index.js.map +1 -0
- package/dist/modules/logger/logMessageBuilder.d.ts +21 -0
- package/dist/modules/logger/logMessageBuilder.js +43 -0
- package/dist/modules/logger/logMessageBuilder.js.map +1 -0
- package/dist/modules/logger/logger.d.ts +7 -0
- package/dist/modules/logger/logger.js +10 -0
- package/dist/modules/logger/logger.js.map +1 -0
- package/dist/modules/logger/transports/consoleTransport.d.ts +12 -0
- package/dist/modules/logger/transports/consoleTransport.js +32 -0
- package/dist/modules/logger/transports/consoleTransport.js.map +1 -0
- package/dist/modules/networking/client/networkClient.d.ts +7 -0
- package/dist/modules/networking/client/networkClient.js +117 -0
- package/dist/modules/networking/client/networkClient.js.map +1 -0
- package/dist/modules/networking/client/networkClientInterface.d.ts +6 -0
- package/dist/modules/networking/client/networkClientInterface.js +3 -0
- package/dist/modules/networking/client/networkClientInterface.js.map +1 -0
- package/dist/modules/networking/handlers/requestHandler.d.ts +5 -0
- package/dist/modules/networking/handlers/requestHandler.js +29 -0
- package/dist/modules/networking/handlers/requestHandler.js.map +1 -0
- package/dist/modules/networking/index.d.ts +6 -0
- package/dist/modules/networking/index.js +14 -0
- package/dist/modules/networking/index.js.map +1 -0
- package/dist/modules/networking/manager/networkManager.d.ts +16 -0
- package/dist/modules/networking/manager/networkManager.js +72 -0
- package/dist/modules/networking/manager/networkManager.js.map +1 -0
- package/dist/modules/networking/models/globalRequestModel.d.ts +22 -0
- package/dist/modules/networking/models/globalRequestModel.js +51 -0
- package/dist/modules/networking/models/globalRequestModel.js.map +1 -0
- package/dist/modules/networking/models/requestModel.d.ts +32 -0
- package/dist/modules/networking/models/requestModel.js +128 -0
- package/dist/modules/networking/models/requestModel.js.map +1 -0
- package/dist/modules/networking/models/responseModel.d.ts +15 -0
- package/dist/modules/networking/models/responseModel.js +34 -0
- package/dist/modules/networking/models/responseModel.js.map +1 -0
- package/dist/modules/segmentor/core/segmentationManger.d.ts +10 -0
- package/dist/modules/segmentor/core/segmentationManger.js +68 -0
- package/dist/modules/segmentor/core/segmentationManger.js.map +1 -0
- package/dist/modules/segmentor/enums/segmentOperandRegexEnum.d.ts +10 -0
- package/dist/modules/segmentor/enums/segmentOperandRegexEnum.js +15 -0
- package/dist/modules/segmentor/enums/segmentOperandRegexEnum.js.map +1 -0
- package/dist/modules/segmentor/enums/segmentOperandValueEnum.d.ts +8 -0
- package/dist/modules/segmentor/enums/segmentOperandValueEnum.js +13 -0
- package/dist/modules/segmentor/enums/segmentOperandValueEnum.js.map +1 -0
- package/dist/modules/segmentor/enums/segmentOperatorValueEnum.d.ts +15 -0
- package/dist/modules/segmentor/enums/segmentOperatorValueEnum.js +20 -0
- package/dist/modules/segmentor/enums/segmentOperatorValueEnum.js.map +1 -0
- package/dist/modules/segmentor/evaluators/segmentEvaluator.d.ts +15 -0
- package/dist/modules/segmentor/evaluators/segmentEvaluator.js +379 -0
- package/dist/modules/segmentor/evaluators/segmentEvaluator.js.map +1 -0
- package/dist/modules/segmentor/evaluators/segmentOperandEvaluator.d.ts +12 -0
- package/dist/modules/segmentor/evaluators/segmentOperandEvaluator.js +248 -0
- package/dist/modules/segmentor/evaluators/segmentOperandEvaluator.js.map +1 -0
- package/dist/modules/segmentor/index.d.ts +3 -0
- package/dist/modules/segmentor/index.js +8 -0
- package/dist/modules/segmentor/index.js.map +1 -0
- package/dist/modules/segmentor/segmentation.d.ts +5 -0
- package/dist/modules/segmentor/segmentation.js +3 -0
- package/dist/modules/segmentor/segmentation.js.map +1 -0
- package/dist/modules/segmentor/utils/SegmentUtil.d.ts +2 -0
- package/dist/modules/segmentor/utils/SegmentUtil.js +26 -0
- package/dist/modules/segmentor/utils/SegmentUtil.js.map +1 -0
- package/dist/modules/storage/connector.d.ts +14 -0
- package/dist/modules/storage/connector.js +10 -0
- package/dist/modules/storage/connector.js.map +1 -0
- package/dist/modules/storage/connectors/index.d.ts +0 -0
- package/dist/modules/storage/connectors/index.js +3 -0
- package/dist/modules/storage/connectors/index.js.map +1 -0
- package/dist/modules/storage/connectors/memoryConnector.d.ts +26 -0
- package/dist/modules/storage/connectors/memoryConnector.js +103 -0
- package/dist/modules/storage/connectors/memoryConnector.js.map +1 -0
- package/dist/modules/storage/connectors/redisConnector.d.ts +0 -0
- package/dist/modules/storage/connectors/redisConnector.js +181 -0
- package/dist/modules/storage/connectors/redisConnector.js.map +1 -0
- package/dist/modules/storage/index.d.ts +1 -0
- package/dist/modules/storage/index.js +6 -0
- package/dist/modules/storage/index.js.map +1 -0
- package/dist/modules/storage/storage.d.ts +10 -0
- package/dist/modules/storage/storage.js +50 -0
- package/dist/modules/storage/storage.js.map +1 -0
- package/dist/networking/client/networkClient.js +117 -0
- package/dist/networking/client/networkClient.js.map +1 -0
- package/dist/networking/client/networkClientInterface.js +3 -0
- package/dist/networking/client/networkClientInterface.js.map +1 -0
- package/dist/networking/handlers/requestHandler.js +29 -0
- package/dist/networking/handlers/requestHandler.js.map +1 -0
- package/dist/networking/index.js +14 -0
- package/dist/networking/index.js.map +1 -0
- package/dist/networking/manager/networkManager.js +72 -0
- package/dist/networking/manager/networkManager.js.map +1 -0
- package/dist/networking/models/globalRequestModel.js +51 -0
- package/dist/networking/models/globalRequestModel.js.map +1 -0
- package/dist/networking/models/requestModel.js +107 -0
- package/dist/networking/models/requestModel.js.map +1 -0
- package/dist/networking/models/responseModel.js +34 -0
- package/dist/networking/models/responseModel.js.map +1 -0
- package/dist/segmentor/core/segmentationManger.js +25 -0
- package/dist/segmentor/core/segmentationManger.js.map +1 -0
- package/dist/segmentor/enums/segmentOperandRegexEnum.js +15 -0
- package/dist/segmentor/enums/segmentOperandRegexEnum.js.map +1 -0
- package/dist/segmentor/enums/segmentOperandValueEnum.js +13 -0
- package/dist/segmentor/enums/segmentOperandValueEnum.js.map +1 -0
- package/dist/segmentor/enums/segmentOperatorValueEnum.js +12 -0
- package/dist/segmentor/enums/segmentOperatorValueEnum.js.map +1 -0
- package/dist/segmentor/evaluators/segmentEvaluator.js +52 -0
- package/dist/segmentor/evaluators/segmentEvaluator.js.map +1 -0
- package/dist/segmentor/evaluators/segmentOperandEvaluator.js +158 -0
- package/dist/segmentor/evaluators/segmentOperandEvaluator.js.map +1 -0
- package/dist/segmentor/index.js +8 -0
- package/dist/segmentor/index.js.map +1 -0
- package/dist/segmentor/segmentation.js +3 -0
- package/dist/segmentor/segmentation.js.map +1 -0
- package/dist/segmentor/utils/SegmentUtil.js +27 -0
- package/dist/segmentor/utils/SegmentUtil.js.map +1 -0
- package/dist/services/CampaignDecisionService.d.ts +44 -0
- package/dist/services/CampaignDecisionService.js +175 -0
- package/dist/services/CampaignDecisionService.js.map +1 -0
- package/dist/services/HooksManager.d.ts +27 -0
- package/dist/services/HooksManager.js +40 -0
- package/dist/services/HooksManager.js.map +1 -0
- package/dist/services/SettingsManager.d.ts +21 -0
- package/dist/services/SettingsManager.js +168 -0
- package/dist/services/SettingsManager.js.map +1 -0
- package/dist/services/StorageService.d.ts +5 -0
- package/dist/services/StorageService.js +94 -0
- package/dist/services/StorageService.js.map +1 -0
- package/dist/services/UrlService.d.ts +13 -0
- package/dist/services/UrlService.js +37 -0
- package/dist/services/UrlService.js.map +1 -0
- package/dist/types/common.d.ts +2 -0
- package/dist/types/common.js +3 -0
- package/dist/types/common.js.map +1 -0
- package/dist/utils/CampaignUtil.d.ts +23 -0
- package/dist/utils/CampaignUtil.js +228 -0
- package/dist/utils/CampaignUtil.js.map +1 -0
- package/dist/utils/DataTypeUtil.d.ts +17 -0
- package/dist/utils/DataTypeUtil.js +86 -0
- package/dist/utils/DataTypeUtil.js.map +1 -0
- package/dist/utils/DecisionUtil.d.ts +4 -0
- package/dist/utils/DecisionUtil.js +197 -0
- package/dist/utils/DecisionUtil.js.map +1 -0
- package/dist/utils/FunctionUtil.d.ts +13 -0
- package/dist/utils/FunctionUtil.js +121 -0
- package/dist/utils/FunctionUtil.js.map +1 -0
- package/dist/utils/LogMessageUtil.d.ts +16 -0
- package/dist/utils/LogMessageUtil.js +53 -0
- package/dist/utils/LogMessageUtil.js.map +1 -0
- package/dist/utils/MegUtil.d.ts +7 -0
- package/dist/utils/MegUtil.js +413 -0
- package/dist/utils/MegUtil.js.map +1 -0
- package/dist/utils/NetworkUtil.d.ts +140 -0
- package/dist/utils/NetworkUtil.js +238 -0
- package/dist/utils/NetworkUtil.js.map +1 -0
- package/dist/utils/PromiseUtil.d.ts +1 -0
- package/dist/utils/PromiseUtil.js +13 -0
- package/dist/utils/PromiseUtil.js.map +1 -0
- package/dist/utils/SettingsUtil.d.ts +2 -0
- package/dist/utils/SettingsUtil.js +17 -0
- package/dist/utils/SettingsUtil.js.map +1 -0
- package/dist/utils/UuidUtil.d.ts +2 -0
- package/dist/utils/UuidUtil.js +30 -0
- package/dist/utils/UuidUtil.js.map +1 -0
- package/dist/utils/WebServiceUtil.d.ts +4 -0
- package/dist/utils/WebServiceUtil.js +93 -0
- package/dist/utils/WebServiceUtil.js.map +1 -0
- package/dist/utils/logMessageBuilder.d.ts +21 -0
- package/dist/utils/logMessageBuilder.js +43 -0
- package/dist/utils/logMessageBuilder.js.map +1 -0
- package/lib/VWO.ts +55 -0
- package/lib/VWOBuilder.ts +237 -0
- package/lib/VWOClient.ts +321 -0
- package/lib/api/GetFlag.ts +458 -0
- package/lib/api/GetVariable.ts +0 -0
- package/lib/api/GetVariables.ts +0 -0
- package/lib/api/SetAttribute.ts +33 -0
- package/lib/api/TrackEvent.ts +52 -0
- package/lib/constants/index.ts +35 -0
- package/lib/constants/url.ts +7 -0
- package/lib/decorators/StorageDecorator.ts +98 -0
- package/lib/enums/ApiEnum.ts +4 -0
- package/lib/enums/EventEnum.ts +4 -0
- package/lib/enums/HeadersEnum.ts +4 -0
- package/lib/enums/HooksEnum.ts +11 -0
- package/lib/enums/LogLevelEnum.ts +7 -0
- package/lib/enums/StatusEnum.ts +4 -0
- package/lib/enums/StorageEnum.ts +8 -0
- package/lib/enums/UrlEnum.ts +13 -0
- package/lib/enums/campaignTypeEnum.ts +5 -0
- package/lib/enums/logMessages/DebugLogMessageEnum.ts +3 -0
- package/lib/enums/logMessages/ErrorLogMessageEnum.ts +3 -0
- package/lib/index.ts +1 -0
- package/lib/models/CampaignModel.ts +176 -0
- package/lib/models/FeatureModel.ts +81 -0
- package/lib/models/ImpactCampaignModel.ts +20 -0
- package/lib/models/MetricModel.ts +31 -0
- package/lib/models/RuleModel.ts +35 -0
- package/lib/models/SettingsModel.ts +95 -0
- package/lib/models/VariableModel.ts +51 -0
- package/lib/models/VariationModel.ts +101 -0
- package/lib/models/schemas/SettingsSchemaValidation.ts +83 -0
- package/lib/modules/decision-maker/index.ts +65 -0
- package/lib/modules/logger/core/logManager.ts +113 -0
- package/lib/modules/logger/core/transportManager.ts +76 -0
- package/lib/modules/logger/enums/logLevelEnum.ts +7 -0
- package/lib/modules/logger/index.ts +2 -0
- package/lib/modules/logger/logMessageBuilder.ts +60 -0
- package/lib/modules/logger/logger.ts +7 -0
- package/lib/modules/logger/transports/consoleTransport.ts +37 -0
- package/lib/modules/networking/client/networkClient.ts +128 -0
- package/lib/modules/networking/client/networkClientInterface.ts +8 -0
- package/lib/modules/networking/handlers/requestHandler.ts +28 -0
- package/lib/modules/networking/index.ts +6 -0
- package/lib/modules/networking/manager/networkManager.ts +77 -0
- package/lib/modules/networking/models/globalRequestModel.ts +69 -0
- package/lib/modules/networking/models/requestModel.ts +164 -0
- package/lib/modules/networking/models/responseModel.ts +40 -0
- package/lib/modules/segmentor/core/segmentationManger.ts +22 -0
- package/lib/modules/segmentor/enums/segmentOperandRegexEnum.ts +10 -0
- package/lib/modules/segmentor/enums/segmentOperandValueEnum.ts +8 -0
- package/lib/modules/segmentor/enums/segmentOperatorValueEnum.ts +15 -0
- package/lib/modules/segmentor/evaluators/segmentEvaluator.ts +239 -0
- package/lib/modules/segmentor/evaluators/segmentOperandEvaluator.ts +199 -0
- package/lib/modules/segmentor/index.ts +3 -0
- package/lib/modules/segmentor/segmentation.ts +6 -0
- package/lib/modules/segmentor/utils/SegmentUtil.ts +23 -0
- package/lib/modules/storage/connector.ts +25 -0
- package/lib/modules/storage/connectors/index.ts +2 -0
- package/lib/modules/storage/connectors/memoryConnector.ts +115 -0
- package/lib/modules/storage/connectors/redisConnector.ts +180 -0
- package/lib/modules/storage/index.ts +1 -0
- package/lib/modules/storage/storage.ts +48 -0
- package/lib/services/CampaignDecisionService.ts +160 -0
- package/lib/services/HooksManager.ts +50 -0
- package/lib/services/SettingsManager.ts +167 -0
- package/lib/services/StorageService.ts +53 -0
- package/lib/services/UrlService.ts +50 -0
- package/lib/types/common.ts +13 -0
- package/lib/utils/CampaignUtil.ts +236 -0
- package/lib/utils/DataTypeUtil.ts +87 -0
- package/lib/utils/DecisionUtil.ts +180 -0
- package/lib/utils/FunctionUtil.ts +105 -0
- package/lib/utils/LogMessageUtil.ts +52 -0
- package/lib/utils/MegUtil.ts +408 -0
- package/lib/utils/NetworkUtil.ts +262 -0
- package/lib/utils/PromiseUtil.ts +10 -0
- package/lib/utils/SettingsUtil.ts +18 -0
- package/lib/utils/UuidUtil.ts +33 -0
- package/lib/utils/WebServiceUtil.ts +60 -0
- package/lib/utils/logMessageBuilder.ts +60 -0
- package/package.json +70 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getType = exports.isPromise = exports.isRegex = exports.isFunction = exports.isDate = exports.isNaN = exports.isBoolean = exports.isString = exports.isNumber = exports.isDefined = exports.isUndefined = exports.isNull = exports.isArray = exports.isObject = void 0;
|
|
4
|
+
function isObject(val) {
|
|
5
|
+
return Object.prototype.toString.call(val) === '[object Object]';
|
|
6
|
+
}
|
|
7
|
+
exports.isObject = isObject;
|
|
8
|
+
function isArray(val) {
|
|
9
|
+
return Object.prototype.toString.call(val) === '[object Array]';
|
|
10
|
+
}
|
|
11
|
+
exports.isArray = isArray;
|
|
12
|
+
function isNull(val) {
|
|
13
|
+
return Object.prototype.toString.call(val) === '[object Null]';
|
|
14
|
+
}
|
|
15
|
+
exports.isNull = isNull;
|
|
16
|
+
function isUndefined(val) {
|
|
17
|
+
return Object.prototype.toString.call(val) === '[object Undefined]';
|
|
18
|
+
}
|
|
19
|
+
exports.isUndefined = isUndefined;
|
|
20
|
+
function isDefined(val) {
|
|
21
|
+
return !isUndefined(val) && !isNull(val);
|
|
22
|
+
}
|
|
23
|
+
exports.isDefined = isDefined;
|
|
24
|
+
function isNumber(val) {
|
|
25
|
+
// Note: NaN is also a number
|
|
26
|
+
return Object.prototype.toString.call(val) === '[object Number]';
|
|
27
|
+
}
|
|
28
|
+
exports.isNumber = isNumber;
|
|
29
|
+
function isString(val) {
|
|
30
|
+
return Object.prototype.toString.call(val) === '[object String]';
|
|
31
|
+
}
|
|
32
|
+
exports.isString = isString;
|
|
33
|
+
function isBoolean(val) {
|
|
34
|
+
return Object.prototype.toString.call(val) === '[object Boolean]';
|
|
35
|
+
}
|
|
36
|
+
exports.isBoolean = isBoolean;
|
|
37
|
+
function isNaN(val) {
|
|
38
|
+
// eslint-disable-next-line no-self-compare
|
|
39
|
+
return val !== val;
|
|
40
|
+
}
|
|
41
|
+
exports.isNaN = isNaN;
|
|
42
|
+
function isDate(val) {
|
|
43
|
+
return Object.prototype.toString.call(val) === '[object Date]';
|
|
44
|
+
}
|
|
45
|
+
exports.isDate = isDate;
|
|
46
|
+
function isFunction(val) {
|
|
47
|
+
return Object.prototype.toString.call(val) === '[object Function]';
|
|
48
|
+
}
|
|
49
|
+
exports.isFunction = isFunction;
|
|
50
|
+
function isRegex(val) {
|
|
51
|
+
return Object.prototype.toString.call(val) === '[object RegExp]';
|
|
52
|
+
}
|
|
53
|
+
exports.isRegex = isRegex;
|
|
54
|
+
function isPromise(val) {
|
|
55
|
+
return Object.prototype.toString.call(val) === '[object Promise]';
|
|
56
|
+
}
|
|
57
|
+
exports.isPromise = isPromise;
|
|
58
|
+
function getType(val) {
|
|
59
|
+
return isObject(val)
|
|
60
|
+
? 'Object'
|
|
61
|
+
: isArray(val)
|
|
62
|
+
? 'Array'
|
|
63
|
+
: isNull(val)
|
|
64
|
+
? 'Null'
|
|
65
|
+
: isUndefined(val)
|
|
66
|
+
? 'Undefined'
|
|
67
|
+
: isNaN(val)
|
|
68
|
+
? 'NaN'
|
|
69
|
+
: isNumber(val)
|
|
70
|
+
? 'Number'
|
|
71
|
+
: isString(val)
|
|
72
|
+
? 'String'
|
|
73
|
+
: isBoolean(val)
|
|
74
|
+
? 'Boolean'
|
|
75
|
+
: isDate(val)
|
|
76
|
+
? 'Date'
|
|
77
|
+
: isRegex(val)
|
|
78
|
+
? 'Regex'
|
|
79
|
+
: isFunction(val)
|
|
80
|
+
? 'Function'
|
|
81
|
+
: isPromise(val)
|
|
82
|
+
? 'Promise'
|
|
83
|
+
: 'Unknown Type';
|
|
84
|
+
}
|
|
85
|
+
exports.getType = getType;
|
|
86
|
+
//# sourceMappingURL=DataTypeUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTypeUtil.js","sourceRoot":"","sources":["../../lib/utils/DataTypeUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { CampaignModel } from '../models/CampaignModel';
|
|
2
|
+
import { VariationModel } from '../models/VariationModel';
|
|
3
|
+
export declare const checkWhitelistingAndPreSeg: (settings: any, campaign: CampaignModel, context: any, isMegWinnerRule: Boolean, decision: any) => Promise<[Boolean, any]>;
|
|
4
|
+
export declare const evaluateTrafficAndGetVariation: (settingsFile: any, campaign: CampaignModel, userId: any) => VariationModel;
|
|
@@ -0,0 +1,197 @@
|
|
|
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
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.evaluateTrafficAndGetVariation = exports.checkWhitelistingAndPreSeg = void 0;
|
|
40
|
+
var logger_1 = require("../modules/logger");
|
|
41
|
+
var DataTypeUtil_1 = require("../utils/DataTypeUtil");
|
|
42
|
+
var segmentor_1 = require("../modules/segmentor");
|
|
43
|
+
var UuidUtil_1 = require("./UuidUtil");
|
|
44
|
+
var types_1 = require("util/types");
|
|
45
|
+
var FunctionUtil_1 = require("./FunctionUtil");
|
|
46
|
+
var CampaignUtil_1 = require("./CampaignUtil");
|
|
47
|
+
var decision_maker_1 = require("../modules/decision-maker");
|
|
48
|
+
var CampaignDecisionService_1 = require("../services/CampaignDecisionService");
|
|
49
|
+
var campaignTypeEnum_1 = require("../enums/campaignTypeEnum");
|
|
50
|
+
var StatusEnum_1 = require("../enums/StatusEnum");
|
|
51
|
+
// import { CampaignTypeEnum } from '../enums/campaignTypeEnum';
|
|
52
|
+
var checkWhitelistingAndPreSeg = function (settings, campaign, context, isMegWinnerRule, decision) { return __awaiter(void 0, void 0, void 0, function () {
|
|
53
|
+
var vwoUserId, whitelistedVariation, preSegmentationResult;
|
|
54
|
+
return __generator(this, function (_a) {
|
|
55
|
+
switch (_a.label) {
|
|
56
|
+
case 0:
|
|
57
|
+
vwoUserId = (0, UuidUtil_1.getUUID)(context.user.id, settings.accountId);
|
|
58
|
+
if (!(campaign.getType() === campaignTypeEnum_1.CampaignTypeEnum.AB)) return [3 /*break*/, 3];
|
|
59
|
+
// set _vwoUserId for variation targeting variables
|
|
60
|
+
context.user.variationTargetingVariables = Object.assign({}, context.user.variationTargetingVariables, {
|
|
61
|
+
_vwoUserId: campaign.getIsUserListEnabled() ? vwoUserId : context.user.id,
|
|
62
|
+
});
|
|
63
|
+
Object.assign(decision, { variationTargetingVariables: context.user.variationTargetingVariables }); // for integration
|
|
64
|
+
if (!campaign.getIsForcedVariationEnabled()) return [3 /*break*/, 2];
|
|
65
|
+
return [4 /*yield*/, checkForWhitelisting(campaign, campaign.getKey(), settings, context)];
|
|
66
|
+
case 1:
|
|
67
|
+
whitelistedVariation = _a.sent();
|
|
68
|
+
if (whitelistedVariation && Object.keys(whitelistedVariation).length > 0) {
|
|
69
|
+
return [2 /*return*/, [true, whitelistedVariation]];
|
|
70
|
+
}
|
|
71
|
+
return [3 /*break*/, 3];
|
|
72
|
+
case 2:
|
|
73
|
+
logger_1.LogManager.Instance.info("WHITELISTING_SKIPPED: Whitelisting is not used for Campaign:".concat(campaign.getKey(), ", hence skipping evaluating whitelisting for User ID:").concat(context.user.id));
|
|
74
|
+
_a.label = 3;
|
|
75
|
+
case 3:
|
|
76
|
+
if (isMegWinnerRule) {
|
|
77
|
+
return [2 /*return*/, [true, null]]; // for MEG winner rule, no need to check for pre segmentation as it's already evaluated
|
|
78
|
+
}
|
|
79
|
+
// userlist segment is also available for campaign pre segmentation
|
|
80
|
+
context.user.customVariables = Object.assign({}, context.user.customVariables, {
|
|
81
|
+
_vwoUserId: campaign.getIsUserListEnabled() ? vwoUserId : context.user.id,
|
|
82
|
+
});
|
|
83
|
+
Object.assign(decision, { customVariables: context.user.customVariables }); // for integeration
|
|
84
|
+
return [4 /*yield*/, new CampaignDecisionService_1.CampaignDecisionService().getDecision(campaign, settings, context)];
|
|
85
|
+
case 4:
|
|
86
|
+
preSegmentationResult = _a.sent();
|
|
87
|
+
return [2 /*return*/, [preSegmentationResult, null]];
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}); };
|
|
91
|
+
exports.checkWhitelistingAndPreSeg = checkWhitelistingAndPreSeg;
|
|
92
|
+
/**
|
|
93
|
+
* Check for whitelisting
|
|
94
|
+
* @param campaign Campaign object
|
|
95
|
+
* @param campaignKey Campaign key
|
|
96
|
+
* @param userId User ID
|
|
97
|
+
* @param variationTargetingVariables Variation targeting variables
|
|
98
|
+
* @returns
|
|
99
|
+
*/
|
|
100
|
+
var checkForWhitelisting = function (campaign, campaignKey, settings, context) { return __awaiter(void 0, void 0, void 0, function () {
|
|
101
|
+
var status, whitelistingResult, variationString;
|
|
102
|
+
return __generator(this, function (_a) {
|
|
103
|
+
switch (_a.label) {
|
|
104
|
+
case 0: return [4 /*yield*/, _evaluateWhitelisting(campaign, campaignKey, settings, context)];
|
|
105
|
+
case 1:
|
|
106
|
+
whitelistingResult = _a.sent();
|
|
107
|
+
if (whitelistingResult) {
|
|
108
|
+
status = StatusEnum_1.StatusEnum.PASSED;
|
|
109
|
+
variationString = whitelistingResult.variation.key;
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
status = StatusEnum_1.StatusEnum.FAILED;
|
|
113
|
+
variationString = '';
|
|
114
|
+
}
|
|
115
|
+
logger_1.LogManager.Instance.info("SEGMENTATION_STATUS: User ID:".concat(context.user.id, " for Campaign:").concat(campaignKey, " with variables:").concat(JSON.stringify(context.user.variationTargetingVariables), " ").concat(status, " whitelisting ").concat(variationString));
|
|
116
|
+
return [2 /*return*/, whitelistingResult];
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}); };
|
|
120
|
+
var _evaluateWhitelisting = function (campaign, campaignKey, settings, context) { return __awaiter(void 0, void 0, void 0, function () {
|
|
121
|
+
var whitelistedVariation, status, targetedVariations, promises, i, currentAllocation, stepFactor;
|
|
122
|
+
return __generator(this, function (_a) {
|
|
123
|
+
switch (_a.label) {
|
|
124
|
+
case 0:
|
|
125
|
+
targetedVariations = [];
|
|
126
|
+
promises = [];
|
|
127
|
+
campaign.getVariations().forEach(function (variation) {
|
|
128
|
+
if ((0, DataTypeUtil_1.isObject)(variation.getSegments()) && !Object.keys(variation.getSegments()).length) {
|
|
129
|
+
logger_1.LogManager.Instance.debug("SEGMENTATION_SKIPPED: Segmentation is not used for Campaign:".concat(campaignKey, ", hence skipping evaluating segmentation ").concat(variation, " for User ID:").concat(context.user.id));
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
// check for segmentation and evaluate
|
|
133
|
+
if ((0, DataTypeUtil_1.isObject)(variation.getSegments())) {
|
|
134
|
+
var SegmentEvaluatorResult = segmentor_1.SegmentationManager.Instance.validateSegmentation(variation.getSegments(), context.user.variationTargetingVariables, settings);
|
|
135
|
+
var promise = (0, types_1.isPromise)(SegmentEvaluatorResult)
|
|
136
|
+
? SegmentEvaluatorResult.then(function (evaluationResult) {
|
|
137
|
+
if (evaluationResult) {
|
|
138
|
+
status = StatusEnum_1.StatusEnum.PASSED;
|
|
139
|
+
targetedVariations.push((0, FunctionUtil_1.cloneObject)(variation));
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
status = StatusEnum_1.StatusEnum.FAILED;
|
|
143
|
+
}
|
|
144
|
+
})
|
|
145
|
+
: Promise.resolve(SegmentEvaluatorResult).then(function (evaluationResult) {
|
|
146
|
+
if (evaluationResult) {
|
|
147
|
+
status = StatusEnum_1.StatusEnum.PASSED;
|
|
148
|
+
targetedVariations.push((0, FunctionUtil_1.cloneObject)(variation));
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
status = StatusEnum_1.StatusEnum.FAILED;
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
promises.push(promise);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
status = StatusEnum_1.StatusEnum.FAILED;
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
// Wait for all promises to resolve
|
|
161
|
+
return [4 /*yield*/, Promise.all(promises)];
|
|
162
|
+
case 1:
|
|
163
|
+
// Wait for all promises to resolve
|
|
164
|
+
_a.sent();
|
|
165
|
+
if (targetedVariations.length > 1) {
|
|
166
|
+
(0, CampaignUtil_1.scaleVariationWeights)(targetedVariations);
|
|
167
|
+
for (i = 0, currentAllocation = 0, stepFactor = 0; i < targetedVariations.length; i++) {
|
|
168
|
+
stepFactor = (0, CampaignUtil_1.assignRangeValues)(targetedVariations[i], currentAllocation);
|
|
169
|
+
currentAllocation += stepFactor;
|
|
170
|
+
}
|
|
171
|
+
whitelistedVariation = new CampaignDecisionService_1.CampaignDecisionService().getVariation(targetedVariations, new decision_maker_1.DecisionMaker().calculateBucketValue((0, CampaignUtil_1.getBucketingSeed)(context.user.id, campaign, null)));
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
whitelistedVariation = targetedVariations[0];
|
|
175
|
+
}
|
|
176
|
+
if (whitelistedVariation) {
|
|
177
|
+
return [2 /*return*/, {
|
|
178
|
+
variation: whitelistedVariation,
|
|
179
|
+
variationName: whitelistedVariation.name,
|
|
180
|
+
variationId: whitelistedVariation.id,
|
|
181
|
+
}];
|
|
182
|
+
}
|
|
183
|
+
return [2 /*return*/];
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
}); };
|
|
187
|
+
var evaluateTrafficAndGetVariation = function (settingsFile, campaign, userId) {
|
|
188
|
+
var variation = new CampaignDecisionService_1.CampaignDecisionService().getVariationAlloted(userId, settingsFile.accountId, campaign);
|
|
189
|
+
if (!variation) {
|
|
190
|
+
logger_1.LogManager.Instance.debug("USER_NOT_BUCKETED: User ID:".concat(userId, " for Campaign:").concat(campaign.getKey(), " did not get any variation"));
|
|
191
|
+
return null;
|
|
192
|
+
}
|
|
193
|
+
logger_1.LogManager.Instance.debug("USER_BUCKETED: User ID:".concat(userId, " for Campaign:").concat(campaign.getKey(), " ").concat(variation.getKey() ? "got variation:".concat(variation.getKey()) : 'did not get any variation'));
|
|
194
|
+
return variation;
|
|
195
|
+
};
|
|
196
|
+
exports.evaluateTrafficAndGetVariation = evaluateTrafficAndGetVariation;
|
|
197
|
+
//# sourceMappingURL=DecisionUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DecisionUtil.js","sourceRoot":"","sources":["../../lib/utils/DecisionUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SettingsModel } from '../models/SettingsModel';
|
|
2
|
+
import { dynamic } from '../types/common';
|
|
3
|
+
export declare function cloneObject(obj: dynamic): any;
|
|
4
|
+
export declare function getCurrentUnixTimestamp(): number;
|
|
5
|
+
export declare function getCurrentUnixTimestampInMillis(): number;
|
|
6
|
+
export declare function getRandomNumber(): number;
|
|
7
|
+
export declare function getSpecificRulesBasedOnType(settings: any, featureKey: any, type?: any): any;
|
|
8
|
+
export declare function getAllAbAndPersonaliseRules(settings: any, featureKey: any): any;
|
|
9
|
+
export declare function getFeatureFromKey(settings: any, featureKey: any): any;
|
|
10
|
+
export declare function eventExists(eventName: string, settings: any): boolean;
|
|
11
|
+
export declare function addLInkedCampaignsToSettings(settingsFile: any): void;
|
|
12
|
+
export declare function getFeatureNameFromKey(settings: SettingsModel, featureKey: string): string;
|
|
13
|
+
export declare function getFeatureIdFromKey(settings: SettingsModel, featureKey: string): number;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.getFeatureIdFromKey = exports.getFeatureNameFromKey = exports.addLInkedCampaignsToSettings = exports.eventExists = exports.getFeatureFromKey = exports.getAllAbAndPersonaliseRules = exports.getSpecificRulesBasedOnType = exports.getRandomNumber = exports.getCurrentUnixTimestampInMillis = exports.getCurrentUnixTimestamp = exports.cloneObject = void 0;
|
|
15
|
+
var campaignTypeEnum_1 = require("../enums/campaignTypeEnum");
|
|
16
|
+
var DataTypeUtil_1 = require("./DataTypeUtil");
|
|
17
|
+
function cloneObject(obj) {
|
|
18
|
+
if (!obj) {
|
|
19
|
+
return obj;
|
|
20
|
+
}
|
|
21
|
+
var clonedObj = JSON.parse(JSON.stringify(obj));
|
|
22
|
+
return clonedObj;
|
|
23
|
+
}
|
|
24
|
+
exports.cloneObject = cloneObject;
|
|
25
|
+
function getCurrentUnixTimestamp() {
|
|
26
|
+
return Math.ceil(+new Date() / 1000);
|
|
27
|
+
}
|
|
28
|
+
exports.getCurrentUnixTimestamp = getCurrentUnixTimestamp;
|
|
29
|
+
function getCurrentUnixTimestampInMillis() {
|
|
30
|
+
return +new Date();
|
|
31
|
+
}
|
|
32
|
+
exports.getCurrentUnixTimestampInMillis = getCurrentUnixTimestampInMillis;
|
|
33
|
+
function getRandomNumber() {
|
|
34
|
+
return Math.random();
|
|
35
|
+
}
|
|
36
|
+
exports.getRandomNumber = getRandomNumber;
|
|
37
|
+
function getSpecificRulesBasedOnType(settings, featureKey, type) {
|
|
38
|
+
if (type === void 0) { type = null; }
|
|
39
|
+
var feature = getFeatureFromKey(settings, featureKey);
|
|
40
|
+
if (feature && !feature.rulesLinkedCampaign) {
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
43
|
+
if (feature && feature.rulesLinkedCampaign && type && (0, DataTypeUtil_1.isString)(type)) {
|
|
44
|
+
return feature.rulesLinkedCampaign.filter(function (rule) { return rule.type === type; });
|
|
45
|
+
}
|
|
46
|
+
return feature.rulesLinkedCampaign;
|
|
47
|
+
}
|
|
48
|
+
exports.getSpecificRulesBasedOnType = getSpecificRulesBasedOnType;
|
|
49
|
+
function getAllAbAndPersonaliseRules(settings, featureKey) {
|
|
50
|
+
var feature = getFeatureFromKey(settings, featureKey);
|
|
51
|
+
return feature.rulesLinkedCampaign.filter(function (rule) { return rule.type === campaignTypeEnum_1.CampaignTypeEnum.AB || rule.type === campaignTypeEnum_1.CampaignTypeEnum.PERSONALIZE; });
|
|
52
|
+
}
|
|
53
|
+
exports.getAllAbAndPersonaliseRules = getAllAbAndPersonaliseRules;
|
|
54
|
+
function getFeatureFromKey(settings, featureKey) {
|
|
55
|
+
var _a;
|
|
56
|
+
return (_a = settings === null || settings === void 0 ? void 0 : settings.features) === null || _a === void 0 ? void 0 : _a.find(function (feature) { return feature.key === featureKey; });
|
|
57
|
+
}
|
|
58
|
+
exports.getFeatureFromKey = getFeatureFromKey;
|
|
59
|
+
function eventExists(eventName, settings) {
|
|
60
|
+
for (var _i = 0, _a = settings.features; _i < _a.length; _i++) {
|
|
61
|
+
var feature = _a[_i];
|
|
62
|
+
for (var _b = 0, _c = feature.metrics; _b < _c.length; _b++) {
|
|
63
|
+
var metric = _c[_b];
|
|
64
|
+
if (metric.identifier === eventName) {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
exports.eventExists = eventExists;
|
|
72
|
+
function addLInkedCampaignsToSettings(settingsFile) {
|
|
73
|
+
// loop over all features
|
|
74
|
+
for (var _i = 0, _a = settingsFile.features; _i < _a.length; _i++) {
|
|
75
|
+
var feature = _a[_i];
|
|
76
|
+
var rules = feature.rules;
|
|
77
|
+
var campaigns = settingsFile.campaigns;
|
|
78
|
+
var rulesLinkedCampaign = [];
|
|
79
|
+
var _loop_1 = function (rule) {
|
|
80
|
+
var campaignId = rule.campaignId, variationId = rule.variationId;
|
|
81
|
+
if (campaignId) {
|
|
82
|
+
// find the campaign with the given campaignId
|
|
83
|
+
var campaign = campaigns.find(function (c) { return c.id === campaignId; });
|
|
84
|
+
if (campaign) {
|
|
85
|
+
// create a linked campaign object with the rule and campaign
|
|
86
|
+
var linkedCampaign = __assign(__assign({ key: campaign.key }, rule), campaign);
|
|
87
|
+
if (variationId) {
|
|
88
|
+
// find the variation with the given variationId
|
|
89
|
+
var variation = campaign.variations.find(function (v) { return v.id === variationId; });
|
|
90
|
+
if (variation) {
|
|
91
|
+
// add the variation to the linked campaign
|
|
92
|
+
linkedCampaign.variations = [variation];
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// add the linked campaign to the rulesLinkedCampaign array
|
|
96
|
+
rulesLinkedCampaign.push(linkedCampaign);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
// loop over all rules of a feature
|
|
101
|
+
for (var _b = 0, rules_1 = rules; _b < rules_1.length; _b++) {
|
|
102
|
+
var rule = rules_1[_b];
|
|
103
|
+
_loop_1(rule);
|
|
104
|
+
}
|
|
105
|
+
feature.rulesLinkedCampaign = rulesLinkedCampaign;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.addLInkedCampaignsToSettings = addLInkedCampaignsToSettings;
|
|
109
|
+
// get feature name from feature key using settings
|
|
110
|
+
function getFeatureNameFromKey(settings, featureKey) {
|
|
111
|
+
var feature = settings.getFeatures().find(function (f) { return f.getKey() === featureKey; });
|
|
112
|
+
return feature ? feature.getName() : '';
|
|
113
|
+
}
|
|
114
|
+
exports.getFeatureNameFromKey = getFeatureNameFromKey;
|
|
115
|
+
// get feature id from feature key using settings
|
|
116
|
+
function getFeatureIdFromKey(settings, featureKey) {
|
|
117
|
+
var feature = settings.getFeatures().find(function (f) { return f.getKey() === featureKey; });
|
|
118
|
+
return feature ? feature.getId() : null;
|
|
119
|
+
}
|
|
120
|
+
exports.getFeatureIdFromKey = getFeatureIdFromKey;
|
|
121
|
+
//# sourceMappingURL=FunctionUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FunctionUtil.js","sourceRoot":"","sources":["../../lib/utils/FunctionUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2019-2020 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
|
+
export declare function buildMessage(template: string, data: Record<string, any>): string;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2019-2020 Wingify Software Pvt. Ltd.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.buildMessage = void 0;
|
|
19
|
+
var DataTypeUtil_1 = require("../utils/DataTypeUtil");
|
|
20
|
+
var nargs = /\{([0-9a-zA-Z_]+)\}/g;
|
|
21
|
+
function buildMessage(template, data) {
|
|
22
|
+
try {
|
|
23
|
+
return template.replace(nargs, function (match, key, index) {
|
|
24
|
+
var result;
|
|
25
|
+
var isKey;
|
|
26
|
+
if (template[index - 1] === '{' && template[index + match.length] === '}') {
|
|
27
|
+
return key;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
isKey = Object.prototype.hasOwnProperty.call(data, key);
|
|
31
|
+
if (isKey) {
|
|
32
|
+
var value = data[key];
|
|
33
|
+
if ((0, DataTypeUtil_1.isFunction)(value)) {
|
|
34
|
+
value = data[key]();
|
|
35
|
+
}
|
|
36
|
+
result = value;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
result = null;
|
|
40
|
+
}
|
|
41
|
+
if ((0, DataTypeUtil_1.isNull)(result) || (0, DataTypeUtil_1.isUndefined)(result)) {
|
|
42
|
+
return '';
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
return template;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.buildMessage = buildMessage;
|
|
53
|
+
//# sourceMappingURL=LogMessageUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogMessageUtil.js","sourceRoot":"","sources":["../../lib/utils/LogMessageUtil.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,sDAAwE;AAExE,IAAM,KAAK,GAAG,sBAAsB,CAAC;AAErC,SAAgB,YAAY,CAAC,QAAgB,EAAE,IAAyB;IACtE,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,UAAC,KAAK,EAAE,GAAG,EAAE,KAAK;YAC/C,IAAI,MAAM,CAAC;YACX,IAAI,KAAK,CAAC;YAEV,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC1E,OAAO,GAAG,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAExD,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEtB,IAAI,IAAA,yBAAU,EAAC,KAAK,CAAC,EAAE,CAAC;wBACtB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,CAAC;oBACD,MAAM,GAAG,KAAK,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,IAAI,CAAC;gBAChB,CAAC;gBACD,IAAI,IAAA,qBAAM,EAAC,MAAM,CAAC,IAAI,IAAA,0BAAW,EAAC,MAAM,CAAC,EAAE,CAAC;oBAC1C,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AA/BD,oCA+BC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SettingsModel } from '../models/SettingsModel';
|
|
2
|
+
import { StorageService } from '../services/StorageService';
|
|
3
|
+
export declare const evaluateGroups: (settings: SettingsModel, featureKey: any, feature: any, listOfMegCampaignsGroups: any[], evaluatedFeatureMap: Map<string, any>, context: any, storageService: StorageService, campaignToSkip: any[], decision: any) => Promise<any>;
|
|
4
|
+
export declare function getFeatureKeysFromGroup(settings: SettingsModel, groupId: any): {
|
|
5
|
+
featureKeys: any[];
|
|
6
|
+
groupCampaignIds: any;
|
|
7
|
+
};
|