Skip to content

jinhduong/linq-fns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eslinq

.NET LINQ for Javascript, written by TypeScript.

  • Provide IQueryable<T>, it's reusable, also variable and use iterator list to call query.
  • Contains all the original .NET methods
  • Support strong typing

Example

import { Queryable } from "./implements/queryable";

const queryable = new Queryable<{ name, overall }>();
let source = [
    { name: 'Ronaldo', overall: 96 },
    { name: 'Messi', overall: 98 },
    { name: 'Mbappe', overall: 86 },
]

let query = queryable
    .from(source)
    .where(x => x.overall > 90);

console.log(query.toList())
// [{name:'Ronaldo', overall: 96}, {name:'Messi', overall: 98}]

let query1 = query
    .where(x => x.overall > 96)
    .select(x => `Best player is ${x.name}`);

console.log(query1.toList())
// ['Best player is Messi']

Process

  • from
  • where
  • select
  • selectMany
  • join
  • groupJoin
  • orderBy
  • orderByDescending
  • thenBy
  • thenByDescending
  • take
  • takeWhile
  • skip
  • groupBy
  • distinct
  • concat
  • zip
  • union
  • intersect
  • except
  • first
  • firstOrDefault
  • last
  • lastOrDefault
  • single
  • singleOrDefault
  • elementAt
  • elementAtOrDefault
  • orderByDescending
  • defaultIfEmpty
  • contains
  • reserve
  • sequenceEqual
  • any
  • all
  • count
  • longCount
  • min
  • max
  • sum
  • average
  • aggregate

License

MIT License