File tree Expand file tree Collapse file tree 2 files changed +50
-50
lines changed
Expand file tree Collapse file tree 2 files changed +50
-50
lines changed Original file line number Diff line number Diff line change 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+ }
Original file line number Diff line number Diff line change 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' ;
You can’t perform that action at this time.
0 commit comments