{"id":20745317,"url":"https://github.com/klaudiosinani/arare","last_synced_at":"2025-03-03T18:23:08.507Z","repository":{"id":52988476,"uuid":"155597430","full_name":"klaudiosinani/arare","owner":"klaudiosinani","description":"Lightweight curried functional programming library","archived":false,"fork":false,"pushed_at":"2024-08-29T14:14:29.000Z","size":405,"stargazers_count":125,"open_issues_count":2,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-17T16:15:01.720Z","etag":null,"topics":["curried","es6","functional","library","lightweight","programming"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/klaudiosinani.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"klaudiosinani","buy_me_a_coffee":"klaudiosinani","custom":"https://klaudiosinani.com/thanks"}},"created_at":"2018-10-31T17:25:48.000Z","updated_at":"2025-02-11T15:50:49.000Z","dependencies_parsed_at":"2024-11-17T07:22:29.235Z","dependency_job_id":"a44a59b8-900b-4aca-a1c4-602b9e8d42ee","html_url":"https://github.com/klaudiosinani/arare","commit_stats":null,"previous_names":["klaussinani/arare"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaudiosinani%2Farare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaudiosinani%2Farare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaudiosinani%2Farare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaudiosinani%2Farare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/klaudiosinani","download_url":"https://codeload.github.com/klaudiosinani/arare/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240521048,"owners_count":19814694,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["curried","es6","functional","library","lightweight","programming"],"created_at":"2024-11-17T07:19:43.199Z","updated_at":"2025-02-24T17:12:12.478Z","avatar_url":"https://github.com/klaudiosinani.png","language":"JavaScript","funding_links":["https://github.com/sponsors/klaudiosinani","https://buymeacoffee.com/klaudiosinani","https://klaudiosinani.com/thanks"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  Arare\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e\n  Lightweight auto-curried functional programming library\n\u003c/h4\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg alt=\"Header\" width=\"85%\" src=\"media/header.png\"/\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://travis-ci.com/klaussinani/arare\"\u003e\n    \u003cimg alt=\"Build Status\" src=\"https://travis-ci.com/klaussinani/arare.svg?branch=master\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Description\n\nLightweight and without any external dependencies arare enables you to write tacit, point-free, declarative \u0026 clean code while avoiding side-effects and mutations. Internally the library itself, comprised of over 200 functions, follows the functional programming paradigm and is materialized using fundamental functional qualities such as currying, recursion, tail calls, high-order functions, referential transparency, side-effects elimination and function composition. Additionally, arare utilizes automatic [variadic](https://en.wikipedia.org/wiki/Variadic_function) [currying](https://en.wikipedia.org/wiki/Currying) for its functions, thus allowing the user to write more flexible, practical \u0026 minimal code, compared to regular strict currying. Finally, the library comes with a build-in interactive REPL environment, useful for directly inspecting and experimenting with all available modules without leaving the console.\n\nPlease note that project is in its early days and that it is currently under active development.\n\nCome over to [Gitter](https://gitter.im/klaussinani/arare) or [Twitter](https://twitter.com/klaussinani) to share your thoughts on the project.\n\n\n## Highlights\n\n- Over 200 available functions\n- Build-in interactive REPL\n- Point-free \u0026 tacit\n- High-order \u0026 pure functions\n- Automatic variadic currying\n- Declarative \u0026 minimal syntax\n- Side-effects \u0026 mutations free\n- Lightweight with zero dependencies\n- Build with functional code\n- Actively developed\n\n## Contents\n\n- [Description](#description)\n- [Highlights](#highlights)\n- [Install](#install)\n- [Usage](#usage)\n- [REPL](#repl)\n- [API](#api)\n- [Development](#development)\n- [Team](#team)\n- [License](#license)\n\n## Install\n\n```bash\nnpm install arare\n```\n\n## Usage\n\nImport arare and start using directly any of the available modules.\n\n```js\nconst A = require('arare')\n\nA.map(A.add(10), A.range(1, 4, 1))\n//=\u003e [11, 12, 13]\n```\n\nAlternatively, select and import only the modules that you need.\n\n```js\nconst {add, map, range} = require('arare')\n\nmap(add(10), range(1, 4, 1))\n//=\u003e [11, 12, 13]\n```\n\n## REPL\n\nInitially, install arare globally in order to be able to access the REPL environment.\n\n```\nnpm install -g arare\n```\n\nTo launch the REPL simply type `arare` from anywhere in your console.\n\n```bash\narare # launch REPL\n```\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg alt=\"REPL\" width=\"85%\" src=\"media/repl.png\"/\u003e\n\u003c/div\u003e\n\n## API\n\nThe following lists contain all available functions grouped into categories according to the type of their respective returning value.\n\nAn alphabetically ordered list of all available functions can be found [**here**](docs/api.EN.md).\n\n\n#### `Any`\n\n\u003cdetails\u003e\n\u003csummary\u003eFunctions whose return value \u003cb\u003evaries\u003c/b\u003e according to their input.\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n- [`apply`](docs/api.EN.md#applyx-fn)\n- [`applyArgs`](docs/api.EN.md#applyArgsargs-fn)\n- [`ext`](docs/api.EN.md#extprop-obj)\n- [`find`](docs/api.EN.md#findfn-xs)\n- [`getNth`](docs/api.EN.md#getNthidx-xs)\n- [`head`](docs/api.EN.md#headxs)\n- [`id`](docs/api.EN.md#idx)\n- [`ite`](docs/api.EN.md#itefn-x-y)\n- [`last`](docs/api.EN.md#lastxs)\n- [`reduce`](docs/api.EN.md#reducefn-acc-xs)\n- [`reduceRight`](docs/api.EN.md#reduceRightfn-acc-xs)\n- [`snd`](docs/api.EN.md#sndxs)\n- [`startsWith`](docs/api.EN.md#startsWithx-xs)\n- [`trd`](docs/api.EN.md#trdxs)\n- [`xapply`](docs/api.EN.md#xapplyx-y-fn)\n\n\u003cbr/\u003e\n\n\u003c/details\u003e\n\n#### `Array`\n\n\u003cdetails\u003e\n\u003csummary\u003eFunctions whose return value is an \u003cb\u003earray\u003c/b\u003e.\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n- [`append`](docs/api.EN.md#appendx-xs)\n- [`appendTo`](docs/api.EN.md#appendToxs-x)\n- [`array`](docs/api.EN.md#arrayx-x)\n- [`arrayify`](docs/api.EN.md#arrayifyx)\n- [`arrayMinMax`](docs/api.EN.md#arrayMinMaxxs)\n- [`breakWhen`](docs/api.EN.md#breakWhenfn-xs)\n- [`concat`](docs/api.EN.md#concatxs-ys)\n- [`copy`](docs/api.EN.md#copyxs)\n- [`drop`](docs/api.EN.md#dropn-xs)\n- [`dropRight`](docs/api.EN.md#dropRightn-xs)\n- [`dropRightWhile`](docs/api.EN.md#dropRightWhilefn-xs)\n- [`dropWhile`](docs/api.EN.md#dropWhilefn-xs)\n- [`empty`](docs/api.EN.md#emptyxs)\n- [`entries`](docs/api.EN.md#entriesobj)\n- [`erase`](docs/api.EN.md#erasei-j-xs)\n- [`Fs`](docs/api.EN.md#Fsn)\n- [`fill`](docs/api.EN.md#filln-x)\n- [`filter`](docs/api.EN.md#filterfn-xs)\n- [`flatten`](docs/api.EN.md#flattenxs)\n- [`halve`](docs/api.EN.md#halvexs)\n- [`init`](docs/api.EN.md#initxs)\n- [`insert`](docs/api.EN.md#insertidx-x-xs)\n- [`keys`](docs/api.EN.md#keysobj)\n- [`map`](docs/api.EN.md#mapfn-xs)\n- [`mapcat`](docs/api.EN.md#mapcatfn-xs)\n- [`merge`](docs/api.EN.md#mergexs-ys)\n- [`mergeBy`](docs/api.EN.md#mergeByfn-xs-ys)\n- [`ones`](docs/api.EN.md#onesn)\n- [`pair`](docs/api.EN.md#pairx-y)\n- [`partition`](docs/api.EN.md#partitionfn-xs)\n- [`partitionAt`](docs/api.EN.md#partitionAtidx-xs)\n- [`prepend`](docs/api.EN.md#prependx-xs)\n- [`prependTo`](docs/api.EN.md#prependToxs-x)\n- [`props`](docs/api.EN.md#propsobj)\n- [`range`](docs/api.EN.md#rangex-y-step)\n- [`reject`](docs/api.EN.md#rejectfn-xs)\n- [`remove`](docs/api.EN.md#removex-xs)\n- [`removeAll`](docs/api.EN.md#removeAllx-xs)\n- [`removeRight`](docs/api.EN.md#removeRightx-xs)\n- [`replace`](docs/api.EN.md#replacex-rep-xs)\n- [`#replaceAllx-rep-xs`](docs/api.EN.md##replaceAllx-rep-xs)\n- [`reverse`](docs/api.EN.md#reversexs)\n- [`setHead`](docs/api.EN.md#setHeadx-xs)\n- [`setHeadWith`](docs/api.EN.md#setHeadWithfn-xs)\n- [`setLast`](docs/api.EN.md#setLastx-xs)\n- [`setLastWith`](docs/api.EN.md#setLastWithfn-xs)\n- [`setNth`](docs/api.EN.md#setNthn-x-xs)\n- [`setNthWith`](docs/api.EN.md#setNthWithn-fn-xs)\n- [`shift`](docs/api.EN.md#shiftxs)\n- [`shiftLeft`](docs/api.EN.md#shiftLeftxs)\n- [`slice`](docs/api.EN.md#slicei-j-xs)\n- [`split`](docs/api.EN.md#splitx-xs)\n- [`swap`](docs/api.EN.md#swapi-j-xs)\n- [`Ts`](docs/api.EN.md#Tsn)\n- [`tail`](docs/api.EN.md#tailxs)\n- [`take`](docs/api.EN.md#taken-xs)\n- [`takeRight`](docs/api.EN.md#takeRightn-xs)\n- [`takeRightWhile`](docs/api.EN.md#takeRightWhilefn-xs)\n- [`takeWhile`](docs/api.EN.md#takeWhilefn-xs)\n- [`values`](docs/api.EN.md#valuesobj)\n- [`xshift`](docs/api.EN.md#xshiftx-xs)\n- [`xshiftLeft`](docs/api.EN.md#xshiftLeftx-xs)\n- [`zeros`](docs/api.EN.md#zerosn)\n- [`zip`](docs/api.EN.md#zipxs-ys)\n- [`zipReverse`](docs/api.EN.md#zipReversexs)\n- [`zipSelf`](docs/api.EN.md#zipSelfxs)\n- [`zipTail`](docs/api.EN.md#zipTailxs)\n- [`zipWith`](docs/api.EN.md#zipWithfn-xs-ys)\n\n\u003cbr/\u003e\n\n\u003c/details\u003e\n\n#### `Boolean`\n\n\u003cdetails\u003e\n\u003csummary\u003eFunctions whose return value is a \u003cb\u003eboolean\u003c/b\u003e.\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n- [`and`](docs/api.EN.md#andx-y)\n- [`bool`](docs/api.EN.md#boolx)\n- [`endsWith`](docs/api.EN.md#endsWithx-xs)\n- [`eq`](docs/api.EN.md#eqx-y)\n- [`eqProp`](docs/api.EN.md#eqPropprop-xs-ys)\n- [`even`](docs/api.EN.md#evenx)\n- [`every`](docs/api.EN.md#everyfn-xs)\n- [`excludes`](docs/api.EN.md#excludesx-xs)\n- [`F`](docs/api.EN.md#F)\n- [`gt`](docs/api.EN.md#gtx-y)\n- [`gte`](docs/api.EN.md#gtex-y)\n- [`hasProp`](docs/api.EN.md#hasPropprop-obj)\n- [`includes`](docs/api.EN.md#includesx-xs)\n- [`isArr`](docs/api.EN.md#isArrx)\n- [`isDate`](docs/api.EN.md#isDatex)\n- [`isDef`](docs/api.EN.md#isDefx)\n- [`isEmpty`](docs/api.EN.md#isEmptyx)\n- [`isFn`](docs/api.EN.md#isFnx)\n- [`isInt`](docs/api.EN.md#isIntx)\n- [`isLower`](docs/api.EN.md#isLowerxs)\n- [`isNeg`](docs/api.EN.md#isNegx)\n- [`isNil`](docs/api.EN.md#isNilx)\n- [`isNull`](docs/api.EN.md#isNullx)\n- [`isNum`](docs/api.EN.md#isNumx)\n- [`isObj`](docs/api.EN.md#isObjx)\n- [`isPair`](docs/api.EN.md#isPairx)\n- [`isPos`](docs/api.EN.md#isPosx)\n- [`isRegExp`](docs/api.EN.md#isRegExpx)\n- [`isStr`](docs/api.EN.md#isStrx)\n- [`isUndef`](docs/api.EN.md#isUndefx)\n- [`isUpper`](docs/api.EN.md#isUpperxs)\n- [`lt`](docs/api.EN.md#ltx-y)\n- [`lte`](docs/api.EN.md#ltex-y)\n- [`nand`](docs/api.EN.md#nandx-y)\n- [`none`](docs/api.EN.md#nonefn-xs)\n- [`nor`](docs/api.EN.md#norx-y)\n- [`not`](docs/api.EN.md#notx)\n- [`notArr`](docs/api.EN.md#notArrx)\n- [`notDate`](docs/api.EN.md#notDatex)\n- [`notEmpty`](docs/api.EN.md#notEmptyx)\n- [`notFn`](docs/api.EN.md#notFnx)\n- [`notInt`](docs/api.EN.md#notIntx)\n- [`notLower`](docs/api.EN.md#notLowerxs)\n- [`notNil`](docs/api.EN.md#notNilx)\n- [`notNull`](docs/api.EN.md#notNullx)\n- [`notNum`](docs/api.EN.md#notNumx)\n- [`notObj`](docs/api.EN.md#notObjx)\n- [`notPair`](docs/api.EN.md#notPairx)\n- [`notRegExp`](docs/api.EN.md#notRegExpx)\n- [`notStr`](docs/api.EN.md#notStrx)\n- [`notUpper`](docs/api.EN.md#notUpperxs)\n- [`odd`](docs/api.EN.md#oddx)\n- [`or`](docs/api.EN.md#orx-y)\n- [`some`](docs/api.EN.md#somefn-xs)\n- [`startsWith`](docs/api.EN.md#startsWithx-xs)\n- [`T`](docs/api.EN.md#T)\n- [`uneq`](docs/api.EN.md#uneqx-y)\n- [`uneqProp`](docs/api.EN.md#uneqPropprop-obj1-obj2)\n- [`xnor`](docs/api.EN.md#xnorx-y)\n- [`xor`](docs/api.EN.md#xorx-y)\n\n\u003cbr/\u003e\n\n\u003c/details\u003e\n\n#### `Function`\n\n\u003cdetails\u003e\n\u003csummary\u003eFunctions whose return value is a \u003cb\u003efunction\u003c/b\u003e.\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n- [`arity`](docs/api.EN.md#arityn-fn)\n- [`binary`](docs/api.EN.md#binaryfn)\n- [`comp`](docs/api.EN.md#compfn-fn)\n- [`cons`](docs/api.EN.md#consx)\n- [`curry`](docs/api.EN.md#curryfn)\n- [`flip`](docs/api.EN.md#flipfn)\n- [`gather`](docs/api.EN.md#gatherfn)\n- [`nullary`](docs/api.EN.md#nullaryfn)\n- [`partial`](docs/api.EN.md#partialfn-args)\n- [`partialRight`](docs/api.EN.md#partialRightfn-args)\n- [`pipe`](docs/api.EN.md#pipefn-fn)\n- [`reverseArgs`](docs/api.EN.md#reverseArgsfn)\n- [`spread`](docs/api.EN.md#spreadfn)\n- [`ternary`](docs/api.EN.md#ternaryfn)\n- [`unary`](docs/api.EN.md#unaryfn)\n- [`xarray`](docs/api.EN.md#xarrayx)\n- [`xcurry`](docs/api.EN.md#xcurryx-fn)\n\n\u003cbr/\u003e\n\n\u003c/details\u003e\n\n#### `Number`\n\n\u003cdetails\u003e\n\u003csummary\u003e Functions whose return value is a \u003cb\u003enumber\u003c/b\u003e.\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n- [`abs`](docs/api.EN.md#absx)\n- [`absDiff`](docs/api.EN.md#absDiffx-y)\n- [`add`](docs/api.EN.md#addx-y)\n- [`adjustIndex`](docs/api.EN.md#adjustIndexmin-max-xs-idx)\n- [`arrayMax`](docs/api.EN.md#arrayMaxxs)\n- [`arrayMin`](docs/api.EN.md#arrayMinxs)\n- [`ceil`](docs/api.EN.md#ceilx)\n- [`count`](docs/api.EN.md#countx-xs)\n- [`cube`](docs/api.EN.md#cubex)\n- [`decr`](docs/api.EN.md#decrx)\n- [`div`](docs/api.EN.md#divx-y)\n- [`fact`](docs/api.EN.md#factx)\n- [`findIndex`](docs/api.EN.md#findIndexfn-x)\n- [`gcd`](docs/api.EN.md#gcdx-y)\n- [`incr`](docs/api.EN.md#incrx)\n- [`lcm`](docs/api.EN.md#lcmx-y)\n- [`len`](docs/api.EN.md#lenxs)\n- [`max`](docs/api.EN.md#maxx-y)\n- [`min`](docs/api.EN.md#minx-y)\n- [`minMax`](docs/api.EN.md#minMaxxs-x)\n- [`mod`](docs/api.EN.md#modx-y)\n- [`mult`](docs/api.EN.md#multx-y)\n- [`neg`](docs/api.EN.md#negx)\n- [`num`](docs/api.EN.md#numx)\n- [`one`](docs/api.EN.md#one)\n- [`pow`](docs/api.EN.md#powx-y)\n- [`prod`](docs/api.EN.md#prodxs)\n- [`recip`](docs/api.EN.md#recipx)\n- [`square`](docs/api.EN.md#squarex)\n- [`sub`](docs/api.EN.md#subx-y)\n- [`sum`](docs/api.EN.md#sumxs)\n- [`trunc`](docs/api.EN.md#truncx)\n- [`zero`](docs/api.EN.md#zero)\n\n\u003cbr/\u003e\n\n\u003c/details\u003e\n\n#### `String`\n\n\u003cdetails\u003e\n\u003csummary\u003eFunctions whose return value is a \u003cb\u003estring\u003c/b\u003e.\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n- [`append`](docs/api.EN.md#appendx-xs)\n- [`appendTo`](docs/api.EN.md#appendToxs-x)\n- [`breakWhen`](docs/api.EN.md#breakWhenfn-xs)\n- [`concat`](docs/api.EN.md#concatxs-ys)\n- [`drop`](docs/api.EN.md#dropn-xs)\n- [`dropRight`](docs/api.EN.md#dropRightn-xs)\n- [`dropRightWhile`](docs/api.EN.md#dropRightWhilefn-xs)\n- [`dropWhile`](docs/api.EN.md#dropWhilefn-xs)\n- [`empty`](docs/api.EN.md#emptyxs)\n- [`erase`](docs/api.EN.md#erasei-j-xs)\n- [`halve`](docs/api.EN.md#halvexs)\n- [`init`](docs/api.EN.md#initxs)\n- [`insert`](docs/api.EN.md#insertidx-x-xs)\n- [`join`](docs/api.EN.md#joinx-xs)\n- [`partition`](docs/api.EN.md#partitionfn-xs)\n- [`partitionAt`](docs/api.EN.md#partitionAtidx-xs)\n- [`prepend`](docs/api.EN.md#prependx-xs)\n- [`prependTo`](docs/api.EN.md#prependToxs-x)\n- [`remove`](docs/api.EN.md#removex-xs)\n- [`remove`](docs/api.EN.md#removeAllx-xs)\n- [`remove`](docs/api.EN.md#removeRightx-xs)\n- [`replace`](docs/api.EN.md#replacex-rep-xs)\n- [`#replaceAllx-rep-xs`](docs/api.EN.md##replaceAllx-rep-xs)\n- [`reverse`](docs/api.EN.md#reversexs)\n- [`setHead`](docs/api.EN.md#setHeadx-xs)\n- [`setHeadWith`](docs/api.EN.md#setHeadWithfn-xs)\n- [`setLast`](docs/api.EN.md#setLastx-xs)\n- [`setLastWith`](docs/api.EN.md#setLastWithfn-xs)\n- [`setNth`](docs/api.EN.md#setNthn-x-xs)\n- [`setNthWith`](docs/api.EN.md#setNthWithn-fn-xs)\n- [`shift`](docs/api.EN.md#shiftxs)\n- [`shiftLeft`](docs/api.EN.md#shiftLeftxs)\n- [`slice`](docs/api.EN.md#slicei-j-xs)\n- [`str`](docs/api.EN.md#strx)\n- [`swap`](docs/api.EN.md#swapi-j-xs)\n- [`tail`](docs/api.EN.md#tailxs)\n- [`take`](docs/api.EN.md#taken-xs)\n- [`takeRight`](docs/api.EN.md#takeRightn-xs)\n- [`takeRightWhile`](docs/api.EN.md#takeRightWhilefn-xs)\n- [`takeWhile`](docs/api.EN.md#takeWhilefn-xs)\n- [`toLower`](docs/api.EN.md#toLowerxs)\n- [`toUpper`](docs/api.EN.md#toUpperxs)\n- [`xshift`](docs/api.EN.md#xshiftx-xs)\n- [`xshiftLeft`](docs/api.EN.md#xshiftLeftx-xs)\n\n\u003cbr/\u003e\n\n\u003c/details\u003e\n\n#### `Object`\n\n\u003cdetails\u003e\n\u003csummary\u003eFunctions whose return value is a plain \u003cb\u003eobject\u003c/b\u003e.\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n- [`assign`](docs/api.EN.md#assignk-v-obj)\n- [`assignWith`](docs/api.EN.md#assignWithfn-k-obj)\n- [`copy`](docs/api.EN.md#copyxs)\n- [`countAll`](docs/api.EN.md#countAllxs)\n- [`countBy`](docs/api.EN.md#countByfn-xs)\n- [`countIn`](docs/api.EN.md#countInmin-max-xs)\n- [`zipObj`](docs/api.EN.md#zipObjxs-ys)\n\n\u003cbr/\u003e\n\n\u003c/details\u003e\n\n#### `Undefined`\n\n\u003cdetails\u003e\n\u003csummary\u003eFunctions whose return value is \u003cb\u003eundefined\u003c/b\u003e.\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n- [`forEach`](docs/api.EN.md#forEachfn-xs)\n\n\u003cbr/\u003e\n\n\u003c/details\u003e\n\n## Development\n\n- Fork the repository and clone it to your machine\n- Navigate to your local fork: `cd arare`\n- Install the project dependencies: `npm install` or `yarn install`\n- Lint the code and run the tests: `npm test` or `yarn test`\n\n## Team\n\n- Klaus Sinani [(@klaussinani)](https://github.com/klaussinani)\n\n## License\n\n[MIT](https://github.com/klaussinani/arare/blob/master/license.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklaudiosinani%2Farare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fklaudiosinani%2Farare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklaudiosinani%2Farare/lists"}