@adv-ui/boros-tcf
Version:
Adevinta GDPR - Transparency and Consent Framework - API
48 lines (35 loc) • 1.3 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Language = void 0;
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
var _InvalidLanguageValueError = require("./error/InvalidLanguageValueError");
var _constants = require("../../core/constants");
var Language = /*#__PURE__*/function () {
function Language(languageValue) {
this._value = this._extractValue(languageValue);
}
var _proto = Language.prototype;
_proto._extractValue = function _extractValue(languageValue) {
if (!languageValue || _constants.VENDOR_LIST_DEFAULT_LANGUAGE === languageValue) {
return _constants.VENDOR_LIST_DEFAULT_LANGUAGE;
}
if (languageValue.toLowerCase() !== languageValue) {
throw new _InvalidLanguageValueError.InvalidLanguageValueError(languageValue);
}
if (languageValue.length !== 2) {
throw new _InvalidLanguageValueError.InvalidLanguageValueError(languageValue);
}
return languageValue;
};
(0, _createClass2["default"])(Language, [{
key: "value",
get: function get() {
return this._value;
}
}]);
return Language;
}();
exports.Language = Language;