All Projects → tomi → Fromfrom

tomi / Fromfrom

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

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Fromfrom

multiplex.js
LINQ for JavaScript.
Stars: ✭ 79 (-82.9%)
Mutual labels:  linq, collection
Period
PHP's time range API
Stars: ✭ 616 (+33.33%)
Mutual labels:  sequence, collection
go-streams
Stream Collections for Go. Inspired in Java 8 Streams and .NET Linq
Stars: ✭ 127 (-72.51%)
Mutual labels:  linq, collection
Easysequence
EasySequence is a powerful fundamental library to process sequcence type, such as array, set, dictionary. All type object which conforms to NSFastEnumeration protocol can be initialzed to an EZSequence instance, then you can operation with them. Finally, you can transfer them back to the original type.
Stars: ✭ 150 (-67.53%)
Mutual labels:  sequence, collection
Sequency
⚡️ Type-safe functional sequences for processing iterable data
Stars: ✭ 294 (-36.36%)
Mutual labels:  sequence, collection
Vaadin Core
An evolving set of free, open source web components for building mobile and desktop web applications in modern browsers.
Stars: ✭ 382 (-17.32%)
Mutual labels:  collection
Yalinqo
Yet Another LINQ to Objects for PHP [Simplified BSD]
Stars: ✭ 400 (-13.42%)
Mutual labels:  linq
Scrollreveal
Animate elements as they scroll into view.
Stars: ✭ 20,264 (+4286.15%)
Mutual labels:  transform
Asyncenumerable
Defines IAsyncEnumerable, IAsyncEnumerator, ForEachAsync(), ParallelForEachAsync(), and other useful stuff to use with async-await
Stars: ✭ 367 (-20.56%)
Mutual labels:  linq
Symfony Collection
[NOT MAINTAINED] A jQuery plugin that manages adding, deleting and moving elements from a Symfony form collection
Stars: ✭ 433 (-6.28%)
Mutual labels:  collection
Vaadin
An evolving set of open source web components for building mobile and desktop web applications in modern browsers.
Stars: ✭ 424 (-8.23%)
Mutual labels:  collection
Tstl
TypeScript-STL (Standard Template Library, migrated from C++)
Stars: ✭ 397 (-14.07%)
Mutual labels:  collection
Arquero
Query processing and transformation of array-backed data tables.
Stars: ✭ 384 (-16.88%)
Mutual labels:  transform
Bouncylayout
Make. It. Bounce.
Stars: ✭ 4,035 (+773.38%)
Mutual labels:  collection
Psl
PHP Standard Library - a modern, consistent, centralized, well-typed set of APIs for PHP programmers.
Stars: ✭ 329 (-28.79%)
Mutual labels:  collection
Brutesploit
BruteSploit is a collection of method for automated Generate, Bruteforce and Manipulation wordlist with interactive shell. That can be used during a penetration test to enumerate and maybe can be used in CTF for manipulation,combine,transform and permutation some words or file text :p
Stars: ✭ 424 (-8.23%)
Mutual labels:  transform
Anglesharp
👼 The ultimate angle brackets parser library parsing HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specifications.
Stars: ✭ 4,018 (+769.7%)
Mutual labels:  linq
Awesome Css Frameworks
List of awesome CSS frameworks
Stars: ✭ 4,410 (+854.55%)
Mutual labels:  collection
Awesome Gists
A collection of amazing gists
Stars: ✭ 413 (-10.61%)
Mutual labels:  collection
Linux Kernel Exploits
linux-kernel-exploits Linux平台提权漏洞集合
Stars: ✭ 4,203 (+809.74%)
Mutual labels:  collection

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

Acknowledgement

Made with ❤️ by @TomiTurtiainen.

This project is a grateful recipient of the Futurice Open Source sponsorship program. ❤️

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!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].