Skip to content

Commit bade900

Browse files
committed
chore: add barrel file
1 parent 3d17dcb commit bade900

File tree

2 files changed

+50
-50
lines changed

2 files changed

+50
-50
lines changed

src/buildPaginator.ts

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import { ObjectType } from 'typeorm';
2+
3+
import Paginator, { Order } from './Paginator';
4+
5+
export interface PagingQuery {
6+
afterCursor?: string;
7+
beforeCursor?: string;
8+
limit?: number;
9+
order?: Order;
10+
}
11+
12+
export interface PaginationOptions<Entity> {
13+
entity: ObjectType<Entity>;
14+
alias?: string;
15+
query?: PagingQuery;
16+
paginationKeys?: Extract<keyof Entity, string>[];
17+
}
18+
19+
export function buildPaginator<Entity>(options: PaginationOptions<Entity>): Paginator<Entity> {
20+
const {
21+
entity,
22+
query = {},
23+
alias = entity.name.toLowerCase(),
24+
paginationKeys = ['id' as any],
25+
} = options;
26+
27+
const paginator = new Paginator(entity, paginationKeys);
28+
29+
paginator.setAlias(alias);
30+
31+
if (query.afterCursor) {
32+
paginator.setAfterCursor(query.afterCursor);
33+
}
34+
35+
if (query.beforeCursor) {
36+
paginator.setBeforeCursor(query.beforeCursor);
37+
}
38+
39+
if (query.limit) {
40+
paginator.setLimit(query.limit);
41+
}
42+
43+
if (query.order) {
44+
paginator.setOrder(query.order);
45+
}
46+
47+
return paginator;
48+
}

src/index.ts

Lines changed: 2 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,2 @@
1-
import { ObjectType } from 'typeorm';
2-
3-
import Paginator, { Order, Cursor, PagingResult } from './Paginator';
4-
5-
export { Order, Cursor, PagingResult };
6-
7-
export interface PagingQuery {
8-
afterCursor?: string;
9-
beforeCursor?: string;
10-
limit?: number;
11-
order?: Order;
12-
}
13-
14-
export interface PaginationOptions<Entity> {
15-
entity: ObjectType<Entity>;
16-
alias?: string;
17-
query?: PagingQuery;
18-
paginationKeys?: Extract<keyof Entity, string>[];
19-
}
20-
21-
export function buildPaginator<Entity>(options: PaginationOptions<Entity>): Paginator<Entity> {
22-
const {
23-
entity,
24-
query = {},
25-
alias = entity.name.toLowerCase(),
26-
paginationKeys = ['id' as any],
27-
} = options;
28-
29-
const paginator = new Paginator(entity, paginationKeys);
30-
31-
paginator.setAlias(alias);
32-
33-
if (query.afterCursor) {
34-
paginator.setAfterCursor(query.afterCursor);
35-
}
36-
37-
if (query.beforeCursor) {
38-
paginator.setBeforeCursor(query.beforeCursor);
39-
}
40-
41-
if (query.limit) {
42-
paginator.setLimit(query.limit);
43-
}
44-
45-
if (query.order) {
46-
paginator.setOrder(query.order);
47-
}
48-
49-
return paginator;
50-
}
1+
export * from './buildPaginator';
2+
export * from './Paginator';

0 commit comments

Comments
 (0)