@adv-ui/boros-tcf
Version:
Adevinta GDPR - Transparency and Consent Framework - API
69 lines (50 loc) • 1.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.GVLFactory = void 0;
var _core = require("@iabtcf/core");
var _constants = require("../../../core/constants");
var _Language = require("../../../domain/vendorlist/Language");
var GVLFactory = /*#__PURE__*/function () {
function GVLFactory(_temp) {
var _ref = _temp === void 0 ? {} : _temp,
_ref$baseUrl = _ref.baseUrl,
baseUrl = _ref$baseUrl === void 0 ? _constants.VENDOR_LIST_ENDPOINT : _ref$baseUrl,
_ref$language = _ref.language,
language = _ref$language === void 0 ? _constants.VENDOR_LIST_DEFAULT_LANGUAGE : _ref$language;
_core.GVL.baseUrl = baseUrl;
this._language = new _Language.Language(language).value;
this._cached = new Map();
}
var _proto = GVLFactory.prototype;
_proto.create = function create(_temp2) {
var _ref2 = _temp2 === void 0 ? {} : _temp2,
_ref2$version = _ref2.version,
version = _ref2$version === void 0 ? _constants.VENDOR_LIST_LATEST_VERSION : _ref2$version;
var key = this._key({
version: version
});
if (!this._cached.has(key)) {
this._setStaticGVLParameters();
this._cached.set(key, new _core.GVL(version));
}
return this._cached.get(key);
};
_proto._key = function _key(_ref3) {
var version = _ref3.version;
return version + ":" + this._language;
};
_proto.resetCaches = function resetCaches() {
_core.GVL.emptyCache();
_core.GVL.emptyLanguageCache();
this._cached = new Map();
};
_proto._setStaticGVLParameters = function _setStaticGVLParameters() {
_core.GVL.languageFilename = _constants.VENDOR_LIST_LATEST_VERSION + "/[LANG]";
_core.GVL.latestFilename = _constants.VENDOR_LIST_LATEST_VERSION + "/" + this._language;
_core.GVL.versionedFilename = "[VERSION]/" + this._language;
};
return GVLFactory;
}();
exports.GVLFactory = GVLFactory;