@blotoutio/edgetag-sdk-browser 0.6.1 → 0.6.2
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/index.js +26 -18
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -162,8 +162,9 @@
|
|
|
162
162
|
};
|
|
163
163
|
|
|
164
164
|
let consentDisabled = false;
|
|
165
|
-
|
|
165
|
+
const providers = {};
|
|
166
166
|
const setPreferences = (preferences) => {
|
|
167
|
+
var _a;
|
|
167
168
|
if (!preferences) {
|
|
168
169
|
return false;
|
|
169
170
|
}
|
|
@@ -172,9 +173,19 @@
|
|
|
172
173
|
return false;
|
|
173
174
|
}
|
|
174
175
|
consentDisabled = !!preferences.disableConsentCheck;
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
176
|
+
(_a = preferences.providers) === null || _a === void 0 ? void 0 : _a.forEach((provider) => {
|
|
177
|
+
if (!provider.name) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
providers[provider.name] = provider;
|
|
181
|
+
});
|
|
182
|
+
if (window && Array.isArray(window.edgetagProviders)) {
|
|
183
|
+
window.edgetagProviders.forEach((provider) => {
|
|
184
|
+
if (!provider.name) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
providers[provider.name] = provider;
|
|
188
|
+
});
|
|
178
189
|
}
|
|
179
190
|
setUrl(preferences.edgeURL);
|
|
180
191
|
return true;
|
|
@@ -217,6 +228,14 @@
|
|
|
217
228
|
return false;
|
|
218
229
|
};
|
|
219
230
|
const allowProvider = (providers, providerId) => {
|
|
231
|
+
if (providers) {
|
|
232
|
+
const tagProvider = providers[providerId];
|
|
233
|
+
if (!(tagProvider ||
|
|
234
|
+
(providers['all'] === true && tagProvider === undefined) ||
|
|
235
|
+
(providers['all'] === false && tagProvider === true))) {
|
|
236
|
+
return false;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
220
239
|
const consent = getDataPerKey('local', tagStorage, consentKey);
|
|
221
240
|
if (isConsentDisabled()) {
|
|
222
241
|
return true;
|
|
@@ -227,18 +246,7 @@
|
|
|
227
246
|
if (consent['all']) {
|
|
228
247
|
return true;
|
|
229
248
|
}
|
|
230
|
-
|
|
231
|
-
return consent[providerId];
|
|
232
|
-
}
|
|
233
|
-
const tagProvider = providers[providerId];
|
|
234
|
-
if (tagProvider ||
|
|
235
|
-
(providers['all'] === true && tagProvider === undefined) ||
|
|
236
|
-
(providers['all'] === false && tagProvider === true)) {
|
|
237
|
-
if (consent[providerId]) {
|
|
238
|
-
return true;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
return false;
|
|
249
|
+
return consent[providerId];
|
|
242
250
|
};
|
|
243
251
|
|
|
244
252
|
const beacon = (url, payload) => {
|
|
@@ -854,7 +862,7 @@
|
|
|
854
862
|
const userId = handleGetUserId();
|
|
855
863
|
const providerData = {};
|
|
856
864
|
if (providerPackages) {
|
|
857
|
-
providerPackages.forEach((pkg) => {
|
|
865
|
+
Object.values(providerPackages).forEach((pkg) => {
|
|
858
866
|
if (!allowProvider(providers, pkg.name)) {
|
|
859
867
|
return;
|
|
860
868
|
}
|
|
@@ -947,7 +955,7 @@
|
|
|
947
955
|
});
|
|
948
956
|
}
|
|
949
957
|
if (providerPackages) {
|
|
950
|
-
const pkg = providerPackages
|
|
958
|
+
const pkg = providerPackages[provider.package];
|
|
951
959
|
if (pkg && pkg.init) {
|
|
952
960
|
pkg.init({ userId, manifest: provider, sendTag });
|
|
953
961
|
}
|