@aurorajs.dev/core-common
Shared TypeScript library for the Aurora
ecosystem. Provides SQL query abstractions (Sequelize-compatible) consumed by
NestJS applications using GraphQL, Sequelize ORM and PostgreSQL.
- Dual CJS/ESM output
- Full TypeScript declarations
- Zero runtime dependencies
Installation
npm install @aurorajs.dev/core-common
Usage
import {
QueryStatement,
Operator,
IndexHints,
} from '@aurorajs.dev/core-common';
const queryStatement: QueryStatement = {
where: {
name: { [Operator.like]: '%aurora%' },
age: { [Operator.gte]: 18 },
},
attributes: ['id', 'name', 'email'],
order: [['name', 'ASC']],
limit: 25,
offset: 0,
};
API
QueryStatement
Sequelize-compatible query options class with the following properties:
where | any | Conditions to match rows |
attributes | any | Columns to select (supports renaming via arrays) |
include | any | Associations to eagerly load (left join) |
order | any | Column ordering ([['name', 'DESC']]) |
group | any | GROUP BY clause |
limit | number | Max rows to return |
offset | number | Rows to skip |
lock | any | Row-level locking |
skipLocked | boolean | Skip locked rows (Postgres only) |
raw | boolean | Return raw result |
having | any | Filter after GROUP BY |
subQuery | boolean | Use sub queries |
indexHints | IndexHint[] | Index hints for the query |
distinct | boolean | Apply COUNT(DISTINCT(col)) |
col | string | Column to aggregate on |
Operator
Enum mapping SQL operators for use in where clauses:
| Concatenation | and, or |
| Comparison | eq, ne, gt, gte, lt, lte |
| Pattern | like, notLike, startsWith, endsWith, substring |
| Range | between, notBetween, in, notIn |
| Regex | regexp, notRegexp |
| Postgres-specific | iLike, notILike, iRegexp, notIRegexp, overlap, contains, contained, adjacent, strictLeft, strictRight, noExtendRight, noExtendLeft, any |
| Utils | col, join, not, is, all, values, placeholder |
IndexHints
Enum for index hint types: USE, FORCE, IGNORE.
Types
Any | Utility type alias (any) |
IndexHint | Interface with type: IndexHints and values: string[] |
LiteralObject | Record<string, unknown> |
Development
pnpm install
pnpm run build
pnpm run start:dev
pnpm run test
pnpm run lint
pnpm run format
License
MIT