ts-linq-builder
v1.0.3
Published
Typescript Linq Implementation
Downloads
5
Readme
QueryBuilder
QueryBuilder
is a TypeScript class that provides LINQ-like querying capabilities for collections. It allows you to perform common operations such as where
, select
, join
, sum
, average
, min
, max
, and more on your data collections.
Installation
To use QueryBuilder
in your project, you can install it via npm:
npm ts-linq-builder
Usage
Here's how you can use QueryBuilder in your TypeScript project:
import QueryBuilder from "ts-linq-builder";
const users = [
{ id: 1, name: "John" },
{ id: 2, name: "Jane" },
];
const userDetails = [
{ id: 1, age: 30 },
{ id: 2, age: 20 },
];
const queryBuilder = new QueryBuilder(users);
queryBuilder
.join(userDetails, (outer, inner) => outer.id === inner.id, (outer, inner) => {
return {
id: outer.id,
name: outer.name,
age: inner.age,
};
})
.forEach(item => console.log(item));
Example Project
See more Example
Available Operations
QueryBuilder supports the following operations:
- where: Filters the collection based on a condition.
- select: Projects the collection to a new shape.
- join: Joins two collections based on a condition.
- sum: Calculates the sum of a numeric property.
- average: Calculates the average of a numeric property.
- min: Finds the minimum value of a numeric property.
- max: Finds the maximum value of a numeric property.
- first: Returns the first element based on a condition.
- single: Returns a single element based on a condition.
- last: Returns the last element based on a condition.
Contributing
Feel free to contribute to this project by opening issues or submitting pull requests. We welcome your suggestions and improvements.
License
This project is licensed under the MIT License.