@bianic-ui/utils
Version:
Common utilties and types for Bianic UI
75 lines (59 loc) • 1.84 kB
JavaScript
exports.__esModule = true;
exports.runIfFn = runIfFn;
exports.callAllHandlers = callAllHandlers;
exports.once = once;
exports.error = exports.warn = exports.noop = void 0;
var _memoizeOne = _interopRequireDefault(require("memoize-one"));
exports.memoize = _memoizeOne["default"];
var _assertion = require("./assertion");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function runIfFn(valueOrFn) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
return (0, _assertion.isFunction)(valueOrFn) ? valueOrFn.apply(void 0, args) : valueOrFn;
}
function callAllHandlers() {
for (var _len2 = arguments.length, fns = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
fns[_key2] = arguments[_key2];
}
return function (event) {
fns.some(function (fn) {
fn && fn(event);
return event && event.defaultPrevented;
});
};
}
function once(fn) {
var result;
return function () {
if (fn) {
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
args[_key3] = arguments[_key3];
}
result = fn.apply(this, args);
fn = null;
}
return result;
};
}
var noop = function noop() {};
exports.noop = noop;
var warn = once(function (options) {
var condition = options.condition,
message = options.message;
if (condition && _assertion.__DEV__) {
console.warn(message);
}
});
exports.warn = warn;
var error = once(function (options) {
var condition = options.condition,
message = options.message;
if (condition && _assertion.__DEV__) {
console.error(message);
}
});
exports.error = error;
//# sourceMappingURL=function.js.map
;