{"version":3,"sources":["../node_modules/ramda-adjunct/es/stubUndefined.js","../node_modules/ramda-adjunct/es/isUndefined.js","../node_modules/ramda-adjunct/es/isNotUndefined.js","../node_modules/ramda-adjunct/es/isNull.js","../node_modules/ramda-adjunct/es/isNotNull.js","../node_modules/ramda-adjunct/es/isNotNil.js","../node_modules/ramda-adjunct/es/isGeneratorFunction.js","../node_modules/ramda-adjunct/es/isAsyncFunction.js","../node_modules/ramda-adjunct/es/isFunction.js","../node_modules/ramda-adjunct/es/isArray.js","../node_modules/ramda-adjunct/es/isIterable.js","../node_modules/ramda-adjunct/es/isEmptyArray.js","../node_modules/ramda-adjunct/es/isNotArray.js","../node_modules/ramda-adjunct/es/isNotEmpty.js","../node_modules/ramda-adjunct/es/isNonEmptyArray.js","../node_modules/ramda-adjunct/es/isBoolean.js","../node_modules/ramda-adjunct/es/isNotBoolean.js","../node_modules/ramda-adjunct/es/isNilOrEmpty.js","../node_modules/ramda-adjunct/es/isString.js","../node_modules/ramda-adjunct/es/isEmptyString.js","../node_modules/ramda-adjunct/es/isNotString.js","../node_modules/ramda-adjunct/es/internal/isOfTypeObject.js","../node_modules/ramda-adjunct/es/isObj.js","../node_modules/ramda-adjunct/es/isNotObj.js","../node_modules/ramda-adjunct/es/isNonEmptyString.js","../node_modules/ramda-adjunct/es/isArrayLike.js","../node_modules/ramda-adjunct/es/isNotArrayLike.js","../node_modules/ramda-adjunct/es/isNotGeneratorFunction.js","../node_modules/ramda-adjunct/es/isNotAsyncFunction.js","../node_modules/ramda-adjunct/es/isNotFunction.js","../node_modules/ramda-adjunct/es/isObjLike.js","../node_modules/ramda-adjunct/es/isNotObjLike.js","../node_modules/ramda-adjunct/es/isPlainObj.js","../node_modules/ramda-adjunct/es/isNotPlainObj.js","../node_modules/ramda-adjunct/es/isDate.js","../node_modules/ramda-adjunct/es/isNotDate.js","../node_modules/ramda-adjunct/es/isNumber.js","../node_modules/ramda-adjunct/es/internal/ponyfills/Number.isNaN.js","../node_modules/ramda-adjunct/es/isNaN.js","../node_modules/ramda-adjunct/es/isNotNaN.js","../node_modules/ramda-adjunct/es/isValidDate.js","../node_modules/ramda-adjunct/es/isNotValidDate.js","../node_modules/ramda-adjunct/es/isNotNumber.js","../node_modules/ramda-adjunct/es/isPositive.js","../node_modules/ramda-adjunct/es/isNegative.js","../node_modules/ramda-adjunct/es/isPositiveZero.js","../node_modules/ramda-adjunct/es/isNegativeZero.js","../node_modules/ramda-adjunct/es/isNotNilOrEmpty.js","../node_modules/ramda-adjunct/es/isNonPositive.js","../node_modules/ramda-adjunct/es/isNonNegative.js","../node_modules/ramda-adjunct/es/isMap.js","../node_modules/ramda-adjunct/es/isNotMap.js","../node_modules/ramda-adjunct/es/internal/ponyfills/Number.isFinite.js","../node_modules/ramda-adjunct/es/isFinite.js","../node_modules/ramda-adjunct/es/isNotFinite.js","../node_modules/ramda-adjunct/es/internal/ponyfills/Number.isInteger.js","../node_modules/ramda-adjunct/es/isInteger.js","../node_modules/ramda-adjunct/es/toInteger32.js","../node_modules/ramda-adjunct/es/isInteger32.js","../node_modules/ramda-adjunct/es/isNotInteger.js","../node_modules/ramda-adjunct/es/isBigInt.js","../node_modules/ramda-adjunct/es/isFloat.js","../node_modules/ramda-adjunct/es/isNotFloat.js","../node_modules/ramda-adjunct/es/isValidNumber.js","../node_modules/ramda-adjunct/es/isNotValidNumber.js","../node_modules/ramda-adjunct/es/isOdd.js","../node_modules/ramda-adjunct/es/isEven.js","../node_modules/ramda-adjunct/es/isPair.js","../node_modules/ramda-adjunct/es/isNotPair.js","../node_modules/ramda-adjunct/es/isThenable.js","../node_modules/ramda-adjunct/es/isPromise.js","../node_modules/ramda-adjunct/es/isTrue.js","../node_modules/ramda-adjunct/es/isFalse.js","../node_modules/ramda-adjunct/es/isTruthy.js","../node_modules/ramda-adjunct/es/isFalsy.js","../node_modules/ramda-adjunct/es/isRegExp.js","../node_modules/ramda-adjunct/es/isNotRegExp.js","../node_modules/ramda-adjunct/es/isSet.js","../node_modules/ramda-adjunct/es/isNotSet.js","../node_modules/ramda-adjunct/es/isSparseArray.js","../node_modules/ramda-adjunct/es/isSymbol.js","../node_modules/ramda-adjunct/es/internal/ponyfills/Number.MAX_SAFE_INTEGER.js","../node_modules/ramda-adjunct/es/internal/ponyfills/Number.isSafeInteger.js","../node_modules/ramda-adjunct/es/isSafeInteger.js","../node_modules/ramda-adjunct/es/isIndexed.js","../node_modules/ramda-adjunct/es/isError.js","../node_modules/ramda-adjunct/es/isNaturalNumber.js","../node_modules/ramda-adjunct/es/isPrimitive.js","../node_modules/ramda-adjunct/es/isNotPrimitive.js","../node_modules/ramda-adjunct/es/isSentinelValue.js","../node_modules/ramda-adjunct/es/stubNull.js","../node_modules/ramda-adjunct/es/stubObj.js","../node_modules/ramda-adjunct/es/stubString.js","../node_modules/ramda-adjunct/es/stubArray.js","../node_modules/ramda-adjunct/es/noop.js","../node_modules/ramda-adjunct/es/fantasy-land/mapping.js","../node_modules/ramda-adjunct/es/internal/ap.js","../node_modules/ramda-adjunct/es/liftFN.js","../node_modules/ramda-adjunct/es/liftF.js","../node_modules/ramda-adjunct/es/cata.js","../node_modules/ramda-adjunct/es/weave.js","../node_modules/ramda-adjunct/es/weaveLazy.js","../node_modules/ramda-adjunct/es/curryRightN.js","../node_modules/ramda-adjunct/es/curryRight.js","../node_modules/ramda-adjunct/es/allP.js","../node_modules/ramda-adjunct/es/catchP.js","../node_modules/ramda-adjunct/es/rejectP.js","../node_modules/ramda-adjunct/es/resolveP.js","../node_modules/ramda-adjunct/es/noneP.js","../node_modules/ramda-adjunct/es/delayP.js","../node_modules/ramda-adjunct/es/thenP.js","../node_modules/ramda-adjunct/es/thenCatchP.js","../node_modules/ramda-adjunct/es/internal/ponyfills/Promise.allSettled.js","../node_modules/ramda-adjunct/es/allSettledP.js","../node_modules/ramda-adjunct/es/Y.js","../node_modules/ramda-adjunct/es/seq.js","../node_modules/ramda-adjunct/es/dispatch.js","../node_modules/ramda-adjunct/es/async.js","../node_modules/ramda-adjunct/es/internal/ponyfills/Promise.any.js","../node_modules/ramda-adjunct/es/anyP.js","../node_modules/ramda-adjunct/es/internal/compareLength.js","../node_modules/ramda-adjunct/es/lengthEq.js","../node_modules/ramda-adjunct/es/lengthGte.js","../node_modules/ramda-adjunct/es/lastP.js","../node_modules/ramda-adjunct/es/defaultWhen.js","../node_modules/ramda-adjunct/es/mapIndexed.js","../node_modules/ramda-adjunct/es/fnull.js","../node_modules/ramda-adjunct/es/reduceIndexed.js","../node_modules/ramda-adjunct/es/filterIndexed.js","../node_modules/ramda-adjunct/es/pickIndexes.js","../node_modules/ramda-adjunct/es/list.js","../node_modules/ramda-adjunct/es/ensureArray.js","../node_modules/ramda-adjunct/es/concatAll.js","../node_modules/ramda-adjunct/es/concatRight.js","../node_modules/ramda-adjunct/es/reduceP.js","../node_modules/ramda-adjunct/es/reduceRightP.js","../node_modules/ramda-adjunct/es/sliceFrom.js","../node_modules/ramda-adjunct/es/sliceTo.js","../node_modules/ramda-adjunct/es/omitIndexes.js","../node_modules/ramda-adjunct/es/compact.js","../node_modules/ramda-adjunct/es/appendFlipped.js","../node_modules/ramda-adjunct/es/contained.js","../node_modules/ramda-adjunct/es/move.js","../node_modules/ramda-adjunct/es/lengthGt.js","../node_modules/ramda-adjunct/es/lengthLt.js","../node_modules/ramda-adjunct/es/lengthLte.js","../node_modules/ramda-adjunct/es/lengthNotEq.js","../node_modules/ramda-adjunct/es/allEqual.js","../node_modules/ramda-adjunct/es/internal/ponyfills/String.repeat.js","../node_modules/ramda-adjunct/es/repeatStr.js","../node_modules/ramda-adjunct/es/allIdentical.js","../node_modules/ramda-adjunct/es/allIdenticalTo.js","../node_modules/ramda-adjunct/es/allEqualTo.js","../node_modules/ramda-adjunct/es/flattenDepth.js","../node_modules/ramda-adjunct/es/internal/makeFlat.js","../node_modules/ramda-adjunct/es/internal/ponyfills/Array.from.js","../node_modules/ramda-adjunct/es/toArray.js","../node_modules/ramda-adjunct/es/allUnique.js","../node_modules/ramda-adjunct/es/notAllUnique.js","../node_modules/ramda-adjunct/es/sortByProps.js","../node_modules/ramda-adjunct/es/skipTake.js","../node_modules/ramda-adjunct/es/floor.js","../node_modules/ramda-adjunct/es/rangeStep.js","../node_modules/ramda-adjunct/es/findOr.js","../node_modules/ramda-adjunct/es/invokeArgs.js","../node_modules/ramda-adjunct/es/invoke.js","../node_modules/ramda-adjunct/es/paths.js","../node_modules/ramda-adjunct/es/renameKeys.js","../node_modules/ramda-adjunct/es/renameKeyWith.js","../node_modules/ramda-adjunct/es/copyKeys.js","../node_modules/ramda-adjunct/es/mergeRight.js","../node_modules/ramda-adjunct/es/mergeProps.js","../node_modules/ramda-adjunct/es/mergePaths.js","../node_modules/ramda-adjunct/es/mergePath.js","../node_modules/ramda-adjunct/es/mergeProp.js","../node_modules/ramda-adjunct/es/omitBy.js","../node_modules/ramda-adjunct/es/pathOrLazy.js","../node_modules/ramda-adjunct/es/viewOr.js","../node_modules/ramda-adjunct/es/hasPath.js","../node_modules/ramda-adjunct/es/spreadPath.js","../node_modules/ramda-adjunct/es/spreadProp.js","../node_modules/ramda-adjunct/es/flattenPath.js","../node_modules/ramda-adjunct/es/flattenProp.js","../node_modules/ramda-adjunct/es/unzipObjWith.js","../node_modules/ramda-adjunct/es/zipObjWith.js","../node_modules/ramda-adjunct/es/isPrototypeOf.js","../node_modules/ramda-adjunct/es/lensEq.js","../node_modules/ramda-adjunct/es/lensNotEq.js","../node_modules/ramda-adjunct/es/lensSatisfies.js","../node_modules/ramda-adjunct/es/lensNotSatisfy.js","../node_modules/ramda-adjunct/es/fantasy-land/util.js","../node_modules/ramda-adjunct/es/fantasy-land/traits.js","../node_modules/ramda-adjunct/es/fantasy-land/Identity.js","../node_modules/ramda-adjunct/es/lensTraverse.js","../node_modules/ramda-adjunct/es/lensIso.js","../node_modules/ramda-adjunct/es/propNotEq.js","../node_modules/ramda-adjunct/es/pathNotEq.js","../node_modules/ramda-adjunct/es/inRange.js","../node_modules/ramda-adjunct/es/notEqual.js","../node_modules/ramda-adjunct/es/overlaps.js","../node_modules/ramda-adjunct/es/notBoth.js","../node_modules/ramda-adjunct/es/nand.js","../node_modules/ramda-adjunct/es/neither.js","../node_modules/ramda-adjunct/es/nor.js","../node_modules/ramda-adjunct/es/notAllPass.js","../node_modules/ramda-adjunct/es/nonePass.js","../node_modules/ramda-adjunct/es/argsPass.js","../node_modules/ramda-adjunct/es/dropArgs.js","../node_modules/ramda-adjunct/es/round.js","../node_modules/ramda-adjunct/es/ceil.js","../node_modules/ramda-adjunct/es/divideNum.js","../node_modules/ramda-adjunct/es/internal/ponyfills/Math.trunc.js","../node_modules/ramda-adjunct/es/trunc.js","../node_modules/ramda-adjunct/es/internal/ponyfills/Math.sign.js","../node_modules/ramda-adjunct/es/sign.js","../node_modules/ramda-adjunct/es/subtractNum.js","../node_modules/ramda-adjunct/es/toUinteger32.js","../node_modules/ramda-adjunct/es/internal/isCoercible.js","../node_modules/ramda-adjunct/es/toNumber.js","../node_modules/ramda-adjunct/es/escapeRegExp.js","../node_modules/ramda-adjunct/es/internal/ponyfills/String.replaceAll.js","../node_modules/ramda-adjunct/es/replaceAll.js","../node_modules/ramda-adjunct/es/trimStart.js","../node_modules/ramda-adjunct/es/internal/ponyfills/String.trimStart.js","../node_modules/ramda-adjunct/es/trimEnd.js","../node_modules/ramda-adjunct/es/internal/ponyfills/String.trimEnd.js","../node_modules/ramda-adjunct/es/trimCharsEnd.js","../node_modules/ramda-adjunct/es/trimCharsStart.js","../node_modules/ramda-adjunct/es/internal/ponyfills/String.padStart.js","../node_modules/ramda-adjunct/es/padCharsStart.js","../node_modules/ramda-adjunct/es/internal/ponyfills/String.padEnd.js","../node_modules/ramda-adjunct/es/padCharsEnd.js","../node_modules/ramda-adjunct/es/padEnd.js","../node_modules/ramda-adjunct/es/padStart.js","../node_modules/@prospects/cl-prospects/lib/components/DropdownTypeahead.js","../node_modules/@prospects/cl-prospects/lib/hooks/useCourseSearchForm.js","../node_modules/immutable/dist/immutable.es.js"],"names":["stubUndefined","always","isUndefined","equals","isNotUndefined","complement","isNull","isNotNull","isNotNil","isNil","GeneratorFunction","legacyCheck","Function","constructor","is","e","stubFalse","isGeneratorFunction","curryN","either","pipe","type","identical","isAsyncFunction","isFunction","anyPass","isArray","Array","isIterable","val","Symbol","hasIn","iterator","Object","isEmptyArray","both","isEmpty","isNotArray","isNotEmpty","isNonEmptyArray","isBoolean","isNotBoolean","isNilOrEmpty","isString","isEmptyString","isNotString","_typeof","obj","prototype","isOfTypeObject","isObj","isNotObj","isNonEmptyString","allPass","isArrayLike","nodeType","length","has","isNotArrayLike","isNotGeneratorFunction","isNotAsyncFunction","isNotFunction","isObjLike","isNotObjLike","isObject","isObjectConstructor","toString","hasObjectConstructor","pathSatisfies","isPlainObj","proto","getPrototypeOf","isNotPlainObj","isDate","isNotDate","isNumber","isNaNPonyfill","isNaN","ponyfill","_isNaN","Number","isNotNaN","isValidDate","invoker","isNotValidDate","isNotNumber","isPositive","lt","isNegative","gt","isPositiveZero","isNegativeZero","isNotNilOrEmpty","isNonPositive","flip","lte","isNonNegative","gte","isMap","isNotMap","isFinitePonyfill","isFinite","_isFinite","bind","isNotFinite","isIntegerPonyfill","converge","Math","floor","identity","isInteger","toInteger32","isInteger32","isNotInteger","isBigInt","isFloat","isNotFloat","isValidNumber","isNotValidNumber","isOdd","modulo","isEven","isPair","isNotPair","isThenable","isPromise","isTrue","isFalse","isTruthy","Boolean","isFalsy","isRegExp","isNotRegExp","isSet","isNotSet","isSparseArray","values","isSymbol","MAX_SAFE_INTEGER","pow","isSafeIntegerPonyfill","value","abs","isSafeInteger","isIndexed","isError","isNaturalNumber","isPrimitive","isNotPrimitive","isSentinelValue","stubNull","stubObj","stubString","stubArray","noop","concat","empty","map","contramap","ap","of","chain","isFunctor","fl","isApply","applyF","applyX","apR","liftFN","curry","arity","fn","lifted","_len","arguments","args","_key","accumulator","head","apps","slice","Infinity","reduce","liftF","catamorphism","leftFn","rightFn","catamorphicObj","matchWith","Ok","_ref","Error","_ref2","Just","_ref3","Nothing","undefined","Success","_ref4","Failure","_ref5","cata","getOrElse","elseValue","random","weave","config","apply","run","weaveLazy","configAccessor","curryRightN","this","reverse","curryRight","allP","Promise","all","catchP","rejectP","reject","resolveP","resolve","noneP","p","then","makeDelay","settleFnPicker","opts","timeout","propOr","settleFn","setTimeout","partial","delayP","nth","thenP","thenCatchP","_toConsumableArray","arr","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","o","minLen","n","call","name","test","_unsupportedIterableToArray","TypeError","_nonIterableSpread","len","i","arr2","onFulfill","status","onReject","reason","allSettledPonyfill","iterable","array","allSettledPPonyfill","allSettledP","allSettled","Y","le","f","g","x","seq","fns","tap","tx","byArity","comparator","a","b","getMaxArity","sort","prop","iteratorFn","result","reduced","dispatch","ifElse","functions","async","generatorFn","asyncWrapper","handle","resolved","done","next","error","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","key","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","Reflect","construct","self","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_wrapNativeSuper","Class","_cache","Map","indexOf","get","set","Wrapper","_construct","create","_setPrototypeOf","Parent","push","instance","sham","Proxy","valueOf","setPrototypeOf","__proto__","AggregatedError","_Error","subClass","superClass","_inherits","Constructor","protoProps","staticProps","_super","_this","errors","message","_classCallCheck","anyPonyfill","exceptions","anyPPonyfill","anyP","any","compareLength","list","compose","lengthEq","lengthGte","lastP","fulfilled","rejected","listOfPromises","last","defaultWhen","predicate","defaultVal","mapIndexed","addIndex","fnull","defaults","argsWithDefaults","idx","reduceIndexed","filterIndexed","filter","containsIndex","indexes","index","contains","pickIndexes","unapply","ensureArray","when","leftIdentitySemigroup","concatAll","concatRight","_slicedToArray","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","err","_iterableToArrayLimit","_nonIterableRest","reduceP","acc","listLength","accP","currentValueP","previousValue","currentValue","reducer","flipArgs","reduceRight","reduceRightP","arg1","arg2","sliceFrom","__","sliceTo","rejectIndexed","omitIndexes","compact","appendFlipped","append","contained","move","fromIdx","toIdx","insert","remove","lengthGt","lengthLt","lengthLte","lengthNotEq","allEqual","uniq","repeat","count","validCount","RangeError","maxCount","log","substring","repeatStrPonyfill","repeatStrInvoker","repeatStr","String","allIdentical","uniqWith","allIdenticalTo","allEqualTo","flatten1","recursive","flatt","jlen","j","_makeFlat","flattenDepth","depth","currentDept","flatList","fromArray","items","mapFn","thisArg","boundMapFn","copyArray","fromPonyfill","toArray","allUnique","notAllUnique","_toArray","sortByProps","tail","firstTruthy","propName","skipTake","nthArg","rangeStep","step","to","callback","rangeEnd","range","findOr","find","defaultTo","invokeArgs","mpath","method","path","context","init","boundMethod","invoke","paths","ps","renameKeys","keysMap","renameKeysWith","valueOrKey","renameKeyWith","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","copyKeys","mergeRight","merge","mergeProps","mergeAll","mergePaths","mergePath","over","lensPath","mergeProp","subj","omitBy","useWith","pickBy","pathOrLazy","defaultFn","unary","pathOr","viewOr","defaultValue","lens","data","view","hasPath","objPath","spreadPath","dissocPath","spreadProp","flattenPath","flattenProp","unzipObjWith","toPairs","transpose","zipObjWith","zip","fromPairs","isPrototypeOf","lensEq","lensNotEq","lensSatisfies","lensNotSatisfy","isSameType","typeIdent","monad","functorTrait","applyTrait","applyWithFn","setoidTrait","setoid","semigroupTrait","semigroup","concatenatedValue","chainTrait","newChain","ordTrait","ord","Identity","_fl$of","_fl$ap","_fl$map","_fl$equals","_fl$concat","_fl$chain","_fl$lte","_fl$empty","_fl$contramap","_value","emptyR","lensTraverse","toFunctorFn","traverse","isomorphism","lensIso","isomorphic","propNotEq","propEq","pathNotEq","pathEq","inRangeImp","low","high","notEqual","overlaps","list1","list2","intersection","notBoth","nand","and","neither","nor","or","notAllPass","nonePass","argsPass","combiningPredicate","predicates","dropArgs","nAry","round","ceil","divideNum","divide","truncPonyfill","v","numV","trunc","signPonyfill","number","sign","subtractNum","subtract","toUinteger32","isCoercible","toNumber","NaN","escapeRegExp","replace","checkValue","valueName","replaceAll","searchValue","replaceValue","str","checkArguments","RegExp","checkSearchValue","regexp","replaceAllPonyfill","replaceAllInvoker","trimStartPonyfill","trimStartInvoker","trimStart","trimEndPonyfill","trimEndInvoker","trimEnd","trimCharsEnd","chars","split","dropLastWhile","join","trimCharsStart","dropWhile","padStartPonyfill","padString","targetLength","finalLength","finalPadString","lenghtToPad","padStartInvoker","padCharsStart","padStart","padEndPonyfill","remainingLength","padEndInvoker","padCharsEnd","padEnd","require","exports","_react","nodeInterop","__esModule","cache","_getRequireWildcardCache","newObj","hasPropertyDescriptor","hasOwnProperty","desc","_interopRequireWildcard","_downshift","_reactBus","_clCore","_iconCross","_interopRequireDefault","_react2","_ramda","_CustomDropdown","_styled","_useDebounced","_FetchData","_constants","_usePrevious","_jsxRuntime","WeakMap","cacheBabelInterop","cacheNodeInterop","Header","label","selected","handleClearSelected","jsxs","Flex","as","width","justifyContent","alignItems","children","jsx","Paragraph","textColor","id","onClick","tabIndex","onKeyDown","event","role","css","theme","colors","pinkRich","white","SR","color","useTheme","pinkBright","styles","Typeahead","apiUrl","handleSelection","dataTestId","inputId","input","useRef","_useState2","useState","rawData","setRawData","_useState4","inputItems","setInputItems","_useCombobox","useCombobox","onInputValueChange","_ref6","inputValue","isOpen","selectedItem","getMenuProps","getInputProps","getComboboxProps","getItemProps","highlightedIndex","useEffect","_input$current","current","focus","names","text","tnr","item","debouncedInputValue","inputValueLower","toLowerCase","trimRight","Box","padding","ref","veryLightGrey","fonts","sourceSansPro","height","paddingX","backgroundColor","query","getData","createElement","toLocaleLowerCase","substr","DropdownTypeahead","_ref7","_ref7$apiUrl","handleSelected","_ref7$preSelected","preSelected","_ref7$dataTestId","_ref7$typeaheadTestId","typeaheadTestId","formLabel","_useState6","setSelected","_useState8","selectedTnr","setSelectedTnr","bus","useBus","prevPreselected","usePrevious","emit","DROPDOWN_TYPEAHEAD_SELECTION_EVENT","htmlFor","slateDark","HeaderComponent","DropdownComponent","selection","_default","Provider","_camelcase","_kebabCase","_immutable","_ramdaAdjunct","urlsegmentMapping","filters","hasFilters","isSearch","search","console","selectedFilters","qualification","attendance","location","institution","subject","keyword","subjectParam","param","urlSetCallback","memoizedDefaultState","useMemo","filterGroup","_selected$location","_selected$institution","_selected$location2","fromJS","mapKeys","controlArray","selectedIds","control","includes","size","allIndex","findIndex","update","decodeURIComponent","toJS","getFormState","inputs","setInputs","newUrl","setUrl","inputsCheckedCount","mapObjIndexed","inputGroup","checked","omit","handleSubmit","persist","preventDefault","allNotSelected","inputChecked","some","allFiltersArray","slugs","segment","parseInt","filtered","shift","accUrl","encodeURIComponent","extraCriteriaSlug","subjectSlug","handleSubjectChange","prevInputs","handleInputChange","_event$currentTarget","currentTarget","inputSlice","_updated","setIn","currentIndex","updated","handleLocationChange","setNewUrl","DELETE","SHIFT","SIZE","MASK","NOT_SET","SetRef","OwnerID","ensureSize","__iterate","returnTrue","wrapIndex","uint32Index","wholeSlice","begin","end","isNeg","resolveBegin","resolveIndex","resolveEnd","defaultIndex","max","min","IS_COLLECTION_SYMBOL","isCollection","maybeCollection","IS_KEYED_SYMBOL","isKeyed","maybeKeyed","IS_INDEXED_SYMBOL","maybeIndexed","isAssociative","maybeAssociative","Collection","Seq","KeyedCollection","KeyedSeq","IndexedCollection","IndexedSeq","SetCollection","SetSeq","Keyed","Indexed","Set","IS_SEQ_SYMBOL","isSeq","maybeSeq","IS_RECORD_SYMBOL","isRecord","maybeRecord","isImmutable","maybeImmutable","IS_ORDERED_SYMBOL","isOrdered","maybeOrdered","ITERATE_KEYS","ITERATE_VALUES","ITERATE_ENTRIES","REAL_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","ITERATOR_SYMBOL","Iterator","iteratorValue","k","iteratorResult","iteratorDone","hasIterator","maybeIterable","getIteratorFn","isIterator","maybeIterator","getIterator","KEYS","VALUES","ENTRIES","inspect","toSource","Collection$$1","emptySequence","toSeq","maybeIndexedSeqFromValue","ObjectSeq","seqFromValue","__toString","cacheResult","__iterateUncached","entrySeq","entry","__iterator","__iteratorUncached","toKeyedSeq","fromEntrySeq","keyedSeqFromValue","toIndexedSeq","indexedSeqFromValue","toSetSeq","ArraySeq","_array","notSetValue","ii","_object","_keys","EMPTY_SEQ","CollectionSeq","collection","_collection","iterations","IS_MAP_SYMBOL","maybeMap","isOrderedMap","maybeOrderedMap","isValueObject","maybeValue","hashCode","valueA","valueB","imul","c","d","smi","i32","defaultValueOf","hash","hashNumber","STRING_HASH_CACHE_MIN_STRLEN","string","hashed","stringHashCache","hashString","STRING_HASH_CACHE_SIZE","STRING_HASH_CACHE_MAX_SIZE","cachedHashString","usingWeakMap","weakMap","UID_HASH_KEY","canDefineProperty","propertyIsEnumerable","node","uniqueID","documentElement","getIENodeHash","objHashUID","isExtensible","hashJSObj","charCodeAt","ToKeyedSequence","KeyedSeq$$1","indexed","useKeys","_iter","_useKeys","valueSeq","this$1","reversedSequence","reverseFactory","mapper","mappedSequence","mapFactory","ToIndexedSequence","IndexedSeq$$1","ToSetSequence","SetSeq$$1","FromEntriesSequence","entries","validateEntry","indexedCollection","flipFactory","flipSequence","makeSequence","cacheResultThrough","filterFactory","filterSequence","sliceFactory","originalSize","resolvedBegin","resolvedEnd","sliceSize","resolvedSize","sliceSeq","skipped","isSkipping","skipWhileFactory","skipSequence","skipping","flattenFactory","flatSequence","stopped","flatDeep","currentDepth","stack","pop","sortFactory","defaultComparator","isKeyedCollection","maxFactory","maxCompare","comp","zipWithFactory","keyIter","zipper","iters","zipAll","zipSequence","sizes","iterators","isDone","steps","every","s","reify","collectionClass","arrCopy","offset","newArr","invariant","condition","assertNotInfinite","coerceKeyPath","keyPath","isDataStructure","quoteString","JSON","stringify","_ignoreError","shallowCopy","collectionCopy","splice","updateIn","updater","updatedValue","updateInDeeply","inImmutable","existing","wasNotSet","existingValue","newValue","nextExisting","nextUpdated","emptyMap","setIn$1","removeIn","deleteIn","update$1","updateIn$1","mergeIntoKeyedWith","mergeWith","merger","collections","collection$1","__ownerID","withMutations","mergeIntoCollection","oldVal","merge$1","sources","mergeWithSources","mergeWith$1","mergeDeep","mergeDeepWithSources","mergeDeepWith","deepMerger","oldValue","deepMergerWith","merged","mergeItem","hasVal","nextVal","mergeDeep$1","mergeDeepWith$1","mergeIn","m","mergeDeepIn","mutable","asMutable","wasAltered","__ensureOwner","asImmutable","__altered","KeyedCollection$$1","keyValues","_root","updateMap","deleteAll","clear","__hash","OrderedMap","sortBy","MapIterator","iterate","ownerID","makeMap","MapPrototype","removeAll","ArrayMapNode","keyHash","didChangeSize","didAlter","removed","exists","MAX_ARRAY_MAP_SIZE","ValueNode","createNodes","isEditable","newEntries","BitmapIndexedNode","bitmap","nodes","bit","popCount","keyHashFrag","newNode","updateNode","MAX_BITMAP_INDEXED_SIZE","including","expandedNodes","HashArrayMapNode","expandNodes","isLeafNode","newBitmap","newNodes","setAt","canEdit","newLen","newArray","after","spliceOut","spliceIn","newCount","MIN_HASH_ARRAY_MAP_SIZE","excluding","packedII","packedNodes","packNodes","HashCollisionNode","mergeIntoNode","keyMatch","maxIndex","EMPTY_MAP","Iterator$$1","_type","_reverse","_stack","mapIteratorFrame","mapIteratorValue","subNode","__prev","prev","root","hash$$1","newRoot","newSize","idx1","idx2","IS_LIST_SYMBOL","isList","maybeList","List","IndexedCollection$$1","emptyList","makeList","VNode","setSize","listNodeFor","_origin","setListBounds","newTail","_tail","getTailOffset","_capacity","updateVNode","_level","updateList","oldSize","unshift","arguments$1","seqs","argument","iterateList","DONE","ListPrototype","removeBefore","level","originIndex","newChild","removingFirst","oldChild","editable","editableVNode","removeAfter","sizeIndex","EMPTY_LIST","left","right","tailPos","iterateNodeOrLeaf","iterateLeaf","iterateNode","origin","capacity","nodeHas","lowerNode","newLowerNode","rawIndex","owner","oldOrigin","oldCapacity","newOrigin","newCapacity","newLevel","offsetShift","oldTailOffset","newTailOffset","oldTail","beginIndex","EMPTY_ORDERED_MAP","Map$$1","emptyOrderedMap","_map","_list","updateOrderedMap","newMap","newList","makeOrderedMap","omap","toMap","IS_STACK_SYMBOL","isStack","maybeStack","Stack","emptyStack","pushAll","_head","peek","makeStack","EMPTY_STACK","StackPrototype","unshiftAll","IS_SET_SYMBOL","maybeSet","isOrderedSet","maybeOrderedSet","deepEqual","notAssociative","flipped","_","bSize","mixin","ctor","methods","keyCopier","result$1","SetCollection$$1","emptySet","add","fromKeys","keySeq","intersect","sets","SetPrototype","union","updateSet","removes","adds","mapped","toRemove","OrderedSet","__make","__empty","EMPTY_SET","makeSet","EMPTY_RANGE","Range","start","_start","_end","_step","possibleIndex","offsetValue","lastIndexOf","other","getIn","searchKeyPath","getIn$1","toObject","useTuples","toOrderedMap","toOrderedSet","toSet","toStack","toList","__toStringMapper","singleton","concatSeq","flatten","sum","concatFactory","returnValue","findEntry","sideEffect","separator","joined","isFirst","initialReduction","not","butLast","countBy","grouper","groups","countByFactory","entriesSequence","entryMapper","filterNot","found","findKey","findLast","findLastEntry","findLastKey","first","flatMap","coerce","flatMapFactory","searchKey","groupBy","isKeyedIter","groupByFactory","isSubset","isSuperset","keyOf","keyMapper","lastKeyOf","maxBy","neg","defaultNegComparator","minBy","rest","skip","amount","skipLast","skipWhile","skipUntil","take","takeLast","takeWhile","takeSequence","iterating","takeWhileFactory","takeUntil","ordered","keyed","h","murmurHashOfSize","hashMerge","hashCollection","CollectionPrototype","toJSON","mapEntries","KeyedCollectionPrototype","removeNum","numArgs","spliced","findLastIndex","interpose","interposedSequence","interposeFactory","interleave","zipped","interleaved","defaultZipper","zipWith","IndexedCollectionPrototype","reduction","useFirst","Set$$1","emptyOrderedSet","EMPTY_ORDERED_SET","OrderedSetPrototype","makeOrderedSet","Record","defaultValues","hasInitialized","RecordType","indices","RecordTypePrototype","_indices","_name","_defaultValues","warn","recordName","setProp","_values","l","RecordPrototype","displayName","recordSeq","newValues","makeRecord","getDescriptiveName","likeRecord","record","EMPTY_REPEAT","Repeat","times","converter","fromJSWith","defaultConverter","parentValue","converted","version","Immutable","Iterable"],"mappings":"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","file":"static/js/3.64ae2eae.chunk.js","sourcesContent":["import { always } from 'ramda';\n/**\n * A function that returns `undefined`.\n *\n * @func stubUndefined\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.0.0|v1.0.0}\n * @category Function\n * @sig ... -> undefined\n * @return {undefined}\n * @example\n *\n * RA.stubUndefined(); //=> undefined\n * RA.stubUndefined(1, 2, 3); //=> undefined\n */\n\nvar stubUndefined = always(void 0); // eslint-disable-line no-void\n\nexport default stubUndefined;","import { equals } from 'ramda';\nimport stubUndefined from './stubUndefined';\n/**\n * Checks if input value is `undefined`.\n *\n * @func isUndefined\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.0.1|v0.0.1}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotUndefined|isNotUndefined}\n * @example\n *\n * RA.isUndefined(1); //=> false\n * RA.isUndefined(undefined); //=> true\n * RA.isUndefined(null); //=> false\n */\n\nvar isUndefined = equals(stubUndefined());\nexport default isUndefined;","import { complement } from 'ramda';\nimport isUndefined from './isUndefined';\n/**\n * Checks if input value is complement `undefined`.\n *\n * @func isNotUndefined\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.0.1|v0.0.1}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isUndefined|isUndefined}\n * @example\n *\n * RA.isNotUndefined(1); //=> true\n * RA.isNotUndefined(undefined); //=> false\n * RA.isNotUndefined(null); //=> true\n */\n\nvar isNotUndefined = complement(isUndefined);\nexport default isNotUndefined;","import { equals } from 'ramda';\n/**\n * Checks if input value is `null`.\n *\n * @func isNull\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.1.0|v0.1.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotNull|isNotNull}\n * @example\n *\n * RA.isNull(1); //=> false\n * RA.isNull(undefined); //=> false\n * RA.isNull(null); //=> true\n */\n\nvar isNull = equals(null);\nexport default isNull;","import { complement } from 'ramda';\nimport isNull from './isNull';\n/**\n * Checks if input value is complement of `null`.\n *\n * @func isNotNull\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.1.0|v0.1.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNull|isNull}\n * @example\n *\n * RA.isNotNull(1); //=> true\n * RA.isNotNull(undefined); //=> true\n * RA.isNotNull(null); //=> false\n */\n\nvar isNotNull = complement(isNull);\nexport default isNotNull;","import { isNil, complement } from 'ramda';\n/**\n * Checks if input value is complement of `null` or `undefined`.\n *\n * @func isNotNil\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.3.0|v0.3.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link http://ramdajs.com/docs/#isNil|R.isNil}\n * @example\n *\n * RA.isNotNil(null); //=> false\n * RA.isNotNil(undefined); //=> false\n * RA.isNotNil(0); //=> true\n * RA.isNotNil([]); //=> true\n */\n\nvar isNotNil = complement(isNil);\nexport default isNotNil;","import { type, is, F as stubFalse, either, identical, pipe, curryN } from 'ramda';\nvar GeneratorFunction = null;\nvar legacyCheck = null;\n\ntry {\n GeneratorFunction = new Function('return function* () {}')().constructor; // eslint-disable-line no-new-func\n\n legacyCheck = is(GeneratorFunction);\n} catch (e) {\n legacyCheck = stubFalse;\n}\n/**\n * Checks if input value is `Generator Function`.\n *\n * @func isGeneratorFunction\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isFunction|isFunction}, {@link RA.isAsyncFunction|isAsyncFunction}, {@link RA.isNotGeneratorFunction|isNotGeneratorFunction}\n * @example\n *\n * RA.isGeneratorFunction(function* test() { }); //=> true\n * RA.isGeneratorFunction(null); //=> false\n * RA.isGeneratorFunction(function test() { }); //=> false\n * RA.isGeneratorFunction(() => {}); //=> false\n */\n\n\nvar isGeneratorFunction = curryN(1, either(pipe(type, identical('GeneratorFunction')), legacyCheck));\nexport default isGeneratorFunction;","import { pipe, type, identical, curryN } from 'ramda';\n/**\n * Checks if input value is `Async Function`.\n *\n * @func isAsyncFunction\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isFunction|isFunction}, {@link RA.isNotAsyncFunction|isNotAsyncFunction}, {@link RA.isGeneratorFunction|isGeneratorFunction}\n * @example\n *\n * RA.isAsyncFunction(async function test() { }); //=> true\n * RA.isAsyncFunction(null); //=> false\n * RA.isAsyncFunction(function test() { }); //=> false\n * RA.isAsyncFunction(() => {}); //=> false\n */\n\nvar isAsyncFunction = curryN(1, pipe(type, identical('AsyncFunction')));\nexport default isAsyncFunction;","import { anyPass, type, pipe, identical } from 'ramda';\nimport isGeneratorFunction from './isGeneratorFunction';\nimport isAsyncFunction from './isAsyncFunction';\n/**\n * Checks if input value is `Function`.\n *\n * @func isFunction\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotFunction|isNotFunction}, {@link RA.isAsyncFunction|isNotAsyncFunction}, {@link RA.isGeneratorFunction|isGeneratorFunction}\n * @example\n *\n * RA.isFunction(function test() { }); //=> true\n * RA.isFunction(function* test() { }); //=> true\n * RA.isFunction(async function test() { }); //=> true\n * RA.isFunction(() => {}); //=> true\n * RA.isFunction(null); //=> false\n * RA.isFunction('abc'); //=> false\n */\n\nvar isFunction = anyPass([pipe(type, identical('Function')), isGeneratorFunction, isAsyncFunction]);\nexport default isFunction;","import { curryN, pipe, type, identical } from 'ramda';\nimport isFunction from './isFunction';\n/**\n * Checks if input value is `Array`.\n *\n * @func isArray\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.3.0|v0.3.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotArray|isNotArray}\n * @example\n *\n * RA.isArray([]); //=> true\n * RA.isArray(null); //=> false\n * RA.isArray({}); //=> false\n */\n\nvar isArray = curryN(1, isFunction(Array.isArray) ? Array.isArray : pipe(type, identical('Array')));\nexport default isArray;","import { hasIn, curryN } from 'ramda';\nimport isFunction from './isFunction';\n/**\n * Checks whether the passed value is iterable.\n *\n * @func isIterable\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.18.0|v2.18.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol}\n * @return {boolean}\n * @example\n *\n * RA.isIterable(['arrays', 'are', 'iterable']); //=> true\n * RA.isIterable('strings are iterable, too'); //=> true\n * RA.isIterable((function* () {})()); //=> true (generator objects are both iterable and iterators)\n *\n * RA.isIterable({}); //=> false\n * RA.isIterable(-0); //=> false\n * RA.isIterable(null); //=> false\n * RA.isIterable(undefined); //=> false\n */\n\nvar isIterable = curryN(1, function (val) {\n if (typeof Symbol === 'undefined') {\n return false;\n }\n\n return hasIn(Symbol.iterator, Object(val)) && isFunction(val[Symbol.iterator]);\n});\nexport default isIterable;","import { both, isEmpty } from 'ramda';\nimport isArray from './isArray';\n/**\n * Checks if input value is an empty `Array`.\n *\n * @func isEmptyArray\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotEmptyArray|isNotEmptyArray}\n * @example\n *\n * RA.isEmptyArray([]); // => true\n * RA.isEmptyArray([42]); // => false\n * RA.isEmptyArray({}); // => false\n * RA.isEmptyArray(null); // => false\n * RA.isEmptyArray(undefined); // => false\n * RA.isEmptyArray(42); // => false\n * RA.isEmptyArray('42'); // => false\n */\n\nvar isEmptyArray = both(isArray, isEmpty);\nexport default isEmptyArray;","import { complement } from 'ramda';\nimport isArray from './isArray';\n/**\n * Checks if input value is complement of `Array`\n *\n * @func isNotArray\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.3.0|v0.3.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isArray|isArray}\n * @example\n *\n * RA.isNotArray([]); //=> false\n * RA.isNotArray(null); //=> true\n * RA.isNotArray({}); //=> true\n */\n\nvar isNotArray = complement(isArray);\nexport default isNotArray;","import { complement, isEmpty } from 'ramda';\n/**\n * Returns true if the given value is not its type's empty value; `false` otherwise.\n *\n * @func isNotEmpty\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.4.0|v0.4.0}\n * @category Logic\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link http://ramdajs.com/docs/#isEmpty|R.isEmpty}\n * @example\n *\n * RA.isNotEmpty([1, 2, 3]); //=> true\n * RA.isNotEmpty([]); //=> false\n * RA.isNotEmpty(''); //=> false\n * RA.isNotEmpty(null); //=> true\n * RA.isNotEmpty(undefined): //=> true\n * RA.isNotEmpty({}); //=> false\n * RA.isNotEmpty({length: 0}); //=> true\n */\n\nvar isNotEmpty = complement(isEmpty);\nexport default isNotEmpty;","import { both } from 'ramda';\nimport isNotEmpty from './isNotEmpty';\nimport isArray from './isArray';\n/**\n * Checks if input value is not an empty `Array`.\n *\n * @func isNonEmptyArray\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isEmptyArray|isEmptyArray}\n * @example\n *\n * RA.isNonEmptyArray([42]); // => true\n * RA.isNonEmptyArray([]); // => false\n * RA.isNonEmptyArray({}); // => false\n * RA.isNonEmptyArray(null); // => false\n * RA.isNonEmptyArray(undefined); // => false\n * RA.isNonEmptyArray(42); // => false\n * RA.isNonEmptyArray('42'); // => false\n */\n\nvar isNonEmptyArray = both(isArray, isNotEmpty);\nexport default isNonEmptyArray;","import { type, identical, pipe, curryN } from 'ramda';\n/**\n * Checks if input value is `Boolean`.\n *\n * @func isBoolean\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.3.0|v0.3.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotBoolean|isNotBoolean}\n * @example\n *\n * RA.isBoolean(false); //=> true\n * RA.isBoolean(true); //=> true\n * RA.isBoolean(null); //=> false\n */\n\nvar isBoolean = curryN(1, pipe(type, identical('Boolean')));\nexport default isBoolean;","import { complement } from 'ramda';\nimport isBoolean from './isBoolean';\n/**\n * Checks if input value is complement of `Boolean`.\n *\n * @func isNotBoolean\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.3.0|v0.3.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isBoolean|isBoolean}\n * @example\n *\n * RA.isNotBoolean(false); //=> false\n * RA.isNotBoolean(true); //=> false\n * RA.isNotBoolean(null); //=> true\n */\n\nvar isNotBoolean = complement(isBoolean);\nexport default isNotBoolean;","import { either, isEmpty, isNil, curryN } from 'ramda';\n/**\n * Returns `true` if the given value is its type's empty value, `null` or `undefined`.\n *\n * @func isNilOrEmpty\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.4.0|v0.4.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link http://ramdajs.com/docs/#isEmpty|R.isEmpty}, {@link http://ramdajs.com/docs/#isNil|R.isNil}\n * @example\n *\n * RA.isNilOrEmpty([1, 2, 3]); //=> false\n * RA.isNilOrEmpty([]); //=> true\n * RA.isNilOrEmpty(''); //=> true\n * RA.isNilOrEmpty(null); //=> true\n * RA.isNilOrEmpty(undefined): //=> true\n * RA.isNilOrEmpty({}); //=> true\n * RA.isNilOrEmpty({length: 0}); //=> false\n */\n\nvar isNilOrEmpty = curryN(1, either(isNil, isEmpty));\nexport default isNilOrEmpty;","import { curryN, pipe, type, identical } from 'ramda';\n/**\n * Checks if input value is `String`.\n *\n * @func isString\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.4.0|v0.4.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotString|isNotString}\n * @example\n *\n * RA.isString('abc'); //=> true\n * RA.isString(1); //=> false\n */\n\nvar isString = curryN(1, pipe(type, identical('String')));\nexport default isString;","import { equals } from 'ramda';\n/**\n * Checks if input value is an empty `String`.\n *\n * @func isEmptyString\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotEmptyString|isNotEmptyString}\n * @example\n *\n * RA.isEmptyString(''); // => true\n * RA.isEmptyString('42'); // => false\n * RA.isEmptyString(new String('42')); // => false\n * RA.isEmptyString(new String('')); // => false\n * RA.isEmptyString([42]); // => false\n * RA.isEmptyString({}); // => false\n * RA.isEmptyString(null); // => false\n * RA.isEmptyString(undefined); // => false\n * RA.isEmptyString(42); // => false\n */\n\nvar isEmptyString = equals('');\nexport default isEmptyString;","import { complement } from 'ramda';\nimport isString from './isString';\n/**\n * Checks if input value is complement of `String`.\n *\n * @func isNotString\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.4.0|v0.4.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isString|isString}\n * @example\n *\n * RA.isNotString('abc'); //=> false\n * RA.isNotString(1); //=> true\n */\n\nvar isNotString = complement(isString);\nexport default isNotString;","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nvar isOfTypeObject = function isOfTypeObject(val) {\n return _typeof(val) === 'object';\n};\n\nexport default isOfTypeObject;","import { both, either, curryN } from 'ramda';\nimport isNotNull from './isNotNull';\nimport isFunction from './isFunction';\nimport isOfTypeObject from './internal/isOfTypeObject';\n/* eslint-disable max-len */\n\n/**\n * Checks if input value is language type of `Object`.\n *\n * @func isObj\n * @aliases isObject\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotObj|isNotObj}, {@link RA.isObjLike|isObjLike}, {@link RA.isPlainObj|isPlainObj}\n * @example\n *\n * RA.isObj({}); //=> true\n * RA.isObj([]); //=> true\n * RA.isObj(() => {}); //=> true\n * RA.isObj(null); //=> false\n * RA.isObj(undefined); //=> false\n */\n\n/* eslint-enable max-len */\n\nvar isObj = curryN(1, both(isNotNull, either(isOfTypeObject, isFunction)));\nexport default isObj;","import { complement } from 'ramda';\nimport isObj from './isObj';\n/* eslint-disable max-len */\n\n/**\n * Checks if input value is complement of language type of `Object`.\n *\n * @func isNotObj\n * @aliases isNotObject\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isObj|isObj}, {@link RA.isObjLike|isObjLike}, {@link RA.isPlainObj|isPlainObj}\n * @example\n *\n * RA.isNotObj({}); //=> false\n * RA.isNotObj([]); //=> false\n * RA.isNotObj(() => {}); //=> false\n * RA.isNotObj(null); //=> true\n * RA.isNotObj(undefined); //=> true\n */\n\n/* eslint-enable max-len */\n\nvar isNotObj = complement(isObj);\nexport default isNotObj;","import { allPass } from 'ramda';\nimport isString from './isString';\nimport isNotObj from './isNotObj';\nimport isNotEmpty from './isNotEmpty';\n/**\n * Checks if input value is not an empty `String`.\n *\n * @func isNonEmptyString\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isEmptyString|isEmptyString}\n * @example\n *\n * RA.isNonEmptyString('42'); // => true\n * RA.isNonEmptyString(''); // => false\n * RA.isNonEmptyString(new String('42')); // => false\n * RA.isNonEmptyString(new String('')); // => false\n * RA.isNonEmptyString([42]); // => false\n * RA.isNonEmptyString({}); // => false\n * RA.isNonEmptyString(null); // => false\n * RA.isNonEmptyString(undefined); // => false\n * RA.isNonEmptyString(42); // => false\n */\n\nvar isNonEmptyString = allPass([isString, isNotObj, isNotEmpty]);\nexport default isNonEmptyString;","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nimport { has, curryN } from 'ramda';\nimport isArray from './isArray';\nimport isString from './isString';\n/* eslint-disable max-len */\n\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @func isArrayLike\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.9.0|v1.9.0}\n * @licence https://github.com/ramda/ramda/blob/master/LICENSE.txt\n * @category List\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @returns {boolean} `true` if `val` has a numeric length property and extreme indices defined; `false` otherwise.\n * @see {@link RA.isNotArrayLike|isNotArrayLike}\n\n * @example\n *\n * RA.isArrayLike([]); //=> true\n * RA.isArrayLike(true); //=> false\n * RA.isArrayLike({}); //=> false\n * RA.isArrayLike({length: 10}); //=> false\n * RA.isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\n\n/* eslint-enable max-len */\n\nvar isArrayLike = curryN(1, function (val) {\n if (isArray(val)) {\n return true;\n }\n\n if (!val) {\n return false;\n }\n\n if (isString(val)) {\n return false;\n }\n\n if (_typeof(val) !== 'object') {\n return false;\n }\n\n if (val.nodeType === 1) {\n return !!val.length;\n }\n\n if (val.length === 0) {\n return true;\n }\n\n if (val.length > 0) {\n return has(0, val) && has(val.length - 1, val);\n }\n\n return false;\n});\nexport default isArrayLike;\n/**\n The MIT License (MIT)\n\n Copyright (c) 2013-2016 Scott Sauyet and Michael Hurley\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n*/","import { complement } from 'ramda';\nimport isArrayLike from './isArrayLike';\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @func isNotArrayLike\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isArrayLike|isArrayLike}\n * @example\n *\n * RA.isNotArrayLike([]); //=> false\n * RA.isNotArrayLike(true); //=> true\n * RA.isNotArrayLike({}); //=> true\n * RA.isNotArrayLike({length: 10}); //=> true\n * RA.isNotArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> false\n */\n\nvar isNotArrayLike = complement(isArrayLike);\nexport default isNotArrayLike;","import { complement } from 'ramda';\nimport isGeneratorFunction from './isGeneratorFunction';\n/* eslint-disable max-len */\n\n/**\n * Checks if input value is complement of `Generator Function`\n *\n * @func isNotGeneratorFunction\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isFunction|isFunction}, {@link RA.isAsyncFunction|isAsyncFunction}, {@link RA.isGeneratorFunction|isGeneratorFunction}\n * @example\n *\n * RA.isNotGeneratorFunction(function* test() { }); //=> false\n * RA.isNotGeneratorFunction(null); //=> true\n * RA.isNotGeneratorFunction(function test() { }); //=> true\n * RA.isNotGeneratorFunction(() => {}); //=> true\n */\n\n/* eslint-enable max-len */\n\nvar isNotGeneratorFunction = complement(isGeneratorFunction);\nexport default isNotGeneratorFunction;","import { complement } from 'ramda';\nimport isAsyncFunction from './isAsyncFunction';\n/* eslint-disable max-len */\n\n/**\n * Checks if input value is complement of `Async Function`\n *\n * @func isNotAsyncFunction\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isFunction|isFunction}, {@link RA.isAsyncFunction|isAsyncFunction}, {@link RA.isGeneratorFunction|isGeneratorFunction}\n * @example\n *\n * RA.isNotAsyncFunction(async function test() { }); //=> false\n * RA.isNotAsyncFunction(null); //=> true\n * RA.isNotAsyncFunction(function test() { }); //=> true\n * RA.isNotAsyncFunction(() => {}); //=> true\n */\n\n/* eslint-enable max-len */\n\nvar isNotAsyncFunction = complement(isAsyncFunction);\nexport default isNotAsyncFunction;","import { complement } from 'ramda';\nimport isFunction from './isFunction';\n/* eslint-disable max-len */\n\n/**\n * Checks if input value is complement of `Function`.\n *\n * @func isNotFunction\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isFunction|isFunction}, {@link RA.isAsyncFunction|isNotAsyncFunction}, {@link RA.isGeneratorFunction|isGeneratorFunction}\n * @example\n *\n * RA.isNotFunction(function test() { }); //=> false\n * RA.isNotFunction(function* test() { }); //=> false\n * RA.isNotFunction(async function test() { }); //=> false\n * RA.isNotFunction(() => {}); //=> false\n * RA.isNotFunction(null); //=> true\n * RA.isNotFunction('abc'); //=> true\n */\n\n/* eslint-enable max-len */\n\nvar isNotFunction = complement(isFunction);\nexport default isNotFunction;","import { both, curryN } from 'ramda';\nimport isNotNull from './isNotNull';\nimport isOfTypeObject from './internal/isOfTypeObject';\n/* eslint-disable max-len */\n\n/**\n * Checks if value is object-like. A value is object-like if it's not null and has a typeof result of \"object\".\n *\n * @func isObjLike\n * @aliases isObjectLike\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotObjLike|isNotObjLike}, {@link RA.isObj|isObj}, {@link RA.isPlainObj|isPlainObj}\n * @example\n *\n * RA.isObjLike({}); //=> true\n * RA.isObjLike([]); //=> true\n * RA.isObjLike(() => {}); //=> false\n * RA.isObjLike(null); //=> false\n * RA.isObjLike(undefined); //=> false\n */\n\n/* eslint-enable max-len */\n\nvar isObjLike = curryN(1, both(isNotNull, isOfTypeObject));\nexport default isObjLike;","import { complement } from 'ramda';\nimport isObjLike from './isObjLike';\n/* eslint-disable max-len */\n\n/**\n * Checks if value is not object-like. A value is object-like if it's not null and has a typeof result of \"object\".\n *\n * @func isNotObjLike\n * @aliases isNotObjectLike\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isObjLike|isObjLike}, {@link RA.isObj|isObj}, {@link RA.isPlainObj|isPlainObj}\n * @example\n *\n * RA.isNotObjLike({}); //=> false\n * RA.isNotObjLike([]); //=> false\n * RA.isNotObjLike(() => {}); //=> true\n * RA.isNotObjLike(null); //=> true\n * RA.isNotObjLike(undefined); //=> true\n */\n\n/* eslint-enable max-len */\n\nvar isNotObjLike = complement(isObjLike);\nexport default isNotObjLike;","import { pipe, type, identical, both, equals, toString, pathSatisfies, curryN } from 'ramda';\nimport isNull from './isNull';\nimport isObjLike from './isObjLike';\nimport isFunction from './isFunction';\nvar isObject = pipe(type, identical('Object'));\nvar isObjectConstructor = pipe(toString, equals(toString(Object)));\nvar hasObjectConstructor = pathSatisfies(both(isFunction, isObjectConstructor), ['constructor']);\n/* eslint-disable max-len */\n\n/**\n * Check to see if an object is a plain object (created using `{}`, `new Object()` or `Object.create(null)`).\n *\n * @func isPlainObj\n * @aliases isPlainObject\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotPlainObj|isNotPlainObj}, {@link RA.isObjLike|isObjLike}, {@link RA.isObj|isObj}\n * @example\n *\n * class Bar {\n * constructor() {\n * this.prop = 'value';\n * }\n * }\n *\n * RA.isPlainObj(new Bar()); //=> false\n * RA.isPlainObj({ prop: 'value' }); //=> true\n * RA.isPlainObj(['a', 'b', 'c']); //=> false\n * RA.isPlainObj(Object.create(null); //=> true\n * RA.isPlainObj(new Object()); //=> true\n */\n\n/* eslint-enable max-len */\n\nvar isPlainObj = curryN(1, function (val) {\n if (!isObjLike(val) || !isObject(val)) {\n return false;\n }\n\n var proto = Object.getPrototypeOf(val);\n\n if (isNull(proto)) {\n return true;\n }\n\n return hasObjectConstructor(proto);\n});\nexport default isPlainObj;","import { complement } from 'ramda';\nimport isPlainObj from './isPlainObj';\n/* eslint-disable max-len */\n\n/**\n * Check to see if an object is a not plain object (created using `{}`, `new Object()` or `Object.create(null)`).\n *\n * @func isNotPlainObj\n * @aliases isNotPlainObject\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isPlainObj|isPlainObj}, {@link RA.isObjLike|isObjLike}, {@link RA.isObj|isObj}\n * @example\n *\n * class Bar {\n * constructor() {\n * this.prop = 'value';\n * }\n * }\n *\n * RA.isNotPlainObj(new Bar()); //=> true\n * RA.isNotPlainObj({ prop: 'value' }); //=> false\n * RA.isNotPlainObj(['a', 'b', 'c']); //=> true\n * RA.isNotPlainObj(Object.create(null); //=> false\n * RA.isNotPlainObj(new Object()); //=> false\n */\n\n/* eslint-enable max-len */\n\nvar isNotPlainObj = complement(isPlainObj);\nexport default isNotPlainObj;","import { type, identical, pipe, curryN } from 'ramda';\n/**\n * Checks if value is `Date` object.\n *\n * @func isDate\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.6.0|v0.6.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotDate|isNotDate}, {@link RA.isValidDate|isValidDate}, {@link RA.isNotValidDate|isNotValidDate}\n * @example\n *\n * RA.isDate(new Date()); //=> true\n * RA.isDate('1997-07-16T19:20+01:00'); //=> false\n */\n\nvar isDate = curryN(1, pipe(type, identical('Date')));\nexport default isDate;","import { complement } from 'ramda';\nimport isDate from './isDate';\n/**\n * Checks if value is complement of `Date` object.\n *\n * @func isNotDate\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.6.0|v0.6.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isDate|isDate}\n * @example\n *\n * RA.isNotDate(new Date()); //=> false\n * RA.isNotDate('1997-07-16T19:20+01:00'); //=> true\n */\n\nvar isNotDate = complement(isDate);\nexport default isNotDate;","import { curryN, pipe, type, identical } from 'ramda';\n/**\n * Checks if value is a `Number` primitive or object.\n *\n * @func isNumber\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.6.0|v0.6.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotNumber|isNotNumber}\n * @example\n *\n * RA.isNumber(5); // => true\n * RA.isNumber(Number.MAX_VALUE); // => true\n * RA.isNumber(-Infinity); // => true\n * RA.isNumber(NaN); // => true\n * RA.isNumber('5'); // => false\n */\n\nvar isNumber = curryN(1, pipe(type, identical('Number')));\nexport default isNumber;","import { both } from 'ramda';\nimport isNumber from '../../isNumber'; // eslint-disable-next-line no-restricted-globals\n\nvar isNaNPonyfill = both(isNumber, isNaN);\nexport default isNaNPonyfill;","import { curryN } from 'ramda';\nimport isFunction from './isFunction';\nimport ponyfill from './internal/ponyfills/Number.isNaN';\nexport var isNaNPonyfill = curryN(1, ponyfill);\n/**\n * Checks whether the passed value is `NaN` and its type is `Number`.\n * It is a more robust version of the original, global isNaN().\n *\n *\n * @func isNaN\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.6.0|v0.6.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotNaN|isNotNaN}\n * @example\n *\n * RA.isNaN(NaN); // => true\n * RA.isNaN(Number.NaN); // => true\n * RA.isNaN(0 / 0); // => true\n *\n * // e.g. these would have been true with global isNaN().\n * RA.isNaN('NaN'); // => false\n * RA.isNaN(undefined); // => false\n * RA.isNaN({}); // => false\n * RA.isNaN('blabla'); // => false\n *\n * RA.isNaN(true); // => false\n * RA.isNaN(null); // => false\n * RA.isNaN(37); // => false\n * RA.isNaN('37'); // => false\n * RA.isNaN('37.37'); // => false\n * RA.isNaN(''); // => false\n * RA.isNaN(' '); // => false\n */\n\nvar _isNaN = isFunction(Number.isNaN) ? curryN(1, Number.isNaN) : isNaNPonyfill;\n\nexport default _isNaN;","import { complement } from 'ramda';\nimport _isNaN from './isNaN';\n/**\n * Checks whether the passed value is complement of `NaN` and its type is not `Number`.\n *\n * @func isNotNaN\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.6.0|v0.6.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNaN|isNaN}\n * @example\n *\n * RA.isNotNaN(NaN); // => false\n * RA.isNotNaN(Number.NaN); // => false\n * RA.isNotNaN(0 / 0); // => false\n *\n * RA.isNotNaN('NaN'); // => true\n * RA.isNotNaN(undefined); // => true\n * RA.isNotNaN({}); // => true\n * RA.isNotNaN('blabla'); // => true\n *\n * RA.isNotNaN(true); // => true\n * RA.isNotNaN(null); // => true\n * RA.isNotNaN(37); // => true\n * RA.isNotNaN('37'); // => true\n * RA.isNotNaN('37.37'); // => true\n * RA.isNotNaN(''); // => true\n * RA.isNotNaN(' '); // => true\n */\n\nvar isNotNaN = complement(_isNaN);\nexport default isNotNaN;","import { invoker, both, pipe, curryN } from 'ramda';\nimport isDate from './isDate';\nimport isNotNaN from './isNotNaN';\n/* eslint-disable max-len */\n\n/**\n * Checks if value is valid `Date` object.\n *\n * @func isValidDate\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.8.0|v1.8.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isDate|isDate}, {@link RA.isNotDate|isNotDate}, {@link RA.isNotValidDate|isNotValidDate}\n * @example\n *\n * RA.isValidDate(new Date()); //=> true\n * RA.isValidDate(new Date('a')); //=> false\n */\n\n/* eslint-enable max-len */\n\nvar isValidDate = curryN(1, both(isDate, pipe(invoker(0, 'getTime'), isNotNaN)));\nexport default isValidDate;","import { complement } from 'ramda';\nimport isValidDate from './isValidDate';\n/**\n * Checks if value is complement of valid `Date` object.\n *\n * @func isNotValidDate\n * @aliases isInvalidDate\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.8.0|v1.8.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isValidDate|isValidDate}, {@link RA.isDate|isDate}, {@link RA.isNotDate|isNotDate}\n * @example\n *\n * RA.isNotValidDate(new Date()); //=> false\n * RA.isNotValidDate(new Date('a')); //=> true\n */\n\nvar isNotValidDate = complement(isValidDate);\nexport default isNotValidDate;","import { complement } from 'ramda';\nimport isNumber from './isNumber';\n/**\n * Checks if value is a complement of `Number` primitive or object.\n *\n * @func isNotNumber\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.6.0|v0.6.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNumber|isNumber}\n * @example\n *\n * RA.isNotNumber(5); // => false\n * RA.isNotNumber(Number.MAX_VALUE); // => false\n * RA.isNotNumber(-Infinity); // => false\n * RA.isNotNumber('5'); // => true\n */\n\nvar isNotNumber = complement(isNumber);\nexport default isNotNumber;","import { both, lt } from 'ramda';\nimport isNumber from './isNumber';\n/**\n * Checks if value is a positive `Number` primitive or object. Zero is not considered positive.\n *\n * @func isPositive\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.15.0|v1.15.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNegative|isNegative}\n * @example\n *\n * RA.isPositive(1); // => true\n * RA.isPositive(Number.MAX_VALUE); // => true\n * RA.isPositive(-Infinity); // => false\n * RA.isPositive(NaN); // => false\n * RA.isPositive('5'); // => false\n */\n\nvar isPositive = both(isNumber, lt(0));\nexport default isPositive;","import { both, gt, curryN } from 'ramda';\nimport isNumber from './isNumber';\n/**\n * Checks if value is a negative `Number` primitive or object. Zero is not considered neither\n * positive or negative.\n *\n * @func isNegative\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.15.0|v1.15.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isPositive|isPositive}\n * @example\n *\n * RA.isNegative(-1); // => true\n * RA.isNegative(Number.MIN_VALUE); // => false\n * RA.isNegative(+Infinity); // => false\n * RA.isNegative(NaN); // => false\n * RA.isNegative('5'); // => false\n */\n\nvar isNegative = curryN(1, both(isNumber, gt(0)));\nexport default isNegative;","import { identical } from 'ramda';\n/**\n * Checks if value is a positive zero (+0).\n *\n * @func isPositiveZero\n * @memberof RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNegativeZero|isNegativeZero}\n * @example\n *\n * RA.isPositiveZero(+0); //=> true\n * RA.isPositiveZero(0); //=> true\n * RA.isPositiveZero(-0); //=> false\n * RA.isPositiveZero(null); //=> false\n */\n\nvar isPositiveZero = identical(+0);\nexport default isPositiveZero;","import { identical } from 'ramda';\n/**\n * Checks if value is a negative zero (-0).\n *\n * @func isNegativeZero\n * @memberof RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see @see {@link RA.isPositiveZero|isPositiveZero}\n * @example\n *\n * RA.isNegativeZero(-0); //=> true\n * RA.isNegativeZero(+0); //=> false\n * RA.isNegativeZero(0); //=> false\n * RA.isNegativeZero(null); //=> false\n */\n\nvar isNegativeZero = identical(-0);\nexport default isNegativeZero;","import { complement } from 'ramda';\nimport isNilOrEmpty from './isNilOrEmpty';\n/**\n * Returns `false` if the given value is its type's empty value, `null` or `undefined`.\n *\n * @func isNotNilOrEmpty\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.18.0|v2.18.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNilOrEmpty|isNilOrEmpty}\n * @example\n *\n * RA.isNotNilOrEmpty([1, 2, 3]); //=> true\n * RA.isNotNilOrEmpty([]); //=> false\n * RA.isNotNilOrEmpty(''); //=> false\n * RA.isNotNilOrEmpty(null); //=> false\n * RA.isNotNilOrEmpty(undefined): //=> false\n * RA.isNotNilOrEmpty({}); //=> false\n * RA.isNotNilOrEmpty({length: 0}); //=> true\n */\n\nvar isNotNilOrEmpty = complement(isNilOrEmpty);\nexport default isNotNilOrEmpty;","import { both, lte, flip, curryN } from 'ramda';\nimport isNumber from './isNumber';\n/**\n * Checks if value is a non-positive `Number` primitive or object. This includes all negative\n * numbers and zero.\n *\n * @func isNonPositive\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNegative|isNegative}, {@link RA.isNonNegative|isNonNegative}\n * @example\n *\n * RA.isNonPositive(0); // => true\n * RA.isNonPositive(-1); // => true\n * RA.isNonPositive(-Infinity); // => true\n * RA.isNonPositive(Number.MIN_VALUE); // => true\n *\n * RA.isNonPositive(Infinity); // => false\n * RA.isNonPositive(Number.MAX_VALUE); // => false\n * RA.isNonPositive(NaN); // => false\n */\n\nvar isNonPositive = curryN(1, both(isNumber, flip(lte)(0)));\nexport default isNonPositive;","import { both, gte, flip, curryN } from 'ramda';\nimport isNumber from './isNumber';\n/**\n * Checks if value is a non-negative `Number` primitive or object. This includes all positive\n * numbers and zero.\n *\n * @func isNonNegative\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isPositive|isPositive}, {@link RA.isNonPositive|isNonPositive}\n * @example\n *\n * RA.isNonNegative(0); // => true\n * RA.isNonNegative(1); // => true\n * RA.isNonNegative(Infinity); // => true\n * RA.isNonNegative(Number.MAX_VALUE); // => true\n *\n * RA.isNonNegative(-Infinity); // => false\n * RA.isNonNegative(Number.MIN_VALUE); // => false\n * RA.isNonNegative(NaN); // => false\n */\n\nvar isNonNegative = curryN(1, both(isNumber, flip(gte)(0)));\nexport default isNonNegative;","import { type, identical, pipe, curryN } from 'ramda';\n/**\n * Predicate for determining if a provided value is an instance of a Map.\n *\n * @func isMap\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isSet|isSet}}\n * @example\n *\n * RA.isMap(new Map()); //=> true\n * RA.isMap(new Map([[1, 2], [2, 1]])); //=> true\n * RA.isSet(new Set()); //=> false\n * RA.isSet(new Set([1,2]); //=> false\n * RA.isSet(new Object()); //=> false\n */\n\nvar isMap = curryN(1, pipe(type, identical('Map')));\nexport default isMap;","import { complement } from 'ramda';\nimport isMap from './isMap';\n/**\n * Checks if value is complement of `Map` object.\n *\n * @func isNotMap\n * @memberOf RA\n * @category Type\n * @since {@link https://char0n.github.io/ramda-adjunct/2.27.0|v2.27.0}\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isMap|isMap}\n * @example\n *\n * RA.isNotMap(new Map()); //=> false\n * RA.isNotMap(new Map([[1, 2], [2, 1]])); //=> false\n * RA.isNotMap(new Set()); //=> true\n * RA.isNotMap({}); //=> true\n * RA.isNotMap(12); //=> true\n */\n\nvar isNotMap = complement(isMap);\nexport default isNotMap;","import { both } from 'ramda';\nimport isNumber from '../../isNumber'; // eslint-disable-next-line no-restricted-globals\n\nvar isFinitePonyfill = both(isNumber, isFinite);\nexport default isFinitePonyfill;","import { bind, curryN } from 'ramda';\nimport isFunction from './isFunction';\nimport ponyfill from './internal/ponyfills/Number.isFinite';\nexport var isFinitePonyfill = curryN(1, ponyfill);\n/**\n * Checks whether the passed value is a finite `Number`.\n *\n * @func isFinite\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.7.0|v0.7.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotFinite|isNotFinite}\n * @example\n *\n * RA.isFinite(Infinity); //=> false\n * RA.isFinite(NaN); //=> false\n * RA.isFinite(-Infinity); //=> false\n *\n * RA.isFinite(0); // true\n * RA.isFinite(2e64); // true\n *\n * RA.isFinite('0'); // => false\n * // would've been true with global isFinite('0')\n * RA.isFinite(null); // => false\n * // would've been true with global isFinite(null)\n */\n\nvar _isFinite = isFunction(Number.isFinite) ? curryN(1, bind(Number.isFinite, Number)) : isFinitePonyfill;\n\nexport default _isFinite;","import { complement } from 'ramda';\nimport _isFinite from './isFinite';\n/**\n * Checks whether the passed value is complement of finite `Number`.\n *\n *\n * @func isNotFinite\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.7.0|v0.7.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isFinite|isFinite}\n * @example\n *\n * RA.isNotFinite(Infinity); //=> true\n * RA.isNotFinite(NaN); //=> true\n * RA.isNotFinite(-Infinity); //=> true\n *\n * RA.isNotFinite(0); // false\n * RA.isNotFinite(2e64); // false\n *\n * RA.isNotFinite('0'); // => true\n * RA.isNotFinite(null); // => true\n */\n\nvar isNotFinite = complement(_isFinite);\nexport default isNotFinite;","import { both, converge, equals, identity } from 'ramda';\nimport isFinite from '../../isFinite';\nvar isIntegerPonyfill = both(isFinite, converge(equals, [Math.floor, identity]));\nexport default isIntegerPonyfill;","import { bind, curryN } from 'ramda';\nimport isFunction from './isFunction';\nimport ponyfill from './internal/ponyfills/Number.isInteger';\nexport var isIntegerPonyfill = curryN(1, ponyfill);\n/**\n * Checks whether the passed value is an `integer`.\n *\n * @func isInteger\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.7.0|v0.7.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotInteger|isNotInteger}\n * @example\n *\n * RA.isInteger(0); //=> true\n * RA.isInteger(1); //=> true\n * RA.isInteger(-100000); //=> true\n *\n * RA.isInteger(0.1); //=> false\n * RA.isInteger(Math.PI); //=> false\n *\n * RA.isInteger(NaN); //=> false\n * RA.isInteger(Infinity); //=> false\n * RA.isInteger(-Infinity); //=> false\n * RA.isInteger('10'); //=> false\n * RA.isInteger(true); //=> false\n * RA.isInteger(false); //=> false\n * RA.isInteger([1]); //=> false\n */\n\nvar isInteger = isFunction(Number.isInteger) ? curryN(1, bind(Number.isInteger, Number)) : isIntegerPonyfill;\nexport default isInteger;","import { curryN } from 'ramda';\n/**\n * Converts double-precision 64-bit binary format IEEE 754 to signed 32 bit integer number.\n *\n * @func toInteger32\n * @aliases toInt32\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.28.0|v2.28.0}\n * @category Math\n * @sig Number -> Number\n * @param {number} number A number\n * @return {number} A signed 32-bit integer number\n * @see {@link RA.toUInteger32|toUInteger32}, {@link http://speakingjs.com/es5/ch11.html#integers_via_bitwise_operators}\n * @example\n *\n * RA.toInteger32(2 ** 35); // => 0\n * RA.toInteger32(2 ** 30); // => 1073741824\n */\n// eslint-disable-next-line no-bitwise\n\nvar toInteger32 = curryN(1, function (val) {\n return val >> 0;\n});\nexport default toInteger32;","import { curryN } from 'ramda';\nimport toInteger32 from './toInteger32';\n/**\n * Checks whether the passed value is a signed 32 bit integer.\n *\n * @func isInteger32\n * @aliases isInt32\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.32.0|v2.32.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.toInteger32|toInteger32}\n * @example\n *\n * RA.isInteger32(0); //=> true\n * RA.isInteger32((-2) ** 31); //=> true\n *\n * RA.isInteger32(Infinity); //=> false\n * RA.isInteger32(NaN); //=> false\n * RA.isInteger32(2 ** 31); //=> false\n */\n\nvar isInteger32 = curryN(1, function (val) {\n return toInteger32(val) === val;\n});\nexport default isInteger32;","import { complement } from 'ramda';\nimport isInteger from './isInteger';\n/**\n * Checks whether the passed value is complement of an `integer`.\n *\n *\n * @func isNotInteger\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/0.7.0|v0.7.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isInteger|isInteger}\n * @example\n *\n * RA.isNotInteger(0); //=> false\n * RA.isNotInteger(1); //=> false\n * RA.isNotInteger(-100000); //=> false\n *\n * RA.isNotInteger(0.1); //=> true\n * RA.isNotInteger(Math.PI); //=> true\n *\n * RA.isNotInteger(NaN); //=> true\n * RA.isNotInteger(Infinity); //=> true\n * RA.isNotInteger(-Infinity); //=> true\n * RA.isNotInteger('10'); //=> true\n * RA.isNotInteger(true); //=> true\n * RA.isNotInteger(false); //=> true\n * RA.isNotInteger([1]); //=> true\n */\n\nvar isNotInteger = complement(isInteger);\nexport default isNotInteger;","import { type, pipe, identical, curryN } from 'ramda';\n/**\n * Checks if value is a BigInt.\n *\n * @func isBigInt\n * @memberOf RA\n * @category Type\n * @since {@link https://char0n.github.io/ramda-adjunct/2.27.0|v2.27.0}\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @example\n *\n * RA.isBigInt(5); // => false\n * RA.isBigInt(Number.MAX_VALUE); // => false\n * RA.isBigInt(-Infinity); // => false\n * RA.isBigInt(10); // => false\n * RA.isBigInt(10n); // => true\n * RA.isBigInt(BitInt(9007199254740991)); // => true\n */\n\nvar isBigInt = curryN(1, pipe(type, identical('BigInt')));\nexport default isBigInt;","import { complement, both } from 'ramda';\nimport isInteger from './isInteger';\nimport isFinite from './isFinite';\n/**\n * Checks whether the passed value is a `float`.\n *\n * @func isFloat\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.14.0|v1.14.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotFloat|isNotFloat}\n * @example\n *\n * RA.isFloat(0); //=> false\n * RA.isFloat(1); //=> false\n * RA.isFloat(-100000); //=> false\n *\n * RA.isFloat(0.1); //=> true\n * RA.isFloat(Math.PI); //=> true\n *\n * RA.isFloat(NaN); //=> false\n * RA.isFloat(Infinity); //=> false\n * RA.isFloat(-Infinity); //=> false\n * RA.isFloat('10'); //=> false\n * RA.isFloat(true); //=> false\n * RA.isFloat(false); //=> false\n * RA.isFloat([1]); //=> false\n */\n\nvar isFloat = both(isFinite, complement(isInteger));\nexport default isFloat;","import { complement, curryN } from 'ramda';\nimport isFloat from './isFloat';\n/**\n * Checks whether the passed value is complement of a `float`.\n *\n * @func isNotFloat\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.14.0|v1.14.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isFloat|isFloat}\n * @example\n *\n * RA.isNotFloat(0); //=> true\n * RA.isNotFloat(1); //=> true\n * RA.isNotFloat(-100000); //=> true\n *\n * RA.isNotFloat(0.1); //=> false\n * RA.isNotFloat(Math.PI); //=> false\n *\n * RA.isNotFloat(NaN); //=> true\n * RA.isNotFloat(Infinity); //=> true\n * RA.isNotFloat(-Infinity); //=> true\n * RA.isNotFloat('10'); //=> true\n * RA.isNotFloat(true); //=> true\n * RA.isNotFloat(false); //=> true\n * RA.isNotFloat([1]); //=> true\n */\n\nvar isNotFloat = curryN(1, complement(isFloat));\nexport default isNotFloat;","import { either, curryN } from 'ramda';\nimport isFloat from './isFloat';\nimport isInteger from './isInteger';\n/**\n * Checks if value is a valid `Number`. A valid `Number` is a number that is not `NaN`, `Infinity`\n * or `-Infinity`.\n *\n * @func isValidNumber\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.2.0|v2.2.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotValidNumber|isNotValidNumber}\n * @example\n *\n * RA.isValidNumber(1); //=> true\n * RA.isValidNumber(''); //=> false\n * RA.isValidNumber(NaN); //=> false\n * RA.isValidNumber(Infinity); //=> false\n * RA.isValidNumber(-Infinity); //=> false\n */\n\nvar isValidNumber = curryN(1, either(isInteger, isFloat));\nexport default isValidNumber;","import { complement } from 'ramda';\nimport isValidNumber from './isValidNumber';\n/**\n * Checks if value is not a valid `Number`. A valid `Number` is a number that is not `NaN`,\n * `Infinity` or `-Infinity`.\n *\n * @func isNotValidNumber\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.2.0|v2.2.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isValidNumber|isValidNumber}\n * @example\n *\n * RA.isNotValidNumber(1); //=> false\n * RA.isNotValidNumber(''); //=> true\n * RA.isNotValidNumber(NaN); //=> true\n * RA.isNotValidNumber(Infinity); //=> true\n * RA.isNotValidNumber(-Infinity); //=> true\n */\n\nvar isNotValidNumber = complement(isValidNumber);\nexport default isNotValidNumber;","import { both, pipe, modulo, flip, equals, complement, curryN } from 'ramda';\nimport isInteger from './isInteger';\n/**\n * Checks if value is odd integer number.\n * An odd number is an integer which is not a multiple DIVISIBLE of two.\n *\n * @func isOdd\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.18.0|v1.18.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isEven|isEven}\n * @example\n *\n * RA.isOdd(1); // => true\n * RA.isOdd(-Infinity); // => false\n * RA.isOdd(4); // => false\n * RA.isOdd(3); // => true\n */\n\nvar isOdd = curryN(1, both(isInteger, pipe(flip(modulo)(2), complement(equals)(0))));\nexport default isOdd;","import { both, complement, curryN } from 'ramda';\nimport isInteger from './isInteger';\nimport isOdd from './isOdd';\n/**\n * Checks if value is even integer number.\n * An even number is an integer which is \"evenly divisible\" by two.\n * Zero is an even number because zero divided by two equals zero,\n * which despite not being a natural number, is an integer.\n * Even numbers are either positive or negative.\n *\n * @func isEven\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.18.0|v1.18.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isOdd|isOdd}\n * @example\n *\n * RA.isEven(0); // => true\n * RA.isEven(1); // => false\n * RA.isEven(-Infinity); // => false\n * RA.isEven(4); // => true\n * RA.isEven(3); // => false\n */\n\nvar isEven = curryN(1, both(isInteger, complement(isOdd)));\nexport default isEven;","import { both, equals, length, pipe, curryN } from 'ramda';\nimport isArray from './isArray';\n/**\n * Checks if input value is a pair.\n *\n * @func isPair\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.19.0|v1.19.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link http://ramdajs.com/docs/#pair|R.pair}, {@link RA.isNotPair|isNotPair}\n * @example\n *\n * RA.isPair([]); // => false\n * RA.isPair([0]); // => false\n * RA.isPair([0, 1]); // => true\n * RA.isPair([0, 1, 2]); // => false\n * RA.isPair({ 0: 0, 1: 1 }); // => false\n * RA.isPair({ foo: 0, bar: 0 }); // => false\n */\n\nvar isPair = curryN(1, both(isArray, pipe(length, equals(2))));\nexport default isPair;","import { complement } from 'ramda';\nimport isPair from './isPair';\n/**\n * Checks if input value is complement of a pair.\n *\n * @func isNotPair\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.19.0|v1.19.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link http://ramdajs.com/docs/#pair|R.pair}, {@link RA.isPair|isPair}\n * @example\n *\n * RA.isNotPair([]); // => true\n * RA.isNotPair([0]); // => true\n * RA.isNotPair([0, 1]); // => false\n * RA.isNotPair([0, 1, 2]); // => true\n * RA.isNotPair({0: 0, 1: 1}); // => true\n * RA.isNotPair({foo: 0, bar: 0}); // => true\n */\n\nvar isNotPair = complement(isPair);\nexport default isNotPair;","import { pathSatisfies } from 'ramda';\nimport isFunction from './isFunction';\n/**\n * Checks if input value is a `thenable`.\n * `thenable` is an object or function that defines a `then` method.\n *\n * @func isThenable\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.1.0|v2.1.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isPromise|isPromise}\n * @example\n *\n * RA.isThenable(null); // => false\n * RA.isThenable(undefined); // => false\n * RA.isThenable([]); // => false\n * RA.isThenable(Promise.resolve()); // => true\n * RA.isThenable(Promise.reject()); // => true\n * RA.isThenable({ then: () => 1 }); // => true\n */\n\nvar isThenable = pathSatisfies(isFunction, ['then']);\nexport default isThenable;","import { both, pipe, toString, equals, curryN } from 'ramda';\nimport isObj from './isObj';\n/**\n * Checks if input value is a native `Promise`.\n * The Promise object represents the eventual completion (or failure)\n * of an asynchronous operation, and its resulting value.\n *\n * @func isPromise\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.1.0|v2.1.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link https://promisesaplus.com/|Promises/A+}, {@link RA.isThenable|isThenable}\n * @example\n *\n * RA.isPromise(null); // => false\n * RA.isPromise(undefined); // => false\n * RA.isPromise([]); // => false\n * RA.isPromise(Promise.resolve()); // => true\n * RA.isPromise(Promise.reject()); // => true\n * RA.isPromise({ then: () => 1 }); // => false\n */\n\nvar isPromise = curryN(1, both(isObj, pipe(toString, equals('[object Promise]'))));\nexport default isPromise;","import { identical } from 'ramda';\n/**\n * Checks if input value is the Boolean primitive `true`. Will return false for Boolean objects\n * created using the `Boolean` function as a constructor.\n *\n * @func isTrue\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isFalse|isFalse}, {@link RA.isTruthy|isTruthy}, {@link RA.isFalsy|isFalsy}\n * @example\n *\n * RA.isTrue(true); // => true\n * RA.isTrue(Boolean(true)); // => true\n * RA.isTrue(false); // => false\n * RA.isTrue(1); // => false\n * RA.isTrue('true'); // => false\n * RA.isTrue(new Boolean(true)); // => false\n */\n\nvar isTrue = identical(true);\nexport default isTrue;","import { identical } from 'ramda';\n/**\n * Checks if input value is the Boolean primitive `false`. Will return false for all values created\n * using the `Boolean` function as a constructor.\n *\n * @func isFalse\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isTrue|isTrue}, {@link RA.isTruthy|isTruthy}, {@link RA.isFalsy|isFalsy}\n * @example\n *\n * RA.isFalse(false); // => true\n * RA.isFalse(Boolean(false)); // => true\n * RA.isFalse(true); // => false\n * RA.isFalse(0); // => false\n * RA.isFalse(''); // => false\n * RA.isFalse(null); // => false\n * RA.isFalse(undefined); // => false\n * RA.isFalse(NaN); // => false\n * RA.isFalse([]); // => false\n * RA.isFalse(new Boolean(false)); // => false\n */\n\nvar isFalse = identical(false);\nexport default isFalse;","import { curryN } from 'ramda';\n/**\n * In JavaScript, a `truthy` value is a value that is considered true\n * when evaluated in a Boolean context. All values are truthy unless\n * they are defined as falsy (i.e., except for `false`, `0`, `\"\"`, `null`, `undefined`, and `NaN`).\n *\n * @func isTruthy\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.2.0|v2.2.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link https://developer.mozilla.org/en-US/docs/Glossary/Truthy|truthy}, {@link RA.isFalsy|isFalsy}\n * @example\n *\n * RA.isTruthy({}); // => true\n * RA.isTruthy([]); // => true\n * RA.isTruthy(42); // => true\n * RA.isTruthy(3.14); // => true\n * RA.isTruthy('foo'); // => true\n * RA.isTruthy(new Date()); // => true\n * RA.isTruthy(Infinity); // => true\n */\n\nvar isTruthy = curryN(1, Boolean);\nexport default isTruthy;","import { complement } from 'ramda';\nimport isTruthy from './isTruthy';\n/**\n * A falsy value is a value that translates to false when evaluated in a Boolean context.\n * Falsy values are `false`, `0`, `\"\"`, `null`, `undefined`, and `NaN`.\n *\n * @func isFalsy\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.2.0|v2.2..0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link https://developer.mozilla.org/en-US/docs/Glossary/Falsy|falsy}, {@link RA.isTruthy|isTruthy}\n * @example\n *\n * RA.isFalsy(false); // => true\n * RA.isFalsy(0); // => true\n * RA.isFalsy(''); // => true\n * RA.isFalsy(null); // => true\n * RA.isFalsy(undefined); // => true\n * RA.isFalsy(NaN); // => true\n */\n\nvar isFalsy = complement(isTruthy);\nexport default isFalsy;","import { type, identical, pipe, curryN } from 'ramda';\n/**\n * Checks if value is `RegExp` object.\n *\n * @func isRegExp\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotRegExp|isNotRegExp}\n * @example\n *\n * RA.isRegExp(new RegExp()); //=> true\n * RA.isRegExp(/(?:)/); //=> true\n * RA.isRegExp(1); //=> false\n */\n\nvar isRegExp = curryN(1, pipe(type, identical('RegExp')));\nexport default isRegExp;","import { complement } from 'ramda';\nimport isRegExp from './isRegExp';\n/**\n * Checks if value is complement of `RegExp` object.\n *\n * @func isNotRegExp\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isRegExp|isRegExp}\n * @example\n *\n * RA.isNotRegExp(1); //=> true\n * RA.isNotRegExp(/(?:)/); //=> false\n * RA.isNotRegExp(new RegExp()); //=> false\n */\n\nvar isNotRegExp = complement(isRegExp);\nexport default isNotRegExp;","import { type, identical, pipe, curryN } from 'ramda';\n/**\n * Predicate for determining if a provided value is an instance of a Set.\n *\n * @func isSet\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isMap|isMap}}\n * @example\n *\n * RA.isSet(new Map()); //=> false\n * RA.isSet(new Set()); //=> true\n * RA.isSet(new Set([1,2]); //=> true\n * RA.isSet(new Object()); //=> false\n */\n\nvar isSet = curryN(1, pipe(type, identical('Set')));\nexport default isSet;","import { complement } from 'ramda';\nimport isSet from './isSet';\n/**\n * Checks if value is complement of `Set` object.\n *\n * @func isNotSet\n * @memberOf RA\n * @category Type\n * @since {@link https://char0n.github.io/ramda-adjunct/2.27.0|v2.27.0}\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isSet|isSet}\n * @example\n *\n * RA.isNotSet(new Map()); //=> true\n * RA.isNotSet(new Set()); //=> false\n * RA.isNotSet(new Set([1,2]); //=> false\n * RA.isNotSet(new Object()); //=> true\n */\n\nvar isNotSet = complement(isSet);\nexport default isNotSet;","import { values, both, complement, pipe, converge, identical, length } from 'ramda';\nimport isArray from './isArray';\n/**\n * Checks if input value is a sparse Array.\n * An array with at least one \"empty slot\" in it is often called a \"sparse array.\"\n * Empty slot doesn't mean that the slot contains `null` or `undefined` values,\n * but rather that the slots don't exist.\n *\n * @func isSparseArray\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.20.0|v2.20.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} list The list to test\n * @return {boolean}\n * @see {@link https://github.com/getify/You-Dont-Know-JS/blob/f0d591b6502c080b92e18fc470432af8144db610/types%20%26%20grammar/ch3.md#array|Sparse Arrays}, {@link RA.isArray|isArray}\n * @example\n *\n * RA.isSparseArray(new Array(3)); // => true\n * RA.isSparseArray([1,,3]); // => true\n *\n * const list = [1, 2, 3];\n * delete list[1];\n * RA.isSparseArray(list); // => true\n *\n * RA.isSparseArray([1, 2, 3]); // => false\n */\n\nvar isSparseArray = both(isArray, converge(complement(identical), [pipe(values, length), length]));\nexport default isSparseArray;","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nimport { type, curryN } from 'ramda';\n/**\n * Checks if input value is a Symbol.\n *\n * @func isSymbol\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol|MDN Symbol}\n * @example\n *\n * RA.isSymbol(Symbol('1')); //=> true\n * RA.isSymbol(Symbol(1)); //=> true\n * RA.isSymbol('string'); //=> false\n * RA.isSymbol(undefined); //=> false\n * RA.isSymbol(null); //=> false\n */\n\nvar isSymbol = curryN(1, function (val) {\n return _typeof(val) === 'symbol' || _typeof(val) === 'object' && type(val) === 'Symbol';\n});\nexport default isSymbol;","var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;\nexport default MAX_SAFE_INTEGER;","import { both } from 'ramda';\nimport isInteger from '../../isInteger';\nimport MAX_SAFE_INTEGER from './Number.MAX_SAFE_INTEGER';\nvar isSafeIntegerPonyfill = both(isInteger, function (value) {\n return Math.abs(value) <= MAX_SAFE_INTEGER;\n});\nexport default isSafeIntegerPonyfill;","import { bind, curryN } from 'ramda';\nimport isFunction from './isFunction';\nimport ponyfill from './internal/ponyfills/Number.isSafeInteger';\nexport var isSafeIntegerPonyfill = curryN(1, ponyfill);\n/**\n * Checks whether the passed value is a safe `integer`.\n *\n * @func isSafeInteger\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @example\n *\n * RA.isSafeInteger(3); //=> true\n * RA.isSafeInteger(Math.pow(2, 53)) //=> false\n * RA.isSafeInteger(Math.pow(2, 53) - 1); //=> true\n * RA.isSafeInteger(NaN); //=> false\n * RA.isSafeInteger(Infinity); //=> false\n * RA.isSafeInteger('3') //=> false\n * RA.isSafeInteger(3.1); //=> false\n * RA.isSafeInteger(3.0); //=> true\n * RA.isSafeInteger('string'); //=> false\n * RA.isSafeInteger(null); //=> false\n * RA.isSafeInteger(undefined); //=> false\n * RA.isSafeInteger({}); //=> false\n * RA.isSafeInteger(() => { }); //=> false\n * RA.isSafeInteger(true); //=> false\n */\n\nvar isSafeInteger = isFunction(Number.isSafeInteger) ? curryN(1, bind(Number.isSafeInteger, Number)) : isSafeIntegerPonyfill;\nexport default isSafeInteger;","import { either, curryN } from 'ramda';\nimport isArray from './isArray';\nimport isString from './isString';\n/**\n * Determine if input value is an indexed data type.\n *\n * @func isIndexed\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.26.0|v2.26.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @example\n *\n * RA.isIndexed([1]) //=> true\n * RA.isIndexed('test') //=> true\n */\n\nvar isIndexed = curryN(1, either(isString, isArray));\nexport default isIndexed;","import { type, identical, pipe, curryN } from 'ramda';\n/**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, `SyntaxError`, `TypeError` or `URIError` object.\n *\n * @func isError\n * @category Type\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.30.0|v2.30.0}\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean} Returns `true` if value is an error object, `false` otherwise\n * @example\n *\n * RA.isError(new Error()); //=> true\n * RA.isError(Error); //=> false\n * RA.isError(1); // => false\n */\n\nvar isError = curryN(1, pipe(type, identical('Error')));\nexport default isError;","import { both, complement, curryN } from 'ramda';\nimport isInteger from './isInteger';\nimport isNegative from './isNegative';\n/**\n * Checks if value is a natural number.\n * Natural numbers correspond to all non-negative integers and 0.\n *\n * @func isNaturalNumber\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.29.0|v2.29.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @example\n *\n * RA.isNaturalNumber(5); // => true\n * RA.isNaturalNumber(Number.MAX_VALUE); // => true\n * RA.isNaturalNumber(0); // => true\n * RA.isNaturalNumber(-1); // => false\n * RA.isNaturalNumber(0.9); // => false\n */\n\nvar isNaturalNumber = curryN(1, both(isInteger, complement(isNegative)));\nexport default isNaturalNumber;","import { both, anyPass } from 'ramda';\nimport isNotObj from './isNotObj';\nimport isString from './isString';\nimport isNumber from './isNumber';\nimport isBigInt from './isBigInt';\nimport isBoolean from './isBoolean';\nimport isUndefined from './isUndefined';\nimport isNull from './isNull';\nimport isSymbol from './isSymbol';\n/**\n * Checks if value is a primitive data type. There are 6 primitive data types: `string`, `number`, `bigint`, `boolean`, `undefined`, `symbol` and a special case of `null`.\n * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Primitive_values\n * for definition of what sub-types comprise a primitive.\n *\n * @func isPrimitive\n * @category Type\n * @sig * -> Boolean\n * @since {@link https://char0n.github.io/ramda-adjunct/2.32.0|v2.32.0}\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isNotPrimitive|isNotPrimitive}, {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#primitive_values|MDN Primitive values}, {@link https://developer.mozilla.org/en-US/docs/Glossary/Primitive|MDN Primitive}\n * @example\n *\n * RA.isPrimitive(\"string\"); //=> true\n * RA.isPrimitive(1); //=> true\n * RA.isPrimitive(new String(\"string\")); //=> false\n * RA.isPrimitive(new Number(1)); //=> false\n */\n\nvar isPrimitive = both(isNotObj, anyPass([isString, isNumber, isBigInt, isBoolean, isUndefined, isNull, isSymbol]));\nexport default isPrimitive;","import { complement, curryN } from 'ramda';\nimport isPrimitive from './isPrimitive';\n/**\n * Checks if value is not a primitive data type. There are 6 primitive data types: `string`, `number`, `bigint`, `boolean`, `undefined`, `symbol` and a special case of `null`.\n *\n * @func isNotPrimitive\n * @category Type\n * @sig * -> Boolean\n * @since {@link https://char0n.github.io/ramda-adjunct/2.32.0|v2.32.0}\n * @param {*} val The value to test\n * @return {boolean}\n * @see {@link RA.isPrimitive|isPrimitive}, {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#primitive_values|MDN Primitive values}, {@link https://developer.mozilla.org/en-US/docs/Glossary/Primitive|MDN Primitive}\n * @example\n *\n * RA.isNotPrimitive(new String(\"string\")); //=> true\n * RA.isNotPrimitive(new Number(1)); //=> true\n * RA.isNotPrimitive(\"string\"); //=> false\n * RA.isNotPrimitive(1); //=> false\n */\n\nvar isNotPrimitive = curryN(1, complement(isPrimitive));\nexport default isNotPrimitive;","import { curryN } from 'ramda';\nimport isInteger32 from './isInteger32';\n/**\n * Checks whether the passed value is {@link https://github.com/getify/You-Dont-Know-JS/blob/9959fc904d584bbf0b02cf41c192f74ff4238581/types-grammar/ch4.md#the-curious-case-of-the-|a sentinel value}.\n *\n * @func isSentinelValue\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.33.0|v2.33.0}\n * @category Type\n * @sig * -> Boolean\n * @param {*} val The value to test\n * @return {boolean}\n * @example\n *\n * RA.isSentinelValue(-1); //=> true\n *\n * RA.isSentinelValue('-1'); //=> false\n * RA.isSentinelValue(1); //=> false\n * RA.isSentinelValue([-1]); //=> false\n */\n// eslint-disable-next-line no-bitwise\n\nvar isSentinelValue = curryN(1, function (val) {\n return isInteger32(val) && ~val === 0;\n});\nexport default isSentinelValue;","import { always } from 'ramda';\n/**\n * A function that returns `null`.\n *\n * @func stubNull\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.6.0|v1.6.0}\n * @category Function\n * @sig ... -> null\n * @return {null}\n * @example\n *\n * RA.stubNull(); //=> null\n * RA.stubNull(1, 2, 3); //=> null\n */\n\nvar stubNull = always(null);\nexport default stubNull;","/**\n * This function returns a new empty object.\n *\n * @func stubObj\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.1.0|v2.1.0}\n * @category Function\n * @sig ... -> Object\n * @aliases stubObject\n * @return {Object} Returns the new empty object.\n * @example\n *\n * RA.stubObj(); //=> {}\n * RA.stubObj(1, 2, 3); //=> {}\n */\nvar stubObj = function stubObj() {\n return {};\n};\n\nexport default stubObj;","import { always } from 'ramda';\n/**\n * A function that returns empty string.\n *\n * @func stubString\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.1.0|v2.1.0}\n * @category Function\n * @sig ... -> String\n * @return {string} The empty string\n * @example\n *\n * RA.stubString(); //=> ''\n * RA.stubString(1, 2, 3); //=> ''\n */\n\nvar stubString = always('');\nexport default stubString;","/**\n * A function that returns new empty array on every call.\n *\n * @func stubArray\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.1.0|v2.1.0}\n * @category Function\n * @sig ... -> Array\n * @return {Array} New empty array\n * @example\n *\n * RA.stubArray(); //=> []\n * RA.stubArray(1, 2, 3); //=> []\n */\nvar stubArray = function stubArray() {\n return [];\n};\n\nexport default stubArray;","import { always } from 'ramda';\nimport stubUndefined from './stubUndefined';\n/**\n * A function that performs no operations.\n *\n * @func noop\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.0.0|v1.0.0}\n * @category Function\n * @sig ... -> undefined\n * @return {undefined}\n * @example\n *\n * RA.noop(); //=> undefined\n * RA.noop(1, 2, 3); //=> undefined\n */\n\nvar noop = always(stubUndefined());\nexport default noop;","export var equals = 'fantasy-land/equals';\nexport var lte = 'fantasy-land/lte';\nexport var compose = 'fantasy-land/compose';\nexport var id = 'fantasy-land/id';\nexport var concat = 'fantasy-land/concat';\nexport var empty = 'fantasy-land/empty';\nexport var map = 'fantasy-land/map';\nexport var contramap = 'fantasy-land/contramap';\nexport var ap = 'fantasy-land/ap';\nexport var of = 'fantasy-land/of';\nexport var alt = 'fantasy-land/alt';\nexport var zero = 'fantasy-land/zero';\nexport var reduce = 'fantasy-land/reduce';\nexport var traverse = 'fantasy-land/traverse';\nexport var chain = 'fantasy-land/chain';\nexport var chainRec = 'fantasy-land/chainRec';\nexport var extend = 'fantasy-land/extend';\nexport var extract = 'fantasy-land/extract';\nexport var bimap = 'fantasy-land/bimap';\nexport var promap = 'fantasy-land/promap';","import { ap as apR, curryN, pathSatisfies, both, either } from 'ramda';\nimport isFunction from '../isFunction';\nimport * as fl from '../fantasy-land/mapping';\nvar isFunctor = either(pathSatisfies(isFunction, ['map']), pathSatisfies(isFunction, [fl.map]));\nvar isApply = both(isFunctor, either(pathSatisfies(isFunction, ['ap']), pathSatisfies(isFunction, [fl.ap])));\nvar ap = curryN(2, function (applyF, applyX) {\n // return original ramda `ap` if not Apply spec\n if (!isApply(applyF) || !isApply(applyX)) {\n return apR(applyF, applyX);\n }\n\n try {\n // new version of `ap` starting from ramda version > 0.23.0\n return applyF.ap(applyX);\n } catch (e) {\n // old version of `ap` till ramda version <= 0.23.0\n return applyX.ap(applyF);\n }\n});\nexport default ap;","import { curry, head, slice, reduce, curryN, map } from 'ramda';\nimport ap from './internal/ap';\n/**\n * \"lifts\" a function to be the specified arity, so that it may \"map over\" objects that satisfy\n * the fantasy land Apply spec of algebraic structures.\n *\n * Lifting is specific for {@link https://github.com/scalaz/scalaz|scalaz} and {@link http://www.functionaljava.org/|functional java} implementations.\n * Old version of fantasy land spec were not compatible with this approach,\n * but as of fantasy land 1.0.0 Apply spec also adopted this approach.\n *\n * This function acts as interop for ramda <= 0.23.0 and {@link https://monet.github.io/monet.js/|monet.js}.\n *\n * More info {@link https://github.com/fantasyland/fantasy-land/issues/50|here}.\n *\n * @func liftFN\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.2.0|v1.2.0}\n * @category Function\n * @sig Apply a => Number -> (a... -> a) -> (a... -> a)\n * @param {number} arity The arity of the lifter function\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function\n * @see {@link http://ramdajs.com/docs/#lift|R.lift}, {@link http://ramdajs.com/docs/#ap|R.ap}\n * @example\n *\n * const { Maybe } = require('monet');\n *\n * const add3 = (a, b, c) => a + b + c;\n * const madd3 = RA.liftFN(3, add3);\n *\n * madd3(Maybe.Some(10), Maybe.Some(15), Maybe.Some(17)); //=> Maybe.Some(42)\n * madd3(Maybe.Some(10), Maybe.Nothing(), Maybe.Some(17)); //=> Maybe.Nothing()\n */\n\nvar liftFN = curry(function (arity, fn) {\n var lifted = curryN(arity, fn);\n return curryN(arity, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var accumulator = map(lifted, head(args));\n var apps = slice(1, Infinity, args);\n return reduce(ap, accumulator, apps);\n });\n});\nexport default liftFN;","import { curryN } from 'ramda';\nimport liftFN from './liftFN';\n/**\n * \"lifts\" a function to be the specified arity, so that it may \"map over\" objects that satisfy\n * the fantasy land Apply spec of algebraic structures.\n *\n * Lifting is specific for {@link https://github.com/scalaz/scalaz|scalaz} and {@link http://functionaljava.org/|function Java} implementations.\n * Old version of fantasy land spec were not compatible with this approach,\n * but as of fantasy land 1.0.0 Apply spec also adopted this approach.\n *\n * This function acts as interop for ramda <= 0.23.0 and {@link https://monet.github.io/monet.js/|monet.js}.\n *\n * More info {@link https://github.com/fantasyland/fantasy-land/issues/50|here}.\n *\n * @func liftF\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.2.0|v1.2.0}\n * @category Function\n * @sig Apply a => (a... -> a) -> (a... -> a)\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function\n * @see {@link RA.liftFN|liftFN}\n * @example\n *\n * const { Maybe } = require('monet');\n *\n * const add3 = (a, b, c) => a + b + c;\n * const madd3 = RA.liftF(add3);\n *\n * madd3(Maybe.Some(10), Maybe.Some(15), Maybe.Some(17)); //=> Maybe.Some(42)\n * madd3(Maybe.Some(10), Maybe.Nothing(), Maybe.Some(17)); //=> Maybe.Nothing()\n */\n\nvar liftF = curryN(1, function (fn) {\n return liftFN(fn.length, fn);\n});\nexport default liftF;","import { curry } from 'ramda';\nimport isFunction from './isFunction';\n/**\n * The catamorphism is a way of folding a type into a value.\n *\n * **Either**\n *\n * If the either is right then the right function will be executed with\n * the `right` value and the value of the function returned. Otherwise the left function\n * will be called with the `left` value.\n *\n * **Maybe**\n *\n * If the maybe is Some than the right function will be executed with the `some` value and the value of the function\n * returned. Otherwise the left function with be called without an argument.\n *\n * **Result**\n *\n * If the result is Ok than the right function will be executed with the `Ok` value and the value of the function\n * returned. Otherwise the left function will be called with the `Error` value.\n *\n * **Validation**\n *\n * If the validation is Success than the right function will be executed with the `Success` value and the value of the function\n * returned. Otherwise the left function will be called with the `Failure` value.\n *\n * Supported monadic libraries: {@link https://monet.github.io/monet.js/|monet.js}, {@link https://folktale.origamitower.com/|folktale}, {@link https://github.com/ramda/ramda-fantasy|ramda-fantasy}\n *\n * @func cata\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.4.0|v1.4.0}\n * @category Function\n * @sig (a -> b) -> (a -> c) -> Cata a -> b | c\n * @param {Function} leftFn The left function that consumes the left value\n * @param {Function} rightFn The right function that consumes the right value\n * @param {Cata} catamorphicObj Either, Maybe or any other type with catamorphic capabilities (`cata` or `either` method)\n * @return {*}\n * @see {@link https://monet.github.io/monet.js/#cata|cata explained}\n * @example\n *\n * // Either\n * const eitherR = Either.Right(1);\n * const eitherL = Either.Left(2);\n *\n * RA.cata(identity, identity, eitherR); //=> 1\n * RA.cata(identity, identity, eitherL); //=> 2\n *\n * // Maybe\n * const maybeSome = Maybe.Some(1);\n * const maybeNothing = Maybe.Nothing();\n *\n * RA.cata(identity, identity, maybeSome); //=> 1\n * RA.cata(identity, identity, maybeNothing); //=> undefined\n */\n\nvar catamorphism = curry(function (leftFn, rightFn, catamorphicObj) {\n // folktale support\n if (isFunction(catamorphicObj.matchWith)) {\n return catamorphicObj.matchWith({\n // Result type\n Ok: function Ok(_ref) {\n var value = _ref.value;\n return rightFn(value);\n },\n Error: function Error(_ref2) {\n var value = _ref2.value;\n return leftFn(value);\n },\n // Maybe type\n Just: function Just(_ref3) {\n var value = _ref3.value;\n return rightFn(value);\n },\n Nothing: function Nothing() {\n return leftFn(undefined);\n },\n // Validation type\n Success: function Success(_ref4) {\n var value = _ref4.value;\n return rightFn(value);\n },\n Failure: function Failure(_ref5) {\n var value = _ref5.value;\n return leftFn(value);\n }\n });\n }\n\n if (isFunction(catamorphicObj.cata)) {\n return catamorphicObj.cata(leftFn, rightFn);\n }\n\n if (isFunction(catamorphicObj.getOrElse)) {\n var elseValue = \"RA.cata\".concat(Math.random());\n var value = catamorphicObj.getOrElse(elseValue);\n return value === elseValue ? leftFn() : rightFn(value);\n }\n\n return catamorphicObj.either(leftFn, rightFn);\n});\nexport default catamorphism;","import { curryN } from 'ramda';\n/**\n * Weaves a configuration into function returning the runnable monad like `Reader` or `Free`.\n * This allows us to pre-bind the configuration in advance and use the weaved function\n * without need to explicitly pass the configuration on every call.\n *\n * @func weave\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.7.0|v1.7.0}\n * @category Function\n * @sig (*... -> *) -> * -> (*... -> *)\n * @param {Function} fn The function to weave\n * @param {*} config The configuration to weave into fn\n * @return {Function} Auto-curried weaved function\n * @example\n *\n * const { Reader: reader } = require('monet');\n *\n * const log = value => reader(\n * config => config.log(value)\n * );\n *\n * // no weaving\n * log('test').run(console); //=> prints 'test'\n *\n * // weaving\n * const wlog = RA.weave(log, console);\n * wlog('test'); //=> prints 'test'\n */\n\nvar weave = curryN(2, function (fn, config) {\n return curryN(fn.length, function () {\n return fn.apply(void 0, arguments).run(config);\n });\n});\nexport default weave;","import { curryN } from 'ramda';\n/**\n * Weaves a configuration into function returning the runnable monad like `Reader` or `Free`.\n * This allows us to pre-bind the configuration in advance and use the weaved function\n * without need to explicitly pass the configuration on every call.\n *\n * @func weaveLazy\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.10.0|v1.10.0}\n * @category Function\n * @sig (*... -> *) -> (* -> *) -> (*... -> *)\n * @param {Function} fn The function to weave\n * @param {Function} configAccessor The function that returns the configuration object\n * @return {Function} Auto-curried weaved function\n * @example\n *\n * const { Reader: reader } = require('monet');\n *\n * const log = value => reader(\n * config => config.log(value)\n * );\n *\n * const consoleAccessor = R.always(console);\n *\n * // no weaving\n * log('test').run(console); //=> prints 'test'\n *\n * // weaving\n * const wlog = RA.weaveLazy(log, consoleAccessor);\n * wlog('test'); //=> prints 'test'\n */\n\nvar weaveLazy = curryN(2, function (fn, configAccessor) {\n return curryN(fn.length, function () {\n return fn.apply(void 0, arguments).run(configAccessor());\n });\n});\nexport default weaveLazy;","import { curryN, reverse } from 'ramda';\n/**\n * Returns a curried equivalent of the provided function, with the specified arity.\n * This function is like curryN, except that the provided arguments order is reversed.\n *\n * @func curryRightN\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.12.0|v1.12.0}\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {number} length The arity for the returned function\n * @param {Function} fn The function to curry\n * @return {Function} A new, curried function\n * @see {@link http://ramdajs.com/docs/#curryN|R.curryN}, {@link RA.curryRight|curryRight}\n * @example\n *\n * const concatStrings = (a, b, c) => a + b + c;\n * const concatStringsCurried = RA.curryRightN(3, concatStrings);\n *\n * concatStringCurried('a')('b')('c'); // => 'cba'\n */\n\nvar curryRightN = curryN(2, function (arity, fn) {\n return curryN(arity, function wrapper() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return fn.apply(this, reverse(args));\n });\n});\nexport default curryRightN;","import { converge, length, identity } from 'ramda';\nimport curryRightN from './curryRightN';\n/**\n * Returns a curried equivalent of the provided function.\n * This function is like curry, except that the provided arguments order is reversed.\n *\n * @func curryRight\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.12.0|v1.12.0}\n * @category Function\n * @sig (* -> a) -> (* -> a)\n * @param {Function} fn The function to curry\n * @return {Function} A new, curried function\n * @see {@link http://ramdajs.com/docs/#curry|R.curry}, {@link RA.curryRightN|curryRightN}\n * @example\n *\n * const concatStrings = (a, b, c) => a + b + c;\n * const concatStringsCurried = RA.curryRight(concatStrings);\n *\n * concatStringCurried('a')('b')('c'); // => 'cba'\n */\n\nvar curryRight = converge(curryRightN, [length, identity]);\nexport default curryRight;","import { bind, curryN } from 'ramda';\n/**\n * Composable shortcut for `Promise.all`.\n *\n * The `allP` method returns a single Promise that resolves when all of the promises\n * in the iterable argument have resolved or when the iterable argument contains no promises.\n * It rejects with the reason of the first promise that rejects.\n *\n * @func allP\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.3.0|v2.3.0}\n * @category Function\n * @sig [Promise a] -> Promise [a]\n * @param {Iterable.<*>} iterable An iterable object such as an Array or String\n * @return {Promise} An already resolved Promise if the iterable passed is empty. An asynchronously resolved Promise if the iterable passed contains no promises. Note, Google Chrome 58 returns an already resolved promise in this case. A pending Promise in all other cases. This returned promise is then resolved/rejected asynchronously (as soon as the stack is empty) when all the promises in the given iterable have resolved, or if any of the promises reject. See the example about \"Asynchronicity or synchronicity of allP\" below.\n * @see {@link RA.resolveP|resolveP}, {@link RA.rejectP|rejectP}\n * @example\n *\n * RA.allP([1, 2]); //=> Promise([1, 2])\n * RA.allP([1, Promise.resolve(2)]); //=> Promise([1, 2])\n * RA.allP([Promise.resolve(1), Promise.resolve(2)]); //=> Promise([1, 2])\n * RA.allP([1, Promise.reject(2)]); //=> Promise(2)\n */\n\nvar allP = curryN(1, bind(Promise.all, Promise));\nexport default allP;","import { invoker } from 'ramda';\n/**\n * Composable shortcut for `Promise.catch`.\n * The catchP function returns a Promise. It takes two arguments: a callback function for the failure of the Promise\n * and the promise instance itself.\n *\n * @func catchP\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.29.0|v2.29.0}\n * @category Function\n * @sig (a -> Promise b | b) -> Promise b\n * @param {Function} onRejected A Function called if the Promise is rejected. This function has one argument, the rejection reason.\n * @param {Promise} promise Any Promise\n * @return {Promise} Returns a Promise with dealt rejected cases\n * @see {@link RA.thenP|thenP}, {@link RA.resolveP|resolveP}, {@link RA.rejectP|rejectP}, {@link RA.allP|allP}\n *\n * @example\n *\n * RA.catchP(() => 'b', Promise.resolve('a')); //=> Promise('a')\n * RA.catchP(() => 'b', Promise.reject('a')); //=> Promise('b')\n */\n\nvar catchP = invoker(1, 'catch');\nexport default catchP;","import { bind } from 'ramda';\n/**\n * Composable shortcut for `Promise.reject`.\n *\n * Returns a Promise object that is rejected with the given reason.\n *\n * @func rejectP\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.16.0|v1.16.0}\n * @category Function\n * @sig a -> Promise a\n * @param {*} [reason=undefined] Reason why this Promise rejected\n * @return {Promise} A Promise that is rejected with the given reason\n * @see {@link RA.resolveP|resolveP}\n * @example\n *\n * RA.rejectP(); //=> Promise(undefined)\n * RA.rejectP('a'); //=> Promise('a')\n * RA.rejectP([1, 2, 3]); //=> Promise([1, 2, 3])\n */\n\nvar rejectP = bind(Promise.reject, Promise);\nexport default rejectP;","import { bind } from 'ramda';\n/* eslint-disable max-len */\n\n/**\n * Composable shortcut for `Promise.resolve`.\n *\n * Returns a Promise object that is resolved with the given value.\n * If the value is a thenable (i.e. has a \"then\" method), the returned promise will\n * \"follow\" that thenable, adopting its eventual state.\n *\n * @func resolveP\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.16.0|v1.16.0}\n * @category Function\n * @sig a -> Promise a\n * @param {*} [value=undefined] Argument to be resolved by this Promise. Can also be a Promise or a thenable to resolve\n * @return {Promise} A Promise that is resolved with the given value, or the promise passed as value, if the value was a promise object\n * @see {@link RA.rejectP|rejectP}\n * @example\n *\n * RA.resolveP(); //=> Promise(undefined)\n * RA.resolveP('a'); //=> Promise('a')\n * RA.resolveP([1, 2, 3]); //=> Promise([1, 2, 3])\n */\n\n/* eslint-enable max-len */\n\nvar resolveP = bind(Promise.resolve, Promise);\nexport default resolveP;","import { curryN, map, pipe } from 'ramda';\nimport allP from './allP';\nimport rejectP from './rejectP';\nimport resolveP from './resolveP';\n/**\n * Returns a Promise that is resolved with an array of reasons when all of the provided Promises reject, or rejected when any Promise is resolved.\n * This pattern is like allP, but fulfillments and rejections are transposed - rejections become the fulfillment values and vice versa.\n *\n * @func noneP\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}\n * @category Function\n * @sig [Promise a] -> Promise [a]\n * @param {Iterable.<*>} iterable An iterable object such as an Array or String\n * @return {Promise} A Promise that is resolved with a list of rejection reasons if all Promises are rejected, or a Promise that is rejected with the fulfillment value of the first Promise that resolves.\n * @see {@link RA.allP|allP}\n * @example\n *\n * RA.noneP([Promise.reject('hello'), Promise.reject('world')]); //=> Promise(['hello', 'world'])\n * RA.noneP([]); //=> Promise([])\n * RA.noneP([Promise.reject(), Promise.resolve('hello world')]); //=> Promise('hello world')\n * RA.noneP([Promise.reject(), 'hello world']); //=> Promise('hello world')\n */\n\nvar noneP = curryN(1, pipe(map(resolveP), map(function (p) {\n return p.then(rejectP, resolveP);\n}), allP));\nexport default noneP;","import { curry, propOr, partial, nth } from 'ramda';\nimport isNonNegative from './isNonNegative';\nimport isInteger from './isInteger';\n/**\n * Creates a promise which resolves/rejects after the specified milliseconds.\n *\n * @func delayP\n * @memberOf RA\n * @category Function\n * @sig Number -> Promise Undefined\n * @sig {timeout: Number, value: a} -> Promise a\n * @param {number|Object} milliseconds number of milliseconds or options object\n * @return {Promise} A Promise that is resolved/rejected with the given value (if provided) after the specified delay\n * @example\n *\n * RA.delayP(200); //=> Promise(undefined)\n * RA.delayP({ timeout: 1000, value: 'hello world' }); //=> Promise('hello world')\n * RA.delayP.reject(100); //=> Promise(undefined)\n * RA.delayP.reject({ timeout: 100, value: new Error('error') }); //=> Promise(Error('error'))\n */\n\nvar makeDelay = curry(function (settleFnPicker, opts) {\n var timeout;\n var value;\n\n if (isInteger(opts) && isNonNegative(opts)) {\n timeout = opts;\n } else {\n timeout = propOr(0, 'timeout', opts);\n value = propOr(value, 'value', opts);\n }\n\n return new Promise(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var settleFn = settleFnPicker(args);\n setTimeout(partial(settleFn, [value]), timeout);\n });\n});\nvar delayP = makeDelay(nth(0));\ndelayP.reject = makeDelay(nth(1));\nexport default delayP;","import { invoker } from 'ramda';\n/**\n * Composable shortcut for `Promise.then`.\n * The thenP function returns a Promise. It takes two arguments: a callback function for the success of the Promise\n * and the promise instance itself.\n *\n * @func thenP\n * @memberOf RA\n * @aliases then\n * @since {@link https://char0n.github.io/ramda-adjunct/2.8.0|v2.8.0}\n * @deprecated since v2.12.0; available in ramda@0.26.0 as R.then\n * @category Function\n * @sig (a -> Promise b | b) -> Promise b\n * @param {Function} onFulfilled A Function called if the Promise is fulfilled. This function has one argument, the fulfillment value\n * @param {Promise} promise Any Promise or Thenable object\n * @return {Promise} A Promise in the pending status\n\n * @see {@link RA.resolveP|resolveP}, {@link RA.rejectP|rejectP}, {@link RA.allP|allP}\n * @example\n *\n * const promise = Promise.resolve(1);\n * const add1 = v => v + 1;\n *\n * RA.thenP(add1, promise); // => Promise(2)\n */\n\nvar thenP = invoker(1, 'then');\nexport default thenP;","import { invoker } from 'ramda';\n/**\n * Composable shortcut for `Promise.then` that allows for success and failure callbacks.\n * The thenCatchP function returns a Promise. It takes three arguments: a callback function for the success of the Promise,\n * a callback function for the failure of the Promise, and the promise instance itself.\n *\n * @func thenCatchP\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.27.0|v2.27.0}\n * @category Function\n * @sig (a -> b) -> (c -> d) -> Promise a -> Promise b | d\n * @param {Function} onFulfilled A Function called if the Promise is fulfilled. This function has one argument, the fulfillment value\n * @param {Function} onRejected A Function called if the Promise is rejected. This function has one argument, the error\n * @param {Promise} promise Any Promise or Thenable object\n * @return {Promise}\n * @see {@link RA.resolveP|resolveP}, {@link RA.rejectP|rejectP}, {@link RA.allP|allP}\n * @example\n *\n * const promise = Promise.resolve(1);\n * const add1 = x => x + 1;\n *\n * RA.thenCatchP(add1, console.error, promise); // => Promise(2)\n */\n\nexport var thenCatchP = invoker(2, 'then');\nexport default thenCatchP;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { map } from 'ramda';\nimport allP from '../../allP';\nimport resolveP from '../../resolveP';\n\nvar onFulfill = function onFulfill(value) {\n return {\n status: 'fulfilled',\n value: value\n };\n};\n\nvar onReject = function onReject(reason) {\n return {\n status: 'rejected',\n reason: reason\n };\n};\n\nvar allSettledPonyfill = function allSettledPonyfill(iterable) {\n var array = map(function (p) {\n return resolveP(p).then(onFulfill)[\"catch\"](onReject);\n }, _toConsumableArray(iterable));\n return allP(array);\n};\n\nexport default allSettledPonyfill;","import { bind, curryN } from 'ramda';\nimport isFunction from './isFunction';\nimport ponyfill from './internal/ponyfills/Promise.allSettled';\nexport var allSettledPPonyfill = curryN(1, ponyfill);\n/**\n * Returns a promise that is fulfilled with an array of promise state snapshots,\n * but only after all the original promises have settled, i.e. become either fulfilled or rejected.\n * We say that a promise is settled if it is not pending, i.e. if it is either fulfilled or rejected.\n *\n * @func allSettledP\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.18.0|v2.18.0}\n * @category Function\n * @typedef Settlement = { status: String, value: * }\n * @sig [Promise a] -> Promise [Settlement a]\n * @param {Iterable.<*>} iterable An iterable object such as an Array or String\n * @return {Promise} Returns a promise that is fulfilled with an array of promise state snapshots\n * @see {@link RA.allP|allP}\n * @example\n *\n * RA.allSettledP([\n * Promise.resolve(1),\n * 2,\n * Promise.reject(3),\n * ]); //=> Promise([{ status: 'fulfilled', value: 1 }, { status: 'fulfilled', value: 2 }, { status: 'rejected', reason: 3 }])\n */\n\nvar allSettledP = isFunction(Promise.allSettled) ? curryN(1, bind(Promise.allSettled, Promise)) : allSettledPPonyfill;\nexport default allSettledP;","import { curryN } from 'ramda';\n/**\n * Y-combinator\n *\n * The Y combinator is an interesting function which only works with functional languages,\n * showing how recursion can still be done even without any variable or function declarations,\n * only functions and parameters\n *\n * @func Y\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.3.0|v2.3.0}\n * @category Function\n * @sig (a, ... -> b -> b) -> (a, ... -> b)\n * @param {Function} le Recursive function maker\n * @return {Function}\n * @see {@link http://kestas.kuliukas.com/YCombinatorExplained/|Y combinator explained}\n * @example\n *\n * const makeFact = givenFact => (n) => {\n * if (n < 2) { return 1 }\n * return n * givenFact(n - 1);\n * };\n *\n * const factorial = RA.Y(makeFact);\n *\n * factorial(5); //=> 120\n */\n\nvar Y = curryN(1, function (le) {\n return function (f) {\n return f(f);\n }(function (g) {\n return le(function (x) {\n return g(g)(x);\n });\n });\n});\nexport default Y;","import { curry, map, tap } from 'ramda';\n/* eslint-disable max-len */\n\n/**\n * Runs the given list of functions in order with the supplied object, then returns the object.\n * Also known as the normal order sequencing combinator.\n *\n * Acts as a transducer if a transformer is given as second parameter.\n *\n * @func seq\n * @aliases sequencing\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.3.0|v2.3.0}\n * @category Function\n * @sig [(a -> *), (a -> *), ...] -> a -> a\n * @param {Array} fns The list of functions to call in order with `x` whose return values will be thrown away\n * @param {*} x\n * @return {*} `x`\n * @see {@link http://ramdajs.com/docs/#tap|R.tap}, {@link http://www.cs.rpi.edu/academics/courses/spring11/proglang/handouts/lambda-calculus-chapter.pdf|sequencing combinator explained}\n * @example\n *\n * RA.seq([console.info, console.log])('foo'); //=> prints 'foo' via info then log\n *\n * // usage in composition\n * R.pipe(\n * R.concat('prefix '),\n * RA.seq([\n * console.info, //=> prints 'prefix test'\n * console.log //=> prints 'prefix test'\n * ]),\n * R.toUpper\n * )('test'); //=> 'PREFIX TEST'\n */\n\n/* eslint-enable max-len */\n\nvar seq = curry(function (fns, x) {\n return tap(function (tx) {\n return map(function (fn) {\n return fn(tx);\n })(fns);\n })(x);\n});\nexport default seq;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { sort, comparator, prop, pipe, head, curryN, reduce, reduced, curry, ifElse } from 'ramda';\n/**\n * Can be used as a way to compose multiple invokers together to form polymorphic functions,\n * or functions that exhibit different behaviors based on their argument(s).\n * Consumes dispatching functions and keep trying to invoke each in turn, until a non-nil value is returned.\n *\n * Accepts a list of dispatching functions and returns a new function.\n * When invoked, this new function is applied to some arguments,\n * each dispatching function is applied to those same arguments until one of the\n * dispatching functions returns a non-nil value.\n *\n * @func dispatch\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0}\n * @category Function\n * @sig [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> x1 | x2 | ...\n * @param {!Array} functions A list of functions\n * @return {*|undefined} Returns the first not-nil value, or undefined if either an empty list is provided or none of the dispatching functions returns a non-nil value\n * @see {@link RA.isNotNil}\n * @example\n *\n * // returns first non-nil value\n * const stubNil = () => null;\n * const stubUndefined = () => undefined;\n * const addOne = v => v + 1;\n * const addTwo = v => v + 2;\n *\n * RA.dispatch([stubNil, stubUndefined, addOne, addTwo])(1); //=> 2\n *\n * // acts as a switch\n * const fnSwitch = RA.dispatch([\n * R.ifElse(RA.isString, s => `${s}-join`, RA.stubUndefined),\n * R.ifElse(RA.isNumber, n => n + 1, RA.stubUndefined),\n * R.ifElse(RA.isDate, R.T, RA.stubUndefined),\n * ]);\n * fnSwitch(1); //=> 2\n */\n\nimport isNotNil from './isNotNil';\nimport isNonEmptyArray from './isNonEmptyArray';\nimport stubUndefined from './stubUndefined';\nvar byArity = comparator(function (a, b) {\n return a.length > b.length;\n});\nvar getMaxArity = pipe(sort(byArity), head, prop('length'));\nvar iteratorFn = curry(function (args, accumulator, fn) {\n var result = fn.apply(void 0, _toConsumableArray(args));\n return isNotNil(result) ? reduced(result) : accumulator;\n});\n\nvar dispatchImpl = function dispatchImpl(functions) {\n var arity = getMaxArity(functions);\n return curryN(arity, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return reduce(iteratorFn(args), undefined, functions);\n });\n};\n\nvar dispatch = ifElse(isNonEmptyArray, dispatchImpl, stubUndefined);\nexport default dispatch;","import { curryN, bind } from 'ramda';\nimport resolveP from './resolveP';\nimport rejectP from './rejectP';\n/**\n * Takes a generator function and returns an async function.\n * The async function returned is a curried function whose arity matches that of the generator function.\n *\n * Note: This function is handy for environments that does support generators but doesn't support async/await.\n *\n * @func async\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.16.0|v2.16.0}\n * @category Function\n * @sig Promise c => (a, b, ...) -> a -> b -> ... -> c\n * @param {Function} generatorFn The generator function\n * @return {Function} Curried async function\n * @see {@link https://www.promisejs.org/generators/}\n * @example\n *\n * const asyncFn = RA.async(function* generator(val1, val2) {\n * const a = yield Promise.resolve(val1);\n * const b = yield Promise.resolve(val2);\n *\n * return a + b;\n * });\n *\n * asyncFn(1, 2); //=> Promise(3)\n *\n */\n\nvar async = curryN(1, function (generatorFn) {\n function asyncWrapper() {\n var iterator = bind(generatorFn, this).apply(void 0, arguments);\n\n var handle = function handle(result) {\n var resolved = resolveP(result.value);\n return result.done ? resolved : resolved.then(function (value) {\n return handle(iterator.next(value));\n }, function (error) {\n return handle(iterator[\"throw\"](error));\n });\n };\n\n try {\n return handle(iterator.next());\n } catch (error) {\n return rejectP(error);\n }\n }\n\n if (generatorFn.length > 0) {\n return curryN(generatorFn.length, asyncWrapper);\n }\n\n return asyncWrapper;\n});\nexport default async;","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { map } from 'ramda';\nimport resolveP from '../../resolveP';\nexport var AggregatedError = /*#__PURE__*/function (_Error) {\n _inherits(AggregatedError, _Error);\n\n var _super = _createSuper(AggregatedError);\n\n function AggregatedError() {\n var _this;\n\n var errors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n _classCallCheck(this, AggregatedError);\n\n _this = _super.call(this, message);\n _this.errors = errors;\n return _this;\n }\n\n return _createClass(AggregatedError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar anyPonyfill = function anyPonyfill(iterable) {\n var exceptions = [];\n return new Promise(function (resolve, reject) {\n var onReject = function onReject(e) {\n exceptions.push(e);\n\n if (exceptions.length === iterable.length) {\n reject(new AggregatedError(exceptions));\n }\n };\n\n map(function (p) {\n return resolveP(p).then(resolve)[\"catch\"](onReject);\n }, _toConsumableArray(iterable));\n });\n};\n\nexport default anyPonyfill;","import { bind, curryN } from 'ramda';\nimport isFunction from './isFunction';\nimport ponyfill, { AggregatedError } from './internal/ponyfills/Promise.any';\nexport var anyPPonyfill = curryN(1, ponyfill);\nexport { AggregatedError };\n/**\n * Returns a promise that is fulfilled by the first given promise to be fulfilled,\n * or rejected with an array of rejection reasons if all of the given promises are rejected.\n *\n * @func anyP\n * @memberOf RA\n * @category Function\n * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}\n * @sig [Promise a] -> Promise a\n * @param {Iterable.<*>} iterable An iterable object such as an Array or String\n * @return {Promise} A promise that is fulfilled by the first given promise to be fulfilled, or rejected with an array of rejection reasons if all of the given promises are rejected\n * @see {@link RA.lastP|lastP}\n * @example\n *\n * RA.anyP([\n * Promise.resolve(1),\n * 2,\n * Promise.reject(3),\n * ]); //=> Promise(1)\n */\n\nvar anyP = isFunction(Promise.any) ? curryN(1, bind(Promise.any, Promise)) : anyPPonyfill;\nexport default anyP;","import { curry, compose, length } from 'ramda';\nvar compareLength = curry(function (comparator, value, list) {\n return compose(comparator(value), length)(list);\n});\nexport default compareLength;","import { equals } from 'ramda';\nimport compareLength from './internal/compareLength';\n/**\n * Returns `true` if the supplied list or string has a length equal to `valueLength`.\n *\n * @func lengthEq\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.8.0|v2.8.0}\n * @category List\n * @sig Number -> [*] -> Boolean\n * @param {number} valueLength The length of the list or string\n * @param {Array|string} value The list or string\n * @return {boolean}\n * @see {@link RA.lengthNotEq|lengthNotEq}, {@link RA.lengthLt|lengthLt}, {@link RA.lengthGt|lengthGt}, {@link RA.lengthLte|lengthLte}, {@link RA.lengthGte|lengthGte},, {@link http://ramdajs.com/docs/#equals|equals}, {@link http://ramdajs.com/docs/#length|length}\n * @example\n *\n * RA.lengthEq(3, [1,2,3]); //=> true\n * RA.lengthEq(3, [1,2,3,4]); //=> false\n */\n\nvar lengthEq = compareLength(equals);\nexport default lengthEq;","import { flip, gte } from 'ramda';\nimport compareLength from './internal/compareLength';\n/**\n * Returns `true` if the supplied list or string has a length greater than or equal to\n * `valueLength`.\n *\n * @func lengthGte\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.8.0|v2.8.0}\n * @category List\n * @sig Number -> [*] -> Boolean\n * @param {number} valueLength The length of the list or string\n * @param {Array|string} value The list or string\n * @return {boolean}\n * @see {@link RA.lengthEq|lengthEq}, {@link RA.lengthNotEq|lengthNotEq}, {@link RA.lengthLt|lengthLt}, {@link RA.lengthGt|lengthGt}, {@link RA.lengthLte|lengthLte}, {@link http://ramdajs.com/docs/#gte|gte}, {@link http://ramdajs.com/docs/#length|length}\n * @example\n *\n * RA.lengthGte(3, [1,2,3,4]); //=> true\n * RA.lengthGte(3, [1,2,3]); //=> true\n * RA.lengthGte(3, [1,2]); //=> false\n */\n\nvar lengthGte = compareLength(flip(gte));\nexport default lengthGte;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { bind, last, map, curryN } from 'ramda';\nimport allP from './allP';\nimport lengthEq from './lengthEq';\nimport lengthGte from './lengthGte';\nimport rejectP from './rejectP';\nimport resolveP from './resolveP';\n/**\n * Returns a promise that is fulfilled by the last given promise to be fulfilled,\n * or rejected with an array of rejection reasons if all of the given promises are rejected.\n *\n * @func lastP\n * @memberOf RA\n * @category Function\n * @since {@link https://char0n.github.io/ramda-adjunct/2.23.0|v2.23.0}\n * @sig [Promise a] -> Promise a\n * @param {Iterable.<*>} iterable An iterable object such as an Array or String\n * @return {Promise} A promise that is fulfilled by the last given promise to be fulfilled, or rejected with an array of rejection reasons if all of the given promises are rejected.\n * @see {@link RA.anyP|anyP}\n * @example\n *\n * const delayP = timeout => new Promise(resolve => setTimeout(() => resolve(timeout), timeout));\n * delayP.reject = timeout => new Promise((resolve, reject) => setTimeout(() => reject(timeout), timeout));\n * RA.lastP([\n * 1,\n * delayP(10),\n * delayP(100),\n * delayP.reject(1000),\n * ]); //=> Promise(100)\n */\n\nvar lastP = curryN(1, function (iterable) {\n var fulfilled = [];\n var rejected = [];\n var onFulfill = bind(fulfilled.push, fulfilled);\n var onReject = bind(rejected.push, rejected);\n var listOfPromises = map(function (p) {\n return resolveP(p).then(onFulfill)[\"catch\"](onReject);\n }, _toConsumableArray(iterable));\n return allP(listOfPromises).then(function () {\n if (lengthEq(0, fulfilled) && lengthEq(0, rejected)) {\n return undefined;\n }\n\n if (lengthGte(1, fulfilled)) {\n return last(fulfilled);\n }\n\n return rejectP(rejected);\n });\n});\nexport default lastP;","import { curry } from 'ramda';\n/**\n * Returns the second argument if predicate function returns `true`,\n * otherwise the third argument is returned.\n *\n * @func defaultWhen\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.2.0|v2.2.0}\n * @category Logic\n * @sig (a -> Boolean) -> b -> a -> a | b\n * @param {!function} predicate The predicate function\n * @param {*} defaultVal The default value\n * @param {*} val `val` will be returned instead of `defaultVal` if predicate returns false\n * @return {*} The `val` if predicate returns `false`, otherwise the default value\n * @see {@link http://ramdajs.com/docs/#defaultTo|R.defaultTo}\n * @example\n *\n * RA.defaultWhen(RA.isNull, 1, null); // => 1\n * RA.defaultWhen(RA.isNull, 1, 2); // => 2\n */\n\nvar defaultWhen = curry(function (predicate, defaultVal, val) {\n return predicate(val) ? defaultVal : val;\n});\nexport default defaultWhen;","import { addIndex, map } from 'ramda';\n/**\n * {@link http://ramdajs.com/docs/#map|R.map} function that more closely resembles Array.prototype.map.\n * It takes two new parameters to its callback function: the current index, and the entire list.\n *\n * `mapIndexed` implementation is simple : `\n * const mapIndexed = R.addIndex(R.map);\n * `\n * @func mapIndexed\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}\n * @category List\n * @typedef Idx = Number\n * @sig Functor f => ((a, Idx, f a) => b) => f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`\n * @param {Array} list The list to be iterated over\n * @return {Array} The new list\n * @see {@link http://ramdajs.com/docs/#addIndex|R.addIndex}, {@link http://ramdajs.com/docs/#map|R.map}\n * @example\n *\n * RA.mapIndexed((val, idx, list) => idx + '-' + val, ['f', 'o', 'o', 'b', 'a', 'r']);\n * //=> ['0-f', '1-o', '2-o', '3-b', '4-a', '5-r']\n */\n\nvar mapIndexed = addIndex(map);\nexport default mapIndexed;","import { isNil, curryN, curry, apply } from 'ramda';\nimport defaultWhen from './defaultWhen';\nimport mapIndexed from './mapIndexed';\n/**\n * Returns a function which is called with the given arguments. If any of the given arguments are null or undefined,\n * the corresponding default value for that argument is used instead.\n *\n * @func fnull\n * @memberOf RA\n * @category Function\n * @sig (a ... -> b) -> [c] -> a ... | c -> b\n * @param {Function} function to be executed\n * @param {Array} defaults default arguments\n * @return {Function} will apply provided arguments or default ones\n * @example\n *\n * const addDefaults = RA.fnull((a, b) => a + b, [4, 5])\n *\n * addDefaults(1, 2); // => 3\n * addDefaults(null, 2); // => 6\n * addDefaults(2, null); // => 7\n * addDefaults(undefined, undefined); // => 9\n */\n\nvar fnull = curry(function (fn, defaults) {\n return curryN(fn.length, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var argsWithDefaults = mapIndexed(function (val, idx) {\n return defaultWhen(isNil, defaults[idx], val);\n }, args);\n return apply(fn, argsWithDefaults);\n });\n});\nexport default fnull;","import { addIndex, reduce } from 'ramda';\n/**\n * {@link http://ramdajs.com/docs/#reduce|R.reduce} function that more closely resembles Array.prototype.reduce.\n * It takes two new parameters to its callback function: the current index, and the entire list.\n *\n * `reduceIndexed` implementation is simple : `\n * const reduceIndexed = R.addIndex(R.reduce);\n * `\n * @func reduceIndexed\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}\n * @category List\n * @typedef Idx = Number\n * @sig ((a, b, Idx, [b]) => a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives four values,\n * the accumulator, the current element from the array, index and the entire list\n * @param {*} acc The accumulator value\n * @param {Array} list The list to iterate over\n * @return {*} The final, accumulated value\n * @see {@link http://ramdajs.com/docs/#addIndex|R.addIndex}, {@link http://ramdajs.com/docs/#reduce|R.reduce}\n * @example\n *\n * const initialList = ['f', 'o', 'o', 'b', 'a', 'r'];\n *\n * reduceIndexed((acc, val, idx, list) => acc + '-' + val + idx, '', initialList);\n * //=> \"-f0-o1-o2-b3-a4-r5\"\n */\n\nvar reduceIndexed = addIndex(reduce);\nexport default reduceIndexed;","import { addIndex, filter } from 'ramda';\n/**\n * {@link http://ramdajs.com/docs/#filter|R.filter} function that more closely resembles `Array.prototype.filter`.\n * It takes two new parameters to its callback function: the current index, and the entire list.\n *\n * `filterIndexed` implementation is simple: `\n * const filterIndexed = R.addIndex(R.filter);\n * `\n *\n * @func filterIndexed\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.31.0|v2.31.0}\n * @category List\n * @typedef Idx = Number\n * @sig Filterable f => ((a, Idx, f a) -> Boolean) -> f a -> f a\n * @param {Function} pred The predicate function\n * @param {Array} list The collection to filter\n * @return {Array} Filterable\n * @see {@link http://ramdajs.com/docs/#addIndex|R.addIndex}, {@link http://ramdajs.com/docs/#filter|R.filter}\n * @example\n *\n * const isValueGtIndex = (val, idx) => val > idx;\n * RA.filterIndexed(isValueGtIndex, [5, 4, 3, 2, 1, 0]); //=> [5, 4, 3]\n */\n\nvar filterIndexed = addIndex(filter);\nexport default filterIndexed;","import { filter, addIndex, curry, contains } from 'ramda'; // helpers\n\nvar filterIndexed = addIndex(filter);\nvar containsIndex = curry(function (indexes, val, index) {\n return contains(index, indexes);\n});\n/**\n * Picks values from list by indexes.\n *\n * Note: pickIndexes will skip non existing indexes. If you want to include them\n * use ramda's `props` function.\n *\n * @func pickIndexes\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.1.0|v1.1.0}\n * @category List\n * @sig [Number] -> [a] -> [a]\n * @param {Array} indexes The indexes to pick\n * @param {Array} list The list to pick values from\n * @return {Array} New array containing only values at `indexes`\n * @see {@link http://ramdajs.com/docs/#pick|R.pick}, {@link RA.omitIndexes|omitIndexes}\n * @example\n *\n * RA.pickIndexes([0, 2], ['a', 'b', 'c']); //=> ['a', 'c']\n */\n\nvar pickIndexes = curry(function (indexes, list) {\n return filterIndexed(containsIndex(indexes), list);\n});\nexport default pickIndexes;","import { unapply, identity } from 'ramda';\n/**\n * Creates a list from arguments.\n *\n * @func list\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.1.0|v1.1.0}\n * @category List\n * @sig a... -> [a...]\n * @param {...*} items The items of the feature list\n * @return {Array} New list created from items\n * @see {@link https://github.com/ramda/ramda/wiki/Cookbook#create-a-list-function|Ramda Cookbook}\n * @example\n *\n * RA.list('a', 'b', 'c'); //=> ['a', 'b', 'c']\n */\n\nvar list = unapply(identity);\nexport default list;","import { when, of } from 'ramda';\nimport isNotArray from './isNotArray';\n/**\n * Returns a singleton array containing the value provided.\n * If value is already an array, it is returned as is.\n *\n * @func ensureArray\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0}\n * @category List\n * @sig a | [a] -> [a]\n * @param {*|Array} val the value ensure as Array\n * @return {Array}\n * @see {@link http://ramdajs.com/docs/#of|R.of}\n * @example\n *\n * RA.ensureArray(42); //=> [42]\n * RA.ensureArray([42]); //=> [42]\n */\n\nvar ensureArray = when(isNotArray, of);\nexport default ensureArray;","import { concat, identical, identity, pipe, reduce, when } from 'ramda';\nimport stubUndefined from './stubUndefined';\nvar leftIdentitySemigroup = {\n concat: identity\n};\n/**\n * Returns the result of concatenating the given lists or strings.\n * Note: RA.concatAll expects all elements to be of the same type. It will throw an error if you concat an Array with a non-Array value.\n * Dispatches to the concat method of the preceding element, if present. Can also concatenate multiple elements of a [fantasy-land compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup).\n * Returns undefined if empty array was passed.\n *\n * @func concatAll\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0}\n * @category List\n * @sig [[a]] -> [a] | Undefined\n * @sig [String] -> String | Undefined\n * @sig Semigroup s => Foldable s f => f -> s | Undefined\n * @param {Array.} list List containing elements that will be concatenated\n * @return {Array|string|undefined} Concatenated elements\n * @see {@link http://ramdajs.com/docs/#concat|R.concat}, {@link RA.concatRight|concatRight}, {@link http://ramdajs.com/docs/#unnest|R.unnest}, {@link http://ramdajs.com/docs/#join|R.join}\n * @example\n *\n * concatAll([[1], [2], [3]]); //=> [1, 2, 3]\n * concatAll(['1', '2', '3']); //=> '123'\n * concatAll([]); //=> undefined;\n */\n\nvar concatAll = pipe(reduce(concat, leftIdentitySemigroup), when(identical(leftIdentitySemigroup), stubUndefined));\nexport default concatAll;","import { concat, flip } from 'ramda';\n/**\n * Returns the result of concatenating the given lists or strings.\n *\n * Note: R.concat expects both arguments to be of the same type, unlike\n * the native Array.prototype.concat method.\n * It will throw an error if you concat an Array with a non-Array value.\n * Dispatches to the concat method of the second argument, if present.\n *\n * @func concatRight\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.11.0|v1.11.0}\n * @category List\n * @sig [a] -> [a] -> [a]\n * @sig String -> String -> String\n * @param {Array|String} firstList The first list\n * @param {Array|String} secondList The second list\n * @return {Array|String} A list consisting of the elements of `secondList`\n * followed by the elements of `firstList`.\n * @see {@link http://ramdajs.com/docs/#concat|R.concat}\n * @example\n *\n * RA.concatRight('ABC', 'DEF'); //=> 'DEFABC'\n * RA.concatRight([4, 5, 6], [1, 2, 3]); //=> [1, 2, 3, 4, 5, 6]\n * RA.concatRight([], []); //=> []\n */\n\nvar concatRight = flip(concat);\nexport default concatRight;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { curryN, reduce, length } from 'ramda';\nimport isUndefined from './isUndefined';\nimport resolveP from './resolveP';\nimport allP from './allP';\n/* eslint-disable max-len */\n\n/**\n * Given an `Iterable`(arrays are `Iterable`), or a promise of an `Iterable`,\n * which produces promises (or a mix of promises and values),\n * iterate over all the values in the `Iterable` into an array and\n * reduce the array to a value using the given iterator function.\n *\n * If the iterator function returns a promise, then the result of the promise is awaited,\n * before continuing with next iteration. If any promise in the array is rejected or a promise\n * returned by the iterator function is rejected, the result is rejected as well.\n *\n * If `initialValue` is `undefined` (or a promise that resolves to `undefined`) and\n * the `Iterable` contains only 1 item, the callback will not be called and\n * the `Iterable's` single item is returned. If the `Iterable` is empty, the callback\n * will not be called and `initialValue` is returned (which may be undefined).\n *\n * This function is basically equivalent to {@link http://bluebirdjs.com/docs/api/promise.reduce.html|bluebird.reduce}.\n *\n * @func reduceP\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.13.0|v1.13.0}\n * @category List\n * @typedef MaybePromise = Promise.<*> | *\n * @sig ((Promise a, MaybePromise b) -> Promise a) -> MaybePromise a -> MaybePromise [MaybePromise b] -> Promise a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the current element from the list\n * @param {*|Promise.<*>} acc The accumulator value\n * @param {Array.<*>|Promise.>>} list The list to iterate over\n * @return {Promise} The final, accumulated value\n * @see {@link http://ramdajs.com/docs/#reduce|R.reduce}, {@link RA.reduceRightP|reduceRightP}, {@link http://bluebirdjs.com/docs/api/promise.reduce.html|bluebird.reduce}\n * @example\n *\n * RA.reduceP(\n * (total, fileName) => fs\n * .readFileAsync(fileName, 'utf8')\n * .then(contents => total + parseInt(contents, 10)),\n * 0,\n * ['file1.txt', 'file2.txt', 'file3.txt']\n * ); // => Promise(10)\n *\n * RA.reduceP(\n * (total, fileName) => fs\n * .readFileAsync(fileName, 'utf8')\n * .then(contents => total + parseInt(contents, 10)),\n * Promise.resolve(0),\n * ['file1.txt', 'file2.txt', 'file3.txt']\n * ); // => Promise(10)\n *\n * RA.reduceP(\n * (total, fileName) => fs\n * .readFileAsync(fileName, 'utf8')\n * .then(contents => total + parseInt(contents, 10)),\n * 0,\n * [Promise.resolve('file1.txt'), 'file2.txt', 'file3.txt']\n * ); // => Promise(10)\n *\n * RA.reduceP(\n * (total, fileName) => fs\n * .readFileAsync(fileName, 'utf8')\n * .then(contents => total + parseInt(contents, 10)),\n * 0,\n * Promise.resolve([Promise.resolve('file1.txt'), 'file2.txt', 'file3.txt'])\n * ); // => Promise(10)\n *\n */\n\n/* esline-enable max-len */\n\nvar reduceP = curryN(3, function (fn, acc, list) {\n return resolveP(list).then(function (iterable) {\n var listLength = length(iterable);\n\n if (listLength === 0) {\n return acc;\n }\n\n var reducer = reduce(function (accP, currentValueP) {\n return accP.then(function (previousValue) {\n return allP([previousValue, currentValueP]);\n }).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n previousValue = _ref2[0],\n currentValue = _ref2[1];\n\n if (isUndefined(previousValue) && listLength === 1) {\n return currentValue;\n }\n\n return fn(previousValue, currentValue);\n });\n });\n return reducer(resolveP(acc), iterable);\n });\n});\nexport default reduceP;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { curryN, pipe, equals, reduceRight, length, concat } from 'ramda';\nimport isUndefined from './isUndefined';\nimport resolveP from './resolveP';\nimport allP from './allP'; // in older ramda versions the order of the arguments is flipped\n\nvar flipArgs = pipe(reduceRight(concat, ''), equals('ba'))(['a', 'b']);\n/* eslint-disable max-len */\n\n/**\n * Given an `Iterable`(arrays are `Iterable`), or a promise of an `Iterable`,\n * which produces promises (or a mix of promises and values),\n * iterate over all the values in the `Iterable` into an array and\n * reduce the array to a value using the given iterator function.\n *\n * Similar to {@link RA.reduceP|reduceP} except moves through the input list from the right to the left.\n * The iterator function receives two values: (value, acc),\n * while the arguments' order of reduceP's iterator function is (acc, value).\n *\n * @func reduceRightP\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.13.0|v1.13.0}\n * @category List\n * @typedef MaybePromise = Promise.<*> | *\n * @sig ((MaybePromise b, Promise a) -> Promise a) -> MaybePromise a -> MaybePromise [MaybePromise b] -> Promise a\n * @param {Function} fn The iterator function. Receives two values, the current element from the list and the accumulator\n * @param {*|Promise.<*>} acc The accumulator value\n * @param {Array.<*>|Promise.>>} list The list to iterate over\n * @return {Promise} The final, accumulated value\n * @see {@link RA.reduceP|reduceP}, {@link http://bluebirdjs.com/docs/api/promise.reduce.html|bluebird.reduce}\n * @example\n *\n * RA.reduceRightP(\n * (fileName, total) => fs\n * .readFileAsync(fileName, 'utf8')\n * .then(contents => total + parseInt(contents, 10)),\n * 0,\n * ['file1.txt', 'file2.txt', 'file3.txt']\n * ); // => Promise(10)\n *\n * RA.reduceRightP(\n * (fileName, total) => fs\n * .readFileAsync(fileName, 'utf8')\n * .then(contents => total + parseInt(contents, 10)),\n * Promise.resolve(0),\n * ['file1.txt', 'file2.txt', 'file3.txt']\n * ); // => Promise(10)\n *\n * RA.reduceRightP(\n * (fileName, total) => fs\n * .readFileAsync(fileName, 'utf8')\n * .then(contents => total + parseInt(contents, 10)),\n * 0,\n * [Promise.resolve('file1.txt'), 'file2.txt', 'file3.txt']\n * ); // => Promise(10)\n *\n * RA.reduceRightP(\n * (fileName, total) => fs\n * .readFileAsync(fileName, 'utf8')\n * .then(contents => total + parseInt(contents, 10)),\n * 0,\n * Promise.resolve([Promise.resolve('file1.txt'), 'file2.txt', 'file3.txt'])\n * ); // => Promise(10)\n *\n */\n\n/* esline-enable max-len */\n\nvar reduceRightP = curryN(3, function (fn, acc, list) {\n return resolveP(list).then(function (iterable) {\n var listLength = length(iterable);\n\n if (listLength === 0) {\n return acc;\n }\n\n var reducer = reduceRight(function (arg1, arg2) {\n var accP;\n var currentValueP;\n\n if (flipArgs) {\n accP = arg1;\n currentValueP = arg2;\n } else {\n accP = arg2;\n currentValueP = arg1;\n }\n\n return accP.then(function (previousValue) {\n return allP([previousValue, currentValueP]);\n }).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n previousValue = _ref2[0],\n currentValue = _ref2[1];\n\n if (isUndefined(previousValue) && listLength === 1) {\n return currentValue;\n }\n\n return fn(currentValue, previousValue);\n });\n });\n return reducer(resolveP(acc), iterable);\n });\n});\nexport default reduceRightP;","import { __, slice } from 'ramda';\n/**\n * Returns the elements of the given list or string (or object with a slice method)\n * from fromIndex (inclusive).\n * Dispatches to the slice method of the second argument, if present.\n *\n * @func sliceFrom\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.16.0|v1.16.0}\n * @category List\n * @sig Number -> [a] -> [a]\n * @param {number} fromIndex The start index (inclusive)\n * @param {Array|string} list The list or string to slice\n * @return {Array|string} The sliced list or string\n * @see {@link http://ramdajs.com/docs/#slice|R.slice}, {@link RA.sliceTo|sliceTo}\n * @example\n *\n * RA.sliceFrom(1, [1, 2, 3]); //=> [2, 3]\n */\n\nvar sliceFrom = slice(__, Infinity);\nexport default sliceFrom;","import { slice } from 'ramda';\n/**\n * Returns the elements of the given list or string (or object with a slice method)\n * to toIndex (exclusive).\n * Dispatches to the slice method of the second argument, if present.\n *\n * @func sliceTo\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.16.0|v1.16.0}\n * @category List\n * @sig Number -> [a] -> [a]\n * @param {number} toIndex The end index (exclusive)\n * @param {Array|string} list The list or string to slice\n * @return {Array|string} The sliced list or string\n * @see {@link http://ramdajs.com/docs/#slice|R.slice}, {@link RA.sliceFrom|sliceFrom}\n * @example\n *\n * RA.sliceTo(2, [1, 2, 3]); //=> [1, 2]\n */\n\nvar sliceTo = slice(0);\nexport default sliceTo;","import { contains, curry, addIndex, reject } from 'ramda'; // helpers\n\nvar rejectIndexed = addIndex(reject);\nvar containsIndex = curry(function (indexes, val, index) {\n return contains(index, indexes);\n});\n/**\n * Returns a partial copy of an array omitting the indexes specified.\n *\n * @func omitIndexes\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/1.19.0|v1.19.0}\n * @category List\n * @sig [Int] -> [a] -> [a]\n * @see {@link http://ramdajs.com/docs/#omit|R.omit}, {@link RA.pickIndexes|pickIndexes}\n * @param {!Array} indexes The array of indexes to omit from the new array\n * @param {!Array} list The array to copy from\n * @return {!Array} The new array with omitted indexes\n * @example\n *\n * RA.omitIndexes([-1, 1, 3], ['a', 'b', 'c', 'd']); //=> ['a', 'c']\n */\n\nvar omitIndexes = curry(function (indexes, list) {\n return rejectIndexed(containsIndex(indexes), list);\n});\nexport default omitIndexes;","import { reject } from 'ramda';\nimport isFalsy from './isFalsy';\n/**\n * Creates an array with all falsy values removed.\n * The values false, null, 0, \"\", undefined, and NaN are falsy.\n *\n * @func compact\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}\n * @category List\n * @sig Filterable f => f a -> f a\n * @param {Array} list The array to compact\n * @return {Array} Returns the new array of filtered values\n * @see {@link RA.isFalsy|isFalsy}\n * @example\n *\n * RA.compact([0, 1, false, 2, '', 3]); //=> [1, 2, 3]\n */\n\nvar compact = reject(isFalsy);\nexport default compact;","import { append, flip } from 'ramda';\n/**\n * Returns a new list containing the contents of the given list, followed by the given element.\n * Like {@link http://ramdajs.com/docs/#append|R.append} but with argument order reversed.\n *\n * @func appendFlipped\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}\n * @category List\n * @sig [a] -> a -> [a]\n * @param {Array} list The list of elements to add a new item to\n * @param {*} el The element to add to the end of the new list\n * @return {Array} A new list containing the elements of the old list followed by `el`\n * @see {@link http://ramdajs.com/docs/#append|R.append}\n * @example\n *\n * RA.appendFlipped(['write', 'more'], 'tests'); //=> ['write', 'more', 'tests']\n * RA.appendFlipped([], 'tests'); //=> ['tests']\n * RA.appendFlipped(['write', 'more'], ['tests']); //=> ['write', 'more', ['tests']]\n */\n\nvar appendFlipped = flip(append);\nexport default appendFlipped;","import { flip, contains } from 'ramda';\n/**\n * Returns true if the specified value is equal, in R.equals terms,\n * to at least one element of the given list or false otherwise.\n * Given list can be a string.\n *\n * Like {@link http://ramdajs.com/docs/#contains|R.contains} but with argument order reversed.\n *\n * @func contained\n * @aliases included\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.8.0|v2.8.0}\n * @deprecated since v2.12.0; please use RA.included alias\n * @category List\n * @sig [a] -> a -> Boolean\n * @param {Array|String} list The list to consider\n * @param {*} a The item to compare against\n * @return {boolean} Returns Boolean `true` if an equivalent item is in the list or `false` otherwise\n * @see {@link http://ramdajs.com/docs/#contains|R.contains}\n * @example\n *\n * RA.contained([1, 2, 3], 3); //=> true\n * RA.contained([1, 2, 3], 4); //=> false\n * RA.contained([{ name: 'Fred' }], { name: 'Fred' }); //=> true\n * RA.contained([[42]], [42]); //=> true\n */\n\nvar contained = flip(contains);\nexport default contained;","import { compose, curry, insert, nth, remove } from 'ramda';\n/**\n * Returns a new list with the item at the position `fromIdx` moved to the position `toIdx`. If the\n * `toIdx` is out of the `list` range, the item will be placed at the last position of the `list`.\n * When negative indices are provided, the behavior of the move is unspecified.\n *\n * @func move\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.8.0|v2.8.0}\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @param {number} fromIdx The position of item to be moved\n * @param {number} toIdx The position of item after move\n * @param {Array} list The list containing the item to be moved\n * @return {Array}\n * @example\n *\n * const list = ['a', 'b', 'c', 'd', 'e'];\n * RA.move(1, 3, list) //=> ['a', 'c', 'd', 'b', 'e']\n */\n\nvar move = curry(function (fromIdx, toIdx, list) {\n return compose(insert(toIdx, nth(fromIdx, list)), remove(fromIdx, 1))(list);\n});\nexport default move;","import { flip, gt } from 'ramda';\nimport compareLength from './internal/compareLength';\n/**\n * Returns `true` if the supplied list or string has a length greater than `valueLength`.\n *\n * @func lengthGt\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.8.0|v2.8.0}\n * @category List\n * @sig Number -> [*] -> Boolean\n * @param {number} valueLength The length of the list or string\n * @param {Array|string} value The list or string\n * @return {boolean}\n * @see {@link RA.lengthEq|lengthEq}, {@link RA.lengthNotEq|lengthNotEq}, {@link RA.lengthLt|lengthLt}, {@link RA.lengthLte|lengthLte}, {@link RA.lengthGte|lengthGte}, {@link http://ramdajs.com/docs/#gt|gt}, {@link http://ramdajs.com/docs/#length|length}\n * @example\n *\n * RA.lengthGt(3, [1,2,3,4]); //=> true\n * RA.lengthGt(3, [1,2,3]); //=> false\n */\n\nvar lengthGt = compareLength(flip(gt));\nexport default lengthGt;","import { flip, lt } from 'ramda';\nimport compareLength from './internal/compareLength';\n/**\n * Returns `true` if the supplied list or string has a length less than `valueLength`.\n *\n * @func lengthLt\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.8.0|v2.8.0}\n * @category List\n * @sig Number -> [*] -> Boolean\n * @param {number} valueLength The length of the list or string\n * @param {Array|string} value The list or string\n * @return {boolean}\n * @see {@link RA.lengthEq|lengthEq}, {@link RA.lengthNotEq|lengthNotEq}, {@link RA.lengthGt|lengthGt}, {@link RA.lengthLte|lengthLte}, {@link RA.lengthGte|lengthGte}, {@link http://ramdajs.com/docs/#lt|lt}, {@link http://ramdajs.com/docs/#length|length}\n * @example\n *\n * RA.lengthLt(3, [1,2]); //=> true\n * RA.lengthLt(3, [1,2,3]); //=> false\n */\n\nvar lengthLt = compareLength(flip(lt));\nexport default lengthLt;","import { flip, lte } from 'ramda';\nimport compareLength from './internal/compareLength';\n/**\n * Returns `true` if the supplied list or string has a length less than or equal to `valueLength`.\n *\n * @func lengthLte\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.8.0|v2.8.0}\n * @category List\n * @sig Number -> [*] -> Boolean\n * @param {number} valueLength The length of the list or string\n * @param {Array|string} value The list or string\n * @return {boolean}\n * @see {@link RA.lengthEq|lengthEq}, {@link RA.lengthNotEq|lengthNotEq}, {@link RA.lengthLt|lengthLt}, {@link RA.lengthGt|lengthGt}, {@link RA.lengthGte|lengthGte}, {@link http://ramdajs.com/docs/#lte|lte}, {@link http://ramdajs.com/docs/#length|length}\n * @example\n *\n * RA.lengthLte(3, [1,2]); //=> true\n * RA.lengthLte(3, [1,2,3]); //=> true\n * RA.lengthLte(3, [1,2,3,4]); //=> false\n */\n\nvar lengthLte = compareLength(flip(lte));\nexport default lengthLte;","import { complement, equals } from 'ramda';\nimport compareLength from './internal/compareLength';\n/**\n * Returns `true` if the supplied list or string has a length not equal to `valueLength`.\n *\n * @func lengthNotEq\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.8.0|v2.8.0}\n * @category List\n * @sig Number -> [*] -> Boolean\n * @param {number} valueLength The length of the list or string\n * @param {Array|string} value The list or string\n * @return {boolean}\n * @see {@link RA.lengthEq|lengthEq}, {@link RA.lengthLt|lengthLt}, {@link RA.lengthGt|lengthGt}, {@link RA.lengthLte|lengthLte}, {@link RA.lengthGte|lengthGte}, {@link http://ramdajs.com/docs/#equals|equals}, {@link http://ramdajs.com/docs/#length|length}\n * @example\n *\n * RA.lengthNotEq(3, [1,2,3,4]); //=> true\n * RA.lengthNotEq(3, [1,2,3]); //=> false\n */\n\nvar lengthNotEq = compareLength(complement(equals));\nexport default lengthNotEq;","import { pipe, uniq, curryN } from 'ramda';\nimport lengthLte from './lengthLte'; // Original idea for this function was conceived by https://github.com/jackmellis\n// in https://github.com/char0n/ramda-adjunct/pull/513.\n\n/**\n * Returns true if all items in the list are equivalent using `R.equals` for equality comparisons.\n *\n * @func allEqual\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.9.0|v2.9.0}\n * @category List\n * @sig [a] -> Boolean\n * @param {Array} list The list of values\n * @return {boolean}\n * @see {@link https://ramdajs.com/docs/#equals|equals}\n * @example\n *\n * RA.allEqual([ 1, 2, 3, 4 ]); //=> false\n * RA.allEqual([ 1, 1, 1, 1 ]); //=> true\n * RA.allEqual([]); //=> true\n *\n */\n\nvar allEqual = curryN(1, pipe(uniq, lengthLte(1)));\nexport default allEqual;","import isNotFinite from '../../isNotFinite';\nimport isNegative from '../../isNegative';\n\nvar repeat = function repeat(value, count) {\n var validCount = Number(count);\n\n if (validCount !== count) {\n validCount = 0;\n }\n\n if (isNegative(validCount)) {\n throw new RangeError('repeat count must be non-negative');\n }\n\n if (isNotFinite(validCount)) {\n throw new RangeError('repeat count must be less than infinity');\n }\n\n validCount = Math.floor(validCount);\n\n if (value.length === 0 || validCount === 0) {\n return '';\n } // Ensuring validCount is a 31-bit integer allows us to heavily optimize the\n // main part. But anyway, most current (August 2014) browsers can't handle\n // strings 1 << 28 chars or longer, so:\n // eslint-disable-next-line no-bitwise\n\n\n if (value.length * validCount >= 1 << 28) {\n throw new RangeError('repeat count must not overflow maximum string size');\n }\n\n var maxCount = value.length * validCount;\n validCount = Math.floor(Math.log(validCount) / Math.log(2));\n var result = value;\n\n while (validCount) {\n result += value;\n validCount -= 1;\n }\n\n result += result.substring(0, maxCount - result.length);\n return result;\n};\n\nexport default repeat;","import { curry, invoker, flip } from 'ramda';\nimport ponyfill from './internal/ponyfills/String.repeat';\nimport isFunction from './isFunction';\nexport var repeatStrPonyfill = curry(ponyfill);\nexport var repeatStrInvoker = flip(invoker(1, 'repeat'));\n/**\n * Constructs and returns a new string which contains the specified\n * number of copies of the string on which it was called, concatenated together.\n *\n * @func repeatStr\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.11.0|v2.11.0}\n * @category List\n * @sig String -> Number -> String\n * @param {string} value String value to be repeated\n * @param {number} count An integer between 0 and +éˆï¿½: [0, +éˆï¿½), indicating the number of times to repeat the string in the newly-created string that is to be returned\n * @return {string} A new string containing the specified number of copies of the given string\n * @example\n *\n * RA.repeatStr('a', 3); //=> 'aaa'\n */\n\nvar repeatStr = isFunction(String.prototype.repeat) ? repeatStrInvoker : repeatStrPonyfill;\nexport default repeatStr;","import { uniqWith, identical, pipe, curryN } from 'ramda';\nimport lengthLte from './lengthLte';\n/**\n * Returns true if all items in the list are equivalent using `R.identical` for equality comparisons.\n *\n * @func allIdentical\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.11.0|v2.11.0}\n * @category List\n * @sig [a] -> Boolean\n * @param {Array} list The list of values\n * @return {boolean}\n * @see {@link https://ramdajs.com/docs/#identical|identical}\n * @example\n *\n * RA.allIdentical([ 1, 2, 3, 4 ]); //=> false\n * RA.allIdentical([ 1, 1, 1, 1 ]); //=> true\n * RA.allIdentical([]); //=> true\n * RA.allIdentical([ {}, {} ]); //=> false\n * RA.allIdentical([ () => {}, () => {} ]); //=> false\n */\n\nvar allIdentical = curryN(1, pipe(uniqWith(identical), lengthLte(1)));\nexport default allIdentical;","import { curry, identical, all } from 'ramda';\n/**\n * Returns true if all items in the list are equivalent to user provided value using `R.identical` for equality comparisons.\n *\n * @func allIdenticalTo\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.11.0|v2.11.0}\n * @category List\n * @sig a -> [b] -> Boolean\n * @param {*} val User provided value to check the `list` against\n * @param {Array} list The list of values\n * @return {boolean}\n * @see {@link RA.allIdentical|allIdentical}, {@link http://ramdajs.com/docs/#identical|R.identical}\n * @example\n *\n * RA.allIdenticalTo(1, [ 1, 2, 3, 4 ]); //=> false\n * RA.allIdenticalTo(1, [ 1, 1, 1, 1 ]); //=> true\n * RA.allIdenticalTo(1, []); //=> true\n * RA.allIdenticalTo({}, [ {}, {} ]); //=> false\n *\n */\n\nvar allIdenticalTo = curry(function (val, list) {\n return all(identical(val), list);\n});\nexport default allIdenticalTo;","import { all, equals, curry } from 'ramda';\n/**\n * Returns true if all items in the list are equivalent to user provided value using `R.equals` for equality comparisons.\n *\n * @func allEqualTo\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.11.0|v2.11.0}\n * @category List\n * @sig a -> [b] -> Boolean\n * @param {*} val User provided value to check the `list` against\n * @param {Array} list The list of values\n * @return {boolean}\n * @see {@link RA.allEqual|allEqual}, {@link https://ramdajs.com/docs/#equals|equals}\n * @example\n *\n * RA.allEqualTo(1, [ 1, 2, 3, 4 ]); //=> false\n * RA.allEqualTo(1, [ 1, 1, 1, 1 ]); //=> true\n * RA.allEqualTo({}, [ {}, {} ]); //=> true\n * RA.allEqualTo(1, []); //=> true\n *\n */\n\nvar allEqualTo = curry(function (val, list) {\n return all(equals(val), list);\n});\nexport default allEqualTo;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { curry } from 'ramda';\nimport _makeFlat from './internal/makeFlat';\n\nvar flatten1 = _makeFlat(false);\n/**\n * Flattens the list to the specified depth.\n *\n * @func flattenDepth\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.19.0|v2.19.0}\n * @category List\n * @sig Number -> [a] -> [b]\n * @param {!number} depth The maximum recursion depth\n * @param {!Array} list The array to flatten\n * @return {!Array} Returns the new flattened array\n * @see {@link http://ramdajs.com/docs/#flatten|R.flatten}, {@link http://ramdajs.com/docs/#unnest|R.unnest}\n * @example\n *\n * RA.flattenDepth(\n * 2,\n * [1, [2], [3, [4, 5], 6, [[[7], 8]]], 9, 10]\n * ); //=> [1, 2, 3, 4, 5, 6, [[7], 8], 9, 10];\n */\n\n\nvar flattenDepth = curry(function (depth, list) {\n var currentDept = depth;\n\n var flatList = _toConsumableArray(list);\n\n while (currentDept > 0) {\n flatList = flatten1(flatList);\n currentDept -= 1;\n }\n\n return flatList;\n});\nexport default flattenDepth;","import isArrayLike from '../isArrayLike';\n/**\n * `makeFlat` is a helper function that returns a one-level or fully recursive\n * function based on the flag passed in.\n *\n * @func makeFlat\n * @memberOf RA\n *\n * @category List\n * @param {!bool} = should recursively flatten\n * @param {!Array} = the nested list to be flattened\n * @return {!Array} = the flattened list\n * @sig Bool -> List -> List\n *\n */\n\nvar makeFlat = function makeFlat(recursive) {\n return function flatt(list) {\n var value;\n var jlen;\n var j;\n var result = [];\n var idx = 0;\n\n while (idx < list.length) {\n if (isArrayLike(list[idx])) {\n value = recursive ? flatt(list[idx]) : list[idx];\n j = 0;\n jlen = value.length;\n\n while (j < jlen) {\n result[result.length] = value[j];\n j += 1;\n }\n } else {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n\n return result;\n };\n};\n\nexport default makeFlat;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { bind } from 'ramda';\nimport isIterable from '../../isIterable';\nimport isNotUndefined from '../../isNotUndefined';\nimport isNotNil from '../../isNotNil';\nimport isNotFunction from '../../isNotFunction';\n\nvar copyArray = function copyArray(items, mapFn, thisArg) {\n var boundMapFn = isNotUndefined(thisArg) ? bind(mapFn, thisArg) : mapFn;\n return isNotUndefined(mapFn) ? _toConsumableArray(items).map(boundMapFn) : _toConsumableArray(items);\n};\n\nvar fromArray = function fromArray(items, mapFn, thisArg) {\n if (items == null) {\n throw new TypeError('Array.from requires an array-like object - not null or undefined');\n }\n\n if (isNotNil(mapFn) && isNotFunction(mapFn)) {\n throw new TypeError('Array.from: when provided, the second argument must be a function');\n }\n\n if (isIterable(items)) {\n return copyArray(items, mapFn, thisArg);\n }\n\n return [];\n};\n\nexport default fromArray;","import { ifElse, values, curryN } from 'ramda';\nimport isIterable from './isIterable';\nimport isFunction from './isFunction';\nimport ponyfill from './internal/ponyfills/Array.from';\nexport var fromPonyfill = curryN(1, ponyfill);\nvar fromArray = isFunction(Array.from) ? curryN(1, Array.from) : fromPonyfill;\n/**\n * Converts value to an array.\n *\n * @func toArray\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}\n * @category List\n * @sig * -> [a]\n * @param {*} val The value to convert\n * @return {Array}\n * @example\n *\n * RA.toArray([1, 2]); //=> [1, 2]\n * RA.toArray({'foo': 1, 'bar': 2}); //=> [1, 2]\n * RA.toArray('abc'); //=> ['a', 'b', 'c']\n * RA.toArray(1); //=> []\n * RA.toArray(null); //=> []\n */\n\nvar toArray = ifElse(isIterable, fromArray, values);\nexport default toArray;","import { converge, length, uniq } from 'ramda';\nimport lengthEq from './lengthEq';\n/**\n * Returns true if all items in the list are unique. `R.equals` is used to determine equality.\n *\n * @func allUnique\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}\n * @category List\n * @sig [a] -> Boolean\n * @param {Array} list The list of values\n * @return {boolean}\n * @see {@link RA.notAllUnique|notAllUnique}, {@link https://ramdajs.com/docs/#equals|equals}\n * @example\n *\n * RA.allUnique([ 1, 2, 3, 4 ]); //=> true\n * RA.allUnique([ 1, 1, 2, 3 ]); //=> false\n * RA.allUnique([]); //=> true\n *\n */\n\nvar allUnique = converge(lengthEq, [length, uniq]);\nexport default allUnique;","import { complement } from 'ramda';\nimport allUnique from './allUnique';\n/**\n * Returns true if at least one item of the list is repeated. `R.equals` is used to determine equality.\n *\n * @func notAllUnique\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}\n * @category List\n * @sig [a] -> Boolean\n * @param {Array} list The list of values\n * @return {boolean}\n * @see {@link RA.allUnique|allUnique}, {@link https://ramdajs.com/docs/#equals|equals}\n * @example\n *\n * RA.notAllUnique([ 1, 1, 2, 3 ]); //=> true\n * RA.notAllUnique([ 1, 2, 3, 4 ]); //=> false\n * RA.notAllUnique([]); //=> false\n *\n */\n\nvar notAllUnique = complement(allUnique);\nexport default notAllUnique;","function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { reduce, either, curry, prop, sort, comparator, map, lt } from 'ramda';\n/**\n * Sort a list of objects by a list of props (if first prop value is equivalent, sort by second, etc).\n *\n * @func sortByProps\n * @memberOf RA\n * @since {@link https://char0n.github.io/ramda-adjunct/2.26.0|v2.26.0}\n * @category List\n * @sig [k] -> [{k: v}] -> [{k: v}]\n * @param {Array.} props A list of properties in the list param to sort by\n * @param {Array.