{"_id":"rambda","_rev":"3825481","name":"rambda","description":"Lightweight and faster alternative to Ramda with included TS definitions","dist-tags":{"beta":"6.7.0-beta.0","latest":"10.3.2"},"maintainers":[{"name":"self_refactor","email":""}],"time":{"modified":"2025-08-26T22:17:53.000Z","created":"2017-01-15T13:53:55.408Z","10.3.2":"2025-07-30T14:29:46.425Z","10.3.1":"2025-07-12T05:27:57.980Z","10.3.0":"2025-07-07T06:06:15.909Z","10.2.0":"2025-05-16T07:58:32.403Z","10.1.0":"2025-04-28T06:35:14.808Z","10.0.1":"2025-04-19T07:07:22.259Z","10.0.0":"2025-04-17T06:18:28.569Z","10.0.0-beta.3":"2025-03-29T19:23:20.014Z","10.0.0-beta.1":"2025-03-24T19:36:56.006Z","10.0.0-alpha.0":"2025-03-14T18:35:46.635Z","9.4.2":"2025-01-16T16:09:14.111Z","9.4.1":"2024-12-14T15:38:47.429Z","9.4.0":"2024-11-05T04:46:17.361Z","9.3.0":"2024-08-23T11:38:40.421Z","9.2.1":"2024-06-18T13:06:44.811Z","9.2.0":"2024-04-02T08:30:10.614Z","9.1.1":"2024-03-11T21:24:58.176Z","9.1.0":"2024-02-09T22:11:12.709Z","9.0.1":"2024-01-16T17:13:41.638Z","9.0.0":"2024-01-16T06:30:25.467Z","8.6.0":"2023-11-26T16:51:43.017Z","8.5.0":"2023-10-02T20:02:17.773Z","8.4.0":"2023-09-22T06:31:37.107Z","8.3.0":"2023-07-24T17:42:52.202Z","8.2.0":"2023-07-18T17:58:12.019Z","8.1.0":"2023-07-05T20:55:20.859Z","8.0.0":"2023-07-04T18:22:42.955Z","7.5.0":"2023-03-03T15:29:59.229Z","7.4.0":"2022-11-18T12:01:48.234Z","7.3.0":"2022-10-01T13:10:02.896Z","7.2.1":"2022-08-03T15:05:48.955Z","7.2.0":"2022-07-30T12:20:01.941Z","7.1.4":"2022-05-08T18:55:19.174Z","7.1.3":"2022-05-08T18:45:07.382Z","7.1.2":"2022-05-08T18:13:47.778Z","7.1.1":"2022-05-08T16:59:14.864Z","7.1.0":"2022-05-06T11:30:44.717Z","7.0.3":"2022-02-22T06:29:55.480Z","7.0.2":"2022-02-04T17:14:47.420Z","7.0.1":"2021-12-28T10:07:41.517Z","7.0.0":"2021-12-25T10:36:14.261Z","6.9.0":"2021-07-31T05:57:29.536Z","6.8.3":"2021-07-25T09:05:27.721Z","6.8.2":"2021-07-11T14:05:57.574Z","6.8.1":"2021-07-11T13:48:00.328Z","6.8.0":"2021-07-11T13:18:09.051Z","6.7.0":"2021-03-24T22:39:36.725Z","6.7.0-beta.0":"2021-03-24T22:29:49.295Z","6.6.0":"2021-03-24T19:19:21.263Z","6.5.3":"2021-01-21T20:56:40.319Z","6.5.2":"2021-01-18T20:43:51.987Z","6.5.1":"2021-01-07T22:27:35.258Z","6.5.0":"2021-01-07T22:15:19.381Z","6.4.0":"2020-11-24T16:39:07.764Z","6.3.1":"2020-10-20T11:58:49.793Z","6.3.0":"2020-10-19T20:59:10.384Z","6.2.0":"2020-09-27T09:21:16.790Z","6.1.0":"2020-09-06T13:20:21.654Z","6.0.1":"2020-09-05T06:57:52.070Z","6.0.0":"2020-09-04T20:31:51.235Z","5.13.1":"2020-08-19T11:01:12.059Z","5.13.0":"2020-08-19T08:08:05.976Z","5.12.1":"2020-08-14T10:29:13.678Z","5.12.0":"2020-08-10T08:28:34.227Z","5.11.0":"2020-08-02T15:38:54.663Z","5.10.0":"2020-07-31T17:45:44.487Z","5.9.0":"2020-07-05T15:11:29.146Z","5.8.0":"2020-06-20T13:51:43.711Z","5.7.0":"2020-06-15T19:56:39.933Z","5.6.3":"2020-06-15T13:50:38.074Z","5.6.2":"2020-06-09T08:10:01.208Z","5.6.1":"2020-06-04T19:51:50.995Z","5.6.0":"2020-05-30T18:08:05.176Z","5.5.0":"2020-05-30T12:34:22.952Z","5.4.3":"2020-05-28T12:30:47.900Z","5.4.2":"2020-05-28T08:09:04.223Z","5.4.1":"2020-05-21T16:26:57.851Z","5.4.0":"2020-05-13T21:37:34.979Z","5.3.0":"2020-05-13T20:52:37.607Z","5.2.1":"2020-05-12T21:14:48.696Z","5.2.0":"2020-05-12T18:52:59.672Z","5.1.1":"2020-04-21T18:05:21.801Z","5.1.0":"2020-04-06T16:56:33.216Z","5.0.0":"2020-03-14T11:31:54.493Z","4.6.0":"2020-03-01T19:40:09.994Z","4.5.0":"2020-02-01T10:56:34.488Z","4.4.0":"2019-11-26T16:34:53.174Z","4.3.0":"2019-11-26T16:28:51.629Z","4.2.0":"2019-11-21T22:12:30.357Z","4.1.0":"2019-11-11T13:29:15.802Z","4.0.2":"2019-11-02T11:08:39.049Z","4.0.1":"2019-10-29T16:09:00.307Z","4.0.0":"2019-10-28T08:23:32.593Z","3.3.0":"2019-10-27T11:06:53.312Z","3.2.5":"2019-10-24T12:57:35.136Z","3.2.1":"2019-10-11T08:05:59.585Z","3.2.0":"2019-09-29T08:47:47.628Z","3.1.1":"2019-09-29T08:47:27.026Z","3.1.0":"2019-09-17T20:34:41.335Z","3.0.1":"2019-08-22T20:06:46.808Z","3.0.0":"2019-08-19T17:11:37.244Z","2.14.5":"2019-08-13T11:29:14.342Z","2.14.4":"2019-08-11T09:18:44.095Z","2.14.3":"2019-08-11T09:14:31.408Z","2.14.2":"2019-08-11T09:06:16.189Z","2.14.1":"2019-08-09T20:25:35.684Z","2.14.0":"2019-08-02T16:18:01.198Z","2.13.1":"2019-08-02T16:17:46.087Z","2.13.0":"2019-07-24T09:25:10.604Z","2.12.0":"2019-07-16T16:08:14.506Z","2.11.2":"2019-07-09T21:04:42.745Z","2.11.1":"2019-06-06T17:39:25.191Z","2.11.0":"2019-06-04T09:11:49.389Z","2.10.2":"2019-05-27T17:56:50.762Z","2.10.1":"2019-05-27T17:39:35.079Z","2.10.0":"2019-05-20T19:20:54.330Z","2.9.0":"2019-05-20T08:29:18.820Z","2.8.0":"2019-05-17T14:27:08.559Z","2.7.1":"2019-05-16T15:49:05.934Z","2.7.0":"2019-05-16T08:11:29.749Z","2.6.0":"2019-05-12T09:22:24.578Z","2.5.0":"2019-04-29T09:42:27.339Z","2.4.1":"2019-03-05T21:11:00.211Z","2.4.0":"2019-03-05T21:09:11.549Z","2.3.2":"2019-03-01T18:33:04.793Z","2.3.1":"2019-01-23T06:46:51.348Z","2.3.0":"2019-01-05T14:50:50.278Z","2.2.0":"2018-12-20T19:20:08.149Z","2.1.1":"2018-12-05T11:38:09.838Z","2.1.0":"2018-12-05T11:01:53.862Z","2.0.0":"2018-12-05T09:36:41.508Z","1.2.6":"2018-10-20T18:56:40.278Z","1.2.5":"2018-10-20T08:24:12.796Z","1.2.4":"2018-10-14T14:36:30.478Z","1.2.2":"2018-08-28T22:00:01.629Z","1.2.1":"2018-08-26T14:17:38.053Z","1.2.0":"2018-07-26T11:16:00.432Z","1.1.5":"2018-06-25T09:09:03.369Z","1.1.4":"2018-06-07T14:34:51.908Z","1.1.3":"2018-05-28T08:55:36.716Z","1.1.2":"2018-05-23T10:12:59.123Z","1.1.1":"2018-04-29T08:42:08.482Z","1.1.0":"2018-04-09T07:54:53.832Z","1.0.13":"2018-03-11T20:22:47.041Z","1.0.12":"2018-02-14T14:44:10.409Z","1.0.11":"2018-02-06T07:57:44.858Z","1.0.10":"2018-02-01T13:51:49.990Z","1.0.9":"2018-01-15T23:29:13.329Z","1.0.8":"2018-01-09T23:01:59.710Z","1.0.7":"2018-01-03T12:16:31.398Z","1.0.6":"2017-12-02T12:11:37.115Z","1.0.5":"2017-11-29T12:50:52.931Z","1.0.4":"2017-11-11T22:15:26.903Z","1.0.3":"2017-11-03T20:32:22.820Z","1.0.0":"2017-10-22T14:13:30.222Z","0.9.8":"2017-10-20T11:42:58.003Z","0.9.7":"2017-10-18T21:02:25.255Z","0.9.6":"2017-10-11T22:20:42.500Z","0.9.5":"2017-10-11T22:10:03.050Z","0.9.4":"2017-10-10T23:07:51.780Z","0.9.3":"2017-09-28T20:40:55.573Z","0.9.2":"2017-09-23T16:24:43.711Z","0.9.1":"2017-09-18T11:04:23.678Z","0.8.10":"2017-09-18T10:57:27.446Z","0.9.0":"2017-09-08T19:25:33.373Z","0.8.9":"2017-09-06T14:37:37.517Z","0.8.8":"2017-09-02T11:21:47.206Z","0.8.7":"2017-08-23T16:35:37.987Z","0.8.6":"2017-08-19T08:16:48.354Z","0.8.5":"2017-08-18T19:33:46.433Z","0.8.4":"2017-08-17T07:39:56.487Z","0.8.3":"2017-08-17T07:13:14.346Z","0.8.2":"2017-08-16T12:34:55.042Z","0.8.1":"2017-08-10T20:16:27.310Z","0.8.0":"2017-08-03T08:09:14.030Z","0.7.6":"2017-08-02T11:56:24.894Z","0.7.5":"2017-07-20T12:05:16.759Z","0.7.4":"2017-07-19T07:03:19.893Z","0.7.3":"2017-07-07T07:32:52.012Z","0.7.2":"2017-06-29T18:34:26.369Z","0.7.1":"2017-06-28T16:01:34.533Z","0.7.0":"2017-06-12T18:09:10.678Z","0.6.1":"2017-05-29T12:30:41.277Z","0.5.13":"2017-05-29T12:29:30.702Z","0.6.0":"2017-05-27T14:42:46.555Z","0.5.12":"2017-05-27T14:14:33.427Z","0.5.11":"2017-05-26T20:33:04.957Z","0.5.10":"2017-05-24T09:47:03.899Z","0.5.9":"2017-05-20T13:18:12.888Z","0.5.8":"2017-05-20T12:47:22.074Z","0.5.7":"2017-05-14T07:15:17.506Z","0.5.6":"2017-04-02T17:28:16.525Z","0.5.5":"2017-03-15T20:18:45.044Z","0.5.4":"2017-03-14T21:37:18.453Z","0.5.3":"2017-03-14T21:36:04.835Z","0.5.2":"2017-02-05T12:48:15.908Z","0.5.1":"2017-01-30T08:11:26.116Z","0.5.0":"2017-01-29T17:30:11.440Z","0.4.3":"2017-01-29T15:13:08.701Z","0.4.2":"2017-01-29T15:07:51.033Z","0.4.1":"2017-01-21T16:01:46.282Z","0.4.0":"2017-01-20T17:24:50.309Z","0.3.4":"2017-01-19T11:20:43.686Z","0.3.3":"2017-01-18T00:39:21.608Z","0.3.2":"2017-01-18T00:01:52.539Z","0.3.1":"2017-01-17T20:59:03.170Z","0.3.0":"2017-01-17T17:46:58.857Z","0.2.1":"2017-01-16T14:57:43.535Z","0.2.0":"2017-01-16T14:49:45.022Z","0.1.5":"2017-01-16T14:14:50.873Z","0.1.4":"2017-01-16T00:35:22.522Z","0.1.3":"2017-01-15T19:42:37.349Z","0.1.2":"2017-01-15T18:15:08.346Z","0.1.1":"2017-01-15T14:50:29.053Z","0.1.0":"2017-01-15T13:53:55.408Z"},"users":{},"author":{"name":"self_refactor"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"versions":{"10.3.2":{"name":"rambda","version":"10.3.2","scripts":{"out":"yarn populatedocs && yarn populatereadme && yarn build && yarn create-docsify","build":"yarn build:main && yarn build:web && yarn build:esm","build:main":"rollup rambda.js --file dist/rambda.cjs --format cjs","build:esm":"rollup rambda.js --file dist/rambda.js --format es","build:web":"rollup rambda.js --file dist/rambda.umd.js --format umd --name \"R\"","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","lint":"cd source && run lint:folder > lint-output.txt","lint:typings":"tsc","test:file":"node scripts/tasks/run/run-test.js","test:ci":"vitest run","test":"vitest run --watch -u","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","create-docsify":"cd ../rambda-scripts && yarn create-docsify","deps":"run dep:next","ts":"yarn test:typings"},"niketaScripts":{"**/*.js":"yarn test:file"},"depFn":["@definitelytyped/dtslint"],"type":"module","exports":{"require":{"types":"./index.d.cts","default":"./dist/rambda.cjs"},"types":"./index.d.ts","default":"./dist/rambda.js"},"main":"dist/rambda.cjs","module":"dist/rambda.js","dependencies":{},"devDependencies":{"@definitelytyped/dtslint":"0.0.182","@types/mocha":"10.0.10","@types/node":"24.0.8","@vitest/coverage-v8":"4.0.0-beta.2","helpers-fn":"2.0.0","lodash":"4.17.21","radashi":"13.0.0-beta.ffa4778","rambdax":"11.3.1","ramda":"0.31.3","remeda":"2.23.2","rollup":"4.44.1","types-ramda":"0.30.1","typescript":"5.9.0-dev.20250630","vitest":"4.0.0-beta.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["curried","fp","functional","generics","lodash","ramda","remeda","stdlib","toolkit","ts","types","typescript","utilities","utility","utils"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"umd":"./dist/rambda.umd.js","types":"./index.d.cts","_id":"rambda@10.3.2","gitHead":"157a157d4c5c11fb447b8bd01708ac8f7151e07b","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"shasum":"3fb9359a49a09b319acb56eb9205a654e6d32cb4","size":122432,"noattachment":false,"key":"/rambda/-/rambda-10.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-10.3.2.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rambda_10.3.2_1753885786199_0.8079616281526947"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-30T14:29:46.425Z","publish_time":1753885786425,"_source_registry_name":"default","_cnpm_publish_time":1753885786425},"10.3.1":{"name":"rambda","version":"10.3.1","scripts":{"out":"yarn populatedocs && yarn populatereadme && yarn build && yarn create-docsify","build":"yarn build:main && yarn build:web && yarn build:esm","build:main":"rollup rambda.js --file dist/rambda.cjs --format cjs","build:esm":"rollup rambda.js --file dist/rambda.js --format es","build:web":"rollup rambda.js --file dist/rambda.umd.js --format umd --name \"R\"","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","lint":"cd source && run lint:folder > lint-output.txt","lint:typings":"tsc","test:file":"node scripts/tasks/run/run-test.js","test:ci":"vitest run","test":"vitest run --watch -u","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","create-docsify":"cd ../rambda-scripts && yarn create-docsify","deps":"run dep:next","ts":"yarn test:typings"},"niketaScripts":{"**/*.js":"yarn test:file"},"depFn":["@definitelytyped/dtslint"],"type":"module","exports":{"require":{"types":"./index.d.cts","default":"./dist/rambda.cjs"},"types":"./index.d.ts","default":"./dist/rambda.js"},"main":"dist/rambda.cjs","module":"dist/rambda.js","dependencies":{},"devDependencies":{"@definitelytyped/dtslint":"0.0.182","@types/mocha":"10.0.10","@types/node":"24.0.8","@vitest/coverage-v8":"4.0.0-beta.2","helpers-fn":"2.0.0","lodash":"4.17.21","radashi":"13.0.0-beta.ffa4778","rambdax":"11.3.1","ramda":"0.31.3","remeda":"2.23.2","rollup":"4.44.1","types-ramda":"0.30.1","typescript":"5.9.0-dev.20250630","vitest":"4.0.0-beta.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["curried","fp","functional","generics","lodash","ramda","remeda","stdlib","toolkit","ts","types","typescript","utilities","utility","utils"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"umd":"./dist/rambda.umd.js","types":"./index.d.cts","_id":"rambda@10.3.1","gitHead":"6c3b51246960d0a4e5ee02a0431e8798e4a598d9","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"shasum":"8e30301d75d504597a16949e8548b25fecbbee36","size":122454,"noattachment":false,"key":"/rambda/-/rambda-10.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-10.3.1.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rambda_10.3.1_1752298077763_0.9724189712558955"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-12T05:27:57.980Z","publish_time":1752298077980,"_source_registry_name":"default","_cnpm_publish_time":1752298077980},"10.3.0":{"name":"rambda","version":"10.3.0","scripts":{"out":"yarn populatedocs && yarn populatereadme && yarn build && yarn create-docsify","build":"yarn build:main && yarn build:web && yarn build:esm","build:main":"rollup rambda.js --file dist/rambda.cjs --format cjs","build:esm":"rollup rambda.js --file dist/rambda.js --format es","build:web":"rollup rambda.js --file dist/rambda.umd.js --format umd --name \"R\"","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","lint":"cd source && run lint:folder > lint-output.txt","lint:typings":"tsc","test:file":"node scripts/tasks/run/run-test.js","test:ci":"vitest run","test":"vitest run --watch -u","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","create-docsify":"cd ../rambda-scripts && yarn create-docsify","deps":"run dep:next","ts":"yarn test:typings"},"niketaScripts":{"**/*.js":"yarn test:file"},"depFn":["@definitelytyped/dtslint"],"type":"module","exports":{"require":{"types":"./index.d.cts","default":"./dist/rambda.cjs"},"types":"./index.d.ts","default":"./dist/rambda.js"},"main":"dist/rambda.cjs","module":"dist/rambda.js","dependencies":{},"devDependencies":{"@definitelytyped/dtslint":"0.0.182","@types/mocha":"10.0.10","@types/node":"24.0.8","@vitest/coverage-v8":"4.0.0-beta.2","helpers-fn":"2.0.0","lodash":"4.17.21","radashi":"13.0.0-beta.ffa4778","rambdax":"11.3.1","ramda":"0.31.3","remeda":"2.23.2","rollup":"4.44.1","types-ramda":"0.30.1","typescript":"5.9.0-dev.20250630","vitest":"4.0.0-beta.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["curried","fp","functional","generics","lodash","ramda","remeda","stdlib","toolkit","ts","types","typescript","utilities","utility","utils"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"umd":"./dist/rambda.umd.js","types":"./index.d.cts","_id":"rambda@10.3.0","gitHead":"8020c579043192777796e9139cd9948a8d1a5e35","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"shasum":"1653e52cac31963b712144470177fecbd9e470c5","size":133426,"noattachment":false,"key":"/rambda/-/rambda-10.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-10.3.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com","actor":{"name":"self_refactor","email":"deyan8284@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rambda_10.3.0_1751868375727_0.2998152401314296"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-07T06:06:15.909Z","publish_time":1751868375909,"_source_registry_name":"default","_cnpm_publish_time":1751868375909},"10.2.0":{"name":"rambda","version":"10.2.0","scripts":{"out":"yarn populatedocs && yarn populatereadme && yarn build && yarn create-docsify","build":"yarn build:main && yarn build:web && yarn build:esm","build:main":"rollup rambda.js --file dist/rambda.cjs --format cjs","build:esm":"rollup rambda.js --file dist/rambda.js --format es","build:web":"rollup rambda.js --file dist/rambda.umd.js --format umd --name \"R\"","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","lint":"cd source && run lint:folder > lint-output.txt","lint:typings":"tsc","test:file":"node scripts/tasks/run/run-test.js","test:ci":"vitest run","test":"vitest run --watch -u","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","create-docsify":"cd ../rambda-scripts && yarn create-docsify","deps":"run dep:next","ts":"yarn test:typings"},"niketaScripts":{"**/*.js":"yarn test:file"},"depFn":["@definitelytyped/dtslint"],"type":"module","exports":{"require":{"types":"./index.d.cts","default":"./dist/rambda.cjs"},"types":"./index.d.ts","default":"./dist/rambda.js"},"main":"dist/rambda.cjs","module":"dist/rambda.js","dependencies":{},"devDependencies":{"@definitelytyped/dtslint":"0.0.182","@types/mocha":"10.0.10","@types/node":"22.14.1","@vitest/coverage-v8":"3.1.1","helpers-fn":"2.0.0","lodash":"4.17.21","radashi":"13.0.0-beta.ffa4778","rambdax":"11.3.1","ramda":"0.30.1","remeda":"2.21.3","rollup":"4.40.0","types-ramda":"0.30.1","typescript":"5.9.0-dev.20250418","vitest":"3.1.1"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["curried","fp","functional","generics","lodash","ramda","remeda","stdlib","toolkit","ts","types","typescript","utilities","utility","utils"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"umd":"./dist/rambda.umd.js","types":"./index.d.cts","_id":"rambda@10.2.0","gitHead":"4545eb854abf7a23bf06c8a310e3ac34e34f3c20","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"shasum":"0f2cfa0c1ae9f3fade5adadff1cf7085a373cbdc","size":129835,"noattachment":false,"key":"/rambda/-/rambda-10.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-10.2.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rambda_10.2.0_1747382312114_0.3614522135752327"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-05-16T07:58:32.403Z","publish_time":1747382312403,"_source_registry_name":"default","_cnpm_publish_time":1747382312403},"10.1.0":{"name":"rambda","version":"10.1.0","scripts":{"out":"yarn populatedocs && yarn populatereadme && yarn build && yarn create-docsify","build":"yarn build:main && yarn build:web && yarn build:esm","build:main":"rollup rambda.js --file dist/rambda.cjs --format cjs","build:esm":"rollup rambda.js --file dist/rambda.js --format es","build:web":"rollup rambda.js --file dist/rambda.umd.js --format umd --name \"R\"","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","lint":"cd source && run lint:folder > lint-output.txt","lint:typings":"tsc","test:file":"node scripts/tasks/run/run-test.js","test:ci":"vitest run","test":"vitest run --watch -u","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","create-docsify":"cd ../rambda-scripts && yarn create-docsify","deps":"run dep:next","ts":"yarn test:typings"},"niketaScripts":{"**/*.js":"yarn test:file"},"depFn":["@definitelytyped/dtslint"],"type":"module","exports":{"require":{"types":"./index.d.cts","default":"./dist/rambda.cjs"},"types":"./index.d.ts","default":"./dist/rambda.js"},"main":"dist/rambda.cjs","module":"dist/rambda.js","dependencies":{},"devDependencies":{"@definitelytyped/dtslint":"0.0.182","@types/mocha":"10.0.10","@types/node":"22.14.1","@vitest/coverage-v8":"3.1.1","helpers-fn":"2.0.0","lodash":"4.17.21","radashi":"13.0.0-beta.ffa4778","rambdax":"11.3.1","ramda":"0.30.1","remeda":"2.21.3","rollup":"4.40.0","types-ramda":"0.30.1","typescript":"5.9.0-dev.20250418","vitest":"3.1.1"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["curried","fp","functional","generics","lodash","ramda","remeda","stdlib","toolkit","ts","types","typescript","utilities","utility","utils"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"umd":"./dist/rambda.umd.js","types":"./index.d.cts","_id":"rambda@10.1.0","gitHead":"779deead043f523bdd4125abda7d53af90ffd9f8","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"23.6.0","_npmVersion":"10.9.2","dist":{"shasum":"b22e1be41794e25461e0ca23888211c755e8166d","size":127982,"noattachment":false,"key":"/rambda/-/rambda-10.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-10.1.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rambda_10.1.0_1745822114628_0.43945482186793683"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-28T06:35:14.808Z","publish_time":1745822114808,"_source_registry_name":"default","_cnpm_publish_time":1745822114808},"10.0.1":{"name":"rambda","version":"10.0.1","scripts":{"out":"yarn populatedocs && yarn populatereadme && yarn build && yarn create-docsify","build":"yarn build:main && yarn build:web && yarn build:esm","build:main":"rollup rambda.js --file dist/rambda.cjs --format cjs","build:esm":"rollup rambda.js --file dist/rambda.js --format es","build:web":"rollup rambda.js --file dist/rambda.umd.js --format umd --name \"R\"","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","lint":"cd source && run lint:folder > lint-output.txt","lint:typings":"tsc","test:file":"node scripts/tasks/run/run-test.js","test:ci":"vitest run","test":"vitest run --watch -u","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","create-docsify":"cd ../rambda-scripts && yarn create-docsify","deps":"run dep:next","ts":"yarn test:typings"},"niketaScripts":{"**/*.js":"yarn test:file"},"depFn":["@definitelytyped/dtslint"],"type":"module","exports":{"require":{"types":"./index.d.ts","default":"./dist/rambda.cjs"},"types":"./index.d.ts","default":"./dist/rambda.js"},"main":"dist/rambda.cjs","module":"dist/rambda.js","dependencies":{},"devDependencies":{"@definitelytyped/dtslint":"0.0.182","@types/mocha":"10.0.10","@types/node":"22.14.1","@vitest/coverage-v8":"3.1.1","helpers-fn":"2.0.0","lodash":"4.17.21","radashi":"13.0.0-beta.ffa4778","rambdax":"11.3.1","ramda":"0.30.1","remeda":"2.21.3","rollup":"4.40.0","types-ramda":"0.30.1","typescript":"5.9.0-dev.20250418","vitest":"3.1.1"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["curried","fp","functional","generics","lodash","ramda","remeda","stdlib","toolkit","ts","types","typescript","utilities","utility","utils"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"umd":"./dist/rambda.umd.js","types":"./index.d.ts","_id":"rambda@10.0.1","gitHead":"2c25323329da0a9002ea6bb491ee70d6adf93c42","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"23.6.0","_npmVersion":"10.9.2","dist":{"shasum":"d5483f5c5cdbc9a8b7c1a7fac758a06c154c32c8","size":115818,"noattachment":false,"key":"/rambda/-/rambda-10.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-10.0.1.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rambda_10.0.1_1745046442056_0.9757341595439182"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-19T07:07:22.259Z","publish_time":1745046442259,"_source_registry_name":"default","_cnpm_publish_time":1745046442259},"10.0.0":{"name":"rambda","version":"10.0.0","scripts":{"out":"yarn populatedocs && yarn populatereadme && yarn build && yarn create-docsify","build":"yarn build:main && yarn build:web && yarn build:esm","build:main":"rollup rambda.js --file dist/rambda.cjs --format cjs","build:esm":"rollup rambda.js --file dist/rambda.js --format es","build:web":"rollup rambda.js --file dist/rambda.umd.js --format umd --name \"R\"","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","lint":"cd source && run lint:folder > lint-output.txt","test:file":"node scripts/tasks/run/run-test.js","test:ci":"vitest run","test":"vitest run --watch -u","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","create-docsify":"cd ../rambda-scripts && yarn create-docsify","deps":"run dep:next","ts":"yarn test:typings"},"niketaScripts":{"**/*.js":"yarn test:file"},"depFn":["@definitelytyped/dtslint"],"type":"module","exports":{"require":{"types":"./index.d.ts","default":"./dist/rambda.cjs"},"types":"./index.d.ts","default":"./dist/rambda.js"},"main":"dist/rambda.cjs","module":"dist/rambda.js","dependencies":{},"devDependencies":{"@definitelytyped/dtslint":"0.0.182","@types/mocha":"10.0.10","@vitest/coverage-v8":"3.1.0-beta.2","helpers-fn":"2.0.0","lodash":"4.17.21","radashi":"^12.4.0","rambdax":"11.3.1","ramda":"0.30.1","remeda":"2.21.2","rollup":"4.36.0","types-ramda":"0.30.1","typescript":"5.9.0-dev.20250321","vitest":"3.1.0-beta.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["curried","fp","functional","generics","lodash","ramda","remeda","stdlib","toolkit","ts","types","typescript","utilities","utility","utils"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"umd":"./dist/rambda.umd.js","types":"./index.d.ts","_id":"rambda@10.0.0","gitHead":"86027b2dfc78a0227c5cd2ba9b802980777f654d","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"23.6.0","_npmVersion":"10.9.2","dist":{"shasum":"ff1ea68216081b709fd8707d59969f4019586535","size":115670,"noattachment":false,"key":"/rambda/-/rambda-10.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-10.0.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rambda_10.0.0_1744870708268_0.6472453364099082"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-17T06:18:28.569Z","publish_time":1744870708569,"_source_registry_name":"default","_cnpm_publish_time":1744870708569},"10.0.0-beta.3":{"name":"rambda","version":"10.0.0-beta.3","scripts":{"out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build && yarn create-docsify","build":"yarn build:main && yarn build:web && yarn build:esm","build:main":"rollup rambda.js --file dist/rambda.cjs --format cjs","build:esm":"rollup rambda.js --file dist/rambda.js --format es","build:web":"rollup rambda.js --file dist/rambda.umd.js --format umd --name \"R\"","immutable":"cd ../rambda-scripts && yarn immutable","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","lint":"cd source && run lint:folder > lint-output.txt","test:file":"node scripts/tasks/run/run-test.js","test:ci":"vitest run","test":"vitest run --watch -u","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","create-docsify":"cd ../rambda-scripts && yarn create-docsify","deps":"run dep:next","ts":"yarn test:typings"},"niketaScripts":{"**/*.js":"yarn test:file"},"depFn":["@definitelytyped/dtslint"],"type":"module","exports":{"require":{"types":"./index.d.ts","default":"./dist/rambda.cjs"},"types":"./index.d.ts","default":"./dist/rambda.js"},"main":"dist/rambda.cjs","module":"dist/rambda.js","dependencies":{},"devDependencies":{"@definitelytyped/dtslint":"0.0.182","@types/mocha":"10.0.10","@vitest/coverage-v8":"3.1.0-beta.2","helpers-fn":"2.0.0","lodash":"4.17.21","radashi":"^12.4.0","rambdax":"11.3.1","ramda":"0.30.1","remeda":"2.21.2","rollup":"4.36.0","types-ramda":"0.30.1","typescript":"5.9.0-dev.20250321","vitest":"3.1.0-beta.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["curried","fp","functional","generics","lodash","ramda","remeda","stdlib","toolkit","ts","types","typescript","utilities","utility","utils"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"umd":"./dist/rambda.umd.js","types":"./index.d.ts","_id":"rambda@10.0.0-beta.3","gitHead":"b686858d09d94a47042d48db8281881bce813d7a","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"23.6.0","_npmVersion":"10.9.2","dist":{"shasum":"71476a9a72b0d3e8323a57866912389ff774dc5e","size":125514,"noattachment":false,"key":"/rambda/-/rambda-10.0.0-beta.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-10.0.0-beta.3.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rambda_10.0.0-beta.3_1743276199828_0.5778255959061973"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-03-29T19:23:20.014Z","publish_time":1743276200014,"_source_registry_name":"default","_cnpm_publish_time":1743276200014},"10.0.0-beta.1":{"name":"rambda","version":"10.0.0-beta.1","scripts":{"out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build && yarn create-docsify","build":"yarn build:main && yarn build:web && yarn build:esm","build:main":"rollup rambda.js --file dist/rambda.cjs --format cjs","build:esm":"rollup rambda.js --file dist/rambda.js --format es","build:web":"rollup rambda.js --file dist/rambda.umd.js --format umd --name \"R\"","immutable":"cd ../rambda-scripts && yarn immutable","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","lint":"cd source && run lint:folder > lint-output.txt","test:file":"node scripts/tasks/run/run-test.js","test:ci":"vitest run","test":"vitest run --watch -u","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","create-docsify":"cd ../rambda-scripts && yarn create-docsify","deps":"run dep:next","ts":"yarn test:typings"},"niketaScripts":{"**/*.js":"yarn test:file"},"depFn":["@definitelytyped/dtslint"],"type":"module","exports":{".":{"import":"./dist/rambda.js","require":"./dist/rambda.cjs"}},"main":"dist/rambda.cjs","module":"dist/rambda.js","dependencies":{},"devDependencies":{"@definitelytyped/dtslint":"0.0.182","@types/mocha":"10.0.10","@vitest/coverage-v8":"3.1.0-beta.2","helpers-fn":"2.0.0","lodash":"4.17.21","radashi":"^12.4.0","rambdax":"11.3.1","ramda":"0.30.1","remeda":"2.21.2","rollup":"4.36.0","types-ramda":"0.30.1","typescript":"5.9.0-dev.20250321","vitest":"3.1.0-beta.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["curried","fp","functional","generics","lodash","ramda","remeda","stdlib","toolkit","ts","types","typescript","underscore","util","utilities","utility","utils"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"umd":"./dist/rambda.umd.js","types":"./index.d.ts","_id":"rambda@10.0.0-beta.1","gitHead":"87c46124c1de0b2513cad729bead263ed9cf45a7","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"23.6.0","_npmVersion":"10.9.2","dist":{"shasum":"2643ba89c6c8ecc9e6266e384799d1b9833d836e","size":117707,"noattachment":false,"key":"/rambda/-/rambda-10.0.0-beta.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-10.0.0-beta.1.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rambda_10.0.0-beta.1_1742845015749_0.76408276537796"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-03-24T19:36:56.006Z","publish_time":1742845016006,"_source_registry_name":"default","_cnpm_publish_time":1742845016006},"10.0.0-alpha.0":{"name":"rambda","version":"10.0.0-alpha.0","scripts":{"out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build && yarn create-docsify","build":"yarn build:main && yarn build:web && yarn build:esm","build:main":"rollup rambda.js --file dist/rambda.js --format cjs","build:esm":"rollup rambda.js --file dist/rambda.esm.js --format es","build:web":"rollup rambda.js --file dist/rambda.umd.js --format umd --name \"R\"","immutable":"cd ../rambda-scripts && yarn immutable:rambda","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","lint":"cd source && run lint:folder > lint-output.txt","test:file":"node scripts/tasks/run/run-test.js","test:ci":"vitest run","test":"vitest run --watch -u","x":"vitest run --watch source/and.spec.js","test:cover":"vitest run --coverage","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","create-docsify":"cd ../rambda-scripts && yarn create-docsify","deps":"run dep:next","ts":"yarn test:typings"},"niketaScripts":{"**/*.js":"yarn test:file"},"depFn":["@definitelytyped/dtslint"],"dependencies":{},"devDependencies":{"@definitelytyped/dtslint":"0.0.182","@types/mocha":"10.0.10","@vitest/coverage-v8":"^3.0.5","helpers-fn":"2.0.0","lodash":"4.17.21","rambdax":"11.3.1","ramda":"0.30.1","remeda":"^2.21.0","rollup":"4.34.4","types-ramda":"0.30.1","typescript":"5.8.0-dev.20250206","vitest":"3.0.5"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["curried","fp","functional","generics","lodash","ramda","stdlib","toolkit","ts","types","typescript","underscore","util","utilities","utility","utils"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","_id":"rambda@10.0.0-alpha.0","gitHead":"b09b517091b04ebda3102627f61e63d9f1bf097b","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"23.6.0","_npmVersion":"10.9.2","dist":{"shasum":"a9f987c59d5c7b83ae04bd17a3451693a205e92f","size":94887,"noattachment":false,"key":"/rambda/-/rambda-10.0.0-alpha.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-10.0.0-alpha.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rambda_10.0.0-alpha.0_1741977346387_0.6651444000529476"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-03-14T18:35:46.635Z","publish_time":1741977346635,"_source_registry_name":"default","_cnpm_publish_time":1741977346635},"9.4.2":{"name":"rambda","version":"9.4.2","scripts":{"out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build && yarn create-docsify","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x && yarn create-docsify:x","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","create-docsify":"cd ../rambda-scripts && yarn create-docsify","create-docsify:x":"cd ../rambda-scripts && yarn create-docsify:rambdax","ts":"yarn test:typings"},"depFn":["@definitelytyped/dtslint"],"dependencies":{},"devDependencies":{"@babel/core":"7.26.0","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.26.0","@definitelytyped/dtslint":"0.0.182","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"28.0.1","@rollup/plugin-node-resolve":"15.3.0","@rollup/plugin-replace":"6.0.1","@types/jest":"29.5.14","combinate":"1.1.11","cross-env":"7.0.3","fast-check":"3.23.1","helpers-fn":"2.0.0","is-ci":"3.0.1","jest":"29.7.0","jest-extended":"4.0.2","lodash":"4.17.21","rambdax":"11.2.0","ramda":"0.30.1","rollup":"4.28.1","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.30.1","typescript":"5.7.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","_id":"rambda@9.4.2","gitHead":"da9b8893920b0d0314bd8305676933dd6abc9082","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"23.6.0","_npmVersion":"10.9.2","dist":{"shasum":"1a0da6171ca5830e88311f0083e5fd8b945a32ad","size":173632,"noattachment":false,"key":"/rambda/-/rambda-9.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-9.4.2.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rambda_9.4.2_1737043753666_0.5971966147989909"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-16T16:09:14.111Z","publish_time":1737043754111,"_source_registry_name":"default","_cnpm_publish_time":1737043754111},"9.4.1":{"name":"rambda","version":"9.4.1","scripts":{"before":"yarn out && yarn docs","benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","ts":"yarn test:typings","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"depFn":["@definitelytyped/dtslint"],"dependencies":{},"devDependencies":{"@babel/core":"7.26.0","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.26.0","@definitelytyped/dtslint":"0.0.182","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"28.0.1","@rollup/plugin-node-resolve":"15.3.0","@rollup/plugin-replace":"6.0.1","@types/jest":"29.5.14","combinate":"1.1.11","cross-env":"7.0.3","fast-check":"3.23.1","helpers-fn":"2.0.0","is-ci":"3.0.1","jest":"29.7.0","jest-extended":"4.0.2","lodash":"4.17.21","rambdax":"11.2.0","ramda":"0.30.1","rollup":"4.28.1","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.30.1","typescript":"5.7.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","_id":"rambda@9.4.1","gitHead":"75a8a6f36c4578b96e974fc440492aee3e23d0d7","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"22.9.0","_npmVersion":"10.8.3","dist":{"shasum":"895f22f6aa789b62cd72ae850339654a6a2d00bc","size":173425,"noattachment":false,"key":"/rambda/-/rambda-9.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-9.4.1.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rambda_9.4.1_1734190727235_0.5256453139267143"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-12-14T15:38:47.429Z","publish_time":1734190727429,"_source_registry_name":"default","_cnpm_publish_time":1734190727429},"9.4.0":{"name":"rambda","version":"9.4.0","scripts":{"before":"yarn out && yarn docs","benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","ts":"yarn test:typings","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"depFn":["@definitelytyped/dtslint"],"dependencies":{},"devDependencies":{"@babel/core":"7.25.8","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.25.8","@definitelytyped/dtslint":"0.0.182","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"28.0.0","@rollup/plugin-node-resolve":"15.3.0","@rollup/plugin-replace":"6.0.1","@types/jest":"29.5.13","combinate":"1.1.11","cross-env":"7.0.3","fast-check":"3.22.0","helpers-fn":"2.0.0","is-ci":"3.0.1","jest":"29.7.0","jest-extended":"4.0.2","lodash":"4.17.21","rambdax":"11.2.0","ramda":"0.30.1","rollup":"4.24.0","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.30.1","typescript":"5.6.3"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","_id":"rambda@9.4.0","gitHead":"7eb249a013fdc54d35bb89f4ef54520113d853d2","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"22.9.0","_npmVersion":"10.8.3","dist":{"shasum":"313094d15463ecf549bdd326ffc1ddacc2fc4c2d","size":173221,"noattachment":false,"key":"/rambda/-/rambda-9.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-9.4.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_9.4.0_1730781977130_0.9223202142530809"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-05T04:46:17.361Z","publish_time":1730781977361,"_source_registry_name":"default","_cnpm_publish_time":1730781977361},"9.3.0":{"name":"rambda","version":"9.3.0","scripts":{"before":"yarn out && yarn docs","benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"depFn":["@definitelytyped/dtslint"],"dependencies":{},"devDependencies":{"@babel/core":"7.24.7","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.24.7","@definitelytyped/dtslint":"0.0.182","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"26.0.1","@rollup/plugin-node-resolve":"15.2.3","@rollup/plugin-replace":"5.0.7","@types/jest":"29.5.12","combinate":"1.1.11","cross-env":"7.0.3","fast-check":"3.19.0","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.7.0","jest-extended":"4.0.2","lodash":"4.17.21","rambdax":"11.1.1","ramda":"0.30.1","rollup":"4.18.0","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.30.1","typescript":"5.5.3"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","_id":"rambda@9.3.0","gitHead":"afa9cddf46f5e1a7ba552e0bdea93dd993f5eed5","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"22.5.1","_npmVersion":"10.8.2","dist":{"shasum":"12b5c336320e6c5fdb1fbe4d38ab69f4983d821c","size":173191,"noattachment":false,"key":"/rambda/-/rambda-9.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-9.3.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_9.3.0_1724413120145_0.7230439630630958"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-08-23T11:38:40.421Z","publish_time":1724413120421,"_source_registry_name":"default","_cnpm_publish_time":1724413120421},"9.2.1":{"name":"rambda","version":"9.2.1","scripts":{"before":"yarn out && yarn docs","benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && yarn lint && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","git:add":"git add -A","github":"cd ../rambda-scripts && yarn github","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","lint":"yarn git:add && yarn lint:staged && yarn git:add","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","new":"cd ../rambda-scripts && yarn new","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","test:ts":"yarn test:typings","ts":"yarn test:typings","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"depFn":["@definitelytyped/dtslint"],"dependencies":{},"devDependencies":{"@babel/core":"7.24.6","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.24.6","@definitelytyped/dtslint":"0.0.182","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"25.0.8","@rollup/plugin-node-resolve":"15.2.3","@rollup/plugin-replace":"5.0.5","@types/jest":"29.5.12","combinate":"1.1.11","cross-env":"7.0.3","fast-check":"3.19.0","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.7.0","jest-extended":"4.0.2","lodash":"4.17.21","rambdax":"11.1.1","ramda":"0.30.0","rollup":"4.18.0","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.30.0","typescript":"5.4.5"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","_id":"rambda@9.2.1","gitHead":"b56a41ba223e35efc335e38f4f624ccab1b1d9a8","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"shasum":"d52070e457ef16d51693f5805679774697e3362a","size":172173,"noattachment":false,"key":"/rambda/-/rambda-9.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-9.2.1.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_9.2.1_1718716004542_0.3286802876017987"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-06-18T13:06:44.811Z","publish_time":1718716004811,"_source_registry_name":"default","_cnpm_publish_time":1718716004811},"9.2.0":{"name":"rambda","version":"9.2.0","scripts":{"benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && yarn lint && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","git:add":"git add -A","github":"cd ../rambda-scripts && yarn github","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","lint":"yarn git:add && yarn lint:staged && yarn git:add","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","new":"cd ../rambda-scripts && yarn new","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","before":"yarn out && yarn docs","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","test:ts":"yarn test:typings","ts":"yarn test:typings","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"dependencies":{},"devDependencies":{"@babel/core":"7.23.3","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.23.3","@definitelytyped/dtslint":"0.0.176","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"25.0.7","@rollup/plugin-node-resolve":"15.2.3","@rollup/plugin-replace":"5.0.5","@types/jest":"29.5.8","combinate":"1.1.11","cross-env":"7.0.3","fast-check":"3.13.2","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.7.0","jest-extended":"4.0.2","lodash":"4.17.21","rambdax":"10.0.0","ramda":"0.29.1","rollup":"4.4.1","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.29.6","typescript":"5.2.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","_id":"rambda@9.2.0","gitHead":"f8c4aebc5f38c6363caebde46e830ba2db9d8dc8","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"shasum":"c67bb792bf627dadcc9188a1558cfdf0bc0712d5","size":171958,"noattachment":false,"key":"/rambda/-/rambda-9.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-9.2.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_9.2.0_1712046610349_0.9831271046435102"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-04-02T08:30:10.614Z","publish_time":1712046610614,"_source_registry_name":"default","_cnpm_publish_time":1712046610614},"9.1.1":{"name":"rambda","version":"9.1.1","scripts":{"benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && yarn lint && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","git:add":"git add -A","github":"cd ../rambda-scripts && yarn github","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","lint":"yarn git:add && yarn lint:staged && yarn git:add","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","new":"cd ../rambda-scripts && yarn new","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","before":"yarn out && yarn docs","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","ts":"yarn test:typings","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"dependencies":{},"devDependencies":{"@babel/core":"7.23.3","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.23.3","@definitelytyped/dtslint":"0.0.176","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"25.0.7","@rollup/plugin-node-resolve":"15.2.3","@rollup/plugin-replace":"5.0.5","@types/jest":"29.5.8","combinate":"1.1.11","cross-env":"7.0.3","fast-check":"3.13.2","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.7.0","jest-extended":"4.0.2","lodash":"4.17.21","rambdax":"10.0.0","ramda":"0.29.1","rollup":"4.4.1","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.29.6","typescript":"5.2.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","_id":"rambda@9.1.1","gitHead":"6db89fd7d50f03e4e63a80baca751ac98869d5b4","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"shasum":"100e49b3179aaab999c82c2ca13a6602e2191f69","size":171678,"noattachment":false,"key":"/rambda/-/rambda-9.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-9.1.1.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_9.1.1_1710192298003_0.6378888744313045"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-03-11T21:24:58.176Z","publish_time":1710192298176,"_source_registry_name":"default","_cnpm_publish_time":1710192298176},"9.1.0":{"name":"rambda","version":"9.1.0","scripts":{"benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && yarn lint && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","git:add":"git add -A","github":"cd ../rambda-scripts && yarn github","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","lint":"yarn git:add && yarn lint:staged && yarn git:add","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","new":"cd ../rambda-scripts && yarn new","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","before":"yarn out && yarn docs","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","ts":"yarn test:typings","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"dependencies":{},"devDependencies":{"@babel/core":"7.23.3","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.23.3","@definitelytyped/dtslint":"0.0.176","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"25.0.7","@rollup/plugin-node-resolve":"15.2.3","@rollup/plugin-replace":"5.0.5","@types/jest":"29.5.8","combinate":"1.1.11","cross-env":"7.0.3","fast-check":"3.13.2","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.7.0","jest-extended":"4.0.2","lodash":"4.17.21","rambdax":"10.0.0","ramda":"0.29.1","rollup":"4.4.1","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.29.6","typescript":"5.2.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","_id":"rambda@9.1.0","gitHead":"988f9259d6070f1573bc3df908b7c43b2f6fc986","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"21.5.0","_npmVersion":"10.2.4","dist":{"shasum":"43be8c01dcdca37838ae5c1065e58553d2298366","size":171573,"noattachment":false,"key":"/rambda/-/rambda-9.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-9.1.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_9.1.0_1707516672503_0.9745378284040731"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-02-09T22:11:12.709Z","publish_time":1707516672709,"_source_registry_name":"default","_cnpm_publish_time":1707516672709},"9.0.1":{"name":"rambda","version":"9.0.1","scripts":{"benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && yarn lint && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","git:add":"git add -A","github":"cd ../rambda-scripts && yarn github","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","lint":"yarn git:add && yarn lint:staged && yarn git:add","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","new":"cd ../rambda-scripts && yarn new","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","before":"yarn out && yarn docs","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","ts":"yarn test:typings","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"dependencies":{},"devDependencies":{"@babel/core":"7.23.3","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.23.3","@definitelytyped/dtslint":"0.0.176","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"25.0.7","@rollup/plugin-node-resolve":"15.2.3","@rollup/plugin-replace":"5.0.5","@types/jest":"29.5.8","combinate":"1.1.11","cross-env":"7.0.3","fast-check":"3.13.2","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.7.0","jest-extended":"4.0.2","lodash":"4.17.21","rambdax":"10.0.0","ramda":"0.29.1","rollup":"4.4.1","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.29.6","typescript":"5.2.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","_id":"rambda@9.0.1","gitHead":"8b6b7363d238284becfb09728c1fcc7edb82bf25","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"21.5.0","_npmVersion":"10.2.4","dist":{"shasum":"1e8e2e3534710af4af9ef90937185604ac2edf0b","size":169172,"noattachment":false,"key":"/rambda/-/rambda-9.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-9.0.1.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_9.0.1_1705425221405_0.28075885593880945"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-01-16T17:13:41.638Z","publish_time":1705425221638,"_source_registry_name":"default","_cnpm_publish_time":1705425221638},"9.0.0":{"name":"rambda","version":"9.0.0","scripts":{"benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && yarn lint && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","git:add":"git add -A","github":"cd ../rambda-scripts && yarn github","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","lint":"yarn git:add && yarn lint:staged && yarn git:add","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","new":"cd ../rambda-scripts && yarn new","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","before":"yarn out && yarn docs","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","ts":"yarn test:typings","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"dependencies":{},"devDependencies":{"@babel/core":"7.23.3","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.23.3","@definitelytyped/dtslint":"0.0.176","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"25.0.7","@rollup/plugin-node-resolve":"15.2.3","@rollup/plugin-replace":"5.0.5","@types/jest":"29.5.8","combinate":"1.1.11","cross-env":"7.0.3","fast-check":"3.13.2","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.7.0","jest-extended":"4.0.2","lodash":"4.17.21","rambdax":"10.0.0","ramda":"0.29.1","rollup":"4.4.1","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.29.6","typescript":"5.2.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","_id":"rambda@9.0.0","gitHead":"278bfec7cc7987718172739cdacce9570c81f78e","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_nodeVersion":"21.5.0","_npmVersion":"10.2.4","dist":{"shasum":"897d3f8a47b9225cc0332c1d2cd82487c2af51d8","size":169059,"noattachment":false,"key":"/rambda/-/rambda-9.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-9.0.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_9.0.0_1705386625298_0.945801839431091"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-01-16T06:30:25.467Z","publish_time":1705386625467,"_source_registry_name":"default","_cnpm_publish_time":1705386625467},"8.6.0":{"name":"rambda","version":"8.6.0","scripts":{"benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && yarn lint && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","git:add":"git add -A","github":"cd ../rambda-scripts && yarn github","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","lint":"yarn git:add && yarn lint:staged && yarn git:add","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","new":"cd ../rambda-scripts && yarn new","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","before":"yarn out && yarn docs","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","ts":"yarn test:typings","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"dependencies":{},"devDependencies":{"@babel/core":"7.23.3","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.23.3","@definitelytyped/dtslint":"0.0.176","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"25.0.7","@rollup/plugin-node-resolve":"15.2.3","@rollup/plugin-replace":"5.0.5","@types/jest":"29.5.8","combinate":"1.1.11","cross-env":"7.0.3","fast-check":"3.13.2","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.7.0","jest-extended":"4.0.2","lodash":"4.17.21","rambdax":"10.0.0","ramda":"0.29.1","rollup":"4.4.1","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.29.6","typescript":"5.2.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","gitHead":"03ac888d69886147b0fc4825919abaafc9642b81","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@8.6.0","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"shasum":"1c5d79c3c780b63f349e37103d08f88ff30d3865","size":164937,"noattachment":false,"key":"/rambda/-/rambda-8.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-8.6.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_8.6.0_1701017502728_0.20468849936877276"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-11-26T16:51:43.017Z","publish_time":1701017503017,"_source_registry_name":"default","_cnpm_publish_time":1701017503017},"8.5.0":{"name":"rambda","version":"8.5.0","scripts":{"benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && yarn lint && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","git:add":"git add -A","github":"cd ../rambda-scripts && yarn github","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","lint":"yarn git:add && yarn lint:staged && yarn git:add","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","new":"cd ../rambda-scripts && yarn new","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","before":"yarn out && yarn docs","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","ts":"yarn test:typings","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"dependencies":{},"devDependencies":{"@babel/core":"7.21.8","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.21.5","@definitelytyped/dtslint":"0.0.176","@rollup/plugin-babel":"6.0.3","@rollup/plugin-commonjs":"25.0.0","@rollup/plugin-node-resolve":"15.0.2","@rollup/plugin-replace":"5.0.2","@types/jest":"29.5.1","combinate":"1.1.11","cross-env":"7.0.3","fast-check":"^3.11.0","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.5.0","jest-extended":"3.2.4","lodash":"4.17.21","rambdax":"9.1.1","ramda":"0.29.0","rollup":"3.22.0","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.29.2","typescript":"5.2.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","gitHead":"77c727f6d13dd8d6df40c53f3e211eedbf5a5c93","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@8.5.0","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"shasum":"52fddf18348e5c7f070a45c93e6d919aea339602","size":164820,"noattachment":false,"key":"/rambda/-/rambda-8.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-8.5.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_8.5.0_1696276937484_0.5378548732257498"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-10-02T20:02:17.773Z","publish_time":1696276937773,"_source_registry_name":"default","_cnpm_publish_time":1696276937773},"8.4.0":{"name":"rambda","version":"8.4.0","scripts":{"benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && yarn lint && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","git:add":"git add -A","github":"cd ../rambda-scripts && yarn github","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","lint":"yarn git:add && yarn lint:staged && yarn git:add","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","new":"cd ../rambda-scripts && yarn new","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","before":"yarn out && yarn docs","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"dependencies":{},"devDependencies":{"@babel/core":"7.21.8","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.21.5","@definitelytyped/dtslint":"0.0.176","@rollup/plugin-babel":"6.0.3","@rollup/plugin-commonjs":"25.0.0","@rollup/plugin-node-resolve":"15.0.2","@rollup/plugin-replace":"5.0.2","@types/jest":"29.5.1","combinate":"1.1.11","cross-env":"7.0.3","fast-check":"^3.11.0","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.5.0","jest-extended":"3.2.4","lodash":"4.17.21","rambdax":"9.1.1","ramda":"0.29.0","rollup":"3.22.0","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.29.2","typescript":"5.2.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","gitHead":"bd718607c15fb624718bcc18e6f01a8591825711","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@8.4.0","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"shasum":"def4730e0305e7e55e927520610113fddddbdfcb","size":163577,"noattachment":false,"key":"/rambda/-/rambda-8.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-8.4.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_8.4.0_1695364296181_0.8527905952809063"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-22T06:31:37.107Z","publish_time":1695364297107,"_source_registry_name":"default","_cnpm_publish_time":1695364297107},"8.3.0":{"name":"rambda","version":"8.3.0","scripts":{"benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && yarn lint && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","git:add":"git add -A","github":"cd ../rambda-scripts && yarn github","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","lint":"yarn git:add && yarn lint:staged && yarn git:add","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","new":"cd ../rambda-scripts && yarn new","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","publish:experimental":"node files/publish","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"dependencies":{},"devDependencies":{"@babel/core":"7.21.8","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.21.5","@rollup/plugin-babel":"6.0.3","@rollup/plugin-commonjs":"25.0.0","@rollup/plugin-node-resolve":"15.0.2","@rollup/plugin-replace":"5.0.2","@types/jest":"29.5.1","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","fast-check":"^3.11.0","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.5.0","jest-extended":"3.2.4","lodash":"4.17.21","rambdax":"9.1.1","ramda":"0.29.0","rollup":"3.22.0","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.29.2","typescript":"5.0.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","gitHead":"d074785c363987473bd06f73582e88591b14be4e","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@8.3.0","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"shasum":"69363501739a70b1b33b637e8eb5bff7b4476eb7","size":159487,"noattachment":false,"key":"/rambda/-/rambda-8.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-8.3.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_8.3.0_1690220571968_0.6577312802816626"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-24T17:42:52.202Z","publish_time":1690220572202,"_source_registry_name":"default","_cnpm_publish_time":1690220572202},"8.2.0":{"name":"rambda","version":"8.2.0","scripts":{"benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","build":"yarn build:main && yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","build:step":"yarn populatereadme && yarn build:main","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","d":"yarn out && yarn lint && run d","docs":"npx docsify-cli init ./docs && yarn fix-docsify","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","git:add":"git add -A","github":"cd ../rambda-scripts && yarn github","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","lint":"yarn git:add && yarn lint:staged && yarn git:add","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","new":"cd ../rambda-scripts && yarn new","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","publish:experimental":"node files/publish","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","test":"jest -o -u --watch","test:all":"jest source/*.spec.js -u --bail=false","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","usedby":"cd ../rambda-scripts && yarn usedby","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x"},"dependencies":{},"devDependencies":{"@babel/core":"7.21.8","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.21.5","@rollup/plugin-babel":"6.0.3","@rollup/plugin-commonjs":"25.0.0","@rollup/plugin-node-resolve":"15.0.2","@rollup/plugin-replace":"5.0.2","@types/jest":"29.5.1","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.5.0","jest-extended":"3.2.4","lodash":"4.17.21","rambdax":"9.1.1","ramda":"0.29.0","rollup":"3.22.0","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.29.2","typescript":"5.0.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","gitHead":"882714af275d0389dc4d86b9cf29af788e4c6aef","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@8.2.0","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"shasum":"dbc6bbfd74f760f0ccc7494126e3196ca3901a35","size":158006,"noattachment":false,"key":"/rambda/-/rambda-8.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-8.2.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_8.2.0_1689703091725_0.13450417893743305"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-18T17:58:12.019Z","publish_time":1689703092019,"_source_registry_name":"default","_cnpm_publish_time":1689703092019},"8.1.0":{"name":"rambda","version":"8.1.0","scripts":{"publish:experimental":"node files/publish","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","lint":"yarn git:add && yarn lint:staged && yarn git:add","git:add":"git add -A","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","docs":"npx docsify-cli init ./docs && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","test:all":"jest source/*.spec.js -u --bail=false","test":"jest -o -u --watch","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","build:step":"yarn populatereadme && yarn build:main","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","d":"yarn out && yarn lint && run d"},"dependencies":{},"devDependencies":{"@babel/core":"7.21.8","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.21.5","@rollup/plugin-babel":"6.0.3","@rollup/plugin-commonjs":"25.0.0","@rollup/plugin-node-resolve":"15.0.2","@rollup/plugin-replace":"5.0.2","@types/jest":"29.5.1","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.5.0","jest-extended":"3.2.4","lodash":"4.17.21","rambdax":"9.1.1","ramda":"0.29.0","rollup":"3.22.0","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.29.2","typescript":"5.0.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","gitHead":"2d39a91aeaa071d523b87b9e0853fded97d6da7d","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@8.1.0","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"shasum":"1db93aa08fb8620b89e1206e515171b83e00d5d2","size":154921,"noattachment":false,"key":"/rambda/-/rambda-8.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-8.1.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_8.1.0_1688590520570_0.013411365771042849"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-05T20:55:20.859Z","publish_time":1688590520859,"_source_registry_name":"default","_cnpm_publish_time":1688590520859},"8.0.0":{"name":"rambda","version":"8.0.0","scripts":{"publishx":"node files/publish","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatereadme && yarn immutable && yarn build","pull":"cd ../rambda-scripts && git pull","outx":"yarn pull && yarn out","x":"yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","lint":"yarn git:add && yarn lint:staged && yarn git:add","git:add":"git add -A","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","docs":"npx docsify-cli init ./docs && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","test:all":"jest source/*.spec.js -u --bail=false","test":"jest -o -u --watch","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","build:step":"yarn populatereadme && yarn build:main","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","d:rambda-scripts":"cd ../rambda-scripts && run d","d":"yarn out && yarn lint && yarn d:rambda-scripts && run d"},"dependencies":{},"devDependencies":{"@babel/core":"7.21.8","@babel/plugin-proposal-object-rest-spread":"7.20.7","@babel/preset-env":"7.21.5","@rollup/plugin-babel":"6.0.3","@rollup/plugin-commonjs":"25.0.0","@rollup/plugin-node-resolve":"15.0.2","@rollup/plugin-replace":"5.0.2","@types/jest":"29.5.1","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.8.1","is-ci":"3.0.1","jest":"29.5.0","jest-extended":"3.2.4","lodash":"4.17.21","rambdax":"9.1.1","ramda":"0.29.0","rollup":"3.22.0","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","types-ramda":"0.29.2","typescript":"5.0.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","gitHead":"6d73be5635e81177d66fc926a9393841d98e8102","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@8.0.0","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"shasum":"44253ff521a00ae32cfa6d7c2eb44f7a5143a1ae","size":153551,"noattachment":false,"key":"/rambda/-/rambda-8.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-8.0.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_8.0.0_1688494962643_0.7867646976270617"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-04T18:22:42.955Z","publish_time":1688494962955,"_source_registry_name":"default","_cnpm_publish_time":1688494962955},"7.5.0":{"name":"rambda","version":"7.5.0","scripts":{"publishx":"node files/publish","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","pull":"cd ../rambda-scripts && git pull","outx":"yarn pull && yarn out","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","lint":"yarn git:add && yarn lint:staged && yarn git:add","git:add":"git add -A","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","docs":"npx docsify-cli init ./docs && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","consume-typings:clone":"cd .. && git clone --depth 1 https://github.com/selfrefactor/rambda-scripts.git rambda-scripts-clone","consume-typings:execute":"cd ../rambda-scripts-clone/scripts/consume-typings && yarn start","consume-typings":"yarn consume-typings:clone && yarn consume-typings:execute","test:consume-typings":"jest source/_consumeTypings.test.js","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","test:all":"jest source/*.spec.js -u --bail=false","test":"jest -o -u --watch","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","d:rambda-scripts":"cd ../rambda-scripts && run d","d":"yarn out && yarn lint && run d && yarn d:rambda-scripts"},"dependencies":{},"devDependencies":{"@babel/core":"7.20.2","@babel/plugin-proposal-object-rest-spread":"7.20.2","@babel/preset-env":"7.20.2","@rollup/plugin-babel":"6.0.2","@rollup/plugin-commonjs":"23.0.2","@rollup/plugin-node-resolve":"15.0.1","@rollup/plugin-replace":"5.0.1","@types/jest":"29.2.2","@types/ramda":"0.28.23","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"29.2.2","jest-extended":"3.1.0","lodash":"4.17.21","rambdax":"8.1.0","ramda":"0.28.0","rollup":"3.2.5","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.8.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"99e3846c3be40afe904257af0713e96fbf4a1eb5","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.5.0","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"shasum":"1865044c59bc0b16f63026c6e5a97e4b1bbe98fe","size":152171,"noattachment":false,"key":"/rambda/-/rambda-7.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.5.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.5.0_1677857399033_0.4119298450666702"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-03T15:29:59.229Z","publish_time":1677857399229,"_cnpm_publish_time":1677857399229},"7.4.0":{"name":"rambda","version":"7.4.0","scripts":{"publishx":"node files/publish","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","pull":"cd ../rambda-scripts && git pull","outx":"yarn pull && yarn out","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","usedby":"cd ../rambda-scripts && yarn usedby","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","lint":"yarn git:add && yarn lint:staged && yarn git:add","git:add":"git add -A","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.mjs","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.mjs","docs":"npx docsify-cli init ./docs && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","consume-typings:clone":"cd .. && git clone --depth 1 https://github.com/selfrefactor/rambda-scripts.git rambda-scripts-clone","consume-typings:execute":"cd ../rambda-scripts-clone/scripts/consume-typings && yarn start","consume-typings":"yarn consume-typings:clone && yarn consume-typings:execute","test:consume-typings":"jest source/_consumeTypings.test.js","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","t":"yarn test:typings","test:all":"jest source/*.spec.js -u --bail=false","test":"jest -o -u --watch","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","d:rambda-scripts":"cd ../rambda-scripts && run d","d":"yarn out && yarn lint && run d && yarn d:rambda-scripts"},"dependencies":{},"devDependencies":{"@babel/core":"7.20.2","@babel/plugin-proposal-object-rest-spread":"7.20.2","@babel/preset-env":"7.20.2","@rollup/plugin-babel":"6.0.2","@rollup/plugin-commonjs":"23.0.2","@rollup/plugin-node-resolve":"15.0.1","@rollup/plugin-replace":"5.0.1","@types/jest":"29.2.2","@types/ramda":"0.28.18","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"29.2.2","jest-extended":"3.1.0","lodash":"4.17.21","rambdax":"8.1.0","ramda":"0.28.0","remeda":"1.2.0","rollup":"3.2.5","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.8.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./rambda.js","types":"./index.d.ts","exports":{".":{"import":"./rambda.js","require":"./dist/rambda.js","default":"./dist/rambda.js","types":"./index.d.ts"},"./immutable":{"import":"./immutable.js","require":"./immutable.js","default":"./immutable.js","types":"./immutable.d.ts"}},"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"7ce634b471cc726cfa63807378065e86c4f5dfad","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.4.0","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"shasum":"61ec9de31d3dd6affe804de3bae04a5b818781e5","size":164154,"noattachment":false,"key":"/rambda/-/rambda-7.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.4.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.4.0_1668772908035_0.2900345542395193"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-11-18T12:02:22.603Z","publish_time":1668772908234,"_cnpm_publish_time":1668772908234},"7.3.0":{"name":"rambda","version":"7.3.0","scripts":{"publishx":"node files/publish","populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","pull":"cd ../rambda-scripts && git pull","outx":"yarn pull && yarn out","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","lint":"yarn git:add && yarn lint:staged && yarn git:add","git:add":"git add -A","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"npx docsify-cli init ./docs && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","run:ramda:test":"cd ../rambda-scripts && yarn run:ramda:test","consume-typings:clone":"cd .. && git clone --depth 1 https://github.com/selfrefactor/rambda-scripts.git rambda-scripts-clone","consume-typings:execute":"cd ../rambda-scripts-clone/scripts/consume-typings && yarn start","consume-typings":"yarn consume-typings:clone && yarn consume-typings:execute","test:consume-typings":"jest source/_consumeTypings.test.js","test:typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","test:all":"jest source/*.spec.js -u --bail=false","test":"jest -o -u --watch","test:ci":"jest source/*.spec.js --coverage --no-cache -w 1","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark":"cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","d:rambda-scripts":"cd ../rambda-scripts && run d","d":"yarn out && yarn lint && run d && yarn d:rambda-scripts"},"dependencies":{},"devDependencies":{"@babel/core":"7.18.9","@babel/plugin-proposal-object-rest-spread":"7.18.9","@babel/preset-env":"7.18.9","@rollup/plugin-babel":"5.3.1","@rollup/plugin-commonjs":"22.0.1","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"13.3.0","@rollup/plugin-replace":"4.0.0","@types/jest":"28.1.6","@types/ramda":"0.28.15","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"28.1.3","jest-extended":"3.0.1","lodash":"4.17.21","rambdax":"8.0.1","ramda":"0.28.0","rollup":"2.77.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.7.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.(spec|test)\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./dist/rambda.mjs","types":"./index.d.ts","exports":{".":{"import":"./dist/rambda.mjs","require":"./dist/rambda.js","default":"./dist/rambda.js","types":"./index.d.ts"},"./immutable":{"import":"./immutable.js","require":"./immutable.js","default":"./immutable.js","types":"./immutable.d.ts"}},"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"cbff5e110df7cf77ca4ee67b8158be817fd1a418","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.3.0","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"shasum":"90e440ead53030a216093865d8d97997a80868ca","size":167690,"noattachment":false,"key":"/rambda/-/rambda-7.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.3.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.3.0_1664629802218_0.4177511187836267"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-10-01T13:10:55.273Z","publish_time":1664629802896,"_cnpm_publish_time":1664629802896},"7.2.1":{"name":"rambda","version":"7.2.1","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","pull":"cd ../rambda-scripts && git pull","outx":"yarn pull && yarn out","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","lint":"yarn git:add && yarn lint:staged && yarn git:add","git:add":"git add -A","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"npx docsify-cli init ./docs && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","test:all":"jest source -u --bail=false","test":"jest -o --watch","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings && yarn cover:spec","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:single":"cd ../rambda-scripts && METHOD=uniqWith RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark":"yarn build:step && yarn benchmark:single","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","d:rambda-scripts":"cd ../rambda-scripts && run d","d":"yarn out && yarn lint && run d && yarn d:rambda-scripts","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.18.9","@babel/plugin-proposal-object-rest-spread":"7.18.9","@babel/preset-env":"7.18.9","@rollup/plugin-babel":"5.3.1","@rollup/plugin-commonjs":"22.0.1","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"13.3.0","@rollup/plugin-replace":"4.0.0","@types/jest":"28.1.6","@types/ramda":"0.28.15","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"28.1.3","jest-extended":"3.0.1","lodash":"4.17.21","rambdax":"8.0.1","ramda":"0.28.0","rollup":"2.77.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.7.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./dist/rambda.mjs","types":"./index.d.ts","exports":{".":{"import":"./dist/rambda.mjs","require":"./dist/rambda.js","default":"./dist/rambda.js","types":"./index.d.ts"},"./immutable":{"import":"./immutable.js","require":"./immutable.js","default":"./immutable.js","types":"./immutable.d.ts"}},"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"e8d505f161cffe4ecccdcc56dc5741dd34a1c9da","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.2.1","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"shasum":"c533f6e2def4edcd59f967df938ace5dd6da56af","size":160345,"noattachment":false,"key":"/rambda/-/rambda-7.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.2.1.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.2.1_1659539148659_0.9734541513479595"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-08-03T15:51:18.727Z","publish_time":1659539148955,"_cnpm_publish_time":1659539148955},"7.2.0":{"name":"rambda","version":"7.2.0","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","pull":"cd ../rambda-scripts && git pull","outx":"yarn pull && yarn out","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","lint":"yarn git:add && yarn lint:staged && yarn git:add","git:add":"git add -A","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"npx docsify-cli init ./docs --yes && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","test:all":"jest source -u --bail=false","test":"jest -o --watch","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings && yarn cover:spec","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:single":"cd ../rambda-scripts && METHOD=uniqWith RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark":"yarn build:step && yarn benchmark:single","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","d:rambda-scripts":"cd ../rambda-scripts && run d","d":"yarn out && yarn lint && run d && yarn d:rambda-scripts","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.18.9","@babel/plugin-proposal-object-rest-spread":"7.18.9","@babel/preset-env":"7.18.9","@rollup/plugin-babel":"5.3.1","@rollup/plugin-commonjs":"22.0.1","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"13.3.0","@rollup/plugin-replace":"4.0.0","@types/jest":"28.1.6","@types/ramda":"0.28.15","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"28.1.3","jest-extended":"3.0.1","lodash":"4.17.21","rambdax":"8.0.1","ramda":"0.28.0","rollup":"2.77.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.7.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./dist/rambda.mjs","types":"./index.d.ts","exports":{".":{"import":"./dist/rambda.mjs","require":"./dist/rambda.js","default":"./dist/rambda.js","types":"./index.d.ts"},"./immutable":{"import":"./immutable.js","require":"./immutable.js","default":"./immutable.js","types":"./immutable.d.ts"}},"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"ea212032b071a8e769eb225c481e9b571db61d15","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.2.0","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"shasum":"b24a106513fac6aa734c3f86ac873377e55cd201","size":160256,"noattachment":false,"key":"/rambda/-/rambda-7.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.2.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.2.0_1659183601478_0.1340566435928916"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-30T12:20:09.405Z","publish_time":1659183601941,"_cnpm_publish_time":1659183601941},"7.1.4":{"name":"rambda","version":"7.1.4","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","lint":"yarn git:add && yarn lint:staged && yarn git:add","git:add":"git add -A","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"npx docsify-cli init ./docs --yes && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","test:all":"jest source -u --bail=false","test":"jest -o --watch","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings && yarn cover:spec","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:single":"cd ../rambda-scripts && METHOD=pipe RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark":"yarn build:step && yarn benchmark:single","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.17.10","@babel/plugin-proposal-object-rest-spread":"7.17.3","@babel/preset-env":"7.17.10","@rollup/plugin-babel":"5.3.1","@rollup/plugin-commonjs":"22.0.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"13.2.1","@rollup/plugin-replace":"4.0.0","@types/jest":"27.4.1","@types/ramda":"0.28.11","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"28.0.3","jest-extended":"2.0.0","lodash":"4.17.21","rambdax":"8.0.1","ramda":"0.28.0","rollup":"2.70.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.6.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./dist/rambda.mjs","types":"./index.d.ts","exports":{".":{"import":"./dist/rambda.mjs","require":"./dist/rambda.js","default":"./dist/rambda.js","types":"./index.d.ts"},"./immutable":{"import":"./immutable.js","require":"./immutable.js","default":"./immutable.js","types":"./immutable.d.ts"}},"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"d2faada92bf1c10c7287d2567e974bd3e96cfd65","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.1.4","_nodeVersion":"17.3.0","_npmVersion":"8.3.0","dist":{"shasum":"7faa9665a54c5d81773975532a942b3113bb4a56","size":168471,"noattachment":false,"key":"/rambda/-/rambda-7.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.1.4.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.1.4_1652036118916_0.6537766422032072"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-08T18:55:33.218Z","publish_time":1652036119174,"_cnpm_publish_time":1652036119174},"7.1.3":{"name":"rambda","version":"7.1.3","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","lint":"yarn git:add && yarn lint:staged && yarn git:add","git:add":"git add -A","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"npx docsify-cli init ./docs --yes && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","test:all":"jest source -u --bail=false","test":"jest -o --watch","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings && yarn cover:spec","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:single":"cd ../rambda-scripts && METHOD=pipe RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark":"yarn build:step && yarn benchmark:single","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.17.10","@babel/plugin-proposal-object-rest-spread":"7.17.3","@babel/preset-env":"7.17.10","@rollup/plugin-babel":"5.3.1","@rollup/plugin-commonjs":"22.0.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"13.2.1","@rollup/plugin-replace":"4.0.0","@types/jest":"27.4.1","@types/ramda":"0.28.11","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"28.0.3","jest-extended":"2.0.0","lodash":"4.17.21","rambdax":"8.0.1","ramda":"0.28.0","rollup":"2.70.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.6.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./dist/rambda.mjs","types":"./index.d.ts","exports":{".":{"import":"./dist/rambda.mjs","require":"./dist/rambda.js","default":"./dist/rambda.js","types":"./index.d.ts"},"./immutable":{"import":"./immutable.js","require":"./immutable.js","default":"./immutable.js","types":"./immutable.d.ts"}},"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"dca4986bcfebc25203d7a112ec324321ed8892ea","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.1.3","_nodeVersion":"17.3.0","_npmVersion":"8.3.0","dist":{"shasum":"df814202a0ba449f1ae3fc4f0f0a8ff558bac6a2","size":168483,"noattachment":false,"key":"/rambda/-/rambda-7.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.1.3.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.1.3_1652035507181_0.8135977622088253"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-08T18:45:13.457Z","publish_time":1652035507382,"_cnpm_publish_time":1652035507382},"7.1.2":{"name":"rambda","version":"7.1.2","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","lint":"yarn git:add && yarn lint:staged && yarn git:add","git:add":"git add -A","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"npx docsify-cli init ./docs --yes && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","test:all":"jest source -u --bail=false","test":"jest -o --watch","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings && yarn cover:spec","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:single":"cd ../rambda-scripts && METHOD=pipe RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark":"yarn build:step && yarn benchmark:single","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.17.10","@babel/plugin-proposal-object-rest-spread":"7.17.3","@babel/preset-env":"7.17.10","@rollup/plugin-babel":"5.3.1","@rollup/plugin-commonjs":"22.0.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"13.2.1","@rollup/plugin-replace":"4.0.0","@types/jest":"27.4.1","@types/ramda":"0.28.11","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"28.0.3","jest-extended":"2.0.0","lodash":"4.17.21","rambdax":"8.0.1","ramda":"0.28.0","rollup":"2.70.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.6.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./dist/rambda.mjs","types":"./index.d.ts","exports":{".":{"import":"./dist/rambda.mjs","require":"./dist/rambda.js","default":"./dist/rambda.js","types":"./index.d.ts"},"./immutable":{"import":"./immutable.js","require":"./immutable.js","default":"./immutable.js","types":"./immutable.d.ts"}},"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"697f1cfab7ac6f63a0fe28d4152a1a950426b046","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.1.2","_nodeVersion":"17.3.0","_npmVersion":"8.3.0","dist":{"shasum":"08f4922d6d19d7fc2a2de69c220445fb8b40b1be","size":168487,"noattachment":false,"key":"/rambda/-/rambda-7.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.1.2.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.1.2_1652033627511_0.0495946205902944"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-08T18:13:53.813Z","publish_time":1652033627778,"_cnpm_publish_time":1652033627778},"7.1.1":{"name":"rambda","version":"7.1.1","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","lint":"yarn git:add && yarn lint:staged && yarn git:add","git:add":"git add -A","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"npx docsify-cli init ./docs && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","test:all":"jest source -u --bail=false","test":"jest -o --watch","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings && yarn cover:spec","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:single":"cd ../rambda-scripts && METHOD=pipe RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark":"yarn build:step && yarn benchmark:single","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.17.10","@babel/plugin-proposal-object-rest-spread":"7.17.3","@babel/preset-env":"7.17.10","@rollup/plugin-babel":"5.3.1","@rollup/plugin-commonjs":"22.0.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"13.2.1","@rollup/plugin-replace":"4.0.0","@types/jest":"27.4.1","@types/ramda":"0.28.11","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"28.0.3","jest-extended":"2.0.0","lodash":"4.17.21","rambdax":"8.0.1","ramda":"0.28.0","rollup":"2.70.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.6.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./dist/rambda.mjs","types":"./index.d.ts","exports":{".":{"import":"./dist/rambda.mjs","require":"./dist/rambda.js","default":"./dist/rambda.js","types":"./index.d.ts"},"./immutable":{"import":"./immutable.js","require":"./immutable.js","default":"./immutable.js","types":"./immutable.d.ts"}},"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"e414832d1399507029073684b50b12c339211be7","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.1.1","_nodeVersion":"17.3.0","_npmVersion":"8.3.0","dist":{"shasum":"6ff1c2ebbe5e92865a6be015995700459c16917d","size":168467,"noattachment":false,"key":"/rambda/-/rambda-7.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.1.1.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.1.1_1652029154669_0.614126373115081"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-08T16:59:27.949Z","publish_time":1652029154864,"_cnpm_publish_time":1652029154864},"7.1.0":{"name":"rambda","version":"7.1.0","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint:all":"cd ../rambda-scripts && yarn lint","lint:staged":"cd ../rambda-scripts && yarn lint:staged","lint":"yarn git:add && yarn lint:staged && yarn git:add","git:add":"git add -A","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"npx docsify-cli init ./docs && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","test:all":"jest source -u --bail=false","test":"jest -o --watch","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings && yarn cover:spec","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:single":"cd ../rambda-scripts && METHOD=pipe RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark":"yarn build:step && yarn benchmark:single","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.17.10","@babel/plugin-proposal-object-rest-spread":"7.17.3","@babel/preset-env":"7.17.10","@rollup/plugin-babel":"5.3.1","@rollup/plugin-commonjs":"22.0.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"13.2.1","@rollup/plugin-replace":"4.0.0","@types/jest":"27.4.1","@types/ramda":"0.28.11","combinate":"1.1.11","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"28.0.3","jest-extended":"2.0.0","lodash":"4.17.21","rambdax":"8.0.1","ramda":"0.28.0","rollup":"2.70.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.6.4"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["./files/testSetup.js"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./dist/rambda.mjs","types":"./index.d.ts","exports":{".":{"import":"./dist/rambda.mjs","require":"./dist/rambda.js","default":"./dist/rambda.js","types":"./index.d.ts"},"./immutable":{"import":"./immutable.js","require":"./immutable.js","default":"./immutable.js","types":"./immutable.d.ts"}},"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"a368ff1636a36c1692b80746f7ca150c4bc4f9bc","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.1.0","_nodeVersion":"17.3.0","_npmVersion":"8.3.0","dist":{"shasum":"c7c785d89fef967ddc463ee2982738fcc072dd97","size":168409,"noattachment":false,"key":"/rambda/-/rambda-7.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.1.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.1.0_1651836644428_0.7950308994424715"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-06T13:17:21.295Z","publish_time":1651836644717,"_cnpm_publish_time":1651836644717},"7.0.3":{"name":"rambda","version":"7.0.3","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint":"cd ../rambda-scripts && yarn lint","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"npx docsify-cli init ./docs && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","test":"jest source -u --bail=false","test:dev":"jest source --watch","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings && yarn cover:spec","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:single":"cd ../rambda-scripts && METHOD=pipe RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark":"yarn build:step && yarn benchmark:single","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.16.0","@babel/plugin-proposal-object-rest-spread":"7.16.0","@babel/preset-env":"7.16.4","@rollup/plugin-babel":"5.3.0","@rollup/plugin-commonjs":"21.0.1","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"13.0.6","@rollup/plugin-replace":"3.0.0","@types/jest":"27.0.3","@types/ramda":"0.27.58","combinate":"1.1.7","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"27.4.3","jest-extended":"0.11.5","lodash":"4.17.21","rambdax":"7.4.1","ramda":"0.27.1","rollup":"2.60.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.5.2"},"depFn":["jest-extended"],"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./dist/rambda.mjs","types":"./index.d.ts","exports":{".":{"import":"./dist/rambda.mjs","require":"./dist/rambda.js","default":"./dist/rambda.js","types":"./index.d.ts"},"./immutable":{"import":"./immutable.js","require":"./immutable.js","default":"./immutable.js","types":"./immutable.d.ts"}},"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"45d9f604ab70c713d575532d3f2bdb918826509b","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.0.3","_nodeVersion":"17.3.0","_npmVersion":"8.3.0","dist":{"shasum":"35730cb9ac24943c1231f74e6fddd46ae594d3c0","size":159238,"noattachment":false,"key":"/rambda/-/rambda-7.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.0.3.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.0.3_1645511395282_0.6515615875341987"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-22T06:30:03.449Z","publish_time":1645511395480,"_cnpm_publish_time":1645511395480},"7.0.2":{"name":"rambda","version":"7.0.2","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","fix-docsify":"cd ../rambda-scripts && yarn fix-docsify:rambda","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint":"cd ../rambda-scripts && yarn lint","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"npx docsify-cli init ./docs && yarn fix-docsify","new":"cd ../rambda-scripts && yarn new","test":"jest source -u --bail=false","test:dev":"jest source --watch","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings && yarn cover:spec","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:single":"cd ../rambda-scripts && METHOD=pipe RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark":"yarn build:step && yarn benchmark:single","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.16.0","@babel/plugin-proposal-object-rest-spread":"7.16.0","@babel/preset-env":"7.16.4","@rollup/plugin-babel":"5.3.0","@rollup/plugin-commonjs":"21.0.1","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"13.0.6","@rollup/plugin-replace":"3.0.0","@types/jest":"27.0.3","@types/ramda":"0.27.58","combinate":"1.1.7","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"27.4.3","jest-extended":"0.11.5","lodash":"4.17.21","rambdax":"7.4.1","ramda":"0.27.1","rollup":"2.60.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.5.2"},"depFn":["jest-extended"],"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./dist/rambda.mjs","types":"./index.d.ts","exports":{".":{"import":"./dist/rambda.mjs","require":"./dist/rambda.js","default":"./dist/rambda.js","types":"./index.d.ts"},"./immutable":{"import":"./immutable.js","require":"./immutable.js","default":"./immutable.js","types":"./immutable.d.ts"}},"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"05d0db990997ff9227f77dd4a61727abdc10d823","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.0.2","_nodeVersion":"17.3.0","_npmVersion":"8.3.0","dist":{"shasum":"5a136cf41c869ab6bd5953cddfbd6dc27413a867","size":160717,"noattachment":false,"key":"/rambda/-/rambda-7.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.0.2.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.0.2_1643994887164_0.9813038451942191"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-04T17:14:57.926Z","publish_time":1643994887420,"_cnpm_publish_time":1643994887420},"7.0.1":{"name":"rambda","version":"7.0.1","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint":"cd ../rambda-scripts && yarn lint","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"docsify init ./docs","new":"cd ../rambda-scripts && yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings && yarn cover:spec","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:single":"cd ../rambda-scripts && METHOD=pipe RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark":"yarn build:step && yarn benchmark:single","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.16.0","@babel/plugin-proposal-object-rest-spread":"7.16.0","@babel/preset-env":"7.16.4","@rollup/plugin-babel":"5.3.0","@rollup/plugin-commonjs":"21.0.1","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"13.0.6","@rollup/plugin-replace":"3.0.0","@types/jest":"27.0.3","@types/ramda":"0.27.58","combinate":"1.1.7","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"27.4.3","jest-extended":"0.11.5","lodash":"4.17.21","rambdax":"7.4.1","ramda":"0.27.1","rollup":"2.60.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.5.2"},"depFn":["jest-extended"],"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./dist/rambda.esm.js","types":"./index.d.ts","exports":{".":{"import":"./dist/rambda.esm.js","require":"./dist/rambda.js","default":"./dist/rambda.js","types":"./index.d.ts"}},"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"6a3fad4c76af018c893a6514c3be930a00936fe7","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.0.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"shasum":"691fac4e0ca291af303e95e2b6d357293e01923a","size":164488,"noattachment":false,"key":"/rambda/-/rambda-7.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.0.1.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.0.1_1640686061319_0.2619272914834132"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-30T05:25:19.630Z","publish_time":1640686061517,"_cnpm_publish_time":1640686061517},"7.0.0":{"name":"rambda","version":"7.0.0","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts && yarn github","immutable":"cd ../rambda-scripts && yarn immutable:rambda","immutable:x":"cd ../rambda-scripts && yarn immutable:rambdax","usedby":"cd ../rambda-scripts && yarn usedby","lint":"cd ../rambda-scripts && yarn lint","build":"yarn build:main && yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"docsify init ./docs","new":"cd ../rambda-scripts && yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings && yarn cover:spec","build:step":"yarn populatedocs && yarn populatereadme && yarn build:main","benchmark:check:apply":"cd ../rambda-scripts && yarn check-benchmark","benchmark:check":"yarn build:step && METHOD=compose yarn benchmark:check:apply","benchmark:single":"cd ../rambda-scripts && METHOD=pipe RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark","benchmark:all":"yarn build:step && cd ../rambda-scripts && yarn benchmark:all","benchmark":"yarn build:step && yarn benchmark:single","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.16.0","@babel/plugin-proposal-object-rest-spread":"7.16.0","@babel/preset-env":"7.16.4","@rollup/plugin-babel":"5.3.0","@rollup/plugin-commonjs":"21.0.1","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"13.0.6","@rollup/plugin-replace":"3.0.0","@types/jest":"27.0.3","@types/ramda":"0.27.58","combinate":"1.1.7","cross-env":"7.0.3","dtslint":"4.2.1","helpers-fn":"1.6.0","is-ci":"3.0.1","jest":"27.4.3","jest-extended":"0.11.5","lodash":"4.17.21","rambdax":"7.4.1","ramda":"0.27.1","rollup":"2.60.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.5.2"},"depFn":["jest-extended"],"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","sideEffects":false,"main":"./dist/rambda.js","umd":"./dist/rambda.umd.js","module":"./dist/rambda.esm.js","types":"./index.d.ts","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/rambda.js","default":"./dist/rambda.js","types":"./index.d.ts"}},"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"f14a6162e84e48aa4a14806b66f6a2ff43ec82a4","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@7.0.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"shasum":"f5305a9762a87355bf316a16bd67fd359fcbb19e","size":164488,"noattachment":false,"key":"/rambda/-/rambda-7.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-7.0.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_7.0.0_1640428574056_0.01178989128300234"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-28T01:41:51.234Z","publish_time":1640428574261,"_cnpm_publish_time":1640428574261},"6.9.0":{"name":"rambda","version":"6.9.0","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatedocs:x":"cd ../rambda-scripts && yarn populate:docs:rambdax","populatereadme":"cd ../rambda-scripts && yarn populate:readme","populatereadme:x":"cd ../rambda-scripts && yarn populate:readme:rambdax","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x","github":"cd ../rambda-scripts&&yarn github","immutable":"cd ../rambda-scripts&&yarn immutable:rambda","immutable:x":"cd ../rambda-scripts&&yarn immutable:rambdax","usedby":"cd ../rambda-scripts&&yarn usedby","lint":"cd ../rambda-scripts&&yarn lint","build":"yarn build:main&&yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"docsify init ./docs","new":"cd ../rambda-scripts&&yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","benchmark":"yarn populatedocs && yarn populatereadme && yarn build:main && yarn benchmark:method","benchmark:all":"yarn populatedocs && yarn populatereadme && yarn build:main && cd ../rambda-scripts&&yarn benchmark:all","benchmark:method":"cd ../rambda-scripts && METHOD=uniqWith yarn benchmark","benchmarkx":"cd ../rambda-scripts&&yarn benchmarkx","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"typings":"./index.d.ts","devDependencies":{"@babel/core":"7.12.13","@babel/plugin-proposal-object-rest-spread":"7.12.13","@babel/preset-env":"7.12.13","@rollup/plugin-babel":"5.2.3","@rollup/plugin-commonjs":"17.1.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"11.1.1","@rollup/plugin-replace":"2.3.4","@types/jest":"26.0.20","@types/ramda":"0.27.38","combinate":"1.1.2","cross-env":"7.0.3","dtslint":"4.0.7","helpers-fn":"1.6.0","is-ci":"2.0.0","jest":"26.6.3","jest-extended":"0.11.5","lodash":"4.17.20","rambdax":"7.2.0","ramda":"0.27.1","rollup":"2.38.5","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.1.5"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","module":"./dist/rambda.esm.js","main":"./dist/rambda","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"98bc685573cabc578309369e0513046ed23fa11a","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"_id":"rambda@6.9.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"shasum":"17cd0b0c427295e00e8fe12de5bd63884502a9a4","size":158748,"noattachment":false,"key":"/rambda/-/rambda-6.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.9.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.9.0_1627711049287_0.5151641128204854"},"_hasShrinkwrap":false,"publish_time":1627711049536,"_cnpm_publish_time":1627711049536,"_cnpmcore_publish_time":"2021-12-16T14:19:30.409Z"},"6.8.3":{"name":"rambda","version":"6.8.3","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"cd ../rambda-scripts&&yarn populate:docs:rambdax&&cd ../rambda-scripts&&yarn populate:readme:rambdax","github":"cd ../rambda-scripts&&yarn github","immutable":"cd ../rambda-scripts&&yarn immutable","usedby":"cd ../rambda-scripts&&yarn usedby","lint":"cd ../rambda-scripts&&yarn lint","build":"yarn build:main&&yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"docsify init ./docs","new":"cd ../rambda-scripts&&yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","benchmark":"cd ../rambda-scripts&&yarn benchmarks","benchmarkx":"cd ../rambda-scripts&&yarn benchmarksx","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"typings":"./index.d.ts","devDependencies":{"@babel/core":"7.12.13","@babel/plugin-proposal-object-rest-spread":"7.12.13","@babel/preset-env":"7.12.13","@rollup/plugin-babel":"5.2.3","@rollup/plugin-commonjs":"17.1.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"11.1.1","@rollup/plugin-replace":"2.3.4","@types/jest":"26.0.20","@types/ramda":"0.27.38","combinate":"1.1.2","cross-env":"7.0.3","dtslint":"4.0.7","helpers-fn":"1.6.0","is-ci":"2.0.0","jest":"26.6.3","jest-extended":"0.11.5","lodash":"4.17.20","rambdax":"7.2.0","ramda":"0.27.1","rollup":"2.38.5","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.1.5"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda with included TS definitions","module":"./dist/rambda.esm.js","main":"./dist/rambda","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"1d3b69ac73cdf645119841071ed843ed8f44a709","_id":"rambda@6.8.3","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"shasum":"358e7b5434da61f5def253a0056d2689bd43cb99","size":156892,"noattachment":false,"key":"/rambda/-/rambda-6.8.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.8.3.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.8.3_1627203927463_0.4497898794113038"},"_hasShrinkwrap":false,"publish_time":1627203927721,"_cnpm_publish_time":1627203927721,"_cnpmcore_publish_time":"2021-12-16T14:19:30.943Z"},"6.8.2":{"name":"rambda","version":"6.8.2","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"cd ../rambda-scripts&&yarn populate:docs:rambdax&&cd ../rambda-scripts&&yarn populate:readme:rambdax","github":"cd ../rambda-scripts&&yarn github","immutable":"cd ../rambda-scripts&&yarn immutable","usedby":"cd ../rambda-scripts&&yarn usedby","lint":"cd ../rambda-scripts&&yarn lint","build":"yarn build:main&&yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"docsify init ./docs","new":"cd ../rambda-scripts&&yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","benchmark":"cd ../rambda-scripts&&yarn benchmarks","benchmarkx":"cd ../rambda-scripts&&yarn benchmarksx","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"typings":"./index.d.ts","devDependencies":{"@babel/core":"7.12.13","@babel/plugin-proposal-object-rest-spread":"7.12.13","@babel/preset-env":"7.12.13","@rollup/plugin-babel":"5.2.3","@rollup/plugin-commonjs":"17.1.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"11.1.1","@rollup/plugin-replace":"2.3.4","@types/jest":"26.0.20","@types/ramda":"0.27.38","combinate":"1.1.2","cross-env":"7.0.3","dtslint":"4.0.7","helpers-fn":"1.6.0","is-ci":"2.0.0","jest":"26.6.3","jest-extended":"0.11.5","lodash":"4.17.20","rambdax":"7.2.0","ramda":"0.27.1","rollup":"2.38.5","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.1.5"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","main":"./dist/rambda","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"78b2130e30e7164faad127da15ac86e878a1dd95","_id":"rambda@6.8.2","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"shasum":"77c54b8fea19b8d1c93b1244028569ca9a3c1779","size":171327,"noattachment":false,"key":"/rambda/-/rambda-6.8.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.8.2.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.8.2_1626012357389_0.09333460334904342"},"_hasShrinkwrap":false,"publish_time":1626012357574,"_cnpm_publish_time":1626012357574,"_cnpmcore_publish_time":"2021-12-16T14:19:31.551Z"},"6.8.1":{"name":"rambda","version":"6.8.1","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"cd ../rambda-scripts&&yarn populate:docs:rambdax&&cd ../rambda-scripts&&yarn populate:readme:rambdax","github":"cd ../rambda-scripts&&yarn github","immutable":"cd ../rambda-scripts&&yarn immutable","usedby":"cd ../rambda-scripts&&yarn usedby","lint":"cd ../rambda-scripts&&yarn lint","build":"yarn build:main&&yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"docsify init ./docs","new":"cd ../rambda-scripts&&yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","benchmark":"cd ../rambda-scripts&&yarn benchmarks","benchmarkx":"cd ../rambda-scripts&&yarn benchmarksx","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.12.13","@babel/plugin-proposal-object-rest-spread":"7.12.13","@babel/preset-env":"7.12.13","@rollup/plugin-babel":"5.2.3","@rollup/plugin-commonjs":"17.1.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"11.1.1","@rollup/plugin-replace":"2.3.4","@types/jest":"26.0.20","@types/ramda":"0.27.38","combinate":"1.1.2","cross-env":"7.0.3","dtslint":"4.0.7","helpers-fn":"1.6.0","is-ci":"2.0.0","jest":"26.6.3","jest-extended":"0.11.5","lodash":"4.17.20","rambdax":"7.2.0","ramda":"0.27.1","rollup":"2.38.5","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.1.5"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","main":"./dist/rambda","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"167557844268cb1235e471a85684f1542190e640","_id":"rambda@6.8.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"shasum":"1cc10f000af99afccc437f711b59b05d35b6ca74","size":171324,"noattachment":false,"key":"/rambda/-/rambda-6.8.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.8.1.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.8.1_1626011280184_0.42864403438971443"},"_hasShrinkwrap":false,"publish_time":1626011280328,"_cnpm_publish_time":1626011280328,"_cnpmcore_publish_time":"2021-12-16T14:19:32.843Z"},"6.8.0":{"name":"rambda","version":"6.8.0","scripts":{"populatedocs":"cd ../rambda-scripts && yarn populate:docs","populatereadme":"cd ../rambda-scripts && yarn populate:readme","out":"yarn populatedocs && yarn populatereadme && yarn immutable && yarn build","x":"cd ../rambda-scripts&&yarn populate:docs:rambdax&&cd ../rambda-scripts&&yarn populate:readme:rambdax","github":"cd ../rambda-scripts&&yarn github","immutable":"cd ../rambda-scripts&&yarn immutable","usedby":"cd ../rambda-scripts&&yarn usedby","lint":"cd ../rambda-scripts&&yarn lint","build":"yarn build:main&&yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"docsify init ./docs","new":"cd ../rambda-scripts&&yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","benchmark":"cd ../rambda-scripts&&yarn benchmarks","benchmarkx":"cd ../rambda-scripts&&yarn benchmarksx","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.12.13","@babel/plugin-proposal-object-rest-spread":"7.12.13","@babel/preset-env":"7.12.13","@rollup/plugin-babel":"5.2.3","@rollup/plugin-commonjs":"17.1.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"11.1.1","@rollup/plugin-replace":"2.3.4","@types/jest":"26.0.20","@types/ramda":"0.27.38","combinate":"1.1.2","cross-env":"7.0.3","dtslint":"4.0.7","helpers-fn":"1.6.0","is-ci":"2.0.0","jest":"26.6.3","jest-extended":"0.11.5","lodash":"4.17.20","rambdax":"7.2.0","ramda":"0.27.1","rollup":"2.38.5","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.1.5"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","main":"./dist/rambda","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"e9e51d43a47f2c29fc3acc5902dd951c3e4821f9","_id":"rambda@6.8.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"shasum":"22fb47e0c5753ee1626e93ba631a5b7dcf29b23d","size":160371,"noattachment":false,"key":"/rambda/-/rambda-6.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.8.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.8.0_1626009488898_0.5714556093987702"},"_hasShrinkwrap":false,"publish_time":1626009489051,"_cnpm_publish_time":1626009489051,"_cnpmcore_publish_time":"2021-12-16T14:19:33.808Z"},"6.7.0":{"name":"rambda","version":"6.7.0","scripts":{"out":"cd ../rambda-scripts&&yarn populate:docs&&cd ../rambda-scripts&&yarn populate:readme","x":"cd ../rambda-scripts&&yarn populate:docs:rambdax&&cd ../rambda-scripts&&yarn populate:readme:rambdax","github":"cd ../rambda-scripts&&yarn github","immutable":"cd ../rambda-scripts&&yarn immutable","usedby":"cd ../rambda-scripts&&yarn usedby","lint":"cd ../rambda-scripts&&yarn lint","build":"yarn build:main&&yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"docsify init ./docs","new":"cd ../rambda-scripts&&yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","benchmark":"cd ../rambda-scripts&&yarn benchmarks","benchmarkx":"cd ../rambda-scripts&&yarn benchmarksx","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.12.13","@babel/plugin-proposal-object-rest-spread":"7.12.13","@babel/preset-env":"7.12.13","@rollup/plugin-babel":"5.2.3","@rollup/plugin-commonjs":"17.1.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"11.1.1","@rollup/plugin-replace":"2.3.4","@types/jest":"26.0.20","@types/ramda":"0.27.38","combinate":"1.1.2","cross-env":"7.0.3","dtslint":"4.0.7","helpers-fn":"1.6.0","is-ci":"2.0.0","jest":"26.6.3","jest-extended":"0.11.5","lodash":"4.17.20","rambdax":"7.2.0","ramda":"0.27.1","rollup":"2.38.5","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.1.5"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","main":"./dist/rambda","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"f08fd0d6bab05447b96701d94ad70bfd8ae073e7","_id":"rambda@6.7.0","_nodeVersion":"15.3.0","_npmVersion":"7.0.14","dist":{"shasum":"50322efdd23a108b61eb6ac4e0868d10dd95b4aa","size":160493,"noattachment":false,"key":"/rambda/-/rambda-6.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.7.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.7.0_1616625576579_0.23260524468003596"},"_hasShrinkwrap":false,"publish_time":1616625576725,"_cnpm_publish_time":1616625576725,"_cnpmcore_publish_time":"2021-12-16T14:19:34.995Z"},"6.7.0-beta.0":{"name":"rambda","version":"6.7.0-beta.0","scripts":{"out":"cd ../rambda-scripts&&yarn populate:docs&&cd ../rambda-scripts&&yarn populate:readme","x":"cd ../rambda-scripts&&yarn populate:docs:rambdax&&cd ../rambda-scripts&&yarn populate:readme:rambdax","github":"cd ../rambda-scripts&&yarn github","immutable":"cd ../rambda-scripts&&yarn immutable","usedby":"cd ../rambda-scripts&&yarn usedby","lint":"cd ../rambda-scripts&&yarn lint","build":"yarn build:main&&yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"docsify init ./docs","new":"cd ../rambda-scripts&&yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","benchmark":"cd ../rambda-scripts&&yarn benchmarks","benchmarkx":"cd ../rambda-scripts&&yarn benchmarksx","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.12.13","@babel/plugin-proposal-object-rest-spread":"7.12.13","@babel/preset-env":"7.12.13","@rollup/plugin-babel":"5.2.3","@rollup/plugin-commonjs":"17.1.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"11.1.1","@rollup/plugin-replace":"2.3.4","@types/jest":"26.0.20","@types/ramda":"0.27.38","combinate":"1.1.2","cross-env":"7.0.3","dtslint":"4.0.7","helpers-fn":"1.6.0","is-ci":"2.0.0","jest":"26.6.3","jest-extended":"0.11.5","lodash":"4.17.20","rambdax":"7.2.0","ramda":"0.27.1","rollup":"2.38.5","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.1.5"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","main":"./dist/rambda","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","readmeFilename":"README.md","gitHead":"055b989e19c9c7cbc6d71ab2b6acb9d5586107fa","_id":"rambda@6.7.0-beta.0","_nodeVersion":"15.3.0","_npmVersion":"7.0.14","dist":{"shasum":"2758da563ef76469ada48038eb8536a312dcc1a6","size":160419,"noattachment":false,"key":"/rambda/-/rambda-6.7.0-beta.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.7.0-beta.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.7.0-beta.0_1616624989062_0.9117616536143938"},"_hasShrinkwrap":false,"publish_time":1616624989295,"_cnpm_publish_time":1616624989295,"_cnpmcore_publish_time":"2021-12-16T14:19:35.544Z"},"6.6.0":{"name":"rambda","version":"6.6.0","scripts":{"out":"cd ../rambda-scripts&&yarn populate:docs&&cd ../rambda-scripts&&yarn populate:readme","x":"cd ../rambda-scripts&&yarn populate:docs:rambdax&&cd ../rambda-scripts&&yarn populate:readme:rambdax","github":"cd ../rambda-scripts&&yarn github","toolbelt":"cd ../rambda-scripts&&yarn toolbelt","immutable":"cd ../rambda-scripts&&yarn immutable","usedby":"cd ../rambda-scripts&&yarn usedby","lint":"cd ../rambda-scripts&&yarn lint","build":"yarn build:main&&yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","docs":"docsify init ./docs","new":"cd ../rambda-scripts&&yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","benchmark":"cd ../rambda-scripts&&yarn benchmarks","benchmarkx":"cd ../rambda-scripts&&yarn benchmarksx","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.12.13","@babel/plugin-proposal-object-rest-spread":"7.12.13","@babel/preset-env":"7.12.13","@rollup/plugin-babel":"5.2.3","@rollup/plugin-commonjs":"17.1.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"11.1.1","@rollup/plugin-replace":"2.3.4","@types/jest":"26.0.20","@types/ramda":"0.27.38","combinate":"1.1.2","cross-env":"7.0.3","dtslint":"4.0.7","helpers-fn":"1.6.0","is-ci":"2.0.0","jest":"26.6.3","jest-extended":"0.11.5","lodash":"4.17.20","rambdax":"7.2.0","ramda":"0.27.1","rollup":"2.38.5","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","rollup-plugin-uglify":"6.0.4","typescript":"4.1.5"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","main":"./dist/rambda","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"88e96f279a74878eb0b9fe117e117036acdc86c3","_id":"rambda@6.6.0","_nodeVersion":"15.3.0","_npmVersion":"7.0.14","dist":{"shasum":"c23ed3b92837087a81595675f28d991957308616","size":218311,"noattachment":false,"key":"/rambda/-/rambda-6.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.6.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.6.0_1616613561101_0.48174149213848194"},"_hasShrinkwrap":false,"publish_time":1616613561263,"_cnpm_publish_time":1616613561263,"_cnpmcore_publish_time":"2021-12-16T14:19:36.388Z"},"6.5.3":{"name":"rambda","version":"6.5.3","scripts":{"out":"cd ../rambda-scripts&&yarn populate:docs&&cd ../rambda-scripts&&yarn populate:readme","x":"cd ../rambda-scripts&&yarn populate:docs:rambdax&&cd ../rambda-scripts&&yarn populate:readme:rambdax","github":"cd ../rambda-scripts&&yarn github","docs":"cd ../rambda-scripts&&yarn highlighter","toolbelt":"cd ../rambda-scripts&&yarn toolbelt","immutable":"cd ../rambda-scripts&&yarn immutable","usedby":"cd ../rambda-scripts&&yarn usedby","lint":"cd ../rambda-scripts&&yarn lint","build":"yarn build:main&&yarn build:web&&yarn deps","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","parse":"cd ../rambda-scripts&&yarn hjson:parse","deps":"cd ../rambda-scripts&&yarn hjson:fix","docsify":"docsify init ./docs","new":"cd ../rambda-scripts&&yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","benchmark":"cd ../rambda-scripts&&yarn benchmarks","benchmarkx":"cd ../rambda-scripts&&yarn benchmarksx","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.12.10","@babel/plugin-proposal-object-rest-spread":"7.12.1","@babel/preset-env":"7.12.11","@rollup/plugin-babel":"5.2.2","@rollup/plugin-commonjs":"17.0.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"11.1.0","@rollup/plugin-replace":"2.3.4","@types/jest":"26.0.20","@types/ramda":"0.27.34","combinate":"1.1.2","cross-env":"7.0.3","dtslint":"4.0.6","helpers-fn":"1.3.2","is-ci":"2.0.0","jest":"26.6.3","jest-extended":"0.11.5","lodash":"4.17.20","rambdax":"7.1.0","ramda":"0.27.1","rollup":"2.36.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","typescript":"4.1.3"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","main":"./dist/rambda","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"b75d945d5b90f37e528acba60ad13b39207b6769","_id":"rambda@6.5.3","_nodeVersion":"15.3.0","_npmVersion":"7.0.14","dist":{"shasum":"c83908b5c28ee39428ba049382ca040cbadf2f38","size":220737,"noattachment":false,"key":"/rambda/-/rambda-6.5.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.5.3.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.5.3_1611262600155_0.9349953426695172"},"_hasShrinkwrap":false,"publish_time":1611262600319,"_cnpm_publish_time":1611262600319,"_cnpmcore_publish_time":"2021-12-16T14:19:37.003Z"},"6.5.2":{"name":"rambda","version":"6.5.2","scripts":{"out":"cd ../rambda-scripts&&yarn populate:docs&&cd ../rambda-scripts&&yarn populate:readme","x":"cd ../rambda-scripts&&yarn populate:docs:rambdax&&cd ../rambda-scripts&&yarn populate:readme:rambdax","github":"cd ../rambda-scripts&&yarn github","docs":"cd ../rambda-scripts&&yarn highlighter","toolbelt":"cd ../rambda-scripts&&yarn toolbelt","immutable":"cd ../rambda-scripts&&yarn immutable","usedby":"cd ../rambda-scripts&&yarn usedby","lint":"cd ../rambda-scripts&&yarn lint","build":"yarn build:main&&yarn build:web&&yarn deps","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","parse":"cd ../rambda-scripts&&yarn hjson:parse","deps":"cd ../rambda-scripts&&yarn hjson:fix","docsify":"docsi init ./docs","new":"cd ../rambda-scripts&&yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","benchmark":"cd ../rambda-scripts&&yarn benchmarks","benchmarkx":"cd ../rambda-scripts&&yarn benchmarksx","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.12.10","@babel/plugin-proposal-object-rest-spread":"7.12.1","@babel/preset-env":"7.12.11","@rollup/plugin-babel":"5.2.2","@rollup/plugin-commonjs":"17.0.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"11.1.0","@rollup/plugin-replace":"2.3.4","@types/jest":"26.0.20","@types/ramda":"0.27.34","combinate":"1.1.2","cross-env":"7.0.3","dtslint":"4.0.6","helpers-fn":"1.3.2","is-ci":"2.0.0","jest":"26.6.3","jest-extended":"0.11.5","lodash":"4.17.20","rambdax":"7.1.0","ramda":"0.27.1","rollup":"2.36.2","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","typescript":"4.1.3"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","main":"./dist/rambda","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"3f94280752fa0dafcec696a06e4b84cba177f9c4","_id":"rambda@6.5.2","_nodeVersion":"15.3.0","_npmVersion":"7.0.14","dist":{"shasum":"ceaeb309a2c4aa68ee9dda953d8cba05d29fa53b","size":226511,"noattachment":false,"key":"/rambda/-/rambda-6.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.5.2.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.5.2_1611002631808_0.6718157551836517"},"_hasShrinkwrap":false,"publish_time":1611002631987,"_cnpm_publish_time":1611002631987,"_cnpmcore_publish_time":"2021-12-16T14:19:37.579Z"},"6.5.1":{"name":"rambda","version":"6.5.1","scripts":{"out":"cd ../rambda-scripts&&yarn populate:docs&&cd ../rambda-scripts&&yarn populate:readme","x":"cd ../rambda-scripts&&yarn populate:docs:rambdax&&cd ../rambda-scripts&&yarn populate:readme:rambdax","github":"cd ../rambda-scripts&&yarn github","docs":"cd ../rambda-scripts&&yarn highlighter","toolbelt":"cd ../rambda-scripts&&yarn toolbelt","immutable":"cd ../rambda-scripts&&yarn immutable","usedby":"cd ../rambda-scripts&&yarn usedby","lint":"cd ../rambda-scripts&&yarn lint","build":"yarn build:main&&yarn build:web&&yarn deps","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","parse":"cd ../rambda-scripts&&yarn hjson:parse","deps":"cd ../rambda-scripts&&yarn hjson:fix","docsify":"docsi init ./docs","new":"cd ../rambda-scripts&&yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","benchmark":"cd ../rambda-scripts&&yarn benchmarks","benchmarkx":"cd ../rambda-scripts&&yarn benchmarksx","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.12.10","@babel/plugin-proposal-object-rest-spread":"7.12.1","@babel/preset-env":"7.12.11","@rollup/plugin-babel":"5.2.2","@rollup/plugin-commonjs":"17.0.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"11.0.1","@rollup/plugin-replace":"2.3.4","@types/jest":"26.0.19","@types/ramda":"0.27.34","combinate":"1.1.1","cross-env":"7.0.3","dtslint":"4.0.6","helpers-fn":"1.3.2","is-ci":"2.0.0","jest":"27.0.0-next.2","jest-extended":"0.11.5","lodash":"4.17.20","rambdax":"7.1.0","ramda":"0.27.1","rollup":"2.35.1","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","typescript":"4.2.0-dev.20201211"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","main":"./dist/rambda","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"54b72aa5d844a3fcefb293a9f54c8268788fea1f","_id":"rambda@6.5.1","_nodeVersion":"15.3.0","_npmVersion":"7.0.14","dist":{"shasum":"8ebef4eb2d447d1ac0266ce5950b5fc7095a7a8e","size":226942,"noattachment":false,"key":"/rambda/-/rambda-6.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.5.1.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.5.1_1610058455071_0.6867387890496319"},"_hasShrinkwrap":false,"publish_time":1610058455258,"_cnpm_publish_time":1610058455258,"_cnpmcore_publish_time":"2021-12-16T14:19:38.402Z"},"6.5.0":{"name":"rambda","version":"6.5.0","scripts":{"out":"cd ../rambda-scripts&&yarn populate:docs&&cd ../rambda-scripts&&yarn populate:readme","x":"cd ../rambda-scripts&&yarn populate:docs:rambdax&&cd ../rambda-scripts&&yarn populate:readme:rambdax","github":"cd ../rambda-scripts&&yarn github","docs":"cd ../rambda-scripts&&yarn highlighter","toolbelt":"cd ../rambda-scripts&&yarn toolbelt","immutable":"cd ../rambda-scripts&&yarn immutable","usedby":"cd ../rambda-scripts&&yarn usedby","lint":"cd ../rambda-scripts&&yarn lint","build":"yarn build:main&&yarn build:web&&yarn deps","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","parse":"cd ../rambda-scripts&&yarn hjson:parse","deps":"cd ../rambda-scripts&&yarn hjson:fix","docsify":"docsi init ./docs","new":"cd ../rambda-scripts&&yarn new","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","benchmark":"cd ../rambda-scripts&&yarn benchmarks","benchmarkx":"cd ../rambda-scripts&&yarn benchmarksx","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"dependencies":{},"devDependencies":{"@babel/core":"7.12.10","@babel/plugin-proposal-object-rest-spread":"7.12.1","@babel/preset-env":"7.12.11","@rollup/plugin-babel":"5.2.2","@rollup/plugin-commonjs":"17.0.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"11.0.1","@rollup/plugin-replace":"2.3.4","@types/jest":"26.0.19","@types/ramda":"0.27.34","combinate":"1.1.1","cross-env":"7.0.3","dtslint":"4.0.6","helpers-fn":"1.3.2","is-ci":"2.0.0","jest":"27.0.0-next.2","jest-extended":"0.11.5","lodash":"4.17.20","rambdax":"7.1.0","ramda":"0.27.1","rollup":"2.35.1","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","typescript":"4.2.0-dev.20201211"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","main":"./dist/rambda","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"a90e187d5f5e644aadc0314a7f09713fe3e02d76","_id":"rambda@6.5.0","_nodeVersion":"15.3.0","_npmVersion":"7.0.14","dist":{"shasum":"f7de1af09c9e09eb7db277622dbaabeacce10662","size":226924,"noattachment":false,"key":"/rambda/-/rambda-6.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.5.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.5.0_1610057719180_0.575185746974652"},"_hasShrinkwrap":false,"publish_time":1610057719381,"_cnpm_publish_time":1610057719381,"_cnpmcore_publish_time":"2021-12-16T14:19:38.952Z"},"6.4.0":{"name":"rambda","version":"6.4.0","scripts":{"out":"jest scripts/all-scripts/all-scripts.spec.js","x":"WITH_RAMBDAX=ON jest scripts/all-scripts/all-scripts.spec.js","docs":"cd ../rambda-scripts&&yarn highlighter","readme":"jest scripts/populate-readme-data/populate-readme-data.spec.js","toolbelt":"cd ../rambda-scripts&&yarn toolbelt","immutable":"cd ../rambda-scripts&&yarn immutable","usedby":"cd ../rambda-scripts&&yarn usedby","lint":"yarn lint:js&&yarn lint:ts","lint:ts":"cd scripts/lint-ts-files&&node lint-typings-tests.js","lint:js":"jest scripts/lint/lint.spec.js","docsify":"docsi init ./docs","build":"yarn build:main&&yarn build:web","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","parse":"node scripts/parse-package-json/parse-package-json","new":"node scripts/add-new-method/add-new-method.js","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","benchmark":"jest scripts/run-benchmarks/run-benchmarks.spec.js","benchmarkx":"jest scripts/run-benchmarks/run-complex-benchmarks.spec.js","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"devDependencies":{"@babel/core":"7.12.3","@babel/plugin-proposal-object-rest-spread":"7.12.1","@babel/preset-env":"7.12.1","@rollup/plugin-babel":"5.2.1","@rollup/plugin-commonjs":"16.0.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"10.0.0","@rollup/plugin-replace":"2.3.4","@types/fs-extra":"9.0.4","@types/jest":"26.0.15","@types/ramda":"0.27.32","combinate":"1.1.1","cross-env":"7.0.2","dtslint":"4.0.5","fs-extra":"9.0.1","helpers-fn":"1.0.0","is-ci":"2.0.0","jest":"26.6.3","jest-extended":"0.11.5","lint-fn":"2.12.1","lodash":"4.17.20","rambdax":"7.0.1","ramda":"0.27.1","rollup":"2.33.1","rollup-plugin-cleanup":"3.2.1","rollup-plugin-sourcemaps":"0.6.3","string-fn":"3.1.0","typescript":"4.2.0-dev.20201113"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","main":"./dist/rambda","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"ffa72eccff6e6657c771b906b6a05459b31f1cff","_id":"rambda@6.4.0","_nodeVersion":"15.1.0","_npmVersion":"7.0.8","dist":{"shasum":"bf080047b03d8d2c72e3ce5c17c603517a65749a","size":238521,"noattachment":false,"key":"/rambda/-/rambda-6.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.4.0.tgz"},"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.4.0_1606235947563_0.320561604785631"},"_hasShrinkwrap":false,"publish_time":1606235947764,"_cnpm_publish_time":1606235947764,"_cnpmcore_publish_time":"2021-12-16T14:19:39.683Z"},"6.3.1":{"name":"rambda","scripts":{"new":"node scripts/add-new-method/add-new-method.js","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","x":"maided rambdax","benchmark":"jest scripts/run-benchmarks/run-benchmarks.spec.js","benchmarkx":"jest scripts/run-benchmarks/run-complex-benchmarks.spec.js","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"6.3.1","dependencies":{},"devDependencies":{"@babel/core":"7.11.6","@babel/plugin-proposal-object-rest-spread":"7.11.0","@babel/preset-env":"7.11.5","@types/fs-extra":"9.0.1","@types/jest":"26.0.14","@types/ramda":"0.27.7","combinate":"1.1.1","cross-env":"7.0.2","dtslint":"4.0.4","fs-extra":"9.0.1","helpers-fn":"0.7.0","is-ci":"2.0.0","jest":"26.4.2","jest-extended":"0.11.5","lint-fn":"2.10.0","lodash":"4.17.19","maided":"0.1.3","rambdax":"4.1.0","ramda":"0.27.0","rollup":"2.28.2","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.2.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.12.2","typescript":"4.0.3"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"14faa998a6294aafb3b2c72b35880cb4eb1a500f","_id":"rambda@6.3.1","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"15bffd4b1f26a30e9f6af78674eba842b1954ef8","size":223041,"noattachment":false,"key":"/rambda/-/rambda-6.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.3.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.3.1_1603195129606_0.8602310297526528"},"_hasShrinkwrap":false,"publish_time":1603195129793,"_cnpm_publish_time":1603195129793,"_cnpmcore_publish_time":"2021-12-16T14:19:40.528Z"},"6.3.0":{"name":"rambda","scripts":{"new":"node scripts/add-new-method/add-new-method.js","test":"jest source -u --bail=false","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","x":"maided rambdax","benchmark":"jest scripts/run-benchmarks/run-benchmarks.spec.js","benchmarkx":"jest scripts/run-benchmarks/run-complex-benchmarks.spec.js","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"6.3.0","dependencies":{},"devDependencies":{"@babel/core":"7.11.6","@babel/plugin-proposal-object-rest-spread":"7.11.0","@babel/preset-env":"7.11.5","@types/fs-extra":"9.0.1","@types/jest":"26.0.14","@types/ramda":"0.27.7","combinate":"1.1.1","cross-env":"7.0.2","dtslint":"4.0.4","fs-extra":"9.0.1","helpers-fn":"0.7.0","is-ci":"2.0.0","jest":"26.4.2","jest-extended":"0.11.5","lint-fn":"2.10.0","lodash":"4.17.19","maided":"0.1.3","rambdax":"4.1.0","ramda":"0.27.0","rollup":"2.28.2","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.2.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.12.2","typescript":"4.0.3"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"2f3eca9156142d42c548a9c96a8b9304bac842cc","_id":"rambda@6.3.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"ee3ea07c772ca9a1b4b683d2f03ecbdd979f8a53","size":223000,"noattachment":false,"key":"/rambda/-/rambda-6.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.3.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.3.0_1603141150162_0.8911332729365815"},"_hasShrinkwrap":false,"publish_time":1603141150384,"_cnpm_publish_time":1603141150384,"_cnpmcore_publish_time":"2021-12-16T14:19:41.303Z"},"6.2.0":{"name":"rambda","scripts":{"new":"node scripts/add-new-method/add-new-method.js","test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","x":"maided rambdax","benchmark":"jest scripts/run-benchmarks/run-benchmarks.spec.js","benchmarkx":"jest scripts/run-benchmarks/run-complex-benchmarks.spec.js","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"6.2.0","dependencies":{},"devDependencies":{"@babel/core":"7.11.6","@babel/plugin-proposal-object-rest-spread":"7.11.0","@babel/preset-env":"7.11.5","@types/jest":"26.0.14","@types/fs-extra":"9.0.1","@types/ramda":"0.27.7","cross-env":"7.0.2","dtslint":"4.0.0","helpers-fn":"0.7.0","is-ci":"2.0.0","fs-extra":"9.0.1","jest":"26.4.2","jest-extended":"0.11.5","lint-fn":"2.10.0","lodash":"4.17.19","maided":"0.1.3","rambdax":"4.1.0","ramda":"0.27.0","rollup":"2.26.11","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.12.0","typescript":"4.0.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"b416ffd5facdc65a4a607cb8aaf4ca76b1ff3f54","_id":"rambda@6.2.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"4afb776b198b054341bdf53f40edc300bea9a969","size":211453,"noattachment":false,"key":"/rambda/-/rambda-6.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.2.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.2.0_1601198476624_0.8935925883919209"},"_hasShrinkwrap":false,"publish_time":1601198476790,"_cnpm_publish_time":1601198476790,"_cnpmcore_publish_time":"2021-12-16T14:19:42.155Z"},"6.1.0":{"name":"rambda","scripts":{"new":"node scripts/add-new-method/add-new-method.js","test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","x":"maided rambdax","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"6.1.0","dependencies":{},"devDependencies":{"@babel/core":"7.11.4","@babel/plugin-proposal-object-rest-spread":"7.11.0","@babel/preset-env":"7.11.0","@types/jest":"26.0.10","@types/fs-extra":"9.0.1","@types/ramda":"0.27.7","cross-env":"7.0.2","dtslint":"3.7.0","helpers-fn":"0.5.0","is-ci":"2.0.0","fs-extra":"9.0.1","jest":"26.4.2","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.19","maided":"0.1.3","rambdax":"4.1.0","ramda":"0.27.0","rollup":"2.26.8","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.12.0","typescript":"4.0.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"ebd7c75e036e1059cee478f02ce949aea2a8cc5f","_id":"rambda@6.1.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"5e628ebf685b58a760d1defc2cd01ac0c1f2808c","size":207819,"noattachment":false,"key":"/rambda/-/rambda-6.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.1.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.1.0_1599398421508_0.812107471481684"},"_hasShrinkwrap":false,"publish_time":1599398421654,"_cnpm_publish_time":1599398421654,"_cnpmcore_publish_time":"2021-12-16T14:19:42.918Z"},"6.0.1":{"name":"rambda","scripts":{"test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","x":"maided rambdax","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"6.0.1","dependencies":{},"devDependencies":{"@babel/core":"7.11.4","@babel/plugin-proposal-object-rest-spread":"7.11.0","@babel/preset-env":"7.11.0","@types/jest":"26.0.10","@types/fs-extra":"9.0.1","@types/ramda":"0.27.7","cross-env":"7.0.2","dtslint":"3.7.0","helpers-fn":"0.5.0","is-ci":"2.0.0","fs-extra":"9.0.1","jest":"26.4.2","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.19","maided":"0.1.3","rambdax":"4.1.0","ramda":"0.27.0","rollup":"2.26.8","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.12.0","typescript":"4.0.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"c3d96cbe9516ab5dc05ceac014356a68026ac7d7","_id":"rambda@6.0.1","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"6b66d8495f224ad28737e872c7be66e266982d2c","size":205080,"noattachment":false,"key":"/rambda/-/rambda-6.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.0.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.0.1_1599289071879_0.917729046412394"},"_hasShrinkwrap":false,"publish_time":1599289072070,"_cnpm_publish_time":1599289072070,"_cnpmcore_publish_time":"2021-12-16T14:19:43.882Z"},"6.0.0":{"name":"rambda","scripts":{"test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","x":"maided rambdax","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"6.0.0","dependencies":{},"devDependencies":{"@babel/core":"7.11.4","@babel/plugin-proposal-object-rest-spread":"7.11.0","@babel/preset-env":"7.11.0","@types/jest":"26.0.10","@types/fs-extra":"9.0.1","@types/ramda":"0.27.7","cross-env":"7.0.2","dtslint":"3.7.0","helpers-fn":"0.5.0","is-ci":"2.0.0","fs-extra":"9.0.1","jest":"26.4.2","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.19","maided":"0.1.3","rambdax":"4.1.0","ramda":"0.27.0","rollup":"2.26.8","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.12.0","typescript":"4.0.2"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"ed9fce7aa1983cb868b9ffc0da57daeb91b2e8e5","_id":"rambda@6.0.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"b3bfc10a53b9e657f0c8008ebef09dde54d6fc21","size":205005,"noattachment":false,"key":"/rambda/-/rambda-6.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-6.0.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_6.0.0_1599251511014_0.2821719324849927"},"_hasShrinkwrap":false,"publish_time":1599251511235,"_cnpm_publish_time":1599251511235,"_cnpmcore_publish_time":"2021-12-16T14:19:44.624Z"},"5.13.1":{"name":"rambda","scripts":{"test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","x":"maided rambdax","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.13.1","dependencies":{},"devDependencies":{"@babel/core":"7.11.1","@babel/plugin-proposal-object-rest-spread":"7.11.0","@babel/preset-env":"7.11.0","@types/jest":"25.2.3","@types/fs-extra":"9.0.1","@types/ramda":"0.27.7","cross-env":"7.0.2","dtslint":"3.6.14","helpers-fn":"0.5.0","is-ci":"2.0.0","fs-extra":"9.0.1","jest":"26.1.0","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.19","maided":"0.1.3","rambdax":"4.1.0","ramda":"0.27.0","rollup":"2.23.1","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.12.0","typescript":"4.0.0-dev.20200705"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"39d86a06442b0e2a8738b97627027af51886731c","_id":"rambda@5.13.1","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"878de64abba268a515f5cd5327448da4344e9b3b","size":205296,"noattachment":false,"key":"/rambda/-/rambda-5.13.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.13.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.13.1_1597834871926_0.3657192882153901"},"_hasShrinkwrap":false,"publish_time":1597834872059,"_cnpm_publish_time":1597834872059,"_cnpmcore_publish_time":"2021-12-16T14:19:45.638Z"},"5.13.0":{"name":"rambda","scripts":{"test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","x":"maided rambdax","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.13.0","dependencies":{},"devDependencies":{"@babel/core":"7.11.1","@babel/plugin-proposal-object-rest-spread":"7.11.0","@babel/preset-env":"7.11.0","@types/jest":"25.2.3","@types/fs-extra":"9.0.1","@types/ramda":"0.27.7","cross-env":"7.0.2","dtslint":"3.6.14","helpers-fn":"0.5.0","is-ci":"2.0.0","fs-extra":"9.0.1","jest":"26.1.0","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.19","maided":"0.1.3","rambdax":"4.1.0","ramda":"0.27.0","rollup":"2.23.1","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.12.0","typescript":"4.0.0-dev.20200705"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"14808bf2c79e470c31df66668814622ff1a1da57","_id":"rambda@5.13.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"0dac239945889c5076fdfe197a635cd2d315d06a","size":208487,"noattachment":false,"key":"/rambda/-/rambda-5.13.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.13.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.13.0_1597824485816_0.964495809780999"},"_hasShrinkwrap":false,"publish_time":1597824485976,"_cnpm_publish_time":1597824485976,"_cnpmcore_publish_time":"2021-12-16T14:19:46.636Z"},"5.12.1":{"name":"rambda","scripts":{"test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","x":"maided rambdax","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.12.1","dependencies":{},"devDependencies":{"@babel/core":"7.11.1","@babel/plugin-proposal-object-rest-spread":"7.11.0","@babel/preset-env":"7.11.0","@types/jest":"25.2.3","@types/fs-extra":"9.0.1","@types/ramda":"0.27.7","cross-env":"7.0.2","dtslint":"3.6.14","helpers-fn":"0.5.0","is-ci":"2.0.0","fs-extra":"9.0.1","jest":"26.1.0","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.19","maided":"0.1.3","rambdax":"4.1.0","ramda":"0.27.0","rollup":"2.23.1","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.12.0","typescript":"4.0.0-dev.20200705"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"4ed41b9c795f4973eb4ae7584d9b902f558af15e","_id":"rambda@5.12.1","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"6747b3e67313165ade1c7b6c056b9763baba969e","size":207317,"noattachment":false,"key":"/rambda/-/rambda-5.12.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.12.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.12.1_1597400953545_0.6595947739882713"},"_hasShrinkwrap":false,"publish_time":1597400953678,"_cnpm_publish_time":1597400953678,"_cnpmcore_publish_time":"2021-12-16T14:19:47.992Z"},"5.12.0":{"name":"rambda","scripts":{"test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","x":"maided rambdax","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.12.0","dependencies":{},"devDependencies":{"@babel/core":"7.10.4","@babel/plugin-proposal-object-rest-spread":"7.10.4","@babel/preset-env":"7.10.4","@types/jest":"25.2.3","@types/fs-extra":"9.0.1","@types/ramda":"0.27.7","cross-env":"7.0.2","dtslint":"3.6.12","helpers-fn":"0.4.1","is-ci":"2.0.0","fs-extra":"9.0.1","jest":"26.1.0","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.19","maided":"0.1.3","rambdax":"4.1.0","ramda":"0.27.0","rollup":"2.23.1","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.12.0","typescript":"4.0.0-dev.20200705"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"17819bf22f6d6dc709848a4da4a229591130ba6f","_id":"rambda@5.12.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"c6e9c0a13290a47c333dc7ccd573c5dc4c4170ec","size":207245,"noattachment":false,"key":"/rambda/-/rambda-5.12.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.12.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.12.0_1597048113808_0.4106038901698885"},"_hasShrinkwrap":false,"publish_time":1597048114227,"_cnpm_publish_time":1597048114227,"_cnpmcore_publish_time":"2021-12-16T14:19:49.212Z"},"5.11.0":{"name":"rambda","scripts":{"test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","x":"maided rambdax","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.11.0","dependencies":{},"devDependencies":{"@babel/core":"7.10.4","@babel/plugin-proposal-object-rest-spread":"7.10.4","@babel/preset-env":"7.10.4","@types/jest":"25.2.3","@types/ramda":"0.27.7","cross-env":"7.0.2","dtslint":"3.6.12","helpers-fn":"0.4.1","is-ci":"2.0.0","fs-extra":"9.0.1","jest":"26.1.0","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.19","maided":"0.1.3","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.21.0","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.12.0","typescript":"4.0.0-dev.20200705"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"b08ea9d2a1405d7ee2b9fcc30303ff2df576bd5b","_id":"rambda@5.11.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"59e2c714775ff539a3bb838c23499d29515c48b7","size":205217,"noattachment":false,"key":"/rambda/-/rambda-5.11.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.11.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.11.0_1596382734481_0.0241980465995566"},"_hasShrinkwrap":false,"publish_time":1596382734663,"_cnpm_publish_time":1596382734663,"_cnpmcore_publish_time":"2021-12-16T14:19:49.939Z"},"5.10.0":{"name":"rambda","scripts":{"test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.10.0","dependencies":{},"devDependencies":{"@babel/core":"7.10.4","@babel/plugin-proposal-object-rest-spread":"7.10.4","@babel/preset-env":"7.10.4","@types/jest":"25.2.3","@types/ramda":"0.27.7","cross-env":"7.0.2","dtslint":"3.6.12","helpers-fn":"0.4.1","is-ci":"2.0.0","fs-extra":"9.0.1","jest":"26.1.0","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.19","maided":"0.1.3","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.21.0","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.12.0","typescript":"4.0.0-dev.20200705"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"2b04773d8cc774ebccfcecffef9f2057ffc48951","_id":"rambda@5.10.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"77cc685a439971204df7560d5a106b0d012c0b2d","size":203839,"noattachment":false,"key":"/rambda/-/rambda-5.10.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.10.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.10.0_1596217544339_0.9263513919178479"},"_hasShrinkwrap":false,"publish_time":1596217544487,"_cnpm_publish_time":1596217544487,"_cnpmcore_publish_time":"2021-12-16T14:19:50.789Z"},"5.9.0":{"name":"rambda","scripts":{"test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.9.0","dependencies":{},"devDependencies":{"@babel/core":"7.10.3","@babel/plugin-proposal-object-rest-spread":"7.10.3","@babel/preset-env":"7.10.3","@types/jest":"25.2.3","@types/ramda":"0.27.6","cross-env":"7.0.2","dtslint":"3.6.12","helpers-fn":"0.4.1","is-ci":"2.0.0","fs-extra":"9.0.0","jest":"26.0.1","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.15","maided":"0.1.3","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.18.0","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.12.0","typescript":"4.0.0-dev.20200705"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"05d3536b316ea68c951608ca1a832b2c2adbfa6a","_id":"rambda@5.9.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"559c402d64be44836ab2efc44865ba7c58713013","size":197355,"noattachment":false,"key":"/rambda/-/rambda-5.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.9.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.9.0_1593961888987_0.2531910574079157"},"_hasShrinkwrap":false,"publish_time":1593961889146,"_cnpm_publish_time":1593961889146,"_cnpmcore_publish_time":"2021-12-16T14:19:51.719Z"},"5.8.0":{"name":"rambda","scripts":{"test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.8.0","dependencies":{},"devDependencies":{"@babel/core":"7.10.2","@babel/plugin-proposal-object-rest-spread":"7.10.1","@babel/preset-env":"7.10.2","@types/jest":"25.2.3","@types/ramda":"0.27.6","cross-env":"7.0.2","dtslint":"3.6.4","helpers-fn":"0.4.0","is-ci":"2.0.0","fs-extra":"9.0.0","jest":"26.0.1","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.15","maided":"0.1.3","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.10.9","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","typescript":"3.9.3"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"commitLabels":["rambdax"],"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"726c5ed5eb7463225aad5b0aab67d8ef3aeebcf8","_id":"rambda@5.8.0","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"shasum":"41b6ec4c9ab57a1f09c91bc75357136c22dccffd","size":194687,"noattachment":false,"key":"/rambda/-/rambda-5.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.8.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.8.0_1592661103521_0.4655946274599203"},"_hasShrinkwrap":false,"publish_time":1592661103711,"_cnpm_publish_time":1592661103711,"_cnpmcore_publish_time":"2021-12-16T14:19:52.276Z"},"5.7.0":{"name":"rambda","scripts":{"test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.7.0","dependencies":{},"devDependencies":{"@babel/core":"7.10.2","@babel/plugin-proposal-object-rest-spread":"7.10.1","@babel/preset-env":"7.10.2","@types/jest":"25.2.3","@types/ramda":"0.27.6","cross-env":"7.0.2","dtslint":"3.6.4","helpers-fn":"0.4.0","is-ci":"2.0.0","fs-extra":"9.0.0","jest":"26.0.1","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.15","maided":"0.1.3","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.10.9","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","typescript":"3.9.3"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"b24f129a109415d048a12690dea9f3f6354def81","_id":"rambda@5.7.0","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"shasum":"1c051e2659549f9bcb1679ec3e84c106a4c010c7","size":184596,"noattachment":false,"key":"/rambda/-/rambda-5.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.7.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.7.0_1592250999808_0.5190443266080542"},"_hasShrinkwrap":false,"publish_time":1592250999933,"_cnpm_publish_time":1592250999933,"_cnpmcore_publish_time":"2021-12-16T14:19:53.250Z"},"5.6.3":{"name":"rambda","scripts":{"test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.6.3","dependencies":{},"devDependencies":{"@babel/core":"7.10.2","@babel/plugin-proposal-object-rest-spread":"7.10.1","@babel/preset-env":"7.10.2","@types/jest":"25.2.3","@types/ramda":"0.27.6","cross-env":"7.0.2","dtslint":"3.6.4","helpers-fn":"0.4.0","is-ci":"2.0.0","fs-extra":"9.0.0","jest":"26.0.1","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.15","maided":"0.1.3","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.10.9","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","typescript":"3.9.3"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight and faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"fc29ab510d50915552ea48ce3ba4266e23793f6e","_id":"rambda@5.6.3","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"shasum":"46e1e23c59c3238c4f11bdcc02a5d57aeda760f3","size":184541,"noattachment":false,"key":"/rambda/-/rambda-5.6.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.6.3.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.6.3_1592229037787_0.47245108673232217"},"_hasShrinkwrap":false,"publish_time":1592229038074,"_cnpm_publish_time":1592229038074,"_cnpmcore_publish_time":"2021-12-16T14:19:53.997Z"},"5.6.2":{"name":"rambda","scripts":{"prove":"jest source --json","test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.6.2","dependencies":{},"devDependencies":{"@babel/core":"7.10.2","@babel/plugin-proposal-object-rest-spread":"7.10.1","@babel/preset-env":"7.10.2","@types/jest":"25.2.3","@types/ramda":"0.27.6","cross-env":"7.0.2","dtslint":"3.6.4","helpers-fn":"0.3.3","is-ci":"2.0.0","fs-extra":"9.0.0","jest":"26.0.1","jest-extended":"0.11.5","lint-fn":"2.8.1","lodash":"4.17.15","maided":"0.1.3","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.10.9","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","typescript":"3.9.3"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"21fc9a997a607b207107ff59b5a207440cfb94f0","_id":"rambda@5.6.2","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"shasum":"a746108da2e6fee3b1df25d1e82972f8221887b3","size":185077,"noattachment":false,"key":"/rambda/-/rambda-5.6.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.6.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.6.2_1591690201022_0.41474281048349204"},"_hasShrinkwrap":false,"publish_time":1591690201208,"_cnpm_publish_time":1591690201208,"_cnpmcore_publish_time":"2021-12-16T14:19:54.641Z"},"5.6.1":{"name":"rambda","scripts":{"prove":"jest source --json","test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","benchmark":"maided benchmark","benchmarkx":"maided benchmarkx","toolbelt":"maided toolbelt","build":"maided build","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.6.1","dependencies":{},"devDependencies":{"@babel/core":"7.9.6","@babel/plugin-proposal-object-rest-spread":"7.9.6","@babel/preset-env":"7.9.6","@types/jest":"25.2.3","@types/ramda":"0.27.6","cross-env":"7.0.2","dtslint":"3.6.4","helpers-fn":"0.3.3","is-ci":"2.0.0","fs-extra":"9.0.0","jest":"26.0.1","jest-extended":"0.11.5","lint-fn":"2.8.0","lodash":"4.17.15","maided":"0.1.3","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.10.9","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","typescript":"3.9.3"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"e67d3c854d96d879b0763263dd4f5125face394c","_id":"rambda@5.6.1","_nodeVersion":"13.12.0","_npmVersion":"6.14.4","dist":{"shasum":"3fdba52bf88db2895b40027aea1ecf62c9fb3164","size":184905,"noattachment":false,"key":"/rambda/-/rambda-5.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.6.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.6.1_1591300310763_0.06479987227473072"},"_hasShrinkwrap":false,"publish_time":1591300310995,"_cnpm_publish_time":1591300310995,"_cnpmcore_publish_time":"2021-12-16T14:19:55.158Z"},"5.6.0":{"name":"rambda","scripts":{"prove":"jest source --json","test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","build":"yarn build:main&&yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.6.0","dependencies":{},"devDependencies":{"@babel/core":"7.9.6","@babel/plugin-proposal-object-rest-spread":"7.9.6","@babel/preset-env":"7.9.6","@types/jest":"25.2.3","@types/ramda":"0.27.6","cross-env":"7.0.2","dtslint":"3.6.4","helpers-fn":"0.3.3","is-ci":"2.0.0","fs-extra":"9.0.0","jest":"26.0.1","jest-extended":"0.11.5","lint-fn":"2.8.0","lodash":"4.17.15","maided":"0.1.3","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.10.9","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","typescript":"3.9.3"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"972491ec9693bf6659f5d42076190475435f8e81","_id":"rambda@5.6.0","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"shasum":"124146f60af86de336bdc6eaf0ffdc4f2d8517b9","size":165636,"noattachment":false,"key":"/rambda/-/rambda-5.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.6.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.6.0_1590862084940_0.5407267955781396"},"_hasShrinkwrap":false,"publish_time":1590862085176,"_cnpm_publish_time":1590862085176,"_cnpmcore_publish_time":"2021-12-16T14:19:55.920Z"},"5.5.0":{"name":"rambda","scripts":{"prove":"jest source --json","test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","build":"yarn build:main&&yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.5.0","dependencies":{},"devDependencies":{"@babel/core":"7.9.6","@babel/plugin-proposal-object-rest-spread":"7.9.6","@babel/preset-env":"7.9.6","@types/jest":"25.2.3","@types/ramda":"0.27.6","cross-env":"7.0.2","dtslint":"3.6.4","helpers-fn":"0.3.3","is-ci":"2.0.0","fs-extra":"9.0.0","jest":"26.0.1","jest-extended":"0.11.5","lint-fn":"2.8.0","lodash":"4.17.15","maided":"0.1.3","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.10.9","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","typescript":"3.9.3"},"jest":{"testEnvironment":"node","testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"d864ee81dd989a423c2a3add0d7460c762cf3b68","_id":"rambda@5.5.0","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"shasum":"1d1f354c105b23cbd43df6cf84397ef4dbfa8ddb","size":165434,"noattachment":false,"key":"/rambda/-/rambda-5.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.5.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.5.0_1590842062708_0.94522093142908"},"_hasShrinkwrap":false,"publish_time":1590842062952,"_cnpm_publish_time":1590842062952,"_cnpmcore_publish_time":"2021-12-16T14:19:56.884Z"},"5.4.3":{"name":"rambda","scripts":{"prove":"jest source --json","test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","build":"yarn build:main&&yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.4.3","dependencies":{"fs-extra":"^9.0.0"},"devDependencies":{"@babel/core":"7.9.6","@babel/plugin-proposal-object-rest-spread":"7.9.6","@babel/preset-env":"7.9.6","@types/jest":"25.2.3","@types/ramda":"0.27.6","cross-env":"7.0.2","dtslint":"3.6.4","helpers-fn":"0.3.3","is-ci":"2.0.0","jest":"26.0.1","jest-extended":"0.11.5","lint-fn":"2.8.0","lodash":"4.17.15","maided":"0.1.3","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.10.9","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","typescript":"3.9.3"},"jest":{"testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"b43ca1353b56e57b8e08bcbb432c8299c5496539","_id":"rambda@5.4.3","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"shasum":"604ff9e2c61926d0c11014e702d43c961400ae9f","size":163372,"noattachment":false,"key":"/rambda/-/rambda-5.4.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.4.3.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.4.3_1590669047724_0.5864456626284056"},"_hasShrinkwrap":false,"publish_time":1590669047900,"_cnpm_publish_time":1590669047900,"_cnpmcore_publish_time":"2021-12-16T14:19:57.465Z"},"5.4.2":{"name":"rambda","scripts":{"prove":"jest source --json","test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","build":"yarn build:main&&yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.4.2","dependencies":{"fs-extra":"^9.0.0"},"devDependencies":{"@babel/core":"7.9.6","@babel/plugin-proposal-object-rest-spread":"7.9.6","@babel/preset-env":"7.9.6","@types/jest":"25.2.3","@types/ramda":"0.27.6","cross-env":"7.0.2","dtslint":"3.6.4","helpers-fn":"0.3.3","is-ci":"2.0.0","jest":"26.0.1","jest-extended":"0.11.5","lint-fn":"2.8.0","lodash":"4.17.15","maided":"0.1.3","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.10.9","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","typescript":"3.9.3"},"jest":{"testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"07de54572839c19e01f7c34373ef68c493b767a1","_id":"rambda@5.4.2","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"shasum":"c10753177015d4ffa4bcfcefbc538e107e99b47b","size":162929,"noattachment":false,"key":"/rambda/-/rambda-5.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.4.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.4.2_1590653343945_0.09480568395275424"},"_hasShrinkwrap":false,"publish_time":1590653344223,"_cnpm_publish_time":1590653344223,"_cnpmcore_publish_time":"2021-12-16T14:19:58.245Z"},"5.4.1":{"name":"rambda","scripts":{"prove":"jest source --json","test":"jest source --bail=true","cover:spec":"jest source --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec","out":"maided out","build":"yarn build:main&&yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.4.1","dependencies":{"fs-extra":"^9.0.0"},"devDependencies":{"@babel/core":"7.9.6","@babel/plugin-proposal-object-rest-spread":"7.9.5","@babel/preset-env":"7.9.0","@types/jest":"25.2.1","@types/ramda":"0.27.6","cross-env":"7.0.2","dayjs":"^1.8.26","dtslint":"3.5.2","fdir":"2.1.1","helpers-fn":"0.2.0","is-ci":"2.0.0","jest":"26.0.1","jest-extended":"0.11.5","lint-fn":"2.4.2","lodash":"4.17.15","maided":"0.1.3","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.9.1","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"4.0.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","typescript":"3.9.3"},"jest":{"testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","commitMessage":{"support":["script","build","prepublish","lint","typings","benchmark","refactor"],"feature":["method","script"],"test":["typings","fix"],"fix":["small","dep","scripts","docs"],"workInProgress":""},"gitHead":"8fa725db9a23fd0fabe8e6a9855d387e738fde6a","_id":"rambda@5.4.1","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"shasum":"d657b3fdd971ed6263a7cff12212bbf9abbfe8f4","size":162368,"noattachment":false,"key":"/rambda/-/rambda-5.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.4.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.4.1_1590078417510_0.968005462145507"},"_hasShrinkwrap":false,"publish_time":1590078417851,"_cnpm_publish_time":1590078417851,"_cnpmcore_publish_time":"2021-12-16T14:19:59.002Z"},"5.4.0":{"name":"rambda","scripts":{"dev":"jest source/mapAsyncLimit.spec.js","prove":"jest source --json","test":"jest source --bail=true","out":"maided out","build":"yarn build:main&&yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.4.0","dependencies":{"fs-extra":"^9.0.0"},"devDependencies":{"@babel/core":"7.9.6","@babel/plugin-proposal-object-rest-spread":"7.9.5","@babel/preset-env":"7.9.0","@types/jest":"25.2.1","@types/ramda":"0.27.0","cross-env":"7.0.2","dayjs":"^1.8.26","dtslint":"3.5.2","fdir":"2.1.1","helpers-fn":"0.2.0","is-ci":"2.0.0","jest":"25.5.4","jest-extended":"0.11.5","lint-fn":"2.4.2","lodash":"4.17.15","maided":"0.1.2","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.9.1","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","tslint":"6.1.0","typescript":"3.8.3","typescript-formatter":"7.2.2"},"jest":{"testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","commitMessage":{"support":["script","build","prepublish","lint","typings","benchmark","refactor"],"feature":["method","script"],"test":["typings","fix"],"fix":["small","dep"],"workInProgress":""},"gitHead":"d41b3f99907fb3625bef396e5fc37b223fd85359","_id":"rambda@5.4.0","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"shasum":"a31e8fa31080fdbd323cfbef4bf82e45ee156f03","size":157248,"noattachment":false,"key":"/rambda/-/rambda-5.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.4.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.4.0_1589405854780_0.6967032192368161"},"_hasShrinkwrap":false,"publish_time":1589405854979,"_cnpm_publish_time":1589405854979,"_cnpmcore_publish_time":"2021-12-16T14:19:59.570Z"},"5.3.0":{"name":"rambda","scripts":{"dev":"jest source/mapAsyncLimit.spec.js","prove":"jest source --json","test":"jest source --bail=true","out":"maided out","build":"yarn build:main&&yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.3.0","dependencies":{"fs-extra":"^9.0.0"},"devDependencies":{"@babel/core":"7.9.6","@babel/plugin-proposal-object-rest-spread":"7.9.5","@babel/preset-env":"7.9.0","@types/jest":"25.2.1","@types/ramda":"0.27.0","cross-env":"7.0.2","dayjs":"^1.8.26","dtslint":"3.5.2","fdir":"2.1.1","helpers-fn":"0.2.0","is-ci":"2.0.0","jest":"25.5.4","jest-extended":"0.11.5","lint-fn":"2.4.2","lodash":"4.17.15","maided":"0.1.2","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.9.1","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","tslint":"6.1.0","typescript":"3.8.3","typescript-formatter":"7.2.2"},"jest":{"testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","commitMessage":{"support":["script","build","prepublish","lint","typings","benchmark","refactor"],"feature":["method","script"],"test":["typings","fix"],"fix":["small","dep"],"workInProgress":""},"gitHead":"b9ac1b29bf16166f59b969c00c6b9e341e31ffa5","_id":"rambda@5.3.0","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"shasum":"3925325fb1547f53f91849996aa7d49616c6a9ad","size":156453,"noattachment":false,"key":"/rambda/-/rambda-5.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.3.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.3.0_1589403157463_0.023405336836362922"},"_hasShrinkwrap":false,"publish_time":1589403157607,"_cnpm_publish_time":1589403157607,"_cnpmcore_publish_time":"2021-12-16T14:20:00.222Z"},"5.2.1":{"name":"rambda","scripts":{"dev":"jest source/mapAsyncLimit.spec.js","prove":"jest source --json","cover":"jest source --bail=true","out":"maided out","build":"yarn build:main&&yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.2.1","dependencies":{"fs-extra":"^9.0.0"},"devDependencies":{"@babel/core":"7.9.6","@babel/plugin-proposal-object-rest-spread":"7.9.5","@babel/preset-env":"7.9.0","@types/jest":"25.2.1","@types/ramda":"0.27.0","cross-env":"7.0.2","dayjs":"^1.8.26","dtslint":"3.5.2","fdir":"2.1.1","helpers-fn":"0.2.0","is-ci":"^2.0.0","jest":"24.8.0","jest-extended":"0.11.5","lint-fn":"2.4.2","lodash":"4.17.15","maided":"0.1.2","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.9.1","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","tslint":"6.1.0","typescript":"3.8.3","typescript-formatter":"7.2.2"},"jest":{"testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","commitMessage":{"support":["script","build","prepublish","lint","typings","benchmark","refactor"],"feature":["method","script"],"test":["typings","fix"],"fix":["small","dep"],"workInProgress":""},"gitHead":"f39056a3965e7bd2cab44a7d6bf10cb33ef20ca7","_id":"rambda@5.2.1","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"shasum":"fea06a50ce976e1c8c95b21486e4bb0d02c06b10","size":150527,"noattachment":false,"key":"/rambda/-/rambda-5.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.2.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.2.1_1589318088478_0.13937260608687652"},"_hasShrinkwrap":false,"publish_time":1589318088696,"_cnpm_publish_time":1589318088696,"_cnpmcore_publish_time":"2021-12-16T14:20:00.753Z"},"5.2.0":{"name":"rambda","scripts":{"dev":"jest source/mapAsyncLimit.spec.js","prove":"jest source --json","cover":"jest source --bail=true","out":"maided out","build":"yarn build:main&&yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","lint":"maided lint","readme":"maided readme","docs":"docsify init ./docs","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source","fix":"mkdir $HOME/.dts/perf -p"},"typings":"./index.d.ts","main":"./dist/rambda.js","version":"5.2.0","dependencies":{"fs-extra":"^9.0.0"},"devDependencies":{"@babel/core":"7.9.6","@babel/plugin-proposal-object-rest-spread":"7.9.5","@babel/preset-env":"7.9.0","@types/jest":"25.2.1","@types/ramda":"0.27.0","cross-env":"7.0.2","dayjs":"^1.8.26","dtslint":"3.5.2","fdir":"2.1.1","helpers-fn":"0.2.0","is-ci":"^2.0.0","jest":"24.8.0","jest-extended":"0.11.5","lint-fn":"2.4.2","lodash":"4.17.15","maided":"0.1.2","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.9.1","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.6.2","string-fn":"2.11.1","tslint":"6.1.0","typescript":"3.8.3","typescript-formatter":"7.2.2"},"jest":{"testRegex":".*\\.spec\\.js$","setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["source/*.js","!_internals","!benchmarks"]},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"license":"MIT","author":{"name":"self_refactor"},"description":"Lightweight faster alternative to Ramda","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","sideEffects":false,"keywords":["ramda","fp","functional","utility","lodash"],"bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","commitMessage":{"support":["script","build","prepublish","lint","typings","benchmark","refactor"],"feature":["method","script"],"test":["typings","fix"],"fix":["small","dep"],"workInProgress":""},"gitHead":"ececa705118dbafb7dc00ad7ea3fc9d414cd1de9","_id":"rambda@5.2.0","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"shasum":"82fade0d1ee925291c6885b0bbd04b5ff4109220","size":150709,"noattachment":false,"key":"/rambda/-/rambda-5.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.2.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.2.0_1589309579541_0.04965806981692533"},"_hasShrinkwrap":false,"publish_time":1589309579672,"_cnpm_publish_time":1589309579672,"_cnpmcore_publish_time":"2021-12-16T14:20:02.154Z"},"5.1.1":{"name":"rambda","version":"5.1.1","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"tslint:tslint":"tslint --fix index.d.ts","tslint:tsformat":"tsfmt -r index.d.ts","tslint":"yarn tslint:tslint&&yarn tslint:tsformat","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/indexProve.js","benchmark":"node benchmarks/indexProve.js","bench":"node benchmarks/indexProve.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.9.0","@babel/plugin-proposal-object-rest-spread":"7.9.5","@babel/preset-env":"7.9.5","@types/jest":"25.1.4","@types/ramda":"0.27.0","babel-jest":"25.3.0","cross-env":"7.0.2","dtslint":"3.4.1","helpers-fn":"0.1.1","jest":"25.3.0","jest-extended":"0.11.5","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.6.1","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.5.0","string-fn":"2.11.1","tslint":"6.1.0","typescript":"3.8.3","typescript-formatter":"7.2.2"},"dependencies":{},"jest":{"setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["src/*.js","!internal"]},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script","benchmark"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog","important","important","fix"],"test":["typings","fix"],"fix":["small"]},"gitHead":"ce755cfe2010f5142ef5526c23d2a9153dfad999","_id":"rambda@5.1.1","_nodeVersion":"13.12.0","_npmVersion":"6.14.4","dist":{"shasum":"e6c53d65fc060f94bcda951c0b0d8fee6096a73d","size":156221,"noattachment":false,"key":"/rambda/-/rambda-5.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.1.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.1.1_1587492321474_0.7621199439889492"},"_hasShrinkwrap":false,"publish_time":1587492321801,"_cnpm_publish_time":1587492321801,"_cnpmcore_publish_time":"2021-12-16T14:20:02.785Z"},"5.1.0":{"name":"rambda","version":"5.1.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"tslint:tslint":"tslint --fix index.d.ts","tslint:tsformat":"tsfmt -r index.d.ts","tslint":"yarn tslint:tslint&&yarn tslint:tsformat","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/indexProve.js","benchmark":"node benchmarks/indexProve.js","bench":"node benchmarks/indexProve.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.9.0","@babel/plugin-proposal-object-rest-spread":"7.9.0","@babel/preset-env":"7.9.0","@types/jest":"25.1.4","@types/ramda":"0.27.0","babel-jest":"25.2.0","cross-env":"7.0.2","dtslint":"3.4.0","helpers-fn":"0.1.1","jest":"25.2.0","jest-extended":"0.11.5","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"3.7.0","ramda":"0.27.0","rollup":"2.2.0","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.5.0","string-fn":"2.11.0","tslint":"6.1.0","typescript":"3.8.3","typescript-formatter":"7.2.2"},"dependencies":{},"jest":{"setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["src/*.js","!internal"]},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script","benchmark"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog","important","important","fix"],"test":["typings","fix"],"fix":["small"]},"gitHead":"8ef52b66970bc6bdada908dfb81c967b35c503b2","_id":"rambda@5.1.0","_nodeVersion":"13.12.0","_npmVersion":"6.14.4","dist":{"shasum":"bb8d37f4ad48eb420edf937f21beb18a18f65b2a","size":156157,"noattachment":false,"key":"/rambda/-/rambda-5.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.1.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.1.0_1586192193023_0.7790093847429329"},"_hasShrinkwrap":false,"publish_time":1586192193216,"_cnpm_publish_time":1586192193216,"_cnpmcore_publish_time":"2021-12-16T14:20:03.446Z"},"5.0.0":{"name":"rambda","version":"5.0.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"tslint:tslint":"tslint --fix index.d.ts","tslint:tsformat":"tsfmt -r index.d.ts","tslint":"yarn tslint:tslint&&yarn tslint:tsformat","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/indexProve.js","benchmark":"node benchmarks/indexProve.js","bench":"node benchmarks/indexProve.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.8.7","@babel/plugin-proposal-object-rest-spread":"7.8.3","@babel/preset-env":"7.8.7","@types/jest":"25.1.4","@types/ramda":"0.26.42","babel-jest":"24.9.0","cross-env":"7.0.2","dtslint":"3.3.0","helpers":"git+https://github.com/selfrefactor/helpers.git#2.4.0","jest":"24.9.0","jest-extended":"0.11.5","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"3.5.0","ramda":"0.27.0","rollup":"2.0.6","rollup-plugin-babel":"4.4.0","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.5.0","string-fn":"2.10.2","tslint":"6.1.0","typescript":"3.8.3","typescript-formatter":"7.2.2"},"dependencies":{},"jest":{"setupFilesAfterEnv":["jest-extended"],"collectCoverageFrom":["src/*.js","!internal"]},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script","benchmark"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog","important","important","fix"],"test":["typings","fix"],"fix":["small"]},"gitHead":"d5b1d38e92a22d0d5d4640a50e82537b4582d0db","_id":"rambda@5.0.0","_nodeVersion":"13.10.1","_npmVersion":"6.13.7","dist":{"shasum":"81e8207cd070f06d149b1f6d364d0a09440ff5f4","size":152650,"noattachment":false,"key":"/rambda/-/rambda-5.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-5.0.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_5.0.0_1584185514181_0.2171435504761985"},"_hasShrinkwrap":false,"publish_time":1584185514493,"_cnpm_publish_time":1584185514493,"_cnpmcore_publish_time":"2021-12-16T14:20:04.598Z"},"4.6.0":{"name":"rambda","version":"4.6.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"tslint:tslint":"tslint --fix index.d.ts","tslint:tsformat":"tsfmt -r index.d.ts","tslint":"yarn tslint:tslint&&yarn tslint:tsformat","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"cross-env NODE_ENV=build rollup -c files/rollup.config.js","build:web":"cross-env NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/indexProve.js","benchmark":"node benchmarks/indexProve.js","bench":"node benchmarks/indexProve.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.8.6","@babel/plugin-proposal-object-rest-spread":"7.8.3","@babel/preset-env":"7.8.6","@types/jest":"25.1.2","@types/ramda":"0.26.42","babel-jest":"24.9.0","cross-env":"7.0.0","dtslint":"3.1.0","helpers":"git+https://github.com/selfrefactor/helpers.git#2.4.0","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"3.5.0","ramda":"0.27.0","rollup":"1.31.1","string-fn":"2.10.2","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.5.0","tslint":"5.20.1","typescript-formatter":"7.2.2","typescript":"3.7.5"},"dependencies":{},"jest":{"collectCoverageFrom":["src/*.js","!internal"]},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script","benchmark"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog","important","important"],"test":["typings","fix"],"fix":["small"]},"gitHead":"0691bc12e8d5bfb30c8358fc3587d07f5db15e50","_id":"rambda@4.6.0","_nodeVersion":"13.7.0","_npmVersion":"6.13.6","dist":{"shasum":"79a47911329c91ad6094a0425a2980ec19e6ba72","size":153644,"noattachment":false,"key":"/rambda/-/rambda-4.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-4.6.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_4.6.0_1583091609691_0.1967252240913464"},"_hasShrinkwrap":false,"publish_time":1583091609994,"_cnpm_publish_time":1583091609994,"_cnpmcore_publish_time":"2021-12-16T14:20:05.296Z"},"4.5.0":{"name":"rambda","version":"4.5.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"tslint:tslint":"tslint --fix index.d.ts","tslint:tsformat":"tsfmt -r index.d.ts","tslint":"yarn tslint:tslint&&yarn tslint:tsformat","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/indexProve.js","benchmark":"node benchmarks/indexProve.js","bench":"node benchmarks/indexProve.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.8.4","@babel/plugin-proposal-object-rest-spread":"7.8.3","@babel/preset-env":"7.8.4","@types/jest":"25.1.0","@types/ramda":"0.26.40","babel-jest":"24.9.0","dtslint":"2.0.5","helpers":"git+https://github.com/selfrefactor/helpers.git#2.4.0","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"3.5.0","ramda":"0.26.1","rollup":"1.31.0","string-fn":"2.10.2","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.5.0","tslint":"5.20.1","typescript-formatter":"7.2.2","typescript":"3.7.5"},"dependencies":{},"jest":{"collectCoverageFrom":["src/*.js","!internal"]},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script","benchmark"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog","important","important"],"test":["typings","fix"],"fix":["small"]},"gitHead":"b8738415ae417d6c21e90cf9e4a4aaa4d50b9794","_id":"rambda@4.5.0","_nodeVersion":"13.7.0","_npmVersion":"6.13.6","dist":{"shasum":"2f01a4387f73f87fd6fc16667e270b80cc1c6d6d","size":142356,"noattachment":false,"key":"/rambda/-/rambda-4.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-4.5.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_4.5.0_1580554594292_0.49841671193609116"},"_hasShrinkwrap":false,"publish_time":1580554594488,"_cnpm_publish_time":1580554594488,"_cnpmcore_publish_time":"2021-12-16T14:20:06.190Z"},"4.4.0":{"name":"rambda","version":"4.4.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"tslint:tslint":"tslint --fix index.d.ts","tslint:tsformat":"tsfmt -r index.d.ts","tslint":"yarn tslint:tslint&&yarn tslint:tsformat","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/indexProve.js","benchmark":"node benchmarks/indexProve.js","bench":"node benchmarks/indexProve.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.7.4","@babel/plugin-proposal-object-rest-spread":"7.7.4","@babel/preset-env":"7.7.4","@types/jest":"24.0.23","@types/ramda":"0.26.36","babel-jest":"24.9.0","docsify-cli":"4.4.0","dtslint":"2.0.2","helpers":"git+https://github.com/selfrefactor/helpers.git#2.2.1","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"3.3.1","ramda":"0.26.1","rollup":"1.27.4","string-fn":"2.10.2","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2","tslint":"5.20.1","typescript-formatter":"7.2.2","typescript":"3.7.2"},"dependencies":{},"jest":{"collectCoverageFrom":["src/*.js","!internal"]},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script","benchmark"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog","important","important"],"test":["typings","fix"],"fix":["small"]},"gitHead":"7e79af9ab8aa2243be26e6065e779c23c7af70bb","_id":"rambda@4.4.0","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"shasum":"c300335e2c0a560f0d6334c200728cd753c5cce4","size":151489,"noattachment":false,"key":"/rambda/-/rambda-4.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-4.4.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_4.4.0_1574786092976_0.43915212361891154"},"_hasShrinkwrap":false,"publish_time":1574786093174,"_cnpm_publish_time":1574786093174,"_cnpmcore_publish_time":"2021-12-16T14:20:07.002Z"},"4.3.0":{"name":"rambda","version":"4.3.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"tslint:tslint":"tslint --fix index.d.ts","tslint:tsformat":"tsfmt -r index.d.ts","tslint":"yarn tslint:tslint&&yarn tslint:tsformat","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/indexProve.js","benchmark":"node benchmarks/indexProve.js","bench":"node benchmarks/indexProve.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.7.4","@babel/plugin-proposal-object-rest-spread":"7.7.4","@babel/preset-env":"7.7.4","@types/jest":"24.0.23","@types/ramda":"0.26.36","babel-jest":"24.9.0","docsify-cli":"4.4.0","dtslint":"2.0.2","helpers":"git+https://github.com/selfrefactor/helpers.git#2.2.1","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"3.3.1","ramda":"0.26.1","rollup":"1.27.4","string-fn":"2.10.2","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2","tslint":"5.20.1","typescript-formatter":"7.2.2","typescript":"3.7.2"},"dependencies":{},"jest":{"collectCoverageFrom":["src/*.js","!internal"]},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script","benchmark"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog","important","important"],"test":["typings","fix"],"fix":["small"]},"gitHead":"216e2668a7a04aa00f082865e9d64692202ed9a9","_id":"rambda@4.3.0","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"shasum":"9507862147ea5e42e82b6f838046bc2a89b24d50","size":151490,"noattachment":false,"key":"/rambda/-/rambda-4.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-4.3.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_4.3.0_1574785731393_0.6635016913341931"},"_hasShrinkwrap":false,"publish_time":1574785731629,"_cnpm_publish_time":1574785731629,"_cnpmcore_publish_time":"2021-12-16T14:20:07.749Z"},"4.2.0":{"name":"rambda","version":"4.2.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"tslint:tslint":"tslint --fix index.d.ts","tslint:tsformat":"tsfmt -r index.d.ts","tslint":"yarn tslint:tslint&&yarn tslint:tsformat","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/indexProve.js","benchmark":"node benchmarks/indexProve.js","bench":"node benchmarks/indexProve.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.7.2","@babel/plugin-proposal-object-rest-spread":"7.6.2","@babel/preset-env":"7.7.1","@types/jest":"24.0.23","@types/ramda":"0.26.34","babel-jest":"24.9.0","docsify-cli":"4.3.0","dtslint":"2.0.2","helpers":"git+https://github.com/selfrefactor/helpers.git#2.2.0","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"3.3.1","ramda":"0.26.1","rollup":"1.27.2","string-fn":"2.10.2","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2","tslint":"5.20.1","typescript-formatter":"7.2.2","typescript":"3.7.2"},"dependencies":{},"jest":{"collectCoverageFrom":["src/*.js","!internal"]},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script","benchmark"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog","important","important"],"test":["typings","fix"],"fix":["small"]},"gitHead":"3321926d6a5b7198857dd939bf27568212529a3e","_id":"rambda@4.2.0","_nodeVersion":"13.1.0","_npmVersion":"6.12.1","dist":{"shasum":"840f2e48366cfd5aa157393de47c67abd8117794","size":153832,"noattachment":false,"key":"/rambda/-/rambda-4.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-4.2.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_4.2.0_1574374350060_0.17716143235132153"},"_hasShrinkwrap":false,"publish_time":1574374350357,"_cnpm_publish_time":1574374350357,"_cnpmcore_publish_time":"2021-12-16T14:20:09.101Z"},"4.1.0":{"name":"rambda","version":"4.1.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"tslint:tslint":"tslint --fix index.d.ts","tslint:tsformat":"tsfmt -r index.d.ts","tslint":"yarn tslint:tslint&&yarn tslint:tsformat","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/indexProve.js","benchmark":"node benchmarks/indexProve.js","bench":"node benchmarks/indexProve.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.6.4","@babel/plugin-proposal-object-rest-spread":"7.6.2","@babel/preset-env":"7.6.3","@types/jest":"24.0.22","@types/ramda":"0.26.33","babel-jest":"24.9.0","docsify-cli":"4.3.0","dtslint":"2.0.0","helpers":"git+https://github.com/selfrefactor/helpers.git#2.0.1","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"3.1.0","ramda":"0.26.1","rollup":"1.26.5","string-fn":"2.10.2","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2","tslint":"5.20.0","typescript-formatter":"7.2.2","typescript":"3.7.2"},"dependencies":{},"jest":{"collectCoverageFrom":["src/*.js","!internal"]},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script","benchmark"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog","important"],"test":["typings","fix"],"fix":["small"]},"gitHead":"b7c78662bd80f134e312e3184630794cc6f1bef2","_id":"rambda@4.1.0","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"shasum":"ca8d1a09f5cceed5ec4e971da0e56a372e88674a","size":153427,"noattachment":false,"key":"/rambda/-/rambda-4.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-4.1.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_4.1.0_1573478955652_0.7051462662822932"},"_hasShrinkwrap":false,"publish_time":1573478955802,"_cnpm_publish_time":1573478955802,"_cnpmcore_publish_time":"2021-12-16T14:20:09.577Z"},"4.0.2":{"name":"rambda","version":"4.0.2","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"tslint:tslint":"tslint --fix index.d.ts","tslint:tsformat":"tsfmt -r index.d.ts","tslint":"yarn tslint:tslint&&yarn tslint:tsformat","typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmark":"node benchmarks/index.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.6.4","@babel/plugin-proposal-object-rest-spread":"7.6.2","@babel/preset-env":"7.6.3","@types/jest":"24.0.21","@types/ramda":"0.26.33","babel-jest":"24.9.0","docsify-cli":"4.3.0","dtslint":"1.0.2","helpers":"git+https://github.com/selfrefactor/helpers.git#2.0.0","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.17.0","ramda":"0.26.1","rollup":"1.26.2","string-fn":"2.10.2","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2","tslint":"5.20.0","typescript-formatter":"7.2.2","typescript":"3.6.4"},"dependencies":{},"jest":{"collectCoverageFrom":["src/*.js","!internal"]},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script","benchmark"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog","important"],"test":["typings","fix"],"fix":["small"]},"gitHead":"903abefc3f8e420543e8bf7b48ce3889bf62bd9f","_id":"rambda@4.0.2","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"shasum":"2369c8e30c882f5c12cf4c6c033072e3c05c6be7","size":151921,"noattachment":false,"key":"/rambda/-/rambda-4.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-4.0.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_4.0.2_1572692918822_0.7820949380428039"},"_hasShrinkwrap":false,"publish_time":1572692919049,"_cnpm_publish_time":1572692919049,"_cnpmcore_publish_time":"2021-12-16T14:20:10.153Z"},"4.0.1":{"name":"rambda","version":"4.0.1","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmark":"node files/benchmark.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.6.4","@babel/plugin-proposal-object-rest-spread":"7.6.2","@babel/preset-env":"7.6.3","@types/jest":"24.0.19","@types/ramda":"0.26.33","babel-jest":"24.9.0","docsify-cli":"4.3.0","dtslint":"0.9.8","helpers":"git+https://github.com/selfrefactor/helpers.git#1.8.1","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.17.0","ramda":"0.26.1","rollup":"1.26.0","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2","typescript":"3.6.4"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"test":["typings","fix"],"fix":["small"]},"gitHead":"c224300cc379858f37011163279bb7a1803aa7be","_id":"rambda@4.0.1","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"shasum":"931ef6e9ffe0f69353f9d10793581354ec2bdd16","size":149657,"noattachment":false,"key":"/rambda/-/rambda-4.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-4.0.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_4.0.1_1572365340167_0.1523042820527949"},"_hasShrinkwrap":false,"publish_time":1572365340307,"_cnpm_publish_time":1572365340307,"_cnpmcore_publish_time":"2021-12-16T14:20:11.116Z"},"4.0.0":{"name":"rambda","version":"4.0.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmark":"node files/benchmark.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.6.4","@babel/plugin-proposal-object-rest-spread":"7.6.2","@babel/preset-env":"7.6.3","@types/jest":"24.0.19","@types/ramda":"0.26.33","babel-jest":"24.9.0","docsify-cli":"4.3.0","dtslint":"0.9.8","helpers":"git+https://github.com/selfrefactor/helpers.git#1.8.1","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.17.0","ramda":"0.26.1","rollup":"1.25.0","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2","typescript":"3.6.4"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"test":["typings"]},"gitHead":"910d9ae09a561729f14ed3de72edd049b2b7064f","_id":"rambda@4.0.0","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"shasum":"cbec55869e083a611bc0e7243ce307a5381a3002","size":149599,"noattachment":false,"key":"/rambda/-/rambda-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-4.0.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_4.0.0_1572251012423_0.20479909044458688"},"_hasShrinkwrap":false,"publish_time":1572251012593,"_cnpm_publish_time":1572251012593,"_cnpmcore_publish_time":"2021-12-16T14:20:11.615Z"},"3.3.0":{"name":"rambda","version":"3.3.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmark":"node files/benchmark.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.6.4","@babel/plugin-proposal-object-rest-spread":"7.6.2","@babel/preset-env":"7.6.3","@types/jest":"24.0.19","@types/ramda":"0.26.33","babel-jest":"24.9.0","docsify-cli":"4.3.0","dtslint":"0.9.8","helpers":"git+https://github.com/selfrefactor/helpers.git#1.8.1","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.17.0","ramda":"0.26.1","rollup":"1.25.0","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2","typescript":"3.6.4"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"test":["typings"]},"gitHead":"df5ee5bbc068ce4938d84751cac02fc8b22934d9","_id":"rambda@3.3.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"shasum":"ac8cc5f979b7bc3c91e6a52895214b6f6aa2381d","size":151493,"noattachment":false,"key":"/rambda/-/rambda-3.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-3.3.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_3.3.0_1572174413100_0.3854924145452656"},"_hasShrinkwrap":false,"publish_time":1572174413312,"_cnpm_publish_time":1572174413312,"_cnpmcore_publish_time":"2021-12-16T14:20:12.218Z"},"3.2.5":{"name":"rambda","version":"3.2.5","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme/createReadme.js","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmark":"node files/benchmark.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.6.4","@babel/plugin-proposal-object-rest-spread":"7.6.2","@babel/preset-env":"7.6.3","@types/jest":"24.0.19","@types/ramda":"0.26.33","babel-jest":"24.9.0","docsify-cli":"4.3.0","dtslint":"0.9.8","helpers":"git+https://github.com/selfrefactor/helpers.git#1.8.1","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.14.1","ramda":"0.26.1","rollup":"1.25.0","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2","typescript":"3.6.4"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"reduce differences with ramda","docs":["docsify","repl","changelog"],"test":["typings"]},"gitHead":"0162c3c1a01e945d5588c98a0156f33d50ab0bd2","_id":"rambda@3.2.5","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"shasum":"903996112bf2d279a5ca7f4b7092c0f76719a58d","size":107130,"noattachment":false,"key":"/rambda/-/rambda-3.2.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-3.2.5.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_3.2.5_1571921854970_0.4171175146176296"},"_hasShrinkwrap":false,"publish_time":1571921855136,"_cnpm_publish_time":1571921855136,"_cnpmcore_publish_time":"2021-12-16T14:20:12.691Z"},"3.2.1":{"name":"rambda","version":"3.2.1","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.6.4","@babel/plugin-proposal-object-rest-spread":"7.6.2","@babel/preset-env":"7.6.3","@types/jest":"24.0.18","@types/ramda":"0.26.29","babel-jest":"24.9.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","docsify-cli":"4.3.0","dtslint":"0.9.8","helpers":"git+https://github.com/selfrefactor/helpers.git#1.7.1","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.14.1","ramda":"0.26.1","rollup":"1.23.1","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2","typescript":"3.6.4"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"test":["typings"]},"gitHead":"7ac9db3e80ae6ffaa754ced57713cba8cb5d4cc5","_id":"rambda@3.2.1","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"shasum":"63e89fe40befd8896aab0e411aa40bb9a137d1dc","size":123591,"noattachment":false,"key":"/rambda/-/rambda-3.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-3.2.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_3.2.1_1570781159417_0.3380821985632205"},"_hasShrinkwrap":false,"publish_time":1570781159585,"_cnpm_publish_time":1570781159585,"_cnpmcore_publish_time":"2021-12-16T14:20:13.112Z"},"3.2.0":{"name":"rambda","version":"3.2.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.6.2","@babel/plugin-proposal-object-rest-spread":"7.6.2","@babel/preset-env":"7.6.2","@types/jest":"24.0.18","@types/ramda":"0.26.25","babel-jest":"24.9.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","docsify-cli":"4.3.0","dtslint":"0.9.8","helpers":"git+https://github.com/selfrefactor/helpers.git#1.7.1","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.14.1","ramda":"0.26.1","rollup":"1.22.0","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2","typescript":"3.6.3"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"test":["typings"]},"gitHead":"ec73c179c5d817a940fa54e18750474ff197bbbb","_id":"rambda@3.2.0","_nodeVersion":"12.9.1","_npmVersion":"6.10.2","dist":{"shasum":"3a285933de21dcc8fa64d58042aad8ba2f186701","size":90754,"noattachment":false,"key":"/rambda/-/rambda-3.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-3.2.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_3.2.0_1569746867470_0.3758588039169031"},"_hasShrinkwrap":false,"publish_time":1569746867628,"_cnpm_publish_time":1569746867628,"_cnpmcore_publish_time":"2021-12-16T14:20:13.743Z"},"3.1.1":{"name":"rambda","version":"3.1.1","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.6.2","@babel/plugin-proposal-object-rest-spread":"7.6.2","@babel/preset-env":"7.6.2","@types/jest":"24.0.18","@types/ramda":"0.26.25","babel-jest":"24.9.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","docsify-cli":"4.3.0","dtslint":"0.9.8","helpers":"git+https://github.com/selfrefactor/helpers.git#1.7.1","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.14.1","ramda":"0.26.1","rollup":"1.22.0","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2","typescript":"3.6.3"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"test":["typings"]},"gitHead":"ed091005b92071351dfda7eb369b2b312e8754d1","_id":"rambda@3.1.1","_nodeVersion":"12.9.1","_npmVersion":"6.10.2","dist":{"shasum":"b1afc6bd3d7550c8d57d2c4e8e13a6fea1022bdd","size":90753,"noattachment":false,"key":"/rambda/-/rambda-3.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-3.1.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_3.1.1_1569746846785_0.9860718812448228"},"_hasShrinkwrap":false,"publish_time":1569746847026,"_cnpm_publish_time":1569746847026,"_cnpmcore_publish_time":"2021-12-16T14:20:14.125Z"},"3.1.0":{"name":"rambda","version":"3.1.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"typings":"dtslint --localTs ./node_modules/typescript/lib --expectOnly ./_typings_tests","fix":"mkdir $HOME/.dts/perf -p","test":"jest src","prove":"jest src --json","readme":"node files/createReadme","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover:spec":"jest src --coverage --no-cache -w 1","cover":"yarn typings&&yarn cover:spec"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.6.0","@babel/plugin-proposal-object-rest-spread":"7.5.5","@babel/preset-env":"7.6.0","@types/jest":"24.0.18","@types/ramda":"0.26.22","babel-jest":"24.9.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","docsify-cli":"4.3.0","dtslint":"0.9.8","helpers":"git+https://github.com/selfrefactor/helpers.git#1.6.0","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.14.1","ramda":"0.26.1","rollup":"1.21.4","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.1.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2","typescript":"3.6.3"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"test":["typings"]},"gitHead":"9d20b9fec500d80ca477a51d5665f565a7c65d68","_id":"rambda@3.1.0","_nodeVersion":"12.9.1","_npmVersion":"6.10.2","dist":{"shasum":"ddbb325dd3040669ef443286ec36d4c61599843b","size":89769,"noattachment":false,"key":"/rambda/-/rambda-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-3.1.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_3.1.0_1568752481120_0.6727874719562055"},"_hasShrinkwrap":false,"publish_time":1568752481335,"_cnpm_publish_time":1568752481335,"_cnpmcore_publish_time":"2021-12-16T14:20:15.128Z"},"3.0.1":{"name":"rambda","version":"3.0.1","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.5.5","@babel/plugin-proposal-object-rest-spread":"7.5.5","@babel/preset-env":"7.5.5","@types/jest":"24.0.18","babel-jest":"24.9.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","docsify-cli":"4.3.0","helpers":"git+https://github.com/selfrefactor/helpers.git#1.6.0","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.13.0","ramda":"0.26.1","rollup":"1.20.1","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.2","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"]},"gitHead":"a40586b94ebe43fb6376c920649177987aa64f28","_id":"rambda@3.0.1","_nodeVersion":"12.7.0","_npmVersion":"6.10.0","dist":{"shasum":"d35c6eba5f101510ecf98fc444164c411be6e6a3","size":87506,"noattachment":false,"key":"/rambda/-/rambda-3.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-3.0.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_3.0.1_1566504406652_0.761114779110162"},"_hasShrinkwrap":false,"publish_time":1566504406808,"_cnpm_publish_time":1566504406808,"_cnpmcore_publish_time":"2021-12-16T14:20:15.521Z"},"3.0.0":{"name":"rambda","version":"3.0.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.5.5","@babel/plugin-proposal-object-rest-spread":"7.5.5","@babel/preset-env":"7.5.5","@types/jest":"24.0.17","babel-jest":"24.9.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","docsify-cli":"4.3.0","helpers":"git+https://github.com/selfrefactor/helpers.git#1.6.0","jest":"24.9.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.13.0","ramda":"0.26.1","rollup":"1.19.4","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.2","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"]},"gitHead":"300583c35a4ae6e998250fb1b7113e4b4e62fe4e","_id":"rambda@3.0.0","_nodeVersion":"12.7.0","_npmVersion":"6.10.0","dist":{"shasum":"3a72fe5c2ec8e3fa534c0da17ae356dd0324e6eb","size":87645,"noattachment":false,"key":"/rambda/-/rambda-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-3.0.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_3.0.0_1566234697109_0.1384290413703524"},"_hasShrinkwrap":false,"publish_time":1566234697244,"_cnpm_publish_time":1566234697244,"_cnpmcore_publish_time":"2021-12-16T14:20:16.266Z"},"2.14.5":{"name":"rambda","version":"2.14.5","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.5.5","@babel/plugin-proposal-object-rest-spread":"7.5.5","@babel/preset-env":"7.5.5","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","docsify-cli":"4.3.0","helpers":"git+https://github.com/selfrefactor/helpers.git#1.5.1","jest":"24.8.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.12.3","ramda":"0.26.1","rollup":"1.19.4","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.2","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"]},"gitHead":"f3200db8d11da65d337de90215033689eae0df5b","_id":"rambda@2.14.5","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"shasum":"906cdd9b45c25883e45f4fdba15d984c79620c08","size":88368,"noattachment":false,"key":"/rambda/-/rambda-2.14.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.14.5.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.14.5_1565695754210_0.4623780308056813"},"_hasShrinkwrap":false,"publish_time":1565695754342,"_cnpm_publish_time":1565695754342,"_cnpmcore_publish_time":"2021-12-16T14:20:16.940Z"},"2.14.4":{"name":"rambda","version":"2.14.4","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.5.5","@babel/plugin-proposal-object-rest-spread":"7.5.5","@babel/preset-env":"7.5.5","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","docsify-cli":"4.3.0","helpers":"git+https://github.com/selfrefactor/helpers.git#1.5.1","jest":"24.8.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.12.3","ramda":"0.26.1","rollup":"1.19.4","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.2","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"]},"gitHead":"3ecabbcc44cad0127ef2aaf6562a0e096c8e3d93","_id":"rambda@2.14.4","_nodeVersion":"12.7.0","_npmVersion":"6.10.0","dist":{"shasum":"234afc6ec8136470ec3f49ebb047ecf1d5a6c68d","size":88372,"noattachment":false,"key":"/rambda/-/rambda-2.14.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.14.4.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.14.4_1565515123870_0.3503509776003635"},"_hasShrinkwrap":false,"publish_time":1565515124095,"_cnpm_publish_time":1565515124095,"_cnpmcore_publish_time":"2021-12-16T14:20:17.414Z"},"2.14.3":{"name":"rambda","version":"2.14.3","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.5.5","@babel/plugin-proposal-object-rest-spread":"7.5.5","@babel/preset-env":"7.5.5","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","docsify-cli":"4.3.0","helpers":"git+https://github.com/selfrefactor/helpers.git#1.5.1","jest":"24.8.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.12.3","ramda":"0.26.1","rollup":"1.19.4","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.2","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"]},"gitHead":"aac91c0bc8a007b721350a5e280c3a88e21520e8","_id":"rambda@2.14.3","_nodeVersion":"12.7.0","_npmVersion":"6.10.0","dist":{"shasum":"1e947080892dadcd8b752d55affb025dd56802e2","size":88363,"noattachment":false,"key":"/rambda/-/rambda-2.14.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.14.3.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.14.3_1565514871069_0.13687228443397803"},"_hasShrinkwrap":false,"publish_time":1565514871408,"_cnpm_publish_time":1565514871408,"_cnpmcore_publish_time":"2021-12-16T14:20:17.986Z"},"2.14.2":{"name":"rambda","version":"2.14.2","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.5.5","@babel/plugin-proposal-object-rest-spread":"7.5.5","@babel/preset-env":"7.5.5","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","docsify-cli":"4.3.0","helpers":"git+https://github.com/selfrefactor/helpers.git#1.5.1","jest":"24.8.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.12.3","ramda":"0.26.1","rollup":"1.19.4","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.2","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"]},"gitHead":"a6188472b771e7d503e62095411a2ff5b6a80010","_id":"rambda@2.14.2","_nodeVersion":"12.7.0","_npmVersion":"6.10.0","dist":{"shasum":"f61d81164ab88b148d5ad5370aafbc0f604b0521","size":88346,"noattachment":false,"key":"/rambda/-/rambda-2.14.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.14.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.14.2_1565514375940_0.737109308269696"},"_hasShrinkwrap":false,"publish_time":1565514376189,"_cnpm_publish_time":1565514376189,"_cnpmcore_publish_time":"2021-12-16T14:20:18.538Z"},"2.14.1":{"name":"rambda","version":"2.14.1","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.5.5","@babel/plugin-proposal-object-rest-spread":"7.5.5","@babel/preset-env":"7.5.5","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","docsify-cli":"4.3.0","helpers":"git+https://github.com/selfrefactor/helpers.git#1.5.1","jest":"24.8.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.12.3","ramda":"0.26.1","rollup":"1.19.4","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.2","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings","script"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"]},"gitHead":"4a420efbc23486c1e7438899fa30eb2b283631a9","_id":"rambda@2.14.1","_nodeVersion":"12.7.0","_npmVersion":"6.10.0","dist":{"shasum":"7474380cef3113e8c1cd9f2d9b0357b3dbe3aabd","size":88336,"noattachment":false,"key":"/rambda/-/rambda-2.14.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.14.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.14.1_1565382335529_0.8767739883238341"},"_hasShrinkwrap":false,"publish_time":1565382335684,"_cnpm_publish_time":1565382335684,"_cnpmcore_publish_time":"2021-12-16T14:20:18.922Z"},"2.14.0":{"name":"rambda","version":"2.14.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.5.5","@babel/plugin-proposal-object-rest-spread":"7.5.5","@babel/preset-env":"7.5.5","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","docsify-cli":"4.3.0","jest":"24.8.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.11.0","ramda":"0.26.1","rollup":"1.17.0","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.1","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"]},"gitHead":"06c81114722c8d769a813207a168c6268e779b35","_id":"rambda@2.14.0","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"shasum":"3a482770d59f2e761bd3eb5ac92c4f5311b83a13","size":85236,"noattachment":false,"key":"/rambda/-/rambda-2.14.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.14.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.14.0_1564762681068_0.9350539084054388"},"_hasShrinkwrap":false,"publish_time":1564762681198,"_cnpm_publish_time":1564762681198,"_cnpmcore_publish_time":"2021-12-16T14:20:19.336Z"},"2.13.1":{"name":"rambda","version":"2.13.1","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.5.5","@babel/plugin-proposal-object-rest-spread":"7.5.5","@babel/preset-env":"7.5.5","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","docsify-cli":"4.3.0","jest":"24.8.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.11.0","ramda":"0.26.1","rollup":"1.17.0","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.1","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"]},"gitHead":"aba133d3e8e488fc7410ad96d02368faa0427164","_id":"rambda@2.13.1","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"shasum":"893c037b28222279b9f348e7c58a5f19b387e794","size":85236,"noattachment":false,"key":"/rambda/-/rambda-2.13.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.13.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.13.1_1564762665930_0.9175219600647155"},"_hasShrinkwrap":false,"publish_time":1564762666087,"_cnpm_publish_time":1564762666087,"_cnpmcore_publish_time":"2021-12-16T14:20:19.780Z"},"2.13.0":{"name":"rambda","version":"2.13.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.5.5","@babel/plugin-proposal-object-rest-spread":"7.5.5","@babel/preset-env":"7.5.5","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","cheerio":"1.0.0-rc.3","docsify-cli":"4.3.0","jest":"24.8.0","lodash":"4.17.15","markdown-toc":"1.2.0","rambdax":"2.11.0","ramda":"0.26.1","request":"2.88.0","request-promise":"4.2.4","rollup":"1.17.0","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.1","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings"],"feature":["method"],"workInProgress":"group with","docs":["docsify","repl","changelog"]},"gitHead":"95dc2146dc075d62fe11ed96482529c5237f7298","_id":"rambda@2.13.0","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"shasum":"e62f1d43096c2a2c76b5ab2f4db5220a7db59deb","size":82034,"noattachment":false,"key":"/rambda/-/rambda-2.13.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.13.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.13.0_1563960310480_0.34229565482146773"},"_hasShrinkwrap":false,"publish_time":1563960310604,"_cnpm_publish_time":1563960310604,"_cnpmcore_publish_time":"2021-12-16T14:20:20.197Z"},"2.12.0":{"name":"rambda","version":"2.12.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.5.4","@babel/plugin-proposal-object-rest-spread":"7.5.4","@babel/preset-env":"7.5.4","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","cheerio":"1.0.0-rc.3","docsify-cli":"4.3.0","jest":"24.8.0","lodash":"4.17.14","markdown-toc":"1.2.0","rambdax":"2.11.0","ramda":"0.26.1","request":"2.88.0","request-promise":"4.2.4","rollup":"1.17.0","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.1","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test","typings"],"feature":["method"],"workInProgress":"group with","docs":["docsify","repl","changelog"]},"gitHead":"f9298dc1afe2439d5b2209d3e6537d2611563b17","_id":"rambda@2.12.0","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"shasum":"907a9c39915722bde72368190d385ea08245a789","size":80963,"noattachment":false,"key":"/rambda/-/rambda-2.12.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.12.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.12.0_1563293294365_0.9659547768372803"},"_hasShrinkwrap":false,"publish_time":1563293294506,"_cnpm_publish_time":1563293294506,"_cnpmcore_publish_time":"2021-12-16T14:20:21.006Z"},"2.11.2":{"name":"rambda","version":"2.11.2","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.5.4","@babel/plugin-proposal-object-rest-spread":"7.5.4","@babel/preset-env":"7.5.4","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.8.0","docsify-cli":"4.3.0","lodash":"4.17.11","markdown-toc":"1.2.0","rambdax":"2.10.1","ramda":"0.26.1","rollup":"1.16.7","rollup-plugin-babel":"4.3.3","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.1","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.0.3","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test"],"feature":["method"],"workInProgress":"group with","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"bcab4f225573fcf9ca594b947332006f96d0308f","_id":"rambda@2.11.2","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"shasum":"10f49a117c3509b91ab9cce8defa0d76dcc0fd2e","size":78764,"noattachment":false,"key":"/rambda/-/rambda-2.11.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.11.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.11.2_1562706282635_0.5711210161029245"},"_hasShrinkwrap":false,"publish_time":1562706282745,"_cnpm_publish_time":1562706282745,"_cnpmcore_publish_time":"2021-12-16T14:20:21.643Z"},"2.11.1":{"name":"rambda","version":"2.11.1","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.4.5","@babel/plugin-proposal-object-rest-spread":"7.4.4","@babel/preset-env":"7.4.5","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.8.0","lodash":"4.17.11","markdown-toc":"1.2.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.1","ramda":"0.26.1","rollup":"1.13.1","rollup-plugin-babel":"4.3.2","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.0.1","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test"],"feature":["method"],"workInProgress":"group with","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"9a7802989081a70139bfb4fe663578cd591bb0a4","_id":"rambda@2.11.1","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"shasum":"9e2c5afd6d4d0c9ee2d5eb5b31e96ef4f337b947","size":78962,"noattachment":false,"key":"/rambda/-/rambda-2.11.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.11.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.11.1_1559842765066_0.47163985120945795"},"_hasShrinkwrap":false,"publish_time":1559842765191,"_cnpm_publish_time":1559842765191,"_cnpmcore_publish_time":"2021-12-16T14:20:22.632Z"},"2.11.0":{"name":"rambda","version":"2.11.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.4.5","@babel/plugin-proposal-object-rest-spread":"7.4.4","@babel/preset-env":"7.4.5","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.8.0","lodash":"4.17.11","markdown-toc":"1.2.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.1","ramda":"0.26.1","rollup":"1.13.1","rollup-plugin-babel":"4.3.2","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.0.1","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test"],"feature":["method"],"workInProgress":"group with","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"b1fe50986119ec9744f6af73ad108cb9baf9fc86","_id":"rambda@2.11.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"0f572974bf799102f5af0ab23d3262db83c1f277","size":79021,"noattachment":false,"key":"/rambda/-/rambda-2.11.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.11.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.11.0_1559639508924_0.49589699158990075"},"_hasShrinkwrap":false,"publish_time":1559639509389,"_cnpm_publish_time":1559639509389,"_cnpmcore_publish_time":"2021-12-16T14:20:23.081Z"},"2.10.2":{"name":"rambda","version":"2.10.2","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.4.5","@babel/plugin-proposal-object-rest-spread":"7.4.4","@babel/preset-env":"7.4.5","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.8.0","lodash":"4.17.11","markdown-toc":"1.2.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.1","ramda":"0.26.1","rollup":"1.12.4","rollup-plugin-babel":"4.3.2","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.0.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test"],"feature":["method"],"workInProgress":"group with","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"aa9a535bb8272d3ebb3d919981e386555050bd43","_id":"rambda@2.10.2","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"shasum":"fccb7ebc23e6e455699535b9f8e562c569d0b723","size":79041,"noattachment":false,"key":"/rambda/-/rambda-2.10.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.10.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.10.2_1558979810660_0.26760144978931355"},"_hasShrinkwrap":false,"publish_time":1558979810762,"_cnpm_publish_time":1558979810762,"_cnpmcore_publish_time":"2021-12-16T14:20:23.558Z"},"2.10.1":{"name":"rambda","version":"2.10.1","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility","lodash"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.4.5","@babel/plugin-proposal-object-rest-spread":"7.4.4","@babel/preset-env":"7.4.5","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.8.0","lodash":"4.17.11","markdown-toc":"1.2.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.1","ramda":"0.26.1","rollup":"1.12.4","rollup-plugin-babel":"4.3.2","rollup-plugin-cleanup":"3.1.1","rollup-plugin-commonjs":"10.0.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.0.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test"],"feature":["method"],"workInProgress":"group with","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"2b511533f51f8656e589a24a560df9e9744ba296","_id":"rambda@2.10.1","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"shasum":"33c959403c55c362d901d6276ed7edfded3d4c97","size":70122,"noattachment":false,"key":"/rambda/-/rambda-2.10.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.10.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.10.1_1558978774928_0.04656444725279485"},"_hasShrinkwrap":false,"publish_time":1558978775079,"_cnpm_publish_time":1558978775079,"_cnpmcore_publish_time":"2021-12-16T14:20:24.419Z"},"2.10.0":{"name":"rambda","version":"2.10.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.4.4","@babel/plugin-proposal-object-rest-spread":"7.4.4","@babel/preset-env":"7.4.4","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.8.0","lodash":"4.17.11","markdown-toc":"1.2.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.1","ramda":"0.26.1","rollup":"1.12.3","rollup-plugin-babel":"4.3.2","rollup-plugin-cleanup":"^3.1.1","rollup-plugin-commonjs":"10.0.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.0.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"6813e4309d436d1fba8ad7c7c95d1593fccd2629","_id":"rambda@2.10.0","_nodeVersion":"11.14.0","_npmVersion":"6.7.0","dist":{"shasum":"d716d324090f5c9ef013bad13c63fa918b861be0","size":77202,"noattachment":false,"key":"/rambda/-/rambda-2.10.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.10.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.10.0_1558380054112_0.006559196439160475"},"_hasShrinkwrap":false,"publish_time":1558380054330,"_cnpm_publish_time":1558380054330,"_cnpmcore_publish_time":"2021-12-16T14:20:24.971Z"},"2.9.0":{"name":"rambda","version":"2.9.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.4.4","@babel/plugin-proposal-object-rest-spread":"7.4.4","@babel/preset-env":"7.4.4","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.8.0","lodash":"4.17.11","markdown-toc":"1.2.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.1","ramda":"0.26.1","rollup":"1.12.3","rollup-plugin-babel":"4.3.2","rollup-plugin-commonjs":"10.0.0","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.0.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"338f59d0adfcad157605490bb508ffff47ca5d45","_id":"rambda@2.9.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"1f66317039358ab3b3240e6adf6cc80d968acedb","size":54020,"noattachment":false,"key":"/rambda/-/rambda-2.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.9.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.9.0_1558340958634_0.04236731558665485"},"_hasShrinkwrap":false,"publish_time":1558340958820,"_cnpm_publish_time":1558340958820,"_cnpmcore_publish_time":"2021-12-16T14:20:26.271Z"},"2.8.0":{"name":"rambda","version":"2.8.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.4.4","@babel/plugin-proposal-object-rest-spread":"7.4.4","@babel/preset-env":"7.4.4","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.8.0","lodash":"4.17.11","markdown-toc":"1.2.0","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.1","ramda":"0.26.1","rollup":"1.12.1","rollup-plugin-babel":"4.3.2","rollup-plugin-commonjs":"9.2.1","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.0.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"413c031d505d2296e9c9680fad671727d4908a84","_id":"rambda@2.8.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"0e0eb0821d043811d2564cbfef2f8da84c79dae5","size":55215,"noattachment":false,"key":"/rambda/-/rambda-2.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.8.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.8.0_1558103228378_0.9327075693277191"},"_hasShrinkwrap":false,"publish_time":1558103228559,"_cnpm_publish_time":1558103228559,"_cnpmcore_publish_time":"2021-12-16T14:20:26.708Z"},"2.7.1":{"name":"rambda","version":"2.7.1","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.4.4","@babel/plugin-proposal-object-rest-spread":"7.4.4","@babel/preset-env":"7.4.4","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.8.0","lodash":"4.17.11","markdown-toc":"1.2.0","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.1","ramda":"0.26.1","rollup":"1.12.1","rollup-plugin-babel":"4.3.2","rollup-plugin-commonjs":"9.2.1","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.0.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"f259153e6255aa64ed710e9e1f7cd96cdaa36e93","_id":"rambda@2.7.1","_nodeVersion":"11.14.0","_npmVersion":"6.7.0","dist":{"shasum":"56c3d4100131db0e252236a26bed75faffa229d8","size":54775,"noattachment":false,"key":"/rambda/-/rambda-2.7.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.7.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.7.1_1558021745800_0.2984754738045232"},"_hasShrinkwrap":false,"publish_time":1558021745934,"_cnpm_publish_time":1558021745934,"_cnpmcore_publish_time":"2021-12-16T14:20:27.057Z"},"2.7.0":{"name":"rambda","version":"2.7.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.4.4","@babel/plugin-proposal-object-rest-spread":"7.4.4","@babel/preset-env":"7.4.4","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.8.0","lodash":"4.17.11","markdown-toc":"1.2.0","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.1","ramda":"0.26.1","rollup":"1.11.3","rollup-plugin-babel":"4.3.2","rollup-plugin-commonjs":"9.2.1","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"5.0.0","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"beb26f0a38b696d5db581fd7081aaecebd3a7e5c","_id":"rambda@2.7.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"15d272f242e69d2a4ae17bf84187e2939e35654b","size":33436,"noattachment":false,"key":"/rambda/-/rambda-2.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.7.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.7.0_1557994289575_0.7787996397780361"},"_hasShrinkwrap":false,"publish_time":1557994289749,"_cnpm_publish_time":1557994289749,"_cnpmcore_publish_time":"2021-12-16T14:20:27.325Z"},"2.6.0":{"name":"rambda","version":"2.6.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.4.4","@babel/plugin-proposal-object-rest-spread":"7.4.4","@babel/preset-env":"7.4.4","babel-jest":"24.8.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.8.0","lodash":"4.17.11","markdown-toc":"1.2.0","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.1","ramda":"0.26.1","rollup":"1.11.3","rollup-plugin-babel":"4.3.2","rollup-plugin-commonjs":"9.2.1","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"4.2.1","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"bf69786978be4163f59d20ed869a32e6d1bc79a7","_id":"rambda@2.6.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"d99f3a924e63e281332b7818a10b2f65126414fb","size":33252,"noattachment":false,"key":"/rambda/-/rambda-2.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.6.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.6.0_1557652944334_0.7458461964775722"},"_hasShrinkwrap":false,"publish_time":1557652944578,"_cnpm_publish_time":1557652944578,"_cnpmcore_publish_time":"2021-12-16T14:20:27.683Z"},"2.5.0":{"name":"rambda","version":"2.5.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest src --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"7.4.4","@babel/plugin-proposal-object-rest-spread":"7.4.4","@babel/preset-env":"7.4.4","babel-jest":"24.7.1","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.7.1","lodash":"4.17.11","markdown-toc":"1.2.0","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.1","ramda":"0.26.1","rollup":"1.10.1","rollup-plugin-babel":"4.3.2","rollup-plugin-commonjs":"9.2.1","rollup-plugin-json":"3.1.0","rollup-plugin-node-resolve":"4.2.1","rollup-plugin-replace":"2.1.0","rollup-plugin-sourcemaps":"0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint","test"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"849b4d7a3e42badf1aedc4895e493d7b852952c6","_id":"rambda@2.5.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"dbb077eac5d777ab0489d8a7a339d44a01e14c7d","size":32828,"noattachment":false,"key":"/rambda/-/rambda-2.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.5.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.5.0_1556530947160_0.5440023888850127"},"_hasShrinkwrap":false,"publish_time":1556530947339,"_cnpm_publish_time":1556530947339,"_cnpmcore_publish_time":"2021-12-16T14:20:27.984Z"},"2.4.1":{"name":"rambda","version":"2.4.1","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"^7.2.2","@babel/plugin-proposal-object-rest-spread":"^7.3.2","@babel/preset-env":"^7.3.1","babel-jest":"^24.1.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.1.0","lodash":"4.17.11","markdown-toc":"1.2.0","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.1","ramda":"0.26.1","rollup":"^1.1.2","rollup-plugin-babel":"^4.3.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-sourcemaps":"^0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"2139c045a50a68801358d539657f01f39ae8c187","_id":"rambda@2.4.1","_nodeVersion":"10.6.0","_npmVersion":"6.8.0","dist":{"shasum":"fa7cca42205dcaa9de855f990ffca03a1bca267f","size":32669,"noattachment":false,"key":"/rambda/-/rambda-2.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.4.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.4.1_1551820259949_0.8719181893230945"},"_hasShrinkwrap":false,"publish_time":1551820260211,"_cnpm_publish_time":1551820260211,"_cnpmcore_publish_time":"2021-12-16T14:20:28.288Z"},"2.4.0":{"name":"rambda","version":"2.4.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"@babel/core":"^7.2.2","@babel/plugin-proposal-object-rest-spread":"^7.3.2","@babel/preset-env":"^7.3.1","babel-jest":"^24.1.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.1.0","lodash":"4.17.11","markdown-toc":"1.2.0","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.1","ramda":"0.26.1","rollup":"^1.1.2","rollup-plugin-babel":"^4.3.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-sourcemaps":"^0.4.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"311f068f129665cdf73edb129c12797404c577f7","_id":"rambda@2.4.0","_nodeVersion":"10.6.0","_npmVersion":"6.8.0","dist":{"shasum":"2f1828c82c4907ec8203ee4b2c7fc2963c27b85b","size":52841,"noattachment":false,"key":"/rambda/-/rambda-2.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.4.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.4.0_1551820151425_0.7318049013741605"},"_hasShrinkwrap":false,"publish_time":1551820151549,"_cnpm_publish_time":1551820151549,"_cnpmcore_publish_time":"2021-12-16T14:20:28.774Z"},"2.3.2":{"name":"rambda","version":"2.3.2","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch","prepublish":"BABEL_ENV=development babel src/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"6.26.0","babel-plugin-annotate-pure-calls":"0.4.0","babel-plugin-external-helpers":"7.0.0-beta.3","babel-preset-env":"1.7.0","beautify-benchmark":"0.2.4","benchmark":"2.1.4","jest":"24.1.0","lodash":"4.17.11","markdown-toc":"1.2.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"1.8.0","ramda":"0.26.1","rollup":"0.68.2","rollup-plugin-babel":"3.0.7","rollup-plugin-node-resolve":"3.3.0"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"dc6309274bd647ec8c87740833aa3f307fdc3613","_id":"rambda@2.3.2","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"b869efbd46c17c959c17049dbd24ef6aafeab832","size":50365,"noattachment":false,"key":"/rambda/-/rambda-2.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.3.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.3.2_1551465184515_0.42598782941885727"},"_hasShrinkwrap":false,"publish_time":1551465184793,"_cnpm_publish_time":1551465184793,"_cnpmcore_publish_time":"2021-12-16T14:20:29.228Z"},"2.3.1":{"name":"rambda","version":"2.3.1","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch","prepublish":"BABEL_ENV=development babel src/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^7.0.0-beta.3","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","jest":"^23.0.0-alpha.4","lodash":"^4.17.5","markdown-toc":"^1.2.0","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"^0.22.0","ramda":"^0.25.0","rollup":"^0.57.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-node-resolve":"^3.0.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"d4e516a1ef2b78e2f6310286575eb2c988e137c2","_id":"rambda@2.3.1","_npmVersion":"6.4.1","_nodeVersion":"10.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"155dab5bc16d9d0af9c39c210dc834640b3b5816","size":50717,"noattachment":false,"key":"/rambda/-/rambda-2.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.3.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.3.1_1548226011162_0.1090242258943761"},"_hasShrinkwrap":false,"publish_time":1548226011348,"_cnpm_publish_time":1548226011348,"_cnpmcore_publish_time":"2021-12-16T14:20:29.652Z"},"2.3.0":{"name":"rambda","version":"2.3.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch","prepublish":"BABEL_ENV=development babel src/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^7.0.0-beta.3","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","jest":"^23.0.0-alpha.4","lodash":"^4.17.5","markdown-toc":"^1.2.0","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"^0.22.0","ramda":"^0.25.0","rollup":"^0.57.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-node-resolve":"^3.0.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"],"typings":["fix"]},"gitHead":"8d74bb8566ba2dfe7fbdda1569e355720a6ab645","_id":"rambda@2.3.0","_npmVersion":"6.4.1","_nodeVersion":"10.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"0f29d45b59bacaa1d0f0ebf04f9fe4737eaf2c5d","size":50664,"noattachment":false,"key":"/rambda/-/rambda-2.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.3.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.3.0_1546699850128_0.3332469070898656"},"_hasShrinkwrap":false,"publish_time":1546699850278,"_cnpm_publish_time":1546699850278,"_cnpmcore_publish_time":"2021-12-16T14:20:30.046Z"},"2.2.0":{"name":"rambda","version":"2.2.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmarks":"node benchmarks/index.js --all","benchmark":"node benchmarks/index.js","cover":"jest src --coverage --no-cache -w 1","jest":"jest --watch","prepublish":"BABEL_ENV=development babel src/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^7.0.0-beta.3","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","jest":"^23.0.0-alpha.4","lodash":"^4.17.5","markdown-toc":"^1.2.0","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"^0.22.0","ramda":"^0.25.0","rollup":"^0.57.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-node-resolve":"^3.0.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"]},"gitHead":"28e1a7b3837ac0ce19120066748e9a0cde66f942","_id":"rambda@2.2.0","_npmVersion":"6.4.1","_nodeVersion":"10.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"e6aa049a9a27522fc9f9809050ce713548a70c16","size":50641,"noattachment":false,"key":"/rambda/-/rambda-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.2.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.2.0_1545333607916_0.9871122609628535"},"_hasShrinkwrap":false,"publish_time":1545333608149,"_cnpm_publish_time":1545333608149,"_cnpmcore_publish_time":"2021-12-16T14:20:30.380Z"},"2.1.1":{"name":"rambda","version":"2.1.1","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","de":"commit","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest src --coverage --no-cache -w 1","jest":"jest","prepublish":"BABEL_ENV=development babel src/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^7.0.0-beta.3","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lodash":"^4.17.5","markdown-toc":"^1.2.0","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"^0.22.0","ramda":"^0.25.0","rollup":"^0.57.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-node-resolve":"^3.0.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"]},"gitHead":"eb0f6c83f0d0d881f0657511d36d4c39b0a0b351","_id":"rambda@2.1.1","_npmVersion":"6.4.1","_nodeVersion":"10.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"e1e4f2411a29549832d2dd7fc4183c0517bf295b","size":47489,"noattachment":false,"key":"/rambda/-/rambda-2.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.1.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.1.1_1544009889631_0.48817547974224285"},"_hasShrinkwrap":false,"publish_time":1544009889838,"_cnpm_publish_time":1544009889838,"_cnpmcore_publish_time":"2021-12-16T14:20:30.743Z"},"2.1.0":{"name":"rambda","version":"2.1.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","de":"commit","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest src --coverage --no-cache -w 1","jest":"jest","prepublish":"BABEL_ENV=development babel src/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^7.0.0-beta.3","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lodash":"^4.17.5","markdown-toc":"^1.2.0","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"^0.22.0","ramda":"^0.25.0","rollup":"^0.57.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-node-resolve":"^3.0.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"]},"gitHead":"c90009202313b7972a02b78758e675be42f75bb0","_id":"rambda@2.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"bf75e1bc553b9fd468c5710fc450571f01619dd1","size":47467,"noattachment":false,"key":"/rambda/-/rambda-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.1.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.1.0_1544007713717_0.28370571247702836"},"_hasShrinkwrap":false,"publish_time":1544007713862,"_cnpm_publish_time":1544007713862,"_cnpmcore_publish_time":"2021-12-16T14:20:31.910Z"},"2.0.0":{"name":"rambda","version":"2.0.0","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","test":"jest src","readme":"node files/createReadme","readmex":"node files/createReadmex","docs":"docsify init ./docs","de":"commit","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest src --coverage --no-cache -w 1","jest":"jest","prepublish":"BABEL_ENV=development babel src/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^7.0.0-beta.3","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lodash":"^4.17.5","markdown-toc":"^1.2.0","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","rambdax":"^0.22.0","ramda":"^0.25.0","rollup":"^0.57.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-node-resolve":"^3.0.2"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint"],"feature":["method"],"workInProgress":"","docs":["docsify","repl","changelog"]},"gitHead":"946e53f04d7dbcdb02194ab694b8353a1c2c9c7d","_id":"rambda@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"e1f036462460495f379a1ce653eb44075387a1f9","size":38596,"noattachment":false,"key":"/rambda/-/rambda-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-2.0.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_2.0.0_1544002601309_0.3667131053863364"},"_hasShrinkwrap":false,"publish_time":1544002601508,"_cnpm_publish_time":1544002601508,"_cnpmcore_publish_time":"2021-12-16T14:20:32.233Z"},"1.2.6":{"name":"rambda","version":"1.2.6","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","test":"jest src","docs":"docsify init ./docs","de":"commit","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage --no-cache -w 1","jest":"jest","prepublish":"BABEL_ENV=development babel src/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^7.0.0-beta.3","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lodash":"^4.17.5","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rollup":"^0.57.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-node-resolve":"^3.0.2","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.25.0"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor","lint"],"feature":["method"],"workInProgress":"","docs":["docsify","repl"]},"gitHead":"b9246819a07eded168d74a4fcac8154fff766129","_id":"rambda@1.2.6","_npmVersion":"6.1.0","_nodeVersion":"10.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"5feed8039369b65c389ee1e02db9527695d30e83","size":46017,"noattachment":false,"key":"/rambda/-/rambda-1.2.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.2.6.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.2.6_1540061800131_0.038988921318583"},"_hasShrinkwrap":false,"publish_time":1540061800278,"_cnpm_publish_time":1540061800278,"_cnpmcore_publish_time":"2021-12-16T14:20:32.549Z"},"1.2.5":{"name":"rambda","version":"1.2.5","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","dev":"jest __tests__/object/zipObj.js --watch","test":"jest __tests__","docs":"docsify init ./docs","de":"commit","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage --no-cache -w 1","jest":"jest","prepublish":"BABEL_ENV=development babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^7.0.0-beta.3","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lodash":"^4.17.5","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rollup":"^0.57.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-node-resolve":"^3.0.2","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.25.0"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor"],"feature":["method"],"workInProgress":"","docs":["docsify","repl"]},"gitHead":"6c775cc372afa97290280294db78ccd5f2eb1d36","_id":"rambda@1.2.5","_npmVersion":"6.1.0","_nodeVersion":"10.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"a790e95be9fb60306130bb98fb06fd7306b3f898","size":75302,"noattachment":false,"key":"/rambda/-/rambda-1.2.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.2.5.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.2.5_1540023852635_0.7019196898689566"},"_hasShrinkwrap":false,"publish_time":1540023852796,"_cnpm_publish_time":1540023852796,"_cnpmcore_publish_time":"2021-12-16T14:20:32.879Z"},"1.2.4":{"name":"rambda","version":"1.2.4","description":"Lightweight faster alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","umd":"./dist/rambda.umd.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","dev":"jest __tests__/object/zipObj.js --watch","test":"jest __tests__","docs":"docsify init ./docs","de":"commit","build":"yarn build:main&&yarn build:web&&yarn minify","build:main":"NODE_ENV=build rollup -c files/rollup.config.js","build:web":"NODE_ENV=build rollup -c files/rollup.web.config.js","minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage --no-cache -w 1","jest":"jest","prepublish":"BABEL_ENV=development babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^7.0.0-beta.3","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lodash":"^4.17.5","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","rollup":"^0.57.1","rollup-plugin-babel":"^3.0.2","rollup-plugin-node-resolve":"^3.0.2","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.25.0"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish","refactor"],"feature":["method"],"workInProgress":""},"gitHead":"b64f62be92ca35a5f58a2fd2559bb3dc24a868b0","_id":"rambda@1.2.4","_npmVersion":"6.4.1","_nodeVersion":"10.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"c592b34f0d8a837c78721f49540607c4eb11e917","size":75211,"noattachment":false,"key":"/rambda/-/rambda-1.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.2.4.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.2.4_1539527790272_0.20925087148099752"},"_hasShrinkwrap":false,"publish_time":1539527790478,"_cnpm_publish_time":1539527790478,"_cnpmcore_publish_time":"2021-12-16T14:20:33.306Z"},"1.2.2":{"name":"rambda","version":"1.2.2","description":"Lightweight alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","dev":"jest __tests__/object/zipObj.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","de":"commit","build":"NODE_ENV=build run-s build-main build-minify","build-main":"microbundle --entry rambda.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=development babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","depFn":["babel-cli","babel-plugin-external-helpers","babel-preset-env"],"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lint-fn":"^0.3.6","lodash":"^4.17.5","microbundle":"^0.4.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.2","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.25.0"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish"],"feature":["method"]},"gitHead":"a7ad8b1e49c2576c9a18cf67cd9441adf69c78e3","_id":"rambda@1.2.2","_npmVersion":"6.1.0","_nodeVersion":"10.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"92e22c70e3eac170b79defe75053a9806d88c6ca","size":73780,"noattachment":false,"key":"/rambda/-/rambda-1.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.2.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.2.2_1535493601438_0.10853678665348698"},"_hasShrinkwrap":false,"publish_time":1535493601629,"_cnpm_publish_time":1535493601629,"_cnpmcore_publish_time":"2021-12-16T14:20:33.762Z"},"1.2.1":{"name":"rambda","version":"1.2.1","description":"Lightweight alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","dev":"jest __tests__/object/zipObj.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","de":"commit","build":"NODE_ENV=build run-s build-main build-minify","build-main":"microbundle --entry rambda.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=development babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","depFn":["babel-cli","babel-plugin-external-helpers","babel-preset-env"],"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lint-fn":"^0.3.6","lodash":"^4.17.5","microbundle":"^0.4.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.2","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.25.0"},"dependencies":{},"commitMessage":{"support":["docs","build","prepublish"],"feature":["method"]},"files":["dist","lib","webVersion.js","index.d.ts"],"gitHead":"0713c017b14526e488f6f3b40457655814e47560","_id":"rambda@1.2.1","_npmVersion":"6.1.0","_nodeVersion":"10.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"022921b51252c829a2022a153c0735efb03370a1","size":73388,"noattachment":false,"key":"/rambda/-/rambda-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.2.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.2.1_1535293057684_0.5530292993306318"},"_hasShrinkwrap":false,"publish_time":1535293058053,"_cnpm_publish_time":1535293058053,"_cnpmcore_publish_time":"2021-12-16T14:20:34.080Z"},"1.2.0":{"name":"rambda","version":"1.2.0","description":"Lightweight alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"test:watch":"jest --watch","dev":"jest __tests__/object/zipObj.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","de":"commit","build":"NODE_ENV=build run-s build-main build-minify","build-main":"microbundle --entry rambda.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=development babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","depFn":["babel-cli","babel-plugin-external-helpers","babel-preset-env"],"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lint-fn":"^0.3.6","lodash":"^4.17.5","microbundle":"^0.4.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.2","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.25.0"},"dependencies":{},"commitMessage":{"support":["docs","build"],"feature":["method"]},"files":["dist","lib","webVersion.js","index.d.ts"],"gitHead":"39977bd2866e05d0ba902cce1be55ae9ba205075","_id":"rambda@1.2.0","_npmVersion":"6.1.0","_nodeVersion":"10.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"22f1cb028932a8b38eeeabdf8f20b96cfd091f1e","size":71693,"noattachment":false,"key":"/rambda/-/rambda-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.2.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.2.0_1532603760360_0.38718485266612546"},"_hasShrinkwrap":false,"publish_time":1532603760432,"_cnpm_publish_time":1532603760432,"_cnpmcore_publish_time":"2021-12-16T14:20:34.478Z"},"1.1.5":{"name":"rambda","version":"1.1.5","description":"Lightweight alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"dev":"jest __tests__/object/zipObj.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","de":"commit","build":"NODE_ENV=build run-s build-main build-minify","build-main":"microbundle --entry rambda.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=development babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","depFn":["babel-cli","babel-plugin-external-helpers","babel-preset-env"],"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lint-fn":"^0.3.6","lodash":"^4.17.5","microbundle":"^0.4.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.2","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.25.0"},"dependencies":{},"commitMessage":{"support":["docs","build"],"feature":["method"]},"gitHead":"70401a2d53754a79c848f53f0f64d180d7adb161","_id":"rambda@1.1.5","_npmVersion":"6.1.0","_nodeVersion":"10.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"8ac65f7396f20cc122ba01fb6a4fb3ceb3befd20","size":1121515,"noattachment":false,"key":"/rambda/-/rambda-1.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.1.5.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.1.5_1529917743162_0.8003764030519738"},"_hasShrinkwrap":false,"publish_time":1529917743369,"_cnpm_publish_time":1529917743369,"_cnpmcore_publish_time":"2021-12-16T14:20:37.071Z"},"1.1.4":{"name":"rambda","version":"1.1.4","description":"Lightweight alternative to Ramda","main":"./dist/rambda.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"dev":"jest __tests__/general.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","de":"commit","build":"NODE_ENV=build run-s build-main build-minify","build-main":"microbundle --entry rambda.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=development babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","depFn":["babel-cli","babel-plugin-external-helpers","babel-preset-env"],"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lint-fn":"^0.3.6","lodash":"^4.17.5","microbundle":"^0.4.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.2","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.25.0"},"dependencies":{},"commitMessage":{"support":["docs"],"feature":["method"]},"gitHead":"00ea3beef85c9a0e5bf17aebaba5067eaabf6c0f","_id":"rambda@1.1.4","_npmVersion":"6.1.0","_nodeVersion":"10.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"4899ad119c73daa9b44d7868587d2451775ed7f2","size":1120245,"noattachment":false,"key":"/rambda/-/rambda-1.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.1.4.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.1.4_1528382091766_0.6376338860438144"},"_hasShrinkwrap":false,"publish_time":1528382091908,"_cnpm_publish_time":1528382091908,"_cnpmcore_publish_time":"2021-12-16T14:20:39.755Z"},"1.1.3":{"name":"rambda","version":"1.1.3","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"dev":"jest __tests__/general.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","de":"commit","build":"NODE_ENV=build run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=development babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","depFn":["babel-cli","babel-plugin-external-helpers","babel-preset-env","rollup","rollup-plugin-babel"],"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lint-fn":"^0.3.6","lodash":"^4.17.5","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.2","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.25.0","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"dependencies":{},"commitMessage":{"support":["docs"],"feature":["method"]},"gitHead":"a1a7075c32a90437bd67bdaee060f6bfcd8cc2ac","_id":"rambda@1.1.3","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"b686e09cb69c46350f7bd9d1da887a3ccd779f31","size":1118302,"noattachment":false,"key":"/rambda/-/rambda-1.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.1.3.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.1.3_1527497736563_0.6219793798887525"},"_hasShrinkwrap":false,"publish_time":1527497736716,"_cnpm_publish_time":1527497736716,"_cnpmcore_publish_time":"2021-12-16T14:20:42.452Z"},"1.1.2":{"name":"rambda","version":"1.1.2","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","sideEffects":false,"scripts":{"dev":"jest __tests__/logic/compose.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","de":"commit","build":"NODE_ENV=build run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=development babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","depFn":["babel-cli","babel-plugin-external-helpers","babel-preset-env","rollup","rollup-plugin-babel"],"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-annotate-pure-calls":"^0.2.2","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lint-fn":"^0.3.6","lodash":"^4.17.5","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.2","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.25.0","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"dependencies":{},"commitMessage":{"support":["docs"],"feature":["method"]},"gitHead":"dba0d2c15e25c1f7738ad96934d0d8ef89b6ecd7","_id":"rambda@1.1.2","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"f0d881927b9baf643b1e69b5a872a092b7645e04","size":1116970,"noattachment":false,"key":"/rambda/-/rambda-1.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.1.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.1.2_1527070379021_0.4831103558475054"},"_hasShrinkwrap":false,"publish_time":1527070379123,"_cnpm_publish_time":1527070379123,"_cnpmcore_publish_time":"2021-12-16T14:20:45.816Z"},"1.1.1":{"name":"rambda","version":"1.1.1","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"dev":"jest __tests__/logic/compose.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","de":"commit","build":"NODE_ENV=build run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=development babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","depFn":["babel-cli","babel-plugin-external-helpers","babel-preset-env","rollup","rollup-plugin-babel"],"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lint-fn":"^0.3.6","lodash":"^4.17.5","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.2","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.25.0","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"dependencies":{},"commitMessage":{"support":["docs"],"feature":["method"]},"gitHead":"627dbd4525e24b4f1255ba2c5c482c9217ea2268","_id":"rambda@1.1.1","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"06dbbf72241fb37951bd854cd94e9b01c5bf68a7","size":1116347,"noattachment":false,"key":"/rambda/-/rambda-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.1.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.1.1_1524991328323_0.8229083523366107"},"_hasShrinkwrap":false,"publish_time":1524991328482,"_cnpm_publish_time":1524991328482,"_cnpmcore_publish_time":"2021-12-16T14:20:49.297Z"},"1.1.0":{"name":"rambda","version":"1.1.0","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"dev":"jest __tests__/logic/compose.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","de":"commit","build":"NODE_ENV=build run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=development babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","depFn":["babel-cli","babel-plugin-external-helpers","babel-preset-env","rollup","rollup-plugin-babel"],"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.4","commit-message":"git+https://github.com/selfrefactor/commit-message.git#3.0.0","jest":"^23.0.0-alpha.4","lint-fn":"^0.3.6","lodash":"^4.17.5","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.2","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.25.0","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"dependencies":{},"gitHead":"c40ef1b4a90d3fd55865ac90bf1fb2138a061243","_id":"rambda@1.1.0","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"f184f22acead64287c74c9de94853fb4cc32b852","size":1114179,"noattachment":false,"key":"/rambda/-/rambda-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.1.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.1.0_1523260493710_0.32034430278511494"},"_hasShrinkwrap":false,"publish_time":1523260493832,"_cnpm_publish_time":1523260493832,"_cnpmcore_publish_time":"2021-12-16T14:20:51.985Z"},"1.0.13":{"name":"rambda","version":"1.0.13","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"dev":"jest __tests__/object/dissoc.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","de":"commit","build":"NODE_ENV=build run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=development babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","commit-message":"git+https://github.com/selfrefactor/commit-message.git#2.3.0","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.1","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"gitHead":"70e12774854ac57132474cd0c203824901cd5ecf","_id":"rambda@1.0.13","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"b515fb49bc4914f168a22ac2bbef7dd74d08ef3c","size":1112063,"noattachment":false,"key":"/rambda/-/rambda-1.0.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.0.13.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.0.13_1520799766875_0.5600436219878941"},"_hasShrinkwrap":false,"publish_time":1520799767041,"_cnpm_publish_time":1520799767041,"_cnpmcore_publish_time":"2021-12-16T14:20:54.279Z"},"1.0.12":{"name":"rambda","version":"1.0.12","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"dev":"jest __tests__/object/dissoc.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","de":"commit","build":"NODE_ENV=build run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=development babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","commit-message":"git+https://github.com/selfrefactor/commit-message.git#2.3.0","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.1","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"gitHead":"0d5eeea2e73bc7fe98eef09f6ff979177f93c6cc","_id":"rambda@1.0.12","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"041f942e7ad56599a0a0248cd92d9313b069b923","size":1108482,"noattachment":false,"key":"/rambda/-/rambda-1.0.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.0.12.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda_1.0.12_1518619448959_0.6725950547059822"},"_hasShrinkwrap":false,"publish_time":1518619450409,"_cnpm_publish_time":1518619450409,"_cnpmcore_publish_time":"2021-12-16T14:20:57.961Z"},"1.0.11":{"name":"rambda","version":"1.0.11","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"dev":"jest __tests__/object/dissoc.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","de":"commit","build":"NODE_ENV=build run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=production babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","commit-message":"git+https://github.com/selfrefactor/commit-message.git#2.3.0","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.1","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"gitHead":"fb6d6a522ced0ffb7d12f693eb41eb07b41db4f2","_id":"rambda@1.0.11","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"0b2933213735d2c45ab5069dcd1e15632d8c319e","size":1107769,"noattachment":false,"key":"/rambda/-/rambda-1.0.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.0.11.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-1.0.11.tgz_1517903862731_0.4063685405999422"},"directories":{},"publish_time":1517903864858,"_hasShrinkwrap":false,"_cnpm_publish_time":1517903864858,"_cnpmcore_publish_time":"2021-12-16T14:21:00.658Z"},"1.0.10":{"name":"rambda","version":"1.0.10","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"dev":"jest __tests__/object/dissoc.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","de":"commit","build":"run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=production babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","commit-message":"git+https://github.com/selfrefactor/commit-message.git#2.3.0","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.1","rambda-repl":"git+https://github.com/selfrefactor/rambda-repl.git#0.3.0","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"gitHead":"1f67a8cc0c9e3c0462f34e6427c1f512ffd880d7","_id":"rambda@1.0.10","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"83bce2ebd9dd30d6536ad69036d0657b713bd9b7","size":1109542,"noattachment":false,"key":"/rambda/-/rambda-1.0.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.0.10.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-1.0.10.tgz_1517493107179_0.15575891151092947"},"directories":{},"publish_time":1517493109990,"_hasShrinkwrap":false,"_cnpm_publish_time":1517493109990,"_cnpmcore_publish_time":"2021-12-16T14:21:03.859Z"},"1.0.9":{"name":"rambda","version":"1.0.9","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"dev":"jest __tests__/logic/equals.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","build":"run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=production babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"gitHead":"9e232472381b35008375d7b6b2a000663f0aa3c5","_id":"rambda@1.0.9","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"df4fc58aa87547f91dbc2a52bd873bc2ee89af68","size":1093439,"noattachment":false,"key":"/rambda/-/rambda-1.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.0.9.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-1.0.9.tgz_1516058951290_0.3486978954169899"},"directories":{},"publish_time":1516058953329,"_hasShrinkwrap":false,"_cnpm_publish_time":1516058953329,"_cnpmcore_publish_time":"2021-12-16T14:21:07.084Z"},"1.0.8":{"name":"rambda","version":"1.0.8","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"dev":"jest __tests__/general.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","build":"run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=production babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"gitHead":"ae277ee3d260f03284128faa2985f482b1ec05bb","_id":"rambda@1.0.8","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"9278675994f62f0dc7f3b386293a4bddd0e4bce9","size":1092158,"noattachment":false,"key":"/rambda/-/rambda-1.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.0.8.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-1.0.8.tgz_1515538917855_0.3068811474367976"},"directories":{},"publish_time":1515538919710,"_hasShrinkwrap":false,"_cnpm_publish_time":1515538919710,"_cnpmcore_publish_time":"2021-12-16T14:21:09.897Z"},"1.0.7":{"name":"rambda","version":"1.0.7","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"dev":"jest __tests__/is.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","build":"run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js --all","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=production babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"gitHead":"cfd7a78bc54d0eb09e61b22c1b8850e36bc8631a","_id":"rambda@1.0.7","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"64909c6627cbc2345236c99d074a587adb40fd8b","size":1091224,"noattachment":false,"key":"/rambda/-/rambda-1.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.0.7.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-1.0.7.tgz_1514981789655_0.15524799493141472"},"directories":{},"publish_time":1514981791398,"_hasShrinkwrap":false,"_cnpm_publish_time":1514981791398,"_cnpmcore_publish_time":"2021-12-16T14:21:12.568Z"},"1.0.6":{"name":"rambda","version":"1.0.6","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"dev":"jest __tests__/is.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","build":"run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest","prepublish":"BABEL_ENV=production babel modules/ --out-dir lib/"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-cli":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"gitHead":"f323048289329c95e6fdddd40ec2446207d86147","_id":"rambda@1.0.6","_npmVersion":"5.5.1","_nodeVersion":"9.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"2ea321c578d64ce5249ad905dc03b70df8189d20","size":1089001,"noattachment":false,"key":"/rambda/-/rambda-1.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.0.6.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-1.0.6.tgz_1512216695339_0.6917040178086609"},"directories":{},"publish_time":1512216697115,"_hasShrinkwrap":false,"_cnpm_publish_time":1512216697115,"_cnpmcore_publish_time":"2021-12-16T14:21:15.477Z"},"1.0.5":{"name":"rambda","version":"1.0.5","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"dev":"jest __tests__/is.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","build":"run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"gitHead":"6668c21ed2e394da10ce02857d6b82eeb96b9809","_id":"rambda@1.0.5","_shasum":"c5a79363eea26d139b9af001bf1af983aa0fb22a","_from":".","_npmVersion":"2.15.12","_nodeVersion":"9.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"c5a79363eea26d139b9af001bf1af983aa0fb22a","size":1074412,"noattachment":false,"key":"/rambda/-/rambda-1.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.0.5.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-1.0.5.tgz_1511959851276_0.41174892568960786"},"directories":{},"publish_time":1511959852931,"_hasShrinkwrap":false,"_cnpm_publish_time":1511959852931,"_cnpmcore_publish_time":"2021-12-16T14:21:18.371Z"},"1.0.4":{"name":"rambda","version":"1.0.4","description":"Lightweight alternative to Ramda","main":"./dist/rambda.cjs.js","module":"./dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"dev":"jest __tests__/is.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","build":"run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"gitHead":"8aeec94341b7d2aee4a3b2d042a96e6e9186089a","_id":"rambda@1.0.4","_npmVersion":"5.5.1","_nodeVersion":"9.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"e34bc3caf57291502572ddb6d9a5fc3ca3cc1af0","size":1081844,"noattachment":false,"key":"/rambda/-/rambda-1.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.0.4.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-1.0.4.tgz_1510438526089_0.19537305389530957"},"directories":{},"publish_time":1510438526903,"_hasShrinkwrap":false,"_cnpm_publish_time":1510438526903,"_cnpmcore_publish_time":"2021-12-16T14:21:21.298Z"},"1.0.3":{"name":"rambda","version":"1.0.3","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"dev":"jest __tests__/is.js --watch","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","build":"run-s build-main build-minify","build-main":"rollup -c files/rollup.config.js","build-minify":"node files/minify","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","minify":"git+https://github.com/selfrefactor/minify.git#0.1.0","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2"},"gitHead":"d0d81f733de540a6b9373f443efb820013bdff22","_id":"rambda@1.0.3","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"146035492d1797aa49e1586530246f1c171c0074","size":1081654,"noattachment":false,"key":"/rambda/-/rambda-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.0.3.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-1.0.3.tgz_1509741140184_0.8640853697434068"},"directories":{},"publish_time":1509741142820,"_hasShrinkwrap":false,"_cnpm_publish_time":1509741142820,"_cnpmcore_publish_time":"2021-12-16T14:21:23.633Z"},"1.0.0":{"name":"rambda","version":"1.0.0","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"buirld":"run-s all-build browser-minify","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/ --watch","build":"rollup -c files/rollup.config.js","browser-minify":"run minify f dist/rambda.umd.js o webVersion.js","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2","run-fn":"^0.2.1"},"dependencies":{"babel-preset-latest":"^6.24.1"},"gitHead":"7d35d000bc0f543584639a608ab3d6fccb6718ef","_id":"rambda@1.0.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"9838d6fd6444f9905bb44ef572e87aa92a98d414","size":1112637,"noattachment":false,"key":"/rambda/-/rambda-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-1.0.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-1.0.0.tgz_1508681608236_0.5026591820642352"},"directories":{},"publish_time":1508681610222,"_hasShrinkwrap":false,"_cnpm_publish_time":1508681610222,"_cnpmcore_publish_time":"2021-12-16T14:21:27.248Z"},"0.9.8":{"name":"rambda","version":"0.9.8","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"buirld":"run-s all-build browser-minify","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/lazy/concat --watch","build":"rollup -c files/rollup.config.js","browser-minify":"run minify f dist/rambda.umd.js o webVersion.js","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2","run-fn":"^0.2.1"},"dependencies":{"babel-preset-latest":"^6.24.1"},"gitHead":"2d8ffe15bceba0b3e22028969bb34a62235623be","_id":"rambda@0.9.8","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"ac0ef1ac10ff7154c5fcd83a5e6f1c2a3e1c8a4e","size":1114796,"noattachment":false,"key":"/rambda/-/rambda-0.9.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.9.8.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.9.8.tgz_1508499776193_0.6301555188838392"},"directories":{},"publish_time":1508499778003,"_hasShrinkwrap":false,"_cnpm_publish_time":1508499778003,"_cnpmcore_publish_time":"2021-12-16T14:21:30.850Z"},"0.9.7":{"name":"rambda","version":"0.9.7","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"buirld":"run-s all-build browser-minify","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/lazy/concat --watch","build":"rollup -c files/rollup.config.js","browser-minify":"run minify f dist/rambda.umd.js o webVersion.js","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2","run-fn":"^0.2.1"},"dependencies":{"babel-preset-latest":"^6.24.1"},"gitHead":"a89b6f9da07328a856131482429f608d00a6667a","_id":"rambda@0.9.7","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"d28a40c0179a1bd07c619c4e74218ff5572962dd","size":1103818,"noattachment":false,"key":"/rambda/-/rambda-0.9.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.9.7.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.9.7.tgz_1508360543699_0.7159051394555718"},"directories":{},"publish_time":1508360545255,"_hasShrinkwrap":false,"_cnpm_publish_time":1508360545255,"_cnpmcore_publish_time":"2021-12-16T14:21:33.452Z"},"0.9.6":{"name":"rambda","version":"0.9.6","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"build":"run-s all-build browser-minify","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/array/reverse --watch","all-build":"rollup -c files/rollup.config.js","browser-minify":"run minify f dist/rambda.umd.js o webVersion.js","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2","run-fn":"^0.2.1"},"gitHead":"8b043ef3ef2fc37f14cbca3a60c406977df00b31","_id":"rambda@0.9.6","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"3c252d1d4dd524ae8eb9a6c76038655f4e6624bf","size":1114304,"noattachment":false,"key":"/rambda/-/rambda-0.9.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.9.6.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.9.6.tgz_1507760440579_0.3028322213795036"},"directories":{},"publish_time":1507760442500,"_hasShrinkwrap":false,"_cnpm_publish_time":1507760442500,"_cnpmcore_publish_time":"2021-12-16T14:21:35.934Z"},"0.9.5":{"name":"rambda","version":"0.9.5","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"build":"run-s all-build browser-minify","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/object/pick --watch","all-build":"rollup -c files/rollup.config.js","browser-minify":"run minify f dist/rambda.umd.js o webVersion.js","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2","run-fn":"^0.2.1"},"gitHead":"b2327733d656203fa5eddd44712be7454c50b32e","_id":"rambda@0.9.5","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"46ca36105a30b0e2d078aad26a63b7b24cd4844c","size":1114110,"noattachment":false,"key":"/rambda/-/rambda-0.9.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.9.5.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.9.5.tgz_1507759801046_0.7732725378591567"},"directories":{},"publish_time":1507759803050,"_hasShrinkwrap":false,"_cnpm_publish_time":1507759803050,"_cnpmcore_publish_time":"2021-12-16T14:21:39.704Z"},"0.9.4":{"name":"rambda","version":"0.9.4","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","typings":"./index.d.ts","scripts":{"build":"run-s all-build browser-minify","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/object/pick --watch","all-build":"rollup -c files/rollup.config.js","browser-minify":"run minify f dist/rambda.umd.js o webVersion.js","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2","run-fn":"^0.2.1"},"gitHead":"2f3d89bf396d038b76974a45dd9ac086b3c4b506","_id":"rambda@0.9.4","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"f47ca87c1c36951da99cc68b0668af55a044d6a5","size":1112830,"noattachment":false,"key":"/rambda/-/rambda-0.9.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.9.4.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.9.4.tgz_1507676869798_0.574994471622631"},"directories":{},"publish_time":1507676871780,"_hasShrinkwrap":false,"_cnpm_publish_time":1507676871780,"_cnpmcore_publish_time":"2021-12-16T14:21:42.343Z"},"0.9.3":{"name":"rambda","version":"0.9.3","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","browser":"dist/rambda.umd.js","typings":"./index.d.ts","scripts":{"build":"run-s all-build browser-minify","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/logic/partialCurry","all-build":"rollup -c files/rollup.config.js","browser-minify":"run minify f dist/rambda.umd.js o _","node-minify":"run minify f dist/rambda.cjs.js o _","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2","run-fn":"^0.2.1"},"gitHead":"f48634f8c1d2200035b22e451962e9c5be557669","_id":"rambda@0.9.3","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"51a89f52b4a5c4bb731aa8e800302eb893491a73","size":1110855,"noattachment":false,"key":"/rambda/-/rambda-0.9.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.9.3.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.9.3.tgz_1506631253583_0.4896091774571687"},"directories":{},"publish_time":1506631255573,"_hasShrinkwrap":false,"_cnpm_publish_time":1506631255573,"_cnpmcore_publish_time":"2021-12-16T14:21:45.551Z"},"0.9.2":{"name":"rambda","version":"0.9.2","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","browser":"dist/rambda.umd.js","scripts":{"build":"run-s all-build browser-minify","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/logic/partialCurry","all-build":"rollup -c files/rollup.config.js","browser-minify":"run minify f dist/rambda.umd.js o _","node-minify":"run minify f dist/rambda.cjs.js o _","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2","run-fn":"^0.2.1"},"gitHead":"29d69236a1d54c5601cc96696130c00e17e73dc2","_id":"rambda@0.9.2","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"dddf82c17b717bed606e963dda3bd05fbe54a36d","size":1108885,"noattachment":false,"key":"/rambda/-/rambda-0.9.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.9.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.9.2.tgz_1506183881953_0.8817674757447094"},"directories":{},"publish_time":1506183883711,"_hasShrinkwrap":false,"_cnpm_publish_time":1506183883711,"_cnpmcore_publish_time":"2021-12-16T14:21:48.574Z"},"0.9.1":{"name":"rambda","version":"0.9.1","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","browser":"dist/rambda.umd.js","scripts":{"build":"run-s all-build browser-minify","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/logic/partialCurry","all-build":"rollup -c files/rollup.config.js","browser-minify":"run minify f dist/rambda.umd.js o _","node-minify":"run minify f dist/rambda.cjs.js o _","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2","run-fn":"^0.2.1"},"gitHead":"ae6e765d0f8e3f6f774437dcad20965d95151691","_id":"rambda@0.9.1","_npmVersion":"5.4.0","_nodeVersion":"8.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"87c7505a75964efbb35610dbd229281b051d24e8","size":1105756,"noattachment":false,"key":"/rambda/-/rambda-0.9.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.9.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.9.1.tgz_1505732661761_0.5233079718891531"},"directories":{},"publish_time":1505732663678,"_hasShrinkwrap":false,"_cnpm_publish_time":1505732663678,"_cnpmcore_publish_time":"2021-12-16T14:21:51.311Z"},"0.8.10":{"name":"rambda","version":"0.8.10","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","browser":"dist/rambda.umd.js","scripts":{"build":"run-s all-build browser-minify","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/logic/partialCurry","all-build":"rollup -c files/rollup.config.js","browser-minify":"run minify f dist/rambda.umd.js o _","node-minify":"run minify f dist/rambda.cjs.js o _","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2","run-fn":"^0.2.1"},"gitHead":"66ebd469cf2a0984e05b175019ca0b55a58c73d4","_id":"rambda@0.8.10","_npmVersion":"5.4.0","_nodeVersion":"8.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"434b1a71a94927d55a1cd2a4c6508460359c62aa","size":1105685,"noattachment":false,"key":"/rambda/-/rambda-0.8.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.8.10.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.8.10.tgz_1505732245644_0.9157075516413897"},"directories":{},"publish_time":1505732247446,"_hasShrinkwrap":false,"_cnpm_publish_time":1505732247446,"_cnpmcore_publish_time":"2021-12-16T14:21:54.389Z"},"0.9.0":{"name":"rambda","version":"0.9.0","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","browser":"dist/rambda.umd.js","scripts":{"build":"run-s all-build browser-minify","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/logic/partialCurry","all-build":"rollup -c files/rollup.config.js","browser-minify":"run minify f dist/rambda.umd.js o _","node-minify":"run minify f dist/rambda.cjs.js o _","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run lintFolder","lint-modules":"cd modules&&run lintFolder","lint-files":"cd files&&run lintFolder","lint-benchmarks":"cd benchmarks&&run lintFolder","lint-rambda":"run lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^21.0.1","lint-fn":"^0.3.0","lodash":"^4.17.4","npm-run-all":"^4.1.1","ramda":"^0.24.1","rollup":"^0.49.2","rollup-plugin-babel":"^3.0.2","run-fn":"^0.2.1"},"gitHead":"81afbc9bd13c6f67ce6d92e3d05aa0aead358606","_id":"rambda@0.9.0","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"2f64819955187c59f13ce2dd5efaa9eaf187982c","size":1097230,"noattachment":false,"key":"/rambda/-/rambda-0.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.9.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.9.0.tgz_1504898731421_0.5100940791890025"},"directories":{},"publish_time":1504898733373,"_hasShrinkwrap":false,"_cnpm_publish_time":1504898733373,"_cnpmcore_publish_time":"2021-12-16T14:21:57.247Z"},"0.8.9":{"name":"rambda","version":"0.8.9","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","browser":"dist/rambda.umd.js","scripts":{"build":"run-s all-build browser-minify","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/logic/partialCurry","all-build":"rollup -c files/rollup.config.js","browser-minify":"run m minify f dist/rambda.umd.js o _","node-minify":"run m minify f dist/rambda.cjs.js o _","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run m lintFolder","lint-modules":"cd modules&&run m lintFolder","lint-files":"cd files&&run m lintFolder","lint-benchmarks":"cd benchmarks&&run m lintFolder","lint-rambda":"run m lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lint-fn":"^0.3.0","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.1","rollup":"^0.48.2","rollup-plugin-babel":"^3.0.2","run-fn":"^0.1.10"},"gitHead":"7e9126698d0ba989f5bdb7778ad14b28e8dff3ef","_id":"rambda@0.8.9","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"962a4ffe7a2f700aa1960408a69f11f3a8acd26a","size":1095926,"noattachment":false,"key":"/rambda/-/rambda-0.8.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.8.9.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.8.9.tgz_1504708655485_0.12100855400785804"},"directories":{},"publish_time":1504708657517,"_hasShrinkwrap":false,"_cnpm_publish_time":1504708657517,"_cnpmcore_publish_time":"2021-12-16T14:22:00.007Z"},"0.8.8":{"name":"rambda","version":"0.8.8","description":"Lightweight alternative to Ramda","main":"dist/rambda.cjs.js","module":"dist/rambda.esm.js","browser":"dist/rambda.umd.js","scripts":{"build":"run-s all-build browser-minify","test":"jest __tests__","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/logic/partialCurry","all-build":"rollup -c files/rollup.config.js","browser-minify":"run m minify f dist/rambda.umd.js o _","node-minify":"run m minify f dist/rambda.cjs.js o _","benchmark":"node benchmarks/index.js","cover":"jest __tests__ --coverage","lintall":"run-p lint-test lint-modules lint-rambda lint-files lint-benchmarks","lint-test":"cd __tests__&&run m lintFolder","lint-modules":"cd modules&&run m lintFolder","lint-files":"cd files&&run m lintFolder","lint-benchmarks":"cd benchmarks&&run m lintFolder","lint-rambda":"run m lint f rambda.js","jest":"jest"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-env":"^1.6.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lint-fn":"^0.3.0","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.1","rollup":"^0.48.2","rollup-plugin-babel":"^3.0.2","run-fn":"^0.1.10"},"gitHead":"ed2eb94fbe4142abd6db95f71073d599a011cfce","_id":"rambda@0.8.8","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"0aec94cc2b6061adbe7c50d91c6ec65570623689","size":1092697,"noattachment":false,"key":"/rambda/-/rambda-0.8.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.8.8.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.8.8.tgz_1504351304227_0.28882956271991134"},"directories":{},"publish_time":1504351307206,"_hasShrinkwrap":false,"_cnpm_publish_time":1504351307206,"_cnpmcore_publish_time":"2021-12-16T14:22:02.787Z"},"0.8.7":{"name":"rambda","version":"0.8.7","description":"Lightweight alternative to Ramda","main":"index.js","module":"index.esm.js","browser":"webVersion.js","scripts":{"build":"run-s all-build browser-minify","test":"jest","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/tap","all-build":"rollup -c files/rollup.config.js","browser-minify":"run m minify f webVersion.js o _","node-minify":"run m minify f index.js o _","benchmark":"node benchmarks/index.js","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.26.0","babel-plugin-external-helpers":"^6.22.0","babel-preset-es2015":"^6.24.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lint-fn":"^0.2.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","rollup":"^0.48.2","rollup-plugin-babel":"^3.0.2","rollup-plugin-commonjs":"^8.2.0","run-fn":"^0.1.5"},"gitHead":"53637686607eb61fbefaa20736094f8a4ae9c919","_id":"rambda@0.8.7","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"9a93117ac580a75aedb2a81aa33e131c70194c83","size":1056953,"noattachment":false,"key":"/rambda/-/rambda-0.8.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.8.7.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.8.7.tgz_1503506136019_0.8432206797879189"},"directories":{},"publish_time":1503506137987,"_hasShrinkwrap":false,"_cnpm_publish_time":1503506137987,"_cnpmcore_publish_time":"2021-12-16T14:22:04.738Z"},"0.8.6":{"name":"rambda","version":"0.8.6","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build","test":"jest","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/tap","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"run m minify f webVersion.js o _","node-minify":"run m minify f index.js o _","benchmark":"node benchmarks/index.js","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.25.0","babel-loader":"^7.1.1","babel-preset-es2015":"^6.24.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lint-fn":"^0.2.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","run-fn":"^0.1.5","webpack":"^2.6.1"},"gitHead":"b62824648258ac4986a4663d43f811477298f38c","_id":"rambda@0.8.6","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"f09eb32d77a16190006674d49d9b60d089576c73","size":1060862,"noattachment":false,"key":"/rambda/-/rambda-0.8.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.8.6.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.8.6.tgz_1503130606361_0.751463848631829"},"directories":{},"publish_time":1503130608354,"_hasShrinkwrap":false,"_cnpm_publish_time":1503130608354,"_cnpmcore_publish_time":"2021-12-16T14:22:07.400Z"},"0.8.5":{"name":"rambda","version":"0.8.5","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build","test":"jest","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/logic/com","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"run m minify f webVersion.js o _","node-minify":"run m minify f index.js o _","benchmark":"node benchmarks/index.js","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.25.0","babel-loader":"^7.1.1","babel-preset-es2015":"^6.24.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lint-fn":"^0.2.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"0231319e2a8976d1659d15b495ca6c4d2adede09","_id":"rambda@0.8.5","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"83e98c62bdaceef1a877910f8816f20264b2ac3d","size":1034344,"noattachment":false,"key":"/rambda/-/rambda-0.8.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.8.5.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.8.5.tgz_1503084824640_0.2865764976013452"},"directories":{},"publish_time":1503084826433,"_hasShrinkwrap":false,"_cnpm_publish_time":1503084826433,"_cnpmcore_publish_time":"2021-12-16T14:22:11.766Z"},"0.8.4":{"name":"rambda","version":"0.8.4","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build","test":"jest","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/type.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"run m minify f webVersion.js o _","node-minify":"run m minify f index.js o _","benchmark":"node benchmarks/index.js","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.25.0","babel-loader":"^7.1.1","babel-preset-es2015":"^6.24.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lint-fn":"^0.2.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"ea51b28801c17070e20f6747c9749b817fd53e26","_id":"rambda@0.8.4","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"17b4e2b4a9300800dc5804637c2443cd185f8a41","size":1024521,"noattachment":false,"key":"/rambda/-/rambda-0.8.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.8.4.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.8.4.tgz_1502955594844_0.1884402169380337"},"directories":{},"publish_time":1502955596487,"_hasShrinkwrap":false,"_cnpm_publish_time":1502955596487,"_cnpmcore_publish_time":"2021-12-16T14:22:13.566Z"},"0.8.3":{"name":"rambda","version":"0.8.3","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build","test":"jest","docs":"docsify init ./docs","lint":"node files/lint","dev":"jest __tests__/lazy/concat.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"run m minify f webVersion.js o _","node-minify":"run m minify f index.js o _","benchmark":"node benchmarks/index.js","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.25.0","babel-loader":"^7.1.1","babel-preset-es2015":"^6.24.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lint-fn":"^0.2.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"70c29aaddad89f2af23c1db6378a0f64c83cb82b","_id":"rambda@0.8.3","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"183b175ca64a173c5e2439505908b5234781097b","size":1023537,"noattachment":false,"key":"/rambda/-/rambda-0.8.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.8.3.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.8.3.tgz_1502953992700_0.6960870549082756"},"directories":{},"publish_time":1502953994346,"_hasShrinkwrap":false,"_cnpm_publish_time":1502953994346,"_cnpmcore_publish_time":"2021-12-16T14:22:15.167Z"},"0.8.2":{"name":"rambda","version":"0.8.2","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build node-minify","test":"jest","lint":"node files/lint","dev":"jest __tests__/lazy/concat.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"run m minify f webVersion.js o _","node-minify":"run m minify f index.js o _","benchmark":"node benchmarks/index.js","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.25.0","babel-loader":"^7.1.1","babel-preset-es2015":"^6.24.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lint-fn":"^0.2.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"4e21518ddcba766b439e783e3e1f8fdfee3f8b4d","_id":"rambda@0.8.2","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"bdfdd88a058d82620836822ac0fdd50f14685e04","size":1022594,"noattachment":false,"key":"/rambda/-/rambda-0.8.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.8.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.8.2.tgz_1502886893137_0.3120871267747134"},"directories":{},"publish_time":1502886895042,"_hasShrinkwrap":false,"_cnpm_publish_time":1502886895042,"_cnpmcore_publish_time":"2021-12-16T14:22:18.076Z"},"0.8.1":{"name":"rambda","version":"0.8.1","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build node-minify","test":"jest","lint":"node files/lint","dev":"jest __tests__/ifElse.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"run m minify f webVersion.js o _","node-minify":"run m minify f index.js o _","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.25.0","babel-loader":"^7.1.1","babel-preset-es2015":"^6.24.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lint-fn":"^0.2.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"21b281723e1b6e6b0712a880ef0030bbb9d8bfb2","_id":"rambda@0.8.1","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"4eb546fea6fc45594dd5f1207437588e747a4a7f","size":1018847,"noattachment":false,"key":"/rambda/-/rambda-0.8.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.8.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.8.1.tgz_1502396185431_0.33962205052375793"},"directories":{},"publish_time":1502396187310,"_hasShrinkwrap":false,"_cnpm_publish_time":1502396187310,"_cnpmcore_publish_time":"2021-12-16T14:22:19.857Z"},"0.8.0":{"name":"rambda","version":"0.8.0","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build node-minify","test":"jest","lint":"node files/lint","dev":"jest __tests__/omit.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"run m minify f webVersion.js o _","node-minify":"run m minify f index.js o _","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.25.0","babel-loader":"^7.1.1","babel-preset-es2015":"^6.24.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lint-fn":"^0.2.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"c1d614b557ce2cbbe27a2c5a30877078d18c91c3","_id":"rambda@0.8.0","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"7267a3dabddc38c1dff520da02284c37ec5916ae","size":1017645,"noattachment":false,"key":"/rambda/-/rambda-0.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.8.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.8.0.tgz_1501747752106_0.3979240646585822"},"directories":{},"publish_time":1501747754030,"_hasShrinkwrap":false,"_cnpm_publish_time":1501747754030,"_cnpmcore_publish_time":"2021-12-16T14:22:21.930Z"},"0.7.6":{"name":"rambda","version":"0.7.6","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build node-minify","test":"jest","dev":"jest __tests__/path.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"run m minify f webVersion.js o _","node-minify":"run m minify f index.js o _","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.25.0","babel-loader":"^7.1.1","babel-preset-es2015":"^6.24.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lint-fn":"^0.2.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"e31ed30f3dcc43527e2ccafce917ea393d5339c6","_id":"rambda@0.7.6","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"877c84a2f64aeceec9c3079382dd15f836997572","size":1015973,"noattachment":false,"key":"/rambda/-/rambda-0.7.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.7.6.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.7.6.tgz_1501674982937_0.8748508873395622"},"directories":{},"publish_time":1501674984894,"_hasShrinkwrap":false,"_cnpm_publish_time":1501674984894,"_cnpmcore_publish_time":"2021-12-16T14:22:25.324Z"},"0.7.5":{"name":"rambda","version":"0.7.5","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build node-minify","test":"jest","dev":"jest __tests__/omit.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f index.js o _","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.25.0","babel-loader":"^7.1.1","babel-preset-es2015":"^6.24.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"01d6b634c0ccfdbcf2f0f864dd3e1bc32d8b13aa","_id":"rambda@0.7.5","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"5ef33668c6a299d4d859de25a333b90c5f065c60","size":1008432,"noattachment":false,"key":"/rambda/-/rambda-0.7.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.7.5.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.7.5.tgz_1500552314934_0.44027822953648865"},"directories":{},"publish_time":1500552316759,"_hasShrinkwrap":false,"_cnpm_publish_time":1500552316759,"_cnpmcore_publish_time":"2021-12-16T14:22:28.057Z"},"0.7.4":{"name":"rambda","version":"0.7.4","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build node-minify","test":"jest","dev":"jest __tests__/type.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f index.js o _","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.25.0","babel-loader":"^7.1.1","babel-preset-es2015":"^6.24.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"cd86d1625d48979c93d48499f55b88b7f6fd017f","_id":"rambda@0.7.4","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"2708311b62ed25b48a8f03d2fdc735f787e26139","size":1008147,"noattachment":false,"key":"/rambda/-/rambda-0.7.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.7.4.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.7.4.tgz_1500447798055_0.8792429994791746"},"directories":{},"publish_time":1500447799893,"_hasShrinkwrap":false,"_cnpm_publish_time":1500447799893,"_cnpmcore_publish_time":"2021-12-16T14:22:30.687Z"},"0.7.3":{"name":"rambda","version":"0.7.3","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build node-minify","test":"jest","dev":"jest __tests__/type.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f index.js o _","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"babel-core":"^6.25.0","babel-loader":"^7.1.1","babel-preset-es2015":"^6.24.1","beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"740a07d73d585670daff2455128e4b1d7058eae4","_id":"rambda@0.7.3","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"24200770091762f4da90b9e665823948691377c0","size":1008230,"noattachment":false,"key":"/rambda/-/rambda-0.7.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.7.3.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.7.3.tgz_1499412770338_0.8949863908346742"},"directories":{},"publish_time":1499412772012,"_hasShrinkwrap":false,"_cnpm_publish_time":1499412772012,"_cnpmcore_publish_time":"2021-12-16T14:22:32.595Z"},"0.7.2":{"name":"rambda","version":"0.7.2","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build node-minify","test":"jest","dev":"jest __tests__/type.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f index.js o _","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"b09777d641dd7dbf2198955e92d85a7e8962abc4","_id":"rambda@0.7.2","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"af3a5547d122ae5922fdaa60ae0b99595cd287d3","size":1004075,"noattachment":false,"key":"/rambda/-/rambda-0.7.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.7.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.7.2.tgz_1498761264548_0.25068013090640306"},"directories":{},"publish_time":1498761266369,"_hasShrinkwrap":false,"_cnpm_publish_time":1498761266369,"_cnpmcore_publish_time":"2021-12-16T14:22:34.843Z"},"0.7.1":{"name":"rambda","version":"0.7.1","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build node-minify","test":"jest","dev":"jest __tests__/init.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f index.js o _","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"a723103924a5322f980840659500523294a09278","_id":"rambda@0.7.1","_npmVersion":"5.0.3","_nodeVersion":"8.1.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"a2ee90cc18eaa8041f16d0fc67b7f7e148a2ebba","size":1003345,"noattachment":false,"key":"/rambda/-/rambda-0.7.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.7.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.7.1.tgz_1498665694391_0.5963590645696968"},"directories":{},"publish_time":1498665694533,"_hasShrinkwrap":false,"_cnpm_publish_time":1498665694533,"_cnpmcore_publish_time":"2021-12-16T14:22:37.335Z"},"0.7.0":{"name":"rambda","version":"0.7.0","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build node-minify","test":"jest","dev":"jest __tests__/init.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f index.js o _","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"c48531a7eeebb70fed6d91b8a41ada56df23543b","_id":"rambda@0.7.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"689448ea2f7b65399f0534064c33d4afd6303538","size":1002894,"noattachment":false,"key":"/rambda/-/rambda-0.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.7.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.7.0.tgz_1497290950546_0.23909767623990774"},"directories":{},"publish_time":1497290950678,"_hasShrinkwrap":false,"_cnpm_publish_time":1497290950678,"_cnpmcore_publish_time":"2021-12-16T14:22:41.152Z"},"0.6.1":{"name":"rambda","version":"0.6.1","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build node-minify","test":"jest","dev":"jest __tests__/init.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f index.js o _","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"ba9256f24e2954ae1a22a7627ad9e2667a5fcfb5","_id":"rambda@0.6.1","_shasum":"efac71532b5be28ffe42c13e22bd196296d40dc4","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"efac71532b5be28ffe42c13e22bd196296d40dc4","size":997107,"noattachment":false,"key":"/rambda/-/rambda-0.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.6.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.6.1.tgz_1496061039566_0.5035888939164579"},"directories":{},"publish_time":1496061041277,"_hasShrinkwrap":false,"_cnpm_publish_time":1496061041277,"_cnpmcore_publish_time":"2021-12-16T14:22:44.079Z"},"0.5.13":{"name":"rambda","version":"0.5.13","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build node-minify","test":"jest","dev":"jest __tests__/init.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f index.js o _","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"abfca6b5d2e1ca98a360b4736776248402921b1a","_id":"rambda@0.5.13","_shasum":"ce5ba886bdcdf2c86eef173171aba53c9d7d851e","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"ce5ba886bdcdf2c86eef173171aba53c9d7d851e","size":997109,"noattachment":false,"key":"/rambda/-/rambda-0.5.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.13.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.5.13.tgz_1496060968860_0.29312225873582065"},"directories":{},"publish_time":1496060970702,"_hasShrinkwrap":false,"_cnpm_publish_time":1496060970702,"_cnpmcore_publish_time":"2021-12-16T14:22:46.036Z"},"0.6.0":{"name":"rambda","version":"0.6.0","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-build node-minify","test":"jest","dev":"jest __tests__/init.js","node-build":"webpack  --config files/webpack.config.node.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f index.js o _","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^20.0.4","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"^0.24.0","webpack":"^2.6.1"},"gitHead":"0910782234a01484a9c9836274fad71f8727ec24","_id":"rambda@0.6.0","_shasum":"f7039588a3c86e2421fbf523817bf788d62ec824","_from":".","_npmVersion":"4.6.1","_nodeVersion":"7.8.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"f7039588a3c86e2421fbf523817bf788d62ec824","size":997545,"noattachment":false,"key":"/rambda/-/rambda-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.6.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.6.0.tgz_1495896164759_0.1620065700262785"},"directories":{},"publish_time":1495896166555,"_hasShrinkwrap":false,"_cnpm_publish_time":1495896166555,"_cnpmcore_publish_time":"2021-12-16T14:22:48.444Z"},"0.5.12":{"name":"rambda","version":"0.5.12","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-minify","test":"jest","dev":"jest __tests__/init.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f rambda.js o index.js","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"*","webpack":"^2.5.1"},"gitHead":"0354a28e7efad2da3104645f858f9c36b177dc22","_id":"rambda@0.5.12","_shasum":"1a86364b0e40164e0239856a72ad4057db2e28ea","_from":".","_npmVersion":"4.6.1","_nodeVersion":"7.8.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"1a86364b0e40164e0239856a72ad4057db2e28ea","size":995528,"noattachment":false,"key":"/rambda/-/rambda-0.5.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.12.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.5.12.tgz_1495894471123_0.4540426474995911"},"directories":{},"publish_time":1495894473427,"_hasShrinkwrap":false,"_cnpm_publish_time":1495894473427,"_cnpmcore_publish_time":"2021-12-16T14:22:51.084Z"},"0.5.11":{"name":"rambda","version":"0.5.11","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-minify","test":"jest","dev":"jest __tests__/curry.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f rambda.js o index.js","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"*","webpack":"^2.5.1"},"gitHead":"078b243ea32c548dbdec3f674a0bb1446515c23c","_id":"rambda@0.5.11","_shasum":"2e9dac249d822667ae0d82e71ebdac026d807ecd","_from":".","_npmVersion":"4.6.1","_nodeVersion":"7.8.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"2e9dac249d822667ae0d82e71ebdac026d807ecd","size":993854,"noattachment":false,"key":"/rambda/-/rambda-0.5.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.11.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.5.11.tgz_1495830783229_0.222488796338439"},"directories":{},"publish_time":1495830784957,"_hasShrinkwrap":false,"_cnpm_publish_time":1495830784957,"_cnpmcore_publish_time":"2021-12-16T14:22:54.881Z"},"0.5.10":{"name":"rambda","version":"0.5.10","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"build":"run-s browser-build browser-minify node-minify","test":"jest","dev":"jest __tests__/curry.js","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f rambda.js o index.js","cover":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","npm-run-all":"^4.0.2","ramda":"*","webpack":"^2.5.1"},"gitHead":"52b578bd2570078e72c017476f953a7ea0b80c65","_id":"rambda@0.5.10","_shasum":"72d182d1ba8c4f702fcb18e3edf7f83a5aa53726","_from":".","_npmVersion":"4.5.0","_nodeVersion":"7.8.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"72d182d1ba8c4f702fcb18e3edf7f83a5aa53726","size":993636,"noattachment":false,"key":"/rambda/-/rambda-0.5.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.10.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.5.10.tgz_1495619222227_0.07464098976925015"},"directories":{},"publish_time":1495619223899,"_hasShrinkwrap":false,"_cnpm_publish_time":1495619223899,"_cnpmcore_publish_time":"2021-12-16T14:22:57.479Z"},"0.5.9":{"name":"rambda","version":"0.5.9","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","dev":"jest __tests__/curry.js","build":"./build.sh","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f rambda.js o index.js","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*","webpack":"^2.5.1"},"gitHead":"9442600a6f764408e5af3059a0498089117622c4","_id":"rambda@0.5.9","_shasum":"bb5133e9e68f8b89ee2f392716630f77f3a0df34","_from":".","_npmVersion":"4.5.0","_nodeVersion":"7.8.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"bb5133e9e68f8b89ee2f392716630f77f3a0df34","size":990208,"noattachment":false,"key":"/rambda/-/rambda-0.5.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.9.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.5.9.tgz_1495286290947_0.08683794573880732"},"directories":{},"publish_time":1495286292888,"_hasShrinkwrap":false,"_cnpm_publish_time":1495286292888,"_cnpmcore_publish_time":"2021-12-16T14:22:59.688Z"},"0.5.8":{"name":"rambda","version":"0.5.8","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","dev":"jest __tests__/curry.js","build":"./build.sh","browser-build":"webpack  --config files/webpack.config.js","browser-minify":"sr m minify f webVersion.js o _","node-minify":"sr m minify f rambda.js o index.js","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*","webpack":"^2.5.1"},"gitHead":"ed195128abf6cfa8b19dbc39434ac844316a379d","_id":"rambda@0.5.8","_shasum":"755b9012f3470c18e94831fcee04cfee8fa36b3a","_from":".","_npmVersion":"4.5.0","_nodeVersion":"7.8.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"755b9012f3470c18e94831fcee04cfee8fa36b3a","size":990170,"noattachment":false,"key":"/rambda/-/rambda-0.5.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.8.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rambda-0.5.8.tgz_1495284440214_0.7644126357045025"},"directories":{},"publish_time":1495284442074,"_hasShrinkwrap":false,"_cnpm_publish_time":1495284442074,"_cnpmcore_publish_time":"2021-12-16T14:23:02.069Z"},"0.5.7":{"name":"rambda","version":"0.5.7","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"029ae39a1ab7e59234053a2edde67452d56d1bd2","_id":"rambda@0.5.7","_shasum":"a4cf3c7a78afebf0a372059bb112823d393b2bdf","_from":".","_npmVersion":"4.5.0","_nodeVersion":"7.8.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"a4cf3c7a78afebf0a372059bb112823d393b2bdf","size":982628,"noattachment":false,"key":"/rambda/-/rambda-0.5.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.7.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.5.7.tgz_1494746112884_0.6167482261080295"},"directories":{},"publish_time":1494746117506,"_hasShrinkwrap":false,"_cnpm_publish_time":1494746117506,"_cnpmcore_publish_time":"2021-12-16T14:23:04.551Z"},"0.5.6":{"name":"rambda","version":"0.5.6","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"283e3a0be6299d51f9b0966b072eab2fd84bb25e","_id":"rambda@0.5.6","_shasum":"5240e5a620d18734b830a74bffcb941b00d5e178","_from":".","_npmVersion":"4.5.0","_nodeVersion":"7.8.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"5240e5a620d18734b830a74bffcb941b00d5e178","size":961871,"noattachment":false,"key":"/rambda/-/rambda-0.5.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.6.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.5.6.tgz_1491154091824_0.24695678590796888"},"directories":{},"publish_time":1491154096525,"_hasShrinkwrap":false,"_cnpm_publish_time":1491154096525,"_cnpmcore_publish_time":"2021-12-16T14:23:07.157Z"},"0.5.5":{"name":"rambda","version":"0.5.5","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"90f985354d311c55c38a73fd56bc7c716d3b8eae","_id":"rambda@0.5.5","_shasum":"403dcf1284704ef0fc57b998271139f0cde1a016","_from":".","_npmVersion":"4.4.1","_nodeVersion":"7.6.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"403dcf1284704ef0fc57b998271139f0cde1a016","size":961876,"noattachment":false,"key":"/rambda/-/rambda-0.5.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.5.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.5.5.tgz_1489609122567_0.3209924891125411"},"directories":{},"publish_time":1489609125044,"_hasShrinkwrap":false,"_cnpm_publish_time":1489609125044,"_cnpmcore_publish_time":"2021-12-16T14:23:10.558Z"},"0.5.4":{"name":"rambda","version":"0.5.4","description":"Lightweight alternative to Ramda","main":"rambda.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"af773ffd822c5503c637be9db0c59910a8e2bfe9","_id":"rambda@0.5.4","_shasum":"ba80b61d0fbd0394c319ba7f7c7b77ae3ae92cfe","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"ba80b61d0fbd0394c319ba7f7c7b77ae3ae92cfe","size":961786,"noattachment":false,"key":"/rambda/-/rambda-0.5.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.4.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/rambda-0.5.4.tgz_1489527437714_0.1172300057951361"},"directories":{},"publish_time":1489527438453,"_hasShrinkwrap":false,"_cnpm_publish_time":1489527438453,"_cnpmcore_publish_time":"2021-12-16T14:23:12.557Z"},"0.5.3":{"name":"rambda","version":"0.5.3","description":"Lightweight alternative to Ramda","main":"rambda.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"0b66c661a30acd67e8bdb43bce7555484eda5e4a","_id":"rambda@0.5.3","_shasum":"ed48391f8a26daac4c7102e9350b10fa6326b577","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"ed48391f8a26daac4c7102e9350b10fa6326b577","size":961787,"noattachment":false,"key":"/rambda/-/rambda-0.5.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.3.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.5.3.tgz_1489527362251_0.41309310332871974"},"directories":{},"publish_time":1489527364835,"_hasShrinkwrap":false,"_cnpm_publish_time":1489527364835,"_cnpmcore_publish_time":"2021-12-16T14:23:14.624Z"},"0.5.2":{"name":"rambda","version":"0.5.2","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"MIT","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"bbf1d318ec3212a4f8aa0b403a4b6e9f8518c3f8","_id":"rambda@0.5.2","_shasum":"d8d7f4c2e25805059f283c2c651aa2c471510f3b","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"d8d7f4c2e25805059f283c2c651aa2c471510f3b","size":961615,"noattachment":false,"key":"/rambda/-/rambda-0.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.5.2.tgz_1486298893479_0.8127761022187769"},"directories":{},"publish_time":1486298895908,"_hasShrinkwrap":false,"_cnpm_publish_time":1486298895908,"_cnpmcore_publish_time":"2021-12-16T14:23:16.473Z"},"0.5.1":{"name":"rambda","version":"0.5.1","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"1aaf6dbb8411c36799876927eb1f7d59d886b768","_id":"rambda@0.5.1","_shasum":"791134dd40b59adeb22daf8b1e70683953632291","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"791134dd40b59adeb22daf8b1e70683953632291","size":961613,"noattachment":false,"key":"/rambda/-/rambda-0.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/rambda-0.5.1.tgz_1485763885401_0.3066359059885144"},"directories":{},"publish_time":1485763886116,"_hasShrinkwrap":false,"_cnpm_publish_time":1485763886116,"_cnpmcore_publish_time":"2021-12-16T14:23:18.765Z"},"0.5.0":{"name":"rambda","version":"0.5.0","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"6a3dc68bab5d31ecdbbea6a1b68438b864588936","_id":"rambda@0.5.0","_shasum":"c1a08287d10835edf125f9a13b6fa59da514d9e1","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"c1a08287d10835edf125f9a13b6fa59da514d9e1","size":961624,"noattachment":false,"key":"/rambda/-/rambda-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.5.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/rambda-0.5.0.tgz_1485711010745_0.3148012971505523"},"directories":{},"publish_time":1485711011440,"_hasShrinkwrap":false,"_cnpm_publish_time":1485711011440,"_cnpmcore_publish_time":"2021-12-16T14:23:22.189Z"},"0.4.3":{"name":"rambda","version":"0.4.3","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"991134f40ddfbdb053fb79baff2b2c3cb91e705b","_id":"rambda@0.4.3","_shasum":"dacc88c707bd1543439853e6bbe7ea71b74f17ea","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"dacc88c707bd1543439853e6bbe7ea71b74f17ea","size":961628,"noattachment":false,"key":"/rambda/-/rambda-0.4.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.4.3.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.4.3.tgz_1485702786141_0.10816193278878927"},"directories":{},"publish_time":1485702788701,"_hasShrinkwrap":false,"_cnpm_publish_time":1485702788701,"_cnpmcore_publish_time":"2021-12-16T14:23:26.926Z"},"0.4.2":{"name":"rambda","version":"0.4.2","description":"Lightweight alternative to Ramda","main":"rambda.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"4d26a5f9f6207db13a2eab46b88dec85767a3641","_id":"rambda@0.4.2","_shasum":"a835679817208b0f5424e1196db511c4286db0e2","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"a835679817208b0f5424e1196db511c4286db0e2","size":961629,"noattachment":false,"key":"/rambda/-/rambda-0.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.4.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.4.2.tgz_1485702468502_0.4905879523139447"},"directories":{},"publish_time":1485702471033,"_hasShrinkwrap":false,"_cnpm_publish_time":1485702471033,"_cnpmcore_publish_time":"2021-12-16T14:23:29.309Z"},"0.4.1":{"name":"rambda","version":"0.4.1","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"04aacb643e3592e9b2047bfb790e82e5ed180fe1","_id":"rambda@0.4.1","_shasum":"8ddc8adae7421bb0650b13f8ab668a885ac6398f","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"8ddc8adae7421bb0650b13f8ab668a885ac6398f","size":961624,"noattachment":false,"key":"/rambda/-/rambda-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.4.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/rambda-0.4.1.tgz_1485014505689_0.07855903171002865"},"directories":{},"publish_time":1485014506282,"_hasShrinkwrap":false,"_cnpm_publish_time":1485014506282,"_cnpmcore_publish_time":"2021-12-16T14:23:31.959Z"},"0.4.0":{"name":"rambda","version":"0.4.0","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"d9a8091252c92d56f7008553bc1a545fe6642304","_id":"rambda@0.4.0","_shasum":"6b79e8b669c3be20a3a8c1f1e92952cd3c1faf85","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"6b79e8b669c3be20a3a8c1f1e92952cd3c1faf85","size":961698,"noattachment":false,"key":"/rambda/-/rambda-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.4.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.4.0.tgz_1484933087661_0.5193344410508871"},"directories":{},"publish_time":1484933090309,"_hasShrinkwrap":false,"_cnpm_publish_time":1484933090309,"_cnpmcore_publish_time":"2021-12-16T14:23:34.543Z"},"0.3.4":{"name":"rambda","version":"0.3.4","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"971f14c71d73593ae6df462e0cda51f50f99fdfe","_id":"rambda@0.3.4","_shasum":"0d10242ad244fe4006a23c0a05763cdc78adaf06","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"0d10242ad244fe4006a23c0a05763cdc78adaf06","size":960656,"noattachment":false,"key":"/rambda/-/rambda-0.3.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.3.4.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/rambda-0.3.4.tgz_1484824842978_0.2878954759798944"},"directories":{},"publish_time":1484824843686,"_hasShrinkwrap":false,"_cnpm_publish_time":1484824843686,"_cnpmcore_publish_time":"2021-12-16T14:23:36.926Z"},"0.3.3":{"name":"rambda","version":"0.3.3","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"c88062885103cdb413635c8a1d34ca504e3e45fa","_id":"rambda@0.3.3","_shasum":"6df502d8d54d16a57d342ab1ea647f3b4acdf1a1","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"6df502d8d54d16a57d342ab1ea647f3b4acdf1a1","size":218354,"noattachment":false,"key":"/rambda/-/rambda-0.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.3.3.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/rambda-0.3.3.tgz_1484699960834_0.29918150743469596"},"directories":{},"publish_time":1484699961608,"_hasShrinkwrap":false,"_cnpm_publish_time":1484699961608,"_cnpmcore_publish_time":"2021-12-16T14:23:37.760Z"},"0.3.2":{"name":"rambda","version":"0.3.2","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"e4bae7d86950d5605a0c3b7120111342e9acf227","_id":"rambda@0.3.2","_shasum":"0041e1ec120a517fdc5c9c4076566921dabfc7de","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"0041e1ec120a517fdc5c9c4076566921dabfc7de","size":218176,"noattachment":false,"key":"/rambda/-/rambda-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.3.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.3.2.tgz_1484697710253_0.8171614506281912"},"directories":{},"publish_time":1484697712539,"_hasShrinkwrap":false,"_cnpm_publish_time":1484697712539,"_cnpmcore_publish_time":"2021-12-16T14:23:38.621Z"},"0.3.1":{"name":"rambda","version":"0.3.1","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"1fd977ce2ce2af66039b46be8c4fdc0afe2e59f0","_id":"rambda@0.3.1","_shasum":"3e136e12889d01adf2e8787a8b92c1705faf81ca","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"3e136e12889d01adf2e8787a8b92c1705faf81ca","size":215081,"noattachment":false,"key":"/rambda/-/rambda-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.3.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/rambda-0.3.1.tgz_1484686742438_0.004392666509374976"},"directories":{},"publish_time":1484686743170,"_hasShrinkwrap":false,"_cnpm_publish_time":1484686743170,"_cnpmcore_publish_time":"2021-12-16T14:23:39.326Z"},"0.3.0":{"name":"rambda","version":"0.3.0","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","lodash":"^4.17.4","ramda":"*"},"gitHead":"e1844adacff9a07f66db0d088e8d2118a94c7a7f","_id":"rambda@0.3.0","_shasum":"2efc8a28836ef58b2e8a886d83a25c8bc96cbd1e","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"2efc8a28836ef58b2e8a886d83a25c8bc96cbd1e","size":215080,"noattachment":false,"key":"/rambda/-/rambda-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.3.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.3.0.tgz_1484675216597_0.2755855063442141"},"directories":{},"publish_time":1484675218857,"_hasShrinkwrap":false,"_cnpm_publish_time":1484675218857,"_cnpmcore_publish_time":"2021-12-16T14:23:40.932Z"},"0.2.1":{"name":"rambda","version":"0.2.1","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","ramda":"*","jest":"^18.1.0"},"gitHead":"12d271c2715248935d17595b7aa46bb1dabcd552","_id":"rambda@0.2.1","_shasum":"b74a66ce74e386f2f8f27806b9d2d8d73b9ef7aa","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"b74a66ce74e386f2f8f27806b9d2d8d73b9ef7aa","size":115399,"noattachment":false,"key":"/rambda/-/rambda-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.2.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/rambda-0.2.1.tgz_1484578662870_0.14699818147346377"},"directories":{},"publish_time":1484578663535,"_hasShrinkwrap":false,"_cnpm_publish_time":1484578663535,"_cnpmcore_publish_time":"2021-12-16T14:23:41.735Z"},"0.2.0":{"name":"rambda","version":"0.2.0","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","ramda":"*","jest":"^18.1.0"},"gitHead":"52a822b227c79c9ecc036870a0c92c459850a80f","_id":"rambda@0.2.0","_shasum":"4416e088da4c0902b04d04936de7a76c881e9aab","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"4416e088da4c0902b04d04936de7a76c881e9aab","size":115397,"noattachment":false,"key":"/rambda/-/rambda-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.2.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/rambda-0.2.0.tgz_1484578184375_0.917028147727251"},"directories":{},"publish_time":1484578185022,"_hasShrinkwrap":false,"_cnpm_publish_time":1484578185022,"_cnpmcore_publish_time":"2021-12-16T14:23:42.307Z"},"0.1.5":{"name":"rambda","version":"0.1.5","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","ramda":"*","jest":"^18.1.0"},"gitHead":"51d1aed62a499bd64cd5a0009649f159feef52cd","_id":"rambda@0.1.5","_shasum":"857cf89629574466d48409cd58ffd35ac10d3f71","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"857cf89629574466d48409cd58ffd35ac10d3f71","size":114782,"noattachment":false,"key":"/rambda/-/rambda-0.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.1.5.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.1.5.tgz_1484576088743_0.6217889313120395"},"directories":{},"publish_time":1484576090873,"_hasShrinkwrap":false,"_cnpm_publish_time":1484576090873,"_cnpmcore_publish_time":"2021-12-16T14:23:42.746Z"},"0.1.4":{"name":"rambda","version":"0.1.4","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","ramda":"*","jest":"^18.1.0"},"gitHead":"929f75398d67c1d3d43d4cf7923c4dd18bde3f95","_id":"rambda@0.1.4","_shasum":"eefe61a2cfe236841de0f4448fb56cada065c464","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"eefe61a2cfe236841de0f4448fb56cada065c464","size":8088,"noattachment":false,"key":"/rambda/-/rambda-0.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.1.4.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.1.4.tgz_1484526920340_0.96604357752949"},"directories":{},"publish_time":1484526922522,"_hasShrinkwrap":false,"_cnpm_publish_time":1484526922522,"_cnpmcore_publish_time":"2021-12-16T14:23:43.018Z"},"0.1.3":{"name":"rambda","version":"0.1.3","description":"Lightweight alternative to Ramda","main":"index.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^2.1.3","jest":"^18.1.0","ramda":"*"},"gitHead":"be756e8c1259734899b259970d3d26af7a195211","_id":"rambda@0.1.3","_shasum":"b45ae440408a14be7840f4ec21bf95aa92ed2e38","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"b45ae440408a14be7840f4ec21bf95aa92ed2e38","size":6202,"noattachment":false,"key":"/rambda/-/rambda-0.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.1.3.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/rambda-0.1.3.tgz_1484509356779_0.7265694125089794"},"directories":{},"publish_time":1484509357349,"_hasShrinkwrap":false,"_cnpm_publish_time":1484509357349,"_cnpmcore_publish_time":"2021-12-16T14:23:43.216Z"},"0.1.2":{"name":"rambda","version":"0.1.2","description":"Lightweight alternative to Ramda","main":"rambda.min.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"jest":"^18.1.0"},"gitHead":"304425922a277e047de512d78a8e777ef1d9743a","_id":"rambda@0.1.2","_shasum":"384e28ffe67dcfc0de657905e9370501c323f7e4","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"384e28ffe67dcfc0de657905e9370501c323f7e4","size":5638,"noattachment":false,"key":"/rambda/-/rambda-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.1.2.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.1.2.tgz_1484504105659_0.12249621143564582"},"directories":{},"publish_time":1484504108346,"_hasShrinkwrap":false,"_cnpm_publish_time":1484504108346,"_cnpmcore_publish_time":"2021-12-16T14:23:43.436Z"},"0.1.1":{"name":"rambda","version":"0.1.1","description":"Lightweight alternative to Ramda","main":"rambda.min.js","scripts":{"test":"jest","cover":"jest --coverage","de":"git add . --all&&git commit -m update&&git push"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","devDependencies":{"jest":"^18.1.0"},"gitHead":"772f2fb1ba4631f6676dbd3008467791c05bb72d","_id":"rambda@0.1.1","_shasum":"ffb0ace78c236f66e2197e4dace7bb9a4b76ff30","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"ffb0ace78c236f66e2197e4dace7bb9a4b76ff30","size":4121,"noattachment":false,"key":"/rambda/-/rambda-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.1.1.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.1.1.tgz_1484491827057_0.7421174319460988"},"directories":{},"publish_time":1484491829053,"_hasShrinkwrap":false,"_cnpm_publish_time":1484491829053,"_cnpmcore_publish_time":"2021-12-16T14:23:43.674Z"},"0.1.0":{"name":"rambda","version":"0.1.0","description":"Lightweight alternative to Ramda","main":"rambda.js","scripts":{"test":"npm test"},"repository":{"type":"git","url":"git+https://github.com/selfrefactor/rambda.git"},"keywords":["ramda","fp","functional","utility"],"author":{"name":"self_refactor"},"license":"ISC","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"homepage":"https://github.com/selfrefactor/rambda#readme","gitHead":"fda24326a5faf4993a950f6a84962f560edcce48","_id":"rambda@0.1.0","_shasum":"fae1532e0410e25c114de0c4b9f815c8d25fcd26","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"self_refactor","email":"deyan8284@gmail.com"},"dist":{"shasum":"fae1532e0410e25c114de0c4b9f815c8d25fcd26","size":5448,"noattachment":false,"key":"/rambda/-/rambda-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rambda/download/rambda-0.1.0.tgz"},"maintainers":[{"name":"self_refactor","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rambda-0.1.0.tgz_1484488433267_0.849189416738227"},"directories":{},"publish_time":1484488435408,"_hasShrinkwrap":false,"_cnpm_publish_time":1484488435408,"_cnpmcore_publish_time":"2021-12-16T14:23:43.882Z"}},"readme":"# Rambda\n\n`Rambda` is TypeScript-focused utility library similar to `Remeda`, `Ramda` and `Radashi`. - [Documentation site](https://selfrefactor.github.io/rambda/#/)\n\n![Commit activity](https://img.shields.io/github/commit-activity/y/selfrefactor/rambda)\n![Library size](https://img.shields.io/bundlephobia/minzip/rambda)\n[![install size](https://packagephobia.com/badge?p=rambda)](https://packagephobia.com/result?p=rambda)\n[![PR's Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](https://github.com/selfrefactor/rambda/pulls)\n[![GitHub contributors](https://img.shields.io/github/contributors/selfrefactor/rambda.svg)](https://github.com/selfrefactor/rambda/graphs/contributors)\n\n## ❯ Example use\n\n```javascript\nimport { pipe, filter, map } from 'rambda'\n\nconst result = pipe(\n  [1, 2, 3, 4],\n  filter(x => x > 2),\n  map(x => x * 2),\n)\n//=> [6, 8]\n```\n\nYou can test this example in <a href=\"https://rambda.netlify.app/?const%20result%20%3D%20R.pipe(%0A%20%20%5B1%2C%202%2C%203%2C%204%5D%2C%0A%20%20R.filter(x%20%3D%3E%20x%20%3E%202)%2C%0A%20%20R.map(x%20%3D%3E%20x%20*%202)%2C%0A)%0A%2F%2F%20%3D%3E%20%5B6%2C%208%5D\">Rambda's REPL</a>\n\n* [API](#api)\n* [Changelog](#-changelog)\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#-example-use)\n\n## ❯ Rambda's features\n\n## ❯ Goals\n\n### Typescript focus\n\nMixing `Functional Programming` and `TypeScript` is not easy.\n\nOne way to solve this is to focus what can be actually achieved and refrain from what is not possible.\n\n### `R.pipe` as the main way to use Rambda\n\n- All methods are meant to be used as part of `R.pipe` chain\n\n- This is the main purpose of functional programming, i.e. to pass data through a chain of functions.\n\n- Having `R.pipe(input, ...fns)` helps TypeScript to infer the types of the input and the output.\n\nHere is one example why `R.pipe` is better than `Ramda.pipe`:\n\n```ts\nconst list = [1, 2, 3];\n\nit('within pipe', () => {\n\tconst result = pipe(\n\t\tlist,\n\t\tfilter((x) => {\n\t\t\tx; // $ExpectType number\n\t\t\treturn x > 1;\n\t\t}),\n\t);\n\tresult; // $ExpectType number[]\n});\nit('within Ramda.pipe requires explicit types', () => {\n\tRamda.pipe(\n\t\t(x) => x,\n\t\tfilter<number>((x) => {\n\t\t\tx; // $ExpectType number\n\t\t\treturn x > 1;\n\t\t}),\n\t\tfilter((x: number) => {\n\t\t\tx; // $ExpectType number\n\t\t\treturn x > 1;\n\t\t}),\n\t)(list);\n});\n```\n\n:exclamation: IMPORTANT - all methods are tested to deliver correct types when they are part of `R.pipe/R.pipeAsync` chains.\n\nIn other words:\n\n```typescript\nR.filter(x => x > 1)([1,2,3])\n```\n\nmight trigger TS error as it not the same as\n\n```typescript\n\nR.pipe([1,2,3], R.filter(x => x > 1)\n```\n\n### :exclamation: All methods are curried\n\nThere is one way to use `Rambda` methods and it is with currying, i.e. using `R.filter(fn, list)` will not work as it is inteded to be `R.filter(fn)(list)`.\n\nThe reason is that all methods are supposed to be used inside `R.pipe`. After all, building chains is the very base of functional programming. \n\nOf course, there is value in supporting the case where you can pass all inputs at once, but I find that the price in terms of maintainability is not worth it.\n\n### Keep only the most useful methods\n\nThe idea is to give `TypeScript` users only the most useful methods and let them implement the rest. No magic logic methods that are hard to remember. You shouldn't need to read the documentation to understand what a method does. Its name and signature should be enough.\n\n- Methods that are simply to remember only by its name. Complex logic shouldn't be part of utility library, but part of your codebase.\n\n- Keep only methods which are both useful and which behaviour is obvious from its name. For example, `R.innerJoin` is kept, but `R.identical`, `R.move` is removed. Methods such as `R.toLower`, `R.length` provide little value. Such method are omitted from Rambda on purpose.\n\n- Some generic methods such as `curry` and `assoc` is not easy to be expressed in TypeScript. For this reason `Rambda` omits such methods.\n\n- No `R.cond` or `R.ifElse` as they make the chain less readable.\n\n- No `R.length` as it adds very little value.\n\n- No `R.difference` as user must remember the order of the inputs, i.e. which is compared to and which is compared against.\n\n### One way to use each method\n\nBecause of the focus on `R.pipe`, there is only one way to use each method. This helps with testing and also with TypeScript definitions.\n\n- All methods that 2 inputs, will have to be called with `R.methodName(input1)(input2)`\n- All methods that 3 inputs, will have to be called with `R.methodName(input1, input2)(input3)`\n\n### Deno support \n\n```\nimport * as R from \"https://deno.land/x/rambda/mod.ts\";\n\nR.filter(x => x > 1)([1, 2, 3])\n```\n\n### Dot notation for `R.path`\n\nStandard usage of `R.path` is `R.path(['a', 'b'])({a: {b: 1} })`.\n\nIn **Rambda** you have the choice to use dot notation(which is arguably more readable):\n\n```\nR.path('a.b')({a: {b: 1} })\n```\n\nPlease note that since path input is turned into array, i.e. if you want `R.path(['a','1', 'b'])({a: {'1': {b: 2}}})` to return `2`, you will have to pass array path, not string path. If you pass `a.1.b`, it will turn path input to `['a', 1, 'b']`.\n\n### Comma notation for `R.pick` and `R.omit`\n\nSimilar to dot notation, but the separator is comma(`,`) instead of dot(`.`).\n\n```\nR.pick('a,b', {a: 1 , b: 2, c: 3} })\n// No space allowed between properties\n```\n\n### Differences between Rambda and Ramda\n\nUp until version `9.4.2`, the aim of Rambda was to match as much as possible the Ramda API.\n\nYou can find documentation site of **Rambda** version **9.4.2** is [here](https://selfrefactor.github.io/rambda-v9/).\n\nFrom version `10.0.0` onwards, **Rambda** is no longer aiming to be drop-in replacement for *Ramda*.\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#-rambdas-features)\n\n## API\n\n### addProp\n\n```typescript\n\naddProp<T extends object, P extends PropertyKey, V extends unknown>(\n\tprop: P,\n\tvalue: V\n): (obj: T) => MergeTypes<T & Record<P, V>>\n```\n\nIt adds new key-value pair to the object.\n\n```javascript\nconst result = R.pipe(\n\t{ a: 1, b: 'foo' },\n\tR.addProp('c', 3)\n)\n// => { a: 1, b: 'foo', c: 3 }\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.pipe(%0A%09%7B%20a%3A%201%2C%20b%3A%20'foo'%20%7D%2C%0A%09R.addProp('c'%2C%203)%0A)%0A%2F%2F%20%3D%3E%20%7B%20a%3A%201%2C%20b%3A%20'foo'%2C%20c%3A%203%20%7D\">Try this <strong>R.addProp</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\naddProp<T extends object, P extends PropertyKey, V extends unknown>(\n\tprop: P,\n\tvalue: V\n): (obj: T) => MergeTypes<T & Record<P, V>>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.addProp</strong> source</summary>\n\n```javascript\nexport function addProp(key, value) {\n  return obj => ({ ...obj, [key]: value })\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { addProp } from './addProp.js'\n\ntest('happy', () => {\n\tconst result = addProp('a', 1)({ b: 2 })\n\tconst expected = { a: 1, b: 2 }\n\n\texpect(result).toEqual(expected)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { addProp, pipe } from 'rambda'\n\nit('R.addProp', () => {\n\tconst result = pipe({ a: 1, b: 'foo' }, addProp('c', 3))\n\tresult.a // $ExpectType number\n\tresult.b // $ExpectType string\n\tresult.c // $ExpectType number\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#addProp)\n\n### addPropToObjects\n\n```typescript\n\naddPropToObjects<\n  T extends object,\n  K extends string,\n  R\n>(\n\tproperty: K,\n  fn: (input: T) => R\n): (list: T[]) => MergeTypes<T & { [P in K]: R }>[]\n```\n\nIt receives list of objects and add new property to each item.\n\nThe value is based on result of `fn` function, which receives the current object as argument.\n\n```javascript\nconst result = R.pipe(\n\t[\n\t\t{a: 1, b: 2},\n\t\t{a: 3, b: 4},\n\t],\n\tR.addPropToObjects(\n\t\t'c',\n\t\t(x) => String(x.a + x.b),\n\t)\n)\n// => [{a: 1, b: 2, c: '3'}, {a: 3, b: 4, c: '7'}]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.pipe(%0A%09%5B%0A%09%09%7Ba%3A%201%2C%20b%3A%202%7D%2C%0A%09%09%7Ba%3A%203%2C%20b%3A%204%7D%2C%0A%09%5D%2C%0A%09R.addPropToObjects(%0A%09%09'c'%2C%0A%09%09(x)%20%3D%3E%20String(x.a%20%2B%20x.b)%2C%0A%09)%0A)%0A%2F%2F%20%3D%3E%20%5B%7Ba%3A%201%2C%20b%3A%202%2C%20c%3A%20'3'%7D%2C%20%7Ba%3A%203%2C%20b%3A%204%2C%20c%3A%20'7'%7D%5D\">Try this <strong>R.addPropToObjects</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\naddPropToObjects<\n  T extends object,\n  K extends string,\n  R\n>(\n\tproperty: K,\n  fn: (input: T) => R\n): (list: T[]) => MergeTypes<T & { [P in K]: R }>[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.addPropToObjects</strong> source</summary>\n\n```javascript\nimport { mapFn } from './map.js'\n\nexport function addPropToObjects (\n\tproperty, \n\tfn\n){\n\treturn listOfObjects => mapFn(\n\t\t(obj) => ({\n\t\t\t...(obj),\n\t\t\t[property]: fn(obj)\n\t\t}), \n\t\tlistOfObjects\n\t)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { pipe } from './pipe.js'\nimport { addPropToObjects } from './addPropToObjects.js'\n\ntest('R.addPropToObjects', () => {\n\t\tlet result = pipe(\n\t\t\t[\n\t\t\t\t{a: 1, b: 2},\n\t\t\t\t{a: 3, b: 4},\n\t\t\t],\n\t\t\taddPropToObjects(\n\t\t\t\t'c',\n\t\t\t\t(x) => String(x.a + x.b),\n\t\t\t)\n\t\t)\n\t\texpect(result).toEqual([\n\t\t\t{ a: 1, b: 2, c: '3' },\n\t\t\t{ a: 3, b: 4, c: '7' },\n\t\t])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { addPropToObjects, pipe } from 'rambda'\n\nit('R.addPropToObjects', () => {\n\t\tlet result = pipe(\n\t\t\t[\n\t\t\t\t{a: 1, b: 2},\n\t\t\t\t{a: 3, b: 4},\n\t\t\t],\n\t\t\taddPropToObjects(\n\t\t\t\t'c',\n\t\t\t\t(x) => String(x.a + x.b),\n\t\t\t)\n\t\t)\n\t\tresult // $ExpectType { a: number; b: number; c: string; }[]\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#addPropToObjects)\n\n### all\n\n```typescript\n\nall<T>(predicate: (x: T) => boolean): (list: T[]) => boolean\n```\n\nIt returns `true`, if all members of array `list` returns `true`, when applied as argument to `predicate` function.\n\n```javascript\nconst list = [ 0, 1, 2, 3, 4 ]\nconst predicate = x => x > -1\n\nconst result = R.pipe(\n\tlist,\n\tR.all(predicate)\n) // => true\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%200%2C%201%2C%202%2C%203%2C%204%20%5D%0Aconst%20predicate%20%3D%20x%20%3D%3E%20x%20%3E%20-1%0A%0Aconst%20result%20%3D%20R.pipe(%0A%09list%2C%0A%09R.all(predicate)%0A)%20%2F%2F%20%3D%3E%20true\">Try this <strong>R.all</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nall<T>(predicate: (x: T) => boolean): (list: T[]) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.all</strong> source</summary>\n\n```javascript\nexport function all(predicate) {\n  return list => {\n    for (let i = 0; i < list.length; i++) {\n      if (!predicate(list[i])) {\n        return false\n      }\n    }\n\n    return true\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { all } from './all.js'\n\nconst list = [0, 1, 2, 3, 4]\n\ntest('when true', () => {\n  const fn = x => x > -1\n\n  expect(all(fn)(list)).toBeTruthy()\n})\n\ntest('when false', () => {\n  const fn = x => x > 2\n\n  expect(all(fn)(list)).toBeFalsy()\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport * as R from 'rambda'\n\ndescribe('all', () => {\n  it('happy', () => {\n    const result = R.pipe(\n      [1, 2, 3],\n      R.all(x => {\n        x // $ExpectType number\n        return x > 0\n      }),\n    )\n    result // $ExpectType boolean\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#all)\n\n### allPass\n\n```typescript\n\nallPass<F extends (...args: any[]) => boolean>(predicates: readonly F[]): F\n```\n\nIt returns `true`, if all functions of `predicates` return `true`, when `input` is their argument.\n\n```javascript\nconst list = [[1, 2, 3, 4], [3, 4, 5]]\nconst result = R.pipe(\n\tlist,\n\tR.filter(R.allPass([R.includes(2), R.includes(3)]))\n) // => [[1, 2, 3, 4]]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%5B1%2C%202%2C%203%2C%204%5D%2C%20%5B3%2C%204%2C%205%5D%5D%0Aconst%20result%20%3D%20R.pipe(%0A%09list%2C%0A%09R.filter(R.allPass(%5BR.includes(2)%2C%20R.includes(3)%5D))%0A)%20%2F%2F%20%3D%3E%20%5B%5B1%2C%202%2C%203%2C%204%5D%5D\">Try this <strong>R.allPass</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nallPass<F extends (...args: any[]) => boolean>(predicates: readonly F[]): F;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.allPass</strong> source</summary>\n\n```javascript\nexport function allPass(predicates) {\n  return input => {\n    let counter = 0\n    while (counter < predicates.length) {\n      if (!predicates[counter](input)) {\n        return false\n      }\n      counter++\n    }\n\n    return true\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { allPass } from './allPass.js'\nimport { filter } from './filter.js'\nimport { pipe } from './pipe.js'\n\nconst list = [\n  [1, 2, 3, 4],\n  [3, 4, 5],\n]\ntest('happy', () => {\n  const result = pipe(list, filter(allPass([x => x.includes(2), x => x.includes(3)])))\n  expect(result).toEqual([[1, 2, 3, 4]])\n})\n\ntest('when returns false', () => {\n  const result = pipe(list, filter(allPass([x => x.includes(12), x => x.includes(31)])))\n  expect(result).toEqual([])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport * as R from 'rambda'\n\ndescribe('allPass', () => {\n  it('happy', () => {\n    const list = [\n      [1, 2, 3, 4],\n      [3, 4, 5],\n    ]\n    const result = R.pipe(list, R.map(R.allPass([\n\t\t\t(x) => x.length > 2,\n\t\t\t(x) => x.includes(3)\n\t\t])))\n    result // $ExpectType boolean[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#allPass)\n\n### any\n\n```typescript\n\nany<T>(predicate: (x: T) => boolean): (list: T[]) => boolean\n```\n\nIt returns `true`, if at least one member of `list` returns true, when passed to a `predicate` function.\n\n```javascript\nconst list = [1, 2, 3]\nconst predicate = x => x * x > 8\nR.any(predicate)(list)\n// => true\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B1%2C%202%2C%203%5D%0Aconst%20predicate%20%3D%20x%20%3D%3E%20x%20*%20x%20%3E%208%0Aconst%20result%20%3D%20R.any(predicate)(list)%0A%2F%2F%20%3D%3E%20true\">Try this <strong>R.any</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nany<T>(predicate: (x: T) => boolean): (list: T[]) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.any</strong> source</summary>\n\n```javascript\nexport function any(predicate) {\n  return list => {\n    let counter = 0\n    while (counter < list.length) {\n      if (predicate(list[counter], counter)) {\n        return true\n      }\n      counter++\n    }\n\n    return false\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { any } from './any.js'\n\nconst list = [1, 2, 3]\n\ntest('happy', () => {\n  expect(any(x => x > 2)(list)).toBeTruthy()\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { any, pipe } from 'rambda'\n\nit('R.any', () => {\n  const result = pipe(\n    [1, 2, 3],\n    any(x => {\n      x // $ExpectType number\n      return x > 2\n    }),\n  )\n  result // $ExpectType boolean\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#any)\n\n### anyPass\n\n```typescript\n\nanyPass<T, TF1 extends T, TF2 extends T>(\n  predicates: [(a: T) => a is TF1, (a: T) => a is TF2],\n): (a: T) => a is TF1 | TF2\n```\n\nIt accepts list of `predicates` and returns a function. This function with its `input` will return `true`, if any of `predicates` returns `true` for this `input`.\n\n```javascript\nconst isBig = x => x > 20\nconst isOdd = x => x % 2 === 1\nconst input = 11\n\nconst fn = R.anyPass(\n  [isBig, isOdd]\n)\n\nconst result = fn(input)\n// => true\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20isBig%20%3D%20x%20%3D%3E%20x%20%3E%2020%0Aconst%20isOdd%20%3D%20x%20%3D%3E%20x%20%25%202%20%3D%3D%3D%201%0Aconst%20input%20%3D%2011%0A%0Aconst%20fn%20%3D%20R.anyPass(%0A%20%20%5BisBig%2C%20isOdd%5D%0A)%0A%0Aconst%20result%20%3D%20fn(input)%0A%2F%2F%20%3D%3E%20true\">Try this <strong>R.anyPass</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nanyPass<T, TF1 extends T, TF2 extends T>(\n  predicates: [(a: T) => a is TF1, (a: T) => a is TF2],\n): (a: T) => a is TF1 | TF2;\nanyPass<T, TF1 extends T, TF2 extends T, TF3 extends T>(\n  predicates: [(a: T) => a is TF1, (a: T) => a is TF2, (a: T) => a is TF3],\n): (a: T) => a is TF1 | TF2 | TF3;\nanyPass<T, TF1 extends T, TF2 extends T, TF3 extends T>(\n  predicates: [(a: T) => a is TF1, (a: T) => a is TF2, (a: T) => a is TF3],\n): (a: T) => a is TF1 | TF2 | TF3;\nanyPass<T, TF1 extends T, TF2 extends T, TF3 extends T, TF4 extends T>(\n  predicates: [(a: T) => a is TF1, (a: T) => a is TF2, (a: T) => a is TF3, (a: T) => a is TF4],\n): (a: T) => a is TF1 | TF2 | TF3 | TF4;\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.anyPass</strong> source</summary>\n\n```javascript\nexport function anyPass(predicates) {\n  return input => {\n    let counter = 0\n    while (counter < predicates.length) {\n      if (predicates[counter](input)) {\n        return true\n      }\n      counter++\n    }\n\n    return false\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { anyPass } from './anyPass.js'\n\ntest('happy', () => {\n  const rules = [x => typeof x === 'string', x => x > 10]\n  const predicate = anyPass(rules)\n  expect(predicate('foo')).toBeTruthy()\n  expect(predicate(6)).toBeFalsy()\n})\n\ntest('happy', () => {\n  const rules = [x => typeof x === 'string', x => x > 10]\n\n  expect(anyPass(rules)(11)).toBeTruthy()\n  expect(anyPass(rules)(undefined)).toBeFalsy()\n})\n\nconst obj = {\n  a: 1,\n  b: 2,\n}\n\ntest('when returns true', () => {\n  const conditionArr = [val => val.a === 1, val => val.a === 2]\n\n  expect(anyPass(conditionArr)(obj)).toBeTruthy()\n})\n\ntest('when returns false', () => {\n  const conditionArr = [val => val.a === 2, val => val.b === 3]\n\n  expect(anyPass(conditionArr)(obj)).toBeFalsy()\n})\n\ntest('with empty predicates list', () => {\n  expect(anyPass([])(3)).toBeFalsy()\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { anyPass, filter } from 'rambda'\n\ndescribe('anyPass', () => {\n  it('issue #604', () => {\n    const plusEq = (w: number, x: number, y: number, z: number) => w + x === y + z\n    const result = anyPass([plusEq])(3, 3, 3, 3)\n\n    result // $ExpectType boolean\n  })\n  it('issue #642', () => {\n    const isGreater = (num: number) => num > 5\n    const pred = anyPass([isGreater])\n    const xs = [0, 1, 2, 3]\n\n    const filtered1 = filter(pred)(xs)\n    filtered1 // $ExpectType number[]\n    const filtered2 = xs.filter(pred)\n    filtered2 // $ExpectType number[]\n  })\n  it('functions as a type guard', () => {\n    const isString = (x: unknown): x is string => typeof x === 'string'\n    const isNumber = (x: unknown): x is number => typeof x === 'number'\n    const isBoolean = (x: unknown): x is boolean => typeof x === 'boolean'\n\n    const isStringNumberOrBoolean = anyPass([isString, isNumber, isBoolean])\n\n    const aValue: unknown = 1\n\n    if (isStringNumberOrBoolean(aValue)) {\n      aValue // $ExpectType string | number | boolean\n    }\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#anyPass)\n\n### append\n\n```typescript\n\nappend<T>(el: T): (list: readonly T[]) => T[]\n```\n\nIt adds element `x` at the end of `iterable`.\n\n```javascript\nconst result = R.append('foo')(['bar', 'baz'])\n// => ['bar', 'baz', 'foo']\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.append('foo')(%5B'bar'%2C%20'baz'%5D)%0A%2F%2F%20%3D%3E%20%5B'bar'%2C%20'baz'%2C%20'foo'%5D\">Try this <strong>R.append</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nappend<T>(el: T): (list: readonly T[]) => T[];\nappend<T>(el: T): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.append</strong> source</summary>\n\n```javascript\nimport { cloneList } from './_internals/cloneList.js'\n\nexport function append(x) {\n  return list => {\n    const clone = cloneList(list)\n    clone.push(x)\n\n    return clone\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { append } from './append.js'\n\ntest('happy', () => {\n  expect(append('tests')(['write', 'more'])).toEqual(['write', 'more', 'tests'])\n})\n\ntest('append to empty array', () => {\n  expect(append('tests')([])).toEqual(['tests'])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { append, pipe, prepend } from 'rambda'\n\nconst listOfNumbers = [1, 2, 3]\n\ndescribe('R.append/R.prepend', () => {\n  it('happy', () => {\n    const result = pipe(listOfNumbers, append(4), prepend(0))\n    result // $ExpectType number[]\n  })\n  it('with object', () => {\n    const result = pipe([{ a: 1 }], append({ a: 10 }), prepend({ a: 20 }))\n    result // $ExpectType { a: number; }[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#append)\n\n### ascend\n\n```typescript\n\nascend<T>(fn: (obj: T) => Ord): (a: T, b: T)=> Ordering\n```\n\nHelper function to be used with `R.sort` to sort list in ascending order.\n\n```javascript\nconst result = R.pipe(\n\t[{a: 1}, {a: 2}, {a: 0}],\n\tR.sort(R.ascend(R.prop('a')))\n)\n// => [{a: 0}, {a: 1}, {a: 2}]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.pipe(%0A%09%5B%7Ba%3A%201%7D%2C%20%7Ba%3A%202%7D%2C%20%7Ba%3A%200%7D%5D%2C%0A%09R.sort(R.ascend(R.prop('a')))%0A)%0A%2F%2F%20%3D%3E%20%5B%7Ba%3A%200%7D%2C%20%7Ba%3A%201%7D%2C%20%7Ba%3A%202%7D%5D\">Try this <strong>R.ascend</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nascend<T>(fn: (obj: T) => Ord): (a: T, b: T)=> Ordering;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.ascend</strong> source</summary>\n\n```javascript\nexport function createCompareFunction(a, b, winner, loser) {\n  if (a === b) {\n    return 0\n  }\n\n  return a < b ? winner : loser\n}\n\nexport function ascend(getFunction) {\n\treturn (a, b) => {\n  const aValue = getFunction(a)\n  const bValue = getFunction(b)\n\n  return createCompareFunction(aValue, bValue, -1, 1)\n}\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { ascend } from './ascend.js'\nimport { descend } from './descend.js'\nimport { sort } from './sort.js'\n\ntest('ascend', () => {\n  const result = sort(\n    ascend(x => x.a))(\n    [{a:1}, {a:3}, {a:2}],\n  )\n  expect(result).toEqual([{a:1}, {a:2}, {a:3}])\n})\n\ntest('descend', () => {\n  const result = sort(\n    descend(x => x.a))(\n    [{a:1}, {a:3}, {a:2}],\n  )\n  expect(result).toEqual([{a:3}, {a:2}, {a:1}])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, ascend, sort } from 'rambda'\n\nit('R.ascend', () => {\n\tconst result = pipe(\n\t\t[{a:1}, {a:2}],\n\t\tsort(ascend(x => x.a))\n\t)\n\tresult // $ExpectType { a: number; }[]\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#ascend)\n\n### assertType\n\n```typescript\n\nassertType<T, U extends T>(fn: (x: T) => x is U) : (x: T) => U\n```\n\nIt helps to make sure that input is from specific type. Similar to `R.convertToType`, but it actually checks the type of the input value. If `fn` input returns falsy value, then the function will throw an error.\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nassertType<T, U extends T>(fn: (x: T) => x is U) : (x: T) => U;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.assertType</strong> source</summary>\n\n```javascript\nexport function assertType(fn) {\n  return (x) => {\n    if (fn(x)) {\n      return x\n    }\n    throw new Error('type assertion failed in R.assertType')\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { assertType } from './assertType.js'\nimport { pipe } from './pipe.js'\n\ntest('happy', () => {\n  const result = pipe(\n\t\t[1, 2, 3],\n\t\tassertType((x) => x.length === 3),\n\t)\n\texpect(result).toEqual([1, 2, 3])\n})\n\ntest('throw', () => {\n\texpect(() => {\n\t\tpipe(\n\t\t\t[1, 2, 3],\n\t\t\tassertType((x) => x.length === 4),\n\t\t)\n\t}).toThrow('type assertion failed in R.assertType')\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, assertType } from 'rambda'\n\ntype Book = {\n\ttitle: string\n\tyear: number\n}\n\ntype BookToRead = Book & {\n\tbookmarkFlag: boolean\n}\n\nfunction isBookToRead(book: Book): book is BookToRead {\n\treturn (book as BookToRead).bookmarkFlag !== undefined \n}\n\nit('R.assertType', () => {\n\tconst result = pipe(\n\t\t{ title: 'Book1', year: 2020, bookmarkFlag: true },\n\t\tassertType(isBookToRead),\n\t)\n\tresult // $ExpectType BookToRead\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#assertType)\n\n### checkObjectWithSpec\n\n```typescript\n\ncheckObjectWithSpec<T>(spec: T): <U>(testObj: U) => boolean\n```\n\nIt returns `true` if all each property in `conditions` returns `true` when applied to corresponding property in `input` object.\n\n```javascript\nconst condition = R.checkObjectWithSpec({\n  a : x => typeof x === \"string\",\n  b : x => x === 4\n})\nconst input = {\n  a : \"foo\",\n  b : 4,\n  c : 11,\n}\n\nconst result = condition(input)\n// => true\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20condition%20%3D%20R.checkObjectWithSpec(%7B%0A%20%20a%20%3A%20x%20%3D%3E%20typeof%20x%20%3D%3D%3D%20%22string%22%2C%0A%20%20b%20%3A%20x%20%3D%3E%20x%20%3D%3D%3D%204%0A%7D)%0Aconst%20input%20%3D%20%7B%0A%20%20a%20%3A%20%22foo%22%2C%0A%20%20b%20%3A%204%2C%0A%20%20c%20%3A%2011%2C%0A%7D%0A%0Aconst%20result%20%3D%20condition(input)%0A%2F%2F%20%3D%3E%20true\">Try this <strong>R.checkObjectWithSpec</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ncheckObjectWithSpec<T>(spec: T): <U>(testObj: U) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.checkObjectWithSpec</strong> source</summary>\n\n```javascript\nexport function checkObjectWithSpec(conditions) {\n  return input => {\n    let shouldProceed = true\n    for (const prop in conditions) {\n      if (!shouldProceed) {\n        continue\n      }\n      const result = conditions[prop](input[prop])\n      if (shouldProceed && result === false) {\n        shouldProceed = false\n      }\n    }\n\n    return shouldProceed\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { checkObjectWithSpec } from './checkObjectWithSpec.js'\nimport { equals } from './equals.js'\n\ntest('when true', () => {\n  const result = checkObjectWithSpec({\n    a: equals('foo'),\n    b: equals('bar'),\n  })({\n    a: 'foo',\n    b: 'bar',\n    x: 11,\n    y: 19,\n  })\n\n  expect(result).toBeTruthy()\n})\n\ntest('when false | early exit', () => {\n  let counter = 0\n  const equalsFn = expected => input => {\n    counter++\n\n    return input === expected\n  }\n  const predicate = checkObjectWithSpec({\n    a: equalsFn('foo'),\n    b: equalsFn('baz'),\n  })\n  expect(\n    predicate({\n      a: 'notfoo',\n      b: 'notbar',\n    }),\n  ).toBeFalsy()\n  expect(counter).toBe(1)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { checkObjectWithSpec, equals } from 'rambda'\n\ndescribe('R.checkObjectWithSpec', () => {\n  it('happy', () => {\n    const input = {\n      a: 'foo',\n      b: 'bar',\n      x: 11,\n      y: 19,\n    }\n    const conditions = {\n      a: equals('foo'),\n      b: equals('bar'),\n    }\n    const result = checkObjectWithSpec(conditions)(input)\n    result // $ExpectType boolean\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#checkObjectWithSpec)\n\n### compact\n\n```typescript\n\ncompact<T>(list: T[]): Array<StrictNonNullable<T>>\n```\n\nIt removes `null` and `undefined` members from list or object input.\n\n```javascript\nconst result = R.pipe(\n\t{\n\t\ta: [ undefined, '', 'a', 'b', 'c'],\n\t\tb: [1,2, null, 0, undefined, 3],\n\t\tc: { a: 1, b: 2, c: 0, d: undefined, e: null, f: false },\n\t},\n\tx => ({\n\t\ta: R.compact(x.a),\n\t\tb: R.compact(x.b),\n\t\tc: R.compact(x.c)\n\t})\n)\n// => { a: ['a', 'b', 'c'], b: [1, 2, 3], c: { a: 1, b: 2, c: 0, f: false } }\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.pipe(%0A%09%7B%0A%09%09a%3A%20%5B%20undefined%2C%20''%2C%20'a'%2C%20'b'%2C%20'c'%5D%2C%0A%09%09b%3A%20%5B1%2C2%2C%20null%2C%200%2C%20undefined%2C%203%5D%2C%0A%09%09c%3A%20%7B%20a%3A%201%2C%20b%3A%202%2C%20c%3A%200%2C%20d%3A%20undefined%2C%20e%3A%20null%2C%20f%3A%20false%20%7D%2C%0A%09%7D%2C%0A%09x%20%3D%3E%20(%7B%0A%09%09a%3A%20R.compact(x.a)%2C%0A%09%09b%3A%20R.compact(x.b)%2C%0A%09%09c%3A%20R.compact(x.c)%0A%09%7D)%0A)%0A%2F%2F%20%3D%3E%20%7B%20a%3A%20%5B'a'%2C%20'b'%2C%20'c'%5D%2C%20b%3A%20%5B1%2C%202%2C%203%5D%2C%20c%3A%20%7B%20a%3A%201%2C%20b%3A%202%2C%20c%3A%200%2C%20f%3A%20false%20%7D%20%7D\">Try this <strong>R.compact</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ncompact<T>(list: T[]): Array<StrictNonNullable<T>>;\ncompact<T extends object>(record: T): {\n  [K in keyof T as Exclude<T[K], null | undefined> extends never\n    ? never\n    : K\n  ]: Exclude<T[K], null | undefined>\n};\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.compact</strong> source</summary>\n\n```javascript\nimport { isArray } from './_internals/isArray.js'\nimport { reject } from './reject.js'\nimport { rejectObject } from './rejectObject.js'\n\nconst isNullOrUndefined = x => x === null || x === undefined\n\nexport function compact(input){\n\tif(isArray(input)){\n\t\treturn reject(isNullOrUndefined)(input)\n\t}\n\treturn rejectObject(isNullOrUndefined)(input)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { compact } from './compact.js'\nimport { pipe } from './pipe.js'\n\ntest('happy', () => {\n  const result = pipe(\n\t\t{\n\t\t\ta: [ undefined, 'a', 'b', 'c'],\n\t\t\tb: [1,2, null, 0, undefined, 3],\n\t\t\tc: { a: 1, b: 2, c: 0, d: undefined, e: null, f: false },\n\t\t},\n\t\tx => ({\n\t\t\ta: compact(x.a),\n\t\t\tb: compact(x.b),\n\t\t\tc: compact(x.c)\n\t\t})\n\t)\n\texpect(result.a).toEqual(['a', 'b', 'c'])\n\texpect(result.b).toEqual([1,2,0,3])\n\texpect(result.c).toEqual({ a: 1, b: 2,c:0, f: false })\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { compact, pipe } from 'rambda'\n\nit('R.compact', () => {\n\t\tlet result = pipe(\n\t\t\t{\n\t\t\t\ta: [ undefined, '', 'a', 'b', 'c', null ],\n\t\t\t\tb: [1,2, null, 0, undefined, 3],\n\t\t\t\tc: { a: 1, b: 2, c: 0, d: undefined, e: null, f: false },\n\t\t\t},\n\t\t\tx => ({\n\t\t\t\ta: compact(x.a),\n\t\t\t\tb: compact(x.b),\n\t\t\t\tc: compact(x.c)\n\t\t\t})\n\t\t)\n\n\t\tresult.a // $ExpectType string[]\n\t\tresult.b // $ExpectType number[]\n\t\tresult.c // $ExpectType { a: number; b: number; c: number; f: boolean; }\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#compact)\n\n### complement\n\n```typescript\n\ncomplement<T extends any[]>(predicate: (...args: T) => unknown): (...args: T) => boolean\n```\n\nIt returns `inverted` version of `origin` function that accept `input` as argument.\n\nThe return value of `inverted` is the negative boolean value of `origin(input)`.\n\n```javascript\nconst fn = x => x > 5\nconst inverted = complement(fn)\n\nconst result = [\n  fn(7),\n  inverted(7)\n] => [ true, false ]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20fn%20%3D%20x%20%3D%3E%20x%20%3E%205%0Aconst%20inverted%20%3D%20complement(fn)%0A%0Aconst%20result%20%3D%20%5B%0A%20%20fn(7)%2C%0A%20%20inverted(7)%0A%5D%20%3D%3E%20%5B%20true%2C%20false%20%5D\">Try this <strong>R.complement</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ncomplement<T extends any[]>(predicate: (...args: T) => unknown): (...args: T) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.complement</strong> source</summary>\n\n```javascript\nexport function complement(fn) {\n  return (...input) => !fn(...input)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { complement } from './complement.js'\n\ntest('happy', () => {\n  const fn = complement(x => x.length === 0)\n\n  expect(fn([1, 2, 3])).toBeTruthy()\n})\n\ntest('with multiple parameters', () => {\n  const between = (a, b, c) => a < b && b < c\n  const f = complement(between)\n  expect(f(4, 5, 11)).toBeFalsy()\n  expect(f(12, 2, 6)).toBeTruthy()\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { complement } from 'rambda'\n\ndescribe('R.complement', () => {\n  it('happy', () => {\n    const fn = complement((x: number) => x > 10)\n    const result = fn(1)\n    result // $ExpectType boolean\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#complement)\n\n### concat\n\n```typescript\n\nconcat<T>(x: T[]): (y: T[]) => T[]\n```\n\nIt returns a new string or array, which is the result of merging `x` and `y`.\n\n```javascript\nR.concat([1, 2])([3, 4]) // => [1, 2, 3, 4]\nR.concat('foo')('bar') // => 'foobar'\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?R.concat(%5B1%2C%202%5D)(%5B3%2C%204%5D)%20%2F%2F%20%3D%3E%20%5B1%2C%202%2C%203%2C%204%5D%0Aconst%20result%20%3D%20R.concat('foo')('bar')%20%2F%2F%20%3D%3E%20'foobar'\">Try this <strong>R.concat</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nconcat<T>(x: T[]): (y: T[]) => T[];\nconcat(x: string): (y: string) => string;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.concat</strong> source</summary>\n\n```javascript\nexport function concat(x) {\n  return y => (typeof x === 'string' ? `${x}${y}` : [...x, ...y])\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { concat, pipe } from 'rambda'\n\nconst list1 = [1, 2, 3]\nconst list2 = [4, 5, 6]\n\nit('R.concat', () => {\n  const result = pipe(list1, concat(list2))\n  result // $ExpectType number[]\n  const resultString = pipe('foo', concat('list2'))\n  resultString // $ExpectType string\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#concat)\n\n### convertToType\n\n```typescript\n\nconvertToType<T>(x: unknown) : T\n```\n\nIt helps to convert a value to a specific type.\nIt is useful when you have to overcome TypeScript's type inference.\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nconvertToType<T>(x: unknown) : T;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.convertToType</strong> source</summary>\n\n```javascript\nexport function convertToType(x) {\n  return x\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { convertToType, pipe } from 'rambda'\n\nconst list = [1, 2, 3]\n\nit('R.convertToType', () => {\n  const result = pipe(list, \n\t\tconvertToType<string[]>,\n\t\tx => {\n\t\t\tx // $ExpectType string[]\n\t\t\treturn x \n\t\t}\n\t)\n  result // $ExpectType string[]\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#convertToType)\n\n### count\n\n```typescript\n\ncount<T>(predicate: (x: T) => boolean): (list: T[]) => number\n```\n\nIt counts how many times `predicate` function returns `true`, when supplied with iteration of `list`.\n\n```javascript\nconst list = [{a: 1}, 1, {a:2}]\nconst result = R.count(x => x.a !== undefined)(list)\n// => 2\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%7Ba%3A%201%7D%2C%201%2C%20%7Ba%3A2%7D%5D%0Aconst%20result%20%3D%20R.count(x%20%3D%3E%20x.a%20!%3D%3D%20undefined)(list)%0A%2F%2F%20%3D%3E%202\">Try this <strong>R.count</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ncount<T>(predicate: (x: T) => boolean): (list: T[]) => number;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.count</strong> source</summary>\n\n```javascript\nimport { isArray } from './_internals/isArray.js'\n\nexport function count(predicate) {\n  return list => {\n    if (!isArray(list)) {\n      return 0\n    }\n\n    return list.filter(x => predicate(x)).length\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { count } from './count.js'\n\nconst predicate = x => x.a !== undefined\n\ntest('with empty list', () => {\n  expect(count(predicate)([])).toBe(0)\n})\n\ntest('happy', () => {\n  const list = [1, 2, { a: 1 }, 3, { a: 1 }]\n\n  expect(count(predicate)(list)).toBe(2)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { count, pipe } from 'rambda'\n\nconst list = [1, 2, 3]\nconst predicate = (x: number) => x > 1\n\nit('R.count', () => {\n  const result = pipe(list, count(predicate))\n  result // $ExpectType number\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#count)\n\n### countBy\n\n```typescript\n\ncountBy<T>(fn: (x: T) => string | number): (list: T[]) => { [index: string]: number }\n```\n\nIt counts elements in a list after each instance of the input list is passed through `transformFn` function.\n\n```javascript\nconst list = [ 'a', 'A', 'b', 'B', 'c', 'C' ]\n\nconst result = countBy(x => x.toLowerCase())( list)\nconst expected = { a: 2, b: 2, c: 2 }\n// => `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%20'a'%2C%20'A'%2C%20'b'%2C%20'B'%2C%20'c'%2C%20'C'%20%5D%0A%0Aconst%20result%20%3D%20countBy(x%20%3D%3E%20x.toLowerCase())(%20list)%0Aconst%20expected%20%3D%20%7B%20a%3A%202%2C%20b%3A%202%2C%20c%3A%202%20%7D%0A%2F%2F%20%3D%3E%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.countBy</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ncountBy<T>(fn: (x: T) => string | number): (list: T[]) => { [index: string]: number };\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.countBy</strong> source</summary>\n\n```javascript\nexport function countBy(fn) {\n  return list => {\n    const willReturn = {}\n\n    list.forEach(item => {\n      const key = fn(item)\n      if (!willReturn[key]) {\n        willReturn[key] = 1\n      } else {\n        willReturn[key]++\n      }\n    })\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { countBy } from './countBy.js'\n\nconst list = ['a', 'A', 'b', 'B', 'c', 'C']\n\ntest('happy', () => {\n  const result = countBy(x => x.toLowerCase())(list)\n  expect(result).toEqual({\n    a: 2,\n    b: 2,\n    c: 2,\n  })\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { countBy, pipe } from 'rambda'\n\nconst list = ['a', 'A', 'b', 'B', 'c', 'C']\n\nit('R.countBy', () => {\n  const result = pipe(\n    list,\n    countBy(x => x.toLowerCase()),\n  )\n  result.a // $ExpectType number\n  result.foo // $ExpectType number\n  result // $ExpectType { [index: string]: number; }\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#countBy)\n\n### createObjectFromKeys\n\n```typescript\n\ncreateObjectFromKeys<const K extends readonly PropertyKey[], V>(\n\tfn: (key: K[number]) => V\n): (keys: K) => { [P in K[number]]: V }\n```\n\n```javascript\nconst result = R.createObjectFromKeys(\n\t(x, index) => `${x}-${index}`\n)(['a', 'b', 'c'])\n// => {a: 'a-0', b: 'b-1', c: 'c-2'}\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.createObjectFromKeys(%0A%09(x%2C%20index)%20%3D%3E%20%60%24%7Bx%7D-%24%7Bindex%7D%60%0A)(%5B'a'%2C%20'b'%2C%20'c'%5D)%0A%2F%2F%20%3D%3E%20%7Ba%3A%20'a-0'%2C%20b%3A%20'b-1'%2C%20c%3A%20'c-2'%7D\">Try this <strong>R.createObjectFromKeys</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ncreateObjectFromKeys<const K extends readonly PropertyKey[], V>(\n\tfn: (key: K[number]) => V\n): (keys: K) => { [P in K[number]]: V };\ncreateObjectFromKeys<const K extends readonly PropertyKey[], V>(\n\tfn: (key: K[number], index: number) => V\n): (keys: K) => { [P in K[number]]: V };\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.createObjectFromKeys</strong> source</summary>\n\n```javascript\nexport function createObjectFromKeys(fn) {\n\treturn keys => {\n\t\tconst result = {}\n\t\tkeys.forEach((key, index) => {\n\t\t\tresult[key] = fn(key, index)\n\t\t})\n\n\t\treturn result\n\t}\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { createObjectFromKeys } from './createObjectFromKeys.js'\n\ntest('happy', () => {\n\tconst result = createObjectFromKeys((key, index) => key.toUpperCase() + index)(['a', 'b'])\n\tconst expected = { a: 'A0', b: 'B1' }\n\n\texpect(result).toEqual(expected)\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#createObjectFromKeys)\n\n### defaultTo\n\n```typescript\n\ndefaultTo<T>(defaultValue: T): (input: unknown) => T\n```\n\nIt returns `defaultValue`, if all of `inputArguments` are `undefined`, `null` or `NaN`.\n\nElse, it returns the first truthy `inputArguments` instance(from left to right).\n\n> :boom: Typescript Note: Pass explicit type annotation when used with **R.pipe/R.compose** for better type inference\n\n```javascript\nR.defaultTo('foo')('bar') // => 'bar'\nR.defaultTo('foo'))(undefined) // => 'foo'\n\n// Important - emtpy string is not falsy value\nR.defaultTo('foo')('') // => 'foo'\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?R.defaultTo('foo')('bar')%20%2F%2F%20%3D%3E%20'bar'%0AR.defaultTo('foo'))(undefined)%20%2F%2F%20%3D%3E%20'foo'%0A%0A%2F%2F%20Important%20-%20emtpy%20string%20is%20not%20falsy%20value%0Aconst%20result%20%3D%20R.defaultTo('foo')('')%20%2F%2F%20%3D%3E%20'foo'\">Try this <strong>R.defaultTo</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ndefaultTo<T>(defaultValue: T): (input: unknown) => T;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.defaultTo</strong> source</summary>\n\n```javascript\nfunction isFalsy(input) {\n  return input === undefined || input === null || Number.isNaN(input) === true\n}\n\nexport function defaultTo(defaultArgument) {\n  return input => isFalsy(input) ? defaultArgument : input\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { defaultTo } from './defaultTo.js'\n\ntest('with undefined', () => {\n  expect(defaultTo('foo')(undefined)).toBe('foo')\n})\n\ntest('with null', () => {\n  expect(defaultTo('foo')(null)).toBe('foo')\n})\n\ntest('with NaN', () => {\n  expect(defaultTo('foo')(Number.NaN)).toBe('foo')\n})\n\ntest('with empty string', () => {\n  expect(defaultTo('foo')('')).toBe('')\n})\n\ntest('with false', () => {\n  expect(defaultTo('foo')(false)).toBeFalsy()\n})\n\ntest('when inputArgument passes initial check', () => {\n  expect(defaultTo('foo')('bar')).toBe('bar')\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { defaultTo, pipe } from 'rambda'\n\ndescribe('R.defaultTo', () => {\n  it('happy', () => {\n    const result = pipe('bar' as unknown, defaultTo('foo'))\n\n    result // $ExpectType string\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#defaultTo)\n\n### delay\n\n```typescript\n\ndelay(ms: number): Promise<'RAMBDA_DELAY'>\n```\n\n`setTimeout` as a promise that resolves to `RAMBDA_DELAY` string after `ms` milliseconds.\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ndelay(ms: number): Promise<'RAMBDA_DELAY'>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.delay</strong> source</summary>\n\n```javascript\nexport const RAMBDA_DELAY = 'RAMBDA_DELAY'\n\nexport function delay(ms) {\n  return new Promise(resolve => {\n    setTimeout(() => {\n      resolve(RAMBDA_DELAY)\n    }, ms)\n  })\n}\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#delay)\n\n### descend\n\n```typescript\n\ndescend<T>(fn: (obj: T) => Ord): (a: T, b: T)=> Ordering\n```\n\nHelper function to be used with `R.sort` to sort list in descending order.\n\n```javascript\nconst result = R.pipe(\n\t[{a: 1}, {a: 2}, {a: 0}],\n\tR.sort(R.descend(R.prop('a')))\n)\n// => [{a: 2}, {a: 1}, {a: 0}]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.pipe(%0A%09%5B%7Ba%3A%201%7D%2C%20%7Ba%3A%202%7D%2C%20%7Ba%3A%200%7D%5D%2C%0A%09R.sort(R.descend(R.prop('a')))%0A)%0A%2F%2F%20%3D%3E%20%5B%7Ba%3A%202%7D%2C%20%7Ba%3A%201%7D%2C%20%7Ba%3A%200%7D%5D\">Try this <strong>R.descend</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ndescend<T>(fn: (obj: T) => Ord): (a: T, b: T)=> Ordering;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.descend</strong> source</summary>\n\n```javascript\nimport { createCompareFunction } from './ascend.js'\n\nexport function descend(getFunction) {\n  return (a, b) => {\n    const aValue = getFunction(a)\n    const bValue = getFunction(b)\n\n    return createCompareFunction(aValue, bValue, 1, -1)\n  }\n}\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#descend)\n\n### difference\n\n```typescript\n\ndifference<T>(x: T[]): (y: T[]) => T[]\n```\n\nIt returns a merged list of `x` and `y` with all equal elements removed.\n\n`R.equals` is used to determine equality.\n\n```javascript\nconst x = [ 1, 2, 3, 4 ]\nconst y = [ 3, 4, 5, 6 ]\n\nconst result = R.difference(x)(y)\n// => [ 1, 2, 5, 6 ]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20x%20%3D%20%5B%201%2C%202%2C%203%2C%204%20%5D%0Aconst%20y%20%3D%20%5B%203%2C%204%2C%205%2C%206%20%5D%0A%0Aconst%20result%20%3D%20R.difference(x)(y)%0A%2F%2F%20%3D%3E%20%5B%201%2C%202%2C%205%2C%206%20%5D\">Try this <strong>R.difference</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ndifference<T>(x: T[]): (y: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.difference</strong> source</summary>\n\n```javascript\nimport { filter } from './filter.js'\nimport { excludes } from './excludes.js'\n\nexport function difference(listA) {\n\treturn listB => ([\n\t\t...filter(value => excludes(listB)(value))(listA),\n\t\t...filter(value => excludes(listA)(value))(listB),\n\t])\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { difference } from './difference.js'\n\ntest('difference', () => {\n  const list1 = [1, 2, 3, 4]\n  const list2 = [3, 4, 5, 6]\n  expect(difference(list1)(list2)).toEqual([1, 2, 5, 6])\n  expect(difference([])([])).toEqual([])\n})\n\ntest('difference with objects', () => {\n  const list1 = [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }]\n  const list2 = [{ id: 3 }, { id: 4 }, { id: 5 }, { id: 6 }]\n  expect(difference(list1)(list2)).toEqual([\n    { id: 1 },\n    { id: 2 },\n    { id: 5 },\n    { id: 6 },\n  ])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { difference } from 'rambda'\n\ndescribe('R.difference', () => {\n  it('happy', () => {\n    const list1 = [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }]\n    const list2 = [{ id: 3 }, { id: 4 }, { id: 5 }, { id: 6 }]\n    const result = difference(list1)(list2)\n\n    result // $ExpectType { id: number; }[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#difference)\n\n### drop\n\n```typescript\n\ndrop<T>(howMany: number): (list: T[]) => T[]\n```\n\nIt returns `howMany` items dropped from beginning of list.\n\n```javascript\nR.drop(2)(['foo', 'bar', 'baz']) // => ['baz']\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.drop(2)(%5B'foo'%2C%20'bar'%2C%20'baz'%5D)%20%2F%2F%20%3D%3E%20%5B'baz'%5D\">Try this <strong>R.drop</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ndrop<T>(howMany: number): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.drop</strong> source</summary>\n\n```javascript\nexport function drop(howManyToDrop) {\n  return list => list.slice(howManyToDrop > 0 ? howManyToDrop : 0)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { drop } from './drop.js'\n\ntest('with array', () => {\n  expect(drop(2)(['foo', 'bar', 'baz'])).toEqual(['baz'])\n  expect(drop(3)(['foo', 'bar', 'baz'])).toEqual([])\n  expect(drop(4)(['foo', 'bar', 'baz'])).toEqual([])\n})\n\ntest('with non-positive count', () => {\n  expect(drop(0)([1, 2, 3])).toEqual([1, 2, 3])\n  expect(drop(-1)([1, 2, 3])).toEqual([1, 2, 3])\n  expect(drop(Number.NEGATIVE_INFINITY)([1, 2, 3])).toEqual([1, 2, 3])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { drop, pipe } from 'rambda'\n\nit('R.drop', () => {\n  const result = pipe([1, 2, 3, 4], drop(2))\n  result // $ExpectType number[]\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#drop)\n\n### dropLast\n\n```typescript\n\ndropLast<T>(howMany: number): (list: T[]) => T[]\n```\n\nIt returns `howMany` items dropped from the end of list.\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ndropLast<T>(howMany: number): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.dropLast</strong> source</summary>\n\n```javascript\nexport function dropLast(numberItems) {\n  return list => (numberItems > 0 ? list.slice(0, -numberItems) : list.slice())\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { dropLast } from './dropLast.js'\n\ntest('with array', () => {\n  expect(dropLast(2)(['foo', 'bar', 'baz'])).toEqual(['foo'])\n  expect(dropLast(3)(['foo', 'bar', 'baz'])).toEqual([])\n  expect(dropLast(4)(['foo', 'bar', 'baz'])).toEqual([])\n})\n\ntest('with non-positive count', () => {\n  expect(dropLast(0)([1, 2, 3])).toEqual([1, 2, 3])\n  expect(dropLast(-1)([1, 2, 3])).toEqual([1, 2, 3])\n  expect(dropLast(Number.NEGATIVE_INFINITY)([1, 2, 3])).toEqual([1, 2, 3])\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#dropLast)\n\n### dropLastWhile\n\n```typescript\n\ndropLastWhile<T>(predicate: (x: T, index: number) => boolean): (list: T[]) => T[]\n```\n\n```javascript\nconst list = [1, 2, 3, 4, 5];\nconst predicate = x => x >= 3\n\nconst result = dropLastWhile(predicate)(list);\n// => [1, 2]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B1%2C%202%2C%203%2C%204%2C%205%5D%3B%0Aconst%20predicate%20%3D%20x%20%3D%3E%20x%20%3E%3D%203%0A%0Aconst%20result%20%3D%20dropLastWhile(predicate)(list)%3B%0A%2F%2F%20%3D%3E%20%5B1%2C%202%5D\">Try this <strong>R.dropLastWhile</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ndropLastWhile<T>(predicate: (x: T, index: number) => boolean): (list: T[]) => T[];\ndropLastWhile<T>(predicate: (x: T) => boolean): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.dropLastWhile</strong> source</summary>\n\n```javascript\nexport function dropLastWhile(predicate) {\n  return list => {\n    if (list.length === 0) {\n      return list\n    }\n\n    const toReturn = []\n    let counter = list.length\n\n    while (counter) {\n      const item = list[--counter]\n      if (!predicate(item, counter)) {\n        toReturn.push(item)\n        break\n      }\n    }\n\n    while (counter) {\n      toReturn.push(list[--counter])\n    }\n\n    return toReturn.reverse()\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { dropLastWhile } from './dropLastWhile.js'\n\nconst list = [1, 2, 3, 4, 5]\n\ntest('with list', () => {\n  const result = dropLastWhile(x => x >= 3)(list)\n  expect(result).toEqual([1, 2])\n})\n\ntest('with empty list', () => {\n  expect(dropLastWhile(() => true)([])).toEqual([])\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#dropLastWhile)\n\n### dropRepeatsBy\n\n```typescript\n\ndropRepeatsBy<T, U>(fn: (x: T) => U): (list: T[]) => T[]\n```\n\n```javascript\nconst result = R.dropRepeatsBy(\n  Math.abs,\n  [1, -1, 2, 3, -3]\n)\n// => [1, 2, 3]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.dropRepeatsBy(%0A%20%20Math.abs%2C%0A%20%20%5B1%2C%20-1%2C%202%2C%203%2C%20-3%5D%0A)%0A%2F%2F%20%3D%3E%20%5B1%2C%202%2C%203%5D\">Try this <strong>R.dropRepeatsBy</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ndropRepeatsBy<T, U>(fn: (x: T) => U): (list: T[]) => T[];\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#dropRepeatsBy)\n\n### dropRepeatsWith\n\n```typescript\n\ndropRepeatsWith<T>(predicate: (x: T, y: T) => boolean): (list: T[]) => T[]\n```\n\n```javascript\nconst list = [{a:1,b:2}, {a:1,b:3}, {a:2, b:4}]\nconst result = R.dropRepeatsWith(R.prop('a'))(list)\n\n// => [{a:1,b:2}, {a:2, b:4}]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%7Ba%3A1%2Cb%3A2%7D%2C%20%7Ba%3A1%2Cb%3A3%7D%2C%20%7Ba%3A2%2C%20b%3A4%7D%5D%0Aconst%20result%20%3D%20R.dropRepeatsWith(R.prop('a'))(list)%0A%0A%2F%2F%20%3D%3E%20%5B%7Ba%3A1%2Cb%3A2%7D%2C%20%7Ba%3A2%2C%20b%3A4%7D%5D\">Try this <strong>R.dropRepeatsWith</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ndropRepeatsWith<T>(predicate: (x: T, y: T) => boolean): (list: T[]) => T[];\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#dropRepeatsWith)\n\n### dropWhile\n\n```typescript\n\ndropWhile<T>(predicate: (x: T, index: number) => boolean): (list: T[]) => T[]\n```\n\n```javascript\nconst list = [1, 2, 3, 4]\nconst predicate = x => x < 3\nconst result = R.dropWhile(predicate)(list)\n// => [3, 4]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B1%2C%202%2C%203%2C%204%5D%0Aconst%20predicate%20%3D%20x%20%3D%3E%20x%20%3C%203%0Aconst%20result%20%3D%20R.dropWhile(predicate)(list)%0A%2F%2F%20%3D%3E%20%5B3%2C%204%5D\">Try this <strong>R.dropWhile</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ndropWhile<T>(predicate: (x: T, index: number) => boolean): (list: T[]) => T[];\ndropWhile<T>(predicate: (x: T) => boolean): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.dropWhile</strong> source</summary>\n\n```javascript\nexport function dropWhile(predicate) {\n  return iterable => {\n    const toReturn = []\n    let counter = 0\n\n    while (counter < iterable.length) {\n      const item = iterable[counter++]\n      if (!predicate(item, counter)) {\n        toReturn.push(item)\n        break\n      }\n    }\n\n    while (counter < iterable.length) {\n      toReturn.push(iterable[counter++])\n    }\n\n    return toReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { dropWhile } from './dropWhile.js'\n\nconst list = [1, 2, 3, 4]\n\ntest('happy', () => {\n  const predicate = (x, i) => {\n    expect(typeof i).toBe('number')\n    return x < 3\n  }\n  const result = dropWhile(predicate)(list)\n  expect(result).toEqual([3, 4])\n})\n\ntest('always false', () => {\n  const predicate = () => 0\n  const result = dropWhile(predicate)(list)\n  expect(result).toEqual(list)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { dropWhile, pipe } from 'rambda'\n\nconst list = [1, 2, 3]\n\ndescribe('R.dropWhile', () => {\n  it('happy', () => {\n    const result = pipe(\n      list,\n      dropWhile(x => x > 1),\n    )\n\n    result // $ExpectType number[]\n  })\n  it('with index', () => {\n    const result = pipe(\n      list,\n      dropWhile((x, i) => {\n        i // $ExpectType number\n        return x + i > 2\n      }),\n    )\n\n    result // $ExpectType number[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#dropWhile)\n\n### duplicateBy\n\n```typescript\n\nduplicateBy<T, U>(fn: (x: T) => U): (list: T[]) => T[]\n```\n\n```javascript\nconst list = [{a:1}, {a:2}, {a:1}]\nconst result = R.duplicateBy(x => x, list)\n\n// => [{a:1}]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%7Ba%3A1%7D%2C%20%7Ba%3A2%7D%2C%20%7Ba%3A1%7D%5D%0Aconst%20result%20%3D%20R.duplicateBy(x%20%3D%3E%20x%2C%20list)%0A%0A%2F%2F%20%3D%3E%20%5B%7Ba%3A1%7D%5D\">Try this <strong>R.duplicateBy</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nduplicateBy<T, U>(fn: (x: T) => U): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.duplicateBy</strong> source</summary>\n\n```javascript\nimport { _Set } from '../src/_internals/set.js'\n\nexport function duplicateBy(fn) {\n  return list => {\n    const set = new _Set()\n\n    return list.filter(item => !set.checkUniqueness(fn(item)))\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { duplicateBy } from './duplicateBy.js'\n\ntest('happy', () => {\n  expect(duplicateBy(Math.abs)([-2, -1, 0, 1, 2])).toEqual([1,2])\n})\n\ntest('returns an empty array for an empty array', () => {\n  expect(duplicateBy(Math.abs)([])).toEqual([])\n})\n\ntest('uses R.uniq', () => {\n  const list = [{ a: 1 }, { a: 2 }, { a: 1 }]\n  const expected = [{ a: 1 }]\n  expect(duplicateBy(x => x)(list)).toEqual(expected)\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#duplicateBy)\n\n### eqBy\n\n```typescript\n\neqBy<T>(fn: (x: T) => unknown, a: T): (b: T) => boolean\n```\n\n```javascript\nconst result = R.eqBy(Math.abs, 5)(-5)\n// => true\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.eqBy(Math.abs%2C%205)(-5)%0A%2F%2F%20%3D%3E%20true\">Try this <strong>R.eqBy</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\neqBy<T>(fn: (x: T) => unknown, a: T): (b: T) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.eqBy</strong> source</summary>\n\n```javascript\nimport { equalsFn } from './equals.js'\n\nexport function eqBy(fn, a) {\n  return b => equalsFn(fn(a), fn(b))\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { eqBy } from './eqBy.js'\n\ntest('deteremines whether two values map to the same value in the codomain', () => {\n  expect(eqBy(Math.abs, 5)(5)).toBe(true)\n  expect(eqBy(Math.abs, 5)(-5)).toBe(true)\n  expect(eqBy(Math.abs, -5)(5)).toBe(true)\n  expect(eqBy(Math.abs, -5)(-5)).toBe(true)\n  expect(eqBy(Math.abs, 42)(99)).toBe(false)\n})\n\ntest('has R.equals semantics', () => {\n  expect(eqBy(Math.abs, Number.NaN)(Number.NaN)).toBe(true)\n  expect(eqBy(Math.abs, [42])([42])).toBe(true)\n  expect(eqBy(x => x, { a: 1 })({ a: 1 })).toBe(true)\n  expect(eqBy(x => x, { a: 1 })({ a: 2 })).toBe(false)\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#eqBy)\n\n### eqProps\n\n```typescript\n\neqProps<T, K extends keyof T>(prop: K, obj1: T): (obj2: T) => boolean\n```\n\nIt returns `true` if property `prop` in `obj1` is equal to property `prop` in `obj2` according to `R.equals`.\n\n```javascript\nconst obj1 = {a: 1, b:2}\nconst obj2 = {a: 1, b:3}\nconst result = R.eqProps('a', obj1)(obj2)\n// => true\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20obj1%20%3D%20%7Ba%3A%201%2C%20b%3A2%7D%0Aconst%20obj2%20%3D%20%7Ba%3A%201%2C%20b%3A3%7D%0Aconst%20result%20%3D%20R.eqProps('a'%2C%20obj1)(obj2)%0A%2F%2F%20%3D%3E%20true\">Try this <strong>R.eqProps</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\neqProps<T, K extends keyof T>(prop: K, obj1: T): (obj2: T) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.eqProps</strong> source</summary>\n\n```javascript\nimport { equalsFn } from './equals.js'\n\nexport function eqProps(property, objA) {\n  return objB => equalsFn( objA[property], objB[property] )\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { eqProps } from './eqProps.js'\n\nconst obj1 = {\n  a: 1,\n  b: 2,\n}\nconst obj2 = {\n  a: 1,\n  b: 3,\n}\n\ntest('props are equal', () => {\n  const result = eqProps('a', obj1)(obj2)\n  expect(result).toBeTruthy()\n})\n\ntest('props are not equal', () => {\n  const result = eqProps('b', obj1)(obj2)\n  expect(result).toBeFalsy()\n})\n\ntest('prop does not exist', () => {\n  const result = eqProps('c', obj1)(obj2)\n  expect(result).toBeTruthy()\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { eqProps, pipe } from 'rambda'\n\nconst obj1 = { a: { b: 1 }, c: 2 }\nconst obj2 = { a: { b: 1 }, c: 3 }\n\nit('R.eqProps', () => {\n  const result = pipe(obj1, eqProps('a', obj2))\n\n  result // $ExpectType boolean\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#eqProps)\n\n### equals\n\n```typescript\n\nequals<T>(x: T, y: T): boolean\n```\n\nIt deeply compares `x` and `y` and returns `true` if they are equal.\n\n> :boom: It doesn't handle cyclical data structures and functions\n\n```javascript\nR.equals(\n  [1, {a:2}, [{b: 3}]],\n  [1, {a:2}, [{b: 3}]]\n) // => true\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?R.equals(%0A%20%20%5B1%2C%20%7Ba%3A2%7D%2C%20%5B%7Bb%3A%203%7D%5D%5D%2C%0A%20%20%5B1%2C%20%7Ba%3A2%7D%2C%20%5B%7Bb%3A%203%7D%5D%5D%0Aconst%20result%20%3D%20)%20%2F%2F%20%3D%3E%20true\">Try this <strong>R.equals</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nequals<T>(x: T, y: T): boolean;\nequals<T>(x: T): (y: T) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.equals</strong> source</summary>\n\n```javascript\nimport { isArray } from './_internals/isArray.js'\nimport { type } from './type.js'\n\nexport function _lastIndexOf(valueToFind, list) {\n  if (!isArray(list)) {\n    throw new Error(`Cannot read property 'indexOf' of ${list}`)\n  }\n\n  const typeOfValue = type(valueToFind)\n  if (!['Array', 'NaN', 'Object', 'RegExp'].includes(typeOfValue)) {\n    return list.lastIndexOf(valueToFind)\n  }\n\n  const { length } = list\n  let index = length\n  let foundIndex = -1\n\n  while (--index > -1 && foundIndex === -1) {\n    if (equalsFn(list[index], valueToFind)) {\n      foundIndex = index\n    }\n  }\n\n  return foundIndex\n}\n\nexport function _indexOf(valueToFind, list) {\n  if (!isArray(list)) {\n    throw new Error(`Cannot read property 'indexOf' of ${list}`)\n  }\n\n  const typeOfValue = type(valueToFind)\n  if (!['Array', 'NaN', 'Object', 'RegExp'].includes(typeOfValue)) {\n    return list.indexOf(valueToFind)\n  }\n\n  let index = -1\n  let foundIndex = -1\n  const { length } = list\n\n  while (++index < length && foundIndex === -1) {\n    if (equalsFn(list[index], valueToFind)) {\n      foundIndex = index\n    }\n  }\n\n  return foundIndex\n}\n\nfunction _arrayFromIterator(iter) {\n  const list = []\n  let next\n  while (!(next = iter.next()).done) {\n    list.push(next.value)\n  }\n\n  return list\n}\n\nfunction _compareSets(a, b) {\n  if (a.size !== b.size) {\n    return false\n  }\n\n  const aList = _arrayFromIterator(a.values())\n  const bList = _arrayFromIterator(b.values())\n\n  const filtered = aList.filter(aInstance => _indexOf(aInstance, bList) === -1)\n\n  return filtered.length === 0\n}\n\nfunction compareErrors(a, b) {\n  if (a.message !== b.message) {\n    return false\n  }\n  if (a.toString !== b.toString) {\n    return false\n  }\n\n  return a.toString() === b.toString()\n}\n\nfunction parseDate(maybeDate) {\n  if (!maybeDate.toDateString) {\n    return [false]\n  }\n\n  return [true, maybeDate.getTime()]\n}\n\nfunction parseRegex(maybeRegex) {\n  if (maybeRegex.constructor !== RegExp) {\n    return [false]\n  }\n\n  return [true, maybeRegex.toString()]\n}\n\nexport function equalsFn(a, b) {\n  if (Object.is(a, b)) {\n    return true\n  }\n\n  const aType = type(a)\n\n  if (aType !== type(b)) {\n    return false\n  }\n  if (aType === 'Function') {\n    return a.name === undefined ? false : a.name === b.name\n  }\n\n  if (['NaN', 'Null', 'Undefined'].includes(aType)) {\n    return true\n  }\n\n  if (['BigInt', 'Number'].includes(aType)) {\n    if (Object.is(-0, a) !== Object.is(-0, b)) {\n      return false\n    }\n\n    return a.toString() === b.toString()\n  }\n\n  if (['Boolean', 'String'].includes(aType)) {\n    return a.toString() === b.toString()\n  }\n\n  if (aType === 'Array') {\n    const aClone = Array.from(a)\n    const bClone = Array.from(b)\n\n    if (aClone.toString() !== bClone.toString()) {\n      return false\n    }\n\n    let loopArrayFlag = true\n    aClone.forEach((aCloneInstance, aCloneIndex) => {\n      if (loopArrayFlag) {\n        if (\n          aCloneInstance !== bClone[aCloneIndex] &&\n          !equalsFn(aCloneInstance, bClone[aCloneIndex])\n        ) {\n          loopArrayFlag = false\n        }\n      }\n    })\n\n    return loopArrayFlag\n  }\n\n  const aRegex = parseRegex(a)\n  const bRegex = parseRegex(b)\n\n  if (aRegex[0]) {\n    return bRegex[0] ? aRegex[1] === bRegex[1] : false\n  }\n  if (bRegex[0]) {\n    return false\n  }\n\n  const aDate = parseDate(a)\n  const bDate = parseDate(b)\n\n  if (aDate[0]) {\n    return bDate[0] ? aDate[1] === bDate[1] : false\n  }\n  if (bDate[0]) {\n    return false\n  }\n\n  if (a instanceof Error) {\n    if (!(b instanceof Error)) {\n      return false\n    }\n\n    return compareErrors(a, b)\n  }\n\n  if (aType === 'Set') {\n    return _compareSets(a, b)\n  }\n\n  if (aType === 'Object') {\n    const aKeys = Object.keys(a)\n\n    if (aKeys.length !== Object.keys(b).length) {\n      return false\n    }\n\n    let loopObjectFlag = true\n    aKeys.forEach(aKeyInstance => {\n      if (loopObjectFlag) {\n        const aValue = a[aKeyInstance]\n        const bValue = b[aKeyInstance]\n\n        if (aValue !== bValue && !equalsFn(aValue, bValue)) {\n          loopObjectFlag = false\n        }\n      }\n    })\n\n    return loopObjectFlag\n  }\n\n  return false\n}\nexport function equals(a) {\n  return b => equalsFn(a, b)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { equalsFn } from './equals.js'\n\ntest('compare functions', () => {\n  function foo() {}\n  function bar() {}\n  const baz = () => {}\n\n  const expectTrue = equalsFn(foo, foo)\n  const expectFalseFirst = equalsFn(foo, bar)\n  const expectFalseSecond = equalsFn(foo, baz)\n\n  expect(expectTrue).toBeTruthy()\n  expect(expectFalseFirst).toBeFalsy()\n  expect(expectFalseSecond).toBeFalsy()\n})\n\ntest('with array of objects', () => {\n  const list1 = [{ a: 1 }, [{ b: 2 }]]\n  const list2 = [{ a: 1 }, [{ b: 2 }]]\n  const list3 = [{ a: 1 }, [{ b: 3 }]]\n\n  expect(equalsFn(list1, list2)).toBeTruthy()\n  expect(equalsFn(list1, list3)).toBeFalsy()\n})\n\ntest('with regex', () => {\n  expect(equalsFn(/s/, /s/)).toBeTruthy()\n  expect(equalsFn(/s/, /d/)).toBeFalsy()\n  expect(equalsFn(/a/gi, /a/gi)).toBeTruthy()\n  expect(equalsFn(/a/gim, /a/gim)).toBeTruthy()\n  expect(equalsFn(/a/gi, /a/i)).toBeFalsy()\n})\n\ntest('not a number', () => {\n  expect(equalsFn([Number.NaN], [Number.NaN])).toBeTruthy()\n})\n\ntest('new number', () => {\n  expect(equalsFn(new Number(0), new Number(0))).toBeTruthy()\n  expect(equalsFn(new Number(0), new Number(1))).toBeFalsy()\n  expect(equalsFn(new Number(1), new Number(0))).toBeFalsy()\n})\n\ntest('new string', () => {\n  expect(equalsFn(new String(''), new String(''))).toBeTruthy()\n  expect(equalsFn(new String(''), new String('x'))).toBeFalsy()\n  expect(equalsFn(new String('x'), new String(''))).toBeFalsy()\n  expect(equalsFn(new String('foo'), new String('foo'))).toBeTruthy()\n  expect(equalsFn(new String('foo'), new String('bar'))).toBeFalsy()\n  expect(equalsFn(new String('bar'), new String('foo'))).toBeFalsy()\n})\n\ntest('new Boolean', () => {\n  expect(equalsFn(new Boolean(true), new Boolean(true))).toBeTruthy()\n  expect(equalsFn(new Boolean(false), new Boolean(false))).toBeTruthy()\n  expect(equalsFn(new Boolean(true), new Boolean(false))).toBeFalsy()\n  expect(equalsFn(new Boolean(false), new Boolean(true))).toBeFalsy()\n})\n\ntest('new Error', () => {\n  expect(equalsFn(new Error('XXX'), {})).toBeFalsy()\n  expect(equalsFn(new Error('XXX'), new TypeError('XXX'))).toBeFalsy()\n  expect(equalsFn(new Error('XXX'), new Error('YYY'))).toBeFalsy()\n  expect(equalsFn(new Error('XXX'), new Error('XXX'))).toBeTruthy()\n  expect(equalsFn(new Error('XXX'), new TypeError('YYY'))).toBeFalsy()\n  expect(equalsFn(new Error('XXX'), new Error('XXX'))).toBeTruthy()\n})\n\ntest('with dates', () => {\n  expect(equalsFn(new Date(0), new Date(0))).toBeTruthy()\n  expect(equalsFn(new Date(1), new Date(1))).toBeTruthy()\n  expect(equalsFn(new Date(0), new Date(1))).toBeFalsy()\n  expect(equalsFn(new Date(1), new Date(0))).toBeFalsy()\n  expect(equalsFn(new Date(0), {})).toBeFalsy()\n  expect(equalsFn({}, new Date(0))).toBeFalsy()\n})\n\ntest('ramda spec', () => {\n  expect(equalsFn({}, {})).toBeTruthy()\n\n  expect(\n    equalsFn(\n      {\n        a: 1,\n        b: 2,\n      },\n      {\n        a: 1,\n        b: 2,\n      },\n    ),\n  ).toBeTruthy()\n\n  expect(\n    equalsFn(\n      {\n        a: 2,\n        b: 3,\n      },\n      {\n        a: 2,\n        b: 3,\n      },\n    ),\n  ).toBeTruthy()\n\n  expect(\n    equalsFn(\n      {\n        a: 2,\n        b: 3,\n      },\n      {\n        a: 3,\n        b: 3,\n      },\n    ),\n  ).toBeFalsy()\n\n  expect(\n    equalsFn(\n      {\n        a: 2,\n        b: 3,\n        c: 1,\n      },\n      {\n        a: 2,\n        b: 3,\n      },\n    ),\n  ).toBeFalsy()\n})\n\ntest('works with boolean tuple', () => {\n  expect(equalsFn([true, false], [true, false])).toBeTruthy()\n  expect(equalsFn([true, false], [true, true])).toBeFalsy()\n})\n\ntest('works with equal objects within array', () => {\n  const objFirst = {\n    a: {\n      b: 1,\n      c: 2,\n      d: [1],\n    },\n  }\n  const objSecond = {\n    a: {\n      b: 1,\n      c: 2,\n      d: [1],\n    },\n  }\n\n  const x = [1, 2, objFirst, null, '', []]\n  const y = [1, 2, objSecond, null, '', []]\n  expect(equalsFn(x, y)).toBeTruthy()\n})\n\ntest('works with different objects within array', () => {\n  const objFirst = { a: { b: 1 } }\n  const objSecond = { a: { b: 2 } }\n\n  const x = [1, 2, objFirst, null, '', []]\n  const y = [1, 2, objSecond, null, '', []]\n  expect(equalsFn(x, y)).toBeFalsy()\n})\n\ntest('works with undefined as second argument', () => {\n  expect(equalsFn(1, undefined)).toBeFalsy()\n\n  expect(equalsFn(undefined, undefined)).toBeTruthy()\n})\n\ntest('compare sets', () => {\n  const toCompareDifferent = new Set([{ a: 1 }, { a: 2 }])\n  const toCompareSame = new Set([{ a: 1 }, { a: 2 }, { a: 1 }])\n  const testSet = new Set([{ a: 1 }, { a: 2 }, { a: 1 }])\n  expect(equalsFn(toCompareSame, testSet)).toBeTruthy()\n  expect(equalsFn(toCompareDifferent, testSet)).toBeFalsy()\n})\n\ntest('compare simple sets', () => {\n  const testSet = new Set(['2', '3', '3', '2', '1'])\n  expect(equalsFn(new Set(['3', '2', '1']), testSet)).toBeTruthy()\n  expect(equalsFn(new Set(['3', '2', '0']), testSet)).toBeFalsy()\n})\n\ntest('various examples', () => {\n  expect(equalsFn([1, 2, 3], [1, 2, 3])).toBeTruthy()\n  expect(equalsFn([1, 2, 3], [1, 2])).toBeFalsy()\n  expect(equalsFn({}, {})).toBeTruthy()\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { equals } from 'rambda'\n\ndescribe('R.equals', () => {\n  it('happy', () => {\n    const result = equals(4, 1)\n    result // $ExpectType boolean\n  })\n  it('with object', () => {\n    const foo = { a: 1 }\n    const bar = { a: 2 }\n    const result = equals(foo, bar)\n    result // $ExpectType boolean\n  })\n  it('curried', () => {\n    const result = equals(4)(1)\n\n    result // $ExpectType boolean\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#equals)\n\n### evolve\n\n```typescript\n\nevolve<T>(rules: {\n\t[K in keyof T]?: (x: T[K]) => T[K]\n}): (obj: T) => T\n```\n\nIt takes object of functions as set of rules. These `rules` are applied to the `iterable` input to produce the result.\nIt doesn't support nested rules, i.e rules are only one level deep.\n\n```javascript\nconst input = {\n\tfoo: 2,\n\tbaz: 'baz',\n}\nconst result = R.pipe(\n\tinput,\n\tR.evolve({\n\t\tfoo: x => x + 1,\n\t})\n)\n// => result is { foo: 3, baz: 'baz' }\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20input%20%3D%20%7B%0A%09foo%3A%202%2C%0A%09baz%3A%20'baz'%2C%0A%7D%0Aconst%20result%20%3D%20R.pipe(%0A%09input%2C%0A%09R.evolve(%7B%0A%09%09foo%3A%20x%20%3D%3E%20x%20%2B%201%2C%0A%09%7D)%0A)%0A%2F%2F%20%3D%3E%20result%20is%20%7B%20foo%3A%203%2C%20baz%3A%20'baz'%20%7D\">Try this <strong>R.evolve</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nevolve<T>(rules: {\n\t[K in keyof T]?: (x: T[K]) => T[K]\n}): (obj: T) => T;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.evolve</strong> source</summary>\n\n```javascript\nimport { mapObject } from './mapObject.js'\nimport { type } from './type.js'\n\nexport function evolve(rules) {\n  return mapObject((x, prop) => type(rules[prop]) === 'Function' ? rules[prop](x): x)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { evolve } from './evolve.js'\n\ntest('happy', () => {\n  const rules = {\n    foo: x => x + 1,\n  }\n  const input = {\n    a: 1,\n    foo: 2,\n\t\tnested: { bar: { z: 3 } },\n  }\n  const result = evolve(rules)(input)\n  expect(result).toEqual({\n    a: 1,\n    foo: 3,\n\t\tnested: { bar: { z: 3 } },\n  })\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport {  evolve, pipe } from 'rambda'\n\nit('R.evolve', () => {\n  const input = {\n\t\tbaz: 1,\n    foo: 2,\n    nested: {\n      a: 1,\n      bar: 3,\n    },\n  }\n  const result = pipe(input, \n\t\tevolve({\n\t\t\tfoo: x => x + 1,\n\t\t})\n\t)\n  result.foo // $ExpectType number\n  result.baz // $ExpectType number\n  result.nested.a // $ExpectType number\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#evolve)\n\n### excludes\n\n```typescript\n\nexcludes(list: readonly string[] | string): (substringToFind: string) => boolean\n```\n\nOpposite of `R.includes`\n\n`R.equals` is used to determine equality.\n\n```javascript\nconst result = [\n  R.excludes('foo')('ar'),\n  R.excludes([{a: 1}])({a: 2})\n]\n// => [true, true ]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5B%0A%20%20R.excludes('foo')('ar')%2C%0A%20%20R.excludes(%5B%7Ba%3A%201%7D%5D)(%7Ba%3A%202%7D)%0A%5D%0A%2F%2F%20%3D%3E%20%5Btrue%2C%20true%20%5D\">Try this <strong>R.excludes</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nexcludes(list: readonly string[] | string): (substringToFind: string) => boolean;\nexcludes<T>(list: readonly T[]): (target: T) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.excludes</strong> source</summary>\n\n```javascript\nimport { includes } from './includes.js'\n\nexport function excludes(iterable) {\n  return valueToFind => !includes(iterable)(valueToFind)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { excludes } from './excludes.js'\n\ntest('excludes with string', () => {\n  const str = 'more is less'\n\n  expect(excludes(str)('less')).toBeFalsy()\n  expect(excludes(str)('never')).toBeTruthy()\n})\n\ntest('excludes with array', () => {\n  const arr = [1, 2, 3]\n\n  expect(excludes(arr)(2)).toBeFalsy()\n  expect(excludes(arr)(4)).toBeTruthy()\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { excludes, pipe } from 'rambda'\n\ndescribe('R.excludes', () => {\n  it('happy', () => {\n    const list = [{ a: { b: '1' } }, { a: { b: '2' } }, { a: { b: '3' } }]\n    const result = pipe({ a: { b: '1' } }, excludes(list))\n    result // $ExpectType boolean\n  })\n  it('with string', () => {\n    const result = pipe('foo', excludes('bar'))\n    result // $ExpectType boolean\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#excludes)\n\n### exists\n\n```typescript\n\nexists<T>(predicate: (x: T) => boolean): (list: T[]) => boolean\n```\n\nIt returns `true` if there is at least one element in `list` that satisfy the `predicate`.\n\n```javascript\nconst predicate = x => R.type(x.foo) === 'Number'\nconst list = [{foo: 'bar'}, {foo: 1}]\n\nconst result = R.exists(predicate)(list)\n// => true\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20predicate%20%3D%20x%20%3D%3E%20R.type(x.foo)%20%3D%3D%3D%20'Number'%0Aconst%20list%20%3D%20%5B%7Bfoo%3A%20'bar'%7D%2C%20%7Bfoo%3A%201%7D%5D%0A%0Aconst%20result%20%3D%20R.exists(predicate)(list)%0A%2F%2F%20%3D%3E%20true\">Try this <strong>R.exists</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nexists<T>(predicate: (x: T) => boolean): (list: T[]) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.exists</strong> source</summary>\n\n```javascript\nimport { find } from './find.js'\n\nexport function exists(predicate) {\n  return list => {\n\t\treturn find(predicate)(list) !== undefined\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { exists } from './exists.js'\nimport { propEq } from './propEq.js'\n\nconst list = [{ a: 1 }, { a: 2 }, { a: 3 }]\n\ntest('happy', () => {\n  const fn = propEq(2, 'a')\n  expect(exists(fn)(list)).toBe(true)\n})\n\ntest('nothing is found', () => {\n  const fn = propEq(4, 'a')\n  expect(exists(fn)(list)).toBe(false)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { exists, pipe } from 'rambda'\n\nconst list = [1, 2, 3]\n\ndescribe('R.exists', () => {\n  it('happy', () => {\n    const predicate = (x: number) => x > 2\n    const result = pipe(list, exists(predicate))\n    result // $ExpectType boolean\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#exists)\n\n### filter\n\n```typescript\n\nfilter<T, S extends T>(\n  predicate: (value: T) => value is S,\n): (list: T[]) => S[]\n```\n\nIt filters list or object `input` using a `predicate` function.\n\n```javascript\nconst predicate = x => x > 1\nconst list = [1, 2, 3]\nconst result = R.filter(predicate)(list)\n// => [2, 3]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20predicate%20%3D%20x%20%3D%3E%20x%20%3E%201%0Aconst%20list%20%3D%20%5B1%2C%202%2C%203%5D%0Aconst%20result%20%3D%20R.filter(predicate)(list)%0A%2F%2F%20%3D%3E%20%5B2%2C%203%5D\">Try this <strong>R.filter</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nfilter<T, S extends T>(\n  predicate: (value: T) => value is S,\n): (list: T[]) => S[];\nfilter<T>(\n\tpredicate: BooleanConstructor,\n): (list: readonly T[]) => ExcludeFalsy<T>[];\nfilter<T>(\n\tpredicate: BooleanConstructor,\n): (list: T[]) => ExcludeFalsy<T>[];\nfilter<T>(\n\tpredicate: (value: T, index: number) => boolean,\n): (list: T[]) => T[];\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.filter</strong> source</summary>\n\n```javascript\nexport function filter(predicate) {\n  return list => {\n    if (!list) {\n      throw new Error('Incorrect iterable input')\n    }\n    let index = 0\n    const len = list.length\n    const willReturn = []\n\n    while (index < len) {\n      if (predicate(list[index], index)) {\n        willReturn.push(list[index])\n      }\n\n      index++\n    }\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { filter } from './filter.js'\n\ntest('happy', () => {\n  const isEven = n => n % 2 === 0\n\n  expect(filter(isEven)([1, 2, 3, 4])).toEqual([2, 4])\n})\n\ntest('using Boolean', () => {\n  expect(filter(Boolean)([null, 0, 1, 2])).toEqual([1,2])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { filter, includes, pipe, reject, sort, split, uniq } from 'rambda'\n\nconst list = [1, 2, 3]\n\ndescribe('R.filter with array', () => {\n  it('within pipe', () => {\n    const result = pipe(\n      list,\n      filter(x => {\n        x // $ExpectType number\n        return x > 1\n      }),\n    )\n    result // $ExpectType number[]\n  })\n\n  it('with index', () => {\n    const result = pipe(\n      list,\n      filter((x: number, i: number) => {\n        x // $ExpectType number\n        i // $ExpectType number\n        return x > 1\n      }),\n    )\n    result // $ExpectType number[]\n  })\n\n  it('complex example', () => {\n    const text = `Dies ist ein einfacher Beispielsatz. Il fait beau aujourd'hui!`\n    const language = 'de'\n\t\tconst SENTENCE_END_CHARS = ['.', '!', '?', '।', '؟']\n    const result = pipe(\n      text,\n      split(''),\n      uniq,\n      filter(char => {\n        if (language === 'de') {\n          return /[A-Za-zäßüöÜÖÄ]/g.test(char) === false\n        }\n        if (language === 'fr') {\n          return /[A-Za-zÀÉàâçèéêîïôùû']/g.test(char) === false\n        }\n        throw new Error(`Language ${language} not supported`)\n      }),\n      sort((a, b) => (a === b ? 0 : a > b ? 1 : -1)),\n      filter(char => char.trim().length > 0),\n      reject(includes(SENTENCE_END_CHARS)),\n    )\n\n    result // $ExpectType string[]\n  })\n  it('narrowing type', () => {\n    interface Foo {\n      a: number\n    }\n    interface Bar extends Foo {\n      b: string\n    }\n    type T = Foo | Bar\n    const testList: T[] = [{ a: 1 }, { a: 2 }, { a: 3 }]\n    const filterBar = (x: T): x is Bar => {\n      return typeof (x as Bar).b === 'string'\n    }\n    const result = pipe(testList, filter(filterBar))\n    result // $ExpectType Bar[]\n  })\n\n  it('narrowing type - readonly', () => {\n    interface Foo {\n      a: number\n    }\n    interface Bar extends Foo {\n      b: string\n    }\n    type T = Foo | Bar\n    const testList: T[] = [{ a: 1 }, { a: 2 }, { a: 3 }] as const\n    const filterBar = (x: T): x is Bar => {\n      return typeof (x as Bar).b === 'string'\n    }\n    const result = pipe(testList, filter(filterBar))\n    result // $ExpectType Bar[]\n  })\n\n  it('filtering NonNullable - list of objects', () => {\n    const testList = [{ a: 1 }, { a: 2 }, false, { a: 3 }]\n    const result = pipe(testList, filter(Boolean))\n    result // $ExpectType { a: number; }[]\n  })\n\n  it('filtering NonNullable - readonly', () => {\n    const testList = [1, 2, true, false, null, undefined, 3] as const\n    const result = pipe(testList, filter(Boolean))\n    result.includes(1)\n    // @ts-expect-error\n    result.includes(true)\n    // @ts-expect-error\n    result.includes(false)\n    // @ts-expect-error\n    result.includes(4)\n    // @ts-expect-error\n    result.includes(undefined)\n    // @ts-expect-error\n    result.includes(null)\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#filter)\n\n### filterAsync\n\n```typescript\n\nfilterAsync<T>(\n\tpredicate: (value: T) => Promise<boolean>,\n): (list: T[]) => Promise<T[]>\n```\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nfilterAsync<T>(\n\tpredicate: (value: T) => Promise<boolean>,\n): (list: T[]) => Promise<T[]>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.filterAsync</strong> source</summary>\n\n```javascript\nexport function filterAsync(predicate) {\n  return async list => {\n    const willReturn = []\n    let index = 0\n    for (const x of list) {\n      if (await predicate(x, index)) {\n        willReturn.push(list[index])\n      }\n      index++\n    }\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { filterAsync } from './filterAsync.js'\n\ntest('happy', async () => {\n  const isEven = async n => n % 2 === 0\n\n  expect(await filterAsync(isEven)([1, 2, 3, 4])).toEqual([2, 4])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { filterAsync, pipeAsync } from 'rambda'\n\nconst list = [1, 2, 3]\n\ndescribe('R.filter with array', () => {\n  it('within pipe', async () => {\n    const result = await pipeAsync(\n      list,\n      filterAsync(async x => {\n        x // $ExpectType number\n        return x > 1\n      }),\n    )\n    result // $ExpectType number[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#filterAsync)\n\n### filterMap\n\n```typescript\n\nfilterMap<T extends IterableContainer, U>(\n\tfn: (value: T[number], index: number) => U,\n): (data: T) => Mapped<T, ExcludeFalsy<U>>\n```\n\nSame as `R.map` but it filters out `null/undefined` if returned from functor functions.\n\n> :boom: This function doesn't work with objects (use R.mapObject instead)\n\n```javascript\nconst result = R.pipe(\n\t[1, 2, 3],\n\tR.filterMap(x => x > 1 ? x : null)\n)\n// => [2, 3]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.pipe(%0A%09%5B1%2C%202%2C%203%5D%2C%0A%09R.filterMap(x%20%3D%3E%20x%20%3E%201%20%3F%20x%20%3A%20null)%0A)%0A%2F%2F%20%3D%3E%20%5B2%2C%203%5D\">Try this <strong>R.filterMap</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nfilterMap<T extends IterableContainer, U>(\n\tfn: (value: T[number], index: number) => U,\n): (data: T) => Mapped<T, ExcludeFalsy<U>>;\nfilterMap<T extends IterableContainer, U>(\n\tfn: (value: T[number]) => U,\n): (data: T) => Mapped<T, ExcludeFalsy<U>>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.filterMap</strong> source</summary>\n\n```javascript\nimport {mapFn} from './map.js'\n\nexport function filterMap(fn) {\n  return list => mapFn(fn, list).filter(Boolean)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { filterMap } from './filterMap.js'\n\nconst double = x => x > 1 ? x * 2 : null\n\nit('happy', () => {\n  expect(filterMap(double)([1, 2, 3])).toEqual([4, 6])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { filterMap, pipe } from 'rambda'\n\nconst list = [1, 2, 3]\n\nit('R.filterMap - within pipe', () => {\n  const result = pipe(\n    list,\n    x => x,\n    filterMap(x => {\n      x // $ExpectType number\n      return Math.random() > 0.5 ? String(x) : null\n    }),\n    filterMap(x => {\n      x // $ExpectType string\n      return Math.random() > 0.5 ? Number(x) : ''\n    }),\n  )\n  result // $ExpectType number[]\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#filterMap)\n\n### filterObject\n\n```typescript\n\nfilterObject<T extends object>(\n  valueMapper: (\n    value: EnumerableStringKeyedValueOf<T>,\n    key: EnumerableStringKeyOf<T>,\n    data: T,\n  ) => boolean,\n): <U extends T>(data: T) => U\n```\n\nIt loops over each property of `obj` and returns a new object with only those properties that satisfy the `predicate`.\n\n```javascript\nconst result = R.filterObject(\n\t(val, prop) => prop === 'a' || val > 1\n)({a: 1, b: 2, c:3})\n// => {a: 1, c: 3}\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.filterObject(%0A%09(val%2C%20prop)%20%3D%3E%20prop%20%3D%3D%3D%20'a'%20%7C%7C%20val%20%3E%201%0A)(%7Ba%3A%201%2C%20b%3A%202%2C%20c%3A3%7D)%0A%2F%2F%20%3D%3E%20%7Ba%3A%201%2C%20c%3A%203%7D\">Try this <strong>R.filterObject</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nfilterObject<T extends object>(\n  valueMapper: (\n    value: EnumerableStringKeyedValueOf<T>,\n    key: EnumerableStringKeyOf<T>,\n    data: T,\n  ) => boolean,\n): <U extends T>(data: T) => U;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.filterObject</strong> source</summary>\n\n```javascript\nexport function filterObject(predicate) {\n  return obj => {\n    const willReturn = {}\n\n    for (const prop in obj) {\n      if (predicate(obj[prop], prop, obj)) {\n        willReturn[prop] = obj[prop]\n      }\n    }\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { pipe } from './pipe.js'\nimport { filterObject } from './filterObject.js'\n\ntest('happy', () => {\n\tlet testInput = { a: 1, b: 2, c: 3 }\n  const result = pipe(\n\t\ttestInput,\n\t\tfilterObject((x, prop, obj) => {\n\t\t\texpect(prop).toBeOneOf(['a', 'b', 'c'])\n\t\t\texpect(obj).toBe(testInput)\n\t\t\treturn x > 1\n\t\t})\n\t)\n\texpect(result).toEqual({ b: 2, c: 3 })\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { filterObject, pipe } from 'rambda'\n\ndescribe('R.filterObject', () => {\n  it('require explicit type', () => {\n    const result = pipe(\n      { a: 1, b: 2 },\n      filterObject<{ b: number }>(a => {\n        a // $ExpectType number\n        return a > 1\n      }),\n    )\n    result.b // $ExpectType number\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#filterObject)\n\n### find\n\n```typescript\n\nfind<T>(predicate: (x: T) => boolean): (list: T[]) => T | undefined\n```\n\nIt returns the first element of `list` that satisfy the `predicate`.\n\nIf there is no such element, it returns `undefined`.\n\n```javascript\nconst predicate = x => R.type(x.foo) === 'Number'\nconst list = [{foo: 'bar'}, {foo: 1}]\n\nconst result = R.find(predicate)(list)\n// => {foo: 1}\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20predicate%20%3D%20x%20%3D%3E%20R.type(x.foo)%20%3D%3D%3D%20'Number'%0Aconst%20list%20%3D%20%5B%7Bfoo%3A%20'bar'%7D%2C%20%7Bfoo%3A%201%7D%5D%0A%0Aconst%20result%20%3D%20R.find(predicate)(list)%0A%2F%2F%20%3D%3E%20%7Bfoo%3A%201%7D\">Try this <strong>R.find</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nfind<T>(predicate: (x: T) => boolean): (list: T[]) => T | undefined;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.find</strong> source</summary>\n\n```javascript\nexport function find(predicate) {\n  return list => {\n    let index = 0\n    const len = list.length\n\n    while (index < len) {\n      const x = list[index]\n      if (predicate(x)) {\n        return x\n      }\n\n      index++\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { find } from './find.js'\nimport { propEq } from './propEq.js'\n\nconst list = [{ a: 1 }, { a: 2 }, { a: 3 }]\n\ntest('happy', () => {\n  const fn = propEq(2, 'a')\n  expect(find(fn)(list)).toEqual({ a: 2 })\n})\n\ntest('nothing is found', () => {\n  const fn = propEq(4, 'a')\n  expect(find(fn)(list)).toBeUndefined()\n})\n\ntest('with empty list', () => {\n  expect(find(() => true)([])).toBeUndefined()\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { find, pipe } from 'rambda'\n\nconst list = [1, 2, 3]\n\ndescribe('R.find', () => {\n  it('happy', () => {\n    const predicate = (x: number) => x > 2\n    const result = pipe(list, find(predicate))\n    result // $ExpectType number | undefined\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#find)\n\n### findIndex\n\n```typescript\n\nfindIndex<T>(predicate: (x: T) => boolean): (list: T[]) => number\n```\n\nIt returns the index of the first element of `list` satisfying the `predicate` function.\n\nIf there is no such element, then `-1` is returned.\n\n```javascript\nconst predicate = x => R.type(x.foo) === 'Number'\nconst list = [{foo: 'bar'}, {foo: 1}]\n\nconst result = R.findIndex(predicate)(list)\n// => 1\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20predicate%20%3D%20x%20%3D%3E%20R.type(x.foo)%20%3D%3D%3D%20'Number'%0Aconst%20list%20%3D%20%5B%7Bfoo%3A%20'bar'%7D%2C%20%7Bfoo%3A%201%7D%5D%0A%0Aconst%20result%20%3D%20R.findIndex(predicate)(list)%0A%2F%2F%20%3D%3E%201\">Try this <strong>R.findIndex</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nfindIndex<T>(predicate: (x: T) => boolean): (list: T[]) => number;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.findIndex</strong> source</summary>\n\n```javascript\nexport function findIndex(predicate) {\n  return list => {\n    const len = list.length\n    let index = -1\n\n    while (++index < len) {\n      if (predicate(list[index])) {\n        return index\n      }\n    }\n\n    return -1\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { findIndex } from './findIndex.js'\nimport { propEq } from './propEq.js'\n\nconst list = [{ a: 1 }, { a: 2 }, { a: 3 }]\n\ntest('happy', () => {\n  expect(findIndex(propEq(2, 'a'))(list)).toBe(1)\n  expect(findIndex(propEq(1, 'a'))(list)).toBe(0)\n  expect(findIndex(propEq(4, 'a'))(list)).toBe(-1)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { findIndex, pipe } from 'rambda'\n\nconst list = [1, 2, 3]\n\nit('R.findIndex', () => {\n  const result = pipe(\n    list,\n    findIndex(x => x > 2),\n  )\n  result // $ExpectType number\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#findIndex)\n\n### findLast\n\n```typescript\n\nfindLast<T>(fn: (x: T) => boolean): (list: T[]) => T | undefined\n```\n\nIt returns the last element of `list` satisfying the `predicate` function.\n\nIf there is no such element, then `undefined` is returned.\n\n```javascript\nconst predicate = x => R.type(x.foo) === 'Number'\nconst list = [{foo: 0}, {foo: 1}]\n\nconst result = R.findLast(predicate)(list)\n// => {foo: 1}\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20predicate%20%3D%20x%20%3D%3E%20R.type(x.foo)%20%3D%3D%3D%20'Number'%0Aconst%20list%20%3D%20%5B%7Bfoo%3A%200%7D%2C%20%7Bfoo%3A%201%7D%5D%0A%0Aconst%20result%20%3D%20R.findLast(predicate)(list)%0A%2F%2F%20%3D%3E%20%7Bfoo%3A%201%7D\">Try this <strong>R.findLast</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nfindLast<T>(fn: (x: T) => boolean): (list: T[]) => T | undefined;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.findLast</strong> source</summary>\n\n```javascript\nexport function findLast(predicate) {\n  return list => {\n    let index = list.length\n\n    while (--index >= 0) {\n      if (predicate(list[index])) {\n        return list[index]\n      }\n    }\n\n    return undefined\n  }\n}\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#findLast)\n\n### findLastIndex\n\n```typescript\n\nfindLastIndex<T>(predicate: (x: T) => boolean): (list: T[]) => number\n```\n\nIt returns the index of the last element of `list` satisfying the `predicate` function.\n\nIf there is no such element, then `-1` is returned.\n\n```javascript\nconst predicate = x => R.type(x.foo) === 'Number'\nconst list = [{foo: 0}, {foo: 1}]\n\nconst result = R.findLastIndex(predicate)(list)\n// => 1\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20predicate%20%3D%20x%20%3D%3E%20R.type(x.foo)%20%3D%3D%3D%20'Number'%0Aconst%20list%20%3D%20%5B%7Bfoo%3A%200%7D%2C%20%7Bfoo%3A%201%7D%5D%0A%0Aconst%20result%20%3D%20R.findLastIndex(predicate)(list)%0A%2F%2F%20%3D%3E%201\">Try this <strong>R.findLastIndex</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nfindLastIndex<T>(predicate: (x: T) => boolean): (list: T[]) => number;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.findLastIndex</strong> source</summary>\n\n```javascript\nexport function findLastIndex(fn) {\n  return list => {\n    let index = list.length\n\n    while (--index >= 0) {\n      if (fn(list[index])) {\n        return index\n      }\n    }\n\n    return -1\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { findLastIndex } from './findLastIndex.js'\n\ntest('happy', () => {\n  const result = findLastIndex(x => x > 1)([1, 1, 1, 2, 3, 4, 1])\n  expect(result).toBe(5)\n  expect(findLastIndex(x => x === 0)([0, 1, 1, 2, 3, 4, 1])).toBe(0)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { findLastIndex, pipe } from 'rambda'\n\nconst list = [1, 2, 3]\n\ndescribe('R.findLastIndex', () => {\n  it('happy', () => {\n    const predicate = (x: number) => x > 2\n    const result = pipe(list, findLastIndex(predicate))\n    result // $ExpectType number\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#findLastIndex)\n\n### findNth\n\n```typescript\n\nfindNth<T>(predicate: (x: T) => boolean, nth: number): (list: T[]) => T | undefined\n```\n\nIt returns the `nth` element of `list` that satisfy the `predicate` function.\n\n```javascript\nconst predicate = x => R.type(x.foo) === 'Number'\nconst list = [{foo: 0}, {foo: 1}, {foo: 2}, {foo: 3}]\n\nconst result = R.findNth(predicate, 2)(list)\n// => {foo: 2}\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20predicate%20%3D%20x%20%3D%3E%20R.type(x.foo)%20%3D%3D%3D%20'Number'%0Aconst%20list%20%3D%20%5B%7Bfoo%3A%200%7D%2C%20%7Bfoo%3A%201%7D%2C%20%7Bfoo%3A%202%7D%2C%20%7Bfoo%3A%203%7D%5D%0A%0Aconst%20result%20%3D%20R.findNth(predicate%2C%202)(list)%0A%2F%2F%20%3D%3E%20%7Bfoo%3A%202%7D\">Try this <strong>R.findNth</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nfindNth<T>(predicate: (x: T) => boolean, nth: number): (list: T[]) => T | undefined;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.findNth</strong> source</summary>\n\n```javascript\nexport function findNth(predicate, nth) {\n  return list => {\n    let index = 0\n    const len = list.length\n\n    while (index < len) {\n      const x = list[index]\n      if (predicate(x)) {\n\t\t\t\tif (nth === 0) return x\n\t\t\t\tnth--\n      }\n\n      index++\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { findNth } from './findNth.js'\n\nconst list = [{ a: 1 }, { a: 2 }, { a: 3 }, { a: 4 }]\n\ntest('happy', () => {\n  const fn = x => x.a > 1\n  expect(findNth(fn,1)(list)).toEqual({ a: 3 })\n})\n\ntest('nothing is found', () => {\n\tconst fn = x => x.a > 4\n\texpect(findNth(fn,1)(list)).toBeUndefined()\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#findNth)\n\n### flatMap\n\n```typescript\n\nflatMap<T, U extends unknown>(transformFn: (x: T extends any[] ? T[number]: never) => U): (listOfLists: T[]) => U[]\n```\n\nIt maps `fn` over `list` and then flatten the result by one-level.\n\n```javascript\nconst duplicate = n => [ n, n ]\nconst list = [ 1, 2, 3 ]\n\nconst result = R.flatMap(duplicate)(list)\n// => [ 1, 1, 2, 2, 3, 3 ]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20duplicate%20%3D%20n%20%3D%3E%20%5B%20n%2C%20n%20%5D%0Aconst%20list%20%3D%20%5B%201%2C%202%2C%203%20%5D%0A%0Aconst%20result%20%3D%20R.flatMap(duplicate)(list)%0A%2F%2F%20%3D%3E%20%5B%201%2C%201%2C%202%2C%202%2C%203%2C%203%20%5D\">Try this <strong>R.flatMap</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nflatMap<T, U extends unknown>(transformFn: (x: T extends any[] ? T[number]: never) => U): (listOfLists: T[]) => U[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.flatMap</strong> source</summary>\n\n```javascript\nexport function flatMap(fn) {\n  return list => [].concat(...list.map(fn))\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { flatMap } from './flatMap.js'\n\nconst duplicate = n => [n, n]\n\ntest('happy', () => {\n  const fn = x => [x * 2]\n  const list = [1, 2, 3]\n\n  const result = flatMap(fn)(list)\n\n  expect(result).toEqual([2, 4, 6])\n})\n\ntest('maps then flattens one level', () => {\n  expect(flatMap(duplicate)([1, 2, 3])).toEqual([1, 1, 2, 2, 3, 3])\n})\n\ntest('maps then flattens one level', () => {\n  expect(flatMap(duplicate)([1, 2, 3])).toEqual([1, 1, 2, 2, 3, 3])\n})\n\ntest('flattens only one level', () => {\n  const nest = n => [[n]]\n  expect(flatMap(nest)([1, 2, 3])).toEqual([[1], [2], [3]])\n})\n\ntest('can compose', () => {\n  function dec(x) {\n    return [x - 1]\n  }\n  function times2(x) {\n    return [x * 2]\n  }\n\n  const mdouble = flatMap(times2)\n  const mdec = flatMap(dec)\n  expect(mdec(mdouble([10, 20, 30]))).toEqual([19, 39, 59])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { flatMap, pipe } from 'rambda'\n\ndescribe('R.flatMap', () => {\n  it('happy', () => {\n    const listOfLists: string[][] = [\n      ['f', 'bar'],\n      ['baz', 'b'],\n    ]\n    const result = pipe(\n      listOfLists,\n      x => x,\n      flatMap(x => {\n        x // $ExpectType string\n        return Number(x) + 1\n      }),\n    )\n    result // $ExpectType number[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#flatMap)\n\n### flatten\n\n```typescript\n\nflatten<T>(list: any[]): T[]\n```\n\nIt deeply flattens an array.\nYou must pass expected output type as a type argument.\n\n```javascript\nconst result = R.flatten<number>([\n  1,\n  2,\n  [3, 30, [300]],\n  [4]\n])\n// => [ 1, 2, 3, 30, 300, 4 ]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.flatten%3Cnumber%3E(%5B%0A%20%201%2C%0A%20%202%2C%0A%20%20%5B3%2C%2030%2C%20%5B300%5D%5D%2C%0A%20%20%5B4%5D%0A%5D)%0A%2F%2F%20%3D%3E%20%5B%201%2C%202%2C%203%2C%2030%2C%20300%2C%204%20%5D\">Try this <strong>R.flatten</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nflatten<T>(list: any[]): T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.flatten</strong> source</summary>\n\n```javascript\nimport { isArray } from './_internals/isArray.js'\n\nexport function flatten(list, input) {\n  const willReturn = input === undefined ? [] : input\n\n  for (let i = 0; i < list.length; i++) {\n    if (isArray(list[i])) {\n      flatten(list[i], willReturn)\n    } else {\n      willReturn.push(list[i])\n    }\n  }\n\n  return willReturn\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { flatten } from './flatten.js'\n\ntest('happy', () => {\n  expect(flatten([1, 2, 3, [[[[[4]]]]]])).toEqual([1, 2, 3, 4])\n\n  expect(flatten([1, [2, [[3]]], [4]])).toEqual([1, 2, 3, 4])\n\n  expect(flatten([1, [2, [[[3]]]], [4]])).toEqual([1, 2, 3, 4])\n\n  expect(flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]])).toEqual([\n    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,\n  ])\n})\n\ntest('readme example', () => {\n  const result = flatten([1, 2, [3, 30, [300]], [4]])\n  expect(result).toEqual([1, 2, 3, 30, 300, 4])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { flatten, pipe } from 'rambda'\n\ndescribe('flatten', () => {\n  it('happy', () => {\n    const result = pipe([1, 2, [3, [4]]], flatten<number>)\n    result // $ExpectType number[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#flatten)\n\n### flattenObject\n\n```typescript\n\nflattenObject<T extends object>(obj: T): FlattenObject<T>\n```\n\nIt transforms object to object where each value is represented with its path.\n\n```javascript\nconst result = R.flattenObject(\n\t[1, 2, 3]\n)\n// => [3, 1, 2] or [2, 3, 1] or ...\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.flattenObject(%0A%09%5B1%2C%202%2C%203%5D%0A)%0A%2F%2F%20%3D%3E%20%5B3%2C%201%2C%202%5D%20or%20%5B2%2C%203%2C%201%5D%20or%20...\">Try this <strong>R.flattenObject</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nflattenObject<T extends object>(obj: T): FlattenObject<T>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.flattenObject</strong> source</summary>\n\n```javascript\nimport { type } from './type.js'\n\nexport function flattenObjectHelper(obj, accumulator = []){\n  const willReturn = {}\n  Object.keys(obj).forEach(key => {\n    const typeIs = type(obj[ key ])\n    if (typeIs === 'Object'){\n      const [ flatResultValue, flatResultPath ] = flattenObjectHelper(obj[ key ],\n        [ ...accumulator, key ])\n      willReturn[ flatResultPath.join('.') ] = flatResultValue\n\n      return\n    } else if (accumulator.length > 0){\n      const finalKey = [ ...accumulator, key ].join('.')\n      willReturn[ finalKey ] = obj[ key ]\n\n      return\n    }\n    willReturn[ key ] = obj[ key ]\n  })\n  if (accumulator.length > 0) return [ willReturn, accumulator ]\n\n  return willReturn\n}\n\nexport function transformFlatObject(obj){\n  const willReturn = {}\n\n  const transformFlatObjectFn = objLocal => {\n    const willReturnLocal = {}\n    Object.keys(objLocal).forEach(key => {\n      const typeIs = type(objLocal[ key ])\n      if (typeIs === 'Object'){\n        transformFlatObjectFn(objLocal[ key ])\n\n        return\n      }\n      willReturnLocal[ key ] = objLocal[ key ]\n      willReturn[ key ] = objLocal[ key ]\n    })\n\n    return willReturnLocal\n  }\n\n  Object.keys(obj).forEach(key => {\n    const typeIs = type(obj[ key ])\n    if (typeIs === 'Object'){\n      transformFlatObjectFn(obj[ key ], key)\n\n      return\n    }\n    willReturn[ key ] = obj[ key ]\n  })\n\n  return willReturn\n}\n\nexport function flattenObject(obj){\n  const willReturn = {}\n\n  Object.keys(obj).forEach(key => {\n    const typeIs = type(obj[ key ])\n    if (typeIs === 'Object'){\n      const flatObject = flattenObjectHelper(obj[ key ])\n      const transformed = transformFlatObject(flatObject)\n\n      Object.keys(transformed).forEach(keyTransformed => {\n        willReturn[ `${ key }.${ keyTransformed }` ] = transformed[ keyTransformed ]\n      })\n    } else {\n      willReturn[ key ] = obj[ key ]\n    }\n  })\n\n  return willReturn\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport {\n  flattenObject,\n  flattenObjectHelper,\n  transformFlatObject,\n} from './flattenObject.js'\n\ntest('happy', () => {\n  const obj = {\n    c : 3,\n    d : {\n      'd.e' : [ 5, 6, 7 ],\n      'd.z' : 4,\n      'd.f' : { 'd.f.h' : 6 },\n    },\n  }\n  const result = transformFlatObject(obj)\n  expect(result).toEqual({\n    'c'     : 3,\n    'd.e'   : [ 5, 6, 7 ],\n    'd.z'   : 4,\n    'd.f.h' : 6,\n  })\n})\n\ntest('happy', () => {\n  const result = flattenObject({\n    a : 1,\n    b : {\n      c : 3,\n      d : {\n        e : 5,\n        z : 4,\n        f : {\n          h : 6,\n          i : 7,\n          j : {\n            k : 8,\n            l : 9,\n          },\n        },\n      },\n    },\n  })\n    const expected = {\n      'a'         : 1,\n      'b.c'       : 3,\n      'b.d.e'     : 5,\n      'b.d.z'     : 4,\n      'b.d.f.h'   : 6,\n      'b.d.f.i'   : 7,\n      'b.d.f.j.k' : 8,\n      'b.d.f.j.l' : 9,\n    }\n    expect(result).toEqual(expected)\n})\n\ntest('flattenObjectHelper', () => {\n  const result = flattenObjectHelper({\n    a : 1,\n    b : {\n      c : 3,\n      d : {\n        e : 5,\n        z : 4,\n        f : { h : 6 },\n      },\n    },\n  })\n  const expected = {\n    a : 1,\n    b : {\n      'b.c' : 3,\n      'b.d' : {\n        'b.d.e' : 5,\n        'b.d.z' : 4,\n        'b.d.f' : { 'b.d.f.h' : 6 },\n      },\n    },\n  }\n  expect(result).toEqual(expected)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { flattenObject, pipe } from 'rambda'\n\nit('R.flattenObject', () => {\n  const result = pipe({ a: { b: 1, c: 2 } }, flattenObject)\n  result['a.b'] // $ExpectType number\n  result['a.c'] // $ExpectType number\n  // @ts-expect-error\n  result['a.foo']\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#flattenObject)\n\n### groupBy\n\n```typescript\n\ngroupBy<T, K extends string = string>(fn: (x: T) => K): (list: T[]) => Partial<Record<K, T[]>>\n```\n\nIt splits `list` according to a provided `groupFn` function and returns an object.\n\n```javascript\nconst list = [ 'a', 'b', 'aa', 'bb' ]\nconst groupFn = x => x.length\n\nconst result = R.groupBy(groupFn, list)\n// => { '1': ['a', 'b'], '2': ['aa', 'bb'] }\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%20'a'%2C%20'b'%2C%20'aa'%2C%20'bb'%20%5D%0Aconst%20groupFn%20%3D%20x%20%3D%3E%20x.length%0A%0Aconst%20result%20%3D%20R.groupBy(groupFn%2C%20list)%0A%2F%2F%20%3D%3E%20%7B%20'1'%3A%20%5B'a'%2C%20'b'%5D%2C%20'2'%3A%20%5B'aa'%2C%20'bb'%5D%20%7D\">Try this <strong>R.groupBy</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ngroupBy<T, K extends string = string>(fn: (x: T) => K): (list: T[]) => Partial<Record<K, T[]>>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.groupBy</strong> source</summary>\n\n```javascript\nexport function groupByFallback(groupFn, list) {\n    const result = {}\n    for (let i = 0; i < list.length; i++) {\n      const item = list[i]\n      const key = groupFn(item)\n\n      if (!result[key]) {\n        result[key] = []\n      }\n\n      result[key].push(item)\n    }\n\n    return result\n}\n\nexport function groupBy(groupFn) {\n  return iterable => Object.groupBy ? Object.groupBy(iterable,groupFn) : groupByFallback(groupFn, iterable)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { groupBy } from './groupBy.js'\n\ntest('with list', () => {\n  const inventory = [\n\t\t{ name: \"asparagus\", type: \"vegetables\", quantity: 9 },\n\t\t{ name: \"bananas\", type: \"fruit\", quantity: 5 },\n\t\t{ name: \"goat\", type: \"meat\", quantity: 23 },\n\t\t{ name: \"cherries\", type: \"fruit\", quantity: 12 },\n\t\t{ name: \"fish\", type: \"meat\", quantity: 22 },\n\t];\n  const result = groupBy(\n\t\t({ quantity }) =>\n\t\t\tquantity < 6 ? \"restock\" : \"sufficient\"\n\t\n\t)(inventory)\n\texpect(result.restock).toEqual([\n\t\t{ name: \"bananas\", type: \"fruit\", quantity: 5 },\n\t]);\n\texpect(result.sufficient[0]).toEqual(\n\t\t{ name: \"asparagus\", type: \"vegetables\", quantity: 9 }\n\t);\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { groupBy, pipe } from 'rambda'\n\ndescribe('R.groupBy', () => {\n  it('happy', () => {\n    const groupByFn = (x: string) => String(x.length)\n    const list = ['foo', 'bar']\n\n    const result = pipe(list, groupBy(groupByFn))\n    result // $ExpectType Partial<Record<string, string[]>>\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#groupBy)\n\n### head\n\n```typescript\n\nhead<T>(listOrString: T): T extends string ? string :\n\tT extends [] ? undefined:\n\t\tT extends readonly [infer F, ...infer R] ? F :\n\t\t\tT extends readonly [infer F] ? F :\n\t\t\t\tT extends [infer F] ? F :\n\t\t\t\t\tT extends [infer F, ...infer R] ? F :\n\t\t\t\t\t\tT extends unknown[] ? T[number] :\n\t\t\t\t\t\t\tundefined\n```\n\nIt returns the first element of list or string `input`. It returns `undefined` if array has length of 0.\n\n```javascript\nconst result = [\n  R.head([1, 2, 3]),\n  R.head('foo')\n]\n// => [1, 'f']\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5B%0A%20%20R.head(%5B1%2C%202%2C%203%5D)%2C%0A%20%20R.head('foo')%0A%5D%0A%2F%2F%20%3D%3E%20%5B1%2C%20'f'%5D\">Try this <strong>R.head</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nhead<T>(listOrString: T): T extends string ? string :\n\tT extends [] ? undefined:\n\t\tT extends readonly [infer F, ...infer R] ? F :\n\t\t\tT extends readonly [infer F] ? F :\n\t\t\t\tT extends [infer F] ? F :\n\t\t\t\t\tT extends [infer F, ...infer R] ? F :\n\t\t\t\t\t\tT extends unknown[] ? T[number] :\n\t\t\t\t\t\t\tundefined;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.head</strong> source</summary>\n\n```javascript\nexport function head(listOrString) {\n  if (typeof listOrString === 'string') {\n    return listOrString[0] || ''\n  }\n\n  return listOrString[0]\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { head } from './head.js'\n\ntest('head', () => {\n  expect(head(['fi', 'fo', 'fum'])).toBe('fi')\n  expect(head([])).toBeUndefined()\n  expect(head('foo')).toBe('f')\n  expect(head('')).toBe('')\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { head, last } from 'rambda'\n\nexport const mixedList = [1, 'foo', 3, 'bar']\nexport const mixedListConst = [1, 'foo', 3, 'bar'] as const\nexport const numberList = [1, 2, 3]\nexport const numberListConst = [1, 2, 3] as const\nexport const emptyList = []\nexport const emptyString = ''\nexport const string = 'foo'\n\ndescribe('R.head', () => {\n  it('string', () => {\n    head(string) // $ExpectType string\n    last(string) // $ExpectType string\n  })\n  it('empty string', () => {\n    head(emptyString) // $ExpectType string\n    last(emptyString) // $ExpectType string\n  })\n  it('array', () => {\n    head(numberList) // $ExpectType number\n    head(numberListConst) // $ExpectType 1\n\n    last(numberList) // $ExpectType number\n    last(numberListConst) // $ExpectType 3\n  })\n  it('empty array', () => {\n    const list = [] as const\n    head(emptyList) // $ExpectType never\n    head(list) // $ExpectType undefined\n    last(emptyList) // $ExpectType never\n    last(list) // $ExpectType undefined\n  })\n\n  it('mixed', () => {\n    head(mixedList) // $ExpectType string | number\n    head(mixedListConst) // $ExpectType 1\n    last(mixedList) // $ExpectType string | number\n    last(mixedListConst) // $ExpectType \"bar\"\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#head)\n\n### includes\n\n```typescript\n\nincludes<T>(list: readonly T[]): (target: T) => boolean\n```\n\nIf `input` is string, then this method work as native `String.includes`.\n\nIf `input` is array, then `R.equals` is used to define if `valueToFind` belongs to the list.\n\n```javascript\nconst result = [\n  R.includes('foo')('oo'),\n  R.includes([{a: 1}])({a: 1})\n]\n// => [true, true ]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5B%0A%20%20R.includes('foo')('oo')%2C%0A%20%20R.includes(%5B%7Ba%3A%201%7D%5D)(%7Ba%3A%201%7D)%0A%5D%0A%2F%2F%20%3D%3E%20%5Btrue%2C%20true%20%5D\">Try this <strong>R.includes</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nincludes<T>(list: readonly T[]): (target: T) => boolean;\nincludes(list: readonly string[] | string): (substringToFind: string) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.includes</strong> source</summary>\n\n```javascript\nimport { isArray } from './_internals/isArray.js'\nimport { _indexOf } from './equals.js'\n\nexport function includes(iterable) {\n  return valueToFind => {\n    if (typeof iterable === 'string') {\n      return iterable.includes(valueToFind)\n    }\n    if (!iterable) {\n      throw new TypeError(`Cannot read property \\'indexOf\\' of ${iterable}`)\n    }\n    if (!isArray(iterable)) {\n      return false\n    }\n\n    return _indexOf(valueToFind, iterable) > -1\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { includes } from './includes.js'\n\ntest('with string as iterable', () => {\n  const str = 'foo bar'\n\n  expect(includes(str)('foo')).toBeTruthy()\n  expect(includes(str)('never')).toBeFalsy()\n})\n\ntest('with array as iterable', () => {\n  const arr = [1, 2, 3]\n\n  expect(includes(arr)(2)).toBeTruthy()\n  expect(includes(arr)(4)).toBeFalsy()\n})\n\ntest('with list of objects as iterable', () => {\n  const arr = [{ a: 1 }, { b: 2 }, { c: 3 }]\n\n  expect(includes(arr)({ c: 3 })).toBeTruthy()\n})\n\ntest('with NaN', () => {\n  const result = includes([Number.NaN])(Number.NaN)\n  expect(result).toBeTruthy()\n})\n\ntest('with wrong input that does not throw', () => {\n  const result = includes([1])(/foo/g)\n  expect(result).toBeFalsy()\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe , includes} from 'rambda'\n\ndescribe('R.includes', () => {\n  it('happy', () => {\n    const list = [{ a: { b: '1' } }, { a: { b: '2' } }, { a: { b: '3' } }]\n    const result = pipe({ a: { b: '1' } }, includes(list))\n    result // $ExpectType boolean\n  })\n  it('with string', () => {\n    const result = pipe('oo', includes('foo'))\n    result // $ExpectType boolean\n  })\n  it('with array of strings', () => {\n\t\tconst result = pipe('1', includes(['1','2','3']))\n    result // $ExpectType boolean\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#includes)\n\n### indexBy\n\n```typescript\n\nindexBy<T, K extends keyof T>(\n  property: K\n): (list: readonly T[]) => Record<string, T>\n```\n\nIt transforms list of objects to object using specified property as the base for the returned object.\n\n```javascript\nconst result = R.indexBy(\n\t'id'\n)([{id: 'xyz', title: 'A'}, {id: 'abc', title: 'B'}])\n// => {abc: {id: 'abc', title: 'B'}, xyz: {id: 'xyz', title: 'A'}}\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.indexBy(%0A%09'id'%0A)(%5B%7Bid%3A%20'xyz'%2C%20title%3A%20'A'%7D%2C%20%7Bid%3A%20'abc'%2C%20title%3A%20'B'%7D%5D)%0A%2F%2F%20%3D%3E%20%7Babc%3A%20%7Bid%3A%20'abc'%2C%20title%3A%20'B'%7D%2C%20xyz%3A%20%7Bid%3A%20'xyz'%2C%20title%3A%20'A'%7D%7D\">Try this <strong>R.indexBy</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nindexBy<T, K extends keyof T>(\n  property: K\n): (list: readonly T[]) => Record<string, T>;\nindexBy<T, K extends keyof T>(\n  property: K\n): (list: T[]) => Record<string, T>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.indexBy</strong> source</summary>\n\n```javascript\nexport function indexBy(property){\n\treturn list => {\n\t\tconst toReturn = {}\n\t\tfor (let i = 0; i < list.length; i++){\n\t\t\tconst item = list[ i ]\n\t\t\tconst key = item[property]\n\t\t\tif(key !== undefined){\n\t\t\t\ttoReturn[ key ] = item\n\t\t\t}\n\t\t}\n\t\n\t\treturn toReturn\n\t}\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { indexBy } from './indexBy.js'\n\ntest('happy', () => {\n\tconst list = [{id: 'xyz', title: 'A'}, {id: 'abc', title: 'B'}]\n\n\texpect(\n\t\tindexBy('id')(list)\n\t).toEqual(\n\t\t{abc: {id: 'abc', title: 'B'}, xyz: {id: 'xyz', title: 'A'}}\n\t)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, indexBy } from 'rambda'\n\nit('R.indexBy', () => {\n\tconst list = [{id: 'xyz', title: 'A'}, {id: 'abc', title: 'B'}]\n\tconst result = pipe(\n\t\tlist,\n\t\tindexBy('id')\n\t)\n\tresult.abc // $ExpectType { id: string; title: string; }\n\tresult.foo // $ExpectType { id: string; title: string; }\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#indexBy)\n\n### indexOf\n\n```typescript\n\nindexOf<T>(valueToFind: T): (list: T[]) => number\n```\n\nIt uses `R.equals` for list of objects/arrays or native `indexOf` for any other case.\n\n```javascript\nconst result = [\n  R.indexOf({a:1})([{a:1}, {a:2}]),\n  R.indexOf(2)([1, 2, 3]),\n]\n// => [0, 1]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5B%0A%20%20R.indexOf(%7Ba%3A1%7D)(%5B%7Ba%3A1%7D%2C%20%7Ba%3A2%7D%5D)%2C%0A%20%20R.indexOf(2)(%5B1%2C%202%2C%203%5D)%2C%0A%5D%0A%2F%2F%20%3D%3E%20%5B0%2C%201%5D\">Try this <strong>R.indexOf</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nindexOf<T>(valueToFind: T): (list: T[]) => number;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.indexOf</strong> source</summary>\n\n```javascript\nimport { _indexOf } from './equals.js'\n\nexport function indexOf(valueToFind) {\n  return list => _indexOf(valueToFind, list)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { indexOf } from './indexOf.js'\n\ntest('with NaN', () => {\n  expect(indexOf(Number.NaN)([Number.NaN])).toBe(0)\n})\n\ntest('will throw with bad input', () => {\n  expect(() => indexOf([])(true)).toThrow()\n})\n\ntest('with numbers', () => {\n  expect(indexOf(3)([1, 2, 3, 4])).toBe(2)\n  expect(indexOf(10)([1, 2, 3, 4])).toBe(-1)\n})\n\ntest('list of objects use R.equals', () => {\n  const listOfObjects = [{ a: 1 }, { b: 2 }, { c: 3 }]\n  expect(indexOf({ c: 4 })(listOfObjects)).toBe(-1)\n  expect(indexOf({ c: 3 })(listOfObjects)).toBe(2)\n})\n\ntest('list of arrays use R.equals', () => {\n  const listOfLists = [[1], [2, 3], [2, 3, 4], [2, 3], [1], []]\n  expect(indexOf([])(listOfLists)).toBe(5)\n  expect(indexOf([1])(listOfLists)).toBe(0)\n  expect(indexOf([2, 3, 4])(listOfLists)).toBe(2)\n  expect(indexOf([2, 3, 5])(listOfLists)).toBe(-1)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { indexOf } from 'rambda'\n\ndescribe('R.indexOf', () => {\n  it('happy', () => {\n    const list = [{ a: 1 }, { a: 2 }]\n    const result = indexOf({ a: 1 })(list)\n    result // $ExpectType number\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#indexOf)\n\n### init\n\n```typescript\n\ninit<T extends unknown>(input: T): T extends unknown[] ? \n\tT['length'] extends 0 ? [] : T['length'] extends 1 ? [] : \n\tT extends [...infer U, any] ? U : T : T extends string ? string : never\n```\n\nIt returns all but the last element of list or string `input`.\n\n```javascript\nconst result = [\n  R.init([1, 2, 3]) ,\n  R.init('foo')  // => 'fo'\n]\n// => [[1, 2], 'fo']\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5B%0A%20%20R.init(%5B1%2C%202%2C%203%5D)%20%2C%0A%20%20R.init('foo')%20%20%2F%2F%20%3D%3E%20'fo'%0A%5D%0A%2F%2F%20%3D%3E%20%5B%5B1%2C%202%5D%2C%20'fo'%5D\">Try this <strong>R.init</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ninit<T extends unknown>(input: T): T extends unknown[] ? \n\tT['length'] extends 0 ? [] : T['length'] extends 1 ? [] : \n\tT extends [...infer U, any] ? U : T : T extends string ? string : never;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.init</strong> source</summary>\n\n```javascript\nimport { baseSlice } from './_internals/baseSlice.js'\n\nexport function init(input) {\n  if (typeof input === 'string') {\n    return input.slice(0, -1)\n  }\n\n  return input.length ? baseSlice(input, 0, -1) : []\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { init } from './init.js'\n\ntest('with array', () => {\n  expect(init([1, 2, 3])).toEqual([1, 2])\n  expect(init([1, 2])).toEqual([1])\n  expect(init([1])).toEqual([])\n  expect(init([])).toEqual([])\n  expect(init([])).toEqual([])\n  expect(init([1])).toEqual([])\n})\n\ntest('with string', () => {\n  expect(init('foo')).toBe('fo')\n  expect(init('f')).toBe('')\n  expect(init('')).toBe('')\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { map, pipe, init } from 'rambda'\n\ndescribe('R.init', () => {\n  it('with string', () => {\n    const result = init('foo')\n\n    result // $ExpectType string\n  })\n  it('with list - using const on short array', () => {\n    const result = pipe(\n      [1] as const,\n      map(x => x * 2),\n      init,\n    )\n    result // $ExpectType []\n  })\n  it('with list - using const on empty array', () => {\n    const result = pipe(\n      [] as const,\n      map(x => x * 2),\n      init,\n    )\n    result // $ExpectType []\n  })\n  it('with list - using const', () => {\n    const result = pipe(\n      [1, 2, 3] as const,\n      map(x => x * 2),\n      init,\n    )\n    result // $ExpectType [number, number]\n  })\n  it('with list - mixed types', () => {\n    const result = init(['foo', 'bar', 1, 2, 3])\n\n    result // $ExpectType (string | number)[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#init)\n\n### interpolate\n\n```typescript\n\ninterpolate(inputWithTags: string): (templateArguments: object) => string\n```\n\nIt generates a new string from `inputWithTags` by replacing all `{{x}}` occurrences with values provided by `templateArguments`.\n\n```javascript\nconst inputWithTags = 'foo is {{bar}} even {{a}} more'\nconst templateArguments = {\"bar\":\"BAR\", a: 1}\n\nconst result = R.interpolate(inputWithTags, templateArguments)\nconst expected = 'foo is BAR even 1 more'\n// => `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20inputWithTags%20%3D%20'foo%20is%20%7B%7Bbar%7D%7D%20even%20%7B%7Ba%7D%7D%20more'%0Aconst%20templateArguments%20%3D%20%7B%22bar%22%3A%22BAR%22%2C%20a%3A%201%7D%0A%0Aconst%20result%20%3D%20R.interpolate(inputWithTags%2C%20templateArguments)%0Aconst%20expected%20%3D%20'foo%20is%20BAR%20even%201%20more'%0A%2F%2F%20%3D%3E%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.interpolate</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ninterpolate(inputWithTags: string): (templateArguments: object) => string;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.interpolate</strong> source</summary>\n\n```javascript\nconst getOccurrences = input => input.match(/{{\\s*.+?\\s*}}/g)\nconst getOccurrenceProp = occurrence => occurrence.replace(/{{\\s*|\\s*}}/g, '')\n\nconst replace = ({ inputHolder, prop, replacer }) => {\n  const regexBase = `{{${prop}}}`\n  const regex = new RegExp(regexBase, 'g')\n  return inputHolder.replace(regex, replacer)\n}\n\nexport function interpolate(input) {\n  return templateInput => {\n    const occurrences = getOccurrences(input)\n    if (occurrences === null) {\n      return input\n    }\n    let inputHolder = input\n\n    for (const occurrence of occurrences) {\n      const prop = getOccurrenceProp(occurrence)\n      inputHolder = replace({\n        inputHolder,\n        prop,\n        replacer: templateInput[prop],\n      })\n    }\n\n    return inputHolder\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { interpolate } from './interpolate.js'\nimport { pipe } from './pipe.js'\n\ntest('happy', () => {\n  const result = pipe(\n\t\t{ name: 'John', age: 30 },\n\t\tinterpolate('My name is {{name}} and I am {{age}} years old')\n\t)\n\texpect(result).toBe('My name is John and I am 30 years old')\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { interpolate } from 'rambda'\n\nconst templateInput = 'foo {{x}} baz'\nconst templateArguments = { x: 'led zeppelin' }\n\nit('R.interpolate', () => {\n\tconst result = interpolate(templateInput)(templateArguments)\n\n\tresult // $ExpectType string\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#interpolate)\n\n### intersection\n\n```typescript\n\nintersection<T>(listA: T[]): (listB: T[]) => T[]\n```\n\nIt loops through `listA` and `listB` and returns the intersection of the two according to `R.equals`.\n\n```javascript\nconst listA = [ { id : 1 }, { id : 2 }, { id : 3 }, { id : 4 } ]\nconst listB = [ { id : 3 }, { id : 4 }, { id : 5 }, { id : 6 } ]\n\nconst result = R.intersection(listA)(listB)\n// => [{ id : 3 }, { id : 4 }]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20listA%20%3D%20%5B%20%7B%20id%20%3A%201%20%7D%2C%20%7B%20id%20%3A%202%20%7D%2C%20%7B%20id%20%3A%203%20%7D%2C%20%7B%20id%20%3A%204%20%7D%20%5D%0Aconst%20listB%20%3D%20%5B%20%7B%20id%20%3A%203%20%7D%2C%20%7B%20id%20%3A%204%20%7D%2C%20%7B%20id%20%3A%205%20%7D%2C%20%7B%20id%20%3A%206%20%7D%20%5D%0A%0Aconst%20result%20%3D%20R.intersection(listA)(listB)%0A%2F%2F%20%3D%3E%20%5B%7B%20id%20%3A%203%20%7D%2C%20%7B%20id%20%3A%204%20%7D%5D\">Try this <strong>R.intersection</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nintersection<T>(listA: T[]): (listB: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.intersection</strong> source</summary>\n\n```javascript\nimport { filter } from './filter.js'\nimport { includes } from './includes.js'\n\nexport function intersection(listA) {\n  return listB => filter(includes(listA))(listB)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { intersection } from './intersection.js'\n\ntest('intersection', () => {\n  const list1 = [1, 2, 3, 4]\n  const list2 = [3, 4, 5, 6]\n  expect(intersection(list1)(list2)).toEqual([3, 4])\n  expect(intersection([])([])).toEqual([])\n})\n\ntest('intersection with objects', () => {\n  const list1 = [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }]\n  const list2 = [{ id: 3 }, { id: 4 }, { id: 5 }, { id: 6 }]\n  expect(intersection(list1)(list2)).toEqual([{ id: 3 }, { id: 4 }])\n})\n\ntest('order is the same as in Ramda', () => {\n  const list = ['a', 'b', 'c', 'd']\n\n  expect(intersection(list)(['b', 'c'])).toEqual(['b', 'c'])\n  expect(intersection(list)(['c', 'b'])).toEqual(['c', 'b'])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { intersection } from 'rambda'\n\nconst list1 = [1, 2, 3]\nconst list2 = [1, 3, 5]\n\ndescribe('R.intersection', () => {\n  it('happy', () => {\n    const result = intersection(list1)(list2)\n    result // $ExpectType number[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#intersection)\n\n### intersectionWith\n\n```typescript\n\nintersectionWith<T1, T2>(\n  pred: (a: T1, b: T2) => boolean,\n  list1: T1[],\n): (list2: T2[]) => T1[]\n```\n\nIt returns a new list by applying a `predicate` function to all elements of `list1` and `list2` and keeping only these elements where `predicate` returns `true`.\n\n```javascript\nconst list1 = [1, 2, 3, 4, 5]\nconst list2 = [4, 5, 6]\nconst predicate = (x, y) => x >= y\nconst result = R.intersectionWith(predicate, list1)(list2)\n// => [4, 5]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list1%20%3D%20%5B1%2C%202%2C%203%2C%204%2C%205%5D%0Aconst%20list2%20%3D%20%5B4%2C%205%2C%206%5D%0Aconst%20predicate%20%3D%20(x%2C%20y)%20%3D%3E%20x%20%3E%3D%20y%0Aconst%20result%20%3D%20R.intersectionWith(predicate%2C%20list1)(list2)%0A%2F%2F%20%3D%3E%20%5B4%2C%205%5D\">Try this <strong>R.intersectionWith</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nintersectionWith<T1, T2>(\n  pred: (a: T1, b: T2) => boolean,\n  list1: T1[],\n): (list2: T2[]) => T1[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.intersectionWith</strong> source</summary>\n\n```javascript\nfunction _includesWith(pred, x, list) {\n  let idx = 0\n  const len = list.length\n\n  while (idx < len) {\n    if (pred(x, list[idx])) {\n      return true\n    }\n\n    idx += 1\n  }\n\n  return false\n}\nfunction _filter(fn, list) {\n  let idx = 0\n  const len = list.length\n  const result = []\n\n  while (idx < len) {\n    if (fn(list[idx])) {\n      result[result.length] = list[idx]\n    }\n\n    idx += 1\n  }\n\n  return result\n}\n\nexport function intersectionWith(pred, xs) {\n  return ys => _filter(x => _includesWith(pred, x, ys), xs)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { intersectionWith } from './intersectionWith.js'\n\nconst a = {\n  id: 1,\n  name: 'a',\n}\nconst b = {\n  id: 2,\n  name: 'b',\n}\nconst c = {\n  id: 3,\n  name: 'c',\n}\nconst f = (a, b) => intersectionWith((r, id) => r.id === id, a)(b)\n\ntest('only returns elements from the first list', () => {\n  expect(f([a, b, c], [])).toEqual([])\n  expect(f([a, b, c], [1])).toEqual([a])\n  expect(f([a, b, c], [1, 2])).toEqual([a, b])\n  expect(f([a, b, c], [1, 2, 3])).toEqual([a, b, c])\n  expect(f([a, b, c], [1, 2, 3, 4])).toEqual([a, b, c])\n})\n\ntest('does not remove duplicates', () => {\n  expect(f([a, a, a], [1, 2, 3])).toEqual([a, a, a])\n  expect(f([a, b, c], [1, 1, 1])).toEqual([a])\n})\n\ntest('readme example', () => {\n  const list1 = [1, 2, 3, 4, 5]\n  const list2 = [4, 5, 6]\n  const predicate = (x, y) => x >= y\n  const result = intersectionWith(predicate, list1)(list2)\n  expect(result).toEqual([4, 5])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { intersectionWith, pipe } from 'rambda'\n\nconst list1 = [1, 2, 3]\nconst list2 = [1, 3, 5]\n\ndescribe('R.intersectionWith', () => {\n  it('happy', () => {\n    const result = pipe(\n      list1,\n      intersectionWith((x, y) => x === y, list2),\n    )\n    result // $ExpectType number[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#intersectionWith)\n\n### intersperse\n\n```typescript\n\nintersperse<T>(separator: T): (list: T[]) => T[]\n```\n\nIt adds a `separator` between members of `list`.\n\n```javascript\nconst list = [ 0, 1, 2, 3 ]\nconst separator = 10\nconst result = R.intersperse(separator)(list)\n// => [0, 10, 1, 10, 2, 10, 3]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%200%2C%201%2C%202%2C%203%20%5D%0Aconst%20separator%20%3D%2010%0Aconst%20result%20%3D%20R.intersperse(separator)(list)%0A%2F%2F%20%3D%3E%20%5B0%2C%2010%2C%201%2C%2010%2C%202%2C%2010%2C%203%5D\">Try this <strong>R.intersperse</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nintersperse<T>(separator: T): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.intersperse</strong> source</summary>\n\n```javascript\nexport function intersperse(separator) {\n  return list => {\n    let index = -1\n    const len = list.length\n    const willReturn = []\n\n    while (++index < len) {\n      if (index === len - 1) {\n        willReturn.push(list[index])\n      } else {\n        willReturn.push(list[index], separator)\n      }\n    }\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { intersperse } from './intersperse.js'\n\ntest('intersperse', () => {\n  const list = [{ id: 1 }, { id: 2 }, { id: 10 }, { id: 'a' }]\n  expect(intersperse('!')(list)).toEqual([\n    { id: 1 },\n    '!',\n    { id: 2 },\n    '!',\n    { id: 10 },\n    '!',\n    { id: 'a' },\n  ])\n\n  expect(intersperse('!')([])).toEqual([])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { intersperse } from 'rambda'\n\ndescribe('R.intersperse', () => {\n  it('curried', () => {\n    const result = intersperse('|')(['foo', 'bar'])\n    result // $ExpectType string[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#intersperse)\n\n### join\n\n```typescript\n\njoin<T>(glue: string): (list: T[]) => string\n```\n\nIt returns a string of all `list` instances joined with a `glue`.\n\n```javascript\nR.join('-', [1, 2, 3])  // => '1-2-3'\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.join('-'%2C%20%5B1%2C%202%2C%203%5D)%20%20%2F%2F%20%3D%3E%20'1-2-3'\">Try this <strong>R.join</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\njoin<T>(glue: string): (list: T[]) => string;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.join</strong> source</summary>\n\n```javascript\nexport function join(glue) {\n  return list => list.join(glue)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { join, pipe } from 'rambda'\n\nit('R.join', () => {\n  const result = pipe([1, 2, 3], join('|'))\n  result // $ExpectType string\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#join)\n\n### last\n\n```typescript\n\nlast<T>(listOrString: T): T extends string ? string :\n  T extends [] ? undefined :\n    T extends readonly [...infer R, infer L] ? L :\n      T extends readonly [infer L] ? L :\n        T extends [infer L] ? L :\n          T extends [...infer R, infer L] ? L :\n            T extends unknown[] ? T[number] :\n              undefined\n```\n\nIt returns the last element of `input`, as the `input` can be either a string or an array. It returns `undefined` if array has length of 0.\n\n```javascript\nconst result = [\n  R.last([1, 2, 3]),\n  R.last('foo'),\n]\n// => [3, 'o']\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5B%0A%20%20R.last(%5B1%2C%202%2C%203%5D)%2C%0A%20%20R.last('foo')%2C%0A%5D%0A%2F%2F%20%3D%3E%20%5B3%2C%20'o'%5D\">Try this <strong>R.last</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nlast<T>(listOrString: T): T extends string ? string :\n  T extends [] ? undefined :\n    T extends readonly [...infer R, infer L] ? L :\n      T extends readonly [infer L] ? L :\n        T extends [infer L] ? L :\n          T extends [...infer R, infer L] ? L :\n            T extends unknown[] ? T[number] :\n              undefined;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.last</strong> source</summary>\n\n```javascript\nexport function last(listOrString) {\n  if (typeof listOrString === 'string') {\n    return listOrString[listOrString.length - 1] || ''\n  }\n\n  return listOrString[listOrString.length - 1]\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { last } from './last.js'\n\ntest('with list', () => {\n  expect(last([1, 2, 3])).toBe(3)\n  expect(last([])).toBeUndefined()\n})\n\ntest('with string', () => {\n  expect(last('abc')).toBe('c')\n  expect(last('')).toBe('')\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#last)\n\n### lastIndexOf\n\n```typescript\n\nlastIndexOf<T>(target: T): (list: T[]) => number\n```\n\nIt returns the last index of `target` in `list` array.\n\n`R.equals` is used to determine equality between `target` and members of `list`.\n\nIf there is no such index, then `-1` is returned.\n\n```javascript\nconst list = [1, 2, 3, 1, 2, 3]\nconst result = [\n  R.lastIndexOf(2)(list),\n  R.lastIndexOf(4)(list),\n]\n// => [4, -1]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B1%2C%202%2C%203%2C%201%2C%202%2C%203%5D%0Aconst%20result%20%3D%20%5B%0A%20%20R.lastIndexOf(2)(list)%2C%0A%20%20R.lastIndexOf(4)(list)%2C%0A%5D%0A%2F%2F%20%3D%3E%20%5B4%2C%20-1%5D\">Try this <strong>R.lastIndexOf</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nlastIndexOf<T>(target: T): (list: T[]) => number;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.lastIndexOf</strong> source</summary>\n\n```javascript\nimport { _lastIndexOf } from './equals.js'\n\nexport function lastIndexOf(valueToFind) {\n  return list => _lastIndexOf(valueToFind, list)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { lastIndexOf } from './lastIndexOf.js'\n\ntest('with NaN', () => {\n  expect(lastIndexOf(Number.NaN)([Number.NaN])).toBe(0)\n})\n\ntest('will throw with bad input', () => {\n  expect(() => indexOf([])(true)).toThrowError('indexOf is not defined')\n})\n\ntest('without list of objects - no R.equals', () => {\n  expect(lastIndexOf(3)([1, 2, 3, 4])).toBe(2)\n  expect(lastIndexOf(10)([1, 2, 3, 4])).toBe(-1)\n})\n\ntest('list of objects uses R.equals', () => {\n  const listOfObjects = [{ a: 1 }, { b: 2 }, { c: 3 }]\n  expect(lastIndexOf({ c: 4 })(listOfObjects)).toBe(-1)\n  expect(lastIndexOf({ c: 3 })(listOfObjects)).toBe(2)\n})\n\ntest('list of arrays uses R.equals', () => {\n  const listOfLists = [[1], [2, 3], [2, 3, 4], [2, 3], [1], []]\n  expect(lastIndexOf([])(listOfLists)).toBe(5)\n  expect(lastIndexOf([1])(listOfLists)).toBe(4)\n  expect(lastIndexOf([2, 3, 4])(listOfLists)).toBe(2)\n  expect(lastIndexOf([2, 3, 5])(listOfLists)).toBe(-1)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { lastIndexOf, pipe } from 'rambda'\n\ndescribe('R.lastIndexOf', () => {\n  const result = pipe([{ a: 1 }, { a: 2 }, { a: 3 }], lastIndexOf({ a: 2 }))\n  result // $ExpectType number\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#lastIndexOf)\n\n### map\n\n```typescript\n\nmap<T extends IterableContainer, U>(\n\tfn: (value: T[number], index: number) => U,\n): (data: T) => Mapped<T, U>\n```\n\nIt returns the result of looping through `iterable` with `fn`.\n\n> :boom: This function doesn't work with objects (use R.mapObject instead)\n\n```javascript\nconst result = R.pipe(\n\t[1, 2],\n\tR.map(x => x * 2)\n)\n// => [2, 4]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.pipe(%0A%09%5B1%2C%202%5D%2C%0A%09R.map(x%20%3D%3E%20x%20*%202)%0A)%0A%2F%2F%20%3D%3E%20%5B2%2C%204%5D\">Try this <strong>R.map</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmap<T extends IterableContainer, U>(\n\tfn: (value: T[number], index: number) => U,\n): (data: T) => Mapped<T, U>;\nmap<T extends IterableContainer, U>(\n\tfn: (value: T[number]) => U,\n): (data: T) => Mapped<T, U>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.map</strong> source</summary>\n\n```javascript\nexport function mapFn(\n\tfn, list\n){\n\tlet index = 0\n\tconst willReturn = Array(list.length)\n\twhile (index < list.length) {\n\t\twillReturn[index] = fn(list[index], index)\n\t\tindex++\n\t}\n\treturn willReturn\n}\n\nexport function map(fn) {\n  return list => mapFn(fn, list)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { map } from './map.js'\n\nconst double = x => x * 2\n\nit('happy', () => {\n  expect(map(double)([1, 2, 3])).toEqual([2, 4, 6])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { map, pipe } from 'rambda'\n\nconst list = [1, 2, 3]\n\nit('R.map', () => {\n  const result = pipe(\n    list,\n    x => x,\n    map(x => {\n      x // $ExpectType number\n      return String(x)\n    }),\n  )\n  result // $ExpectType string[]\n})\n\nit('R.map - index in functor', () => {\n  const result = pipe(\n    list,\n    x => x,\n    map((x, i) => {\n      x // $ExpectType number\n      i // $ExpectType number\n      return String(x)\n    }),\n  )\n  result // $ExpectType string[]\n})\n\nit('R.map - without pipe', () => {\n  map(x => {\n    x // $ExpectType unknown\n  })([1, 2, 3])\n})\n\nit('R.map - without pipe but explicitly typed', () => {\n  const result = map<number[], string>(x => {\n    x // $ExpectType number\n    return String(x)\n  })([1, 2, 3])\n  result // $ExpectType string[]\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#map)\n\n### mapAsync\n\n```typescript\n\nmapAsync<T extends IterableContainer, U>(\n  fn: (value: T[number], index: number) => Promise<U>,\n): (data: T) => Promise<Mapped<T, U>>\n```\n\nSequential asynchronous mapping with `fn` over members of `list`.\n\n```javascript\nasync function fn(x){\n  await R.delay(1000)\n\n  return x+1\n}\n\nconst result = await R.mapAsync(fn)([1, 2, 3])\n// `result` resolves after 3 seconds to `[2, 3, 4]`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?async%20function%20fn(x)%7B%0A%20%20await%20R.delay(1000)%0A%0A%20%20return%20x%2B1%0A%7D%0A%0Aconst%20result%20%3D%20await%20R.mapAsync(fn)(%5B1%2C%202%2C%203%5D)%0A%2F%2F%20%60result%60%20resolves%20after%203%20seconds%20to%20%60%5B2%2C%203%2C%204%5D%60\">Try this <strong>R.mapAsync</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmapAsync<T extends IterableContainer, U>(\n  fn: (value: T[number], index: number) => Promise<U>,\n): (data: T) => Promise<Mapped<T, U>>;\nmapAsync<T extends IterableContainer, U>(\n  fn: (value: T[number]) => Promise<U>,\n): (data: T) => Promise<Mapped<T, U>>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.mapAsync</strong> source</summary>\n\n```javascript\nexport function mapAsync(fn) {\n  return async list => {\n    const willReturn = []\n    let i = 0\n    for (const x of list) {\n      willReturn.push(await fn(x, i++))\n    }\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { delay } from './delay.js'\nimport { map } from './map.js'\nimport { mapAsync } from './mapAsync.js'\nimport { pipeAsync } from './pipeAsync.js'\n\nconst rejectDelay = a =>\n  new Promise((_, reject) => {\n    setTimeout(() => {\n      reject(a + 20)\n    }, 100)\n  })\n\ntest('happy', async () => {\n  const indexes = []\n  const fn = async (x, prop) => {\n    await delay(100)\n    indexes.push(prop)\n    return x + 1\n  }\n  const result = await mapAsync(fn)([1, 2, 3])\n  expect(result).toEqual([2, 3, 4])\n  expect(indexes).toEqual([0, 1, 2])\n})\n\ntest('with R.pipeAsync', async () => {\n\tconst fn = async x => x + 1\n  const result = await pipeAsync(\n    [1, 2, 3],\n    map(x => x + 1),\n    mapAsync(async x => {\n      delay(x)\n\n      return x\n    }),\n\t\tmapAsync(fn),\n    map(x => x * 10),\n  )\n  expect(result).toEqual([30, 40, 50])\n})\n\ntest('error', async () => {\n  try {\n    await mapAsync(rejectDelay)([1, 2, 3])\n  } catch (err) {\n    expect(err).toBe(21)\n  }\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { mapAsync, pipeAsync, map } from 'rambda'\n\nconst list = ['a', 'bc', 'def']\nconst delay = (ms: number) => new Promise(resolve => setTimeout(resolve, ms))\n\nit('R.mapAsync', async () => {\n  const result = await pipeAsync(\n    list,\n    mapAsync(async x => {\n      await delay(100)\n      x // $ExpectType string\n      return x.length % 2 ? x.length + 1 : x.length + 10\n    }),\n    x => x,\n\t\tmap(x => x +1),\n    mapAsync(async x => {\n      await delay(100)\n      return x + 1\n    }),\n  )\n  result // $ExpectType number[]\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#mapAsync)\n\n### mapChain\n\n```typescript\n\nmapChain<T extends IterableContainer, U, V>(\n\tfn1: (value: T[number], index: number) => U,\n\tfn2: (value: U, index: number) => V,\n): (data: T) => Mapped<T, V>\n```\n\nChained 2 or 3 `R.map` transformations as one.\n\n```javascript\nconst result = R.pipe(\n\t[1, 2],\n\tR.mapChain(\n\t\tx => x * 2,\n\t\tx => [x, x > 3],\n\t)\n)\n// => [[2, false], [4, true]]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.pipe(%0A%09%5B1%2C%202%5D%2C%0A%09R.mapChain(%0A%09%09x%20%3D%3E%20x%20*%202%2C%0A%09%09x%20%3D%3E%20%5Bx%2C%20x%20%3E%203%5D%2C%0A%09)%0A)%0A%2F%2F%20%3D%3E%20%5B%5B2%2C%20false%5D%2C%20%5B4%2C%20true%5D%5D\">Try this <strong>R.mapChain</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmapChain<T extends IterableContainer, U, V>(\n\tfn1: (value: T[number], index: number) => U,\n\tfn2: (value: U, index: number) => V,\n): (data: T) => Mapped<T, V>;\nmapChain<T extends IterableContainer, U, V>(\n\tfn1: (value: T[number], index: number) => U,\n\tfn2: (value: U) => V,\n): (data: T) => Mapped<T, V>;\nmapChain<T extends IterableContainer, U, V>(\n\tfn1: (value: T[number]) => U,\n\tfn2: (value: U, index: number) => V,\n): (data: T) => Mapped<T, V>;\nmapChain<T extends IterableContainer, U, V>(\n\tfn1: (value: T[number]) => U,\n\tfn2: (value: U) => V,\n): (data: T) => Mapped<T, V>;\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.mapChain</strong> source</summary>\n\n```javascript\nimport { mapFn } from './map.js';\n\nexport function mapChain(...fns) {\n  return list => {\n\t\tlet result = list.slice()\n\t\tfns.forEach((fn) => {\n\t\t\tresult = mapFn(fn, result)\n\t\t})\n\t\treturn result\n\t}\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { mapChain } from './mapChain.js'\n\nconst double = x => x * 2\n\nit('happy', () => {\n  expect(mapChain(double, double, double)([1, 2, 3])).toEqual([8, 16, 24])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { mapChain, pipe } from 'rambda'\n\nconst list = [1, 2, 3]\n\nit('R.mapChain', () => {\n  const result = pipe(\n    list,\n    mapChain(\n      x => {\n        x // $ExpectType number\n        return String(x)\n      },\n      x => {\n        x // $ExpectType string\n        return x !== 'foo'\n      },\n    ),\n  )\n  result // $ExpectType boolean[]\n})\n\nit('R.mapChain - with index', () => {\n  const result = pipe(\n    list,\n    mapChain(\n      x => {\n        x // $ExpectType number\n        return String(x)\n      },\n      (x, i) => {\n        i // $ExpectType number\n        x // $ExpectType string\n        return x !== 'foo'\n      },\n    ),\n  )\n  result // $ExpectType boolean[]\n})\n\nit('R.mapChain - 3 functions', () => {\n  const result = pipe(\n    list,\n    x => x,\n    mapChain(\n      x => {\n        x // $ExpectType number\n        return String(x)\n      },\n      x => {\n        x // $ExpectType string\n        return x !== 'foo'\n      },\n      x => {\n        x // $ExpectType boolean\n        return x ? 'foo' : 'bar'\n      },\n    ),\n  )\n  result // $ExpectType (\"foo\" | \"bar\")[]\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#mapChain)\n\n### mapKeys\n\n```typescript\n\nmapKeys<T>(fn: (prop: string, value: T) => string): (obj: Record<string, T>) => Record<string, T>\n```\n\nIt returns a copy of `obj` with keys transformed by `fn`.\n\n```javascript\nconst result = R.mapKeys(\n\t(key, value) => key.toUpperCase()+value\n\t)(\n\t{ a: 1, b: 2 }\n)\n// => { A1: 1, B2: 2 }\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.mapKeys(%0A%09(key%2C%20value)%20%3D%3E%20key.toUpperCase()%2Bvalue%0A%09)(%0A%09%7B%20a%3A%201%2C%20b%3A%202%20%7D%0A)%0A%2F%2F%20%3D%3E%20%7B%20A1%3A%201%2C%20B2%3A%202%20%7D\">Try this <strong>R.mapKeys</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmapKeys<T>(fn: (prop: string, value: T) => string): (obj: Record<string, T>) => Record<string, T>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.mapKeys</strong> source</summary>\n\n```javascript\nexport function mapKeys(fn) {\n  return obj => {\n\t\tconst willReturn = {}\n\n\t\tObject.keys(obj).forEach(key => {\n\t\t\twillReturn[fn(key, obj[key])] = obj[key]\n\t\t})\n\n\t\treturn willReturn\n\t}\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { mapKeys } from './mapKeys.js'\n\ntest('happy', () => {\n\tconst result = mapKeys((prop, x) => `${ prop }-${x}`)({a:1, b: 2 })\n\tconst expected = { 'a-1': 1, 'b-2': 2 }\n\n\texpect(result).toEqual(expected)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { mapKeys, pipe } from 'rambda'\n\nit('R.mapKeys', () => {\n  const result = pipe(\n    { a: 1, b: 2 },\n    mapKeys((prop, x) => `${prop}-${x}`),\n    mapKeys(prop => `${prop}-${prop}`),\n  )\n  result // $ExpectType Record<string, number>\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#mapKeys)\n\n### mapObject\n\n```typescript\n\nmapObject<T extends object, Value>(\n  valueMapper: (\n    value: EnumerableStringKeyedValueOf<T>,\n    key: EnumerableStringKeyOf<T>,\n    data: T,\n  ) => Value,\n): (data: T) => MappedValues<T, Value>\n```\n\n```javascript\nconst fn = (val, prop) => `${prop}-${val}`\nconst obj = {a: 1, b: 2}\n\nconst result = R.mapObject(fn)(obj)\n// => {a: 'a-1', b: 'b-2'}\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20fn%20%3D%20(val%2C%20prop)%20%3D%3E%20%60%24%7Bprop%7D-%24%7Bval%7D%60%0Aconst%20obj%20%3D%20%7Ba%3A%201%2C%20b%3A%202%7D%0A%0Aconst%20result%20%3D%20R.mapObject(fn)(obj)%0A%2F%2F%20%3D%3E%20%7Ba%3A%20'a-1'%2C%20b%3A%20'b-2'%7D\">Try this <strong>R.mapObject</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmapObject<T extends object, Value>(\n  valueMapper: (\n    value: EnumerableStringKeyedValueOf<T>,\n    key: EnumerableStringKeyOf<T>,\n    data: T,\n  ) => Value,\n): (data: T) => MappedValues<T, Value>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.mapObject</strong> source</summary>\n\n```javascript\nimport { keys } from './_internals/keys.js'\n\nexport function mapObject(fn) {\n  return obj => {\n    let index = 0\n    const objKeys = keys(obj)\n    const len = objKeys.length\n    const willReturn = {}\n\n    while (index < len) {\n      const key = objKeys[index]\n      willReturn[key] = fn(obj[key], key, obj)\n      index++\n    }\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { mapObject } from './mapObject.js'\n\nconst double = x => x * 2\n\nit('happy', () => {\n  expect(mapObject(double)({ a: 1, b: 2, c: 3 })).toEqual({ a: 2, b: 4, c: 6 })\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { mapObject, pipe } from 'rambda'\n\ndescribe('R.mapObject', () => {\n  it('iterable with one arguments', () => {\n    const result = pipe(\n      { a: 1 },\n      mapObject(a => {\n        a // $ExpectType number\n        return `${a}`\n      }),\n    )\n\n    result // $ExpectType { a: string; }\n  })\n  it('iterable with one arguments', () => {\n    const result = pipe(\n      { a: [1,2,3], b: 'foo' },\n      mapObject(a => {\n        a // $ExpectType string | number[]\n        return typeof a as string\n      }),\n    )\n\n    result // $ExpectType { a: string; b: string; }\n  })\n  it('iterable with two arguments', () => {\n    const result = pipe(\n      { a: 1, b: 'foo' },\n      mapObject((a, b) => {\n        a // $ExpectType string | number\n        b // $ExpectType \"a\" | \"b\"\n        return `${a}`\n      }),\n    )\n\n    result // $ExpectType { a: string; b: string; }\n  })\n  it('iterable with three arguments', () => {\n    const result = pipe(\n      { a: 1, b: 'foo' },\n      mapObject((a, b, c) => {\n        a // $ExpectType string | number\n        b // $ExpectType \"a\" | \"b\"\n        c // $ExpectType { a: number; b: string; }\n        return `${a}`\n      }),\n    )\n\n    result // $ExpectType { a: string; b: string; }\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#mapObject)\n\n### mapObjectAsync\n\n```typescript\n\nmapObjectAsync<T extends object, Value>(\n  valueMapper: (\n    value: EnumerableStringKeyedValueOf<T>,\n    key: EnumerableStringKeyOf<T>,\n    data: T,\n  ) => Promise<Value>,\n): (data: T) => Promise<MappedValues<T, Value>>\n```\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmapObjectAsync<T extends object, Value>(\n  valueMapper: (\n    value: EnumerableStringKeyedValueOf<T>,\n    key: EnumerableStringKeyOf<T>,\n    data: T,\n  ) => Promise<Value>,\n): (data: T) => Promise<MappedValues<T, Value>>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.mapObjectAsync</strong> source</summary>\n\n```javascript\nexport function mapObjectAsync(fn) {\n  return async obj => {\n    const willReturn = {}\n    for (const prop in obj) {\n      willReturn[prop] = await fn(obj[prop], prop)\n    }\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { delay } from './delay.js'\nimport { mapObjectAsync } from './mapObjectAsync.js'\nimport { pipeAsync } from './pipeAsync.js'\n\ntest('happy', async () => {\n  const indexes = []\n  const result = await pipeAsync(\n    { a: 1, b: 2 },\n    mapObjectAsync(async (x, i) => {\n      await delay(100)\n      indexes.push(i)\n      return x + 1\n    }),\n  )\n  expect(indexes).toEqual(['a', 'b'])\n  expect(result).toEqual({\n    a: 2,\n    b: 3,\n  })\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { mapObjectAsync, pipeAsync } from 'rambda'\nimport { delay } from 'rambdax'\n\nit('R.mapObjectAsync', async () => {\n  const result = await pipeAsync(\n    { a: 'foo', b: 'bar' },\n    mapObjectAsync(async x => {\n      await delay(100)\n      x // $ExpectType string\n      return x.length % 2 ? x.length + 1 : x.length + 10\n    }),\n    x => x,\n    mapObjectAsync(async x => {\n      await delay(100)\n      return x + 1\n    }),\n  )\n  result.a // $ExpectType number\n  result.b // $ExpectType number\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#mapObjectAsync)\n\n### mapParallelAsync\n\n```typescript\n\nmapParallelAsync<T extends IterableContainer, U>(\n  fn: (value: T[number]) => Promise<U>,\n\tbatchSize?: number,\n): (data: T) => Promise<Mapped<T, U>>\n```\n\nWrapper around `Promise.all` for asynchronous mapping with `fn` over members of `list`.\nThere is optional `batchSize` parameter to allow parallel execution to run in batches. In this case, the whole batch must complete before the next batch starts.\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmapParallelAsync<T extends IterableContainer, U>(\n  fn: (value: T[number]) => Promise<U>,\n\tbatchSize?: number,\n): (data: T) => Promise<Mapped<T, U>>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.mapParallelAsync</strong> source</summary>\n\n```javascript\nexport function mapParallelAsync(fn, batchSize){\n\tif(!batchSize) return async list =>  Promise.all(list.map(fn))\n\n\treturn async list => {\n\t\tconst result = []\n\t\tfor(let i = 0; i < list.length; i += batchSize){\n\t\t\tconst batch = list.slice(i, i + batchSize)\n\t\t\tconst batchResult = await Promise.all(batch.map((x, j) => fn(x, i + j)))\n\t\t\tresult.push(...batchResult)\n\t\t}\n\t\treturn result\n\t}\t\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { pipeAsync } from './pipeAsync.js'\nimport { delay } from './delay.js'\nimport { mapParallelAsync } from './mapParallelAsync.js'\n\ntest('happy', async () => {\n  const fn = async (x, i) => {\n    await delay(100)\n\n    return x + i\n  }\n  const result = await mapParallelAsync(fn)([ 1, 2, 3 ])\n  expect(result).toEqual([ 1, 3, 5 ])\n})\n\ntest('pipeAsync', async () => {\n  const result = await pipeAsync(\n\t\t[1, 2, 3],\n    mapParallelAsync(async x => {\n      await delay(100)\n\n      return x + 1\n    })\n\t)\n  expect(result).toEqual([ 2,3,4 ])\n})\n\ntest('with batchSize', async () => {\n\tconst fn = async (x, i) => {\n\t\tawait delay(100)\n\t\treturn `${x}:${i}`\n\t}\n\tconst result = await mapParallelAsync(fn, 2)([1, 2, 3, 4, 5])\n\texpect(result).toEqual(\n\t\t['1:0', '2:1', '3:2', '4:3', '5:4']\n\t)\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#mapParallelAsync)\n\n### mapPropObject\n\n```typescript\n\nmapPropObject<T extends object, K extends keyof T, Value extends unknown>(\n\tprop: K,\n\tvalueMapper: (\n\t\tlistItem: T[K] extends ReadonlyArray<infer ElementType> ? ElementType : never,\n\t\tlist: T[K] extends ReadonlyArray<any> ? T[K] : never,\n\t) => Value,\n): (data: T) => T[K] extends ReadonlyArray<any>\n\t? MergeTypes<Omit<T, K> & { [P in K]: Value[] }>\n\t: never\n```\n\nConvenience method, when one needs to maps over a object property that is a list.\n\n```javascript\nconst result = pipe(\n\t{ a: [1,2,3], b: 'foo' },\n\tmapPropObject('a',x => {\n\t\treturn {\n\t\t\ta: x,\n\t\t\tflag: x > 2,\n\t\t}\n\t}),\n)\n// => { a: [{ a: 1, flag: false },{ a: 2, flag: false }, { a: 3, flag: true }], b: 'foo' }\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20pipe(%0A%09%7B%20a%3A%20%5B1%2C2%2C3%5D%2C%20b%3A%20'foo'%20%7D%2C%0A%09mapPropObject('a'%2Cx%20%3D%3E%20%7B%0A%09%09return%20%7B%0A%09%09%09a%3A%20x%2C%0A%09%09%09flag%3A%20x%20%3E%202%2C%0A%09%09%7D%0A%09%7D)%2C%0A)%0A%2F%2F%20%3D%3E%20%7B%20a%3A%20%5B%7B%20a%3A%201%2C%20flag%3A%20false%20%7D%2C%7B%20a%3A%202%2C%20flag%3A%20false%20%7D%2C%20%7B%20a%3A%203%2C%20flag%3A%20true%20%7D%5D%2C%20b%3A%20'foo'%20%7D\">Try this <strong>R.mapPropObject</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmapPropObject<T extends object, K extends keyof T, Value extends unknown>(\n\tprop: K,\n\tvalueMapper: (\n\t\tlistItem: T[K] extends ReadonlyArray<infer ElementType> ? ElementType : never,\n\t\tlist: T[K] extends ReadonlyArray<any> ? T[K] : never,\n\t) => Value,\n): (data: T) => T[K] extends ReadonlyArray<any>\n\t? MergeTypes<Omit<T, K> & { [P in K]: Value[] }>\n\t: never;\nmapPropObject<T extends object, K extends keyof T, Value extends unknown>(\n\tprop: K,\n  valueMapper: (\n    listItem: T[K] extends ReadonlyArray<infer ElementType> ? ElementType : never,\n  ) => Value,\n): (data: T) => T[K] extends ReadonlyArray<any>\n  ? MergeTypes<Omit<T, K> & { [P in K]: Value[] }>\n  : never;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.mapPropObject</strong> source</summary>\n\n```javascript\nexport function mapPropObject(fn, prop) {\n  return obj => {\n\t\tif (!Array.isArray(obj[prop])) return obj\n\t\t\t\n\t\t\treturn {\n\t\t\t\t...obj,\n\t\t\t\t[prop]: obj[prop].map(fn)\n\t\t\t}\n\t\t}\n \t }\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { mapPropObject } from './mapPropObject.js'\nimport { pipe } from './pipe.js'\n\nit('happy', () => {\n  const result = pipe(\n    { a: [1, 2, 3], b: 'foo' },\n    mapPropObject(x => ({ a: x, flag: x > 2 }), 'a'),\n  )\n\n  expect(result).toEqual({\n    a: [\n      { a: 1, flag: false },\n      { a: 2, flag: false },\n      { a: 3, flag: true },\n    ],\n    b: 'foo',\n  })\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport {  map, mapPropObject, pipe } from 'rambda'\n\ndescribe('R.mapPropObject', () => {\n  it('iterable with one arguments', () => {\n    const result = pipe(\n      { a: [1,2,3], b: 'foo' },\n      mapPropObject('a', x => {\n        x // $ExpectType number\n        return {\n          a: x,\n          flag: x > 2,\n        }\n      }),\n    )\n\n    result.a // $ExpectType { a: number; flag: boolean; }[]\n\t\tresult.b // $ExpectType string\n  })\n\n  it('iterable with two arguments', () => {\n    const result = pipe(\n      { a: [1,2,3], b: 'foo' },\n      mapPropObject('a', (x, list) => {\n        x // $ExpectType number\n        list // $ExpectType number[]\n\t\t\t\treturn list.length\n      }),\n    )\n\t\tresult.a // $ExpectType number[]\n\t\tresult.b // $ExpectType string\n  })\n\n  it('more complex example', () => {\n    const result = pipe(\n      [{a:[true, false, true], b: 'foo'}],\n      map(\n\t\t\t\t\tmapPropObject( 'a',(a) => {\n\t\t\t\t\t\ta // $ExpectType boolean\n\t\t\t\t\t\treturn {a, b: 2}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t)\n\n    result[0].a[0].a // $ExpectType boolean\n    result[0].a[0].b // $ExpectType number\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#mapPropObject)\n\n### match\n\n```typescript\n\nmatch(regExpression: RegExp): (str: string) => string[]\n```\n\nCurried version of `String.prototype.match` which returns empty array, when there is no match.\n\n```javascript\nconst result = [\n  R.match('a', 'foo'),\n  R.match(/([a-z]a)/g, 'bananas')\n]\n// => [[], ['ba', 'na', 'na']]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5B%0A%20%20R.match('a'%2C%20'foo')%2C%0A%20%20R.match(%2F(%5Ba-z%5Da)%2Fg%2C%20'bananas')%0A%5D%0A%2F%2F%20%3D%3E%20%5B%5B%5D%2C%20%5B'ba'%2C%20'na'%2C%20'na'%5D%5D\">Try this <strong>R.match</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmatch(regExpression: RegExp): (str: string) => string[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.match</strong> source</summary>\n\n```javascript\nexport function match(pattern) {\n  return input => {\n    const willReturn = input.match(pattern)\n\n    return willReturn === null ? [] : willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { match } from './match.js'\n\ntest('happy', () => {\n  expect(match(/a./g)('foo bar baz')).toEqual(['ar', 'az'])\n})\n\ntest('fallback', () => {\n  expect(match(/a./g)('foo')).toEqual([])\n})\n\ntest('with string', () => {\n  expect(match('a')('foo')).toEqual([])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { match } from 'rambda'\n\nconst str = 'foo bar'\n\ndescribe('R.match', () => {\n  it('happy', () => {\n    const result = match(/foo/)(str)\n    result // $ExpectType string[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#match)\n\n### maxBy\n\n```typescript\n\nmaxBy<T>(compareFn: (input: T) => Ord, x: T): (y: T) => T\n```\n\nIt returns the greater value between `x` and `y` according to `compareFn` function.\n\n```javascript\nconst compareFn = Math.abs\n\nR.maxBy(compareFn, 5, -7) // => -7\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20compareFn%20%3D%20Math.abs%0A%0Aconst%20result%20%3D%20R.maxBy(compareFn%2C%205%2C%20-7)%20%2F%2F%20%3D%3E%20-7\">Try this <strong>R.maxBy</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmaxBy<T>(compareFn: (input: T) => Ord, x: T): (y: T) => T;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.maxBy</strong> source</summary>\n\n```javascript\nexport function maxBy(compareFn, x) {\n  return y => (compareFn(y) > compareFn(x) ? y : x)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { maxBy } from './maxBy.js'\n\ntest('happy', () => {\n  expect(maxBy(Math.abs, 2)(-5)).toBe(-5)\n  expect(maxBy(Math.abs, -5)(2)).toBe(-5)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { maxBy, pipe } from 'rambda'\n\nconst first = 1\nconst second = 2\n\nit('R.maxBy', () => {\n  const result = pipe(\n    second,\n    maxBy(x => (x % 2 === 0 ? 1 : -1), first),\n  )\n  result // $ExpectType number\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#maxBy)\n\n### merge\n\n```typescript\n\nmerge<Source>(source: Source): <T>(data: T) => Merge<T, Source>\n```\n\nIt creates a copy of `target` object with overwritten `newProps` properties.\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmerge<Source>(source: Source): <T>(data: T) => Merge<T, Source>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.merge</strong> source</summary>\n\n```javascript\nexport function merge(target) {\n  return objectWithNewProps =>\n    Object.assign({}, target || {}, objectWithNewProps || {})\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { merge } from './merge.js'\n\nconst obj = {\n  foo: 1,\n  bar: 2,\n}\n\ntest('happy', () => {\n  expect(merge(obj)({ bar: 20 })).toEqual({\n    foo: 1,\n    bar: 20,\n  })\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { merge, mergeTypes, pipe } from 'rambda'\n\nit('R.merge', () => {\n  const result = pipe({ foo: 1 }, merge({ bar: 2 }), mergeTypes)\n  result.foo // $ExpectType number\n  result.bar // $ExpectType number\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#merge)\n\n### mergeTypes\n\n```typescript\n\nmergeTypes<T>(x: T): MergeTypes<T>\n```\n\nHelper to merge all calculated TypeScript definitions into one definition.\nIt returns its input and it is intended to be used as last method inside `R.pipe` chain.\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmergeTypes<T>(x: T): MergeTypes<T>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.mergeTypes</strong> source</summary>\n\n```javascript\nexport function mergeTypes(x) {\n  return x\n}\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#mergeTypes)\n\n### middle\n\n```typescript\n\nmiddle<T extends unknown>(input: T): T extends unknown[] ? \n\tT['length'] extends 0 ? [] : T['length'] extends 1 ? [] : T['length'] extends 2 ? [] : \n\tT extends [any, ...infer U, any] ? U : T : T extends string ? string : never\n```\n\nIt returns all but the first and last element of `input`.\n\n```javascript\nconst result = [\n  R.middle([1, 2, 3, 4]),\n  R.middle('bar')\n]\n// => [[2, 3], 'a']\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5B%0A%20%20R.middle(%5B1%2C%202%2C%203%2C%204%5D)%2C%0A%20%20R.middle('bar')%0A%5D%0A%2F%2F%20%3D%3E%20%5B%5B2%2C%203%5D%2C%20'a'%5D\">Try this <strong>R.middle</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmiddle<T extends unknown>(input: T): T extends unknown[] ? \n\tT['length'] extends 0 ? [] : T['length'] extends 1 ? [] : T['length'] extends 2 ? [] : \n\tT extends [any, ...infer U, any] ? U : T : T extends string ? string : never;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.middle</strong> source</summary>\n\n```javascript\nimport { init } from './init.js'\nimport { tail } from './tail.js'\n\nexport function middle(listOrString) {\n  return tail(init(listOrString))\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { middle } from './middle'\n\ntest('middle', () => {\n  expect(middle([1, 2, 3])).toEqual([2])\n  expect(middle([1, 2])).toEqual([])\n  expect(middle([1])).toEqual([])\n  expect(middle([])).toEqual([])\n\n  expect(middle('abc')).toBe('b')\n  expect(middle('ab')).toBe('')\n  expect(middle('a')).toBe('')\n  expect(middle('')).toBe('')\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { map, middle, pipe } from 'rambda'\n\ndescribe('R.middle', () => {\n  it('with string', () => {\n    const result = middle('foo')\n\n    result // $ExpectType string\n  })\n  it('with list - using const on short array', () => {\n    const result = pipe(\n      [1, 2] as const,\n      map(x => x * 2),\n      middle,\n    )\n    result // $ExpectType []\n  })\n  it('with list - using const on empty array', () => {\n    const result = pipe(\n      [] as const,\n      map(x => x * 2),\n      middle,\n    )\n    result // $ExpectType []\n  })\n  it('with list - using const', () => {\n    const result = pipe(\n      [1, 2, 3, 4] as const,\n      map(x => x * 2),\n      middle,\n    )\n    result // $ExpectType [number, number]\n  })\n  it('with list - mixed types', () => {\n    const result = middle(['foo', 'bar', 1, 2, 3])\n\n    result // $ExpectType (string | number)[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#middle)\n\n### minBy\n\n```typescript\n\nminBy<T>(compareFn: (input: T) => Ord, x: T): (y: T) => T\n```\n\nIt returns the lesser value between `x` and `y` according to `compareFn` function.\n\n```javascript\nconst compareFn = Math.abs\n\nR.minBy(compareFn, -5, 2) // => -5\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20compareFn%20%3D%20Math.abs%0A%0Aconst%20result%20%3D%20R.minBy(compareFn%2C%20-5%2C%202)%20%2F%2F%20%3D%3E%20-5\">Try this <strong>R.minBy</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nminBy<T>(compareFn: (input: T) => Ord, x: T): (y: T) => T;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.minBy</strong> source</summary>\n\n```javascript\nexport function minBy(compareFn, x) {\n  return y => (compareFn(y) < compareFn(x) ? y : x)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { minBy } from './minBy.js'\n\ntest('happy', () => {\n  expect(minBy(Math.abs, -5)(2)).toBe(2)\n  expect(minBy(Math.abs, 2)(-5)).toBe(2)\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#minBy)\n\n### modifyItemAtIndex\n\n```typescript\n\nmodifyItemAtIndex<T>(index: number, replaceFn: (x: T) => T): (list: T[]) => T[]\n```\n\nIt replaces `index` in array `list` with the result of `replaceFn(list[i])`.\n\n```javascript\nconst result = R.pipe(\n\t[1, 2, 3],\n\tR.modifyItemAtIndex(1, x => x + 1)\n) // => [1, 3, 3]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.pipe(%0A%09%5B1%2C%202%2C%203%5D%2C%0A%09R.modifyItemAtIndex(1%2C%20x%20%3D%3E%20x%20%2B%201)%0A)%20%2F%2F%20%3D%3E%20%5B1%2C%203%2C%203%5D\">Try this <strong>R.modifyItemAtIndex</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmodifyItemAtIndex<T>(index: number, replaceFn: (x: T) => T): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.modifyItemAtIndex</strong> source</summary>\n\n```javascript\nimport { cloneList } from './_internals/cloneList.js'\n\nexport function modifyItemAtIndex(index, replaceFn) {\n  return list => {\n    const actualIndex = index < 0 ? list.length + index : index\n    if (index >= list.length || actualIndex < 0) {\n      return list\n    }\n\n    const clone = cloneList(list)\n    clone[actualIndex] = replaceFn(clone[actualIndex])\n\n    return clone\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { modifyItemAtIndex } from './modifyItemAtIndex.js'\n\nconst add10 = x => x + 10\n\nconst list = [0, 1, 2]\nconst expected = [0, 11, 2]\n\ntest('happy', () => {\n  expect(modifyItemAtIndex(1, add10)(list)).toEqual(expected)\n})\n\ntest('with negative index', () => {\n  expect(modifyItemAtIndex(-2, add10)(list)).toEqual(expected)\n})\n\ntest('when index is out of bounds', () => {\n  const list = [0, 1, 2, 3]\n  expect(modifyItemAtIndex(4, add10)(list)).toEqual(list)\n  expect(modifyItemAtIndex(-5, add10)(list)).toEqual(list)\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#modifyItemAtIndex)\n\n### modifyPath\n\n```typescript\n\nmodifyPath<U, T>(path: [], fn: (value: U) => T): (obj: U) => T\n```\n\nIt changes a property of object on the base of provided path and transformer function.\n\n```javascript\nconst result = R.modifyPath('a.b.c', x=> x+1, {a:{b: {c:1}}})\n// => {a:{b: {c:2}}}\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.modifyPath('a.b.c'%2C%20x%3D%3E%20x%2B1%2C%20%7Ba%3A%7Bb%3A%20%7Bc%3A1%7D%7D%7D)%0A%2F%2F%20%3D%3E%20%7Ba%3A%7Bb%3A%20%7Bc%3A2%7D%7D%7D\">Try this <strong>R.modifyPath</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmodifyPath<U, T>(path: [], fn: (value: U) => T): (obj: U) => T;\nmodifyPath<\n  K0 extends keyof U,\n  U,\n  T\n>(path: [K0], fn: (value: U[K0]) => T): (obj: U) => DeepModify<[K0], U, T>;\nmodifyPath<\n  K0 extends string & keyof U,\n  U,\n  T\n>(path: `${K0}`, fn: (value: U[K0]) => T): (obj: U) => DeepModify<[K0], U, T>;\nmodifyPath<\n  K0 extends keyof U,\n  K1 extends keyof U[K0],\n  U,\n  T\n>(path: [K0, K1], fn: (value: U[K0][K1]) => T): (obj: U) => DeepModify<[K0, K1], U, T>;\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.modifyPath</strong> source</summary>\n\n```javascript\nimport { createPath } from './_internals/createPath.js'\nimport { path as pathModule } from './path.js'\n\nfunction assoc(prop, newValue) {\n  return obj => Object.assign({}, obj, { [prop]: newValue })\n}\n\nfunction modifyPathFn(pathInput, fn, obj) {\n  const path = createPath(pathInput)\n  if (path.length === 1) {\n    return {\n      ...obj,\n      [path[0]]: fn(obj[path[0]]),\n    }\n  }\n  if (pathModule(path)(obj) === undefined) {\n    return obj\n  }\n\n  const val = modifyPathFn(Array.prototype.slice.call(path, 1), fn, obj[path[0]])\n  if (val === obj[path[0]]) {\n    return obj\n  }\n\n  return assoc(path[0], val)(obj)\n}\n\nexport function modifyPath(pathInput, fn) {\n  return obj => modifyPathFn(pathInput, fn, obj)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { modifyPath } from './modifyPath.js'\n\nconst obj = { a: { b: { c: 1 } } }\n\ntest('happy', () => {\n  const result = modifyPath('a.b.c', x => x + 1)(obj)\n  expect(result).toEqual({ a: { b: { c: 2 } } })\n})\n\ntest('works only on existing paths', () => {\n  const result = modifyPath('a.b.d', x => x + 1)(obj)\n  expect(result).toEqual(obj)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { modifyPath, pipe } from 'rambda'\n\nconst obj = { a: { b: { c: 1 } } }\n\ndescribe('R.modifyPath', () => {\n  it('array path', () => {\n    const result = pipe(\n      obj,\n      modifyPath(['a', 'b', 'c'], (x: number) => String(x)),\n    )\n    result.a.b.c // $ExpectType string\n  })\n  it('string path', () => {\n    const result = pipe(\n      obj,\n      modifyPath('a.b.c', (x: number) => String(x)),\n    )\n    result.a.b.c // $ExpectType string\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#modifyPath)\n\n### modifyProp\n\n```typescript\n\nmodifyProp<T, K extends keyof T>(\n  prop: K,\n  fn: (x: T[K]) => T[K],\n): (target: T) => T\n```\n\nIt changes a property with the result of transformer function.\n\n```javascript\nconst person = {\n  name : 'foo',\n  age  : 20,\n}\nconst result = R.modifyProp('age', x => x + 1)(person)\n// => {name: 'foo', age: 21}\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20person%20%3D%20%7B%0A%20%20name%20%3A%20'foo'%2C%0A%20%20age%20%20%3A%2020%2C%0A%7D%0Aconst%20result%20%3D%20R.modifyProp('age'%2C%20x%20%3D%3E%20x%20%2B%201)(person)%0A%2F%2F%20%3D%3E%20%7Bname%3A%20'foo'%2C%20age%3A%2021%7D\">Try this <strong>R.modifyProp</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nmodifyProp<T, K extends keyof T>(\n  prop: K,\n  fn: (x: T[K]) => T[K],\n): (target: T) => T;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.modifyProp</strong> source</summary>\n\n```javascript\nimport { isArray } from './_internals/isArray.js'\nimport { update } from './update.js'\n\nfunction modifyFn(property, fn, list) {\n  if (list[property] === undefined) {\n    return list\n  }\n  if (isArray(list)) {\n    return update(property, fn(list[property]))(list)\n  }\n\n  return {\n    ...list,\n    [property]: fn(list[property]),\n  }\n}\n\nexport function modifyProp(property, fn) {\n  return obj => modifyFn(property, fn, obj)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { modifyProp } from './modifyProp.js'\n\nconst person = {\n  name: 'foo',\n  age: 20,\n}\n\ntest('happy', () => {\n  expect(modifyProp('age', x => x + 1)(person)).toEqual({\n    name: 'foo',\n    age: 21,\n  })\n})\n\ntest('property is missing', () => {\n  expect(modifyProp('foo', x => x + 1)(person)).toEqual(person)\n})\n\ntest('adjust if `array` at the given key with the `transformation` function', () => {\n  expect(modifyProp(1, x => x + 1)([100, 1400])).toEqual([100, 1401])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { modifyProp, pipe } from 'rambda'\n\nit('R.modify', () => {\n  const result = pipe(\n    { a: 1, b: 2, c: { d: 3 } },\n    modifyProp('a', val => val + 1),\n  )\n  result // $ExpectType { a: number; b: number; c: { d: number; }; }\n\n  pipe(\n    { a: 1, b: 2, c: { d: 3 } },\n    // @ts-expect-error\n    modifyProp('ax', val => val + 1),\n  )\n\n  pipe(\n    { a: 1, b: 2, c: { d: 3 } },\n    // @ts-expect-error\n    modifyProp('a', val => String(val)),\n  )\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#modifyProp)\n\n### none\n\n```typescript\n\nnone<T>(predicate: (x: T) => boolean): (list: T[]) => boolean\n```\n\nIt returns `true`, if all members of array `list` returns `false`, when applied as argument to `predicate` function.\n\n```javascript\nconst list = [ 0, 1, 2, 3, 4 ]\nconst predicate = x => x > 6\n\nconst result = R.none(predicate)(arr)\n// => true\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%200%2C%201%2C%202%2C%203%2C%204%20%5D%0Aconst%20predicate%20%3D%20x%20%3D%3E%20x%20%3E%206%0A%0Aconst%20result%20%3D%20R.none(predicate)(arr)%0A%2F%2F%20%3D%3E%20true\">Try this <strong>R.none</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nnone<T>(predicate: (x: T) => boolean): (list: T[]) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.none</strong> source</summary>\n\n```javascript\nexport function none(predicate) {\n  return list => {\n    for (let i = 0; i < list.length; i++) {\n      if (predicate(list[i])) {\n        return false\n      }\n    }\n\n    return true\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { none } from './none.js'\n\nconst isEven = n => n % 2 === 0\n\ntest('when true', () => {\n  expect(none(isEven)([1, 3, 5, 7])).toBeTruthy()\n})\n\ntest('when false', () => {\n  expect(none(input => input > 1)([1, 2, 3])).toBeFalsy()\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { none, pipe } from 'rambda'\n\ndescribe('R.none', () => {\n  it('happy', () => {\n    const result = pipe(\n      [1, 2, 3],\n      none(x => x > 0),\n    )\n    result // $ExpectType boolean\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#none)\n\n### objectIncludes\n\n```typescript\n\nobjectIncludes<T>(specification: T): (obj: Partial<T>) => boolean\n```\n\nIt will return `true` if `specification` object fully or partially include `obj` object.\n\n`R.equals` is used to determine equality.\n\n```javascript\nconst specification = { a : { b : 1 } }\nconst input = {\n  a : { b : 1 },\n  c : 2\n}\n\nconst result = objectIncludes(specification)(input)\n// => true\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20specification%20%3D%20%7B%20a%20%3A%20%7B%20b%20%3A%201%20%7D%20%7D%0Aconst%20input%20%3D%20%7B%0A%20%20a%20%3A%20%7B%20b%20%3A%201%20%7D%2C%0A%20%20c%20%3A%202%0A%7D%0A%0Aconst%20result%20%3D%20objectIncludes(specification)(input)%0A%2F%2F%20%3D%3E%20true\">Try this <strong>R.objectIncludes</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nobjectIncludes<T>(specification: T): (obj: Partial<T>) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.objectIncludes</strong> source</summary>\n\n```javascript\nimport { equals } from './equals.js'\nimport { filterObject } from './filterObject.js'\n\nexport function objectIncludes(condition) {\n  return obj => {\n    const result = filterObject((conditionValue, conditionProp) =>\n      equals(conditionValue)(obj[conditionProp]),\n    )(condition)\n\n    return Object.keys(result).length === Object.keys(condition).length\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { objectIncludes } from './objectIncludes.js'\n\ntest('when true', () => {\n  const condition = { a: 1 }\n  const input = {\n    a: 1,\n    b: 2,\n  }\n\n  const result = objectIncludes(condition)(input)\n  const expectedResult = true\n\n  expect(result).toEqual(expectedResult)\n})\n\ntest('when false', () => {\n  const condition = { a: 1 }\n  const input = { b: 2 }\n\n  const result = objectIncludes(condition)(input)\n  const expectedResult = false\n\n  expect(result).toEqual(expectedResult)\n})\n\ntest('with nested object', () => {\n  const condition = { a: { b: 1 } }\n  const input = {\n    a: { b: 1 },\n    c: 2,\n  }\n\n  const result = objectIncludes(condition)(input)\n  const expectedResult = true\n\n  expect(result).toEqual(expectedResult)\n})\n\ntest('with wrong input', () => {\n  const condition = { a: { b: 1 } }\n\n  expect(() => objectIncludes(condition)(null)).toThrowErrorMatchingInlineSnapshot(\n    `[TypeError: Cannot read properties of null (reading 'a')]`,\n  )\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { objectIncludes, pipe } from 'rambda'\n\ndescribe('R.objectIncludes', () => {\n  it('happy', () => {\n    const result = pipe({ a: 1, b: 2, c: { d: 3 } }, objectIncludes({ a: 2 }))\n    result // $ExpectType boolean\n  })\n  it('nested', () => {\n    const result = pipe({ a: 1, b: 2, c: { d: 3 } }, objectIncludes({ c: { d: 3 } }))\n    result // $ExpectType boolean\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#objectIncludes)\n\n### objOf\n\n```typescript\n\nobjOf<T, K extends PropertyKey>(key: K): (value: T) => { [P in K]: T }\n```\n\nIt creates an object with a single key-value pair.\n\n```javascript\nconst result = R.objOf('foo')('bar')\n// => {foo: 'bar'}\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.objOf('foo')('bar')%0A%2F%2F%20%3D%3E%20%7Bfoo%3A%20'bar'%7D\">Try this <strong>R.objOf</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nobjOf<T, K extends PropertyKey>(key: K): (value: T) => { [P in K]: T };\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.objOf</strong> source</summary>\n\n```javascript\nexport function objOf(key) {\n  return value => ({ [key]: value })\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { objOf } from './objOf.js'\n\ntest('happy', () => {\n  expect(objOf('foo')(42)).toEqual({ foo: 42 })\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { objOf, pipe } from 'rambda'\n\nconst key = 'foo'\nconst value = 42\n\nit('R.objOf', () => {\n  const result = pipe(value, objOf(key))\n  result.foo // $ExpectType number\n  // @ts-expect-error\n  result.bar\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#objOf)\n\n### omit\n\n```typescript\n\nomit<\n\tS extends string,\n\tKeys extends PickStringToPickPath<S>,\n>(propsToPick: S): <U extends Partial<Record<ElementOf<Keys>, any>>>(\n\tobj: ElementOf<Keys> extends keyof U ? U : never\n) => ElementOf<Keys> extends keyof U ? MergeTypes<Omit<U, ElementOf<Keys>>> : never\n```\n\nIt returns a partial copy of an `obj` without `propsToOmit` properties.\n\n```javascript\nconst obj = {a: 1, b: 2, c: 3}\nconst propsToOmit = 'a,c,d'\nconst propsToOmitList = ['a', 'c', 'd']\n\nconst result = [\n  R.omit(propsToOmit, obj),\n  R.omit(propsToOmitList, obj)\n]\n// => [{b: 2}, {b: 2}]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20obj%20%3D%20%7Ba%3A%201%2C%20b%3A%202%2C%20c%3A%203%7D%0Aconst%20propsToOmit%20%3D%20'a%2Cc%2Cd'%0Aconst%20propsToOmitList%20%3D%20%5B'a'%2C%20'c'%2C%20'd'%5D%0A%0Aconst%20result%20%3D%20%5B%0A%20%20R.omit(propsToOmit%2C%20obj)%2C%0A%20%20R.omit(propsToOmitList%2C%20obj)%0A%5D%0A%2F%2F%20%3D%3E%20%5B%7Bb%3A%202%7D%2C%20%7Bb%3A%202%7D%5D\">Try this <strong>R.omit</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nomit<\n\tS extends string,\n\tKeys extends PickStringToPickPath<S>,\n>(propsToPick: S): <U extends Partial<Record<ElementOf<Keys>, any>>>(\n\tobj: ElementOf<Keys> extends keyof U ? U : never\n) => ElementOf<Keys> extends keyof U ? MergeTypes<Omit<U, ElementOf<Keys>>> : never;\nomit<const Keys extends PropertyKey[]>(propsToPick: Keys): <\n\tU extends Partial<Record<ElementOf<Keys>, any>>\n>(\n\tobj: ElementOf<Keys> extends keyof U ? U : never\n) => ElementOf<Keys> extends keyof U ? MergeTypes<Omit<U, ElementOf<Keys>>> : never;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.omit</strong> source</summary>\n\n```javascript\nimport { createPath } from './_internals/createPath.js'\n\nexport function _includes(x, list) {\n  let index = -1\n  const { length } = list\n\n  while (++index < length) {\n    if (String(list[index]) === String(x)) {\n      return true\n    }\n  }\n\n  return false\n}\n\nexport function omit(propsToOmit) {\n  return obj => {\n    if (!obj) {\n      return undefined\n    }\n\n    const propsToOmitValue = createPath(propsToOmit, ',')\n    const willReturn = {}\n\n    for (const key in obj) {\n      if (!_includes(key, propsToOmitValue)) {\n        willReturn[key] = obj[key]\n      }\n    }\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { omit } from './omit.js'\n\ntest('with string as condition', () => {\n  const obj = {\n    a: 1,\n    b: 2,\n    c: 3,\n  }\n  const result = omit('a,c')(obj)\n  const expectedResult = { b: 2 }\n\n  expect(result).toEqual(expectedResult)\n})\n\ntest('with array as condition', () => {\n  expect(\n    omit(['a', 'c', 'd'])({\n      a: 'foo',\n      b: 'bar',\n      c: 'baz',\n    }),\n  ).toEqual({ b: 'bar' })\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { omit, pipe } from 'rambda'\n\nconst input = { a: 'foo', b: 2, c: 3 }\n\ndescribe('R.omit', () => {\n  it('with string as input', () => {\n    const result = pipe(input, omit('a,b'))\n    result.c // $ExpectType number\n  })\n  it('with array as input', () => {\n    const result = pipe(input, omit(['a', 'b']))\n    result.c // $ExpectType number\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#omit)\n\n### partition\n\n```typescript\n\npartition<T, S extends T>(\n  predicate: (value: T, index: number, data: ReadonlyArray<T>) => value is S,\n): (data: ReadonlyArray<T>) => [Array<S>, Array<Exclude<T, S>>]\n```\n\nIt will return array of two arrays according to `predicate` function. The first member holds all instances of `input` that pass the `predicate` function, while the second member - those who doesn't.\n\n```javascript\nconst list = [1, 2, 3]\nconst predicate = x => x > 2\n\nconst result = R.partition(predicate)(list)\n\nconst expected = [[3], [1, 2]]\n// `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B1%2C%202%2C%203%5D%0Aconst%20predicate%20%3D%20x%20%3D%3E%20x%20%3E%202%0A%0Aconst%20result%20%3D%20R.partition(predicate)(list)%0A%0Aconst%20expected%20%3D%20%5B%5B3%5D%2C%20%5B1%2C%202%5D%5D%0A%2F%2F%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.partition</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\npartition<T, S extends T>(\n  predicate: (value: T, index: number, data: ReadonlyArray<T>) => value is S,\n): (data: ReadonlyArray<T>) => [Array<S>, Array<Exclude<T, S>>];\npartition<T>(\n  predicate: (value: T, index: number, data: ReadonlyArray<T>) => boolean,\n): (data: ReadonlyArray<T>) => [Array<T>, Array<T>];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.partition</strong> source</summary>\n\n```javascript\nexport function partition(predicate) {\n  return list => {\n\t\tconst yes = []\n\t\tconst no = []\n\t\tlet counter = -1\n\t\n\t\twhile (counter++ < list.length - 1) {\n\t\t\tif (predicate(list[counter], counter)) {\n\t\t\t\tyes.push(list[counter])\n\t\t\t} else {\n\t\t\t\tno.push(list[counter])\n\t\t\t}\n\t\t}\n\t\n\t\treturn [yes, no]\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { partition } from './partition.js'\n\ntest('happy', () => {\n  const list = [1, 2, 3]\n  const predicate = x => x > 2\n\n  const result = partition(predicate)(list)\n  expect(result).toEqual([[3], [1, 2]])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { partition, pipe } from 'rambda'\n\ndescribe('R.partition', () => {\n  it('happy', () => {\n    const predicate = (x: number) => {\n      return x > 2\n    }\n    const list = [1, 2, 3, 4]\n\n    const result = pipe(list, partition(predicate))\n    result // $ExpectType [number[], number[]]\n  })\n  it('with simple object', () => {\n    const result = pipe(\n      [{ a: 1 }, { a: 2 }, { a: 3 }, { a: 4 }],\n      partition(x => x.a > 2),\n    )\n    result // $ExpectType [{ a: number; }[], { a: number; }[]]\n  })\n  it('with complex object', () => {\n    interface Foo {\n      a: number\n    }\n    interface Bar {\n      b: number\n    }\n    const list1: (Foo | Bar)[] = [{ a: 1 }, { b: 2 }, { a: 3 }, { b: 4 }]\n    const filterFoo = (x: Foo | Bar): x is Foo => 'a' in x\n    const result = pipe(list1, partition(filterFoo))\n    result // $ExpectType [Foo[], Bar[]]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#partition)\n\n### partitionObject\n\n```typescript\n\npartitionObject<T extends unknown, S extends T>(\n  predicate: (value: T, prop: string, obj: Record<string, T>) => value is S,\n): (obj: Record<string, T>) => [Record<string, S>, Record<string, Exclude<T, S>>]\n```\n\nIt returns an array containing two objects. The first object holds all properties of the input object for which the predicate returns true, while the second object holds those that do not.\n\n```javascript\nconst obj = {a: 1, b: 2, c: 3}\nconst predicate = x => x > 2\n\nconst result = R.partition(predicate)(obj)\n\nconst expected = [{c: 3},  {a: 1, b: 2}]\n// `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20obj%20%3D%20%7Ba%3A%201%2C%20b%3A%202%2C%20c%3A%203%7D%0Aconst%20predicate%20%3D%20x%20%3D%3E%20x%20%3E%202%0A%0Aconst%20result%20%3D%20R.partition(predicate)(obj)%0A%0Aconst%20expected%20%3D%20%5B%7Bc%3A%203%7D%2C%20%20%7Ba%3A%201%2C%20b%3A%202%7D%5D%0A%2F%2F%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.partitionObject</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\npartitionObject<T extends unknown, S extends T>(\n  predicate: (value: T, prop: string, obj: Record<string, T>) => value is S,\n): (obj: Record<string, T>) => [Record<string, S>, Record<string, Exclude<T, S>>];\npartitionObject<T extends unknown>(\n  predicate: (value: T, prop: string, obj: Record<string, T>) => boolean,\n): (obj: Record<string, T>) => [Record<string, T>, Record<string, T>];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.partitionObject</strong> source</summary>\n\n```javascript\nexport function partitionObject(predicate) {\n\treturn obj => {\n  const yes = {}\n  const no = {}\n  Object.entries(obj).forEach(([prop, value]) => {\n    if (predicate(value, prop)) {\n      yes[prop] = value\n    } else {\n      no[prop] = value\n    }\n  })\n\n  return [yes, no]\n}\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { partitionObject } from './partitionObject.js'\n\ntest('happy', () => {\n  const predicate = (value, prop) => {\n    expect(typeof prop).toBe('string')\n\n    return value > 2\n  }\n  const hash = {\n    a: 1,\n    b: 2,\n    c: 3,\n    d: 4,\n  }\n\n  const result = partitionObject(predicate)(hash)\n  const expectedResult = [\n    {\n      c: 3,\n      d: 4,\n    },\n    {\n      a: 1,\n      b: 2,\n    },\n  ]\n\n  expect(result).toEqual(expectedResult)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { partitionObject, pipe } from 'rambda'\n\ndescribe('R.partition', () => {\n  it('happy', () => {\n\t\tlet result = pipe(\n\t\t\t{ a: 1, b: 2 },\n\t\t\tpartitionObject((x, prop) => x> 1 || prop === 'c'),\n\t\t)\n    result // $ExpectType [Record<string, number>, Record<string, number>]\n  })\n  it('with complex object', () => {\n    interface Foo {\n      a: number\n    }\n    interface Bar {\n      b: number\n    }\n    const obj: Record<string, (Foo | Bar)> = {\n\t\t\ta: { a: 1 },\n\t\t\tb: { b: 2 },\n\t\t\tc: { a: 3 },\n\t\t\td: { b: 4 },\n\t\t}\n    const filterFoo = (x: Foo | Bar): x is Foo => 'a' in x\n    const result = pipe(obj, partitionObject(filterFoo))\n    result // $ExpectType [Record<string, Foo>, Record<string, Bar>]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#partitionObject)\n\n### path\n\n```typescript\n\npath<S, K0 extends string & keyof S>(path: `${K0}`): (obj: S) => S[K0]\n```\n\nIf `pathToSearch` is `'a.b'` then it will return `1` if `obj` is `{a:{b:1}}`.\n\nIt will return `undefined`, if such path is not found.\n\n> :boom: String annotation of `pathToSearch` is one of the differences between `Rambda` and `Ramda`.\n\n```javascript\nconst obj = {a: {b: 1}}\nconst pathToSearch = 'a.b'\nconst pathToSearchList = ['a', 'b']\n\nconst result = [\n  R.path(pathToSearch, obj),\n  R.path(pathToSearchList, obj),\n  R.path('a.b.c.d', obj)\n]\n// => [1, 1, undefined]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20obj%20%3D%20%7Ba%3A%20%7Bb%3A%201%7D%7D%0Aconst%20pathToSearch%20%3D%20'a.b'%0Aconst%20pathToSearchList%20%3D%20%5B'a'%2C%20'b'%5D%0A%0Aconst%20result%20%3D%20%5B%0A%20%20R.path(pathToSearch%2C%20obj)%2C%0A%20%20R.path(pathToSearchList%2C%20obj)%2C%0A%20%20R.path('a.b.c.d'%2C%20obj)%0A%5D%0A%2F%2F%20%3D%3E%20%5B1%2C%201%2C%20undefined%5D\">Try this <strong>R.path</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\npath<S, K0 extends string & keyof S>(path: `${K0}`): (obj: S) => S[K0];\npath<S, K0 extends string & keyof S, K1 extends string & keyof S[K0]>(path: `${K0}.${K1}`): (obj: S) => S[K0][K1];\npath<\n  S,\n  K0 extends keyof S,\n  K1 extends keyof S[K0],\n  K2 extends keyof S[K0][K1]\n>(path: [K0, K1, K2]): (obj: S) => S[K0][K1][K2];\npath<\n  S,\n  K0 extends string & keyof S,\n  K1 extends string & keyof S[K0],\n  K2 extends string & keyof S[K0][K1]\n>(path: `${K0}.${K1}.${K2}`): (obj: S) => S[K0][K1][K2];\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.path</strong> source</summary>\n\n```javascript\nimport { createPath } from './_internals/createPath.js'\n\nexport function path(pathInput) {\n\treturn (obj)  => {\n\t\tif (!obj) {\n\t\t\treturn undefined\n\t\t}\n\t\tlet willReturn = obj\n\t\tlet counter = 0\n\t\n\t\tconst pathArrValue = createPath(pathInput)\n\t\n\t\twhile (counter < pathArrValue.length) {\n\t\t\tif (willReturn === null || willReturn === undefined) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\tif (willReturn[pathArrValue[counter]] === null) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\n\t\t\twillReturn = willReturn[pathArrValue[counter]]\n\t\t\tcounter++\n\t\t}\n\t\n\t\treturn willReturn\n\t}\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { path } from './path.js'\n\ntest('with array inside object', () => {\n  const obj = { a: { b: [1, { c: 1 }] } }\n\n  expect(path('a.b.1.c')(obj)).toBe(1)\n})\n\ntest('works with undefined', () => {\n  const obj = { a: { b: { c: 1 } } }\n\n  expect(path('a.b.c.d.f')(obj)).toBeUndefined()\n  expect(path('foo.babaz')(undefined)).toBeUndefined()\n  expect(path('foo.babaz')(undefined)).toBeUndefined()\n})\n\ntest('works with string instead of array', () => {\n  expect(path('foo.bar.baz')({ foo: { bar: { baz: 'yes' } } })).toBe('yes')\n})\n\ntest('path', () => {\n  expect(path(['foo', 'bar', 'baz'])({ foo: { bar: { baz: 'yes' } } })).toBe('yes')\n  expect(path(['foo', 'bar', 'baz'])(null)).toBeUndefined()\n  expect(path(['foo', 'bar', 'baz'])({ foo: { bar: 'baz' } })).toBeUndefined()\n})\n\ntest('with number string in between', () => {\n  expect(path(['a', '1', 'b'])({ a: [{ b: 1 }, { b: 2 }] })).toBe(2)\n})\n\ntest('null is not a valid path', () => {\n  expect(\n    path('audio_tracks')({\n      a: 1,\n      audio_tracks: null,\n    }),\n  ).toBeUndefined()\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { path, pipe } from 'rambda'\n\nconst input = { a: { b: { c: true } } }\n\ndescribe('R.path with string as path', () => {\n  it('happy', () => {\n    const result = pipe(input, path(['a', 'b']))\n    const resultStringInput = pipe(input, path('a.b.c'))\n    result.c // $ExpectType boolean\n    resultStringInput // $ExpectType boolean\n  })\n  it('happy', () => {\n    const result = pipe([1, 2, 3], path([1]))\n    result // $ExpectType number\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#path)\n\n### pathSatisfies\n\n```typescript\n\npathSatisfies<S, K0 extends string & keyof S>(\n  predicate: (x: S[K0]) => boolean,\n  path: [K0]\n): (obj: S) => boolean\n```\n\n```javascript\nconst result = R.pathSatisfies(\n  x => x > 0,\n  ['a', 'b', 'c'],\n  {a: {b: {c: 1}}}\n)\n// => true\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.pathSatisfies(%0A%20%20x%20%3D%3E%20x%20%3E%200%2C%0A%20%20%5B'a'%2C%20'b'%2C%20'c'%5D%2C%0A%20%20%7Ba%3A%20%7Bb%3A%20%7Bc%3A%201%7D%7D%7D%0A)%0A%2F%2F%20%3D%3E%20true\">Try this <strong>R.pathSatisfies</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\npathSatisfies<S, K0 extends string & keyof S>(\n  predicate: (x: S[K0]) => boolean,\n  path: [K0]\n): (obj: S) => boolean;\npathSatisfies<S, K0 extends string & keyof S>(\n  predicate: (x: S[K0]) => boolean,\n  path: `${K0}`\n): (obj: S) => boolean;\npathSatisfies<S, K0 extends string & keyof S, K1 extends string & keyof S[K0]>(\n  predicate: (x: S[K0][K1]) => boolean,\n  path: [K0, K1]\n): (obj: S) => boolean;\npathSatisfies<S, K0 extends string & keyof S, K1 extends string & keyof S[K0]>(\n  predicate: (x: S[K0][K1]) => boolean,\n  path: `${K0}.${K1}`\n): (obj: S) => boolean;\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.pathSatisfies</strong> source</summary>\n\n```javascript\nimport { path } from './path.js'\n\nexport function pathSatisfies(fn, pathInput) {\n  return obj => Boolean(fn(path(pathInput)(obj)))\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { pathSatisfies } from './pathSatisfies.js'\n\nconst isPositive = n => n > 0\n\nit('returns true if the specified object path satisfies the given predicate', () => {\n  expect(pathSatisfies(isPositive, ['x', 'y'])({ x: { y: 1 } })).toBe(true)\n})\n\nit('returns false if the specified path does not exist', () => {\n  expect(pathSatisfies(isPositive, ['x', 'y'])({ x: { z: 42 } })).toBe(false)\n  expect(pathSatisfies(isPositive, 'x.y')({ x: { z: 42 } })).toBe(false)\n})\n\nit('returns false otherwise', () => {\n  expect(pathSatisfies(isPositive, ['x', 'y'])({ x: { y: 0 } })).toBe(false)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pathSatisfies, pipe } from 'rambda'\n\nconst input = { a: { b: { c: 'bar' } } }\n\ndescribe('R.pathSatisfies', () => {\n  it('happy', () => {\n    const result = pipe(\n      input,\n      pathSatisfies(\n        x => {\n          x // $ExpectType string\n          return x !== 'foo'\n        },\n        ['a', 'b', 'c'],\n      ),\n    )\n    const resultStringInput = pipe(\n      input,\n      pathSatisfies(x => {\n        x // $ExpectType string\n        return x !== 'foo'\n      }, 'a.b.c'),\n    )\n    result // $ExpectType boolean\n    resultStringInput // $ExpectType boolean\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#pathSatisfies)\n\n### permutations\n\n```typescript\n\npermutations<T>(list: T[]): T[][]\n```\n\n```javascript\nconst result = R.permutations(\n\t[1, 2]\n)\n// => [[1, 2], [2, 1]]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.permutations(%0A%09%5B1%2C%202%5D%0A)%0A%2F%2F%20%3D%3E%20%5B%5B1%2C%202%5D%2C%20%5B2%2C%201%5D%5D\">Try this <strong>R.permutations</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\npermutations<T>(list: T[]): T[][];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.permutations</strong> source</summary>\n\n```javascript\nimport { cloneList } from './_internals/cloneList.js'\n\n/**\n * Source:\n * https://github.com/denoland/std/blob/main/collections/permutations.ts\n */\nexport function permutations(inputArray) {\n  const result = [];\n  const array = cloneList(inputArray);\n  const k = array.length;\n  if (k === 0) {\n    return result;\n  }\n\n  const c = new Array(k).fill(0);\n\n  result.push([...array]);\n\n  let i = 1;\n\n  while (i < k) {\n    if (c[i] < i) {\n      if (i % 2 === 0) {\n        [array[0], array[i]] = [array[i], array[0]]\n      } else {\n        [array[c[i]], array[i]] = [array[i], array[c[i]]]\n      }\n\n      result.push([...array]);\n\n      c[i] += 1;\n      i = 1;\n    } else {\n      c[i] = 0;\n      i += 1;\n    }\n  }\n\n  return result;\n}\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#permutations)\n\n### pick\n\n```typescript\n\npick<K extends PropertyKey>(propsToPick: K[]): <T extends Partial<Record<K, any>>>(input: K extends keyof T ? T : never) => MergeTypes<Pick<T, K>>\n```\n\nIt returns a partial copy of an `input` containing only `propsToPick` properties.\n\n`input` can be either an object or an array.\n\nString annotation of `propsToPick` is one of the differences between `Rambda` and `Ramda`.\n\n> :boom: Typescript Note: Pass explicit type annotation when used with **R.pipe/R.compose** for better type inference\n\n```javascript\nconst obj = {\n  a : 1,\n  b : false,\n  foo: 'cherry'\n}\nconst propsToPick = 'a,foo'\nconst propsToPickList = ['a', 'foo']\n\nconst result = [\n  R.pick(propsToPick)(obj),\n  R.pick(propsToPickList)(obj),\n  R.pick('a,bar')(obj),\n  R.pick('bar')(obj),\n]\n\nconst expected = [\n  {a:1, foo: 'cherry'},\n  {a:1, foo: 'cherry'},\n  {a:1},\n  {},\n]\n// => `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20obj%20%3D%20%7B%0A%20%20a%20%3A%201%2C%0A%20%20b%20%3A%20false%2C%0A%20%20foo%3A%20'cherry'%0A%7D%0Aconst%20propsToPick%20%3D%20'a%2Cfoo'%0Aconst%20propsToPickList%20%3D%20%5B'a'%2C%20'foo'%5D%0A%0Aconst%20result%20%3D%20%5B%0A%20%20R.pick(propsToPick)(obj)%2C%0A%20%20R.pick(propsToPickList)(obj)%2C%0A%20%20R.pick('a%2Cbar')(obj)%2C%0A%20%20R.pick('bar')(obj)%2C%0A%5D%0A%0Aconst%20expected%20%3D%20%5B%0A%20%20%7Ba%3A1%2C%20foo%3A%20'cherry'%7D%2C%0A%20%20%7Ba%3A1%2C%20foo%3A%20'cherry'%7D%2C%0A%20%20%7Ba%3A1%7D%2C%0A%20%20%7B%7D%2C%0A%5D%0A%2F%2F%20%3D%3E%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.pick</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\npick<K extends PropertyKey>(propsToPick: K[]): <T extends Partial<Record<K, any>>>(input: K extends keyof T ? T : never) => MergeTypes<Pick<T, K>>;\npick<S extends string, Keys extends PickStringToPickPath<S>>(propsToPick: S): <T extends Partial<Record<ElementOf<Keys>, any>>>(input: ElementOf<Keys> extends keyof T ? T : never) => ElementOf<Keys> extends keyof T ? MergeTypes<Pick<T, ElementOf<Keys>>> : never;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.pick</strong> source</summary>\n\n```javascript\nimport { createPath } from './_internals/createPath.js'\n\nexport function pick(propsToPick) {\n  return input => {\n    if (!input === null) {\n      return undefined\n    }\n    const keys = createPath(propsToPick, ',')\n    const willReturn = {}\n    let counter = 0\n\n    while (counter < keys.length) {\n      if (keys[counter] in input) {\n        willReturn[keys[counter]] = input[keys[counter]]\n      }\n      counter++\n    }\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { pick } from './pick.js'\n\nconst obj = {\n  a: 1,\n  b: 2,\n  c: 3,\n}\n\ntest('props to pick is a string', () => {\n  const result = pick('a,c')(obj)\n  const expectedResult = {\n    a: 1,\n    c: 3,\n  }\n\n  expect(result).toEqual(expectedResult)\n})\n\ntest('when prop is missing', () => {\n  const result = pick('a,d,f')(obj)\n  expect(result).toEqual({ a: 1 })\n})\n\ntest('props to pick is an array', () => {\n  expect(\n    pick(['a', 'c'])({\n      a: 'foo',\n      b: 'bar',\n    }),\n  ).toEqual({\n    a: 'foo',\n  })\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pick, pipe } from 'rambda'\n\nconst input = { a: 'foo', c: 3 }\n\ndescribe('R.pick', () => {\n  it('with string as input', () => {\n    const result = pipe(input, pick('a,c'))\n    result.a // $ExpectType string\n    result.c // $ExpectType number\n  })\n  it('with array as input', () => {\n\t\tconst result = pipe(input, pick(['a', 'c']))\n    result.a // $ExpectType string\n    result.c // $ExpectType number\n  })\n\tit('throws error if some keys do not exist', () => {\n\t\t// @ts-expect-error\n\t\tpipe(input, pick('a,c,b,o'))\n\t})\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#pick)\n\n### pipe\n\n```typescript\n\npipe<A, B>(value: A, op1: (input: A) => B): B\n```\n\nIt performs left-to-right function composition, where first argument is the input for the chain of functions.\n\nThis is huge difference from `Ramda.pipe` where input is passed like `R.pipe(...fns)(input)`.\nHere we have `R.pipe(input, ...fns)`.\n\nIt has much better TypeScript support than `Ramda.pipe` and this is the reason why `Rambda` goes in this direction.\n\n```javascript\nconst result = R.pipe(\n  [1, 2, 3],\n  R.filter(x => x > 1),\n  R.map(x => x*10),\n)\n// => [20, 30]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.pipe(%0A%20%20%5B1%2C%202%2C%203%5D%2C%0A%20%20R.filter(x%20%3D%3E%20x%20%3E%201)%2C%0A%20%20R.map(x%20%3D%3E%20x*10)%2C%0A)%0A%2F%2F%20%3D%3E%20%5B20%2C%2030%5D\">Try this <strong>R.pipe</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\npipe<A, B>(value: A, op1: (input: A) => B): B;\npipe<A, B, C>(\n  value: A,\n  op1: (input: A) => B,\n  op2: (input: B) => C,\n): C;\npipe<A, B, C, D>(\n  value: A,\n  op1: (input: A) => B,\n  op2: (input: B) => C,\n  op3: (input: C) => D,\n): D;\npipe<A, B, C, D, E>(\n  value: A,\n  op1: (input: A) => B,\n  op2: (input: B) => C,\n  op3: (input: C) => D,\n  op4: (input: D) => E,\n): E;\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.pipe</strong> source</summary>\n\n```javascript\nimport { reduce } from './reduce.js'\n\nexport function _arity(n, fn) {\n  switch (n) {\n    case 0:\n      return function () {\n        return fn.apply(this, arguments)\n      }\n    case 1:\n      return function (a0) {\n        return fn.apply(this, arguments)\n      }\n    case 2:\n      return function (a0, a1) {\n        return fn.apply(this, arguments)\n      }\n    case 3:\n      return function (a0, a1, a2) {\n        return fn.apply(this, arguments)\n      }\n    case 4:\n      return function (a0, a1, a2, a3) {\n        return fn.apply(this, arguments)\n      }\n    case 5:\n      return function (a0, a1, a2, a3, a4) {\n        return fn.apply(this, arguments)\n      }\n    case 6:\n      return function (a0, a1, a2, a3, a4, a5) {\n        return fn.apply(this, arguments)\n      }\n    case 7:\n      return function (a0, a1, a2, a3, a4, a5, a6) {\n        return fn.apply(this, arguments)\n      }\n    case 8:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n        return fn.apply(this, arguments)\n      }\n    case 9:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n        return fn.apply(this, arguments)\n      }\n    case 10:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n        return fn.apply(this, arguments)\n      }\n    default:\n      throw new Error(\n        'First argument to _arity must be a non-negative integer no greater than ten',\n      )\n  }\n}\n\nfunction _pipe(f, g) {\n  return function () {\n    return g.call(this, f.apply(this, arguments))\n  }\n}\n\nfunction pipeFn() {\n  if (arguments.length === 0) {\n    throw new Error('pipe requires at least one argument')\n  }\n\n  return _arity(\n    arguments[0].length,\n    reduce(\n      _pipe,\n      arguments[0],\n    )(Array.prototype.slice.call(arguments, 1, Number.POSITIVE_INFINITY)),\n  )\n}\n\nexport function pipe(...inputs) {\n  const [input, ...fnList] = inputs\n\n  return pipeFn(...fnList)(input)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { filter } from './filter.js'\nimport { map } from './map.js'\nimport { pipe } from './pipe.js'\n\ntest('happy', () => {\n  const result = pipe(\n    [1, 2, 3],\n    filter(x => x > 1),\n    map(x => x * 10),\n    map(x => x + 1),\n  )\n  const expectedResult = [21, 31]\n\n  expect(result).toEqual(expectedResult)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport {\n  type MergeTypes,\n  append,\n  assertType,\n  defaultTo,\n  drop,\n  dropLast,\n  evolve,\n  filter,\n  find,\n  head,\n  map,\n  pick,\n  pipe,\n  split,\n  union,\n} from 'rambda'\ntype IsNotNever<T> = [T] extends [never] ? false : true\ntype Expect<T extends true> = T\n\ninterface BaseBook {\n  title: string\n  year: number\n  description?: string\n  userRating?: number\n}\ninterface Book extends BaseBook {\n  awards: {\n    number: number\n    years?: number[]\n  }\n  status?: Status\n}\ninterface BookWithBookmarkStatus extends Book {\n  bookmarkFlag: boolean\n}\ninterface BookWithReadStatus extends Book {\n  readFlag: boolean\n}\ntype BookToRead = BookWithBookmarkStatus & BookWithReadStatus\ntype FamousBook = Book & {\n\tstatus: 'famous'\n}\n\nconst checkIfFamous = (x: Book): x is FamousBook => {\n\treturn x.status === 'famous'\n}\nconst zaratustra: BaseBook = {\n  title: 'Zaratustra',\n  year: 1956,\n}\nconst brothersKaramazov = {\n  title: 'Brothers Karamazov',\n  year: 1880,\n}\n\nconst awardedZaratustra: Book = {\n  ...zaratustra,\n  awards: {\n    number: 1,\n    years: [1956],\n  },\n}\nconst awardedBrothersKaramazov: Book = {\n  ...brothersKaramazov,\n  awards: {\n    number: 2,\n    years: [1869, 1870],\n  },\n}\nconst awardedZaratustraToRead: BookToRead = {\n  ...awardedZaratustra,\n  readFlag: true,\n  bookmarkFlag: true,\n}\nconst awardedBaseValue: Book = {\n  title: '',\n  year: 0,\n  awards: {\n    number: 0,\n    years: [],\n  },\n}\n\ntype Status = 'famous' | 'can be skipped' | 'must-read'\n\nfunction checkBookToRead(x: Book): x is BookToRead {\n  return (x as BookToRead).readFlag && (x as BookToRead).bookmarkFlag\n}\n\nfunction tapFn<T, U>(\n  transformFn: (x: T) => U,\n  fn: (a: T, b: U) => void,\n): (x: T) => T {\n  return x => {\n    const result = transformFn(x)\n    fn(x, result)\n    return x\n  }\n}\n\nfunction simplify<T>(x: T) {\n  return x as MergeTypes<T>\n}\n\ndescribe('real use cases - books', () => {\n  it('case 1', () => {\n    const result = pipe(\n      [awardedZaratustra, awardedBrothersKaramazov],\n      filter(checkIfFamous),\n      drop(1),\n      // without converting to `as FamousBook`, endsWith will pick up `Book` as type\n      tapFn(union([awardedBrothersKaramazov]), (a, b) => {\n        a // $ExpectType Book[]\n        b // $ExpectType Book[]\n      }),\n      find(x => {\n        x // $ExpectType Book\n        return x.title === 'Brothers Karamazov'\n      }),\n      x => [x],\n      filter(Boolean),\n    )\n    const final: Expect<IsNotNever<typeof result>> = true\n  })\n  it('case 2', () => {\n    const getResult = (book: BaseBook) =>\n      pipe(\n        book,\n        defaultTo(awardedBaseValue),\n        assertType(checkBookToRead),\n        x => [x],\n        dropLast(1),\n        append(awardedZaratustraToRead),\n        head,\n        evolve({\n          year: x => x + 1,\n        }),\n        simplify,\n        pick('year'),\n      )\n    const result = getResult(zaratustra)\n    const final: Expect<IsNotNever<typeof result>> = true\n  })\n  it('case 3', () => {\n    const tableData = `id,title,year\n\t\t1,The First,2001\n\t\t2,The Second,2020\n\t\t3,The Third,2018`\n\n    const result = pipe(tableData, split('\\n'), map(split(',')))\n    result // $ExpectType string[][]\n  })\n})\n\nit('R.pipe', () => {\n  const obj = {\n    a: 'foo',\n    b: 'bar',\n  }\n\n  const result = pipe(\n    obj,\n    x => ({ a: x.a.length + x.b.length }),\n    x => ({ ...x, b: x.a + 'foo' }),\n    x => ({ ...x, c: x.b + 'bar' }),\n  )\n\n  result.a // $ExpectType number\n  result.b // $ExpectType string\n  result.c // $ExpectType string\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#pipe)\n\n### pipeAsync\n\n```typescript\n\npipeAsync<A, B>(input: A, fn0: (x: Awaited<A>) => B) : B\n```\n\nIt accepts input as first argument and series of functions as next arguments. It is same as `R.pipe` but with support for asynchronous functions.\n\n```javascript\nconst result = await R.pipeAsync(\n  100,\n  async x => {\n    await R.delay(100)\n    return x + 2\n  },\n  x => x +2,\n  async x => {\n    const delayed = await R.delay(100)\n    return delayed + x\n  }\n)\n// `result` resolves to `RAMBDAX_DELAY104`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20await%20R.pipeAsync(%0A%20%20100%2C%0A%20%20async%20x%20%3D%3E%20%7B%0A%20%20%20%20await%20R.delay(100)%0A%20%20%20%20return%20x%20%2B%202%0A%20%20%7D%2C%0A%20%20x%20%3D%3E%20x%20%2B2%2C%0A%20%20async%20x%20%3D%3E%20%7B%0A%20%20%20%20const%20delayed%20%3D%20await%20R.delay(100)%0A%20%20%20%20return%20delayed%20%2B%20x%0A%20%20%7D%0A)%0A%2F%2F%20%60result%60%20resolves%20to%20%60RAMBDAX_DELAY104%60\">Try this <strong>R.pipeAsync</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\npipeAsync<A, B>(input: A, fn0: (x: Awaited<A>) => B) : B;\npipeAsync<A, B, C>(input: A, fn0: (x: Awaited<A>) => B, fn1: (x: Awaited<B>) => C) : C;\npipeAsync<A, B, C, D>(input: A, fn0: (x: Awaited<A>) => B, fn1: (x: Awaited<B>) => C, fn2: (x: Awaited<C>) => D) : D;\npipeAsync<A, B, C, D, E>(input: A, fn0: (x: Awaited<A>) => B, fn1: (x: Awaited<B>) => C, fn2: (x: Awaited<C>) => D, fn3: (x: Awaited<D>) => E) : E;\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.pipeAsync</strong> source</summary>\n\n```javascript\nimport { type } from './type.js'\n\nexport async function pipeAsync(input, ...fnList) {\n  let willReturn = input\n  for (const fn of fnList) {\n    const initialResult = fn(willReturn)\n    willReturn =\n      type(initialResult) === 'Promise' ? await initialResult : initialResult\n  }\n  return willReturn\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { delay } from './delay.js'\nimport { pipeAsync } from './pipeAsync.js'\n\nconst fn1 = x => {\n  return new Promise(resolve => {\n    resolve(x + 2)\n  })\n}\nconst fn2 = async x => {\n  await delay(1)\n\n  return x + 3\n}\n\ntest('happy', async () => {\n  const result = await pipeAsync(1, fn1, x => x + 2, fn2)\n  expect(result).toBe(8)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipeAsync } from 'rambda'\nimport { delay } from 'rambdax'\n\ndescribe('R.pipeAsync', () => {\n  it('happy', async () => {\n    const result = await pipeAsync(\n      4,\n      async x => {\n        x // $ExpectType number\n        await delay(100)\n        return x + 1\n      },\n      x => {\n        x // $ExpectType number\n        return Promise.resolve([x])\n      },\n    )\n\n    result // $ExpectType number[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#pipeAsync)\n\n### pluck\n\n```typescript\n\npluck<T, K extends keyof T>(property: K): (list: T[]) => T[K][]\n```\n\nIt returns list of the values of `property` taken from the all objects inside `list`.\nBasically, this is `R.map(R.prop(property))`.\n\n> :boom: Typescript Note: Pass explicit type annotation when used with **R.pipe/R.compose** for better type inference\n\n```javascript\nconst list = [{a: 1}, {a: 2}, {b: 3}]\nconst property = 'a'\n\nconst result = R.pluck(property)(list)\n// => [1, 2]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%7Ba%3A%201%7D%2C%20%7Ba%3A%202%7D%2C%20%7Bb%3A%203%7D%5D%0Aconst%20property%20%3D%20'a'%0A%0Aconst%20result%20%3D%20R.pluck(property)(list)%0A%2F%2F%20%3D%3E%20%5B1%2C%202%5D\">Try this <strong>R.pluck</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\npluck<T, K extends keyof T>(property: K): (list: T[]) => T[K][];\npluck<K extends PropertyKey>(prop: K): {\n  <U extends O[keyof O], UK extends keyof U, O extends Record<string, any>>(obj: K extends UK ? O : never): { [OK in keyof O]: O[OK][K] };\n  <U extends readonly unknown[] | Record<K, any>>(list: readonly U[]): U extends readonly (infer T)[] ? T[] : U extends Record<K, infer T> ? T[] : never;\n};\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.pluck</strong> source</summary>\n\n```javascript\nexport function pluck(property) {\n  return list => {\n    const willReturn = []\n\n    list.forEach(x => {\n      if (x[property] !== undefined) {\n        willReturn.push(x[property])\n      }\n    })\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { pluck } from './pluck.js'\n\ntest('happy', () => {\n  expect(pluck('a')([{ a: 1 }, { a: 2 }, { b: 1 }])).toEqual([1, 2])\n})\n\ntest('with undefined', () => {\n  expect(pluck(undefined)([{ a: 1 }, { a: 2 }, { b: 1 }])).toEqual([])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, pluck } from 'rambda';\n\nit(\"R.pluck\", () => {\n  const input = [\n    { a: 1, b: \"foo\" },\n    { a: 2, b: \"bar\" },\n  ];\n  const result = pipe(input, pluck(\"b\"));\n  result; // $ExpectType string[]\n});\n\nit(\"R.pluck without R.pipe\", () => {\n  interface Content {\n    text: string;\n  }\n  const content: Content[] = [\n    {\n      text: \"foo\",\n    },\n  ];\n  const sentences = pluck(\"text\")(content);\n  sentences; // $ExpectType string[]\n});\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#pluck)\n\n### prepend\n\n```typescript\n\nprepend<T>(xToPrepend: T, iterable: T[]): T[]\n```\n\nIt adds element `x` at the beginning of `list`.\n\n```javascript\nconst result = R.prepend('foo', ['bar', 'baz'])\n// => ['foo', 'bar', 'baz']\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.prepend('foo'%2C%20%5B'bar'%2C%20'baz'%5D)%0A%2F%2F%20%3D%3E%20%5B'foo'%2C%20'bar'%2C%20'baz'%5D\">Try this <strong>R.prepend</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nprepend<T>(xToPrepend: T, iterable: T[]): T[];\nprepend<T>(xToPrepend: T): (iterable: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.prepend</strong> source</summary>\n\n```javascript\nexport function prepend(x) {\n  return list => [x].concat(list)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { prepend } from './prepend.js'\n\ntest('happy', () => {\n  expect(prepend('yes')(['foo', 'bar', 'baz'])).toEqual(['yes', 'foo', 'bar', 'baz'])\n})\n\ntest('with empty list', () => {\n  expect(prepend('foo')([])).toEqual(['foo'])\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#prepend)\n\n### prop\n\n```typescript\n\nprop<K extends PropertyKey>(prop: K): <U extends { [P in K]?: unknown }>(obj: U) => U[K]\n```\n\nIt returns the value of property `propToFind` in `obj`.\n\nIf there is no such property, it returns `undefined`.\n\n```javascript\nconst result = [\n  R.prop('x')({x: 100}),\n  R.prop('x')({a: 1})\n]\n// => [100, undefined]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5B%0A%20%20R.prop('x')(%7Bx%3A%20100%7D)%2C%0A%20%20R.prop('x')(%7Ba%3A%201%7D)%0A%5D%0A%2F%2F%20%3D%3E%20%5B100%2C%20undefined%5D\">Try this <strong>R.prop</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nprop<K extends PropertyKey>(prop: K): <U extends { [P in K]?: unknown }>(obj: U) => U[K];\nprop<K extends keyof U, U>(prop: K, obj: U): U[K];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.prop</strong> source</summary>\n\n```javascript\nexport function prop(searchProperty) {\n  return obj => (obj ? obj[searchProperty] : undefined)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { map, pipe, prop } from 'rambda'\n\ndescribe('R.prop', () => {\n  it('happy', () => {\n    const result = pipe({ a: 1 }, prop('a'))\n\n    result // $ExpectType number\n  })\n  it('alike R.pluck', () => {\n    const result = pipe([{ a: 1 }, { a: 2 }], map(prop('a')))\n\n    result // $ExpectType number[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#prop)\n\n### propEq\n\n```typescript\n\npropEq<T>(val: T): {\n  <K extends PropertyKey>(name: K): (obj: Record<K, T>) => boolean\n```\n\nIt returns true if `obj` has property `propToFind` and its value is equal to `valueToMatch`.\n\n```javascript\nconst obj = { foo: 'bar' }\nconst secondObj = { foo: 1 }\n\nconst propToFind = 'foo'\nconst valueToMatch = 'bar'\n\nconst result = [\n  R.propEq(propToFind, valueToMatch)(obj),\n  R.propEq(propToFind, valueToMatch)(secondObj)\n]\n// => [true, false]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20obj%20%3D%20%7B%20foo%3A%20'bar'%20%7D%0Aconst%20secondObj%20%3D%20%7B%20foo%3A%201%20%7D%0A%0Aconst%20propToFind%20%3D%20'foo'%0Aconst%20valueToMatch%20%3D%20'bar'%0A%0Aconst%20result%20%3D%20%5B%0A%20%20R.propEq(propToFind%2C%20valueToMatch)(obj)%2C%0A%20%20R.propEq(propToFind%2C%20valueToMatch)(secondObj)%0A%5D%0A%2F%2F%20%3D%3E%20%5Btrue%2C%20false%5D\">Try this <strong>R.propEq</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\npropEq<T>(val: T): {\n  <K extends PropertyKey>(name: K): (obj: Record<K, T>) => boolean;\n  <K extends PropertyKey>(name: K, obj: Record<K, T>): boolean;\n};\npropEq<T, K extends PropertyKey>(val: T, name: K): (obj: Record<K, T>) => boolean;\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.propEq</strong> source</summary>\n\n```javascript\nimport { equalsFn } from './equals.js'\n\nexport function propEq(valueToMatch, propToFind) {\n  return obj => {\n    if (!obj) {\n      return false\n    }\n\n    return equalsFn(valueToMatch, obj[propToFind])\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { propEq } from './propEq.js'\n\nconst FOO = 'foo'\nconst BAR = 'bar'\n\ntest('happy', () => {\n  const obj = { [FOO]: BAR }\n  expect(propEq(BAR, FOO)(obj)).toBeTruthy()\n  expect(propEq(1, FOO)(obj)).toBeFalsy()\n  expect(propEq(1, 1)(null)).toBeFalsy()\n})\n\ntest('returns false if called with a null or undefined object', () => {\n  expect(propEq('name', 'Abby')(null)).toBeFalsy()\n  expect(propEq('name', 'Abby')(undefined)).toBeFalsy()\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#propEq)\n\n### propOr\n\n```typescript\n\npropOr<T, P extends string>(property: P, defaultValue: T): (obj: Partial<Record<P, T>>) => T\n```\n\nIt returns either `defaultValue` or the value of `property` in `obj`.\n\n```javascript\nconst obj = {a: 1}\nconst defaultValue = 'DEFAULT_VALUE'\nconst property = 'a'\n\nconst result = [\n  R.propOr(defaultValue, property)(obj),\n  R.propOr(defaultValue, 'foo')(obj)\n]\n// => [1, 'DEFAULT_VALUE']\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20obj%20%3D%20%7Ba%3A%201%7D%0Aconst%20defaultValue%20%3D%20'DEFAULT_VALUE'%0Aconst%20property%20%3D%20'a'%0A%0Aconst%20result%20%3D%20%5B%0A%20%20R.propOr(defaultValue%2C%20property)(obj)%2C%0A%20%20R.propOr(defaultValue%2C%20'foo')(obj)%0A%5D%0A%2F%2F%20%3D%3E%20%5B1%2C%20'DEFAULT_VALUE'%5D\">Try this <strong>R.propOr</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\npropOr<T, P extends string>(property: P, defaultValue: T): (obj: Partial<Record<P, T>>) => T;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.propOr</strong> source</summary>\n\n```javascript\nimport { defaultTo } from './defaultTo.js'\n\nexport function propOr(property, defaultValue) {\n  return obj => {\n    if (!obj) {\n      return defaultValue\n    }\n\n    return defaultTo(defaultValue)(obj[property])\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { propOr } from './propOr.js'\n\ntest('propOr', () => {\n  const obj = { a: 1 }\n  expect(propOr('a', 'default', )(obj)).toBe(1)\n  expect(propOr('notExist', 'default')(obj)).toBe('default')\n  expect(propOr('notExist', 'default')(null)).toBe('default')\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { propOr } from 'rambda'\n\nconst obj = { foo: 'bar' }\nconst property = 'foo'\nconst fallback = 'fallback'\n\nit('R.propOr', () => {\n\tconst result = propOr(property, fallback)(obj)\n\tresult // $ExpectType string\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#propOr)\n\n### propSatisfies\n\n```typescript\n\npropSatisfies<T>(predicate: (x: T) => boolean, property: string): (obj: Record<PropertyKey, T>) => boolean\n```\n\nIt returns `true` if the object property satisfies a given predicate.\n\n```javascript\nconst obj = {a: {b:1}}\nconst property = 'a'\nconst predicate = x => x?.b === 1\n\nconst result = R.propSatisfies(predicate, property, obj)\n// => true\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20obj%20%3D%20%7Ba%3A%20%7Bb%3A1%7D%7D%0Aconst%20property%20%3D%20'a'%0Aconst%20predicate%20%3D%20x%20%3D%3E%20x%3F.b%20%3D%3D%3D%201%0A%0Aconst%20result%20%3D%20R.propSatisfies(predicate%2C%20property%2C%20obj)%0A%2F%2F%20%3D%3E%20true\">Try this <strong>R.propSatisfies</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\npropSatisfies<T>(predicate: (x: T) => boolean, property: string): (obj: Record<PropertyKey, T>) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.propSatisfies</strong> source</summary>\n\n```javascript\nexport function propSatisfies(predicate, property) {\n  return obj => predicate(obj[property])\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { propSatisfies } from './propSatisfies.js'\n\nconst obj = { a: 1 }\n\ntest('when true', () => {\n  expect(propSatisfies(x => x > 0, 'a')(obj)).toBeTruthy()\n})\n\ntest('when false', () => {\n  expect(propSatisfies(x => x < 0, 'a')(obj)).toBeFalsy()\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, propSatisfies } from 'rambda'\n\nconst obj = { a: 1 }\n\ndescribe('R.propSatisfies', () => {\n  it('happy', () => {\n    const result = pipe(\n      obj,\n      propSatisfies(x => {\n        x // $ExpectType number\n        return x > 0\n      }, 'a'),\n    )\n\n    result // $ExpectType boolean\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#propSatisfies)\n\n### random\n\n```typescript\n\nrandom(minInclusive: number, maxInclusive: number): number\n```\n\nIt returns a random number between `min` inclusive and `max` inclusive.\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nrandom(minInclusive: number, maxInclusive: number): number;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.random</strong> source</summary>\n\n```javascript\nexport function random(min, max){\n  return Math.floor(Math.random() * (max - min + 1)) + min\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { random } from './random.js'\nimport { range } from './range.js'\nimport { uniq } from './uniq.js'\n\ntest('happy', () => {\n\tconst result = uniq(range(100).map(() => random(0, 3))).sort()\n  expect(result).toEqual([0,1,2,3])\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#random)\n\n### range\n\n```typescript\n\nrange(endInclusive: number) : number[]\n```\n\nIt returns list of numbers between `startInclusive` to `endInclusive` markers.\n\n```javascript\n[R.range(5), R.range(1, 5)]\n// => [[0, 1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5BR.range(5)%2C%20R.range(1%2C%205)%5D%0A%2F%2F%20%3D%3E%20%5B%5B0%2C%201%2C%202%2C%203%2C%204%2C%205%5D%2C%20%5B1%2C%202%2C%203%2C%204%2C%205%5D%5D\">Try this <strong>R.range</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nrange(endInclusive: number) : number[];\nrange(startInclusive: number, endInclusive: number) : number[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.range</strong> source</summary>\n\n```javascript\nexport function range(a, b) {\n  const start = b === undefined ? 0 : a\n  const end = b === undefined ? a : b\n  if (end<=  start) {\n\t\treturn []\n  }\n  const len = end - start\n\treturn Array.from({ length: len + 1 }, (_, i) => start + i)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { range } from './range.js'\n\ntest('happy', () => {\n  expect(range(5)).toEqual([0, 1, 2, 3, 4, 5])\n  expect(range(3,5)).toEqual([3, 4, 5])\n  expect(range(5,3)).toEqual([])\n\texpect(range(0)).toEqual([])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { range } from 'rambda'\n\ndescribe('R.range', () => {\n  it('curried', () => {\n    const result = [range(1, 4), range(1)]\n\n    result // $ExpectType number[][]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#range)\n\n### rangeDescending\n\n```typescript\n\nrangeDescending(startInclusive: number, endInclusive: number) : number[]\n```\n\nIt returns list of numbers between `endInclusive` to `startInclusive` markers.\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nrangeDescending(startInclusive: number, endInclusive: number) : number[];\nrangeDescending(endInclusive: number) : number[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.rangeDescending</strong> source</summary>\n\n```javascript\nexport function rangeDescending(start, b) {\n\tconst end = b === undefined ? 0 : b\n\tif (start <= end) {\n\t\treturn []\n\t}\n  const len = start - end\n \treturn Array.from({ length: len + 1 }, (_, i) => start - i)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { rangeDescending } from './rangeDescending.js'\n\ntest('happy', () => {\n  expect(rangeDescending(5)).toEqual([5, 4, 3, 2, 1, 0])\n\texpect(rangeDescending(7,3)).toEqual([7, 6, 5, 4,3])\n\texpect(rangeDescending(5, 7)).toEqual([])\n\texpect(rangeDescending(5, 5)).toEqual([])\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#rangeDescending)\n\n### reduce\n\n```typescript\n\nreduce<T, TResult>(reducer: (prev: TResult, current: T, i: number) => TResult, initialValue: TResult): (list: T[]) => TResult\n```\n\n> :boom: It passes index of the list as third argument to `reducer` function.\n\n```javascript\nconst list = [1, 2, 3]\nconst initialValue = 10\nconst reducer = (prev, current) => prev * current\n\nconst result = R.reduce(reducer, initialValue, list)\n// => 60\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B1%2C%202%2C%203%5D%0Aconst%20initialValue%20%3D%2010%0Aconst%20reducer%20%3D%20(prev%2C%20current)%20%3D%3E%20prev%20*%20current%0A%0Aconst%20result%20%3D%20R.reduce(reducer%2C%20initialValue%2C%20list)%0A%2F%2F%20%3D%3E%2060\">Try this <strong>R.reduce</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nreduce<T, TResult>(reducer: (prev: TResult, current: T, i: number) => TResult, initialValue: TResult): (list: T[]) => TResult;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.reduce</strong> source</summary>\n\n```javascript\nimport { isArray } from './_internals/isArray.js'\n\nexport function reduce(reducer, acc) {\n  return list => {\n    if (list == null) {\n      return acc\n    }\n    if (!isArray(list)) {\n      throw new TypeError('reduce: list must be array or iterable')\n    }\n    let index = 0\n    const len = list.length\n\n    while (index < len) {\n      acc = reducer(acc, list[index], index, list)\n      index++\n    }\n\n    return acc\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { concat } from './concat.js'\nimport { reduce } from './reduce.js'\n\nconst reducer = (prev, current, i) => {\n  expect(typeof i).toBe('number')\n\n  return prev + current\n}\nconst initialValue = 1\nconst list = [1, 2, 3]\nconst ERROR = 'reduce: list must be array or iterable'\n\ntest('happy', () => {\n  expect(reduce(reducer, initialValue)(list)).toBe(7)\n})\n\ntest('with undefined as iterable', () => {\n  expect(() => reduce(reducer, 0)({})).toThrowError(ERROR)\n})\n\ntest('returns the accumulator for a null list', () => {\n  expect(reduce(concat, [])(null)).toEqual([])\n})\n\ntest('returns the accumulator for an undefined list', () => {\n  expect(reduce(concat, [])(undefined)).toEqual([])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, reduce } from 'rambda'\n\nit('R.reduce', () => {\n  const result = pipe(\n    [1, 2, 3],\n    reduce((acc, val) => acc + val, 10),\n  )\n  result // $ExpectType number\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#reduce)\n\n### reject\n\n```typescript\n\nreject<T>(\n\tpredicate: BooleanConstructor,\n): (list: readonly T[]) => (\"\" | null | undefined | false | 0)[]\n```\n\nIt has the opposite effect of `R.filter`.\n\n```javascript\nconst list = [1, 2, 3, 4]\nconst obj = {a: 1, b: 2}\nconst predicate = x => x > 1\n\nconst result = [\n  R.reject(predicate)(list),\n  R.reject(predicate)(obj)\n]\n// => [[1], {a: 1}]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B1%2C%202%2C%203%2C%204%5D%0Aconst%20obj%20%3D%20%7Ba%3A%201%2C%20b%3A%202%7D%0Aconst%20predicate%20%3D%20x%20%3D%3E%20x%20%3E%201%0A%0Aconst%20result%20%3D%20%5B%0A%20%20R.reject(predicate)(list)%2C%0A%20%20R.reject(predicate)(obj)%0A%5D%0A%2F%2F%20%3D%3E%20%5B%5B1%5D%2C%20%7Ba%3A%201%7D%5D\">Try this <strong>R.reject</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nreject<T>(\n\tpredicate: BooleanConstructor,\n): (list: readonly T[]) => (\"\" | null | undefined | false | 0)[];\nreject<T>(\n\tpredicate: BooleanConstructor,\n): (list: T[]) => (\"\" | null | undefined | false | 0)[];\nreject<T>(\n\tpredicate: (value: T) => boolean,\n): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.reject</strong> source</summary>\n\n```javascript\nimport { filter } from './filter.js'\n\nexport function reject(predicate) {\n  return list => filter(x => !predicate(x))(list)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { reject } from './reject.js'\n\ntest('happy', () => {\n  const isEven = n => n % 2 === 0\n\n  expect(reject(isEven)([1, 2, 3, 4])).toEqual([1, 3])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { reject, pipe } from 'rambda'\n\nconst list = [1, 2, 3]\n\ndescribe('R.reject with array', () => {\n  it('within pipe', () => {\n    const result = pipe(\n      list,\n      reject(x => {\n        x // $ExpectType number\n        return x > 1\n      }),\n    )\n    result // $ExpectType number[]\n  })\n\tit('with index', () => {\n    const result = pipe(\n      list,\n      reject((x: number, i: number) => {\n        x // $ExpectType number\n        i // $ExpectType number\n        return x > 1\n      }),\n    )\n    result // $ExpectType number[]\n  })\n  it('narrowing type', () => {\n    interface Foo {\n      a: number\n    }\n    interface Bar extends Foo {\n      b: string\n    }\n    interface Baz extends Foo {\n      c: string\n    }\n\n    const testList: (Foo | Bar | Baz)[] = [{ a: 1 }, { a: 2 }, { a: 3 }]\n    const rejectBar = (x: Foo | Bar | Baz): x is Bar => {\n      return typeof (x as Bar).b === 'string'\n    }\n    const result = pipe(\n      testList,\n      reject(rejectBar),\n    )\n    result // $ExpectType (Foo | Baz)[]\n  })\n  it('narrowing type - readonly', () => {\n\t\tinterface Foo {\n      a: number\n    }\n    interface Bar extends Foo {\n      b: string\n    }\n    interface Baz extends Foo {\n      c: string\n    }\n\n    const testList: (Foo | Bar | Baz)[] = [{ a: 1 }, { a: 2 }, { a: 3 }] as const\n    const rejectBar = (x: Foo | Bar | Baz): x is Bar => {\n      return typeof (x as Bar).b === 'string'\n    }\n    const result = pipe(\n      testList,\n      reject(rejectBar),\n    )\n    result // $ExpectType (Foo | Baz)[]\n  })\n  it('rejecting NonNullable', () => {\n    const testList = [1, 2, null, undefined, 3]\n    const result = pipe(testList, reject(Boolean))\n    result // $ExpectType (null | undefined)[]\n  })\n  it('rejecting NonNullable - readonly', () => {\n    const testList = [1, 2, null, undefined, 3] as const\n    const result = pipe(testList, reject(Boolean))\n    result // $ExpectType (null | undefined)[]\n    // @ts-expect-error\n    result.includes(1)\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#reject)\n\n### rejectObject\n\n```typescript\n\nrejectObject<T extends object>(\n  valueMapper: (\n    value: EnumerableStringKeyedValueOf<T>,\n    key: EnumerableStringKeyOf<T>,\n    data: T,\n  ) => boolean,\n): <U extends T>(data: T) => U\n```\n\nSame as `R.filterObject` but it returns the object with properties that do not satisfy the predicate function.\n\n```javascript\nconst result = R.rejectObject(\n\t(val, prop) => prop === 'a' || val > 1\n)({a: 1, b: 2, c:3})\n// => {b: 2}\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.rejectObject(%0A%09(val%2C%20prop)%20%3D%3E%20prop%20%3D%3D%3D%20'a'%20%7C%7C%20val%20%3E%201%0A)(%7Ba%3A%201%2C%20b%3A%202%2C%20c%3A3%7D)%0A%2F%2F%20%3D%3E%20%7Bb%3A%202%7D\">Try this <strong>R.rejectObject</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nrejectObject<T extends object>(\n  valueMapper: (\n    value: EnumerableStringKeyedValueOf<T>,\n    key: EnumerableStringKeyOf<T>,\n    data: T,\n  ) => boolean,\n): <U extends T>(data: T) => U;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.rejectObject</strong> source</summary>\n\n```javascript\nexport function rejectObject(predicate) {\n  return obj => {\n    const willReturn = {}\n\n    for (const prop in obj) {\n      if (!predicate(obj[prop], prop, obj)) {\n        willReturn[prop] = obj[prop]\n      }\n    }\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { pipe } from './pipe.js'\nimport { rejectObject } from './rejectObject.js'\n\ntest('happy', () => {\n\tlet testInput = { a: 1, b: 2, c: 3 }\n  const result = pipe(\n\t\ttestInput,\n\t\trejectObject((x, prop, obj) => {\n\t\t\texpect(prop).toBeOneOf(['a', 'b', 'c'])\n\t\t\texpect(obj).toBe(testInput)\n\t\t\treturn x > 1\n\t\t})\n\t)\n\texpect(result).toEqual({ a:1 })\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { filterObject, pipe } from 'rambda'\n\ndescribe('R.filterObject', () => {\n  it('require explicit type', () => {\n    const result = pipe(\n      { a: 1, b: 2 },\n      filterObject<{ b: number }>(a => {\n        a // $ExpectType number\n        return a > 1\n      }),\n    )\n    result.b // $ExpectType number\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#rejectObject)\n\n### replace\n\n```typescript\n\nreplace(strOrRegex: RegExp | string, replacer: RegExp | string): (str: string) => string\n```\n\nIt replaces `strOrRegex` found in `str` with `replacer`.\n\n```javascript\nconst result = [\n\tR.replace('o', '|1|')('foo'),\n\tR.replace(/o/g, '|1|')('foo'),\n]\n// => ['f|1|o', 'f|1||1|']\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5B%0A%09R.replace('o'%2C%20'%7C1%7C')('foo')%2C%0A%09R.replace(%2Fo%2Fg%2C%20'%7C1%7C')('foo')%2C%0A%5D%0A%2F%2F%20%3D%3E%20%5B'f%7C1%7Co'%2C%20'f%7C1%7C%7C1%7C'%5D\">Try this <strong>R.replace</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nreplace(strOrRegex: RegExp | string, replacer: RegExp | string): (str: string) => string;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.replace</strong> source</summary>\n\n```javascript\nexport function replace(pattern, replacer) {\n  return str => str.replace(pattern, replacer)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { replace } from './replace.js'\n\ntest('happy', () => {\n  expect(replace(/\\s/g, '|')('foo bar baz')).toBe('foo|bar|baz')\n  expect(replace('a', '|')('foo bar baz')).toBe('foo b|r baz')\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { replace } from 'rambda'\n\nconst str = 'foo bar foo'\nconst replacer = 'bar'\n\ndescribe('R.replace', () => {\n  it('happy', () => {\n    const result = replace(/foo/g, replacer)(str)\n\n    result // $ExpectType string\n  })\n  it('with string as search pattern', () => {\n    const result = replace('foo', replacer)(str)\n\n    result // $ExpectType string\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#replace)\n\n### replaceAll\n\n```typescript\n\nreplaceAll(patterns: (RegExp | string)[], replacer: string): (input: string) => string\n```\n\nSame as `R.replace` but it accepts array of string and regular expressions instead of a single value.\n\n```javascript\nconst result = [\n\tR.replaceAll(['o', /a/g], '|1|')('foa'),\n]\n// => 'f|1||1|'\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5B%0A%09R.replaceAll(%5B'o'%2C%20%2Fa%2Fg%5D%2C%20'%7C1%7C')('foa')%2C%0A%5D%0A%2F%2F%20%3D%3E%20'f%7C1%7C%7C1%7C'\">Try this <strong>R.replaceAll</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nreplaceAll(patterns: (RegExp | string)[], replacer: string): (input: string) => string;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.replaceAll</strong> source</summary>\n\n```javascript\nexport function replaceAll(patterns, replacer) {\n  return input => {\n    let text = input\n    patterns.forEach(singlePattern => {\n      text = text.replace(singlePattern, replacer)\n    })\n\n    return text\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { replaceAll } from './replaceAll.js'\n\nconst replacer = '|'\nconst patterns = [/foo/g, 'bar']\nconst input = 'foo bar baz foo bar'\n\ntest('happy', () => {\n  const result = replaceAll(patterns, replacer)(input)\n  const expected = '| | baz | bar'\n\n  expect(result).toEqual(expected)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, replaceAll } from 'rambda'\n\nconst str = 'foo bar foo'\nconst replacer = 'bar'\nconst patterns = [/foo/g, 'bar']\n\ndescribe('R.replaceAll', () => {\n  it('happy', () => {\n    const result = pipe(str, replaceAll(patterns, replacer))\n\n    result // $ExpectType string\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#replaceAll)\n\n### shuffle\n\n```typescript\n\nshuffle<T>(list: T[]): T[]\n```\n\nIt returns a randomized copy of array.\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nshuffle<T>(list: T[]): T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.shuffle</strong> source</summary>\n\n```javascript\nimport { cloneList } from './_internals/cloneList.js'\n\nexport function shuffle(listInput) {\n  const list = cloneList(listInput)\n  let counter = list.length\n  while (counter > 0) {\n    const index = Math.floor(Math.random() * counter)\n    counter--\n    const temp = list[counter]\n    list[counter] = list[index]\n    list[index] = temp\n  }\n\n  return list\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { shuffle } from 'rambdax'\n\nconst list = [1, 2, 3, 4, 5]\n\ndescribe('R.shuffle', () => {\n  it('happy', () => {\n    const result = shuffle(list)\n    result // $ExpectType number[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#shuffle)\n\n### sort\n\n```typescript\n\nsort<T>(sortFn: (a: T, b: T) => number): (list: T[]) => T[]\n```\n\nIt returns copy of `list` sorted by `sortFn` function, where `sortFn` needs to return only `-1`, `0` or `1`.\n\n```javascript\nconst list = [\n  {a: 2},\n  {a: 3},\n  {a: 1}\n]\nconst sortFn = (x, y) => {\n  return x.a > y.a ? 1 : -1\n}\n\nconst result = R.sort(sortFn, list)\nconst expected = [\n  {a: 1},\n  {a: 2},\n  {a: 3}\n]\n// => `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%0A%20%20%7Ba%3A%202%7D%2C%0A%20%20%7Ba%3A%203%7D%2C%0A%20%20%7Ba%3A%201%7D%0A%5D%0Aconst%20sortFn%20%3D%20(x%2C%20y)%20%3D%3E%20%7B%0A%20%20return%20x.a%20%3E%20y.a%20%3F%201%20%3A%20-1%0A%7D%0A%0Aconst%20result%20%3D%20R.sort(sortFn%2C%20list)%0Aconst%20expected%20%3D%20%5B%0A%20%20%7Ba%3A%201%7D%2C%0A%20%20%7Ba%3A%202%7D%2C%0A%20%20%7Ba%3A%203%7D%0A%5D%0A%2F%2F%20%3D%3E%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.sort</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nsort<T>(sortFn: (a: T, b: T) => number): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.sort</strong> source</summary>\n\n```javascript\nimport { cloneList } from './_internals/cloneList.js'\n\nexport function sort(sortFn) {\n  return list => cloneList(list).sort(sortFn)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { sort } from './sort.js'\n\nconst fn = (a, b) => (a > b ? 1 : -1)\n\ntest('sort', () => {\n  expect(sort((a, b) => a - b)([2, 3, 1])).toEqual([1, 2, 3])\n})\n\ntest(\"it doesn't mutate\", () => {\n  const list = ['foo', 'bar', 'baz']\n\n  expect(sort(fn)(list)).toEqual(['bar', 'baz', 'foo'])\n  expect(list).toEqual(['foo', 'bar', 'baz'])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, sort } from 'rambda'\n\nconst list = [3, 0, 5, 2, 1]\n\ndescribe('R.sort', () => {\n  it('happy', () => {\n    const result = sort<number>((a, b) => {\n      return a > b ? 1 : -1\n    })(list)\n    result // $ExpectType number[]\n  })\n  it('within pipe', () => {\n    const result = pipe(\n      list,\n      sort((a, b) => {\n        return a > b ? 1 : -1\n      }),\n    )\n    result // $ExpectType number[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#sort)\n\n### sortBy\n\n```typescript\n\nsortBy<T>(sortFn: (x: T) => Ord): (list: T[]) => T[]\n```\n\nIt returns copy of `list` sorted by `sortFn` function, where `sortFn` function returns a value to compare, i.e. it doesn't need to return only `-1`, `0` or `1`.\n\n```javascript\nconst list = [\n  {a: 2},\n  {a: 3},\n  {a: 1}\n]\nconst sortFn = x => x.a\n\nconst result = R.sortBy(sortFn)(list)\nconst expected = [\n  {a: 1},\n  {a: 2},\n  {a: 3}\n]\n// => `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%0A%20%20%7Ba%3A%202%7D%2C%0A%20%20%7Ba%3A%203%7D%2C%0A%20%20%7Ba%3A%201%7D%0A%5D%0Aconst%20sortFn%20%3D%20x%20%3D%3E%20x.a%0A%0Aconst%20result%20%3D%20R.sortBy(sortFn)(list)%0Aconst%20expected%20%3D%20%5B%0A%20%20%7Ba%3A%201%7D%2C%0A%20%20%7Ba%3A%202%7D%2C%0A%20%20%7Ba%3A%203%7D%0A%5D%0A%2F%2F%20%3D%3E%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.sortBy</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nsortBy<T>(sortFn: (x: T) => Ord): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.sortBy</strong> source</summary>\n\n```javascript\nimport { cloneList } from './_internals/cloneList.js'\n\nexport function sortByFn (\n\tsortFn,\n\tlist,\n\tdescending\n){\n\tconst clone = cloneList(list)\n\n\treturn clone.sort((a, b) => {\n\t\tconst aSortResult = sortFn(a)\n\t\tconst bSortResult = sortFn(b)\n\n\t\tif (aSortResult === bSortResult) {\n\t\t\treturn 0\n\t\t}\n\t\tif(\n\t\t\tdescending\n\t\t) return aSortResult > bSortResult ? -1 : 1\n\n\t\treturn aSortResult < bSortResult ? -1 : 1\n\t})\n}\n\nexport function sortBy(sortFn) {\n  return list => sortByFn(sortFn, list, false)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { sortBy } from './sortBy.js'\n\nconst input = [{ a: 2 }, { a: 1 }, { a: 1 }, { a: 3 }]\n\ntest('happy', () => {\n  const expected = [{ a: 1 }, { a: 1 }, { a: 2 }, { a: 3 }]\n\n  const result = sortBy(x => x.a)(input)\n  expect(result).toEqual(expected)\n})\n\ntest('with non-existing path', () => {\n\texpect(sortBy(x => x.b)(input)).toEqual(input)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, sortBy } from 'rambda'\n\ndescribe('R.sortBy', () => {\n  it('passing type to sort function and list', () => {\n    const result = pipe(\n      [{ a: 2 }, { a: 1 }, { a: 0 }],\n      sortBy(x => {\n        return x.a\n      }),\n    )\n\n    result[0].a // $ExpectType number\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#sortBy)\n\n### sortByDescending\n\n```typescript\n\nsortByDescending<T>(sortFn: (x: T) => Ord): (list: T[]) => T[]\n```\n\n```javascript\nconst list = [\n  {a: 2},\n  {a: 3},\n  {a: 1}\n]\nconst sortFn = x => x.a\n\nconst result = R.sortByDescending(sortFn)(list)\nconst expected = [\n  {a: 3},\n  {a: 2},\n  {a: 1}\n]\n// => `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%0A%20%20%7Ba%3A%202%7D%2C%0A%20%20%7Ba%3A%203%7D%2C%0A%20%20%7Ba%3A%201%7D%0A%5D%0Aconst%20sortFn%20%3D%20x%20%3D%3E%20x.a%0A%0Aconst%20result%20%3D%20R.sortByDescending(sortFn)(list)%0Aconst%20expected%20%3D%20%5B%0A%20%20%7Ba%3A%203%7D%2C%0A%20%20%7Ba%3A%202%7D%2C%0A%20%20%7Ba%3A%201%7D%0A%5D%0A%2F%2F%20%3D%3E%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.sortByDescending</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nsortByDescending<T>(sortFn: (x: T) => Ord): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.sortByDescending</strong> source</summary>\n\n```javascript\nimport { sortByFn } from './sortBy.js';\n\nexport function sortByDescending(sortFn) {\n  return list => sortByFn(sortFn, list, true)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { sortByDescending } from './sortByDescending.js'\nimport { path } from './path.js'\n\nconst list = [{ a: { b: 3 } }, { a: { b: 1 } }, { a: { b: 2 } }]\nconst sorted = [{ a: { b: 3 } }, { a: { b: 2 } }, { a: { b: 1 } }]\n\ntest('happy', () => {\n  expect(sortByDescending(path('a.b'))(list)).toEqual(sorted)\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#sortByDescending)\n\n### sortByPath\n\n```typescript\n\nsortByPath<S, K0 extends string & keyof S>(\n  path: [K0]\n): (list: S[]) => S[]\n```\n\nIt sorts `list` by the value of `path` property.\n\n```javascript\nconst list = [\n\t{a: {b: 2}, id:1},\n\t{a: {b: 1}, id:2},\n\t{a: {b: 3}, id:3},\n]\nconst result = R.sortByPath('a.b')(list)\nconst expected = [\n\t{a: {b: 1}, id:2},\n\t{a: {b: 2}, id:1},\n\t{a: {b: 3}, id:3}\n]\n// => `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%0A%09%7Ba%3A%20%7Bb%3A%202%7D%2C%20id%3A1%7D%2C%0A%09%7Ba%3A%20%7Bb%3A%201%7D%2C%20id%3A2%7D%2C%0A%09%7Ba%3A%20%7Bb%3A%203%7D%2C%20id%3A3%7D%2C%0A%5D%0Aconst%20result%20%3D%20R.sortByPath('a.b')(list)%0Aconst%20expected%20%3D%20%5B%0A%09%7Ba%3A%20%7Bb%3A%201%7D%2C%20id%3A2%7D%2C%0A%09%7Ba%3A%20%7Bb%3A%202%7D%2C%20id%3A1%7D%2C%0A%09%7Ba%3A%20%7Bb%3A%203%7D%2C%20id%3A3%7D%0A%5D%0A%2F%2F%20%3D%3E%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.sortByPath</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nsortByPath<S, K0 extends string & keyof S>(\n  path: [K0]\n): (list: S[]) => S[];\nsortByPath<S, K0 extends string & keyof S>(\n  path: `${K0}`\n): (list: S[]) => S[];\nsortByPath<S, K0 extends string & keyof S, K1 extends string & keyof S[K0]>(\n  path: [K0, K1]\n): (list: S[]) => S[];\nsortByPath<S, K0 extends string & keyof S, K1 extends string & keyof S[K0]>(\n  path: `${K0}.${K1}`\n): (list: S[]) => S[];\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.sortByPath</strong> source</summary>\n\n```javascript\nimport { path } from './path.js'\nimport { sortBy } from './sortBy.js'\n\nexport function sortByPath(sortPath) {\n  return list => sortBy(path(sortPath))(list)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { sortByPath } from './sortByPath.js'\n\nconst list = [{ a: { b: 3 } }, { a: { b: 1 } }, { a: { b: 2 } }]\nconst sorted = [{ a: { b: 1 } }, { a: { b: 2 } }, { a: { b: 3 } }]\n\ntest('with string as path', () => {\n  expect(sortByPath('a.b')(list)).toEqual(sorted)\n})\n\ntest('with list of strings as path', () => {\n  expect(sortByPath(['a', 'b'])(list)).toEqual(sorted)\n})\n\ntest('when path is not found in any item', () => {\n\tconst list = [{ a: { b: 3 } }, { a: { b: 1 } }, { a: {} }]\n\texpect(sortByPath('a.b.c.d')(list)).toEqual(list)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, sortByPath } from 'rambda'\n\nconst input= [{ a: { b: 2 } }, { a: { b: 1 } }]\n\ndescribe('R.sortByPath', () => {\n  it('with string as path', () => {\n    const result = pipe(input, sortByPath('a.b'))\n\t\tresult[0].a.b // $ExpectType number\n  })\n  it('with list of strings as path', () => {\n    const result = pipe(input, sortByPath(['a', 'b']))\n\t\tresult[0].a.b // $ExpectType number\n  })\n\tit('with non-existent path', () => {\n\t\t// @ts-expect-error\n\t\tpipe(input, sortByPath(['a', 'c']))\n\t\t// @ts-expect-error\n\t\tpipe(input, sortByPath('a.c'))\n\t})\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#sortByPath)\n\n### sortByPathDescending\n\n```typescript\n\nsortByPathDescending<S, K0 extends string & keyof S>(\n  path: [K0]\n): (list: S[]) => S[]\n```\n\n```javascript\nconst list = [\n\t{a: {b: 2}, id:1},\n\t{a: {b: 1}, id:2},\n\t{a: {b: 3}, id:3},\n]\nconst result = R.sortByPathDescending('a.b')(list)\nconst expected = [\n\t{a: {b: 3}, id:3}\n\t{a: {b: 2}, id:1},\n\t{a: {b: 1}, id:2},\n]\n// => `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%0A%09%7Ba%3A%20%7Bb%3A%202%7D%2C%20id%3A1%7D%2C%0A%09%7Ba%3A%20%7Bb%3A%201%7D%2C%20id%3A2%7D%2C%0A%09%7Ba%3A%20%7Bb%3A%203%7D%2C%20id%3A3%7D%2C%0A%5D%0Aconst%20result%20%3D%20R.sortByPathDescending('a.b')(list)%0Aconst%20expected%20%3D%20%5B%0A%09%7Ba%3A%20%7Bb%3A%203%7D%2C%20id%3A3%7D%0A%09%7Ba%3A%20%7Bb%3A%202%7D%2C%20id%3A1%7D%2C%0A%09%7Ba%3A%20%7Bb%3A%201%7D%2C%20id%3A2%7D%2C%0A%5D%0A%2F%2F%20%3D%3E%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.sortByPathDescending</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nsortByPathDescending<S, K0 extends string & keyof S>(\n  path: [K0]\n): (list: S[]) => S[];\nsortByPathDescending<S, K0 extends string & keyof S>(\n  path: `${K0}`\n): (list: S[]) => S[];\nsortByPathDescending<S, K0 extends string & keyof S, K1 extends string & keyof S[K0]>(\n  path: [K0, K1]\n): (list: S[]) => S[];\nsortByPathDescending<S, K0 extends string & keyof S, K1 extends string & keyof S[K0]>(\n  path: `${K0}.${K1}`\n): (list: S[]) => S[];\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.sortByPathDescending</strong> source</summary>\n\n```javascript\nimport { path } from './path.js'\nimport { sortByDescending } from './sortByDescending.js'\n\nexport function sortByPathDescending(sortPath) {\n  return list => sortByDescending(path(sortPath))(list)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { sortByPathDescending } from './sortByPathDescending.js'\n\nconst list = [{ a: { b: 3 } }, { a: { b: 1 } }, { a: { b: 2 } }]\nconst sorted = [{ a: { b: 3 } }, { a: { b: 2 } }, { a: { b: 1 } }]\n\ntest('with string as path', () => {\n  expect(sortByPathDescending('a.b')(list)).toEqual(sorted)\n})\n\ntest('with list of strings as path', () => {\n  expect(sortByPathDescending(['a', 'b'])(list)).toEqual(sorted)\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#sortByPathDescending)\n\n### sortObject\n\n```typescript\n\nsortObject<T, K extends string & keyof T>(predicate: (aProp: string, bProp: string, aValue: T[K], bValue: T[K]) => number): (obj: T) => T\n```\n\nIt returns a sorted version of `input` object.\n\n```javascript\nconst predicate = (propA, propB, valueA, valueB) => valueA > valueB ? -1 : 1\n\nconst result = R.sortObject(predicate)({a:1, b: 4, c: 2})\n// => {b: 4, c: 2, a: 1}\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20predicate%20%3D%20(propA%2C%20propB%2C%20valueA%2C%20valueB)%20%3D%3E%20valueA%20%3E%20valueB%20%3F%20-1%20%3A%201%0A%0Aconst%20result%20%3D%20R.sortObject(predicate)(%7Ba%3A1%2C%20b%3A%204%2C%20c%3A%202%7D)%0A%2F%2F%20%3D%3E%20%7Bb%3A%204%2C%20c%3A%202%2C%20a%3A%201%7D\">Try this <strong>R.sortObject</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nsortObject<T, K extends string & keyof T>(predicate: (aProp: string, bProp: string, aValue: T[K], bValue: T[K]) => number): (obj: T) => T;\nsortObject<T>(predicate: (aProp: string, bProp: string) => number): (obj: T) => T;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.sortObject</strong> source</summary>\n\n```javascript\nimport { sort } from './sort.js'\n\nexport function sortObject(predicate) {\n  return obj => {\n    const keys = Object.keys(obj)\n    const sortedKeys = sort((a, b) => predicate(a, b, obj[a], obj[b]))(keys)\n\n    const toReturn = {}\n    sortedKeys.forEach(singleKey => {\n      toReturn[singleKey] = obj[singleKey]\n    })\n\n    return toReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { sortObject } from './sortObject.js'\n\nconst obj = {\n  c: 7,\n  a: 100,\n  b: 1,\n  d: 4,\n}\n\ntest('happy', () => {\n  const predicate = (a, b, aValue, bValue) => {\n    if (a === 'a') {\n      return -1\n    }\n    if (b === 'a') {\n      return 1\n    }\n    return aValue > bValue ? -1 : 1\n  }\n  const result = sortObject(predicate)(obj)\n  const expected = {\n    a: 100,\n    c: 7,\n    d: 4,\n    b: 1,\n  }\n  expect(result).toEqual(expected)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { sortObject, pipe } from 'rambda'\n\nconst obj = {\n  c: 1,\n  a: 2,\n  b: 3,\n}\n\ndescribe('R.sortObject', () => {\n  it('predicate with all arguments', () => {\n    const result = pipe(\n      obj,\n      sortObject((propA, propB, valueA, valueB) => {\n        propA // $ExpectType string\n        propB // $ExpectType string\n        valueA // $ExpectType number\n        valueB // $ExpectType number\n        return propA > propB ? -1 : 1\n      }),\n    )\n\n    result // $ExpectType { c: number; a: number; b: number; }\n  })\n\n  it('predicate with only property arguments', () => {\n    const result = pipe(\n      obj,\n      sortObject((propA, propB) => {\n        propA // $ExpectType string\n        propB // $ExpectType string\n        return propA > propB ? -1 : 1\n      }),\n    )\n    result // $ExpectType { c: number; a: number; b: number; }\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#sortObject)\n\n### sortWith\n\n```typescript\n\nsortWith<T>(fns: Array<(a: T, b: T) => number>): (list: T[]) => T[]\n```\n\n```javascript\nconst result = R.sortWith([\n    (a, b) => a.a === b.a ? 0 : a.a > b.a ? 1 : -1,\n    (a, b) => a.b === b.b ? 0 : a.b > b.b ? 1 : -1,\n])([\n  {a: 1, b: 2},\n  {a: 2, b: 1},\n  {a: 2, b: 2},\n  {a: 1, b: 1},\n])\nconst expected = [\n  {a: 1, b: 1},\n  {a: 1, b: 2},\n  {a: 2, b: 1},\n  {a: 2, b: 2},\n]\n// => `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.sortWith(%5B%0A%20%20%20%20(a%2C%20b)%20%3D%3E%20a.a%20%3D%3D%3D%20b.a%20%3F%200%20%3A%20a.a%20%3E%20b.a%20%3F%201%20%3A%20-1%2C%0A%20%20%20%20(a%2C%20b)%20%3D%3E%20a.b%20%3D%3D%3D%20b.b%20%3F%200%20%3A%20a.b%20%3E%20b.b%20%3F%201%20%3A%20-1%2C%0A%5D)(%5B%0A%20%20%7Ba%3A%201%2C%20b%3A%202%7D%2C%0A%20%20%7Ba%3A%202%2C%20b%3A%201%7D%2C%0A%20%20%7Ba%3A%202%2C%20b%3A%202%7D%2C%0A%20%20%7Ba%3A%201%2C%20b%3A%201%7D%2C%0A%5D)%0Aconst%20expected%20%3D%20%5B%0A%20%20%7Ba%3A%201%2C%20b%3A%201%7D%2C%0A%20%20%7Ba%3A%201%2C%20b%3A%202%7D%2C%0A%20%20%7Ba%3A%202%2C%20b%3A%201%7D%2C%0A%20%20%7Ba%3A%202%2C%20b%3A%202%7D%2C%0A%5D%0A%2F%2F%20%3D%3E%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.sortWith</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nsortWith<T>(fns: Array<(a: T, b: T) => number>): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.sortWith</strong> source</summary>\n\n```javascript\nfunction sortHelper(a, b, listOfSortingFns) {\n  let result = 0\n  let i = 0\n  while (result === 0 && i < listOfSortingFns.length) {\n    result = listOfSortingFns[i](a, b)\n    i += 1\n  }\n\n  return result\n}\n\nexport function sortWith(listOfSortingFns) {\n  return list => {\n    if (Array.isArray(list) === false) {\n      return []\n    }\n\n    const clone = list.slice()\n    clone.sort((a, b) => sortHelper(a, b, listOfSortingFns))\n\n    return clone\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { ascend } from './ascend.js'\nimport { prop } from './prop.js'\nimport { sortWith } from './sortWith.js'\n\nconst albums = [\n  {\n    artist: 'Rush',\n    genre: 'Rock',\n    score: 3,\n    title: 'A Farewell to Kings',\n  },\n  {\n    artist: 'Dave Brubeck Quartet',\n    genre: 'Jazz',\n    score: 3,\n    title: 'Timeout',\n  },\n  {\n    artist: 'Rush',\n    genre: 'Rock',\n    score: 5,\n    title: 'Fly By Night',\n  },\n  {\n    artist: 'Daniel Barenboim',\n    genre: 'Baroque',\n    score: 3,\n    title: 'Goldberg Variations',\n  },\n  {\n    artist: 'Glenn Gould',\n    genre: 'Baroque',\n    score: 3,\n    title: 'Art of the Fugue',\n  },\n  {\n    artist: 'Leonard Bernstein',\n    genre: 'Romantic',\n    score: 4,\n    title: 'New World Symphony',\n  },\n  {\n    artist: 'Don Byron',\n    genre: 'Jazz',\n    score: 5,\n    title: 'Romance with the Unseen',\n  },\n  {\n    artist: 'Iron Maiden',\n    genre: 'Metal',\n    score: 2,\n    title: 'Somewhere In Time',\n  },\n  {\n    artist: 'Danny Holt',\n    genre: 'Modern',\n    score: 1,\n    title: 'In Times of Desparation',\n  },\n  {\n    artist: 'Various',\n    genre: 'Broadway',\n    score: 3,\n    title: 'Evita',\n  },\n  {\n    artist: 'Nick Drake',\n    genre: 'Folk',\n    score: 1,\n    title: 'Five Leaves Left',\n  },\n  {\n    artist: 'John Eliot Gardiner',\n    genre: 'Classical',\n    score: 4,\n    title: 'The Magic Flute',\n  },\n]\n\ntest('sorts by a simple property of the objects', () => {\n  const sortedAlbums = sortWith([ascend(prop('title'))])(albums)\n  expect(sortedAlbums).toHaveLength(albums.length)\n  expect(sortedAlbums[0].title).toBe('A Farewell to Kings')\n  expect(sortedAlbums[11].title).toBe('Timeout')\n})\n\ntest('sorts by multiple properties of the objects', () => {\n  const sortedAlbums = sortWith([ascend(prop('score')), ascend(prop('title'))])(\n    albums,\n  )\n  expect(sortedAlbums).toHaveLength(albums.length)\n  expect(sortedAlbums[0].title).toBe('Five Leaves Left')\n  expect(sortedAlbums[1].title).toBe('In Times of Desparation')\n  expect(sortedAlbums[11].title).toBe('Romance with the Unseen')\n})\n\ntest('sorts by 3 properties of the objects', () => {\n  const sortedAlbums = sortWith([\n    ascend(prop('genre')),\n    ascend(prop('score')),\n    ascend(prop('title')),\n  ])(albums)\n  expect(sortedAlbums).toHaveLength(albums.length)\n  expect(sortedAlbums[0].title).toBe('Art of the Fugue')\n  expect(sortedAlbums[1].title).toBe('Goldberg Variations')\n  expect(sortedAlbums[11].title).toBe('New World Symphony')\n})\n\ntest('sorts by multiple properties using ascend and descend', () => {\n  const sortedAlbums = sortWith([ascend(prop('score')), ascend(prop('title'))])(\n    albums,\n  )\n  expect(sortedAlbums).toHaveLength(albums.length)\n  expect(sortedAlbums[0].title).toBe('Five Leaves Left')\n  expect(sortedAlbums[1].title).toBe('In Times of Desparation')\n  expect(sortedAlbums[11].title).toBe('Romance with the Unseen')\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#sortWith)\n\n### split\n\n```typescript\n\nsplit(separator: string | RegExp): (str: string) => string[]\n```\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nsplit(separator: string | RegExp): (str: string) => string[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.split</strong> source</summary>\n\n```javascript\nexport function split(separator) {\n  return str => str.split(separator)\n}\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#split)\n\n### splitEvery\n\n```typescript\n\nsplitEvery<T>(sliceLength: number): (input: T[]) => (T[])[]\n```\n\nIt splits `input` into slices of `sliceLength`.\n\n```javascript\nconst result = [\n  R.splitEvery(2)([1, 2, 3]),\n  R.splitEvery(3)('foobar')\n]\n\nconst expected = [\n  [[1, 2], [3]],\n  ['foo', 'bar']\n]\n// => `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5B%0A%20%20R.splitEvery(2)(%5B1%2C%202%2C%203%5D)%2C%0A%20%20R.splitEvery(3)('foobar')%0A%5D%0A%0Aconst%20expected%20%3D%20%5B%0A%20%20%5B%5B1%2C%202%5D%2C%20%5B3%5D%5D%2C%0A%20%20%5B'foo'%2C%20'bar'%5D%0A%5D%0A%2F%2F%20%3D%3E%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.splitEvery</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nsplitEvery<T>(sliceLength: number): (input: T[]) => (T[])[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.splitEvery</strong> source</summary>\n\n```javascript\nexport function splitEvery(sliceLength) {\n  return list => {\n    if (sliceLength < 1) {\n      throw new Error('First argument to splitEvery must be a positive integer')\n    }\n\n    const willReturn = []\n    let counter = 0\n\n    while (counter < list.length) {\n      willReturn.push(list.slice(counter, (counter += sliceLength)))\n    }\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { splitEvery } from './splitEvery.js'\n\ntest('happy', () => {\n  expect(splitEvery(3)([1, 2, 3, 4, 5, 6, 7])).toEqual([[1, 2, 3], [4, 5, 6], [7]])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, splitEvery } from 'rambda'\n\nconst list = [1, 2, 3, 4, 5, 6, 7]\n\ndescribe('R.splitEvery', () => {\n  it('happy', () => {\n    const result = pipe(list, splitEvery(3))\n    result // $ExpectType number[][]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#splitEvery)\n\n### sum\n\n```typescript\n\nsum(list: number[]): number\n```\n\n```javascript\nconst result = R.sum(\n\t[1,2,3]\n)\n// => 6\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.sum(%0A%09%5B1%2C2%2C3%5D%0A)%0A%2F%2F%20%3D%3E%206\">Try this <strong>R.sum</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nsum(list: number[]): number;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.sum</strong> source</summary>\n\n```javascript\nexport function sum(list){\n\treturn list.reduce((acc, cur) => acc + cur, 0)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { sum } from './sum.js'\n\ntest('happy', () => {\n  expect(sum([1,2,3])).toEqual(6)\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#sum)\n\n### switcher\n\n```typescript\n\nswitcher<T extends unknown>(valueToMatch: T): Switchem<T>\n```\n\n```javascript\nconst list = [1, 2, 3]\n\nconst result = switcher(list.length)\n\t.is(x => x < 2, 4)\n\t.is(x => x < 4, 6)\n\t.default(7)\n// => 6\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B1%2C%202%2C%203%5D%0A%0Aconst%20result%20%3D%20switcher(list.length)%0A%09.is(x%20%3D%3E%20x%20%3C%202%2C%204)%0A%09.is(x%20%3D%3E%20x%20%3C%204%2C%206)%0A%09.default(7)%0A%2F%2F%20%3D%3E%206\">Try this <strong>R.switcher</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nswitcher<T extends unknown>(valueToMatch: T): Switchem<T>;\nswitcher<T extends unknown, U extends unknown>(valueToMatch: T): Switchem2<T, U>;\n\n// API_MARKER_END\n// ============================================\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.switcher</strong> source</summary>\n\n```javascript\nimport { equals } from './equals.js'\n\nconst NO_MATCH_FOUND = Symbol ? Symbol('NO_MATCH_FOUND') : undefined\n\nconst getMatchingKeyValuePair = (\n  cases, testValue, defaultValue\n) => {\n  let iterationValue\n\n  for (let index = 0; index < cases.length; index++){\n    iterationValue = cases[ index ].test(testValue)\n\n    if (iterationValue !== NO_MATCH_FOUND){\n      return iterationValue\n    }\n  }\n\n  return defaultValue\n}\n\nconst isEqual = (testValue, matchValue) => {\n  const willReturn =\n    typeof testValue === 'function' ?\n      testValue(matchValue) :\n      equals(testValue)(matchValue)\n\n  return willReturn\n}\n\nconst is = (testValue, matchResult = true) => ({\n  key  : testValue,\n  test : matchValue =>\n    isEqual(testValue, matchValue) ? matchResult : NO_MATCH_FOUND,\n})\n\nclass Switchem{\n  constructor(\n    defaultValue, cases, willMatch\n  ){\n    if (cases === undefined && willMatch === undefined){\n      this.cases = []\n      this.defaultValue = undefined\n      this.willMatch = defaultValue\n    } else {\n      this.cases = cases\n      this.defaultValue = defaultValue\n      this.willMatch = willMatch\n    }\n\n    return this\n  }\n\n  default(defaultValue){\n    const holder = new Switchem(\n      defaultValue, this.cases, this.willMatch\n    )\n\n    return holder.match(this.willMatch)\n  }\n\n  is(testValue, matchResult){\n    return new Switchem(\n      this.defaultValue,\n      [ ...this.cases, is(testValue, matchResult) ],\n      this.willMatch\n    )\n  }\n\n  match(matchValue){\n    return getMatchingKeyValuePair(\n      this.cases, matchValue, this.defaultValue\n    )\n  }\n}\n\nexport function switcher(input){\n  return new Switchem(input)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { switcher } from './switcher.js'\nimport { tap } from './tap.js'\n\ntest('with undefined', () => {\n  const result = switcher(undefined)\n    .is(x => x === 0, '0')\n    .is(x => x === undefined, 'UNDEFINED')\n    .default('3')\n\n  expect(result).toBe('UNDEFINED')\n})\n\ntest('happy', () => {\n  const a = true\n  const b = false\n  const result = switcher([ a, b ])\n    .is([ false, false ], '0')\n    .is([ false, true ], '1')\n    .is([ true, true ], '2')\n    .default('3')\n\n  expect(result).toBe('3')\n})\n\ntest('can compare objects', () => {\n  const result = switcher({ a : 1 })\n    .is({ a : 1 }, 'it is object')\n    .is('baz', 'it is baz')\n    .default('it is default')\n\n  expect(result).toBe('it is object')\n})\n\ntest('options are mixture of functions and values - input match function', () => {\n  const fn = switcher('foo').is('bar', 1)\n    .is('foo', x => x + 1)\n    .default(1000)\n\n  expect(fn(2)).toBe(3)\n})\n\ntest('options are mixture of functions and values - input match value', () => {\n  const result = switcher('bar').is('bar', 1)\n    .is('foo', x => x + 1)\n    .default(1000)\n\n  expect(result).toBe(1)\n})\n\ntest('return function if all options are functions', () => {\n  const fn = switcher('foo')\n\t\t.is('bar', tap)\n    .is('foo', x => x + 1)\n    .default(9)\n\n  expect(fn(2)).toBe(3)\n})\n\nconst switchFn = input =>\n  switcher(input)\n    .is(x => x.length && x.length === 7, 'has length of 7')\n    .is('baz', 'it is baz')\n    .default('it is default')\n\ntest('works with function as condition', () => {\n  expect(switchFn([ 0, 1, 2, 3, 4, 5, 6 ])).toBe('has length of 7')\n})\n\ntest('works with string as condition', () => {\n  expect(switchFn('baz')).toBe('it is baz')\n})\n\ntest('fallback to default input when no matches', () => {\n  expect(switchFn(1)).toBe('it is default')\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { switcher } from 'rambda'\n\ndescribe('R.switcher', () => {\n  it('no transformation', () => {\n    const list = [1, 2, 3]\n\n    const result = switcher(list.length)\n      .is(x => x < 2, 4)\n      .is(x => x < 4, 6)\n      .default(7)\n\n    result // $ExpectType number\n  })\n  it('with transformation', () => {\n    const list = [1, 2, 3]\n    type Stage = 'firstStage' | 'secondStage' | 'thirdStage'\n\n    const result = switcher<number, Stage>(list.length)\n      .is(x => x < 2, 'firstStage')\n      .is(x => x < 4, 'secondStage')\n      .default('thirdStage')\n\n    result // $ExpectType Stage\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#switcher)\n\n### symmetricDifference\n\n```typescript\n\nsymmetricDifference<T>(x: T[]): (y: T[]) => T[]\n```\n\nIt returns all items that are in either of the lists, but not in both.\n\n`R.equals` is used to determine equality.\n\n```javascript\nconst x = [ 1, 2, 3, 4 ]\nconst y = [ 3, 4, 5, 6 ]\n\nconst result = R.symmetricDifference(x)(y)\n// => [ 1, 2, 5, 6 ]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20x%20%3D%20%5B%201%2C%202%2C%203%2C%204%20%5D%0Aconst%20y%20%3D%20%5B%203%2C%204%2C%205%2C%206%20%5D%0A%0Aconst%20result%20%3D%20R.symmetricDifference(x)(y)%0A%2F%2F%20%3D%3E%20%5B%201%2C%202%2C%205%2C%206%20%5D\">Try this <strong>R.symmetricDifference</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nsymmetricDifference<T>(x: T[]): (y: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.symmetricDifference</strong> source</summary>\n\n```javascript\nimport { filter } from './filter.js'\nimport { excludes } from './excludes.js'\n\nexport function symmetricDifference(listA) {\n\treturn listB => [\n\t\t...filter(excludes(listB))(listA),\n\t\t...filter(excludes(listA))(listB),\n\t]\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { symmetricDifference } from './symmetricDifference.js'\n\ntest('symmetricDifference', () => {\n  const list1 = [1, 2, 3, 4]\n  const list2 = [3, 4, 5, 6]\n  expect(symmetricDifference(list1)(list2)).toEqual([1, 2, 5, 6])\n  expect(symmetricDifference([])([])).toEqual([])\n})\n\ntest('symmetricDifference with objects', () => {\n  const list1 = [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }]\n  const list2 = [{ id: 3 }, { id: 4 }, { id: 5 }, { id: 6 }]\n  expect(symmetricDifference(list1)(list2)).toEqual([\n    { id: 1 },\n    { id: 2 },\n    { id: 5 },\n    { id: 6 },\n  ])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { symmetricDifference } from 'rambda'\n\ndescribe('R.symmetricDifference', () => {\n  it('happy', () => {\n    const list1 = [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }]\n    const list2 = [{ id: 3 }, { id: 4 }, { id: 5 }, { id: 6 }]\n    const result = symmetricDifference(list1)(list2)\n\n    result // $ExpectType { id: number; }[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#symmetricDifference)\n\n### tail\n\n```typescript\n\ntail<T extends unknown>(input: T): T extends unknown[] ? \n\tT['length'] extends 0 ? [] : T['length'] extends 1 ? [] : \n\tT extends [any, ...infer U] ? U : T : T extends string ? string : never\n```\n\nIt returns all but the first element of `input`.\n\n```javascript\nconst result = [\n  R.tail([1, 2, 3]),\n  R.tail('foo')\n]\n// => [[2, 3], 'oo']\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20%5B%0A%20%20R.tail(%5B1%2C%202%2C%203%5D)%2C%0A%20%20R.tail('foo')%0A%5D%0A%2F%2F%20%3D%3E%20%5B%5B2%2C%203%5D%2C%20'oo'%5D\">Try this <strong>R.tail</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ntail<T extends unknown>(input: T): T extends unknown[] ? \n\tT['length'] extends 0 ? [] : T['length'] extends 1 ? [] : \n\tT extends [any, ...infer U] ? U : T : T extends string ? string : never;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.tail</strong> source</summary>\n\n```javascript\nimport { drop } from './drop.js'\n\nexport function tail(listOrString) {\n  return drop(1)(listOrString)\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { tail } from './tail.js'\n\ntest('tail', () => {\n  expect(tail([1, 2, 3])).toEqual([2, 3])\n  expect(tail([1, 2])).toEqual([2])\n  expect(tail([1])).toEqual([])\n  expect(tail([])).toEqual([])\n\n  expect(tail('abc')).toBe('bc')\n  expect(tail('ab')).toBe('b')\n  expect(tail('a')).toBe('')\n  expect(tail('')).toBe('')\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { map, pipe, tail } from 'rambda'\n\ndescribe('R.tail', () => {\n  it('with string', () => {\n    const result = tail('foo')\n\n    result // $ExpectType string\n  })\n  it('with list - using const on short array', () => {\n    const result = pipe(\n      [1] as const,\n      map(x => x * 2),\n      tail,\n    )\n    result // $ExpectType []\n  })\n  it('with list - using const on empty array', () => {\n    const result = pipe(\n      [] as const,\n      map(x => x * 2),\n      tail,\n    )\n    result // $ExpectType []\n  })\n  it('with list - using const', () => {\n    const result = pipe(\n      [1, 2, 3] as const,\n      map(x => x * 2),\n      tail,\n    )\n    result // $ExpectType [number, number]\n  })\n  it('with list - mixed types', () => {\n    const result = tail(['foo', 'bar', 1, 2, 3])\n\n    result // $ExpectType (string | number)[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#tail)\n\n### take\n\n```typescript\n\ntake<T>(howMany: number): {\n  (input: string): string\n```\n\nIt returns the first `howMany` elements of `input`.\n\n```javascript\nconst howMany = 2\n\nconst result = [\n  R.take(howMany)([1, 2, 3]),\n  R.take(howMany, 'foobar'),\n]\n// => [[1, 2], 'fo']\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20howMany%20%3D%202%0A%0Aconst%20result%20%3D%20%5B%0A%20%20R.take(howMany)(%5B1%2C%202%2C%203%5D)%2C%0A%20%20R.take(howMany%2C%20'foobar')%2C%0A%5D%0A%2F%2F%20%3D%3E%20%5B%5B1%2C%202%5D%2C%20'fo'%5D\">Try this <strong>R.take</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ntake<T>(howMany: number): {\n  (input: string): string;\n  (input: readonly T[]): T[];\n  (input: T[]): T[];\n};\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.take</strong> source</summary>\n\n```javascript\nimport { baseSlice } from './_internals/baseSlice.js'\n\nexport function take(numberOfItems) {\n  return input => {\n    if (numberOfItems < 0) {\n      return input.slice()\n    }\n    if (typeof input === 'string') {\n      return input.slice(0, numberOfItems)\n    }\n\n    return baseSlice(input, 0, numberOfItems)\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { take } from './take.js'\n\ntest('happy', () => {\n  const arr = ['foo', 'bar', 'baz']\n\n  expect(take(1)(arr)).toEqual(['foo'])\n  expect(arr).toEqual(['foo', 'bar', 'baz'])\n  expect(take(2)(['foo', 'bar', 'baz'])).toEqual(['foo', 'bar'])\n  expect(take(3)(['foo', 'bar', 'baz'])).toEqual(['foo', 'bar', 'baz'])\n  expect(take(4)(['foo', 'bar', 'baz'])).toEqual(['foo', 'bar', 'baz'])\n  expect(take(3)('rambda')).toBe('ram')\n})\n\ntest('with negative index', () => {\n  expect(take(-1)([1, 2, 3])).toEqual([1, 2, 3])\n  expect(take(Number.NEGATIVE_INFINITY)([1, 2, 3])).toEqual([1, 2, 3])\n})\n\ntest('with zero index', () => {\n  expect(take(0)([1, 2, 3])).toEqual([])\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#take)\n\n### takeLast\n\n```typescript\n\ntakeLast<T>(howMany: number): {\n  (input: string): string\n```\n\nIt returns the last `howMany` elements of `input`.\n\n```javascript\nconst howMany = 2\n\nconst result = [\n  R.takeLast(howMany)([1, 2, 3]),\n  R.takeLast(howMany)('foobar'),\n]\n// => [[2, 3], 'ar']\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20howMany%20%3D%202%0A%0Aconst%20result%20%3D%20%5B%0A%20%20R.takeLast(howMany)(%5B1%2C%202%2C%203%5D)%2C%0A%20%20R.takeLast(howMany)('foobar')%2C%0A%5D%0A%2F%2F%20%3D%3E%20%5B%5B2%2C%203%5D%2C%20'ar'%5D\">Try this <strong>R.takeLast</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ntakeLast<T>(howMany: number): {\n  (input: string): string;\n  (input: readonly T[]): T[];\n  (input: T[]): T[];\n};\n...\n...\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.takeLast</strong> source</summary>\n\n```javascript\nimport { baseSlice } from './_internals/baseSlice.js'\n\nexport function takeLast(numberOfItems) {\n  return input => {\n    const len = input.length\n    if (numberOfItems < 0) {\n      return input.slice()\n    }\n    let numValue = numberOfItems > len ? len : numberOfItems\n\n    if (typeof input === 'string') {\n      return input.slice(len - numValue)\n    }\n\n    numValue = len - numValue\n\n    return baseSlice(input, numValue, len)\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { takeLast } from './takeLast.js'\n\ntest('with arrays', () => {\n  expect(takeLast(1)(['foo', 'bar', 'baz'])).toEqual(['baz'])\n  expect(takeLast(2)(['foo', 'bar', 'baz'])).toEqual(['bar', 'baz'])\n  expect(takeLast(3)(['foo', 'bar', 'baz'])).toEqual(['foo', 'bar', 'baz'])\n  expect(takeLast(4)(['foo', 'bar', 'baz'])).toEqual(['foo', 'bar', 'baz'])\n  expect(takeLast(10)(['foo', 'bar', 'baz'])).toEqual(['foo', 'bar', 'baz'])\n})\n\ntest('with strings', () => {\n  expect(takeLast(3)('rambda')).toBe('bda')\n  expect(takeLast(7)('rambda')).toBe('rambda')\n})\n\ntest('with negative index', () => {\n  expect(takeLast(-1)([1, 2, 3])).toEqual([1, 2, 3])\n  expect(takeLast(Number.NEGATIVE_INFINITY)([1, 2, 3])).toEqual([1, 2, 3])\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#takeLast)\n\n### takeLastWhile\n\n```typescript\n\ntakeLastWhile<T>(predicate: (x: T) => boolean): (input: T[]) => T[]\n```\n\n```javascript\nconst result = R.takeLastWhile(x => x > 2)([1, 2, 3, 4])\n// => [3, 4]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.takeLastWhile(x%20%3D%3E%20x%20%3E%202)(%5B1%2C%202%2C%203%2C%204%5D)%0A%2F%2F%20%3D%3E%20%5B3%2C%204%5D\">Try this <strong>R.takeLastWhile</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ntakeLastWhile<T>(predicate: (x: T) => boolean): (input: T[]) => T[];\ntakeLastWhile<T>(predicate: (x: T, index: number) => boolean): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.takeLastWhile</strong> source</summary>\n\n```javascript\nexport function takeLastWhile(predicate) {\n  return input => {\n    if (input.length === 0) {\n      return input\n    }\n\n    const toReturn = []\n    let counter = input.length\n\n    while (counter) {\n      const item = input[--counter]\n      if (!predicate(item)) {\n        break\n      }\n      toReturn.push(item)\n    }\n\n    return toReturn.reverse()\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { takeLastWhile } from './takeLastWhile.js'\n\nconst list = [1, 2, 3, 4]\n\ntest('happy', () => {\n  const predicate = x => x > 2\n  const result = takeLastWhile(predicate)(list)\n  expect(result).toEqual([3, 4])\n})\n\ntest('predicate is always true', () => {\n  const predicate = () => true\n  const result = takeLastWhile(predicate)(list)\n  expect(result).toEqual(list)\n})\n\ntest('predicate is always false', () => {\n  const predicate = () => false\n  const result = takeLastWhile(predicate)(list)\n  expect(result).toEqual([])\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#takeLastWhile)\n\n### takeWhile\n\n```typescript\n\ntakeWhile<T>(predicate: (x: T, index: number) => boolean): (list: T[]) => T[]\n```\n\n```javascript\nconst list = [1, 2, 3, 4]\nconst predicate = x => x < 3\n\nconst result = R.takeWhile(predicate)(list)\n// => [1, 2]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B1%2C%202%2C%203%2C%204%5D%0Aconst%20predicate%20%3D%20x%20%3D%3E%20x%20%3C%203%0A%0Aconst%20result%20%3D%20R.takeWhile(predicate)(list)%0A%2F%2F%20%3D%3E%20%5B1%2C%202%5D\">Try this <strong>R.takeWhile</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ntakeWhile<T>(predicate: (x: T, index: number) => boolean): (list: T[]) => T[];\ntakeWhile<T>(predicate: (x: T) => boolean): (input: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.takeWhile</strong> source</summary>\n\n```javascript\nexport function takeWhile(predicate) {\n  return iterable => {\n    const toReturn = []\n    let counter = 0\n\n    while (counter < iterable.length) {\n      const item = iterable[counter++]\n      if (!predicate(item)) {\n        break\n      }\n      toReturn.push(item)\n    }\n    return toReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { takeWhile } from './takeWhile.js'\n\nconst list = [1, 2, 3, 4, 5]\n\ntest('happy', () => {\n  const result = takeWhile(x => x < 3)(list)\n  expect(result).toEqual([1, 2])\n})\n\ntest('always true', () => {\n  const result = takeWhile(x => true)(list)\n  expect(result).toEqual(list)\n})\n\ntest('always false', () => {\n  const result = takeWhile(x => 0)(list)\n  expect(result).toEqual([])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, takeWhile } from 'rambda'\n\nconst list = [1, 2, 3]\n\nit('R.takeWhile', () => {\n  const result = pipe(\n    list,\n    takeWhile(x => x > 1),\n    takeWhile((x, i) => i + x > 1),\n  )\n  result // $ExpectType number[]\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#takeWhile)\n\n### tap\n\n```typescript\n\ntap<T>(fn: (x: T) => void): (input: T) => T\n```\n\nIt applies function `fn` to input `x` and returns `x`.\n\nOne use case is debugging in the middle of `R.pipe` chain.\n\n```javascript\nconst list = [1, 2, 3]\n\nconst result = R.pipe(\n\tlist,\n  R.filter(x => x > 1),\n  R.tap(console.log),\n  R.map(x => x * 2)\n)\n// => `2` and `3` will be logged\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B1%2C%202%2C%203%5D%0A%0Aconst%20result%20%3D%20R.pipe(%0A%09list%2C%0A%20%20R.filter(x%20%3D%3E%20x%20%3E%201)%2C%0A%20%20R.tap(console.log)%2C%0A%20%20R.map(x%20%3D%3E%20x%20*%202)%0A)%0A%2F%2F%20%3D%3E%20%602%60%20and%20%603%60%20will%20be%20logged\">Try this <strong>R.tap</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ntap<T>(fn: (x: T) => void): (input: T) => T;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.tap</strong> source</summary>\n\n```javascript\nexport function tap(fn) {\n  return x => {\n    fn(x)\n\n    return x\n  }\n}\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#tap)\n\n### test\n\n```typescript\n\ntest(regExpression: RegExp): (str: string) => boolean\n```\n\nIt determines whether `str` matches `regExpression`.\n\n```javascript\nR.test(/^f/)('foo')\n// => true\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.test(%2F%5Ef%2F)('foo')%0A%2F%2F%20%3D%3E%20true\">Try this <strong>R.test</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ntest(regExpression: RegExp): (str: string) => boolean;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.test</strong> source</summary>\n\n```javascript\nexport function test(pattern) {\n  return str => str.search(pattern) !== -1\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { test as testMethod } from './test.js'\n\ntest('happy', () => {\n  expect(testMethod(/^x/)('xyz')).toBeTruthy()\n  expect(testMethod(/^y/)('xyz')).toBeFalsy()\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { test } from 'rambda'\n\nconst input = 'foo   '\nconst regex = /foo/\n\nit('R.test', () => {\n  const result = test(regex)(input)\n\n  result // $ExpectType boolean\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#test)\n\n### transformPropObject\n\n```typescript\n\ntransformPropObject<T extends object, K extends keyof T, Value>(\n  valueMapper: (value: T[K]) => Value,\n  prop: K,\n): (data: T) => MergeTypes<Omit<T, K> & { [P in K]: Value }>\n```\n\n```javascript\nconst fn = (x) => x > 2\nconst obj = {a: 1, b: 2}\n\nconst result = R.transformPropObject(fn, 'a')(obj)\n// => {a: false, b: 2}\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20fn%20%3D%20(x)%20%3D%3E%20x%20%3E%202%0Aconst%20obj%20%3D%20%7Ba%3A%201%2C%20b%3A%202%7D%0A%0Aconst%20result%20%3D%20R.transformPropObject(fn%2C%20'a')(obj)%0A%2F%2F%20%3D%3E%20%7Ba%3A%20false%2C%20b%3A%202%7D\">Try this <strong>R.transformPropObject</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ntransformPropObject<T extends object, K extends keyof T, Value>(\n  valueMapper: (value: T[K]) => Value,\n  prop: K,\n): (data: T) => MergeTypes<Omit<T, K> & { [P in K]: Value }>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport {  transformPropObject, pipe } from 'rambda'\n\nit('R.transformPropObject', () => {\n\tconst result = pipe(\n\t\t{ a: 1, b: 'foo' },\n\t\ttransformPropObject(x => {\n\t\t\tx // $ExpectType number\n\t\t\treturn x > 2\n\t\t}, 'a'),\n\t)\n\n\tresult // $ExpectType { b: string; a: boolean; }\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#transformPropObject)\n\n### tryCatch\n\n```typescript\n\ntryCatch<T, U>(\n  fn: (input: T) => U,\n  fallback: U\n): (input: T) => U\n```\n\nIt returns function that runs `fn` in `try/catch` block. If there was an error, then `fallback` is used to return the result.\n\n```javascript\nconst fn = x => x.foo\n\nconst result = [\n  R.tryCatch(fn, false)(null),\n  R.tryCatch(fn, false)({foo: 'bar'})\n]\n// => [false, 'bar']\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20fn%20%3D%20x%20%3D%3E%20x.foo%0A%0Aconst%20result%20%3D%20%5B%0A%20%20R.tryCatch(fn%2C%20false)(null)%2C%0A%20%20R.tryCatch(fn%2C%20false)(%7Bfoo%3A%20'bar'%7D)%0A%5D%0A%2F%2F%20%3D%3E%20%5Bfalse%2C%20'bar'%5D\">Try this <strong>R.tryCatch</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ntryCatch<T, U>(\n  fn: (input: T) => U,\n  fallback: U\n): (input: T) => U;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.tryCatch</strong> source</summary>\n\n```javascript\nexport function tryCatch(fn, fallback) {\n  return input => {\n    try {\n      return fn(input)\n    } catch (e) {\n      return fallback\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { prop } from './prop.js'\nimport { tryCatch } from './tryCatch.js'\n\ntest('happy', () => {\n  const fn = () => {\n    throw new Error('foo')\n  }\n  const result = tryCatch(fn, () => true)()\n  expect(result).toBeTruthy()\n})\n\ntest('when fallback is used', () => {\n  const fn = x => x.x\n\n  expect(tryCatch(fn, false)(null)).toBeFalsy()\n})\n\ntest('with json parse', () => {\n  const good = () => JSON.parse(JSON.stringify({ a: 1 }))\n  const bad = () => JSON.parse('a{a')\n\n  expect(tryCatch(good, 1)()).toEqual({ a: 1 })\n  expect(tryCatch(bad, 1)()).toBe(1)\n})\n\ntest('when fn is used', () => {\n  const fn = prop('x')\n\n  expect(tryCatch(fn, false)({})).toBeUndefined()\n  expect(tryCatch(fn, false)({ x: 1 })).toBe(1)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { map, pipe, tryCatch } from 'rambda'\n\ndescribe('R.tryCatch', () => {\n  it('happy', () => {\n    const result = pipe(\n      ['{a:1', '{\"b\": 2}'],\n      map(\n        tryCatch(x => {\n          return JSON.parse(x) as string\n        }, null),\n      ),\n    )\n\n    result // $ExpectType (string | null)[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#tryCatch)\n\n### type\n\n```typescript\n\ntype(x: any): RambdaTypes\n```\n\nIt accepts any input and it returns its type.\n\n> :boom: `NaN`, `Promise` and `Async` are types specific for **Rambda**.\n\n```javascript\nconst result = R.type(() => {}) // => 'Function'\nR.type(async () => {}) // => 'Async'\nR.type([]) // => 'Array'\nR.type({}) // => 'Object'\nR.type('foo') // => 'String'\nR.type(1) // => 'Number'\nR.type(true) // => 'Boolean'\nR.type(null) // => 'Null'\nR.type(/[A-z]/) // => 'RegExp'\nR.type('foo'*1) // => 'NaN'\n\nconst delay = ms => new Promise(resolve => {\n  setTimeout(function () {\n    resolve()\n  }, ms)\n})\nR.type(delay) // => 'Promise'\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.type(()%20%3D%3E%20%7B%7D)%20%2F%2F%20%3D%3E%20'Function'%0AR.type(async%20()%20%3D%3E%20%7B%7D)%20%2F%2F%20%3D%3E%20'Async'%0AR.type(%5B%5D)%20%2F%2F%20%3D%3E%20'Array'%0AR.type(%7B%7D)%20%2F%2F%20%3D%3E%20'Object'%0AR.type('foo')%20%2F%2F%20%3D%3E%20'String'%0AR.type(1)%20%2F%2F%20%3D%3E%20'Number'%0AR.type(true)%20%2F%2F%20%3D%3E%20'Boolean'%0AR.type(null)%20%2F%2F%20%3D%3E%20'Null'%0AR.type(%2F%5BA-z%5D%2F)%20%2F%2F%20%3D%3E%20'RegExp'%0AR.type('foo'*1)%20%2F%2F%20%3D%3E%20'NaN'%0A%0Aconst%20delay%20%3D%20ms%20%3D%3E%20new%20Promise(resolve%20%3D%3E%20%7B%0A%20%20setTimeout(function%20()%20%7B%0A%20%20%20%20resolve()%0A%20%20%7D%2C%20ms)%0A%7D)%0AR.type(delay)%20%2F%2F%20%3D%3E%20'Promise'\">Try this <strong>R.type</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\ntype(x: any): RambdaTypes;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.type</strong> source</summary>\n\n```javascript\nexport function type(input) {\n  if (input === null) {\n    return 'Null'\n  }\n  if (input === undefined) {\n    return 'Undefined'\n  }\n  if (Number.isNaN(input)) {\n    return 'NaN'\n  }\n  const typeResult = Object.prototype.toString.call(input).slice(8, -1)\n  return typeResult === 'AsyncFunction' ? 'Promise' : typeResult\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { type as typeRamda } from 'ramda'\n\nimport { type } from './type.js'\n\ntest('with buffer', () => {\n  expect(type(new Buffer.from('foo'))).toBe('Uint8Array')\n})\n\ntest('with array buffer', () => {\n  expect(type(new ArrayBuffer(8))).toBe('ArrayBuffer')\n})\n\ntest('with big int', () => {\n  expect(type(BigInt(9007199254740991))).toBe('BigInt')\n})\n\ntest('with generators', () => {\n  function* generator() {\n    yield 1\n    yield 2\n    yield 3\n  }\n\n  const gen = generator()\n  expect(type(generator)).toBe('GeneratorFunction')\n  expect(type(gen)).toBe('Generator')\n})\n\ntest('with Date', () => {\n  const date = new Date('December 17, 1995 03:24:00')\n  expect(type(date)).toBe('Date')\n})\n\ntest('with infinity', () => {\n  expect(type(Number.POSITIVE_INFINITY)).toBe('Number')\n})\n\ntest('with weak map', () => {\n  expect(type(new WeakMap())).toBe('WeakMap')\n})\n\ntest('with map', () => {\n  expect(type(new Map())).toBe('Map')\n})\n\ntest('with symbol', () => {\n  expect(type(Symbol())).toBe('Symbol')\n})\n\ntest('with simple promise', () => {\n  expect(type(Promise.resolve(1))).toBe('Promise')\n})\n\ntest('with new Boolean', () => {\n  expect(type(new Boolean(true))).toBe('Boolean')\n})\n\ntest('with new String', () => {\n  expect(type(new String('I am a String object'))).toBe('String')\n})\n\ntest('with new Number', () => {\n  expect(type(new Number(1))).toBe('Number')\n})\n\ntest('with error', () => {\n  expect(type(Error('foo'))).toBe('Error')\n  expect(typeRamda(Error('foo'))).toBe('Error')\n})\n\ntest('with error - wrong @types/ramda test', () => {\n  // @types/ramda expect the result to be 'Error' but it is not\n  class ExtendedError extends Error {}\n  expect(type(ExtendedError)).toBe('Function')\n  expect(typeRamda(ExtendedError)).toBe('Function')\n})\n\ntest('with new promise', () => {\n  const delay = ms =>\n    new Promise(resolve => {\n      setTimeout(() => {\n        resolve(ms + 110)\n      }, ms)\n    })\n\n  expect(type(delay(10))).toBe('Promise')\n})\n\ntest('async function', () => {\n  expect(type(async () => {})).toBe('Promise')\n})\n\ntest('async arrow', () => {\n  const asyncArrow = async () => {}\n  expect(type(asyncArrow)).toBe('Promise')\n})\n\ntest('function', () => {\n  const fn1 = () => {}\n  const fn2 = () => {}\n\n  function fn3() {}\n  ;[() => {}, fn1, fn2, fn3].map(val => {\n    expect(type(val)).toBe('Function')\n  })\n})\n\ntest('object', () => {\n  expect(type({})).toBe('Object')\n})\n\ntest('number', () => {\n  expect(type(1)).toBe('Number')\n})\n\ntest('boolean', () => {\n  expect(type(false)).toBe('Boolean')\n})\n\ntest('string', () => {\n  expect(type('foo')).toBe('String')\n})\n\ntest('null', () => {\n  expect(type(null)).toBe('Null')\n})\n\ntest('array', () => {\n  expect(type([])).toBe('Array')\n  expect(type([1, 2, 3])).toBe('Array')\n})\n\ntest('regex', () => {\n  expect(type(/\\s/g)).toBe('RegExp')\n})\n\ntest('undefined', () => {\n  expect(type(undefined)).toBe('Undefined')\n})\n\ntest('not a number', () => {\n  expect(type(Number('s'))).toBe('NaN')\n})\n\ntest('set', () => {\n  const exampleSet = new Set([1, 2, 3])\n  expect(type(exampleSet)).toBe('Set')\n  expect(typeRamda(exampleSet)).toBe('Set')\n})\n\ntest('function inside object 1', () => {\n  const obj = {\n    f() {\n      return 4\n    },\n  }\n\n  expect(type(obj.f)).toBe('Function')\n  expect(typeRamda(obj.f)).toBe('Function')\n})\n\ntest('function inside object 2', () => {\n  const name = 'f'\n  const obj = {\n    [name]() {\n      return 4\n    },\n  }\n  expect(type(obj.f)).toBe('Function')\n  expect(typeRamda(obj.f)).toBe('Function')\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { type } from 'rambda'\n\ndescribe('R.type', () => {\n  it('happy', () => {\n    const result = type(4)\n\n    result // $ExpectType RambdaTypes\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#type)\n\n### union\n\n```typescript\n\nunion<T>(x: T[]): (y: T[]) => T[]\n```\n\nIt takes two lists and return a new list containing a merger of both list with removed duplicates.\n\n`R.equals` is used to compare for duplication.\n\n```javascript\nconst result = R.union([1,2,3])([3,4,5]);\n// => [1, 2, 3, 4, 5]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.union(%5B1%2C2%2C3%5D)(%5B3%2C4%2C5%5D)%3B%0A%2F%2F%20%3D%3E%20%5B1%2C%202%2C%203%2C%204%2C%205%5D\">Try this <strong>R.union</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nunion<T>(x: T[]): (y: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.union</strong> source</summary>\n\n```javascript\nimport { excludes } from './excludes.js'\n\nexport function union(listA) {\n  return listB => [\n\t\t...listA,\n\t\t...listB.filter(excludes(listA)),\n\t]\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { union } from './union.js'\n\ntest('happy', () => {\n  expect(union([1, 2])([2, 3])).toEqual([1, 2, 3])\n})\n\ntest('with list of objects', () => {\n  const list1 = [{ a: 1 }, { a: 2 }]\n  const list2 = [{ a: 2 }, { a: 3 }]\n  const result = union(list1)(list2)\n  expect(result).toEqual([{ a: 1 }, { a: 2 }, { a: 3 }])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { union } from 'rambda'\n\ndescribe('R.union', () => {\n  it('happy', () => {\n    const result = union([1, 2])([2, 3])\n\n    result // $ExpectType number[]\n  })\n  it('with array of objects - case 1', () => {\n    const list1 = [{ a: 1 }, { a: 2 }]\n    const list2 = [{ a: 2 }, { a: 3 }]\n    const result = union(list1)(list2)\n    result // $ExpectType { a: number; }[]\n  })\n  it('with array of objects - case 2', () => {\n    const list1 = [{ a: 1, b: 1 }, { a: 2 }]\n    const list2 = [{ a: 2 }, { a: 3, b: 3 }]\n    const result = union(list1)(list2)\n    result[0].a // $ExpectType number\n    result[0].b // $ExpectType number | undefined\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#union)\n\n### unionWith\n\n```typescript\n\nunionWith<T>(predicate: (x: T, y: T) => boolean, x: T[]): (y: T[]) => T[]\n```\n\n```javascript\nconst result = R.pipe(\n\t[{a: 1, b: 1}, {a: 2, b: 1}],\n\tR.unionWith((x, y) => x === y, [{a: 2, b: 2}, {a: 3, b: 2}]),\n)\n// => [{a: 1, b: 1}, {a: 2, b: 1}, {a: 3, b: 2}]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20result%20%3D%20R.pipe(%0A%09%5B%7Ba%3A%201%2C%20b%3A%201%7D%2C%20%7Ba%3A%202%2C%20b%3A%201%7D%5D%2C%0A%09R.unionWith((x%2C%20y)%20%3D%3E%20x%20%3D%3D%3D%20y%2C%20%5B%7Ba%3A%202%2C%20b%3A%202%7D%2C%20%7Ba%3A%203%2C%20b%3A%202%7D%5D)%2C%0A)%0A%2F%2F%20%3D%3E%20%5B%7Ba%3A%201%2C%20b%3A%201%7D%2C%20%7Ba%3A%202%2C%20b%3A%201%7D%2C%20%7Ba%3A%203%2C%20b%3A%202%7D%5D\">Try this <strong>R.unionWith</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nunionWith<T>(predicate: (x: T, y: T) => boolean, x: T[]): (y: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.unionWith</strong> source</summary>\n\n```javascript\nexport function unionWith(predicate, x) {\n  return y => {\n    const filtered = y.filter(yInstance => {\n\t\t\treturn x.every(xInstance => {\n\t\t\t\treturn !predicate(xInstance, yInstance)\n\t\t\t})\n    })\n\n    return [...x, ...filtered]\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { unionWith } from './unionWith.js'\nimport { pipe } from './pipe.js'\n\ntest('happy', () => {\n\tconst list1 = [{a: 1, b: 1}, {a: 2, b: 1}]\n\tconst list2 = [{a: 2, b: 2}, {a: 3, b: 2}]\n\tconst result = pipe(\n\t\tlist2,\n\t\tunionWith((x, y) => {\n\t\t\treturn x.a === y.a\n\t\t}, list1),\n\t)\n\texpect(result).toEqual([{a: 1, b: 1}, {a: 2, b: 1}, {a: 3, b: 2}])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, unionWith } from 'rambda'\n\ndescribe('R.unionWith', () => {\n  it('happy', () => {\n\t\tconst list = [{a: 1, b: 1}, {a: 2, b: 1}]\n    const result = pipe(\n\t\t\tlist,\n\t\t\tunionWith((x, y) => {\n\t\t\t\tx.a // $ExpectType number\n\t\t\t\ty.b // $ExpectType number\n\t\t\t\treturn x.a === y.a\n\t\t\t}, [{a: 2, b: 2}, {a: 3, b: 2}]),\n\t\t)\n\n    result[0].a // $ExpectType number\n    result[0].b // $ExpectType number\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#unionWith)\n\n### uniq\n\n```typescript\n\nuniq<T>(list: T[]): T[]\n```\n\nIt returns a new array containing only one copy of each element of `list`.\n\n`R.equals` is used to determine equality.\n\n```javascript\nconst list = [1, 1, {a: 1}, {a: 2}, {a:1}]\n\nR.uniq(list)\n// => [1, {a: 1}, {a: 2}]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B1%2C%201%2C%20%7Ba%3A%201%7D%2C%20%7Ba%3A%202%7D%2C%20%7Ba%3A1%7D%5D%0A%0Aconst%20result%20%3D%20R.uniq(list)%0A%2F%2F%20%3D%3E%20%5B1%2C%20%7Ba%3A%201%7D%2C%20%7Ba%3A%202%7D%5D\">Try this <strong>R.uniq</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nuniq<T>(list: T[]): T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.uniq</strong> source</summary>\n\n```javascript\nimport { _Set } from './_internals/set.js'\n\nexport function uniq(list) {\n  const set = new _Set()\n  const willReturn = []\n  list.forEach(item => {\n    if (set.checkUniqueness(item)) {\n      willReturn.push(item)\n    }\n  })\n\n  return willReturn\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { uniq } from './uniq.js'\n\ntest('happy', () => {\n  const list = [1, 2, 3, 3, 3, 1, 2, 0]\n  expect(uniq(list)).toEqual([1, 2, 3, 0])\n})\n\ntest('with object', () => {\n  const list = [{ a: 1 }, { a: 2 }, { a: 1 }, { a: 2 }]\n  expect(uniq(list)).toEqual([{ a: 1 }, { a: 2 }])\n})\n\ntest('with nested array', () => {\n  expect(uniq([[42], [42]])).toEqual([[42]])\n})\n\ntest('with booleans', () => {\n  expect(uniq([[false], [false], [true]])).toEqual([[false], [true]])\n})\n\ntest('with falsy values', () => {\n  expect(uniq([undefined, null])).toEqual([undefined, null])\n})\n\ntest('can distinct between string and number', () => {\n  expect(uniq([1, '1'])).toEqual([1, '1'])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { uniq } from 'rambda'\n\ndescribe('R.uniq', () => {\n  it('happy', () => {\n    const result = uniq([1, 2, 3, 3, 3, 1, 2, 0])\n    result // $ExpectType number[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#uniq)\n\n### uniqBy\n\n```typescript\n\nuniqBy<T, U>(fn: (x: T) => U): (list: T[]) => T[]\n```\n\nIt applies uniqueness to input list based on function that defines what to be used for comparison between elements.\n\n`R.equals` is used to determine equality.\n\n```javascript\nconst list = [{a:1}, {a:2}, {a:1}]\nconst result = R.uniqBy(x => x)(list)\n\n// => [{a:1}, {a:2}]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%7Ba%3A1%7D%2C%20%7Ba%3A2%7D%2C%20%7Ba%3A1%7D%5D%0Aconst%20result%20%3D%20R.uniqBy(x%20%3D%3E%20x)(list)%0A%0A%2F%2F%20%3D%3E%20%5B%7Ba%3A1%7D%2C%20%7Ba%3A2%7D%5D\">Try this <strong>R.uniqBy</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nuniqBy<T, U>(fn: (x: T) => U): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.uniqBy</strong> source</summary>\n\n```javascript\nimport { _Set } from '../src/_internals/set.js'\n\nexport function uniqBy(fn) {\n  return list => {\n    const set = new _Set()\n\n    return list.filter(item => set.checkUniqueness(fn(item)))\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { uniqBy } from './uniqBy.js'\n\ntest('happy', () => {\n  expect(uniqBy(Math.abs)([-2, -1, 0, 1, 2])).toEqual([-2, -1, 0])\n})\n\ntest('returns an empty array for an empty array', () => {\n  expect(uniqBy(Math.abs)([])).toEqual([])\n})\n\ntest('uses R.uniq', () => {\n  const list = [{ a: 1 }, { a: 2 }, { a: 1 }]\n  const expected = [{ a: 1 }, { a: 2 }]\n  expect(uniqBy(x => x)(list)).toEqual(expected)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { uniqBy } from 'rambda'\n\ndescribe('R.uniqBy', () => {\n  it('happy', () => {\n    const result = uniqBy(Math.abs)([-2, -1, 0])\n\n    result // $ExpectType number[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#uniqBy)\n\n### uniqWith\n\n```typescript\n\nuniqWith<T>(predicate: (x: T, y: T) => boolean): (list: T[]) => T[]\n```\n\nIt returns a new array containing only one copy of each element in `list` according to `predicate` function.\n\nThis predicate should return true, if two elements are equal.\n\n```javascript\nconst list = [\n  {id: 0, title:'foo'},\n  {id: 1, title:'bar'},\n  {id: 2, title:'baz'},\n  {id: 3, title:'foo'},\n  {id: 4, title:'bar'},\n]\n\nconst expected = [\n  {id: 0, title:'foo'},\n  {id: 1, title:'bar'},\n  {id: 2, title:'baz'},\n]\n\nconst predicate = (x,y) => x.title === y.title\n\nconst result = R.uniqWith(predicate)(list)\n// => `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list%20%3D%20%5B%0A%20%20%7Bid%3A%200%2C%20title%3A'foo'%7D%2C%0A%20%20%7Bid%3A%201%2C%20title%3A'bar'%7D%2C%0A%20%20%7Bid%3A%202%2C%20title%3A'baz'%7D%2C%0A%20%20%7Bid%3A%203%2C%20title%3A'foo'%7D%2C%0A%20%20%7Bid%3A%204%2C%20title%3A'bar'%7D%2C%0A%5D%0A%0Aconst%20expected%20%3D%20%5B%0A%20%20%7Bid%3A%200%2C%20title%3A'foo'%7D%2C%0A%20%20%7Bid%3A%201%2C%20title%3A'bar'%7D%2C%0A%20%20%7Bid%3A%202%2C%20title%3A'baz'%7D%2C%0A%5D%0A%0Aconst%20predicate%20%3D%20(x%2Cy)%20%3D%3E%20x.title%20%3D%3D%3D%20y.title%0A%0Aconst%20result%20%3D%20R.uniqWith(predicate)(list)%0A%2F%2F%20%3D%3E%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.uniqWith</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nuniqWith<T>(predicate: (x: T, y: T) => boolean): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.uniqWith</strong> source</summary>\n\n```javascript\nfunction includesWith(predicate, target, list) {\n  let willReturn = false\n  let index = -1\n\n  while (++index < list.length && !willReturn) {\n    const value = list[index]\n\n    if (predicate(target, value)) {\n      willReturn = true\n    }\n  }\n\n  return willReturn\n}\n\nexport function uniqWith(predicate) {\n  return list => {\n    let index = -1\n    const willReturn = []\n\n    while (++index < list.length) {\n      const value = list[index]\n\n      if (!includesWith(predicate, value, willReturn)) {\n        willReturn.push(value)\n      }\n    }\n\n    return willReturn\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { uniqWith } from './uniqWith.js'\n\nconst list = [{ a: 1 }, { a: 1 }]\n\ntest('happy', () => {\n  const fn = (x, y) => x.a === y.a\n\n  const result = uniqWith(fn)(list)\n  expect(result).toEqual([{ a: 1 }])\n})\n\ntest('with list of strings', () => {\n  const fn = (x, y) => x.length === y.length\n  const list = ['0', '11', '222', '33', '4', '55']\n  const result = uniqWith(fn)(list)\n  expect(result).toEqual(['0', '11', '222'])\n})\n\ntest('should return items that are not equal to themselves', () => {\n  // test case based on https://github.com/remeda/remeda/issues/999\n  const data = [\n    { id: 1, reason: 'No name' },\n    { id: 1, reason: 'No name' },\n    { reason: 'No name' },\n    { reason: 'No name' },\n  ]\n  const expectedResult = [\n    { id: 1, reason: 'No name' },\n    { reason: 'No name' },\n    { reason: 'No name' },\n  ]\n\n  const result = uniqWith((errorA, errorB) => {\n    // the objects with no ids should effectively be ignored from removal of duplicates\n    if (errorA.id === undefined || errorB.id === undefined) {\n      return false\n    }\n    return errorA.id === errorB.id\n  })(data)\n\n  expect(result).toEqual(expectedResult)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, uniqWith } from 'rambda'\n\ndescribe('R.uniqWith', () => {\n  it('happy', () => {\n    const result = pipe(\n      [{ a: 1 }, { a: 1 }],\n      uniqWith((x, y) => x.a === y.a),\n    )\n    result // $ExpectType { a: number; }[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#uniqWith)\n\n### unless\n\n```typescript\n\nunless<T, U>(predicate: (x: T) => boolean, whenFalseFn: (x: T) => U): (x: T) => T | U\n```\n\nThe method returns function that will be called with argument `input`.\n\nIf `predicate(input)` returns `false`, then the end result will be the outcome of `whenFalse(input)`.\n\nIn the other case, the final output will be the `input` itself.\n\n```javascript\nconst fn = R.unless(\n  x => x > 2,\n  x => x + 10\n)\n\nconst result = [\n  fn(1),\n  fn(5)\n]\n// => [11, 5]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20fn%20%3D%20R.unless(%0A%20%20x%20%3D%3E%20x%20%3E%202%2C%0A%20%20x%20%3D%3E%20x%20%2B%2010%0A)%0A%0Aconst%20result%20%3D%20%5B%0A%20%20fn(1)%2C%0A%20%20fn(5)%0A%5D%0A%2F%2F%20%3D%3E%20%5B11%2C%205%5D\">Try this <strong>R.unless</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nunless<T, U>(predicate: (x: T) => boolean, whenFalseFn: (x: T) => U): (x: T) => T | U;\nunless<T>(predicate: (x: T) => boolean, whenFalseFn: (x: T) => T): (x: T) => T;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.unless</strong> source</summary>\n\n```javascript\nexport function unless(predicate, whenFalseFn) {\n  return input => {\n    if (predicate(input)) {\n      return input\n    }\n\n    return whenFalseFn(input)\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { unless } from './unless.js'\n\ntest('happy', () => {\n  expect(\n    unless(\n      x => x > 10,\n      x => x + 1,\n    )(20),\n  ).toEqual(20)\n  expect(\n    unless(\n      x => x > 10,\n      x => x + 1,\n    )(5),\n  ).toEqual(6)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, unless } from 'rambda'\n\nconst inc = (x: number) => x + 1\n\ndescribe('R.unless', () => {\n  it('happy', () => {\n    const result = pipe(\n      1,\n      unless(x => x > 5, inc),\n    )\n    result // $ExpectType number\n  })\n  it('with two different types', () => {\n    const result = pipe(\n      1,\n      unless(\n        x => {\n          x // $ExpectType number\n          return x > 5\n        },\n        x => {\n          x // $ExpectType number\n          return `${x}-foo`\n        },\n      ),\n    )\n    result // $ExpectType string | number\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#unless)\n\n### unwind\n\n```typescript\n\nunwind<S extends string>(prop: S): <T extends Record<S, readonly any[]>>(obj: T) => Array<MergeTypes<Omit<T, S> & { [K in S]: T[S][number] }>>\n```\n\nIt takes an object and a property name. The method will return a list of objects, where each object is a shallow copy of the input object, but with the property array unwound.\n\n```javascript\nconst obj = {\n  a: 1,\n  b: [2, 3],\n}\nconst result = R.unwind('b')(obj)\nconst expected = [{a:1, b:2}, {a:1, b:3}]\n// => `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20obj%20%3D%20%7B%0A%20%20a%3A%201%2C%0A%20%20b%3A%20%5B2%2C%203%5D%2C%0A%7D%0Aconst%20result%20%3D%20R.unwind('b')(obj)%0Aconst%20expected%20%3D%20%5B%7Ba%3A1%2C%20b%3A2%7D%2C%20%7Ba%3A1%2C%20b%3A3%7D%5D%0A%2F%2F%20%3D%3E%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.unwind</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nunwind<S extends string>(prop: S): <T extends Record<S, readonly any[]>>(obj: T) => Array<MergeTypes<Omit<T, S> & { [K in S]: T[S][number] }>>;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.unwind</strong> source</summary>\n\n```javascript\nexport function unwind(property) {\n  return obj => {\n    return obj[property].map(x => ({\n      ...obj,\n      [property]: x,\n    }))\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { unwind } from './unwind.js'\n\ntest('happy', () => {\n  const obj = {\n    a: 1,\n    b: [2, 3],\n    c: [3, 4],\n  }\n  const expected = [\n    {\n      a: 1,\n      b: 2,\n      c: [3, 4],\n    },\n    {\n      a: 1,\n      b: 3,\n      c: [3, 4],\n    },\n  ]\n  const result = unwind('b')(obj)\n  expect(result).toEqual(expected)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, unwind } from 'rambda'\n\nconst obj = {\n  a: 1,\n  b: [2, 3],\n}\n\ndescribe('R.unwind', () => {\n  it('happy', () => {\n    const [result] = unwind('b')(obj)\n    result.a // $ExpectType number\n    result.b // $ExpectType number\n  })\n  it('inside pipe', () => {\n    const [result] = pipe(obj, unwind('b'))\n    result.a // $ExpectType number\n    result.b // $ExpectType number\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#unwind)\n\n### update\n\n```typescript\n\nupdate<T>(index: number, newValue: T): (list: T[]) => T[]\n```\n\nIt returns a copy of `list` with updated element at `index` with `newValue`.\n\n```javascript\nconst index = 2\nconst newValue = 88\nconst list = [1, 2, 3, 4, 5]\n\nconst result = R.update(index, newValue)(list)\n// => [1, 2, 88, 4, 5]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20index%20%3D%202%0Aconst%20newValue%20%3D%2088%0Aconst%20list%20%3D%20%5B1%2C%202%2C%203%2C%204%2C%205%5D%0A%0Aconst%20result%20%3D%20R.update(index%2C%20newValue)(list)%0A%2F%2F%20%3D%3E%20%5B1%2C%202%2C%2088%2C%204%2C%205%5D\">Try this <strong>R.update</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nupdate<T>(index: number, newValue: T): (list: T[]) => T[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.update</strong> source</summary>\n\n```javascript\nimport { cloneList } from './_internals/cloneList.js'\n\nexport function update(index, newValue) {\n  return list => {\n    const clone = cloneList(list)\n    if (index === -1) {\n      return clone.fill(newValue, index)\n    }\n\n    return clone.fill(newValue, index, index + 1)\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { update } from './update.js'\n\nconst list = [1, 2, 3]\n\ntest('happy', () => {\n  const newValue = 8\n  const index = 1\n  const result = update(index, newValue)(list)\n\n  const expected = [1, 8, 3]\n  expect(result).toEqual(expected)\n})\n\ntest('list has no such index', () => {\n  const newValue = 8\n  const index = 10\n  const result = update(index, newValue)(list)\n\n  expect(result).toEqual(list)\n})\n\ntest('with negative index', () => {\n  expect(update(-1, 10)([1])).toEqual([10])\n  expect(update(-1, 10)([])).toEqual([])\n  expect(update(-1, 10)(list)).toEqual([1, 2, 10])\n  expect(update(-2, 10)(list)).toEqual([1, 10, 3])\n  expect(update(-3, 10)(list)).toEqual([10, 2, 3])\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#update)\n\n### when\n\n```typescript\n\nwhen<T, U extends T>(predicate: (x: T) => x is U, whenTrueFn: (x: U) => T): (input: T) => T\n```\n\nIt pass `input` to `predicate` function and if the result is `true`, it will return the result of `whenTrueFn(input)`.\nIf the `predicate` returns `false`, then it will simply return `input`.\n\n```javascript\nconst predicate = x => typeof x === 'number'\nconst fn = R.when(predicate)(x => x + 1)\n\nconst positiveInput = 88\nconst negativeInput = 'foo'\n\nconst result = [\n  fn(positiveInput),\n  fn(negativeInput),\n]\n\nconst expected = [\n  89,\n  'foo1',\n]\n// => `result` is equal to `expected`\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20predicate%20%3D%20x%20%3D%3E%20typeof%20x%20%3D%3D%3D%20'number'%0Aconst%20fn%20%3D%20R.when(predicate)(x%20%3D%3E%20x%20%2B%201)%0A%0Aconst%20positiveInput%20%3D%2088%0Aconst%20negativeInput%20%3D%20'foo'%0A%0Aconst%20result%20%3D%20%5B%0A%20%20fn(positiveInput)%2C%0A%20%20fn(negativeInput)%2C%0A%5D%0A%0Aconst%20expected%20%3D%20%5B%0A%20%2089%2C%0A%20%20'foo1'%2C%0A%5D%0A%2F%2F%20%3D%3E%20%60result%60%20is%20equal%20to%20%60expected%60\">Try this <strong>R.when</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nwhen<T, U extends T>(predicate: (x: T) => x is U, whenTrueFn: (x: U) => T): (input: T) => T;\nwhen<T>(predicate: (x: T) => boolean, whenTrueFn: (x: T) => T): (input: T) => T;\nwhen<T, U>(predicate: (x: T) => boolean, whenTrueFn: (x: T) => U): (input: T) => T | U;\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.when</strong> source</summary>\n\n```javascript\nexport function when(predicate, whenTrueFn) {\n  return input => {\n    if (!predicate(input)) {\n      return input\n    }\n\n    return whenTrueFn(input)\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { when } from './when.js'\n\nconst predicate = x => typeof x === 'number'\n\ntest('happy', () => {\n  const fn = when(predicate, x => x + 1)\n  expect(fn(11)).toBe(12)\n  expect(fn('foo')).toBe('foo')\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { head, pipe, tap, when } from 'rambda'\n\nfunction notNull<T>(a: T | null | undefined): a is T {\n  return a != null\n}\n\ndescribe('R.when', () => {\n  it('happy', () => {\n    const result = pipe(\n      1,\n      when(\n        x => x > 2,\n        x => x,\n      ),\n      tap(x => {\n        x // $ExpectType number\n      }),\n      when(\n        x => x > 2,\n        x => String(x),\n      ),\n    )\n\n    result // $ExpectType string | number\n  })\n\n\tit('with assertion of type', () => {\n    const result = pipe(\n      [1, null, 2, 3],\n      head,\n      when(notNull, x => x + 1),\n    )\n    result // $ExpectType number | null\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#when)\n\n### zip\n\n```typescript\n\nzip<K>(x: K[]): <V>(y: V[]) => KeyValuePair<K, V>[]\n```\n\nIt will return a new array containing tuples of equally positions items from both `x` and `y` lists.\n\nThe returned list will be truncated to match the length of the shortest supplied list.\n\n```javascript\nconst x = [1, 2]\nconst y = ['A', 'B']\nR.zip(x)(y)\n// => [[1, 'A'], [2, 'B']]\n\n// truncates to shortest list\nR.zip([...x, 3])(['A', 'B'])\n// => [[1, 'A'], [2, 'B']]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20x%20%3D%20%5B1%2C%202%5D%0Aconst%20y%20%3D%20%5B'A'%2C%20'B'%5D%0AR.zip(x)(y)%0A%2F%2F%20%3D%3E%20%5B%5B1%2C%20'A'%5D%2C%20%5B2%2C%20'B'%5D%5D%0A%0A%2F%2F%20truncates%20to%20shortest%20list%0Aconst%20result%20%3D%20R.zip(%5B...x%2C%203%5D)(%5B'A'%2C%20'B'%5D)%0A%2F%2F%20%3D%3E%20%5B%5B1%2C%20'A'%5D%2C%20%5B2%2C%20'B'%5D%5D\">Try this <strong>R.zip</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nzip<K>(x: K[]): <V>(y: V[]) => KeyValuePair<K, V>[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.zip</strong> source</summary>\n\n```javascript\nexport function zip(left) {\n  return right => {\n    const result = []\n    const length = Math.min(left.length, right.length)\n\n    for (let i = 0; i < length; i++) {\n      result[i] = [left[i], right[i]]\n    }\n\n    return result\n  }\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { zip } from './zip.js'\n\nconst array1 = [1, 2, 3]\nconst array2 = ['A', 'B', 'C']\n\ntest('should return an array', () => {\n  const actual = zip(array1)(array2)\n  expect(actual).toBeInstanceOf(Array)\n})\n\ntest('should return and array or tuples', () => {\n  const expected = [\n    [1, 'A'],\n    [2, 'B'],\n    [3, 'C'],\n  ]\n  const actual = zip(array1)(array2)\n  expect(actual).toEqual(expected)\n})\n\ntest('should truncate result to length of shorted input list', () => {\n  const expectedA = [\n    [1, 'A'],\n    [2, 'B'],\n  ]\n  const actualA = zip([1, 2])(array2)\n  expect(actualA).toEqual(expectedA)\n\n  const expectedB = [\n    [1, 'A'],\n    [2, 'B'],\n  ]\n  const actualB = zip(array1)(['A', 'B'])\n  expect(actualB).toEqual(expectedB)\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { zip } from 'rambda'\n\ndescribe('R.zip', () => {\n  it('happy', () => {\n    const array1 = [1, 2, 3]\n    const array2 = ['A', 'B', 'C']\n    let a: Partial<any>\n    const result = zip(array1)(array2)\n    result[0][0] // $ExpectType number\n    result[0][1] // $ExpectType string\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#zip)\n\n### zipWith\n\n```typescript\n\nzipWith<T, U, TResult>(\n  fn: (x: T, y: U) => TResult,\n  list1: readonly T[],\n): (list2: readonly U[]) => TResult[]\n```\n\n```javascript\nconst list1 = [ 10, 20, 30, 40 ]\nconst list2 = [ 100, 200 ]\n\nconst result = R.zipWith((x, y) => x + y, list1)(list2)\n// => [110, 220]\n```\n\n<a title=\"redirect to Rambda Repl site\" href=\"https://rambda.netlify.app?const%20list1%20%3D%20%5B%2010%2C%2020%2C%2030%2C%2040%20%5D%0Aconst%20list2%20%3D%20%5B%20100%2C%20200%20%5D%0A%0Aconst%20result%20%3D%20R.zipWith((x%2C%20y)%20%3D%3E%20x%20%2B%20y%2C%20list1)(list2)%0A%2F%2F%20%3D%3E%20%5B110%2C%20220%5D\">Try this <strong>R.zipWith</strong> example in Rambda REPL</a>\n\n<details>\n\n<summary>All TypeScript definitions</summary>\n\n```typescript\nzipWith<T, U, TResult>(\n  fn: (x: T, y: U) => TResult,\n  list1: readonly T[],\n): (list2: readonly U[]) => TResult[];\n```\n\n</details>\n\n<details>\n\n<summary><strong>R.zipWith</strong> source</summary>\n\n```javascript\nimport { take } from './take.js'\n\nexport function zipWith(fn, x) {\n  return y =>\n    take(x.length > y.length ? y.length : x.length)(x).map((xInstance, i) =>\n      fn(xInstance, y[i]),\n    )\n}\n```\n\n</details>\n\n<details>\n\n<summary><strong>Tests</strong></summary>\n\n```javascript\nimport { zipWith } from './zipWith.js'\n\nconst add = (x, y) => x + y\nconst list1 = [1, 2, 3]\nconst list2 = [10, 20, 30, 40]\nconst list3 = [100, 200]\n\ntest('when second list is shorter', () => {\n  const result = zipWith(add, list1)(list3)\n  expect(result).toEqual([101, 202])\n})\n\ntest('when second list is longer', () => {\n  const result = zipWith(add, list1)(list2)\n  expect(result).toEqual([11, 22, 33])\n})\n```\n\n</details>\n\n<details>\n\n<summary><strong>TypeScript</strong> test</summary>\n\n```typescript\nimport { pipe, zipWith } from 'rambda'\n\nconst list1 = [1, 2]\nconst list2 = [10, 20, 30]\n\ndescribe('R.zipWith', () => {\n  it('happy', () => {\n    const result = pipe(\n      list2,\n      zipWith((x, y) => {\n        x // $ExpectType number\n        y // $ExpectType number\n        return `${x}-${y}`\n      }, list1),\n    )\n\n    result // $ExpectType string[]\n  })\n})\n```\n\n</details>\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#zipWith)\n\n## ❯ CHANGELOG\n\n11.1.0\n\n- Add `R.filterMap` - similar to Ruby `filter_map`\n\n- Add `R.mapChain` - when in `R.pipe` there are several `R.map` one after the other, then `R.mapChain` can be used instead.\n\n- Add `R.middle` - equal to `R.init` + `R.tail`\n\n- Add `R.random`, `R.shuffle`, `R.switcher`, `R.sum`, `R.delay` - imported from `Rambda`\n\n- Add index to `R.filter`/`R.reject` predicate signiture\n\n- Improve typing of `R.init`, `R.tail`\n\n11.0.1\n\n- Add missing JS change for `R.includes` and `R.excludes` methods in `11.0.0` release.\n\n11.0.0\n\n- Breaking change: `R.includes` and `R.excludes` now accept list as first argument and value to search as second argument. This makes it more useful when used with `R.filter` and `R.reject`.\n\n- Rename `R.innerJoin` to `R.intersectionWith`\n\n- Add `R.unionWith`\n\n- Add `R.exists`\n\n- Add `R.symmetricDifference`\n\n- Add `R.difference`\n\n- `R.range` now works similar to Ruby's `Range` - both start and end values are inclusive.\n\n- Add `R.rangeDescending` as now `R.range` works only in ascending order.\n\n- `R.range` - it accepts one or two arguments. If one argument is passed, it is considered as end value, and start is 0.\n\n- R.rangeDescending - it accepts one or two arguments. If one argument is passed, it is considered as start value, and end is 0.\n \n- Fix `R.filter(Boolean)` to handle filter of `false`, not only nullable values.\n\n10.3.4\n\n- Fix wrong typing for `R.sortByDescending` - [Issue #797](https://github.com/selfrefactor/rambda/issues/797)\n\n- Improve `R.mapParallelAsync` typings to allow optional `batchSize` parameter.\n\n- Change order of inputs in `R.mapPropObject`\n\n- Change REPL links in documentation\n\n- Remove `jsr.json`\n\n10.3.3\n\n- Fix wrong typing for `R.reject` - [Issue #779](https://github.com/selfrefactor/rambda/issues/779)\n\n- Improve `R.pick` to not allow non-existing keys as input.\n\n10.3.2\n\n- Fix issue with wrong order of inputs in `R.createObjectFromKeys` - [Issue #779](https://github.com/selfrefactor/rambda/issues/779)\n\n10.3.1\n\n- Fix issue with wrong order of inputs in `R.propEq` - [Issue #779](https://github.com/selfrefactor/rambda/issues/779)\n\n- Fix issue with TypeScript definitions for `R.includes`- [Issue #781](https://github.com/selfrefactor/rambda/issues/781)\n\n10.3.0\n\n- Add `R.mapPropObject`\n\n- Add `R.duplicateBy`\n\n- Add `R.filterAsync`\n\n- Add `R.indexBy`\n\n- Restore `R.replaceAll`\n\n- Remove option for `R.mapAsync` to be called outside of `R.pipeAsync`. This is done for consistency as all other methods follow this rule, i.e. they are all curried.\n\n- Fix `R.pluck` to work without `R.pipe`\n- Remove option for `R.mapAsync` to be called outside of `R.pipeAsync`. This is done for consistency as all other methods follow this rule, i.e. they are all curried.\n\n- Fix `R.pluck` to work without `R.pipe`\n\n10.2.0\n\nAdd `R.modifyPath`\n\n10.1.0\n\n- Add `R.assertType` and `R.convertToType` methods\n\n- Fix issue with exports in old Node.js versions - [Discussion #768](https://github.com/selfrefactor/rambda/discussions/768)\n\n- Fix `deno` release as it was not possible for users to import version `10.0.0`\n\n10.0.1\n\n- Fix issue with `R.unwind`/`R.pick` typings - [Issue #766](https://github.com/selfrefactor/rambda/issues/766)\n\n10.0.0\n\nThis is major revamp of `Rambda` library:\n\n- `R.pipe` is the recommended method for TypeScript chaining.\n\n- All methods should be useful to work inside `R.pipe` chain. If method doesn't have clear use case inside `R.pipe`, it is removed as part of this revamp.\n\n- There will be only one way to use each method. For example, `R.add` can be used only with `R.add(1)(2)`, i.e. it doesn't support `R.add(1, 2)`. This helps with testing and also with TypeScript definitions. This aligns with TypeScript focused approach of this library.\n\n- Confusing methods are removed. For example, `R.cond` and `R.ifElse` are removed as their usage inside `R.piped` makes the whole chain less readable. Such logic should be part of your codebase, not part of external library.\n\n- All methods that expect more than 1 input, will have to be called with `R.methodName(input1)(input2)` or `R.methodName(input1, input2)(input3)`. This is to make TypeScript definitions easier to maintain.\n\n- Optimize many methods to better work in TypeScript context with `R.pipe`. The focus was passing objects through the `R.pipe` chain.\n\n- Add `R.pipe` supports up to 20 functions, i.e. chain can be 20 functions long.\n\n- `R.chain` is renamed to `R.flatMap`\n- `R.comparator` is renamed to `R.sortingFn`\n\n- Remove following methods:\n\n-- Lenses - `R.lens`, `R.lensProp`, `R.lensPath`, `R.view`, `R.set`, `R.over`\n\n-- T, F\n\n-- add\n\n-- addIndex, addIndexRight\n\n-- always\n\n-- ap\n\n-- applySpec\n\n-- applyTo\n\n-- assoc, assocPath, dissoc, dissocPath\n\n-- binary\n\n-- bind\n\n-- call\n\n-- collectBy\n\n-- compose\n\n-- composeWith\n\n-- cond\n\n-- converge\n\n-- curry\n\n-- difference, differenceWith\n\n-- divide, multiply, subtract\n\n-- endsWith/startsWith\n\n-- flip\n\n-- forEachObjIndexed\n\n-- fromPairs\n\n-- gte, lte, lt, gt\n\n-- identical\n\n-- ifElse\n\n-- insert\n\n-- juxt\n\n-- length\n\n-- mapObjIndexed\n\n-- mergeAll, mergeLeft, mergeDeepLeft, mergeDeepRight\n\n-- move\n\n-- partitionIndexed\n\n-- pickAll\n\n-- pickBy\n\n-- repeat\n\n-- splitWhen\n\n-- toLower/toUpper\n\n-- unapply\n\n-- unnest\n\n-- update\n\n-- without\n\n- Add following methods:\n\n-- R.pipeAsync\n\n-- R.addProp\n\n-- R.createObjectFromKeys\n\n-- R.mapAsync\n\n-- R.mapParallelAsync\n\n-- R.ascend/R.descend\n\n-- R.shuffle\n\n-- R.permutations\n\n-- R.compact\n\n-- R.rejectObject\n\n-- R.findNth\n\n-- R.combinations\n\n-- R.sortByPath\n\n-- R.sortByPathDescending\n\n-- R.sortByDescending\n\n-- R.flattenObject\n\n-- R.addPropToObjects\n\n- Rename following methods:\n\n-- modifyItemAtIndex -> adjust\n\n-- checkObjectWithSpec -> where\n\n-- objectIncludes -> whereEq\n\n-- modify -> modifyProp\n\n-- chain -> flatMap\n\n-- mapObjIndexed -> mapObject\n\n_ Regarding using object as input with TypeScript in methods such as `R.map/filter` - this feature is no longer supported in TypeScript as it has multiple issues when using inside pipes. In JS, it still works as before. Following methods are affected:\n\n-- R.map\n\n-- R.mapIndexed\n\n-- R.filter\n\n-- R.reject\n\n- Regarding using string as path input in `R.omit`, `R.pick` and `R.path` with TypeScript - now it require explicit definition of expected return type.\n\n- Revert adding stopper logic in `R.reduce` - https://github.com/selfrefactor/rambda/pull/630\n\n- Remove use of `Dictionary` custom interface and use more appropriate `Record<PropertyType, ...>`\n\n- Remove use of `Record<string, ...>` in favour of `Record<PropertyType, ...>`\n\n- Add TypeScript definition to handle common case of `R.filter(Boolean)` that will turn `Array<T | undefined>` to `Array<T>`.\n\n- Regarding using object with `R.forEach` in TypeScript - this is no longer supported. Again, JS version still works with objects.\n\n- head/last - empty array as input will return `undefined`, but `never`\n- assocPath - stop supporting curring of type `(x)(y)(z)`\n\n- Stop support string inputs for some methods, since it was hard to correctly type them in TypeScript.\n\n-- append/prepend\n\n- Change `R.range` to work with descending order.\n\n- Remove `rambda/immutable` as import option as it is hard to support in the new context.\n\n- Sync with typing of `@types/ramda`:\n\n-- allPass\n\n-- anyPass\n\n-- append\n\n-- both\n\n-- countBy\n\n-- drop\n\n-- dropLast\n\n-- dropRepeatsBy\n\n-- either\n\n-- filter\n\n-- forEach\n\n-- keys\n\n-- map\n\n-- mergeAll\n\n-- modify\n\n-- modifyPath\n\n-- omit\n\n-- partition\n\n-- pluck\n\n-- prepend\n\n-- propEq\n\n-- where\n\n-- whereAny\n\n- Sync with typing of `remeda`:\n\n-- filter\n\n-- reject\n\n-- map\n\n-- mapObject\n\n-- toPairs\n\n-- partition\n\n- Publish to JSR registry - https://jsr.io/@rambda/rambda\n\n- Replace Record<string> with Record<PropertyKey>\n\n- Improve TypeScript definitions of:\n\n-- objOf\n\n-- pluck\n\n-- mergeWith\n\n- Change `Jest` with `Vitest`.\n\n- Remove `Babel` dependency in `Rollup` build setup.\n\n- Revert adding stopper logic in `R.reduce` - https://github.com/selfrefactor/rambda/pull/630\n\n9.4.2\n\n- Fix TS issue when `R.take` is used as part of `R.pipe`.\n\nMoving away from `Ramda` types which are problematic in this case:\n\n```typescript\nconst data = ['foo', 'bar', 'baz', 'qux']\nconst result = piped(\n\tdata,\n\tfilter(\n\t\tx => x.length >= 2\n\t),\n\ttakeLast(2),\n)\n```\n\n9.4.1\n\n- Fix bug with `R.differenceWith` when two arrays has same length - [Issue #757](https://github.com/selfrefactor/rambda/issues/757)\n\n- Allow path input to not be transformed when string numbers are there - [Issue #750](https://github.com/selfrefactor/rambda/issues/750)\n\n9.4.0\n\n- Fix `deno` release\n\n- Fix too strict `true` condition in `R.ifElse` - [Issue #750](https://github.com/selfrefactor/rambda/issues/750)\n\n- Change `R.groupBy` typings to match `@types/ramda` typings\n\n9.3.0\n\n- Breaking change in relation to TS typings of `R.assoc`, `R.dissoc` and `R.modify` - https://github.com/ramda/types/pull/37\n\n- Add `R.isNotEmpty` as it is new method in `Ramda`\n\n- Fix `R.head`/`R.last` TS definition - It returns `undefined` if array has length of 0. Before\n\n9.2.1\n\n- Broken `Deno` build - [Issue #731](https://github.com/selfrefactor/rambda/issues/731)\n\n9.2.0\n\n- `R.once` TS type definition miss to context argument and its type - [Issue #728](https://github.com/selfrefactor/rambda/issues/728)\n\n- Fix implementation of `R.unless` function - https://github.com/selfrefactor/rambda/pull/726\n\n9.1.1\n\n- Faster R.equals with Object.is short circuit - https://github.com/selfrefactor/rambda/pull/725\n\n- Fix R.cond transform is unary - https://github.com/selfrefactor/rambda/issues/720\n\n9.1.0\n\nAdd these methods\n\n- insert\n- insertAll\n- lt\n- lte\n- isNotNil\n- pickBy\n- pathSatisfies\n- swap\n- mergeDeepLeft\n\n9.0.1\n\n- Fix bad TS typings, due to missing declaration - [Issue #716](https://github.com/selfrefactor/rambda/issues/716)\n\n9.0.0\n\nBreaking change in TS definitions of `lenses` as now they are synced to `Ramda` types.\n\n- Add `R.sortWith` - [Issue #707](https://github.com/selfrefactor/rambda/issues/707)\n\n- Add `R.innerJoin`, `R.gt`, `R.gte`, `R.reduceBy`, `R.hasIn`\n\n8.6.0\n\n- Wrong typing for `R.dissocPath` - [Issue #709](https://github.com/selfrefactor/rambda/issues/709)\n\n- Update build dependencies\n\n8.5.0\n\n- Revert changes in `R.anyPass` introduced in `8.4.0` release. The reason is that the change was breaking the library older than `5.2.0` TypeScript.\n\n- Wrong `R.partial` TS definition  - [Issue #705](https://github.com/selfrefactor/rambda/issues/705)\n\n- Add `R.dropRepeatsBy`\n\n- Add `R.empty`\n\n- Add `R.eqBy`\n\n- Add `R.forEachObjIndexed`\n\n8.4.0\n\n- Add `R.dissocPath`\n\n- Fix TS definitions of `R.head/R.last` and add missing handle of empty string\n\n- Add `R.removeIndex` - method was before only in `Rambdax`, but now since `R.dissocPath` is using it, it is added to main library.\n\n- Allow `R.omit` to pass numbers as part of properties to omit, i.e. `R.omit(['a', 1], {a: {1: 1, 2: 2}})`\n\n- R.keys always returns strings - [MR #700](https://github.com/selfrefactor/rambda/pull/700)\n\n- Improve `R.prepend/R.append` type interference - [MR #699](https://github.com/selfrefactor/rambda/pull/699)\n\n- Change `R.reduce` TS definitions so index is always received - [MR #696](https://github.com/selfrefactor/rambda/pull/696)\n\n- Functions as a type guard in `R.anyPass` TS definitions - [MR #695](https://github.com/selfrefactor/rambda/pull/695)\n\n- Fix R.append's curried type - [MR #694](https://github.com/selfrefactor/rambda/pull/694)\n\n- Fix cannot compare errors in `Deno` with `R.equals` - [Issue #704](https://github.com/selfrefactor/rambda/issues/704).\n\n- Fix cannot compare `BigInt` with `R.equals`\n\n8.3.0\n\nAdd the following methods:\n\n- binary\n- call\n- collectBy\n- comparator\n- composeWith\n\n8.2.0\n\nAdd the following methods:\n\n- addIndex\n- addIndexRight\n- ap\n- aperture\n- applyTo\n- ascend\n- descend\n\n8.1.0\n\n- Fix input order of TS definitions for `R.propEq` method  - [Issue #688](https://github.com/selfrefactor/rambda/issues/688). The issue was due to 8.0.0 was shipped with TS definitions of `7.5.0` release.\n\n- Add `R.differenceWith` method  - [Issue #91](https://github.com/selfrefactor/rambdax/issues/91)\n\n8.0.0\n\n- handle falsy values in merge methods - https://github.com/ramda/ramda/pull/3222\n\n- `R.head`/`R.last` don't return `undefined` for non-empty arrays\n\n- `R.type` supports dates in TS definition - `Rambda` already did support dates in JS.\n\n- Improve typings of `R.endsWith/startsWith` with regard to `string` input. - [PR #622](https://github.com/selfrefactor/rambda/pull/622)\n\n- Handle list as falsy value in `R.reduce` - [Ramda MR](https://github.com/ramda/ramda/pull/2997/files)\n\n- `R.nop` is removed - it will be moved to `Rambdax` as `R.noop`\n\n- `R.includes` is no longer using string literal in TypeScript definitions\n\n> Reason for breaking change - synchronize with Ramda `0.29.0` release:\n\n- change order of `R.propEq` - [Ramda MR](https://github.com/ramda/ramda/pull/2938/files)\n\n> This is only part of the changelog. You can read the full text in [CHANGELOG.md](CHANGELOG.md) file.\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#-changelog)\n\n## ❯ Additional info\n\n> Most influential contributors(in alphabetical order)\n\n- [@farwayer](https://github.com/farwayer) - improving performance in R.find, R.filter; give the idea how to make benchmarks more reliable;\n\n- [@thejohnfreeman](https://github.com/thejohnfreeman) - add R.assoc, R.chain;\n\n- [@peeja](https://github.com/peeja) - add several methods and fix mutiple issues; provides great MR documentation\n\n- [@helmuthdu](https://github.com/helmuthdu) - add R.clone; help improve code style;\n\n- [@jpgorman](https://github.com/jpgorman) - add R.zip, R.reject, R.without, R.addIndex;\n\n- [@ku8ar](https://github.com/ku8ar) - add R.slice, R.propOr, R.identical, R.propIs and several math related methods; introduce the idea to display missing Ramda methods;\n\n- [@romgrk](https://github.com/romgrk) - add R.groupBy, R.indexBy, R.findLast, R.findLastIndex;\n\n- [@squidfunk](https://github.com/squidfunk) - add R.assocPath, R.symmetricDifference, R.difference, R.intersperse;\n\n- [@synthet1c](https://github.com/synthet1c) - add all lenses methods; add R.applySpec, R.converge;\n\n- [@vlad-zhukov](https://github.com/vlad-zhukov) - help with configuring Rollup, Babel; change export file to use ES module exports;\n\n> Rambda references\n\n- [Interview with Dejan Totef at SurviveJS blog](https://survivejs.com/blog/rambda-interview/)\n\n- [Awesome functional Javascript programming libraries](https://github.com/stoeffel/awesome-fp-js#libraries)\n\n- [Overview of Rambda pros/cons](https://mobily.github.io/ts-belt/docs/#rambda-%EF%B8%8F)\n\n> Links to Rambda\n\n- [awesome-fp-js](https://github.com/stoeffel/awesome-fp-js)\n\n- [Web Tools Weekly #280](https://mailchi.mp/webtoolsweekly/web-tools-280)\n\n- [awesome-docsify](https://github.com/docsifyjs/awesome-docsify)\n\n> Deprecated from `Used by` section\n\n- [SAP's Cloud SDK](https://github.com/SAP/cloud-sdk) - This repo doesn't uses `Rambda` since *October/2020* [commit that removes Rambda](https://github.com/SAP/cloud-sdk/commit/b29b4f915c4e4e9c2441e7b6b67cf83dac1fdac3)\n\n[![---------------](https://raw.githubusercontent.com/selfrefactor/rambda/master/files/separator.png)](#-additional-info)\n\n## My other libraries\n\n<table>\n    <tbody>\n        <tr valign=\"top\">\n            <td width=\"20%\" align=\"center\">\n                <h4>Niketa theme</h4>\n                <a href=\"https://marketplace.visualstudio.com/items?itemName=selfrefactor.Niketa-theme\">Collection of 9 light VSCode themes</a>\n            </td>\n            <td width=\"20%\" align=\"center\">\n                <h4>Niketa dark theme</h4>\n                <a href=\"https://marketplace.visualstudio.com/items?itemName=selfrefactor.niketa-dark-theme\">Collection of 9 dark VSCode themes</a>\n            </td>\n            <td width=\"20%\" align=\"center\">\n                <h4>String-fn</h4>\n                <a href=\"https://github.com/selfrefactor/services/tree/master/packages/string-fn\">String utility library</a>\n            </td>\n            <td width=\"20%\" align=\"center\">\n                <h4>Useful Javascript libraries</h4>\n                <a href=\"https://github.com/selfrefactor/useful-javascript-libraries\">Large collection of JavaScript,TypeScript and Angular related repos links</a>\n            </td>\n            <td width=\"20%\" align=\"center\">\n                <h4>Run-fn</h4>\n                <a href=\"https://github.com/selfrefactor/services/tree/master/packages/run-fn\">CLI commands for lint JS/TS files, commit git changes and upgrade of dependencies</a>\n            </td>\n        </tr>\n    </tbody>\n</table>\n\n## Stargazers over time\n\n[![Stargazers over time](https://starchart.cc/selfrefactor/rambda.svg)](https://starchart.cc/selfrefactor/rambda)","_attachments":{},"homepage":"https://github.com/selfrefactor/rambda#readme","bugs":{"url":"https://github.com/selfrefactor/rambda/issues"},"license":"MIT"}