data-transport
Version:
A simple and responsive transport
50 lines • 4.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.mockPorts = void 0;
var tslib_1 = require("tslib");
/**
* Mock ports for testing
*/
var mockPorts = function () {
var emitter = new Set();
var mainCallback = null;
return {
main: {
listener: function (callback) {
mainCallback = callback;
return function () {
mainCallback = null;
};
},
sender: function (message) {
var e_1, _a;
try {
for (var emitter_1 = tslib_1.__values(emitter), emitter_1_1 = emitter_1.next(); !emitter_1_1.done; emitter_1_1 = emitter_1.next()) {
var emit = emitter_1_1.value;
emit(JSON.parse(JSON.stringify(message)));
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (emitter_1_1 && !emitter_1_1.done && (_a = emitter_1.return)) _a.call(emitter_1);
}
finally { if (e_1) throw e_1.error; }
}
},
},
create: function () { return ({
listener: function (callback) {
emitter.add(callback);
return function () {
emitter.delete(callback);
};
},
sender: function (message) {
mainCallback === null || mainCallback === void 0 ? void 0 : mainCallback(JSON.parse(JSON.stringify(message)));
},
}); },
};
};
exports.mockPorts = mockPorts;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja1BvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vY2tQb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUE7O0dBRUc7QUFDSSxJQUFNLFNBQVMsR0FBRztJQUN2QixJQUFJLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBdUIsQ0FBQztJQUM3QyxJQUFJLFlBQVksR0FBMEIsSUFBSSxDQUFDO0lBQy9DLE9BQU87UUFDTCxJQUFJLEVBQUU7WUFDSixRQUFRLEVBQUUsVUFBQyxRQUF3QjtnQkFDakMsWUFBWSxHQUFHLFFBQVEsQ0FBQztnQkFDeEIsT0FBTztvQkFDTCxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixDQUFDLENBQUM7WUFDSixDQUFDO1lBQ0QsTUFBTSxFQUFFLFVBQUMsT0FBb0I7OztvQkFDM0IsS0FBbUIsSUFBQSxZQUFBLGlCQUFBLE9BQU8sQ0FBQSxnQ0FBQSxxREFBRSxDQUFDO3dCQUF4QixJQUFNLElBQUksb0JBQUE7d0JBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzVDLENBQUM7Ozs7Ozs7OztZQUNILENBQUM7U0FDRjtRQUNELE1BQU0sRUFBRSxjQUFNLE9BQUEsQ0FBQztZQUNiLFFBQVEsRUFBRSxVQUFDLFFBQXdCO2dCQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN0QixPQUFPO29CQUNMLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzNCLENBQUMsQ0FBQztZQUNKLENBQUM7WUFDRCxNQUFNLEVBQUUsVUFBQyxPQUFvQjtnQkFDM0IsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEQsQ0FBQztTQUNGLENBQUMsRUFWWSxDQVVaO0tBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTdCVyxRQUFBLFNBQVMsYUE2QnBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaXN0ZW5DYWxsYmFjaywgU2VuZE9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5cbi8qKlxuICogTW9jayBwb3J0cyBmb3IgdGVzdGluZ1xuICovXG5leHBvcnQgY29uc3QgbW9ja1BvcnRzID0gKCkgPT4ge1xuICBsZXQgZW1pdHRlciA9IG5ldyBTZXQ8KGRhdGE6IGFueSkgPT4gdm9pZD4oKTtcbiAgbGV0IG1haW5DYWxsYmFjazogbnVsbCB8IExpc3RlbkNhbGxiYWNrID0gbnVsbDtcbiAgcmV0dXJuIHtcbiAgICBtYWluOiB7XG4gICAgICBsaXN0ZW5lcjogKGNhbGxiYWNrOiBMaXN0ZW5DYWxsYmFjaykgPT4ge1xuICAgICAgICBtYWluQ2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICBtYWluQ2FsbGJhY2sgPSBudWxsO1xuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIHNlbmRlcjogKG1lc3NhZ2U6IFNlbmRPcHRpb25zKSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgZW1pdCBvZiBlbWl0dGVyKSB7XG4gICAgICAgICAgZW1pdChKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG1lc3NhZ2UpKSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICBjcmVhdGU6ICgpID0+ICh7XG4gICAgICBsaXN0ZW5lcjogKGNhbGxiYWNrOiBMaXN0ZW5DYWxsYmFjaykgPT4ge1xuICAgICAgICBlbWl0dGVyLmFkZChjYWxsYmFjayk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgZW1pdHRlci5kZWxldGUoY2FsbGJhY2spO1xuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIHNlbmRlcjogKG1lc3NhZ2U6IFNlbmRPcHRpb25zKSA9PiB7XG4gICAgICAgIG1haW5DYWxsYmFjaz8uKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobWVzc2FnZSkpKTtcbiAgICAgIH0sXG4gICAgfSksXG4gIH07XG59O1xuIl19