Need help with fromfrom?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

463 Stars 8 Forks MIT License 193 Commits 26 Opened issues


A JS library written in TS to transform sequences of data from format to another

Services available


Need anything else?

Contributors list


Greenkeeper badge Build Status Coveralls Dev Dependencies Sponsored All Contributors

fromfrom is a LINQ inspired library to transform sequences of data.


npm install --save fromfrom


Find it here.


The library exports only a single function,

wraps the given source data into a
has a wide range of chainable methods to operate and transform the sequence. The sequence can then be converted into a JS type.

For example

import { from } from "fromfrom";

// Transform an array of users const users = [ { id: 1, name: "John", age: 31, active: true }, { id: 2, name: "Jane", age: 32, active: false }, { id: 3, name: "Luke", age: 33, active: false }, { id: 4, name: "Mary", age: 34, active: true }, ];

from(users) .filter(user => .sortByDescending(user => user.age) .toArray(); // Returns // [ // { id: 4, name: "Mary", age: 34, active: true }, // { id: 1, name: "John", age: 31, active: true } // ]


  • Familiar method names - Even though it's LINQ inspired, uses familiar method names from JS.
  • Supports all main JS types - Works with arrays, objects, maps, sets, and objects that implement the iterable protocol.
  • No dependencies - Guarantees small size.
  • Type safe - Written in TypeScript. Type definitions included.
  • Deferred execution - The execution of the sequence is deferred until you begin consuming the sequence.
  • Fully tested - 100% test coverage.

How does it work

See "how does it work" section from the initial release blog post.


NPM scripts

  • npm t
    : Run test suite
  • npm start
    : Run
    npm run build
    in watch mode
  • npm run test:watch
    : Run test suite in interactive watch mode
  • npm run test:prod
    : Run linting and generate coverage
  • npm run build
    : Generate bundles and typings, create docs
  • npm run lint
    : Lints code
  • npm run commit
    : Commit using conventional commit style (husky will tell you to use it if you haven't :wink:)


Made with :heart: by @TomiTurtiainen.

This project is a grateful recipient of the Futurice Open Source sponsorship program. :heart:

Forked from TypeScript library starter

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Tomi Turtiainen

💻 📖 🚇 ⚠️


💻 ⚠️ 📖

Ville Vaarala




Rudolf Poels


Andrew Ross


This project follows the all-contributors specification. Contributions of any kind welcome!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.