@financial-times/o-ads
Version:
This package contains the core functionality used by the FT in providing ads across all of its sites. This includes ft.com, howtospendit.com, ftadviser.com and other specialist titles.
35 lines (31 loc) • 886 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/**
* Utility methods for postMessage api.
* @author Origami Advertising, origami.advertising@ft.com
* @module utils
*/
var _default = {
post: function post(message, source) {
message = typeof message === 'string' ? message : JSON.stringify(message);
source = arguments[1] || window.top;
source.postMessage(message, '*');
},
parse: function parse(message) {
// Check whether the message looks like an object before trying to parse it
if (typeof message !== 'string' || message[0] !== '{') {
return message;
} // try returning the parsed object
try {
return JSON.parse(message);
} // return the original message
catch (e) {
return message;
}
}
};
exports.default = _default;
module.exports = exports.default;