typeorm-extensions
v1.2.6
Published
typeorm commonly used extensions
Downloads
774
Maintainers
Readme
TypeORM Extensions
Description
TypeORM Extensions is a library that provides additional functionality and extensions for the TypeORM QueryBuilder. It aims to simplify common tasks and enhance the capabilities of TypeORM.
Features
- Simplicity: applying pagination and ordering to queries is as simple as calling a method.
- Type Safety: the library is written in TypeScript and provides type-safe QueryBuilder methods based on Entity metadata.
- Flexibility: the library is designed to be flexible and can be used with any TypeORM entity.
Installation
To install typeorm-extensions
:
Install using npm, yarn or pnpm:
npm install typeorm-extensions
Usage
import 'typeorm-extensions'; // Import the library root to extend the QueryBuilder with all extensions
// Or init specific extension: import 'typeorm-extensions/dist/extensions/pagination.extension';
const query = myDataSource
.createQueryBuilder()
.from(UserEntity, 'users')
// Join relation defined in entity model
.leftJoinTyped(user => user.profile, 'profile')
// Select type-safe properties
.selectTyped(user => ([
id: user.id,
name: user.name,
email: user.email,
]))
.whereTyped(user => user.name, 'ILIKE :search', { search: 'John' })
// Order by type-safe own and relation properties
.orderByTyped(user => user.profile.avatarUrl, 'ASC', 'NULLS LAST')
// Use pagination as simple as that
.applyPaginationFilter({ page: 1, pageSize: 10 }, { useTakeAndSkip: true });
Documentation
For more information, please refer to the documentation.