@adv-ui/boros-tcf
Version:
Adevinta GDPR - Transparency and Consent Framework - API
64 lines (50 loc) • 1.66 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.TcfApiController = void 0;
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
var _TcfApiV = require("../../application/TcfApiV2");
var _ioc = require("../../core/ioc/ioc");
var TcfApiController = /*#__PURE__*/function () {
function TcfApiController(_temp) {
var _ref = _temp === void 0 ? {} : _temp,
_ref$tcfApi = _ref.tcfApi,
tcfApi = _ref$tcfApi === void 0 ? (0, _ioc.inject)(_TcfApiV.TcfApiV2) : _ref$tcfApi;
this._tcfApi = tcfApi;
}
var _proto = TcfApiController.prototype;
_proto.process = function process(command, version, callback, parameter) {
if (callback === void 0) {
callback = function callback() {
return null;
};
}
if (!this._isCorrectVersion(version) || !this._tcfApi[command]) {
this._reject(callback);
} else {
try {
return this._tcfApi[command](callback, parameter);
} catch (error) {
this._reject(callback);
}
}
};
_proto._reject = function _reject(callback) {
try {
typeof callback === 'function' && callback(null, false);
} catch (ignored) {}
};
_proto._isCorrectVersion = function _isCorrectVersion(version) {
return !(version && version !== 2);
};
(0, _createClass2["default"])(TcfApiController, [{
key: "api",
get: function get() {
return this._tcfApi;
}
}]);
return TcfApiController;
}();
exports.TcfApiController = TcfApiController;