UNPKG

patronum

Version:

☄️ Effector utility library delivering modularity and convenience

50 lines (49 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.some = some; var _effector = require("effector"); function some(configOrStores, predicateOrNone) { let stores = []; let predicate = () => false; if (Array.isArray(configOrStores)) { stores = configOrStores; predicate = predicateOrNone; } else if (Array.isArray(configOrStores.stores)) { stores = configOrStores.stores; predicate = configOrStores.predicate; } let checker; if (isFunction(predicate)) { checker = predicate; } else if (_effector.is.store(predicate, { sid: "zbwu0l" })) { checker = predicate.map(value => required => value === required, { skipVoid: false }); } else { checker = value => value === predicate; } const $values = (0, _effector.combine)({ and: [stores], or: { name: "$values", sid: "-kx24vm" } }); // Combine pass simple values as is const $checker = checker; return (0, _effector.combine)({ and: [$checker, $values, (checker, values) => values.some(checker), { skipVoid: false }], or: { sid: "-ee8kph" } }); } function isFunction(value) { return typeof value === 'function'; }