├── .gitignore ├── .husky ├── install.mjs └── pre-commit ├── .lintstagedrc.json ├── .prettierignore ├── .prettierrc.json ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── eslint.config.js ├── package.cjs.json ├── package.json ├── pnpm-lock.yaml ├── src ├── __test__ │ ├── compositions │ │ ├── compose.spec.ts │ │ ├── curry.spec.ts │ │ ├── pipe.spec.ts │ │ └── purry.spec.ts │ ├── controls │ │ ├── accumulate.spec.ts │ │ ├── buffer.spec.ts │ │ ├── chunk.spec.ts │ │ ├── flatten.spec.ts │ │ └── serialize.spec.ts │ ├── operations │ │ ├── filters │ │ │ ├── filter.spec.ts │ │ │ ├── unique-by.spec.ts │ │ │ ├── unique-with.spec.ts │ │ │ └── unique.spec.ts │ │ ├── groups │ │ │ ├── difference-by.spec.ts │ │ │ ├── difference-with.spec.ts │ │ │ ├── difference.spec.ts │ │ │ ├── intersection-by.spec.ts │ │ │ ├── intersection-with.spec.ts │ │ │ └── intersection.spec.ts │ │ ├── mappers │ │ │ ├── flat-map.spec.ts │ │ │ └── map.spec.ts │ │ ├── reducers │ │ │ ├── every.spec.ts │ │ │ ├── find.spec.ts │ │ │ ├── reduce.spec.ts │ │ │ └── some.spec.ts │ │ ├── side-effectores │ │ │ ├── for-each.spec.ts │ │ │ └── peek.spec.ts │ │ └── splicers │ │ │ ├── concat.spec.ts │ │ │ ├── drop.spec.ts │ │ │ └── take.spec.ts │ └── test-util.ts ├── compositions │ ├── compose.ts │ ├── curry.ts │ ├── index.ts │ ├── pipe.ts │ └── purry.ts ├── controls │ ├── _guards.ts │ ├── accumulate.ts │ ├── buffer.ts │ ├── chunk.ts │ ├── flatten.ts │ ├── index.ts │ ├── serialize.ts │ └── types.ts ├── index.ts └── operations │ ├── filters │ ├── _unique-context.ts │ ├── filter.ts │ ├── unique-by.ts │ ├── unique-with.ts │ └── unique.ts │ ├── groups │ ├── _different-with.ts │ ├── _intersect-with.ts │ ├── _to-set.ts │ ├── difference-by.ts │ ├── difference-with.ts │ ├── difference.ts │ ├── intersection-by.ts │ ├── intersection-with.ts │ └── intersection.ts │ ├── index.ts │ ├── mappers │ ├── flat-map.ts │ └── map.ts │ ├── reducers │ ├── every.ts │ ├── find.ts │ ├── reduce.ts │ └── some.ts │ ├── side-effectors │ ├── for-each.ts │ └── peek.ts │ └── splicers │ ├── concat.ts │ ├── drop.ts │ └── take.ts ├── tsconfig.build.json ├── tsconfig.cjs.json ├── tsconfig.esm.json ├── tsconfig.json ├── tsconfig.types.cjs.json ├── tsconfig.types.esm.json └── vitest.config.ts /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | report -------------------------------------------------------------------------------- /.husky/install.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/.husky/install.mjs -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | pnpm lint-staged 2 | -------------------------------------------------------------------------------- /.lintstagedrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/.lintstagedrc.json -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | dist 2 | report 3 | pnpm-lock.yaml 4 | LICENSE -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/.prettierrc.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/README.md -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/eslint.config.js -------------------------------------------------------------------------------- /package.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "commonjs" 3 | } 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /src/__test__/compositions/compose.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/compositions/compose.spec.ts -------------------------------------------------------------------------------- /src/__test__/compositions/curry.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/compositions/curry.spec.ts -------------------------------------------------------------------------------- /src/__test__/compositions/pipe.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/compositions/pipe.spec.ts -------------------------------------------------------------------------------- /src/__test__/compositions/purry.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/compositions/purry.spec.ts -------------------------------------------------------------------------------- /src/__test__/controls/accumulate.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/controls/accumulate.spec.ts -------------------------------------------------------------------------------- /src/__test__/controls/buffer.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/controls/buffer.spec.ts -------------------------------------------------------------------------------- /src/__test__/controls/chunk.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/controls/chunk.spec.ts -------------------------------------------------------------------------------- /src/__test__/controls/flatten.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/controls/flatten.spec.ts -------------------------------------------------------------------------------- /src/__test__/controls/serialize.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/controls/serialize.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/filters/filter.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/filters/filter.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/filters/unique-by.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/filters/unique-by.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/filters/unique-with.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/filters/unique-with.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/filters/unique.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/filters/unique.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/groups/difference-by.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/groups/difference-by.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/groups/difference-with.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/groups/difference-with.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/groups/difference.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/groups/difference.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/groups/intersection-by.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/groups/intersection-by.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/groups/intersection-with.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/groups/intersection-with.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/groups/intersection.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/groups/intersection.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/mappers/flat-map.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/mappers/flat-map.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/mappers/map.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/mappers/map.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/reducers/every.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/reducers/every.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/reducers/find.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/reducers/find.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/reducers/reduce.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/reducers/reduce.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/reducers/some.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/reducers/some.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/side-effectores/for-each.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/side-effectores/for-each.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/side-effectores/peek.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/side-effectores/peek.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/splicers/concat.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/splicers/concat.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/splicers/drop.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/splicers/drop.spec.ts -------------------------------------------------------------------------------- /src/__test__/operations/splicers/take.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/operations/splicers/take.spec.ts -------------------------------------------------------------------------------- /src/__test__/test-util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/__test__/test-util.ts -------------------------------------------------------------------------------- /src/compositions/compose.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/compositions/compose.ts -------------------------------------------------------------------------------- /src/compositions/curry.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/compositions/curry.ts -------------------------------------------------------------------------------- /src/compositions/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/compositions/index.ts -------------------------------------------------------------------------------- /src/compositions/pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/compositions/pipe.ts -------------------------------------------------------------------------------- /src/compositions/purry.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/compositions/purry.ts -------------------------------------------------------------------------------- /src/controls/_guards.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/controls/_guards.ts -------------------------------------------------------------------------------- /src/controls/accumulate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/controls/accumulate.ts -------------------------------------------------------------------------------- /src/controls/buffer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/controls/buffer.ts -------------------------------------------------------------------------------- /src/controls/chunk.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/controls/chunk.ts -------------------------------------------------------------------------------- /src/controls/flatten.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/controls/flatten.ts -------------------------------------------------------------------------------- /src/controls/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/controls/index.ts -------------------------------------------------------------------------------- /src/controls/serialize.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/controls/serialize.ts -------------------------------------------------------------------------------- /src/controls/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/controls/types.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/operations/filters/_unique-context.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/filters/_unique-context.ts -------------------------------------------------------------------------------- /src/operations/filters/filter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/filters/filter.ts -------------------------------------------------------------------------------- /src/operations/filters/unique-by.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/filters/unique-by.ts -------------------------------------------------------------------------------- /src/operations/filters/unique-with.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/filters/unique-with.ts -------------------------------------------------------------------------------- /src/operations/filters/unique.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/filters/unique.ts -------------------------------------------------------------------------------- /src/operations/groups/_different-with.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/groups/_different-with.ts -------------------------------------------------------------------------------- /src/operations/groups/_intersect-with.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/groups/_intersect-with.ts -------------------------------------------------------------------------------- /src/operations/groups/_to-set.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/groups/_to-set.ts -------------------------------------------------------------------------------- /src/operations/groups/difference-by.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/groups/difference-by.ts -------------------------------------------------------------------------------- /src/operations/groups/difference-with.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/groups/difference-with.ts -------------------------------------------------------------------------------- /src/operations/groups/difference.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/groups/difference.ts -------------------------------------------------------------------------------- /src/operations/groups/intersection-by.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/groups/intersection-by.ts -------------------------------------------------------------------------------- /src/operations/groups/intersection-with.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/groups/intersection-with.ts -------------------------------------------------------------------------------- /src/operations/groups/intersection.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/groups/intersection.ts -------------------------------------------------------------------------------- /src/operations/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/index.ts -------------------------------------------------------------------------------- /src/operations/mappers/flat-map.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/mappers/flat-map.ts -------------------------------------------------------------------------------- /src/operations/mappers/map.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/mappers/map.ts -------------------------------------------------------------------------------- /src/operations/reducers/every.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/reducers/every.ts -------------------------------------------------------------------------------- /src/operations/reducers/find.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/reducers/find.ts -------------------------------------------------------------------------------- /src/operations/reducers/reduce.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/reducers/reduce.ts -------------------------------------------------------------------------------- /src/operations/reducers/some.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/reducers/some.ts -------------------------------------------------------------------------------- /src/operations/side-effectors/for-each.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/side-effectors/for-each.ts -------------------------------------------------------------------------------- /src/operations/side-effectors/peek.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/side-effectors/peek.ts -------------------------------------------------------------------------------- /src/operations/splicers/concat.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/splicers/concat.ts -------------------------------------------------------------------------------- /src/operations/splicers/drop.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/splicers/drop.ts -------------------------------------------------------------------------------- /src/operations/splicers/take.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/src/operations/splicers/take.ts -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/tsconfig.build.json -------------------------------------------------------------------------------- /tsconfig.cjs.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/tsconfig.cjs.json -------------------------------------------------------------------------------- /tsconfig.esm.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/tsconfig.esm.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tsconfig.types.cjs.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/tsconfig.types.cjs.json -------------------------------------------------------------------------------- /tsconfig.types.esm.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/tsconfig.types.esm.json -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/somnicattus/rotery/HEAD/vitest.config.ts --------------------------------------------------------------------------------