@essential-js/ui
Version:
EssentialJS UI
82 lines (80 loc) • 2.74 kB
JavaScript
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