@adobe/alloy 2.19.0-beta.9 → 2.19.1-beta.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 +4 -1
- package/libEs5/components/DataCollector/index.js +3 -0
- package/libEs5/components/DataCollector/validateApplyResponse.js +2 -1
- package/libEs5/components/DataCollector/validateUserEventOptions.js +2 -1
- package/libEs5/components/DecisioningEngine/consequenceAdapters/inAppMessageConsequenceAdapter.js +32 -0
- package/libEs5/components/DecisioningEngine/consequenceAdapters/schemaTypeConsequenceAdapter.js +25 -0
- package/libEs5/components/DecisioningEngine/constants.js +31 -0
- package/libEs5/components/DecisioningEngine/createApplyResponse.js +36 -0
- package/libEs5/components/DecisioningEngine/createConsequenceAdapter.js +29 -0
- package/libEs5/components/DecisioningEngine/createContextProvider.js +93 -0
- package/libEs5/components/DecisioningEngine/createDecisionHistory.js +28 -0
- package/libEs5/components/DecisioningEngine/createDecisionProvider.js +51 -0
- package/libEs5/components/DecisioningEngine/createEvaluableRulesetPayload.js +80 -0
- package/libEs5/components/DecisioningEngine/createEvaluateRulesetsCommand.js +49 -0
- package/libEs5/components/DecisioningEngine/createEventRegistry.js +130 -0
- package/libEs5/components/DecisioningEngine/createOnResponseHandler.js +46 -0
- package/libEs5/components/DecisioningEngine/createSubscribeRulesetItems.js +87 -0
- package/libEs5/components/DecisioningEngine/index.js +119 -0
- package/libEs5/components/DecisioningEngine/utils.js +90 -0
- package/libEs5/components/Personalization/createActionsProvider.js +72 -0
- package/libEs5/components/Personalization/createApplyPropositions.js +2 -2
- package/libEs5/components/Personalization/createCollect.js +9 -4
- package/libEs5/components/Personalization/createComponent.js +5 -3
- package/libEs5/components/Personalization/createFetchDataHandler.js +2 -17
- package/libEs5/components/Personalization/createNotificationHandler.js +33 -0
- package/libEs5/components/Personalization/createOnClickHandler.js +5 -3
- package/libEs5/components/Personalization/createOnDecisionHandler.js +44 -0
- package/libEs5/components/Personalization/createPersonalizationDetails.js +8 -5
- package/libEs5/components/Personalization/createPreprocessors.js +21 -0
- package/libEs5/components/Personalization/createViewCacheManager.js +9 -2
- package/libEs5/components/Personalization/dom-actions/createRedirect.js +11 -1
- package/libEs5/components/Personalization/event.js +25 -22
- package/libEs5/components/Personalization/handlers/createProcessInAppMessage.js +76 -0
- package/libEs5/components/Personalization/handlers/createProcessRedirect.js +5 -2
- package/libEs5/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +288 -0
- package/libEs5/components/Personalization/in-app-message-actions/initInAppMessageActionsModules.js +23 -0
- package/libEs5/components/Personalization/in-app-message-actions/utils.js +53 -0
- package/libEs5/components/Personalization/index.js +20 -7
- package/libEs5/constants/contentType.js +18 -0
- package/libEs5/{components/Personalization/constants/propositionEventType.js → constants/decisionProvider.js} +4 -8
- package/libEs5/constants/eventType.js +25 -0
- package/libEs5/{components/Personalization/constants/eventType.js → constants/handle.js} +4 -7
- package/libEs5/constants/libraryVersion.js +1 -1
- package/libEs5/constants/propositionEventType.js +33 -0
- package/libEs5/{components/Personalization/constants → constants}/schema.js +9 -1
- package/libEs5/core/componentCreators.js +2 -1
- package/libEs5/core/createEvent.js +26 -1
- package/libEs5/core/createEventManager.js +3 -0
- package/libEs5/core/createLifecycle.js +4 -1
- package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +1 -1
- package/libEs5/utils/assignConcatArrayValues.js +49 -0
- package/libEs5/utils/createSubscription.js +91 -0
- package/libEs5/utils/debounce.js +30 -0
- package/libEs5/utils/dom/selectNodesWithShadow.js +10 -3
- package/libEs5/utils/flattenArray.js +37 -0
- package/libEs5/utils/flattenObject.js +43 -0
- package/libEs5/utils/index.js +14 -0
- package/libEs5/utils/parseUrl.js +70 -0
- package/libEs6/components/DataCollector/index.js +2 -0
- package/libEs6/components/DataCollector/validateApplyResponse.js +2 -1
- package/libEs6/components/DataCollector/validateUserEventOptions.js +2 -1
- package/libEs6/components/DecisioningEngine/consequenceAdapters/inAppMessageConsequenceAdapter.js +30 -0
- package/libEs6/components/DecisioningEngine/consequenceAdapters/schemaTypeConsequenceAdapter.js +24 -0
- package/libEs6/components/DecisioningEngine/constants.js +25 -0
- package/libEs6/components/DecisioningEngine/createApplyResponse.js +31 -0
- package/libEs6/components/DecisioningEngine/createConsequenceAdapter.js +29 -0
- package/libEs6/components/DecisioningEngine/createContextProvider.js +95 -0
- package/libEs6/components/DecisioningEngine/createDecisionHistory.js +25 -0
- package/libEs6/components/DecisioningEngine/createDecisionProvider.js +41 -0
- package/libEs6/components/DecisioningEngine/createEvaluableRulesetPayload.js +79 -0
- package/libEs6/components/DecisioningEngine/createEvaluateRulesetsCommand.js +45 -0
- package/libEs6/components/DecisioningEngine/createEventRegistry.js +120 -0
- package/libEs6/components/DecisioningEngine/createOnResponseHandler.js +45 -0
- package/libEs6/components/DecisioningEngine/createSubscribeRulesetItems.js +79 -0
- package/libEs6/components/DecisioningEngine/index.js +124 -0
- package/libEs6/components/DecisioningEngine/utils.js +83 -0
- package/libEs6/components/Personalization/createActionsProvider.js +70 -0
- package/libEs6/components/Personalization/createApplyPropositions.js +2 -2
- package/libEs6/components/Personalization/createCollect.js +7 -4
- package/libEs6/components/Personalization/createComponent.js +5 -3
- package/libEs6/components/Personalization/createFetchDataHandler.js +3 -18
- package/libEs6/components/Personalization/createNotificationHandler.js +29 -0
- package/libEs6/components/Personalization/createOnClickHandler.js +5 -3
- package/libEs6/components/Personalization/createOnDecisionHandler.js +42 -0
- package/libEs6/components/Personalization/createPersonalizationDetails.js +8 -5
- package/libEs6/components/Personalization/createPreprocessors.js +19 -0
- package/libEs6/components/Personalization/createViewCacheManager.js +12 -3
- package/libEs6/components/Personalization/dom-actions/createRedirect.js +10 -1
- package/libEs6/components/Personalization/event.js +14 -9
- package/libEs6/components/Personalization/handlers/createProcessInAppMessage.js +77 -0
- package/libEs6/components/Personalization/handlers/createProcessRedirect.js +5 -2
- package/libEs6/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +291 -0
- package/libEs6/components/Personalization/in-app-message-actions/initInAppMessageActionsModules.js +17 -0
- package/libEs6/components/Personalization/in-app-message-actions/utils.js +49 -0
- package/libEs6/components/Personalization/index.js +22 -8
- package/libEs6/{components/Personalization/constants/eventType.js → constants/contentType.js} +3 -4
- package/libEs6/{components/Personalization/constants/propositionEventType.js → constants/decisionProvider.js} +2 -6
- package/libEs6/constants/eventType.js +17 -0
- package/libEs6/constants/handle.js +12 -0
- package/libEs6/constants/libraryVersion.js +1 -1
- package/libEs6/constants/propositionEventType.js +33 -0
- package/libEs6/{components/Personalization/constants → constants}/schema.js +4 -0
- package/libEs6/core/componentCreators.js +2 -1
- package/libEs6/core/createEvent.js +26 -1
- package/libEs6/core/createEventManager.js +2 -0
- package/libEs6/core/createLifecycle.js +4 -1
- package/libEs6/core/edgeNetwork/mergeLifecycleResponses.js +3 -2
- package/libEs6/utils/assignConcatArrayValues.js +36 -0
- package/libEs6/utils/createSubscription.js +70 -0
- package/libEs6/utils/debounce.js +22 -0
- package/libEs6/utils/dom/selectNodesWithShadow.js +10 -3
- package/libEs6/utils/flattenArray.js +26 -0
- package/libEs6/utils/flattenObject.js +28 -0
- package/libEs6/utils/index.js +2 -0
- package/libEs6/utils/parseUrl.js +62 -0
- package/package.json +6 -2
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.default = void 0;
|
|
4
|
+
var _handle = require("../../constants/handle");
|
|
5
|
+
var _flattenObject = require("../../utils/flattenObject");
|
|
6
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
8
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /*
|
|
9
|
+
Copyright 2023 Adobe. All rights reserved.
|
|
10
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
11
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
12
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
|
|
14
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
15
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
16
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
17
|
+
governing permissions and limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
var _default = function _default(_ref) {
|
|
20
|
+
var renderDecisions = _ref.renderDecisions,
|
|
21
|
+
decisionProvider = _ref.decisionProvider,
|
|
22
|
+
applyResponse = _ref.applyResponse,
|
|
23
|
+
event = _ref.event,
|
|
24
|
+
personalization = _ref.personalization,
|
|
25
|
+
decisionContext = _ref.decisionContext;
|
|
26
|
+
var context = _objectSpread(_objectSpread({}, (0, _flattenObject.default)(event.getContent())), decisionContext);
|
|
27
|
+
return function (_ref2) {
|
|
28
|
+
var response = _ref2.response;
|
|
29
|
+
decisionProvider.addPayloads(response.getPayloadsByType(_handle.PERSONALIZATION_DECISIONS_HANDLE));
|
|
30
|
+
|
|
31
|
+
// only evaluate events that include a personalization query
|
|
32
|
+
if (!event.hasQuery()) {
|
|
33
|
+
return {
|
|
34
|
+
propositions: []
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
var propositions = decisionProvider.evaluate(context);
|
|
38
|
+
return applyResponse({
|
|
39
|
+
renderDecisions: renderDecisions,
|
|
40
|
+
propositions: propositions,
|
|
41
|
+
event: event,
|
|
42
|
+
personalization: personalization
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
exports.default = _default;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.default = void 0;
|
|
4
|
+
var _validation = require("../../utils/validation");
|
|
5
|
+
var _createSubscription = require("../../utils/createSubscription");
|
|
6
|
+
var _utils = require("../../utils");
|
|
7
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /*
|
|
10
|
+
Copyright 2023 Adobe. All rights reserved.
|
|
11
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
12
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
13
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
14
|
+
|
|
15
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
16
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
17
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
18
|
+
governing permissions and limitations under the License.
|
|
19
|
+
*/
|
|
20
|
+
var validateOptions = function validateOptions(_ref) {
|
|
21
|
+
var options = _ref.options;
|
|
22
|
+
var validator = (0, _validation.objectOf)({
|
|
23
|
+
surfaces: (0, _validation.arrayOf)((0, _validation.string)()).uniqueItems(),
|
|
24
|
+
schemas: (0, _validation.arrayOf)((0, _validation.string)()).uniqueItems(),
|
|
25
|
+
callback: (0, _validation.callback)().required()
|
|
26
|
+
}).noUnknownFields();
|
|
27
|
+
return validator(options);
|
|
28
|
+
};
|
|
29
|
+
var emissionPreprocessor = function emissionPreprocessor(params, propositions) {
|
|
30
|
+
var surfacesFilter = params.surfacesFilter,
|
|
31
|
+
schemasFilter = params.schemasFilter;
|
|
32
|
+
var result = {
|
|
33
|
+
propositions: propositions.filter(function (payload) {
|
|
34
|
+
return surfacesFilter ? (0, _utils.includes)(surfacesFilter, payload.scope) : true;
|
|
35
|
+
}).map(function (payload) {
|
|
36
|
+
var _payload$items = payload.items,
|
|
37
|
+
items = _payload$items === void 0 ? [] : _payload$items;
|
|
38
|
+
return _objectSpread(_objectSpread({}, payload), {}, {
|
|
39
|
+
items: items.filter(function (item) {
|
|
40
|
+
return schemasFilter ? (0, _utils.includes)(schemasFilter, item.schema) : true;
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
}).filter(function (payload) {
|
|
44
|
+
return payload.items.length > 0;
|
|
45
|
+
})
|
|
46
|
+
};
|
|
47
|
+
return [result];
|
|
48
|
+
};
|
|
49
|
+
var emissionCondition = function emissionCondition(params, result) {
|
|
50
|
+
return result.propositions.length > 0;
|
|
51
|
+
};
|
|
52
|
+
var _default = function _default() {
|
|
53
|
+
var subscription = (0, _createSubscription.default)();
|
|
54
|
+
subscription.setEmissionPreprocessor(emissionPreprocessor);
|
|
55
|
+
subscription.setEmissionCondition(emissionCondition);
|
|
56
|
+
var run = function run(_ref2) {
|
|
57
|
+
var surfaces = _ref2.surfaces,
|
|
58
|
+
schemas = _ref2.schemas,
|
|
59
|
+
callback = _ref2.callback;
|
|
60
|
+
var unsubscribe = subscription.add(callback, {
|
|
61
|
+
surfacesFilter: surfaces instanceof Array ? surfaces : undefined,
|
|
62
|
+
schemasFilter: schemas instanceof Array ? schemas : undefined
|
|
63
|
+
});
|
|
64
|
+
return Promise.resolve({
|
|
65
|
+
unsubscribe: unsubscribe
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
var optionsValidator = function optionsValidator(options) {
|
|
69
|
+
return validateOptions({
|
|
70
|
+
options: options
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
var refresh = function refresh(propositions) {
|
|
74
|
+
if (!subscription.hasSubscriptions()) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
subscription.emit(propositions);
|
|
78
|
+
};
|
|
79
|
+
return {
|
|
80
|
+
refresh: refresh,
|
|
81
|
+
command: {
|
|
82
|
+
optionsValidator: optionsValidator,
|
|
83
|
+
run: run
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
exports.default = _default;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.default = void 0;
|
|
4
|
+
var _utils = require("../../utils");
|
|
5
|
+
var _createOnResponseHandler = require("./createOnResponseHandler");
|
|
6
|
+
var _createDecisionProvider = require("./createDecisionProvider");
|
|
7
|
+
var _createApplyResponse = require("./createApplyResponse");
|
|
8
|
+
var _createEventRegistry = require("./createEventRegistry");
|
|
9
|
+
var _createContextProvider = require("./createContextProvider");
|
|
10
|
+
var _createSubscribeRulesetItems = require("./createSubscribeRulesetItems");
|
|
11
|
+
var _constants = require("./constants");
|
|
12
|
+
var _createEvaluateRulesetsCommand = require("./createEvaluateRulesetsCommand");
|
|
13
|
+
var _utils2 = require("./utils");
|
|
14
|
+
var _validation = require("../../utils/validation");
|
|
15
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /*
|
|
18
|
+
Copyright 2023 Adobe. All rights reserved.
|
|
19
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
20
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
21
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
22
|
+
|
|
23
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
24
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
25
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
26
|
+
governing permissions and limitations under the License.
|
|
27
|
+
*/
|
|
28
|
+
var createDecisioningEngine = function createDecisioningEngine(_ref) {
|
|
29
|
+
var config = _ref.config,
|
|
30
|
+
createNamespacedStorage = _ref.createNamespacedStorage,
|
|
31
|
+
consent = _ref.consent;
|
|
32
|
+
var orgId = config.orgId,
|
|
33
|
+
personalizationStorageEnabled = config.personalizationStorageEnabled;
|
|
34
|
+
var storage = createNamespacedStorage((0, _utils.sanitizeOrgIdForCookieName)(orgId) + ".decisioning.");
|
|
35
|
+
if (!personalizationStorageEnabled) {
|
|
36
|
+
(0, _utils2.clearLocalStorage)(storage.persistent);
|
|
37
|
+
}
|
|
38
|
+
var eventRegistry = (0, _createEventRegistry.default)({
|
|
39
|
+
storage: (0, _utils2.createInMemoryStorage)()
|
|
40
|
+
});
|
|
41
|
+
var decisionProvider = (0, _createDecisionProvider.default)({
|
|
42
|
+
eventRegistry: eventRegistry
|
|
43
|
+
});
|
|
44
|
+
var contextProvider = (0, _createContextProvider.default)({
|
|
45
|
+
eventRegistry: eventRegistry,
|
|
46
|
+
window: window
|
|
47
|
+
});
|
|
48
|
+
var evaluateRulesetsCommand = (0, _createEvaluateRulesetsCommand.default)({
|
|
49
|
+
contextProvider: contextProvider,
|
|
50
|
+
decisionProvider: decisionProvider
|
|
51
|
+
});
|
|
52
|
+
var subscribeRulesetItems = (0, _createSubscribeRulesetItems.default)();
|
|
53
|
+
var applyResponse;
|
|
54
|
+
return {
|
|
55
|
+
lifecycle: {
|
|
56
|
+
onDecision: function onDecision(_ref2) {
|
|
57
|
+
var propositions = _ref2.propositions;
|
|
58
|
+
subscribeRulesetItems.refresh(propositions);
|
|
59
|
+
},
|
|
60
|
+
onComponentsRegistered: function onComponentsRegistered(tools) {
|
|
61
|
+
applyResponse = (0, _createApplyResponse.default)(tools.lifecycle);
|
|
62
|
+
if (personalizationStorageEnabled) {
|
|
63
|
+
consent.awaitConsent().then(function () {
|
|
64
|
+
eventRegistry.setStorage(storage.persistent);
|
|
65
|
+
}).catch(function () {
|
|
66
|
+
if (storage) {
|
|
67
|
+
(0, _utils2.clearLocalStorage)(storage.persistent);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
onBeforeEvent: function onBeforeEvent(_ref3) {
|
|
73
|
+
var _objectSpread2;
|
|
74
|
+
var event = _ref3.event,
|
|
75
|
+
renderDecisions = _ref3.renderDecisions,
|
|
76
|
+
_ref3$personalization = _ref3.personalization,
|
|
77
|
+
personalization = _ref3$personalization === void 0 ? {} : _ref3$personalization,
|
|
78
|
+
_ref3$onResponse = _ref3.onResponse,
|
|
79
|
+
onResponse = _ref3$onResponse === void 0 ? _utils.noop : _ref3$onResponse;
|
|
80
|
+
var _personalization$deci = personalization.decisionContext,
|
|
81
|
+
decisionContext = _personalization$deci === void 0 ? {} : _personalization$deci;
|
|
82
|
+
onResponse((0, _createOnResponseHandler.default)({
|
|
83
|
+
renderDecisions: renderDecisions,
|
|
84
|
+
decisionProvider: decisionProvider,
|
|
85
|
+
applyResponse: applyResponse,
|
|
86
|
+
event: event,
|
|
87
|
+
personalization: personalization,
|
|
88
|
+
decisionContext: contextProvider.getContext(_objectSpread((_objectSpread2 = {}, _defineProperty(_objectSpread2, _constants.CONTEXT_KEY.TYPE, _constants.CONTEXT_EVENT_TYPE.EDGE), _defineProperty(_objectSpread2, _constants.CONTEXT_KEY.SOURCE, _constants.CONTEXT_EVENT_SOURCE.REQUEST), _objectSpread2), decisionContext))
|
|
89
|
+
}));
|
|
90
|
+
eventRegistry.addExperienceEdgeEvent(event);
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
commands: {
|
|
94
|
+
evaluateRulesets: {
|
|
95
|
+
run: function run(_ref4) {
|
|
96
|
+
var _objectSpread3;
|
|
97
|
+
var renderDecisions = _ref4.renderDecisions,
|
|
98
|
+
_ref4$personalization = _ref4.personalization,
|
|
99
|
+
personalization = _ref4$personalization === void 0 ? {} : _ref4$personalization;
|
|
100
|
+
var _personalization$deci2 = personalization.decisionContext,
|
|
101
|
+
decisionContext = _personalization$deci2 === void 0 ? {} : _personalization$deci2;
|
|
102
|
+
return evaluateRulesetsCommand.run({
|
|
103
|
+
renderDecisions: renderDecisions,
|
|
104
|
+
decisionContext: _objectSpread((_objectSpread3 = {}, _defineProperty(_objectSpread3, _constants.CONTEXT_KEY.TYPE, _constants.CONTEXT_EVENT_TYPE.RULES_ENGINE), _defineProperty(_objectSpread3, _constants.CONTEXT_KEY.SOURCE, _constants.CONTEXT_EVENT_SOURCE.REQUEST), _objectSpread3), decisionContext),
|
|
105
|
+
applyResponse: applyResponse
|
|
106
|
+
});
|
|
107
|
+
},
|
|
108
|
+
optionsValidator: evaluateRulesetsCommand.optionsValidator
|
|
109
|
+
},
|
|
110
|
+
subscribeRulesetItems: subscribeRulesetItems.command
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
createDecisioningEngine.namespace = "DecisioningEngine";
|
|
115
|
+
createDecisioningEngine.configValidators = (0, _validation.objectOf)({
|
|
116
|
+
personalizationStorageEnabled: (0, _validation.boolean)().default(false)
|
|
117
|
+
});
|
|
118
|
+
var _default = createDecisioningEngine;
|
|
119
|
+
exports.default = _default;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.hasExperienceData = exports.getExpirationDate = exports.getDecisionProvider = exports.getActivityId = exports.createSaveStorage = exports.createRestoreStorage = exports.createInMemoryStorage = exports.clearLocalStorage = void 0;
|
|
4
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
5
|
+
/*
|
|
6
|
+
Copyright 2023 Adobe. All rights reserved.
|
|
7
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
9
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
12
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
13
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
|
+
governing permissions and limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
var createRestoreStorage = function createRestoreStorage(storage, storageKey) {
|
|
18
|
+
return function (defaultValue) {
|
|
19
|
+
var stored = storage.getItem(storageKey);
|
|
20
|
+
if (!stored) {
|
|
21
|
+
return defaultValue;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
return JSON.parse(stored);
|
|
25
|
+
} catch (e) {
|
|
26
|
+
return defaultValue;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
exports.createRestoreStorage = createRestoreStorage;
|
|
31
|
+
var createSaveStorage = function createSaveStorage(storage, storageKey) {
|
|
32
|
+
var prepareFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (value) {
|
|
33
|
+
return value;
|
|
34
|
+
};
|
|
35
|
+
return function (value) {
|
|
36
|
+
storage.setItem(storageKey, JSON.stringify(prepareFn(value)));
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
exports.createSaveStorage = createSaveStorage;
|
|
40
|
+
var getExpirationDate = function getExpirationDate(retentionPeriod) {
|
|
41
|
+
var expirationDate = new Date();
|
|
42
|
+
expirationDate.setDate(expirationDate.getDate() - retentionPeriod);
|
|
43
|
+
return expirationDate;
|
|
44
|
+
};
|
|
45
|
+
exports.getExpirationDate = getExpirationDate;
|
|
46
|
+
var getActivityId = function getActivityId(proposition) {
|
|
47
|
+
var _proposition$scopeDet = proposition.scopeDetails,
|
|
48
|
+
scopeDetails = _proposition$scopeDet === void 0 ? {} : _proposition$scopeDet;
|
|
49
|
+
var _scopeDetails$activit = scopeDetails.activity,
|
|
50
|
+
activity = _scopeDetails$activit === void 0 ? {} : _scopeDetails$activit;
|
|
51
|
+
var id = activity.id;
|
|
52
|
+
return id;
|
|
53
|
+
};
|
|
54
|
+
exports.getActivityId = getActivityId;
|
|
55
|
+
var createInMemoryStorage = function createInMemoryStorage() {
|
|
56
|
+
var inMemoryStorage = {};
|
|
57
|
+
return {
|
|
58
|
+
getItem: function getItem(key) {
|
|
59
|
+
return key in inMemoryStorage ? inMemoryStorage[key] : null;
|
|
60
|
+
},
|
|
61
|
+
setItem: function setItem(key, value) {
|
|
62
|
+
inMemoryStorage[key] = value;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
exports.createInMemoryStorage = createInMemoryStorage;
|
|
67
|
+
var clearLocalStorage = function clearLocalStorage(storage) {
|
|
68
|
+
storage.clear();
|
|
69
|
+
};
|
|
70
|
+
exports.clearLocalStorage = clearLocalStorage;
|
|
71
|
+
var hasExperienceData = function hasExperienceData(xdm) {
|
|
72
|
+
var _xdm$eventType = xdm.eventType,
|
|
73
|
+
eventType = _xdm$eventType === void 0 ? "" : _xdm$eventType,
|
|
74
|
+
_experience = xdm._experience;
|
|
75
|
+
if (!eventType || eventType === "") {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
if (!_experience || _typeof(_experience) !== "object") {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
return true;
|
|
82
|
+
};
|
|
83
|
+
exports.hasExperienceData = hasExperienceData;
|
|
84
|
+
var getDecisionProvider = function getDecisionProvider(proposition) {
|
|
85
|
+
var _proposition$scopeDet2 = proposition.scopeDetails,
|
|
86
|
+
scopeDetails = _proposition$scopeDet2 === void 0 ? {} : _proposition$scopeDet2;
|
|
87
|
+
var decisionProvider = scopeDetails.decisionProvider;
|
|
88
|
+
return decisionProvider;
|
|
89
|
+
};
|
|
90
|
+
exports.getDecisionProvider = getDecisionProvider;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.default = void 0;
|
|
4
|
+
var _createPreprocessors = require("./createPreprocessors");
|
|
5
|
+
var _utils = require("../../utils");
|
|
6
|
+
/*
|
|
7
|
+
Copyright 2023 Adobe. All rights reserved.
|
|
8
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
10
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
|
|
12
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
13
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
14
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
15
|
+
governing permissions and limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
var _default = function _default(_ref) {
|
|
18
|
+
var modules = _ref.modules,
|
|
19
|
+
_ref$preprocessors = _ref.preprocessors,
|
|
20
|
+
preprocessors = _ref$preprocessors === void 0 ? (0, _createPreprocessors.default)() : _ref$preprocessors,
|
|
21
|
+
logger = _ref.logger;
|
|
22
|
+
var logActionError = function logActionError(action, error) {
|
|
23
|
+
if (logger.enabled) {
|
|
24
|
+
var details = JSON.stringify(action);
|
|
25
|
+
var message = error.message,
|
|
26
|
+
stack = error.stack;
|
|
27
|
+
var errorMessage = "Failed to execute action " + details + ". " + message + " " + (stack ? "\n " + stack : "");
|
|
28
|
+
logger.warn(errorMessage);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
var logActionCompleted = function logActionCompleted(action) {
|
|
32
|
+
if (logger.enabled) {
|
|
33
|
+
var details = JSON.stringify(action);
|
|
34
|
+
logger.info("Action " + details + " executed.");
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var getExecuteAction = function getExecuteAction(schema, type) {
|
|
38
|
+
if (!modules[schema] || !modules[schema][type]) {
|
|
39
|
+
return function () {
|
|
40
|
+
return Promise.reject(new Error("Action \"" + type + "\" not found for schema \"" + schema + "\""));
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return modules[schema][type];
|
|
44
|
+
};
|
|
45
|
+
var applyPreprocessors = function applyPreprocessors(action) {
|
|
46
|
+
var schema = action.schema;
|
|
47
|
+
var preprocessorsList = preprocessors[schema];
|
|
48
|
+
if (!schema || !(preprocessorsList instanceof Array) || preprocessorsList.length === 0) {
|
|
49
|
+
return action;
|
|
50
|
+
}
|
|
51
|
+
return preprocessorsList.reduce(function (processed, fn) {
|
|
52
|
+
return (0, _utils.assign)(processed, fn(processed));
|
|
53
|
+
}, action);
|
|
54
|
+
};
|
|
55
|
+
var executeAction = function executeAction(action) {
|
|
56
|
+
var processedAction = applyPreprocessors(action);
|
|
57
|
+
var type = processedAction.type,
|
|
58
|
+
schema = processedAction.schema;
|
|
59
|
+
var execute = getExecuteAction(schema, type);
|
|
60
|
+
return execute(processedAction).then(function (result) {
|
|
61
|
+
logActionCompleted(processedAction);
|
|
62
|
+
return result;
|
|
63
|
+
}).catch(function (error) {
|
|
64
|
+
logActionError(processedAction, error);
|
|
65
|
+
throw error;
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
return {
|
|
69
|
+
executeAction: executeAction
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
exports.default = _default;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
4
|
var _utils = require("../../utils");
|
|
5
|
-
var _schema = require("
|
|
5
|
+
var _schema = require("../../constants/schema");
|
|
6
6
|
var _pageWideScope = require("../../constants/pageWideScope");
|
|
7
7
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
8
8
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -23,7 +23,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
23
23
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
24
24
|
governing permissions and limitations under the License.
|
|
25
25
|
*/
|
|
26
|
-
var SUPPORTED_SCHEMAS = [_schema.DOM_ACTION, _schema.HTML_CONTENT_ITEM];
|
|
26
|
+
var SUPPORTED_SCHEMAS = [_schema.DOM_ACTION, _schema.HTML_CONTENT_ITEM, _schema.MESSAGE_IN_APP];
|
|
27
27
|
var _default = function _default(_ref) {
|
|
28
28
|
var processPropositions = _ref.processPropositions,
|
|
29
29
|
createProposition = _ref.createProposition,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
|
-
var _eventType = require("
|
|
5
|
-
var _propositionEventType = require("
|
|
4
|
+
var _eventType = require("../../constants/eventType");
|
|
5
|
+
var _propositionEventType = require("../../constants/propositionEventType");
|
|
6
6
|
var _utils = require("../../utils");
|
|
7
7
|
/*
|
|
8
8
|
Copyright 2020 Adobe. All rights reserved.
|
|
@@ -22,12 +22,17 @@ var _default = function _default(_ref) {
|
|
|
22
22
|
return function (_ref2) {
|
|
23
23
|
var _ref2$decisionsMeta = _ref2.decisionsMeta,
|
|
24
24
|
decisionsMeta = _ref2$decisionsMeta === void 0 ? [] : _ref2$decisionsMeta,
|
|
25
|
+
propositionAction = _ref2.propositionAction,
|
|
25
26
|
_ref2$documentMayUnlo = _ref2.documentMayUnload,
|
|
26
27
|
documentMayUnload = _ref2$documentMayUnlo === void 0 ? false : _ref2$documentMayUnlo,
|
|
28
|
+
_ref2$eventType = _ref2.eventType,
|
|
29
|
+
eventType = _ref2$eventType === void 0 ? _eventType.DISPLAY : _ref2$eventType,
|
|
30
|
+
_ref2$propositionEven = _ref2.propositionEventTypes,
|
|
31
|
+
propositionEventTypes = _ref2$propositionEven === void 0 ? [(0, _propositionEventType.getPropositionEventType)(eventType)] : _ref2$propositionEven,
|
|
27
32
|
viewName = _ref2.viewName;
|
|
28
33
|
var event = eventManager.createEvent();
|
|
29
34
|
var data = {
|
|
30
|
-
eventType:
|
|
35
|
+
eventType: eventType
|
|
31
36
|
};
|
|
32
37
|
if (viewName) {
|
|
33
38
|
data.web = {
|
|
@@ -37,7 +42,7 @@ var _default = function _default(_ref) {
|
|
|
37
42
|
};
|
|
38
43
|
}
|
|
39
44
|
if ((0, _utils.isNonEmptyArray)(decisionsMeta)) {
|
|
40
|
-
mergeDecisionsMeta(event, decisionsMeta,
|
|
45
|
+
mergeDecisionsMeta(event, decisionsMeta, propositionEventTypes, propositionAction);
|
|
41
46
|
}
|
|
42
47
|
event.mergeXdm(data);
|
|
43
48
|
if (documentMayUnload) {
|
|
@@ -4,8 +4,8 @@ exports.default = void 0;
|
|
|
4
4
|
var _utils = require("../../utils");
|
|
5
5
|
var _createPersonalizationDetails = require("./createPersonalizationDetails");
|
|
6
6
|
var _loggerMessage = require("./constants/loggerMessage");
|
|
7
|
+
var _propositionEventType = require("../../constants/propositionEventType");
|
|
7
8
|
var _validateApplyPropositionsOptions = require("./validateApplyPropositionsOptions");
|
|
8
|
-
var _propositionEventType = require("./constants/propositionEventType");
|
|
9
9
|
/*
|
|
10
10
|
Copyright 2020 Adobe. All rights reserved.
|
|
11
11
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -30,9 +30,11 @@ var _default = function _default(_ref) {
|
|
|
30
30
|
applyPropositions = _ref.applyPropositions,
|
|
31
31
|
setTargetMigration = _ref.setTargetMigration,
|
|
32
32
|
mergeDecisionsMeta = _ref.mergeDecisionsMeta,
|
|
33
|
-
renderedPropositions = _ref.renderedPropositions
|
|
33
|
+
renderedPropositions = _ref.renderedPropositions,
|
|
34
|
+
onDecisionHandler = _ref.onDecisionHandler;
|
|
34
35
|
return {
|
|
35
36
|
lifecycle: {
|
|
37
|
+
onDecision: onDecisionHandler,
|
|
36
38
|
onBeforeRequest: function onBeforeRequest(_ref2) {
|
|
37
39
|
var request = _ref2.request;
|
|
38
40
|
setTargetMigration(request);
|
|
@@ -111,7 +113,7 @@ var _default = function _default(_ref) {
|
|
|
111
113
|
return dms;
|
|
112
114
|
});
|
|
113
115
|
if ((0, _utils.isNonEmptyArray)(decisionsMeta)) {
|
|
114
|
-
mergeDecisionsMeta(event, decisionsMeta, _propositionEventType.PropositionEventType.DISPLAY);
|
|
116
|
+
mergeDecisionsMeta(event, decisionsMeta, [_propositionEventType.PropositionEventType.DISPLAY]);
|
|
115
117
|
}
|
|
116
118
|
});
|
|
117
119
|
},
|
|
@@ -24,10 +24,9 @@ var _default = function _default(_ref) {
|
|
|
24
24
|
showContainers = _ref.showContainers,
|
|
25
25
|
hideContainers = _ref.hideContainers,
|
|
26
26
|
mergeQuery = _ref.mergeQuery,
|
|
27
|
-
collect = _ref.collect,
|
|
28
27
|
processPropositions = _ref.processPropositions,
|
|
29
28
|
createProposition = _ref.createProposition,
|
|
30
|
-
|
|
29
|
+
notificationHandler = _ref.notificationHandler;
|
|
31
30
|
return function (_ref2) {
|
|
32
31
|
var cacheUpdate = _ref2.cacheUpdate,
|
|
33
32
|
personalizationDetails = _ref2.personalizationDetails,
|
|
@@ -39,21 +38,7 @@ var _default = function _default(_ref) {
|
|
|
39
38
|
showContainers();
|
|
40
39
|
}
|
|
41
40
|
mergeQuery(event, personalizationDetails.createQueryDetails());
|
|
42
|
-
var handleNotifications;
|
|
43
|
-
if (personalizationDetails.isSendDisplayEvent()) {
|
|
44
|
-
handleNotifications = function handleNotifications(decisionsMeta) {
|
|
45
|
-
if (decisionsMeta.length > 0) {
|
|
46
|
-
collect({
|
|
47
|
-
decisionsMeta: decisionsMeta,
|
|
48
|
-
viewName: personalizationDetails.getViewName()
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
} else {
|
|
53
|
-
var renderedPropositionsDeferred = (0, _utils.defer)();
|
|
54
|
-
renderedPropositions.concat(renderedPropositionsDeferred.promise);
|
|
55
|
-
handleNotifications = renderedPropositionsDeferred.resolve;
|
|
56
|
-
}
|
|
41
|
+
var handleNotifications = notificationHandler(personalizationDetails.isSendDisplayEvent(), personalizationDetails.getViewName());
|
|
57
42
|
onResponse(function (_ref3) {
|
|
58
43
|
var response = _ref3.response;
|
|
59
44
|
var handles = response.getPayloadsByType(DECISIONS_HANDLE);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.default = void 0;
|
|
4
|
+
var _utils = require("../../utils");
|
|
5
|
+
/*
|
|
6
|
+
Copyright 2023 Adobe. All rights reserved.
|
|
7
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
9
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
12
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
13
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
|
+
governing permissions and limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
var _default = function _default(collect, renderedPropositions) {
|
|
17
|
+
return function (sendDisplayEvent, viewName) {
|
|
18
|
+
if (!sendDisplayEvent) {
|
|
19
|
+
var renderedPropositionsDeferred = (0, _utils.defer)();
|
|
20
|
+
renderedPropositions.concat(renderedPropositionsDeferred.promise);
|
|
21
|
+
return renderedPropositionsDeferred.resolve;
|
|
22
|
+
}
|
|
23
|
+
return function (decisionsMeta) {
|
|
24
|
+
if (decisionsMeta.length > 0) {
|
|
25
|
+
collect({
|
|
26
|
+
decisionsMeta: decisionsMeta,
|
|
27
|
+
viewName: viewName
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
exports.default = _default;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
4
|
var _utils = require("../../utils");
|
|
5
|
-
var _eventType = require("
|
|
6
|
-
var _propositionEventType = require("
|
|
5
|
+
var _eventType = require("../../constants/eventType");
|
|
6
|
+
var _propositionEventType = require("../../constants/propositionEventType");
|
|
7
7
|
/*
|
|
8
8
|
Copyright 2020 Adobe. All rights reserved.
|
|
9
9
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -42,7 +42,9 @@ var _default = function _default(_ref) {
|
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
event.mergeXdm(xdm);
|
|
45
|
-
mergeDecisionsMeta(event, decisionsMeta, _propositionEventType.PropositionEventType.INTERACT, eventLabel
|
|
45
|
+
mergeDecisionsMeta(event, decisionsMeta, [_propositionEventType.PropositionEventType.INTERACT], eventLabel ? {
|
|
46
|
+
label: eventLabel
|
|
47
|
+
} : undefined);
|
|
46
48
|
}
|
|
47
49
|
}
|
|
48
50
|
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.default = void 0;
|
|
4
|
+
/*
|
|
5
|
+
Copyright 2023 Adobe. All rights reserved.
|
|
6
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
8
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
11
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
12
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
13
|
+
governing permissions and limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
var _default = function _default(_ref) {
|
|
16
|
+
var processPropositions = _ref.processPropositions,
|
|
17
|
+
createProposition = _ref.createProposition,
|
|
18
|
+
notificationHandler = _ref.notificationHandler;
|
|
19
|
+
return function (_ref2) {
|
|
20
|
+
var renderDecisions = _ref2.renderDecisions,
|
|
21
|
+
propositions = _ref2.propositions,
|
|
22
|
+
event = _ref2.event,
|
|
23
|
+
_ref2$personalization = _ref2.personalization,
|
|
24
|
+
personalization = _ref2$personalization === void 0 ? {} : _ref2$personalization;
|
|
25
|
+
if (!renderDecisions) {
|
|
26
|
+
return Promise.resolve();
|
|
27
|
+
}
|
|
28
|
+
var _personalization$send = personalization.sendDisplayEvent,
|
|
29
|
+
sendDisplayEvent = _personalization$send === void 0 ? true : _personalization$send;
|
|
30
|
+
var viewName = event ? event.getViewName() : undefined;
|
|
31
|
+
var propositionsToExecute = propositions.map(function (proposition) {
|
|
32
|
+
return createProposition(proposition, true);
|
|
33
|
+
});
|
|
34
|
+
var _processPropositions = processPropositions(propositionsToExecute),
|
|
35
|
+
render = _processPropositions.render,
|
|
36
|
+
returnedPropositions = _processPropositions.returnedPropositions;
|
|
37
|
+
var handleNotifications = notificationHandler(sendDisplayEvent, viewName);
|
|
38
|
+
render().then(handleNotifications);
|
|
39
|
+
return Promise.resolve({
|
|
40
|
+
propositions: returnedPropositions
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
exports.default = _default;
|