@adv-ui/boros-tcf-stub
Version:
Adevinta GDPR - Transparency and Consent Framework - Stub for Boros TCF
53 lines (42 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PostMessageHandler = void 0;
var PostMessageHandler = /*#__PURE__*/function () {
function PostMessageHandler() {}
var _proto = PostMessageHandler.prototype;
_proto.handle = function handle(event) {
if (event === void 0) {
event = {};
}
var payload = this._toPayload(event.data);
payload && window.__tcfapi(payload.command, payload.version, function (retValue, success) {
var returnMsg = {
__tcfapiReturn: {
returnValue: retValue,
success: success,
callId: payload.callId
}
};
if (typeof event.data === 'string') {
event.source.postMessage(JSON.stringify(returnMsg), '*');
} else {
event.source.postMessage(returnMsg, '*');
}
}, payload.parameter);
};
_proto._toPayload = function _toPayload(message) {
if (message === void 0) {
message = {};
}
try {
var json = typeof message === 'string' ? JSON.parse(message) : message;
return json == null ? void 0 : json.__tcfapiCall;
} catch (error) {
return undefined;
}
};
return PostMessageHandler;
}();
exports.PostMessageHandler = PostMessageHandler;