@convertcom/js-sdk-rules 0.0.1 → 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/LICENSE.txt +202 -0
- package/lib/enums/index.d.ts +29 -0
- package/lib/enums/src/audience-type.d.ts +11 -0
- package/lib/enums/src/data-enitites.d.ts +7 -0
- package/lib/enums/src/dictionary.d.ts +60 -0
- package/lib/enums/src/do-not-track.d.ts +12 -0
- package/lib/enums/src/event-type.d.ts +10 -0
- package/lib/enums/src/experience-type.d.ts +16 -0
- package/lib/enums/src/feature-status.d.ts +10 -0
- package/lib/enums/src/ga-type.d.ts +10 -0
- package/lib/enums/src/goal-data-key.d.ts +11 -0
- package/lib/enums/src/goal-type.d.ts +22 -0
- package/lib/enums/src/integration-provider.d.ts +27 -0
- package/lib/enums/src/log-level.d.ts +14 -0
- package/lib/enums/src/log-method.d.ts +14 -0
- package/lib/enums/src/project-type.d.ts +10 -0
- package/lib/enums/src/rule-error.d.ts +10 -0
- package/lib/enums/src/segments/browser-type.d.ts +17 -0
- package/lib/enums/src/segments/device-type.d.ts +16 -0
- package/lib/enums/src/segments/segments-keys.d.ts +15 -0
- package/lib/enums/src/segments/source-type.d.ts +12 -0
- package/lib/enums/src/segments/visitor-type.d.ts +10 -0
- package/lib/enums/src/system-events.d.ts +22 -0
- package/lib/enums/src/variable-types.d.ts +7 -0
- package/lib/enums/src/variation-change-type.d.ts +14 -0
- package/lib/index.js +227 -0
- package/lib/index.js.map +1 -0
- package/lib/index.min.js +2 -0
- package/lib/index.min.js.map +1 -0
- package/lib/index.min.mjs +1 -0
- package/lib/index.min.mjs.map +1 -0
- package/lib/index.mjs +227 -0
- package/lib/index.mjs.map +1 -0
- package/lib/legacy/enums/index.d.ts +29 -0
- package/lib/legacy/enums/src/audience-type.d.ts +11 -0
- package/lib/legacy/enums/src/data-enitites.d.ts +7 -0
- package/lib/legacy/enums/src/dictionary.d.ts +60 -0
- package/lib/legacy/enums/src/do-not-track.d.ts +12 -0
- package/lib/legacy/enums/src/event-type.d.ts +10 -0
- package/lib/legacy/enums/src/experience-type.d.ts +16 -0
- package/lib/legacy/enums/src/feature-status.d.ts +10 -0
- package/lib/legacy/enums/src/ga-type.d.ts +10 -0
- package/lib/legacy/enums/src/goal-data-key.d.ts +11 -0
- package/lib/legacy/enums/src/goal-type.d.ts +22 -0
- package/lib/legacy/enums/src/integration-provider.d.ts +27 -0
- package/lib/legacy/enums/src/log-level.d.ts +14 -0
- package/lib/legacy/enums/src/log-method.d.ts +14 -0
- package/lib/legacy/enums/src/project-type.d.ts +10 -0
- package/lib/legacy/enums/src/rule-error.d.ts +10 -0
- package/lib/legacy/enums/src/segments/browser-type.d.ts +17 -0
- package/lib/legacy/enums/src/segments/device-type.d.ts +16 -0
- package/lib/legacy/enums/src/segments/segments-keys.d.ts +15 -0
- package/lib/legacy/enums/src/segments/source-type.d.ts +12 -0
- package/lib/legacy/enums/src/segments/visitor-type.d.ts +10 -0
- package/lib/legacy/enums/src/system-events.d.ts +22 -0
- package/lib/legacy/enums/src/variable-types.d.ts +7 -0
- package/lib/legacy/enums/src/variation-change-type.d.ts +14 -0
- package/lib/legacy/index.js +291 -0
- package/lib/legacy/index.js.map +1 -0
- package/lib/legacy/index.min.js +8 -0
- package/lib/legacy/index.min.js.map +1 -0
- package/lib/legacy/logger/index.d.ts +8 -0
- package/lib/legacy/logger/src/interfaces/log-client.d.ts +13 -0
- package/lib/legacy/logger/src/interfaces/log-manager.d.ts +18 -0
- package/lib/legacy/logger/src/interfaces/log-method-map.d.ts +15 -0
- package/lib/legacy/logger/src/log-manager.d.ts +64 -0
- package/lib/legacy/rules/index.d.ts +8 -0
- package/lib/legacy/rules/src/interfaces/rule-manager.d.ts +14 -0
- package/lib/legacy/rules/src/rule-manager.d.ts +75 -0
- package/lib/legacy/types/index.d.ts +36 -0
- package/lib/legacy/types/src/Audience.d.ts +16 -0
- package/lib/legacy/types/src/BucketedFeature.d.ts +30 -0
- package/lib/legacy/types/src/BucketedVariation.d.ts +13 -0
- package/lib/legacy/types/src/BucketingAttributes.d.ts +13 -0
- package/lib/legacy/types/src/Config.d.ts +62 -0
- package/lib/legacy/types/src/ConversionAttributes.d.ts +11 -0
- package/lib/legacy/types/src/Entity.d.ts +13 -0
- package/lib/legacy/types/src/Experience.d.ts +37 -0
- package/lib/legacy/types/src/Feature.d.ts +18 -0
- package/lib/legacy/types/src/Goal.d.ts +30 -0
- package/lib/legacy/types/src/Id.d.ts +10 -0
- package/lib/{index.d.ts → legacy/types/src/IndentityField.d.ts} +2 -1
- package/lib/legacy/types/src/Integration.d.ts +16 -0
- package/lib/legacy/types/src/Location.d.ts +14 -0
- package/lib/legacy/types/src/Path.d.ts +10 -0
- package/lib/legacy/types/src/Project.d.ts +37 -0
- package/lib/legacy/types/src/RequireAtLeastOne.d.ts +3 -0
- package/lib/legacy/types/src/Rule.d.ts +24 -0
- package/lib/legacy/types/src/Segments.d.ts +14 -0
- package/lib/legacy/types/src/SegmentsAttributes.d.ts +9 -0
- package/lib/legacy/types/src/SegmentsData.d.ts +16 -0
- package/lib/legacy/types/src/StoreData.d.ts +14 -0
- package/lib/legacy/types/src/TrackingEvent.d.ts +14 -0
- package/lib/legacy/types/src/VariableType.d.ts +8 -0
- package/lib/legacy/types/src/Variation.d.ts +49 -0
- package/lib/legacy/types/src/VisitorsQueue.d.ts +16 -0
- package/lib/legacy/types/src/tracking/BucketingEvent.d.ts +11 -0
- package/lib/legacy/types/src/tracking/ConversionEvent.d.ts +16 -0
- package/lib/legacy/types/src/tracking/Visitor.d.ts +14 -0
- package/lib/legacy/types/src/tracking/VisitorEvent.d.ts +13 -0
- package/lib/legacy/utils/index.d.ts +14 -0
- package/lib/legacy/utils/src/array-utils.d.ts +11 -0
- package/lib/legacy/utils/src/comparisons.d.ts +22 -0
- package/lib/legacy/utils/src/data-store.d.ts +39 -0
- package/lib/legacy/utils/src/file-logger.d.ts +40 -0
- package/lib/legacy/utils/src/http-client.d.ts +102 -0
- package/lib/legacy/utils/src/object-utils.d.ts +28 -0
- package/lib/legacy/utils/src/string-utils.d.ts +20 -0
- package/lib/legacy/utils/src/types-utils.d.ts +12 -0
- package/lib/logger/index.d.ts +8 -0
- package/lib/logger/src/interfaces/log-client.d.ts +13 -0
- package/lib/logger/src/interfaces/log-manager.d.ts +18 -0
- package/lib/logger/src/interfaces/log-method-map.d.ts +15 -0
- package/lib/logger/src/log-manager.d.ts +64 -0
- package/lib/package.json +18 -0
- package/lib/rules/index.d.ts +8 -0
- package/lib/rules/src/interfaces/rule-manager.d.ts +14 -0
- package/lib/rules/src/rule-manager.d.ts +75 -0
- package/lib/types/index.d.ts +36 -0
- package/lib/types/src/Audience.d.ts +16 -0
- package/lib/types/src/BucketedFeature.d.ts +30 -0
- package/lib/types/src/BucketedVariation.d.ts +13 -0
- package/lib/types/src/BucketingAttributes.d.ts +13 -0
- package/lib/types/src/Config.d.ts +62 -0
- package/lib/types/src/ConversionAttributes.d.ts +11 -0
- package/lib/types/src/Entity.d.ts +13 -0
- package/lib/types/src/Experience.d.ts +37 -0
- package/lib/types/src/Feature.d.ts +18 -0
- package/lib/types/src/Goal.d.ts +30 -0
- package/lib/types/src/Id.d.ts +10 -0
- package/lib/types/src/IndentityField.d.ts +7 -0
- package/lib/types/src/Integration.d.ts +16 -0
- package/lib/types/src/Location.d.ts +14 -0
- package/lib/types/src/Path.d.ts +10 -0
- package/lib/types/src/Project.d.ts +37 -0
- package/lib/types/src/RequireAtLeastOne.d.ts +3 -0
- package/lib/types/src/Rule.d.ts +24 -0
- package/lib/types/src/Segments.d.ts +14 -0
- package/lib/types/src/SegmentsAttributes.d.ts +9 -0
- package/lib/types/src/SegmentsData.d.ts +16 -0
- package/lib/types/src/StoreData.d.ts +14 -0
- package/lib/types/src/TrackingEvent.d.ts +14 -0
- package/lib/types/src/VariableType.d.ts +8 -0
- package/lib/types/src/Variation.d.ts +49 -0
- package/lib/types/src/VisitorsQueue.d.ts +16 -0
- package/lib/types/src/tracking/BucketingEvent.d.ts +11 -0
- package/lib/types/src/tracking/ConversionEvent.d.ts +16 -0
- package/lib/types/src/tracking/Visitor.d.ts +14 -0
- package/lib/types/src/tracking/VisitorEvent.d.ts +13 -0
- package/lib/utils/index.d.ts +14 -0
- package/lib/utils/src/array-utils.d.ts +11 -0
- package/lib/utils/src/comparisons.d.ts +22 -0
- package/lib/utils/src/data-store.d.ts +39 -0
- package/lib/utils/src/file-logger.d.ts +40 -0
- package/lib/utils/src/http-client.d.ts +102 -0
- package/lib/utils/src/object-utils.d.ts +28 -0
- package/lib/utils/src/string-utils.d.ts +20 -0
- package/lib/utils/src/types-utils.d.ts +12 -0
- package/package.json +60 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Convert JS SDK
|
|
3
|
+
* Version 1.0.0
|
|
4
|
+
* Copyright(c) 2020 Convert Insights, Inc
|
|
5
|
+
* License Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ExperienceType {
|
|
8
|
+
AB = "a/b",
|
|
9
|
+
AA = "a/a",
|
|
10
|
+
MVT = "mvt",
|
|
11
|
+
SPLIT = "split_url",
|
|
12
|
+
DEPLOY = "deploy",
|
|
13
|
+
MULTIPAGE = "multipage",
|
|
14
|
+
AB_FULLSTACK = "a/b_fullstack",
|
|
15
|
+
FEATURE_ROLLOUT = "feature_rollout"
|
|
16
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Convert JS SDK
|
|
3
|
+
* Version 1.0.0
|
|
4
|
+
* Copyright(c) 2020 Convert Insights, Inc
|
|
5
|
+
* License Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
export declare enum GoalType {
|
|
8
|
+
ADVANCED = "advanced",
|
|
9
|
+
DOM_INTERACTION = "dom_interaction",
|
|
10
|
+
SCROLL_PERCENTAGE = "scroll_percentage",
|
|
11
|
+
CODE_TRIGGER = "code_trigger",
|
|
12
|
+
REVENUE = "revenue",
|
|
13
|
+
GOOGLE_ANALYTICS_IMPORT = "ga_import",
|
|
14
|
+
CLICKS_ELEMENT = "clicks_element",
|
|
15
|
+
CLICKS_LINK = "clicks_link",
|
|
16
|
+
SUBMITS_FORM = "submits_form",
|
|
17
|
+
VISITS_PAGE = "visits_page"
|
|
18
|
+
}
|
|
19
|
+
export declare enum GoalRevenueTriggeringType {
|
|
20
|
+
MANUAL = "manual",
|
|
21
|
+
GOOGLE_ANALYTICS = "ga"
|
|
22
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Convert JS SDK
|
|
3
|
+
* Version 1.0.0
|
|
4
|
+
* Copyright(c) 2020 Convert Insights, Inc
|
|
5
|
+
* License Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
export declare enum IntegrationProvider {
|
|
8
|
+
BAIDU = "baidu",
|
|
9
|
+
CLICK_TALE = "clicktale",
|
|
10
|
+
CLICKY = "clicky",
|
|
11
|
+
CNZZ = "cnzz",
|
|
12
|
+
CRAZY_EGG = "crazyegg",
|
|
13
|
+
ECONDA = "econda",
|
|
14
|
+
EULERIAN = "eulerian",
|
|
15
|
+
GOOGLE_ANALYTICS = "google_analytics",
|
|
16
|
+
GO_SQUARED = "gosquared",
|
|
17
|
+
HEAP_ANALYTICS = "heapanalytics",
|
|
18
|
+
HOT_JAR = "hotjar",
|
|
19
|
+
KISS_METRICS = "kissmetrics",
|
|
20
|
+
MIX_PANEL = "mixpanel",
|
|
21
|
+
MOUSE_FLOW = "mouseflow",
|
|
22
|
+
PIWIK = "piwik",
|
|
23
|
+
SEGMENTIO = "segmentio",
|
|
24
|
+
SITE_CATALYST = "sitecatalyst",
|
|
25
|
+
WOOPRA = "woopra",
|
|
26
|
+
YSANCE = "ysance"
|
|
27
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Convert JS SDK
|
|
3
|
+
* Version 1.0.0
|
|
4
|
+
* Copyright(c) 2020 Convert Insights, Inc
|
|
5
|
+
* License Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
export declare enum LogMethod {
|
|
8
|
+
LOG = "log",
|
|
9
|
+
TRACE = "trace",
|
|
10
|
+
DEBUG = "debug",
|
|
11
|
+
INFO = "info",
|
|
12
|
+
WARN = "warn",
|
|
13
|
+
ERROR = "error"
|
|
14
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Convert JS SDK
|
|
3
|
+
* Version 1.0.0
|
|
4
|
+
* Copyright(c) 2020 Convert Insights, Inc
|
|
5
|
+
* License Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
export declare enum BrowserType {
|
|
8
|
+
IE = "IE",
|
|
9
|
+
CH = "CH",
|
|
10
|
+
FF = "FF",
|
|
11
|
+
OP = "OP",
|
|
12
|
+
SF = "SF",
|
|
13
|
+
EDG = "EDG",
|
|
14
|
+
MO = "MO",
|
|
15
|
+
NS = "NS",
|
|
16
|
+
OTH = "OTH"
|
|
17
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Convert JS SDK
|
|
3
|
+
* Version 1.0.0
|
|
4
|
+
* Copyright(c) 2020 Convert Insights, Inc
|
|
5
|
+
* License Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
export declare enum DeviceType {
|
|
8
|
+
ALLPH = "ALLPH",
|
|
9
|
+
IPH = "IPH",
|
|
10
|
+
OTHPH = "OTHPH",
|
|
11
|
+
ALLTAB = "ALLTAB",
|
|
12
|
+
IPAD = "IPAD",
|
|
13
|
+
OTHTAB = "OTHTAB",
|
|
14
|
+
DESK = "DESK",
|
|
15
|
+
OTHDEV = "OTHDEV"
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Convert JS SDK
|
|
3
|
+
* Version 1.0.0
|
|
4
|
+
* Copyright(c) 2020 Convert Insights, Inc
|
|
5
|
+
* License Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
export declare enum SegmentsKeys {
|
|
8
|
+
COUNTRY = "country",
|
|
9
|
+
BROWSER = "browser",
|
|
10
|
+
DEVICES = "devices",
|
|
11
|
+
SOURCE = "source",
|
|
12
|
+
CAMPAIGN = "campaign",
|
|
13
|
+
VISITOR_TYPE = "visitorType",
|
|
14
|
+
CUSTOM_SEGMENTS = "customSegments"
|
|
15
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Convert JS SDK
|
|
3
|
+
* Version 1.0.0
|
|
4
|
+
* Copyright(c) 2020 Convert Insights, Inc
|
|
5
|
+
* License Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* SDK system events. Possible values: 'ready' | 'queue-released'
|
|
9
|
+
* or custom visitor's event
|
|
10
|
+
*/
|
|
11
|
+
export declare enum SystemEvents {
|
|
12
|
+
READY = "ready",
|
|
13
|
+
CONFIG_UPDATED = "config.updated",
|
|
14
|
+
API_QUEUE_RELEASED = "api.queue.released",
|
|
15
|
+
BUCKETING = "bucketing",
|
|
16
|
+
CONVERSION = "conversion",
|
|
17
|
+
SEGMENTS = "segments",
|
|
18
|
+
LOCATION_ACTIVATED = "location.activated",
|
|
19
|
+
LOCATION_DEACTIVATED = "location.deactivated",
|
|
20
|
+
AUDIENCES = "audiences",
|
|
21
|
+
DATA_STORE_QUEUE_RELEASED = "datastore.queue.released"
|
|
22
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Convert JS SDK
|
|
3
|
+
* Version 1.0.0
|
|
4
|
+
* Copyright(c) 2020 Convert Insights, Inc
|
|
5
|
+
* License Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
export declare enum VariationChangeType {
|
|
8
|
+
RICH_STRUCTURE = "richStructure",
|
|
9
|
+
CUSTOM_CODE = "customCode",
|
|
10
|
+
DEFAULT_CODE = "defaultCode",
|
|
11
|
+
DEFAULT_CODE_MULTIPAGE = "defaultCodeMultipage",
|
|
12
|
+
DEFAULT_REDIRECT = "defaultRedirect",
|
|
13
|
+
FULLSTACK_FEATURE = "fullStackFeature"
|
|
14
|
+
}
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsSdkUtils = require('@convertcom/js-sdk-utils');
|
|
4
|
+
var jsSdkEnums = require('@convertcom/js-sdk-enums');
|
|
5
|
+
|
|
6
|
+
/******************************************************************************
|
|
7
|
+
Copyright (c) Microsoft Corporation.
|
|
8
|
+
|
|
9
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
10
|
+
purpose with or without fee is hereby granted.
|
|
11
|
+
|
|
12
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
13
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
14
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
15
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
16
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
17
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
18
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
19
|
+
***************************************************************************** */
|
|
20
|
+
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
function __values(o) {
|
|
24
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
25
|
+
if (m) return m.call(o);
|
|
26
|
+
if (o && typeof o.length === "number") return {
|
|
27
|
+
next: function () {
|
|
28
|
+
if (o && i >= o.length) o = void 0;
|
|
29
|
+
return { value: o && o[i++], done: !o };
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
36
|
+
var e = new Error(message);
|
|
37
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
var DEFAULT_KEYS_CASE_SENSITIVE = true;
|
|
41
|
+
var DEFAULT_NEGATION = '!';
|
|
42
|
+
/**
|
|
43
|
+
* Provides rule processing calculations with corresponding comparisons methods
|
|
44
|
+
* @category Modules
|
|
45
|
+
* @constructor
|
|
46
|
+
* @implements {RuleManagerInterface}
|
|
47
|
+
*/
|
|
48
|
+
var RuleManager = /** @class */ (function () {
|
|
49
|
+
/**
|
|
50
|
+
* @param {Config=} config
|
|
51
|
+
* @param {Object=} dependencies
|
|
52
|
+
* @param {LogManagerInterface=} dependencies.loggerManager
|
|
53
|
+
*/
|
|
54
|
+
function RuleManager(config, _a) {
|
|
55
|
+
var _b = _a === void 0 ? {} : _a, loggerManager = _b.loggerManager;
|
|
56
|
+
var _c, _d;
|
|
57
|
+
this._comparisonProcessor = jsSdkUtils.Comparisons;
|
|
58
|
+
this._negation = DEFAULT_NEGATION;
|
|
59
|
+
this._keys_case_sensitive = DEFAULT_KEYS_CASE_SENSITIVE;
|
|
60
|
+
this._loggerManager = loggerManager;
|
|
61
|
+
this._comparisonProcessor = jsSdkUtils.objectDeepValue(config, 'rules.comparisonProcessor', jsSdkUtils.Comparisons);
|
|
62
|
+
this._negation = String(jsSdkUtils.objectDeepValue(config, 'rules.negation', DEFAULT_NEGATION)).valueOf();
|
|
63
|
+
this._keys_case_sensitive = jsSdkUtils.objectDeepValue(config, 'rules.keys_case_sensitive', DEFAULT_KEYS_CASE_SENSITIVE, true);
|
|
64
|
+
(_d = (_c = this._loggerManager) === null || _c === void 0 ? void 0 : _c.trace) === null || _d === void 0 ? void 0 : _d.call(_c, 'RuleManager()', jsSdkEnums.MESSAGES.RULE_CONSTRUCTOR, this);
|
|
65
|
+
}
|
|
66
|
+
Object.defineProperty(RuleManager.prototype, "comparisonProcessor", {
|
|
67
|
+
/**
|
|
68
|
+
* Getter for comparison processor
|
|
69
|
+
*/
|
|
70
|
+
get: function () {
|
|
71
|
+
return this._comparisonProcessor;
|
|
72
|
+
},
|
|
73
|
+
/**
|
|
74
|
+
* Setter for comparison processor
|
|
75
|
+
* @param {Record<string, any>} comparisonProcessor
|
|
76
|
+
*/
|
|
77
|
+
set: function (comparisonProcessor) {
|
|
78
|
+
this._comparisonProcessor = comparisonProcessor;
|
|
79
|
+
},
|
|
80
|
+
enumerable: false,
|
|
81
|
+
configurable: true
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* Retrieve comparison methods from comparison processor
|
|
85
|
+
* @return {Array<string>} List of methods of comparison processor
|
|
86
|
+
*/
|
|
87
|
+
RuleManager.prototype.getComparisonProcessorMethods = function () {
|
|
88
|
+
var _this = this;
|
|
89
|
+
return Object.getOwnPropertyNames(this._comparisonProcessor).filter(function (name) { return typeof _this._comparisonProcessor[name] === 'function'; });
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Check input data matching to rule set
|
|
93
|
+
* @param {Record<string, any>} data Single value or key-value data set to compare
|
|
94
|
+
* @param {RuleSet} ruleSet
|
|
95
|
+
* @return {boolean | RuleError}
|
|
96
|
+
*/
|
|
97
|
+
RuleManager.prototype.isRuleMatched = function (data, ruleSet, logEntry) {
|
|
98
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
99
|
+
(_b = (_a = this._loggerManager) === null || _a === void 0 ? void 0 : _a.trace) === null || _b === void 0 ? void 0 : _b.call(_a, 'RuleManager.isRuleMatched()', {
|
|
100
|
+
data: data,
|
|
101
|
+
ruleSet: ruleSet
|
|
102
|
+
});
|
|
103
|
+
if (logEntry) {
|
|
104
|
+
(_d = (_c = this._loggerManager) === null || _c === void 0 ? void 0 : _c.info) === null || _d === void 0 ? void 0 : _d.call(_c, 'RuleManager.isRuleMatched()', jsSdkEnums.MESSAGES.PROCESSING_ENTITY.replace('#', logEntry));
|
|
105
|
+
}
|
|
106
|
+
// Top OR level
|
|
107
|
+
var match;
|
|
108
|
+
if (Object.prototype.hasOwnProperty.call(ruleSet, 'OR') &&
|
|
109
|
+
jsSdkUtils.arrayNotEmpty(ruleSet === null || ruleSet === void 0 ? void 0 : ruleSet.OR)) {
|
|
110
|
+
for (var i = 0, l = ruleSet.OR.length; i < l; i++) {
|
|
111
|
+
match = this._processAND(data, ruleSet.OR[i]);
|
|
112
|
+
if (Object.values(jsSdkEnums.RuleError).includes(match)) {
|
|
113
|
+
(_f = (_e = this._loggerManager) === null || _e === void 0 ? void 0 : _e.info) === null || _f === void 0 ? void 0 : _f.call(_e, 'RuleManager.isRuleMatched()', logEntry || '', jsSdkEnums.ERROR_MESSAGES.RULE_ERROR);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
(_h = (_g = this._loggerManager) === null || _g === void 0 ? void 0 : _g.info) === null || _h === void 0 ? void 0 : _h.call(_g, 'RuleManager.isRuleMatched()', logEntry || '', match === false
|
|
117
|
+
? jsSdkEnums.MESSAGES.RULE_NOT_MATCH
|
|
118
|
+
: jsSdkEnums.MESSAGES.RULE_MATCH.replace('#', String(i)));
|
|
119
|
+
}
|
|
120
|
+
if (match !== false) {
|
|
121
|
+
return match;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
(_k = (_j = this._loggerManager) === null || _j === void 0 ? void 0 : _j.warn) === null || _k === void 0 ? void 0 : _k.call(_j, 'RuleManager.isRuleMatched()', logEntry || '', jsSdkEnums.ERROR_MESSAGES.RULE_NOT_VALID);
|
|
127
|
+
}
|
|
128
|
+
return false;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Check is rule object valid
|
|
132
|
+
* @param {Rule} rule
|
|
133
|
+
* @return {boolean}
|
|
134
|
+
*/
|
|
135
|
+
RuleManager.prototype.isValidRule = function (rule) {
|
|
136
|
+
var _a, _b;
|
|
137
|
+
(_b = (_a = this._loggerManager) === null || _a === void 0 ? void 0 : _a.trace) === null || _b === void 0 ? void 0 : _b.call(_a, 'RuleManager.isValidRule()', {
|
|
138
|
+
rule: rule
|
|
139
|
+
});
|
|
140
|
+
return (Object.prototype.hasOwnProperty.call(rule, 'matching') &&
|
|
141
|
+
typeof rule.matching === 'object' &&
|
|
142
|
+
Object.prototype.hasOwnProperty.call(rule.matching, 'match_type') &&
|
|
143
|
+
typeof rule.matching.match_type === 'string' &&
|
|
144
|
+
Object.prototype.hasOwnProperty.call(rule.matching, 'negated') &&
|
|
145
|
+
typeof rule.matching.negated === 'boolean' &&
|
|
146
|
+
Object.prototype.hasOwnProperty.call(rule, 'value'));
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* Process AND block of rule set. Return first false if found
|
|
150
|
+
* @param {Record<string, any>} data Single value or key-value data set to compare
|
|
151
|
+
* @param {RuleAnd} rulesSubset
|
|
152
|
+
* @return {boolean | RuleError}
|
|
153
|
+
* @private
|
|
154
|
+
*/
|
|
155
|
+
RuleManager.prototype._processAND = function (data, rulesSubset) {
|
|
156
|
+
var _a, _b, _c, _d;
|
|
157
|
+
// Second AND level
|
|
158
|
+
var match;
|
|
159
|
+
if (Object.prototype.hasOwnProperty.call(rulesSubset, 'AND') &&
|
|
160
|
+
jsSdkUtils.arrayNotEmpty(rulesSubset === null || rulesSubset === void 0 ? void 0 : rulesSubset.AND)) {
|
|
161
|
+
for (var i = 0, l = rulesSubset.AND.length; i < l; i++) {
|
|
162
|
+
match = this._processORWHEN(data, rulesSubset.AND[i]);
|
|
163
|
+
if (match === false) {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (match !== false) {
|
|
168
|
+
(_b = (_a = this._loggerManager) === null || _a === void 0 ? void 0 : _a.info) === null || _b === void 0 ? void 0 : _b.call(_a, 'RuleManager._processAND()', jsSdkEnums.MESSAGES.RULE_MATCH_AND);
|
|
169
|
+
}
|
|
170
|
+
return match;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
(_d = (_c = this._loggerManager) === null || _c === void 0 ? void 0 : _c.warn) === null || _d === void 0 ? void 0 : _d.call(_c, 'RuleManager._processAND()', jsSdkEnums.ERROR_MESSAGES.RULE_NOT_VALID);
|
|
174
|
+
}
|
|
175
|
+
return false;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Process OR block of rule set. Return first true if found
|
|
179
|
+
* @param {Record<string, any>} data Single value or key-value data set to compare
|
|
180
|
+
* @param {RuleOrWhen} rulesSubset
|
|
181
|
+
* @return {boolean | RuleError}
|
|
182
|
+
* @private
|
|
183
|
+
*/
|
|
184
|
+
RuleManager.prototype._processORWHEN = function (data, rulesSubset) {
|
|
185
|
+
var _a, _b;
|
|
186
|
+
// Third OR level. Called OR_WHEN.
|
|
187
|
+
var match;
|
|
188
|
+
if (Object.prototype.hasOwnProperty.call(rulesSubset, 'OR_WHEN') &&
|
|
189
|
+
jsSdkUtils.arrayNotEmpty(rulesSubset === null || rulesSubset === void 0 ? void 0 : rulesSubset.OR_WHEN)) {
|
|
190
|
+
for (var i = 0, l = rulesSubset.OR_WHEN.length; i < l; i++) {
|
|
191
|
+
match = this._processRuleItem(data, rulesSubset.OR_WHEN[i]);
|
|
192
|
+
if (match !== false) {
|
|
193
|
+
return match;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
(_b = (_a = this._loggerManager) === null || _a === void 0 ? void 0 : _a.warn) === null || _b === void 0 ? void 0 : _b.call(_a, 'RuleManager._processORWHEN()', jsSdkEnums.ERROR_MESSAGES.RULE_NOT_VALID);
|
|
199
|
+
}
|
|
200
|
+
return false;
|
|
201
|
+
};
|
|
202
|
+
/**
|
|
203
|
+
* Process single rule item
|
|
204
|
+
* @param {Record<string, any>} data Single value or key-value data set to compare
|
|
205
|
+
* @param {Rule} rule A single rule to compare
|
|
206
|
+
* @return {boolean | RuleError} Comparison result
|
|
207
|
+
* @private
|
|
208
|
+
*/
|
|
209
|
+
RuleManager.prototype._processRuleItem = function (data, rule) {
|
|
210
|
+
var e_1, _a, e_2, _b;
|
|
211
|
+
var _c, _d, _e, _f, _g, _h, _j, _k;
|
|
212
|
+
if (this.isValidRule(rule)) {
|
|
213
|
+
try {
|
|
214
|
+
var negation = rule.matching.negated || false;
|
|
215
|
+
var matching = rule.matching.match_type;
|
|
216
|
+
if (this.getComparisonProcessorMethods().indexOf(matching) !== -1) {
|
|
217
|
+
if (typeof data === 'object') {
|
|
218
|
+
// Validate data key-value set.
|
|
219
|
+
if (data.constructor === Object) {
|
|
220
|
+
try {
|
|
221
|
+
// Rule object has to have `key` field
|
|
222
|
+
for (var _l = __values(Object.keys(data)), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
223
|
+
var key = _m.value;
|
|
224
|
+
var k = this._keys_case_sensitive ? key : key.toLowerCase();
|
|
225
|
+
var rule_k = this._keys_case_sensitive
|
|
226
|
+
? rule.key
|
|
227
|
+
: rule.key.toLowerCase();
|
|
228
|
+
if (k === rule_k) {
|
|
229
|
+
return this._comparisonProcessor[matching](data[key], rule.value, negation);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
234
|
+
finally {
|
|
235
|
+
try {
|
|
236
|
+
if (_m && !_m.done && (_a = _l.return)) _a.call(_l);
|
|
237
|
+
}
|
|
238
|
+
finally { if (e_1) throw e_1.error; }
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
else if (rule === null || rule === void 0 ? void 0 : rule.rule_type) {
|
|
242
|
+
// Rule object has to have `rule_type` field
|
|
243
|
+
(_d = (_c = this._loggerManager) === null || _c === void 0 ? void 0 : _c.info) === null || _d === void 0 ? void 0 : _d.call(_c, 'RuleManager._processRuleItem()', jsSdkEnums.MESSAGES.RULE_MATCH_START.replace('#', rule.rule_type));
|
|
244
|
+
try {
|
|
245
|
+
for (var _o = __values(Object.getOwnPropertyNames(data.constructor.prototype)), _p = _o.next(); !_p.done; _p = _o.next()) {
|
|
246
|
+
var method = _p.value;
|
|
247
|
+
if (method === 'constructor')
|
|
248
|
+
continue;
|
|
249
|
+
var rule_method = jsSdkUtils.camelCase("get ".concat(rule.rule_type.replace(/_/g, ' ')));
|
|
250
|
+
if (method === rule_method) {
|
|
251
|
+
var dataValue = data[method](rule);
|
|
252
|
+
if (Object.values(jsSdkEnums.RuleError).includes(dataValue))
|
|
253
|
+
return dataValue;
|
|
254
|
+
if (rule.rule_type === 'js_condition')
|
|
255
|
+
return dataValue;
|
|
256
|
+
return this._comparisonProcessor[matching](dataValue, rule.value, negation);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
261
|
+
finally {
|
|
262
|
+
try {
|
|
263
|
+
if (_p && !_p.done && (_b = _o.return)) _b.call(_o);
|
|
264
|
+
}
|
|
265
|
+
finally { if (e_2) throw e_2.error; }
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
(_f = (_e = this._loggerManager) === null || _e === void 0 ? void 0 : _e.warn) === null || _f === void 0 ? void 0 : _f.call(_e, 'RuleManager._processRuleItem()', {
|
|
271
|
+
warn: jsSdkEnums.ERROR_MESSAGES.RULE_DATA_NOT_VALID
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
catch (error) {
|
|
277
|
+
(_h = (_g = this._loggerManager) === null || _g === void 0 ? void 0 : _g.error) === null || _h === void 0 ? void 0 : _h.call(_g, 'RuleManager._processRuleItem()', {
|
|
278
|
+
error: error.message
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
(_k = (_j = this._loggerManager) === null || _j === void 0 ? void 0 : _j.warn) === null || _k === void 0 ? void 0 : _k.call(_j, 'RuleManager._processRuleItem()', jsSdkEnums.ERROR_MESSAGES.RULE_NOT_VALID);
|
|
284
|
+
}
|
|
285
|
+
return false;
|
|
286
|
+
};
|
|
287
|
+
return RuleManager;
|
|
288
|
+
}());
|
|
289
|
+
|
|
290
|
+
exports.RuleManager = RuleManager;
|
|
291
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Convert JS SDK
|
|
3
|
+
* Version 1.0.0
|
|
4
|
+
* Copyright(c) 2020-2022 Convert Insights, Inc
|
|
5
|
+
* License Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
"use strict";var e=require("@convertcom/js-sdk-utils"),r=require("@convertcom/js-sdk-enums");function o(e){var r="function"==typeof Symbol&&Symbol.iterator,o=r&&e[r],t=0;if(o)return o.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}"function"==typeof SuppressedError&&SuppressedError;var t=function(){function t(o,t){var l,n,a=(void 0===t?{}:t).loggerManager;this._comparisonProcessor=e.Comparisons,this._negation="!",this._keys_case_sensitive=true,this._loggerManager=a,this._comparisonProcessor=e.objectDeepValue(o,"rules.comparisonProcessor",e.Comparisons),this._negation=String(e.objectDeepValue(o,"rules.negation","!")).valueOf(),this._keys_case_sensitive=e.objectDeepValue(o,"rules.keys_case_sensitive",true,!0),null===(n=null===(l=this._loggerManager)||void 0===l?void 0:l.trace)||void 0===n||n.call(l,"RuleManager()",r.MESSAGES.RULE_CONSTRUCTOR,this)}return Object.defineProperty(t.prototype,"comparisonProcessor",{get:function(){return this._comparisonProcessor},set:function(e){this._comparisonProcessor=e},enumerable:!1,configurable:!0}),t.prototype.getComparisonProcessorMethods=function(){var e=this;return Object.getOwnPropertyNames(this._comparisonProcessor).filter((function(r){return"function"==typeof e._comparisonProcessor[r]}))},t.prototype.isRuleMatched=function(o,t,l){var n,a,i,s,c,u,p,g,_,v,d;if(null===(a=null===(n=this._loggerManager)||void 0===n?void 0:n.trace)||void 0===a||a.call(n,"RuleManager.isRuleMatched()",{data:o,ruleSet:t}),l&&(null===(s=null===(i=this._loggerManager)||void 0===i?void 0:i.info)||void 0===s||s.call(i,"RuleManager.isRuleMatched()",r.MESSAGES.PROCESSING_ENTITY.replace("#",l))),Object.prototype.hasOwnProperty.call(t,"OR")&&e.arrayNotEmpty(null==t?void 0:t.OR)){for(var R=0,h=t.OR.length;R<h;R++)if(d=this._processAND(o,t.OR[R]),Object.values(r.RuleError).includes(d)?null===(u=null===(c=this._loggerManager)||void 0===c?void 0:c.info)||void 0===u||u.call(c,"RuleManager.isRuleMatched()",l||"",r.ERROR_MESSAGES.RULE_ERROR):null===(g=null===(p=this._loggerManager)||void 0===p?void 0:p.info)||void 0===g||g.call(p,"RuleManager.isRuleMatched()",l||"",!1===d?r.MESSAGES.RULE_NOT_MATCH:r.MESSAGES.RULE_MATCH.replace("#",String(R))),!1!==d)return d}else null===(v=null===(_=this._loggerManager)||void 0===_?void 0:_.warn)||void 0===v||v.call(_,"RuleManager.isRuleMatched()",l||"",r.ERROR_MESSAGES.RULE_NOT_VALID);return!1},t.prototype.isValidRule=function(e){var r,o;return null===(o=null===(r=this._loggerManager)||void 0===r?void 0:r.trace)||void 0===o||o.call(r,"RuleManager.isValidRule()",{rule:e}),Object.prototype.hasOwnProperty.call(e,"matching")&&"object"==typeof e.matching&&Object.prototype.hasOwnProperty.call(e.matching,"match_type")&&"string"==typeof e.matching.match_type&&Object.prototype.hasOwnProperty.call(e.matching,"negated")&&"boolean"==typeof e.matching.negated&&Object.prototype.hasOwnProperty.call(e,"value")},t.prototype._processAND=function(o,t){var l,n,a,i,s;if(Object.prototype.hasOwnProperty.call(t,"AND")&&e.arrayNotEmpty(null==t?void 0:t.AND)){for(var c=0,u=t.AND.length;c<u;c++)if(!1===(s=this._processORWHEN(o,t.AND[c])))return!1;return!1!==s&&(null===(n=null===(l=this._loggerManager)||void 0===l?void 0:l.info)||void 0===n||n.call(l,"RuleManager._processAND()",r.MESSAGES.RULE_MATCH_AND)),s}return null===(i=null===(a=this._loggerManager)||void 0===a?void 0:a.warn)||void 0===i||i.call(a,"RuleManager._processAND()",r.ERROR_MESSAGES.RULE_NOT_VALID),!1},t.prototype._processORWHEN=function(o,t){var l,n,a;if(Object.prototype.hasOwnProperty.call(t,"OR_WHEN")&&e.arrayNotEmpty(null==t?void 0:t.OR_WHEN)){for(var i=0,s=t.OR_WHEN.length;i<s;i++)if(!1!==(a=this._processRuleItem(o,t.OR_WHEN[i])))return a}else null===(n=null===(l=this._loggerManager)||void 0===l?void 0:l.warn)||void 0===n||n.call(l,"RuleManager._processORWHEN()",r.ERROR_MESSAGES.RULE_NOT_VALID);return!1},t.prototype._processRuleItem=function(t,l){var n,a,i,s,c,u,p,g,_,v,d,R;if(this.isValidRule(l))try{var h=l.matching.negated||!1,y=l.matching.match_type;if(-1!==this.getComparisonProcessorMethods().indexOf(y))if("object"==typeof t){if(t.constructor===Object)try{for(var f=o(Object.keys(t)),E=f.next();!E.done;E=f.next()){var M=E.value;if((this._keys_case_sensitive?M:M.toLowerCase())===(this._keys_case_sensitive?l.key:l.key.toLowerCase()))return this._comparisonProcessor[y](t[M],l.value,h)}}catch(e){n={error:e}}finally{try{E&&!E.done&&(a=f.return)&&a.call(f)}finally{if(n)throw n.error}}else if(null==l?void 0:l.rule_type){null===(u=null===(c=this._loggerManager)||void 0===c?void 0:c.info)||void 0===u||u.call(c,"RuleManager._processRuleItem()",r.MESSAGES.RULE_MATCH_START.replace("#",l.rule_type));try{for(var O=o(Object.getOwnPropertyNames(t.constructor.prototype)),S=O.next();!S.done;S=O.next()){var m=S.value;if("constructor"!==m)if(m===e.camelCase("get ".concat(l.rule_type.replace(/_/g," ")))){var A=t[m](l);return Object.values(r.RuleError).includes(A)||"js_condition"===l.rule_type?A:this._comparisonProcessor[y](A,l.value,h)}}}catch(e){i={error:e}}finally{try{S&&!S.done&&(s=O.return)&&s.call(O)}finally{if(i)throw i.error}}}}else null===(g=null===(p=this._loggerManager)||void 0===p?void 0:p.warn)||void 0===g||g.call(p,"RuleManager._processRuleItem()",{warn:r.ERROR_MESSAGES.RULE_DATA_NOT_VALID})}catch(e){null===(v=null===(_=this._loggerManager)||void 0===_?void 0:_.error)||void 0===v||v.call(_,"RuleManager._processRuleItem()",{error:e.message})}else null===(R=null===(d=this._loggerManager)||void 0===d?void 0:d.warn)||void 0===R||R.call(d,"RuleManager._processRuleItem()",r.ERROR_MESSAGES.RULE_NOT_VALID);return!1},t}();exports.RuleManager=t;
|
|
8
|
+
//# sourceMappingURL=index.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.min.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Convert JS SDK
|
|
3
|
+
* Version 1.0.0
|
|
4
|
+
* Copyright(c) 2020 Convert Insights, Inc
|
|
5
|
+
* License Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
import { LogLevel } from '@convertcom/js-sdk-enums';
|
|
8
|
+
import { LogMethodMapInterface } from './log-method-map';
|
|
9
|
+
export interface LogClientInterface {
|
|
10
|
+
sdk: any;
|
|
11
|
+
level: LogLevel;
|
|
12
|
+
mapper: LogMethodMapInterface;
|
|
13
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Convert JS SDK
|
|
3
|
+
* Version 1.0.0
|
|
4
|
+
* Copyright(c) 2020 Convert Insights, Inc
|
|
5
|
+
* License Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
import { LogLevel } from '@convertcom/js-sdk-enums';
|
|
8
|
+
import { LogMethodMapInterface } from './log-method-map';
|
|
9
|
+
export interface LogManagerInterface {
|
|
10
|
+
log(level: LogLevel, ...args: any[]): void;
|
|
11
|
+
trace(...args: any[]): void;
|
|
12
|
+
debug(...args: any[]): void;
|
|
13
|
+
info(...args: any[]): void;
|
|
14
|
+
warn(...args: any[]): void;
|
|
15
|
+
error(...args: any[]): void;
|
|
16
|
+
addClient(client?: any, level?: LogLevel, methodMap?: LogMethodMapInterface): void;
|
|
17
|
+
setClientLevel(level: LogLevel, client?: any): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Convert JS SDK
|
|
3
|
+
* Version 1.0.0
|
|
4
|
+
* Copyright(c) 2020 Convert Insights, Inc
|
|
5
|
+
* License Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
import { LogMethod } from '@convertcom/js-sdk-enums';
|
|
8
|
+
export interface LogMethodMapInterface {
|
|
9
|
+
[LogMethod.LOG]?: string;
|
|
10
|
+
[LogMethod.DEBUG]?: string;
|
|
11
|
+
[LogMethod.INFO]?: string;
|
|
12
|
+
[LogMethod.WARN]?: string;
|
|
13
|
+
[LogMethod.ERROR]?: string;
|
|
14
|
+
[LogMethod.TRACE]?: string;
|
|
15
|
+
}
|