UNPKG

@essential-js/ui

Version:

EssentialJS UI

82 lines (80 loc) 2.74 kB
System.register(["@beyond-js/kernel/bundle", "react"], function (_export, _context) { "use strict"; var dependency_0, dependency_1, __Bundle, __pkg, ims, useBinder, __beyond_pkg, hmr; _export("useBinder", void 0); return { setters: [function (_beyondJsKernelBundle) { dependency_0 = _beyondJsKernelBundle; }, function (_react) { dependency_1 = _react; }], execute: function () { ({ Bundle: __Bundle } = dependency_0); __pkg = new __Bundle({ "module": { "vspecifier": "@essential-js/ui@1.0.0/hooks" }, "type": "code" }, _context.meta.url).package(); ; __pkg.dependencies.update([['react', dependency_1]]); ims = new Map(); /************************ INTERNAL MODULE: ./binder ************************/ ims.set('./binder', { hash: 3667405650, creator: function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useBinder = useBinder; var React = require("react"); /*bundle*/ /*** * Executes a useEffect hook binging the event defined in all * objects passed * * @param {array} objects Objects to bind * @param {function} onBinder function to be executed when the event is fired * @param {string} event the event to be listened, by default is event change */ function useBinder(objects, onBinder, event = 'change') { React.useEffect(() => { objects.forEach(object => { if (!object) return; object.bind(event, onBinder); }); return () => objects.forEach(object => { if (!object) return; object.unbind(event, onBinder); }); }, []); } } }); __pkg.exports.descriptor = [{ "im": "./binder", "from": "useBinder", "name": "useBinder" }]; // Module exports __pkg.exports.process = function ({ require, prop, value }) { (require || prop === 'useBinder') && _export("useBinder", useBinder = require ? require('./binder').useBinder : value); }; _export("__beyond_pkg", __beyond_pkg = __pkg); _export("hmr", hmr = new function () { this.on = (event, listener) => void 0; this.off = (event, listener) => void 0; }()); __pkg.initialise(ims); } }; }); //# sourceMappingURL=hooks.sjs.js.map