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

tomi
458 Stars 8 Forks MIT License 187 Commits 36 Opened issues

Description

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

Services available

!
?

Need anything else?

Contributors list

No Data

fromfrom

Greenkeeper badge Build Status Coveralls Dev Dependencies Sponsored All Contributors

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

Installation

npm install --save fromfrom

Documentation

Find it here.

Usage

The library exports only a single function,

from
.
from
wraps the given source data into a
Sequence
.
Sequence
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 => user.active) .sortByDescending(user => user.age) .toArray(); // Returns // [ // { id: 4, name: "Mary", age: 34, active: true }, // { id: 1, name: "John", age: 31, active: true } // ]

Features

  • 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.

Development

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:)

Acknowledgement

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

๐Ÿ’ป ๐Ÿ“– ๐Ÿš‡ โš ๏ธ

jtenner

๐Ÿ’ป โš ๏ธ ๐Ÿ“–

Ville Vaarala

๐Ÿšง

Theo

๐Ÿ’ป

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.