@blotoutio/edgetag-sdk-browser 0.6.1 → 0.6.3

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 (2) hide show
  1. package/index.js +26 -18
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -162,8 +162,9 @@
162
162
  };
163
163
 
164
164
  let consentDisabled = false;
165
- let providers = [];
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
- providers = preferences.providers || [];
176
- if (window && window.edgetagPackages) {
177
- providers = [...window.edgetagPackages, ...providers];
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
- if (!providers) {
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.find((pkg) => pkg.name === provider.package);
958
+ const pkg = providerPackages[provider.package];
951
959
  if (pkg && pkg.init) {
952
960
  pkg.init({ userId, manifest: provider, sendTag });
953
961
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blotoutio/edgetag-sdk-browser",
3
- "version": "0.6.1",
3
+ "version": "0.6.3",
4
4
  "description": "Browser SDK for EdgeTag",
5
5
  "author": "Blotout",
6
6
  "license": "MIT",