@blotoutio/edgetag-sdk-js 0.26.3 → 0.26.4

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 (3) hide show
  1. package/index.cjs +13 -10
  2. package/index.esm.js +13 -10
  3. package/package.json +1 -1
package/index.cjs CHANGED
@@ -334,7 +334,7 @@ const getStandardPayload = (payload) => {
334
334
  referrer: getReferrer(),
335
335
  search: getSearch(),
336
336
  locale: getLocale(),
337
- sdkVersion: "0.26.3" ,
337
+ sdkVersion: "0.26.4" ,
338
338
  ...(payload || {}),
339
339
  };
340
340
  let storage = {};
@@ -443,7 +443,7 @@ const getConsent = () => {
443
443
  };
444
444
 
445
445
  const isBool = (v) => typeof v == 'boolean';
446
- const isRecord = (v) => !!v && typeof v == 'object';
446
+ const isRecord = (v) => !!v && typeof v == 'object' && !Array.isArray(v);
447
447
  /**
448
448
  * This function validates user consent for a given provider and tag name.
449
449
  * It should be used in conjunction with `UserConsent`, not `ProvidersConfig`.
@@ -477,22 +477,25 @@ const isProviderInstanceAllowed = (providersConfig, provider, tagName) => {
477
477
  if (!isRecord(providersConfig)) {
478
478
  return true;
479
479
  }
480
- let allowed = isBool(providersConfig.all) ? providersConfig.all : true;
481
480
  if (provider in providersConfig) {
482
481
  const providerSpecific = providersConfig[provider];
483
482
  if (isBool(providerSpecific)) {
484
- allowed = providerSpecific;
483
+ return providerSpecific;
485
484
  }
486
- else if (isRecord(providerSpecific)) {
487
- if ('all' in providerSpecific && isBool(providerSpecific.all)) {
488
- allowed = providerSpecific.all;
489
- }
485
+ if (isRecord(providerSpecific)) {
486
+ const tagKeys = Object.keys(providerSpecific).filter((k) => k != 'all');
490
487
  if (tagName in providerSpecific && isBool(providerSpecific[tagName])) {
491
- allowed = providerSpecific[tagName];
488
+ return providerSpecific[tagName];
492
489
  }
490
+ return isBool(providerSpecific.all)
491
+ ? providerSpecific.all
492
+ : tagKeys.length == 0;
493
493
  }
494
494
  }
495
- return allowed;
495
+ const providerKeys = Object.keys(providersConfig).filter((k) => k != 'all');
496
+ return isBool(providersConfig.all)
497
+ ? providersConfig.all
498
+ : providerKeys.length == 0;
496
499
  };
497
500
 
498
501
  const upsert = (map, key, update, createDefault) => {
package/index.esm.js CHANGED
@@ -332,7 +332,7 @@ const getStandardPayload = (payload) => {
332
332
  referrer: getReferrer(),
333
333
  search: getSearch(),
334
334
  locale: getLocale(),
335
- sdkVersion: "0.26.3" ,
335
+ sdkVersion: "0.26.4" ,
336
336
  ...(payload || {}),
337
337
  };
338
338
  let storage = {};
@@ -441,7 +441,7 @@ const getConsent = () => {
441
441
  };
442
442
 
443
443
  const isBool = (v) => typeof v == 'boolean';
444
- const isRecord = (v) => !!v && typeof v == 'object';
444
+ const isRecord = (v) => !!v && typeof v == 'object' && !Array.isArray(v);
445
445
  /**
446
446
  * This function validates user consent for a given provider and tag name.
447
447
  * It should be used in conjunction with `UserConsent`, not `ProvidersConfig`.
@@ -475,22 +475,25 @@ const isProviderInstanceAllowed = (providersConfig, provider, tagName) => {
475
475
  if (!isRecord(providersConfig)) {
476
476
  return true;
477
477
  }
478
- let allowed = isBool(providersConfig.all) ? providersConfig.all : true;
479
478
  if (provider in providersConfig) {
480
479
  const providerSpecific = providersConfig[provider];
481
480
  if (isBool(providerSpecific)) {
482
- allowed = providerSpecific;
481
+ return providerSpecific;
483
482
  }
484
- else if (isRecord(providerSpecific)) {
485
- if ('all' in providerSpecific && isBool(providerSpecific.all)) {
486
- allowed = providerSpecific.all;
487
- }
483
+ if (isRecord(providerSpecific)) {
484
+ const tagKeys = Object.keys(providerSpecific).filter((k) => k != 'all');
488
485
  if (tagName in providerSpecific && isBool(providerSpecific[tagName])) {
489
- allowed = providerSpecific[tagName];
486
+ return providerSpecific[tagName];
490
487
  }
488
+ return isBool(providerSpecific.all)
489
+ ? providerSpecific.all
490
+ : tagKeys.length == 0;
491
491
  }
492
492
  }
493
- return allowed;
493
+ const providerKeys = Object.keys(providersConfig).filter((k) => k != 'all');
494
+ return isBool(providersConfig.all)
495
+ ? providersConfig.all
496
+ : providerKeys.length == 0;
494
497
  };
495
498
 
496
499
  const upsert = (map, key, update, createDefault) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blotoutio/edgetag-sdk-js",
3
- "version": "0.26.3",
3
+ "version": "0.26.4",
4
4
  "description": "JS SDK for EdgeTag",
5
5
  "author": "Blotout",
6
6
  "license": "MIT",