rubico
Version:
[a]synchronous functional programming
8 lines (7 loc) • 914 B
JavaScript
/**
* rubico v2.6.2
* https://github.com/a-synchronous/rubico
* (c) 2019-2024 Richard Tong
* rubico may be freely distributed under the MIT license.
*/
const isArray=Array.isArray,sameValueZero=function(r,n){return r===n||r!=r&&n!=n},objectIncludes=function(r,n){for(const e in r)if(sameValueZero(n,r[e]))return!0;return!1},includes=r=>function(n){return null!=n&&("function"==typeof n.includes?n.includes(r):n.constructor==Object&&objectIncludes(n,r))},__=Symbol.for("placeholder"),curry2ResolveArg0=(r,n)=>function(e){return r(e,n)},curry2ResolveArg1=(r,n)=>function(e){return r(n,e)},curry2=function(r,n,e){return n==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,n)},_isIn=function(r,n){return null!=n&&(n.constructor==Set?n.has(r):n.constructor==Map?Array.from(n.values()).includes(r):includes(r)(n))},isIn=(...r)=>{const n=r.pop();return r.length>0?_isIn(r[0],n):curry2(_isIn,__,n)};export default isIn;