@adv-ui/boros-tcf
Version:
Adevinta GDPR - Transparency and Consent Framework - API
82 lines (71 loc) • 2.09 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.VendorList = void 0;
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
var VendorList = /*#__PURE__*/function () {
function VendorList(_ref) {
var version = _ref.version,
policyVersion = _ref.policyVersion,
_ref$value = _ref.value,
value = _ref$value === void 0 ? {} : _ref$value;
this._version = version;
this._policyVersion = policyVersion;
this._value = value;
}
var _proto = VendorList.prototype;
_proto.vendorsWithPurposes = function vendorsWithPurposes() {
return this._vendorsWithUsage({
usageNode: VENDOR_NODE_PURPOSES
});
};
_proto.vendorsWithLegitimateInterests = function vendorsWithLegitimateInterests() {
return this._vendorsWithUsage({
usageNode: VENDOR_NODE_LEGITIMATE_INTERESTS
});
};
_proto._vendorsWithUsage = function _vendorsWithUsage(_ref2) {
var _this = this;
var usageNode = _ref2.usageNode;
return Object.keys(this._value.vendors).filter(function (id) {
return _this._value.vendors[id].deletedDate === undefined && _this._value.vendors[id][usageNode].length > 0;
});
};
(0, _createClass2["default"])(VendorList, [{
key: "version",
get: function get() {
return this._version;
}
}, {
key: "policyVersion",
get: function get() {
return this._policyVersion;
}
}, {
key: "value",
get: function get() {
return this._value;
}
}, {
key: "purposes",
get: function get() {
return this._value.purposes;
}
}, {
key: "specialFeatures",
get: function get() {
return this._value.vendors;
}
}, {
key: "vendors",
get: function get() {
return this._value.vendors;
}
}]);
return VendorList;
}();
exports.VendorList = VendorList;
var VENDOR_NODE_PURPOSES = 'purposes';
var VENDOR_NODE_LEGITIMATE_INTERESTS = 'legIntPurposes';