@adobe/alloy 2.19.0-beta.18 → 2.19.0-beta.19

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.
Files changed (23) hide show
  1. package/libEs5/components/DecisioningEngine/createApplyResponse.js +7 -5
  2. package/libEs5/components/DecisioningEngine/createEventRegistry.js +4 -0
  3. package/libEs5/components/DecisioningEngine/createOnResponseHandler.js +8 -5
  4. package/libEs5/components/DecisioningEngine/index.js +1 -0
  5. package/libEs5/components/DecisioningEngine/utils.js +9 -2
  6. package/libEs5/components/Personalization/createFetchDataHandler.js +2 -17
  7. package/libEs5/components/Personalization/createNotificationHandler.js +33 -0
  8. package/libEs5/components/Personalization/createOnDecisionHandler.js +11 -12
  9. package/libEs5/components/Personalization/index.js +4 -3
  10. package/libEs5/constants/decisionProvider.js +16 -0
  11. package/libEs5/constants/libraryVersion.js +1 -1
  12. package/libEs6/components/DecisioningEngine/createApplyResponse.js +6 -4
  13. package/libEs6/components/DecisioningEngine/createEventRegistry.js +5 -1
  14. package/libEs6/components/DecisioningEngine/createOnResponseHandler.js +8 -5
  15. package/libEs6/components/DecisioningEngine/index.js +1 -0
  16. package/libEs6/components/DecisioningEngine/utils.js +9 -0
  17. package/libEs6/components/Personalization/createFetchDataHandler.js +3 -18
  18. package/libEs6/components/Personalization/createNotificationHandler.js +29 -0
  19. package/libEs6/components/Personalization/createOnDecisionHandler.js +10 -11
  20. package/libEs6/components/Personalization/index.js +4 -3
  21. package/libEs6/constants/decisionProvider.js +12 -0
  22. package/libEs6/constants/libraryVersion.js +1 -1
  23. package/package.json +1 -1
@@ -14,16 +14,18 @@ governing permissions and limitations under the License.
14
14
  */
15
15
  var _default = function _default(lifecycle) {
16
16
  return function (_ref) {
17
- var viewName = _ref.viewName,
18
- _ref$renderDecisions = _ref.renderDecisions,
17
+ var _ref$renderDecisions = _ref.renderDecisions,
19
18
  renderDecisions = _ref$renderDecisions === void 0 ? false : _ref$renderDecisions,
20
19
  _ref$propositions = _ref.propositions,
21
- propositions = _ref$propositions === void 0 ? [] : _ref$propositions;
20
+ propositions = _ref$propositions === void 0 ? [] : _ref$propositions,
21
+ event = _ref.event,
22
+ personalization = _ref.personalization;
22
23
  if (propositions.length > 0 && lifecycle) {
23
24
  lifecycle.onDecision({
24
25
  renderDecisions: renderDecisions,
25
- viewName: viewName,
26
- propositions: propositions
26
+ propositions: propositions,
27
+ event: event,
28
+ personalization: personalization
27
29
  });
28
30
  }
29
31
  return {
@@ -3,6 +3,7 @@
3
3
  exports.default = exports.createEventPruner = void 0;
4
4
  var _utils = require("./utils");
5
5
  var _eventType = require("../../constants/eventType");
6
+ var _decisionProvider = require("../../constants/decisionProvider");
6
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; }
7
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; }
8
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; } /*
@@ -103,6 +104,9 @@ var _default = function _default(_ref) {
103
104
  var action = propositionAction.id;
104
105
  propositionEventTypesList.filter(validPropositionEventType).forEach(function (propositionEventType) {
105
106
  propositions.forEach(function (proposition) {
107
+ if ((0, _utils.getDecisionProvider)(proposition) !== _decisionProvider.ADOBE_JOURNEY_OPTIMIZER) {
108
+ return;
109
+ }
106
110
  addEvent({}, propositionEventType, (0, _utils.getActivityId)(proposition), action);
107
111
  });
108
112
  });
@@ -21,22 +21,25 @@ var _default = function _default(_ref) {
21
21
  decisionProvider = _ref.decisionProvider,
22
22
  applyResponse = _ref.applyResponse,
23
23
  event = _ref.event,
24
+ personalization = _ref.personalization,
24
25
  decisionContext = _ref.decisionContext;
25
26
  var context = _objectSpread(_objectSpread({}, (0, _flattenObject.default)(event.getContent())), decisionContext);
26
- var viewName = event.getViewName();
27
27
  return function (_ref2) {
28
28
  var response = _ref2.response;
29
29
  decisionProvider.addPayloads(response.getPayloadsByType(_handle.PERSONALIZATION_DECISIONS_HANDLE));
30
30
 
31
31
  // only evaluate events that include a personalization query
32
32
  if (!event.hasQuery()) {
33
- return;
33
+ return {
34
+ propositions: []
35
+ };
34
36
  }
35
37
  var propositions = decisionProvider.evaluate(context);
36
- applyResponse({
37
- viewName: viewName,
38
+ return applyResponse({
38
39
  renderDecisions: renderDecisions,
39
- propositions: propositions
40
+ propositions: propositions,
41
+ event: event,
42
+ personalization: personalization
40
43
  });
41
44
  };
42
45
  };
@@ -84,6 +84,7 @@ var createDecisioningEngine = function createDecisioningEngine(_ref) {
84
84
  decisionProvider: decisionProvider,
85
85
  applyResponse: applyResponse,
86
86
  event: event,
87
+ personalization: personalization,
87
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))
88
89
  }));
89
90
  eventRegistry.addExperienceEdgeEvent(event);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- exports.hasExperienceData = exports.getExpirationDate = exports.getActivityId = exports.createSaveStorage = exports.createRestoreStorage = exports.createInMemoryStorage = exports.clearLocalStorage = void 0;
3
+ exports.hasExperienceData = exports.getExpirationDate = exports.getDecisionProvider = exports.getActivityId = exports.createSaveStorage = exports.createRestoreStorage = exports.createInMemoryStorage = exports.clearLocalStorage = void 0;
4
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
5
  /*
6
6
  Copyright 2023 Adobe. All rights reserved.
@@ -80,4 +80,11 @@ var hasExperienceData = function hasExperienceData(xdm) {
80
80
  }
81
81
  return true;
82
82
  };
83
- exports.hasExperienceData = hasExperienceData;
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;
@@ -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
- renderedPropositions = _ref.renderedPropositions;
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;
@@ -15,28 +15,27 @@ governing permissions and limitations under the License.
15
15
  var _default = function _default(_ref) {
16
16
  var processPropositions = _ref.processPropositions,
17
17
  createProposition = _ref.createProposition,
18
- collect = _ref.collect;
18
+ notificationHandler = _ref.notificationHandler;
19
19
  return function (_ref2) {
20
- var viewName = _ref2.viewName,
21
- renderDecisions = _ref2.renderDecisions,
22
- propositions = _ref2.propositions;
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;
23
25
  if (!renderDecisions) {
24
26
  return Promise.resolve();
25
27
  }
28
+ var _personalization$send = personalization.sendDisplayEvent,
29
+ sendDisplayEvent = _personalization$send === void 0 ? true : _personalization$send;
30
+ var viewName = event ? event.getViewName() : undefined;
26
31
  var propositionsToExecute = propositions.map(function (proposition) {
27
32
  return createProposition(proposition, true);
28
33
  });
29
34
  var _processPropositions = processPropositions(propositionsToExecute),
30
35
  render = _processPropositions.render,
31
36
  returnedPropositions = _processPropositions.returnedPropositions;
32
- render().then(function (decisionsMeta) {
33
- if (decisionsMeta.length > 0) {
34
- collect({
35
- decisionsMeta: decisionsMeta,
36
- viewName: viewName
37
- });
38
- }
39
- });
37
+ var handleNotifications = notificationHandler(sendDisplayEvent, viewName);
38
+ render().then(handleNotifications);
40
39
  return Promise.resolve({
41
40
  propositions: returnedPropositions
42
41
  });
@@ -33,6 +33,7 @@ var _createOnDecisionHandler = require("./createOnDecisionHandler");
33
33
  var _createProcessInAppMessage = require("./handlers/createProcessInAppMessage");
34
34
  var _initInAppMessageActionsModules = require("./in-app-message-actions/initInAppMessageActionsModules");
35
35
  var _createRedirect = require("./dom-actions/createRedirect");
36
+ var _createNotificationHandler = require("./createNotificationHandler");
36
37
  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; } /*
37
38
  Copyright 2019 Adobe. All rights reserved.
38
39
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -92,15 +93,15 @@ var createPersonalization = function createPersonalization(_ref) {
92
93
  logger: logger
93
94
  });
94
95
  var renderedPropositions = (0, _createAsyncArray.default)();
96
+ var notificationHandler = (0, _createNotificationHandler.default)(collect, renderedPropositions);
95
97
  var fetchDataHandler = (0, _createFetchDataHandler.default)({
96
98
  prehidingStyle: prehidingStyle,
97
99
  showContainers: _flicker.showContainers,
98
100
  hideContainers: _flicker.hideContainers,
99
101
  mergeQuery: _event.mergeQuery,
100
- collect: collect,
101
102
  processPropositions: processPropositions,
102
103
  createProposition: createProposition,
103
- renderedPropositions: renderedPropositions
104
+ notificationHandler: notificationHandler
104
105
  });
105
106
  var onClickHandler = (0, _createOnClickHandler.default)({
106
107
  mergeDecisionsMeta: _event.mergeDecisionsMeta,
@@ -124,7 +125,7 @@ var createPersonalization = function createPersonalization(_ref) {
124
125
  var onDecisionHandler = (0, _createOnDecisionHandler.default)({
125
126
  processPropositions: processPropositions,
126
127
  createProposition: createProposition,
127
- collect: collect
128
+ notificationHandler: notificationHandler
128
129
  });
129
130
  return (0, _createComponent.default)({
130
131
  getPageLocation: getPageLocation,
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ exports.ADOBE_JOURNEY_OPTIMIZER = 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 ADOBE_JOURNEY_OPTIMIZER = "AJO";
16
+ exports.ADOBE_JOURNEY_OPTIMIZER = ADOBE_JOURNEY_OPTIMIZER;
@@ -14,5 +14,5 @@ governing permissions and limitations under the License.
14
14
  */
15
15
  // The __VERSION__ keyword will be replace at alloy build time with the package.json version.
16
16
  // see babel-plugin-version
17
- var _default = "2.19.0-beta.18";
17
+ var _default = "2.19.0-beta.19";
18
18
  exports.default = _default;
@@ -11,15 +11,17 @@ governing permissions and limitations under the License.
11
11
  */
12
12
  export default (lifecycle => {
13
13
  return ({
14
- viewName,
15
14
  renderDecisions = false,
16
- propositions = []
15
+ propositions = [],
16
+ event,
17
+ personalization
17
18
  }) => {
18
19
  if (propositions.length > 0 && lifecycle) {
19
20
  lifecycle.onDecision({
20
21
  renderDecisions,
21
- viewName,
22
- propositions
22
+ propositions,
23
+ event,
24
+ personalization
23
25
  });
24
26
  }
25
27
  return {
@@ -9,8 +9,9 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
- import { createRestoreStorage, createSaveStorage, getExpirationDate, getActivityId, hasExperienceData } from "./utils";
12
+ import { createRestoreStorage, createSaveStorage, getExpirationDate, getActivityId, hasExperienceData, getDecisionProvider } from "./utils";
13
13
  import { EVENT_TYPE_TRUE } from "../../constants/eventType";
14
+ import { ADOBE_JOURNEY_OPTIMIZER } from "../../constants/decisionProvider";
14
15
  const STORAGE_KEY = "events";
15
16
  const MAX_EVENT_RECORDS = 1000;
16
17
  const RETENTION_PERIOD = 30;
@@ -96,6 +97,9 @@ export default (({
96
97
  } = propositionAction;
97
98
  propositionEventTypesList.filter(validPropositionEventType).forEach(propositionEventType => {
98
99
  propositions.forEach(proposition => {
100
+ if (getDecisionProvider(proposition) !== ADOBE_JOURNEY_OPTIMIZER) {
101
+ return;
102
+ }
99
103
  addEvent({}, propositionEventType, getActivityId(proposition), action);
100
104
  });
101
105
  });
@@ -16,13 +16,13 @@ export default (({
16
16
  decisionProvider,
17
17
  applyResponse,
18
18
  event,
19
+ personalization,
19
20
  decisionContext
20
21
  }) => {
21
22
  const context = {
22
23
  ...flattenObject(event.getContent()),
23
24
  ...decisionContext
24
25
  };
25
- const viewName = event.getViewName();
26
26
  return ({
27
27
  response
28
28
  }) => {
@@ -30,13 +30,16 @@ export default (({
30
30
 
31
31
  // only evaluate events that include a personalization query
32
32
  if (!event.hasQuery()) {
33
- return;
33
+ return {
34
+ propositions: []
35
+ };
34
36
  }
35
37
  const propositions = decisionProvider.evaluate(context);
36
- applyResponse({
37
- viewName,
38
+ return applyResponse({
38
39
  renderDecisions,
39
- propositions
40
+ propositions,
41
+ event,
42
+ personalization
40
43
  });
41
44
  };
42
45
  });
@@ -82,6 +82,7 @@ const createDecisioningEngine = ({
82
82
  decisionProvider,
83
83
  applyResponse,
84
84
  event,
85
+ personalization,
85
86
  decisionContext: contextProvider.getContext({
86
87
  [CONTEXT_KEY.TYPE]: CONTEXT_EVENT_TYPE.EDGE,
87
88
  [CONTEXT_KEY.SOURCE]: CONTEXT_EVENT_SOURCE.REQUEST,
@@ -71,4 +71,13 @@ export const hasExperienceData = xdm => {
71
71
  return false;
72
72
  }
73
73
  return true;
74
+ };
75
+ export const getDecisionProvider = proposition => {
76
+ const {
77
+ scopeDetails = {}
78
+ } = proposition;
79
+ const {
80
+ decisionProvider
81
+ } = scopeDetails;
82
+ return decisionProvider;
74
83
  };
@@ -9,17 +9,16 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
- import { defer, groupBy } from "../../utils";
12
+ import { groupBy } from "../../utils";
13
13
  const DECISIONS_HANDLE = "personalization:decisions";
14
14
  export default (({
15
15
  prehidingStyle,
16
16
  showContainers,
17
17
  hideContainers,
18
18
  mergeQuery,
19
- collect,
20
19
  processPropositions,
21
20
  createProposition,
22
- renderedPropositions
21
+ notificationHandler
23
22
  }) => {
24
23
  return ({
25
24
  cacheUpdate,
@@ -33,21 +32,7 @@ export default (({
33
32
  showContainers();
34
33
  }
35
34
  mergeQuery(event, personalizationDetails.createQueryDetails());
36
- let handleNotifications;
37
- if (personalizationDetails.isSendDisplayEvent()) {
38
- handleNotifications = decisionsMeta => {
39
- if (decisionsMeta.length > 0) {
40
- collect({
41
- decisionsMeta,
42
- viewName: personalizationDetails.getViewName()
43
- });
44
- }
45
- };
46
- } else {
47
- const renderedPropositionsDeferred = defer();
48
- renderedPropositions.concat(renderedPropositionsDeferred.promise);
49
- handleNotifications = renderedPropositionsDeferred.resolve;
50
- }
35
+ const handleNotifications = notificationHandler(personalizationDetails.isSendDisplayEvent(), personalizationDetails.getViewName());
51
36
  onResponse(({
52
37
  response
53
38
  }) => {
@@ -0,0 +1,29 @@
1
+ /*
2
+ Copyright 2023 Adobe. All rights reserved.
3
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License. You may obtain a copy
5
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ Unless required by applicable law or agreed to in writing, software distributed under
8
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ OF ANY KIND, either express or implied. See the License for the specific language
10
+ governing permissions and limitations under the License.
11
+ */
12
+ import { defer } from "../../utils";
13
+ export default ((collect, renderedPropositions) => {
14
+ return (sendDisplayEvent, viewName) => {
15
+ if (!sendDisplayEvent) {
16
+ const renderedPropositionsDeferred = defer();
17
+ renderedPropositions.concat(renderedPropositionsDeferred.promise);
18
+ return renderedPropositionsDeferred.resolve;
19
+ }
20
+ return decisionsMeta => {
21
+ if (decisionsMeta.length > 0) {
22
+ collect({
23
+ decisionsMeta,
24
+ viewName
25
+ });
26
+ }
27
+ };
28
+ };
29
+ });
@@ -13,29 +13,28 @@ governing permissions and limitations under the License.
13
13
  export default (({
14
14
  processPropositions,
15
15
  createProposition,
16
- collect
16
+ notificationHandler
17
17
  }) => {
18
18
  return ({
19
- viewName,
20
19
  renderDecisions,
21
- propositions
20
+ propositions,
21
+ event,
22
+ personalization = {}
22
23
  }) => {
23
24
  if (!renderDecisions) {
24
25
  return Promise.resolve();
25
26
  }
27
+ const {
28
+ sendDisplayEvent = true
29
+ } = personalization;
30
+ const viewName = event ? event.getViewName() : undefined;
26
31
  const propositionsToExecute = propositions.map(proposition => createProposition(proposition, true));
27
32
  const {
28
33
  render,
29
34
  returnedPropositions
30
35
  } = processPropositions(propositionsToExecute);
31
- render().then(decisionsMeta => {
32
- if (decisionsMeta.length > 0) {
33
- collect({
34
- decisionsMeta,
35
- viewName
36
- });
37
- }
38
- });
36
+ const handleNotifications = notificationHandler(sendDisplayEvent, viewName);
37
+ render().then(handleNotifications);
39
38
  return Promise.resolve({
40
39
  propositions: returnedPropositions
41
40
  });
@@ -42,6 +42,7 @@ import createOnDecisionHandler from "./createOnDecisionHandler";
42
42
  import createProcessInAppMessage from "./handlers/createProcessInAppMessage";
43
43
  import initInAppMessageActionsModules from "./in-app-message-actions/initInAppMessageActionsModules";
44
44
  import createRedirect from "./dom-actions/createRedirect";
45
+ import createNotificationHandler from "./createNotificationHandler";
45
46
  const createPersonalization = ({
46
47
  config,
47
48
  logger,
@@ -99,15 +100,15 @@ const createPersonalization = ({
99
100
  logger
100
101
  });
101
102
  const renderedPropositions = createAsyncArray();
103
+ const notificationHandler = createNotificationHandler(collect, renderedPropositions);
102
104
  const fetchDataHandler = createFetchDataHandler({
103
105
  prehidingStyle,
104
106
  showContainers,
105
107
  hideContainers,
106
108
  mergeQuery,
107
- collect,
108
109
  processPropositions,
109
110
  createProposition,
110
- renderedPropositions
111
+ notificationHandler
111
112
  });
112
113
  const onClickHandler = createOnClickHandler({
113
114
  mergeDecisionsMeta,
@@ -131,7 +132,7 @@ const createPersonalization = ({
131
132
  const onDecisionHandler = createOnDecisionHandler({
132
133
  processPropositions,
133
134
  createProposition,
134
- collect
135
+ notificationHandler
135
136
  });
136
137
  return createComponent({
137
138
  getPageLocation,
@@ -0,0 +1,12 @@
1
+ /*
2
+ Copyright 2023 Adobe. All rights reserved.
3
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License. You may obtain a copy
5
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ Unless required by applicable law or agreed to in writing, software distributed under
8
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ OF ANY KIND, either express or implied. See the License for the specific language
10
+ governing permissions and limitations under the License.
11
+ */
12
+ export const ADOBE_JOURNEY_OPTIMIZER = "AJO";
@@ -13,4 +13,4 @@ governing permissions and limitations under the License.
13
13
  // The __VERSION__ keyword will be replace at alloy build time with the package.json version.
14
14
  // see babel-plugin-version
15
15
 
16
- export default "2.19.0-beta.18";
16
+ export default "2.19.0-beta.19";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/alloy",
3
- "version": "2.19.0-beta.18",
3
+ "version": "2.19.0-beta.19",
4
4
  "description": "Adobe Experience Platform Web SDK",
5
5
  "main": "libEs5/index.js",
6
6
  "module": "libEs6/index.js",