@fxts/core
    TypeScript icon, indicating that this package has built-in type declarations

    0.8.0 • Public • Published

    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

    Install

    npm i @fxts/core

    Homepage

    fxts.dev

    DownloadsWeekly Downloads

    1,744

    Version

    0.8.0

    License

    Apache-2.0

    Unpacked Size

    2.74 MB

    Total Files

    892

    Last publish

    Collaborators

    • dohyeong
    • marpple-dev-admin