enumerable-linq

1.0.4 • Public • Published

MaintainabilityTest CoverageBuild Status

Enumerable-linq

Features

  • Fluent interface
  • Immutable
  • Lazy Evaluation
  • Memoization

Install

npm install enumerable-linq

Using

import Enumerable from 'enumerable-linq';
 
const people = new Enumerable([
  {
    age: 37,
    name: 'Bobbie Hanson',
    gender: 'female',
    group: 6,
  },
  {
    age: 38,
    name: 'Leon Oneill',
    gender: 'male',
    group: 7,
  },      
  {
    age: 26,
    name: 'Leach Christensen',
    gender: 'male',
    group: 9,
  },
]);
const newGroup = people.select(person => person.group)
      .where(person => person.group > 6);
newGroup.length(); //2
newGroup.toArray();
//[  
// {
//     age: 38,
//     name: 'Leon Oneill',
//     gender: 'male',
//     group: 7,
//   },      
//   {
//     age: 26,
//     name: 'Leach Christensen',
//     gender: 'male',
//     group: 9,
//   },
//];

Documentation

Table of Contents

where

Query from object

Parameters

  • predicates ...any

Examples

const coll = new Enumerable([{age: 37,name: 'Bobbie Hanson',gender: 'female',group: 6,},
                           {age: 38,name: 'Leon Oneill',gender: 'male',group: 7,},]);
const result = coll.where(obj => obj['age'] > 37)//where(obj => obj['age'] > 37, {gender: male})
                  .where({gender: male})
result.toArray(); //[{age: 38,name: 'Leon Oneill',gender: 'male',group: 7,}]

Returns Enumerable

select

Select properties

Parameters

  • f

Examples

const coll = new Enumerable([{age: 37,name: 'Bobbie Hanson',gender: 'female',group: 6,},
                           {age: 38,name: 'Leon Oneill',gender: 'male',group: 7,},]);
coll.select(person => person.gender).toArray()//['female', 'male']

Returns Enumerable

orderBy

Order collection

Parameters

  • f (sort function)
  • direction

Examples

const coll = new Enumerable([{age: 37,name: 'Bobbie Hanson',gender: 'female',group: 6,},
                           {age: 38,name: 'Leon Oneill',gender: 'male',group: 7,},]);
coll.order(person => person.age, 'desc');
//[{age: 38,name: 'Leon Oneill',gender: 'male',group: 7,},
//{age: 37,name: 'Bobbie Hanson',gender: 'female',group: 6,},]

Returns Enumerable

toArray

Returns array from object

Examples

const coll = new Enumerable([{age: 37,name: 'Bobbie Hanson',gender: 'female',group: 6,},
                           {age: 38,name: 'Leon Oneill',gender: 'male',group: 7,},]);
coll.toArray(); //[{age: 37,name: 'Bobbie Hanson',gender: 'female',group: 6,},
               //  {age: 38,name: 'Leon Oneill',gender: 'male',group: 7,},]

Returns array

length

Returns number of elements

Examples

const coll = new Enumerable([{age: 37,name: 'Bobbie Hanson',gender: 'female',group: 6,},
                           {age: 38,name: 'Leon Oneill',gender: 'male',group: 7,},]);
coll.length(); //2

Returns int

Readme

Keywords

Package Sidebar

Install

npm i enumerable-linq

Weekly Downloads

0

Version

1.0.4

License

ISC

Unpacked Size

84.6 kB

Total Files

26

Last publish

Collaborators

  • vikzh