Popularity
3.0
Growing
Activity
8.3
-
705
12
60

Programming language: TypeScript
License: Apache License 2.0

fxts alternatives and similar libraries

Based on the "Functional Programming" category.
Alternatively, view FxTS alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of fxts or a related project?

Add another 'Functional Programming' Library

README

Build Status npm version

๐Ÿ’ฌ Join the FxTS Slack community(en) ๐Ÿ’ฌ Join the FxTS Slack community(ko)

fxts-icon FxTS

FxTS is a functional library for TypeScript/JavaScript programmers.

Why FxTS?

  • Lazy evaluation
  • Handling concurrent requests
  • Type inference
  • Follow iteration protocols Iterable / AsyncIterable

Installation

npm install @fxts/core

Documentation

Please review the API documentation

Usage

import { pipe, range, map, filter, take, each } from "@fxts/core";

pipe(
  range(10),
  map((a) => a + 10),
  filter((a) => a % 2 === 0),
  take(2),
  each((a) => console.log(a)),
);

Usage(concurrent)

import { pipe, toAsync, map, flat, concurrent, countBy } from "@fxts/core";

// maybe 1 seconds api
const fetchWiki = (page: string) =>
  fetch(`https://en.wikipedia.org/w/api.php?action=parse&page=${page}`);

const countWords = async (concurrency = 1) =>
  pipe(
    ["html", "css", "javascript", "typescript"],
    toAsync,
    map(fetchWiki),
    map((res) => res.text()),
    map((words) => words.split(" ")),
    flat,
    concurrent(concurrency),
    countBy((word) => word),
  );

await countWords(); // 4 seconds
await countWords(2); // 2 seconds

you can start here

Build

  • npm run build

Running Test

  • npm test

Running Type Test

  • npm run compile:check

License

Apache License 2.0


*Note that all licence references and agreements mentioned in the fxts README section above are relevant to that project's source code only.