
Security News
Astral Launches pyx: A Python-Native Package Registry
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
linq-es2015
Advanced tools
Complete implementation of Language-Integrated Query (LINQ) (ECMAScript 2015 Language Specification)
The library is a continuous effort to implement LINQ using latest features of TypeScript and JavaScript languages (For ES5 compatible library look at linq-es5 branch). The library is implemented in TypeScript and transpiled into JavaScript. It is distributed as a native module. It utilizes latest ECMAScript 2015 language specification: Iterables ( [System.iterator] ), generators (function*), for of loops.
All relevant methods are implemented with deferred execution so no unnecessary iterations are performed.
The code is backwards compatible with linq-es5 and C# implementations.
Install module with this command:
npm install linq-es2015 --save
Once installed it could be loaded and used like this:
import * as Enumerable from "linq-es2015";
var count = Enumerable.asEnumerable( [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] )
.Where(a => a % 2 == 1)
.Count()
var iterable = Enumerable.asEnumerable(people)
.GroupJoin(pets,
person => person,
pet => pet.Owner,
(person, petCollection) => {
return {
Owner: person.Name,
Pets: asEnumerable(petCollection)
.Select(pet=> pet.Name)
.ToArray()
};
});
Browserified "standalone" UMD module is located in /dist directory and could be accessed through NPM CDN service. Both linq.js and linq.min.js are available.
Module is loaded with <script> element:
<script type="text/javascript" src="//unpkg.com/linq-es2015/dist/linq.min.js"></script>
Loading this script creates Enumerable global variable. You can use it to perform LINQ queries:
var count = Enumerable.asEnumerable( [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] )
.Where(a => a % 2 == 1)
.Count()
The same package could be used on a server as well as on the client. You have to install module as usual:
npm install linq-es2015 --save
Open app.components.html file and add element to hold calculated value:
<h1>{{title}}</h1>
<div>Count - {{count}}</div>
and finally import linq-es2015 in app.component.ts and do some calculations:
import { Component } from '@angular/core';
import { asEnumerable } from 'linq-es2015';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app works!';
count: number;
constructor(){
this.count = asEnumerable([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]).Where(a => a % 2 == 1)
.Count();
}
}
FAQs
Complete implementation of Language-Integrated Query (LINQ) (ECMAScript 2015 Language Specification)
The npm package linq-es2015 receives a total of 897 weekly downloads. As such, linq-es2015 popularity was classified as not popular.
We found that linq-es2015 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.

Security News
The Latio podcast explores how static and runtime reachability help teams prioritize exploitable vulnerabilities and streamline AppSec workflows.

Security News
The latest Opengrep releases add Apex scanning, precision rule tuning, and performance gains for open source static code analysis.