@pubtech-ai/core 1.6.3 → 1.6.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.
@@ -1 +1 @@
1
- "use strict";var __values=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConsentLanguages=void 0;var ConsentLanguages=function(){function e(){}return e.prototype.has=function(t){return e.langSet.has(t)},e.prototype.parseLanguage=function(t){var n,r,o=(t=t.toUpperCase()).split("-")[0];try{for(var a=__values(e.langSet),u=a.next();!u.done;u=a.next()){var i=u.value;if(i==o)return o;if(i==t)return i}}catch(e){n={error:e}}finally{try{u&&!u.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}throw new Error("unsupported language ".concat(t))},e.prototype.forEach=function(t){e.langSet.forEach(t)},Object.defineProperty(e.prototype,"size",{get:function(){return e.langSet.size},enumerable:!1,configurable:!0}),e.langSet=new Set(["AR","BG","BS","CA","CS","DA","DE","EL","EN","ES","ET","EU","FI","FR","GL","HR","HU","IT","JA","LT","LV","MT","NL","NO","PL","PT-BR","PT-PT","RO","RU","SK","SL","SR-CYRL","SR-LATN","SV","TR","ZH"]),e}();exports.ConsentLanguages=ConsentLanguages;
1
+ "use strict";var __values=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConsentLanguages=void 0;var ConsentLanguages=function(){function e(){}return e.prototype.has=function(t){return e.langSet.has(t)},e.prototype.parseLanguage=function(t){var n,r;if(t.length>=2){var o=(t=t.toUpperCase()).split("-")[0];try{for(var a=__values(e.langSet),u=a.next();!u.done;u=a.next()){var i=u.value;if(i==o)return o;if(-1!==i.indexOf(t))return i}}catch(e){n={error:e}}finally{try{u&&!u.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}}throw new Error("unsupported language ".concat(t))},e.prototype.forEach=function(t){e.langSet.forEach(t)},Object.defineProperty(e.prototype,"size",{get:function(){return e.langSet.size},enumerable:!1,configurable:!0}),e.langSet=new Set(["AR","BG","BS","CA","CS","DA","DE","EL","EN","ES","ET","EU","FI","FR","GL","HR","HU","IT","JA","LT","LV","MT","NL","NO","PL","PT-BR","PT-PT","RO","RU","SK","SL","SR-CYRL","SR-LATN","SV","TR","ZH"]),e}();exports.ConsentLanguages=ConsentLanguages;
@@ -41,14 +41,16 @@ export class ConsentLanguages {
41
41
  return ConsentLanguages.langSet.has(key);
42
42
  }
43
43
  parseLanguage(lang) {
44
- lang = lang.toUpperCase();
45
- const primaryLanguage = lang.split('-')[0];
46
- for (const supportedLang of ConsentLanguages.langSet) {
47
- if (supportedLang == primaryLanguage) {
48
- return primaryLanguage;
49
- }
50
- if (supportedLang == lang) {
51
- return supportedLang;
44
+ if (lang.length >= 2) {
45
+ lang = lang.toUpperCase();
46
+ const primaryLanguage = lang.split('-')[0];
47
+ for (const supportedLang of ConsentLanguages.langSet) {
48
+ if (supportedLang == primaryLanguage) {
49
+ return primaryLanguage;
50
+ }
51
+ if (supportedLang.indexOf(lang) !== -1) {
52
+ return supportedLang;
53
+ }
52
54
  }
53
55
  }
54
56
  throw new Error(`unsupported language ${lang}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pubtech-ai/core",
3
- "version": "1.6.3",
3
+ "version": "1.6.4",
4
4
  "description": "Ensures consistent encoding and decoding of TC Signals for the iab. Transparency and Consent Framework (TCF).",
5
5
  "author": "Mayank Mishra <mayank@iabtechlab.com>",
6
6
  "homepage": "https://iabtcf.com/",
@@ -28,7 +28,7 @@
28
28
  "test-cov": "rm -rf coverage; nyc --reporter=html mocha"
29
29
  },
30
30
  "devDependencies": {
31
- "@pubtech-ai/testing": "1.6.3",
31
+ "@pubtech-ai/testing": "1.6.4",
32
32
  "@istanbuljs/nyc-config-typescript": "^0.1.3",
33
33
  "@types/sinon": "^10.0.11",
34
34
  "@types/sinon-chai": "3.2.8",