testcafe
Version:
Automated browser testing for the modern web development stack.
22 lines • 2.83 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const hammerhead_1 = __importDefault(require("../deps/hammerhead"));
const Promise = hammerhead_1.default.Promise;
const messageSandbox = hammerhead_1.default.eventSandbox.message;
function sendRequestToFrame(msg, responseCmd, receiverWindow) {
return new Promise(resolve => {
function onMessage(e) {
if (e.message.cmd === responseCmd) {
messageSandbox.off(messageSandbox.SERVICE_MSG_RECEIVED_EVENT, onMessage);
resolve(e.message);
}
}
messageSandbox.on(messageSandbox.SERVICE_MSG_RECEIVED_EVENT, onMessage);
messageSandbox.sendServiceMsg(msg, receiverWindow);
});
}
exports.default = sendRequestToFrame;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1yZXF1ZXN0LXRvLWZyYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb3JlL3V0aWxzL3NlbmQtcmVxdWVzdC10by1mcmFtZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9FQUE0QztBQUU1QyxNQUFNLE9BQU8sR0FBVSxvQkFBVSxDQUFDLE9BQU8sQ0FBQztBQUMxQyxNQUFNLGNBQWMsR0FBRyxvQkFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7QUFFdkQsU0FBd0Isa0JBQWtCLENBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxjQUFjO0lBQ3hFLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDekIsU0FBUyxTQUFTLENBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRTtnQkFDL0IsY0FBYyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsMEJBQTBCLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ3pFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdEI7UUFDTCxDQUFDO1FBRUQsY0FBYyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsMEJBQTBCLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEUsY0FBYyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBWkQscUNBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGFtbWVyaGVhZCBmcm9tICcuLi9kZXBzL2hhbW1lcmhlYWQnO1xuXG5jb25zdCBQcm9taXNlICAgICAgICA9IGhhbW1lcmhlYWQuUHJvbWlzZTtcbmNvbnN0IG1lc3NhZ2VTYW5kYm94ID0gaGFtbWVyaGVhZC5ldmVudFNhbmRib3gubWVzc2FnZTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2VuZFJlcXVlc3RUb0ZyYW1lIChtc2csIHJlc3BvbnNlQ21kLCByZWNlaXZlcldpbmRvdykge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgICAgZnVuY3Rpb24gb25NZXNzYWdlIChlKSB7XG4gICAgICAgICAgICBpZiAoZS5tZXNzYWdlLmNtZCA9PT0gcmVzcG9uc2VDbWQpIHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlU2FuZGJveC5vZmYobWVzc2FnZVNhbmRib3guU0VSVklDRV9NU0dfUkVDRUlWRURfRVZFTlQsIG9uTWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShlLm1lc3NhZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbWVzc2FnZVNhbmRib3gub24obWVzc2FnZVNhbmRib3guU0VSVklDRV9NU0dfUkVDRUlWRURfRVZFTlQsIG9uTWVzc2FnZSk7XG4gICAgICAgIG1lc3NhZ2VTYW5kYm94LnNlbmRTZXJ2aWNlTXNnKG1zZywgcmVjZWl2ZXJXaW5kb3cpO1xuICAgIH0pO1xufVxuIl19