@adobe/alloy 2.29.0-beta.3 → 2.29.0-beta.5
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/libEs5/components/Advertising/handlers/sendAdConversion.js +1 -1
- package/libEs5/constants/libraryVersion.js +1 -1
- package/libEs5/utils/request/createRequestPayload.js +53 -2
- package/libEs6/components/Advertising/handlers/sendAdConversion.js +1 -1
- package/libEs6/constants/libraryVersion.js +1 -1
- package/libEs6/utils/request/createRequestPayload.js +52 -2
- package/package.json +2 -2
- package/types/components/Consent/createConsentRequestPayload.d.ts +1 -1
- package/types/components/Identity/getIdentity/createIdentityRequestPayload.d.ts +1 -1
- package/types/utils/request/createDataCollectionRequestPayload.d.ts +1 -1
- package/types/utils/request/createRequestPayload.d.ts +1 -1
- package/types/utils/request/createRequestPayload.d.ts.map +1 -1
|
@@ -14,4 +14,4 @@ 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 = exports.default = "2.29.0-beta.
|
|
17
|
+
var _default = exports.default = "2.29.0-beta.5";
|
|
@@ -13,6 +13,57 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
13
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
14
|
governing permissions and limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* createMerger creates a function that does a deep merge. Example:
|
|
19
|
+
* ```js
|
|
20
|
+
* payload.mergeConfigOverride({
|
|
21
|
+
* com_adobe_analytics: {
|
|
22
|
+
* reportSuites: ["reportSuite1"],
|
|
23
|
+
* },
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* payload.mergeConfigOverride({
|
|
27
|
+
* com_adobe_analytics: {
|
|
28
|
+
* enabled: false,
|
|
29
|
+
* },
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
*
|
|
33
|
+
* // payload.meta.configOverrides is now:
|
|
34
|
+
* // {
|
|
35
|
+
* // com_adobe_analytics: {
|
|
36
|
+
* // enabled: false,
|
|
37
|
+
* // reportSuites: ["reportSuite1"],
|
|
38
|
+
* // },
|
|
39
|
+
* // }
|
|
40
|
+
* ```
|
|
41
|
+
* however, we need the result to be:
|
|
42
|
+
* ```js
|
|
43
|
+
* // {
|
|
44
|
+
* // com_adobe_analytics: {
|
|
45
|
+
* // enabled: false,
|
|
46
|
+
* // },
|
|
47
|
+
* // }
|
|
48
|
+
* ```
|
|
49
|
+
* aka a shallow merge, where the second object overwrites the first.
|
|
50
|
+
* This is because order matters and we don't want to send reportSuites when something is
|
|
51
|
+
* disabled.
|
|
52
|
+
* This function does that.
|
|
53
|
+
*
|
|
54
|
+
* @param {Object} content
|
|
55
|
+
* @param {string} key
|
|
56
|
+
* @returns {(updates: Object) => void}
|
|
57
|
+
*/
|
|
58
|
+
const createMergeConfigOverride = (content, key) => updates => {
|
|
59
|
+
const propertyPath = key.split(".");
|
|
60
|
+
const hostObjectForUpdates = propertyPath.reduce((obj, propertyName) => {
|
|
61
|
+
obj[propertyName] = obj[propertyName] || {};
|
|
62
|
+
return obj[propertyName];
|
|
63
|
+
}, content);
|
|
64
|
+
Object.assign(hostObjectForUpdates, updates);
|
|
65
|
+
};
|
|
66
|
+
|
|
16
67
|
// This provides the base functionality that all types of
|
|
17
68
|
// request payloads share.
|
|
18
69
|
var _default = options => {
|
|
@@ -21,12 +72,12 @@ var _default = options => {
|
|
|
21
72
|
addIdentity,
|
|
22
73
|
hasIdentity
|
|
23
74
|
} = options;
|
|
24
|
-
const
|
|
75
|
+
const mergeConfigOverrides = createMergeConfigOverride(content, "meta.configOverrides");
|
|
25
76
|
return {
|
|
26
77
|
mergeMeta: (0, _index.createMerger)(content, "meta"),
|
|
27
78
|
mergeState: (0, _index.createMerger)(content, "meta.state"),
|
|
28
79
|
mergeQuery: (0, _index.createMerger)(content, "query"),
|
|
29
|
-
mergeConfigOverride: updates =>
|
|
80
|
+
mergeConfigOverride: updates => mergeConfigOverrides((0, _index.prepareConfigOverridesForEdge)(updates)),
|
|
30
81
|
addIdentity,
|
|
31
82
|
hasIdentity,
|
|
32
83
|
toJSON() {
|
|
@@ -12,6 +12,56 @@ governing permissions and limitations under the License.
|
|
|
12
12
|
|
|
13
13
|
import { createMerger, prepareConfigOverridesForEdge } from "../index.js";
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
* createMerger creates a function that does a deep merge. Example:
|
|
17
|
+
* ```js
|
|
18
|
+
* payload.mergeConfigOverride({
|
|
19
|
+
* com_adobe_analytics: {
|
|
20
|
+
* reportSuites: ["reportSuite1"],
|
|
21
|
+
* },
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* payload.mergeConfigOverride({
|
|
25
|
+
* com_adobe_analytics: {
|
|
26
|
+
* enabled: false,
|
|
27
|
+
* },
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
*
|
|
31
|
+
* // payload.meta.configOverrides is now:
|
|
32
|
+
* // {
|
|
33
|
+
* // com_adobe_analytics: {
|
|
34
|
+
* // enabled: false,
|
|
35
|
+
* // reportSuites: ["reportSuite1"],
|
|
36
|
+
* // },
|
|
37
|
+
* // }
|
|
38
|
+
* ```
|
|
39
|
+
* however, we need the result to be:
|
|
40
|
+
* ```js
|
|
41
|
+
* // {
|
|
42
|
+
* // com_adobe_analytics: {
|
|
43
|
+
* // enabled: false,
|
|
44
|
+
* // },
|
|
45
|
+
* // }
|
|
46
|
+
* ```
|
|
47
|
+
* aka a shallow merge, where the second object overwrites the first.
|
|
48
|
+
* This is because order matters and we don't want to send reportSuites when something is
|
|
49
|
+
* disabled.
|
|
50
|
+
* This function does that.
|
|
51
|
+
*
|
|
52
|
+
* @param {Object} content
|
|
53
|
+
* @param {string} key
|
|
54
|
+
* @returns {(updates: Object) => void}
|
|
55
|
+
*/
|
|
56
|
+
const createMergeConfigOverride = (content, key) => updates => {
|
|
57
|
+
const propertyPath = key.split(".");
|
|
58
|
+
const hostObjectForUpdates = propertyPath.reduce((obj, propertyName) => {
|
|
59
|
+
obj[propertyName] = obj[propertyName] || {};
|
|
60
|
+
return obj[propertyName];
|
|
61
|
+
}, content);
|
|
62
|
+
Object.assign(hostObjectForUpdates, updates);
|
|
63
|
+
};
|
|
64
|
+
|
|
15
65
|
// This provides the base functionality that all types of
|
|
16
66
|
// request payloads share.
|
|
17
67
|
export default options => {
|
|
@@ -20,12 +70,12 @@ export default options => {
|
|
|
20
70
|
addIdentity,
|
|
21
71
|
hasIdentity
|
|
22
72
|
} = options;
|
|
23
|
-
const
|
|
73
|
+
const mergeConfigOverrides = createMergeConfigOverride(content, "meta.configOverrides");
|
|
24
74
|
return {
|
|
25
75
|
mergeMeta: createMerger(content, "meta"),
|
|
26
76
|
mergeState: createMerger(content, "meta.state"),
|
|
27
77
|
mergeQuery: createMerger(content, "query"),
|
|
28
|
-
mergeConfigOverride: updates =>
|
|
78
|
+
mergeConfigOverride: updates => mergeConfigOverrides(prepareConfigOverridesForEdge(updates)),
|
|
29
79
|
addIdentity,
|
|
30
80
|
hasIdentity,
|
|
31
81
|
toJSON() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adobe/alloy",
|
|
3
|
-
"version": "2.29.0-beta.
|
|
3
|
+
"version": "2.29.0-beta.5",
|
|
4
4
|
"description": "Adobe Experience Platform Web SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "libEs5/index.js",
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"uuid": "^11.1.0"
|
|
95
95
|
},
|
|
96
96
|
"devDependencies": {
|
|
97
|
-
"@adobe/alloy": "^2.29.0-beta.
|
|
97
|
+
"@adobe/alloy": "^2.29.0-beta.4",
|
|
98
98
|
"@babel/cli": "^7.27.2",
|
|
99
99
|
"@babel/plugin-transform-modules-commonjs": "^7.27.1",
|
|
100
100
|
"@babel/plugin-transform-runtime": "^7.27.4",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRequestPayload.d.ts","sourceRoot":"","sources":["../../../src/utils/request/createRequestPayload.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createRequestPayload.d.ts","sourceRoot":"","sources":["../../../src/utils/request/createRequestPayload.js"],"names":[],"mappings":"AAmEe;;;;;;;;EAkBd"}
|