UNPKG

@shopify/app-bridge-host

Version:

App Bridge Host contains components and middleware to be consumed by the app's host, as well as the host itself. The middleware and `Frame` component are responsible for facilitating communication between the client and host, and used to act on actions se

32 lines (28 loc) 1.1 kB
'use strict'; var core = require('@remote-ui/core'); function createEventHandlers(createListener) { var unsubscribers = new Map(); return { addEventListener: function (event, listener) { var _a; var unsubscribe = createListener(event, listener); core.retain(listener); if (!unsubscribers.has(event)) { unsubscribers.set(event, new Map()); } (_a = unsubscribers.get(event)) === null || _a === void 0 ? void 0 : _a.set(listener, function () { core.release(listener); unsubscribe(); }); }, removeEventListener: function (event, listener) { var _a, _b; var unsubscribe = (_a = unsubscribers.get(event)) === null || _a === void 0 ? void 0 : _a.get(listener); if (unsubscribe) { unsubscribe(); (_b = unsubscribers.get(event)) === null || _b === void 0 ? void 0 : _b.delete(listener); } }, }; } exports.createEventHandlers = createEventHandlers;