@tc-libs/pagination 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/package.json +11 -0
- package/src/constants/index.d.ts +2 -0
- package/src/constants/index.js +6 -0
- package/src/constants/index.js.map +1 -0
- package/src/constants/pagination.constant.d.ts +9 -0
- package/src/constants/pagination.constant.js +13 -0
- package/src/constants/pagination.constant.js.map +1 -0
- package/src/constants/pagination.enum.constant.d.ts +12 -0
- package/src/constants/pagination.enum.constant.js +19 -0
- package/src/constants/pagination.enum.constant.js.map +1 -0
- package/src/decorators/index.d.ts +1 -0
- package/src/decorators/index.js +5 -0
- package/src/decorators/index.js.map +1 -0
- package/src/decorators/pagination.decorator.d.ts +10 -0
- package/src/decorators/pagination.decorator.js +45 -0
- package/src/decorators/pagination.decorator.js.map +1 -0
- package/src/dtos/index.d.ts +1 -0
- package/src/dtos/index.js +5 -0
- package/src/dtos/index.js.map +1 -0
- package/src/dtos/pagination.list.dto.d.ts +10 -0
- package/src/dtos/pagination.list.dto.js +33 -0
- package/src/dtos/pagination.list.dto.js.map +1 -0
- package/src/index.d.ts +7 -0
- package/src/index.js +11 -0
- package/src/index.js.map +1 -0
- package/src/interfaces/index.d.ts +2 -0
- package/src/interfaces/index.js +6 -0
- package/src/interfaces/index.js.map +1 -0
- package/src/interfaces/pagination.interface.d.ts +21 -0
- package/src/interfaces/pagination.interface.js +3 -0
- package/src/interfaces/pagination.interface.js.map +1 -0
- package/src/interfaces/pagination.service.interface.d.ts +15 -0
- package/src/interfaces/pagination.service.interface.js +3 -0
- package/src/interfaces/pagination.service.interface.js.map +1 -0
- package/src/pagination.module.d.ts +2 -0
- package/src/pagination.module.js +17 -0
- package/src/pagination.module.js.map +1 -0
- package/src/pipes/index.d.ts +9 -0
- package/src/pipes/index.js +13 -0
- package/src/pipes/index.js.map +1 -0
- package/src/pipes/pagination.filter-contain.pipe.d.ts +4 -0
- package/src/pipes/pagination.filter-contain.pipe.js +48 -0
- package/src/pipes/pagination.filter-contain.pipe.js.map +1 -0
- package/src/pipes/pagination.filter-date.pipe.d.ts +4 -0
- package/src/pipes/pagination.filter-date.pipe.js +43 -0
- package/src/pipes/pagination.filter-date.pipe.js.map +1 -0
- package/src/pipes/pagination.filter-equal-object-id.pipe.d.ts +10 -0
- package/src/pipes/pagination.filter-equal-object-id.pipe.js +36 -0
- package/src/pipes/pagination.filter-equal-object-id.pipe.js.map +1 -0
- package/src/pipes/pagination.filter-equal.pipe.d.ts +4 -0
- package/src/pipes/pagination.filter-equal.pipe.js +50 -0
- package/src/pipes/pagination.filter-equal.pipe.js.map +1 -0
- package/src/pipes/pagination.filter-in-boolean.pipe.d.ts +3 -0
- package/src/pipes/pagination.filter-in-boolean.pipe.js +37 -0
- package/src/pipes/pagination.filter-in-boolean.pipe.js.map +1 -0
- package/src/pipes/pagination.filter-in-enum.pipe.d.ts +3 -0
- package/src/pipes/pagination.filter-in-enum.pipe.js +39 -0
- package/src/pipes/pagination.filter-in-enum.pipe.js.map +1 -0
- package/src/pipes/pagination.order.pipe.d.ts +4 -0
- package/src/pipes/pagination.order.pipe.js +43 -0
- package/src/pipes/pagination.order.pipe.js.map +1 -0
- package/src/pipes/pagination.paging.pipe.d.ts +3 -0
- package/src/pipes/pagination.paging.pipe.js +40 -0
- package/src/pipes/pagination.paging.pipe.js.map +1 -0
- package/src/pipes/pagination.search.pipe.d.ts +3 -0
- package/src/pipes/pagination.search.pipe.js +37 -0
- package/src/pipes/pagination.search.pipe.js.map +1 -0
- package/src/services/index.d.ts +1 -0
- package/src/services/index.js +5 -0
- package/src/services/index.js.map +1 -0
- package/src/services/pagination.service.d.ts +24 -0
- package/src/services/pagination.service.js +98 -0
- package/src/services/pagination.service.js.map +1 -0
package/README.md
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./pagination.constant"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./pagination.enum.constant"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/constants/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,qEAA2C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ENUM_PAGINATION_ORDER_DIRECTION_TYPE } from './pagination.enum.constant';
|
|
2
|
+
export declare const PAGINATION_PER_PAGE = 20;
|
|
3
|
+
export declare const PAGINATION_MAX_PER_PAGE = 100;
|
|
4
|
+
export declare const PAGINATION_PAGE = 1;
|
|
5
|
+
export declare const PAGINATION_MAX_PAGE = 20;
|
|
6
|
+
export declare const PAGINATION_ORDER_BY = "createdAt";
|
|
7
|
+
export declare const PAGINATION_ORDER_DIRECTION: ENUM_PAGINATION_ORDER_DIRECTION_TYPE;
|
|
8
|
+
export declare const PAGINATION_AVAILABLE_ORDER_BY: string[];
|
|
9
|
+
export declare const PAGINATION_AVAILABLE_ORDER_DIRECTION: ENUM_PAGINATION_ORDER_DIRECTION_TYPE[];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PAGINATION_AVAILABLE_ORDER_DIRECTION = exports.PAGINATION_AVAILABLE_ORDER_BY = exports.PAGINATION_ORDER_DIRECTION = exports.PAGINATION_ORDER_BY = exports.PAGINATION_MAX_PAGE = exports.PAGINATION_PAGE = exports.PAGINATION_MAX_PER_PAGE = exports.PAGINATION_PER_PAGE = void 0;
|
|
4
|
+
const pagination_enum_constant_1 = require("./pagination.enum.constant");
|
|
5
|
+
exports.PAGINATION_PER_PAGE = 20;
|
|
6
|
+
exports.PAGINATION_MAX_PER_PAGE = 100;
|
|
7
|
+
exports.PAGINATION_PAGE = 1;
|
|
8
|
+
exports.PAGINATION_MAX_PAGE = 20;
|
|
9
|
+
exports.PAGINATION_ORDER_BY = 'createdAt';
|
|
10
|
+
exports.PAGINATION_ORDER_DIRECTION = pagination_enum_constant_1.ENUM_PAGINATION_ORDER_DIRECTION_TYPE.ASC;
|
|
11
|
+
exports.PAGINATION_AVAILABLE_ORDER_BY = ['createdAt'];
|
|
12
|
+
exports.PAGINATION_AVAILABLE_ORDER_DIRECTION = Object.values(pagination_enum_constant_1.ENUM_PAGINATION_ORDER_DIRECTION_TYPE);
|
|
13
|
+
//# sourceMappingURL=pagination.constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.constant.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/constants/pagination.constant.ts"],"names":[],"mappings":";;;AAAA,yEAAkF;AAErE,QAAA,mBAAmB,GAAG,EAAE,CAAC;AACzB,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAC9B,QAAA,eAAe,GAAG,CAAC,CAAC;AACpB,QAAA,mBAAmB,GAAG,EAAE,CAAC;AACzB,QAAA,mBAAmB,GAAG,WAAW,CAAC;AAClC,QAAA,0BAA0B,GACrC,+DAAoC,CAAC,GAAG,CAAC;AAC9B,QAAA,6BAA6B,GAAa,CAAC,WAAW,CAAC,CAAC;AACxD,QAAA,oCAAoC,GAC/C,MAAM,CAAC,MAAM,CAAC,+DAAoC,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare enum ENUM_PAGINATION_ORDER_DIRECTION_TYPE {
|
|
2
|
+
ASC = "asc",
|
|
3
|
+
DESC = "desc"
|
|
4
|
+
}
|
|
5
|
+
export declare enum ENUM_PAGINATION_FILTER_CASE_OPTIONS {
|
|
6
|
+
UPPERCASE = "UPPERCASE",
|
|
7
|
+
LOWERCASE = "LOWERCASE"
|
|
8
|
+
}
|
|
9
|
+
export declare enum ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS {
|
|
10
|
+
START_OF_DAY = "START_OF_DAY",
|
|
11
|
+
END_OF_DAY = "END_OF_DAY"
|
|
12
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS = exports.ENUM_PAGINATION_FILTER_CASE_OPTIONS = exports.ENUM_PAGINATION_ORDER_DIRECTION_TYPE = void 0;
|
|
4
|
+
var ENUM_PAGINATION_ORDER_DIRECTION_TYPE;
|
|
5
|
+
(function (ENUM_PAGINATION_ORDER_DIRECTION_TYPE) {
|
|
6
|
+
ENUM_PAGINATION_ORDER_DIRECTION_TYPE["ASC"] = "asc";
|
|
7
|
+
ENUM_PAGINATION_ORDER_DIRECTION_TYPE["DESC"] = "desc";
|
|
8
|
+
})(ENUM_PAGINATION_ORDER_DIRECTION_TYPE || (exports.ENUM_PAGINATION_ORDER_DIRECTION_TYPE = ENUM_PAGINATION_ORDER_DIRECTION_TYPE = {}));
|
|
9
|
+
var ENUM_PAGINATION_FILTER_CASE_OPTIONS;
|
|
10
|
+
(function (ENUM_PAGINATION_FILTER_CASE_OPTIONS) {
|
|
11
|
+
ENUM_PAGINATION_FILTER_CASE_OPTIONS["UPPERCASE"] = "UPPERCASE";
|
|
12
|
+
ENUM_PAGINATION_FILTER_CASE_OPTIONS["LOWERCASE"] = "LOWERCASE";
|
|
13
|
+
})(ENUM_PAGINATION_FILTER_CASE_OPTIONS || (exports.ENUM_PAGINATION_FILTER_CASE_OPTIONS = ENUM_PAGINATION_FILTER_CASE_OPTIONS = {}));
|
|
14
|
+
var ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS;
|
|
15
|
+
(function (ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS) {
|
|
16
|
+
ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS["START_OF_DAY"] = "START_OF_DAY";
|
|
17
|
+
ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS["END_OF_DAY"] = "END_OF_DAY";
|
|
18
|
+
})(ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS || (exports.ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS = ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS = {}));
|
|
19
|
+
//# sourceMappingURL=pagination.enum.constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.enum.constant.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/constants/pagination.enum.constant.ts"],"names":[],"mappings":";;;AAAA,IAAY,oCAGX;AAHD,WAAY,oCAAoC;IAC9C,mDAAW,CAAA;IACX,qDAAa,CAAA;AACf,CAAC,EAHW,oCAAoC,oDAApC,oCAAoC,QAG/C;AAED,IAAY,mCAGX;AAHD,WAAY,mCAAmC;IAC7C,8DAAuB,CAAA;IACvB,8DAAuB,CAAA;AACzB,CAAC,EAHW,mCAAmC,mDAAnC,mCAAmC,QAG9C;AAED,IAAY,wCAGX;AAHD,WAAY,wCAAwC;IAClD,yEAA6B,CAAA;IAC7B,qEAAyB,CAAA;AAC3B,CAAC,EAHW,wCAAwC,wDAAxC,wCAAwC,QAGnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './pagination.decorator';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/decorators/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ENUM_PAGINATION_ORDER_DIRECTION_TYPE } from '../constants';
|
|
2
|
+
import { IPaginationFilterStringEqualOptions, IPaginationFilterStringContainOptions, IPaginationFilterDateOptions } from '../interfaces';
|
|
3
|
+
export declare function PaginationQuery(defaultPerPage: number, defaultOrderBy: string, defaultOrderDirection: ENUM_PAGINATION_ORDER_DIRECTION_TYPE, availableSearch: string[], availableOrderBy: string[]): ParameterDecorator;
|
|
4
|
+
export declare function PaginationQuerySearch(availableSearch: string[]): ParameterDecorator;
|
|
5
|
+
export declare function PaginationQueryFilterInBoolean(field: string, defaultValue: boolean[]): ParameterDecorator;
|
|
6
|
+
export declare function PaginationQueryFilterInEnum<T>(field: string, defaultValue: T, defaultEnum: Record<string, any>): ParameterDecorator;
|
|
7
|
+
export declare function PaginationQueryFilterEqual(field: string, options?: IPaginationFilterStringEqualOptions): ParameterDecorator;
|
|
8
|
+
export declare function PaginationQueryFilterContain(field: string, options?: IPaginationFilterStringContainOptions): ParameterDecorator;
|
|
9
|
+
export declare function PaginationQueryFilterDate(field: string, options?: IPaginationFilterDateOptions): ParameterDecorator;
|
|
10
|
+
export declare function PaginationQueryFilterEqualObjectId(field: string): ParameterDecorator;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationQuery = PaginationQuery;
|
|
4
|
+
exports.PaginationQuerySearch = PaginationQuerySearch;
|
|
5
|
+
exports.PaginationQueryFilterInBoolean = PaginationQueryFilterInBoolean;
|
|
6
|
+
exports.PaginationQueryFilterInEnum = PaginationQueryFilterInEnum;
|
|
7
|
+
exports.PaginationQueryFilterEqual = PaginationQueryFilterEqual;
|
|
8
|
+
exports.PaginationQueryFilterContain = PaginationQueryFilterContain;
|
|
9
|
+
exports.PaginationQueryFilterDate = PaginationQueryFilterDate;
|
|
10
|
+
exports.PaginationQueryFilterEqualObjectId = PaginationQueryFilterEqualObjectId;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const pagination_filter_contain_pipe_1 = require("../pipes/pagination.filter-contain.pipe");
|
|
13
|
+
const pagination_filter_date_pipe_1 = require("../pipes/pagination.filter-date.pipe");
|
|
14
|
+
const pagination_filter_equal_object_id_pipe_1 = require("../pipes/pagination.filter-equal-object-id.pipe");
|
|
15
|
+
const pagination_filter_equal_pipe_1 = require("../pipes/pagination.filter-equal.pipe");
|
|
16
|
+
const pagination_filter_in_boolean_pipe_1 = require("../pipes/pagination.filter-in-boolean.pipe");
|
|
17
|
+
const pagination_filter_in_enum_pipe_1 = require("../pipes/pagination.filter-in-enum.pipe");
|
|
18
|
+
const pagination_order_pipe_1 = require("../pipes/pagination.order.pipe");
|
|
19
|
+
const pagination_paging_pipe_1 = require("../pipes/pagination.paging.pipe");
|
|
20
|
+
const pagination_search_pipe_1 = require("../pipes/pagination.search.pipe");
|
|
21
|
+
function PaginationQuery(defaultPerPage, defaultOrderBy, defaultOrderDirection, availableSearch, availableOrderBy) {
|
|
22
|
+
return (0, common_1.Query)((0, pagination_search_pipe_1.PaginationSearchPipe)(availableSearch), (0, pagination_paging_pipe_1.PaginationPagingPipe)(defaultPerPage), (0, pagination_order_pipe_1.PaginationOrderPipe)(defaultOrderBy, defaultOrderDirection, availableOrderBy));
|
|
23
|
+
}
|
|
24
|
+
function PaginationQuerySearch(availableSearch) {
|
|
25
|
+
return (0, common_1.Query)((0, pagination_search_pipe_1.PaginationSearchPipe)(availableSearch));
|
|
26
|
+
}
|
|
27
|
+
function PaginationQueryFilterInBoolean(field, defaultValue) {
|
|
28
|
+
return (0, common_1.Query)(field, (0, pagination_filter_in_boolean_pipe_1.PaginationFilterInBooleanPipe)(defaultValue));
|
|
29
|
+
}
|
|
30
|
+
function PaginationQueryFilterInEnum(field, defaultValue, defaultEnum) {
|
|
31
|
+
return (0, common_1.Query)(field, (0, pagination_filter_in_enum_pipe_1.PaginationFilterInEnumPipe)(defaultValue, defaultEnum));
|
|
32
|
+
}
|
|
33
|
+
function PaginationQueryFilterEqual(field, options) {
|
|
34
|
+
return (0, common_1.Query)(field, (0, pagination_filter_equal_pipe_1.PaginationFilterEqualPipe)(options));
|
|
35
|
+
}
|
|
36
|
+
function PaginationQueryFilterContain(field, options) {
|
|
37
|
+
return (0, common_1.Query)(field, (0, pagination_filter_contain_pipe_1.PaginationFilterContainPipe)(options));
|
|
38
|
+
}
|
|
39
|
+
function PaginationQueryFilterDate(field, options) {
|
|
40
|
+
return (0, common_1.Query)(field, (0, pagination_filter_date_pipe_1.PaginationFilterDatePipe)(options));
|
|
41
|
+
}
|
|
42
|
+
function PaginationQueryFilterEqualObjectId(field) {
|
|
43
|
+
return (0, common_1.Query)(field, pagination_filter_equal_object_id_pipe_1.PaginationFilterEqualObjectIdPipe);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=pagination.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.decorator.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/decorators/pagination.decorator.ts"],"names":[],"mappings":";;AAiBA,0CAgBC;AAED,sDAIC;AAED,wEAKC;AAED,kEAMC;AAED,gEAKC;AAED,oEAKC;AAED,8DAKC;AAED,gFAIC;AAjFD,2CAAuC;AAOvC,4FAAsF;AACtF,sFAAgF;AAChF,4GAAoG;AACpG,wFAAkF;AAClF,kGAA2F;AAC3F,4FAAqF;AACrF,0EAAqE;AACrE,4EAAuE;AACvE,4EAAuE;AAEvE,SAAgB,eAAe,CAC7B,cAAsB,EACtB,cAAsB,EACtB,qBAA2D,EAC3D,eAAyB,EACzB,gBAA0B;IAE1B,OAAO,IAAA,cAAK,EACV,IAAA,6CAAoB,EAAC,eAAe,CAAC,EACrC,IAAA,6CAAoB,EAAC,cAAc,CAAC,EACpC,IAAA,2CAAmB,EACjB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,CACjB,CACF,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CACnC,eAAyB;IAEzB,OAAO,IAAA,cAAK,EAAC,IAAA,6CAAoB,EAAC,eAAe,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAgB,8BAA8B,CAC5C,KAAa,EACb,YAAuB;IAEvB,OAAO,IAAA,cAAK,EAAC,KAAK,EAAE,IAAA,iEAA6B,EAAC,YAAY,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAgB,2BAA2B,CACzC,KAAa,EACb,YAAe,EACf,WAAgC;IAEhC,OAAO,IAAA,cAAK,EAAC,KAAK,EAAE,IAAA,2DAA0B,EAAI,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAgB,0BAA0B,CACxC,KAAa,EACb,OAA6C;IAE7C,OAAO,IAAA,cAAK,EAAC,KAAK,EAAE,IAAA,wDAAyB,EAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAgB,4BAA4B,CAC1C,KAAa,EACb,OAA+C;IAE/C,OAAO,IAAA,cAAK,EAAC,KAAK,EAAE,IAAA,4DAA2B,EAAC,OAAO,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAgB,yBAAyB,CACvC,KAAa,EACb,OAAsC;IAEtC,OAAO,IAAA,cAAK,EAAC,KAAK,EAAE,IAAA,sDAAwB,EAAC,OAAO,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,kCAAkC,CAChD,KAAa;IAEb,OAAO,IAAA,cAAK,EAAC,KAAK,EAAE,0EAAiC,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './pagination.list.dto';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/dtos/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ENUM_PAGINATION_ORDER_DIRECTION_TYPE } from '../constants';
|
|
2
|
+
import { IPaginationOrder } from '../interfaces';
|
|
3
|
+
export declare class PaginationListDto {
|
|
4
|
+
_search: Record<string, any>;
|
|
5
|
+
_limit: number;
|
|
6
|
+
_offset: number;
|
|
7
|
+
_order: IPaginationOrder;
|
|
8
|
+
_availableOrderBy: string[];
|
|
9
|
+
_availableOrderDirection: ENUM_PAGINATION_ORDER_DIRECTION_TYPE[];
|
|
10
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationListDto = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
6
|
+
class PaginationListDto {
|
|
7
|
+
}
|
|
8
|
+
exports.PaginationListDto = PaginationListDto;
|
|
9
|
+
tslib_1.__decorate([
|
|
10
|
+
(0, swagger_1.ApiHideProperty)(),
|
|
11
|
+
tslib_1.__metadata("design:type", Object)
|
|
12
|
+
], PaginationListDto.prototype, "_search", void 0);
|
|
13
|
+
tslib_1.__decorate([
|
|
14
|
+
(0, swagger_1.ApiHideProperty)(),
|
|
15
|
+
tslib_1.__metadata("design:type", Number)
|
|
16
|
+
], PaginationListDto.prototype, "_limit", void 0);
|
|
17
|
+
tslib_1.__decorate([
|
|
18
|
+
(0, swagger_1.ApiHideProperty)(),
|
|
19
|
+
tslib_1.__metadata("design:type", Number)
|
|
20
|
+
], PaginationListDto.prototype, "_offset", void 0);
|
|
21
|
+
tslib_1.__decorate([
|
|
22
|
+
(0, swagger_1.ApiHideProperty)(),
|
|
23
|
+
tslib_1.__metadata("design:type", Object)
|
|
24
|
+
], PaginationListDto.prototype, "_order", void 0);
|
|
25
|
+
tslib_1.__decorate([
|
|
26
|
+
(0, swagger_1.ApiHideProperty)(),
|
|
27
|
+
tslib_1.__metadata("design:type", Array)
|
|
28
|
+
], PaginationListDto.prototype, "_availableOrderBy", void 0);
|
|
29
|
+
tslib_1.__decorate([
|
|
30
|
+
(0, swagger_1.ApiHideProperty)(),
|
|
31
|
+
tslib_1.__metadata("design:type", Array)
|
|
32
|
+
], PaginationListDto.prototype, "_availableOrderDirection", void 0);
|
|
33
|
+
//# sourceMappingURL=pagination.list.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.list.dto.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/dtos/pagination.list.dto.ts"],"names":[],"mappings":";;;;AAAA,6CAAkD;AAIlD,MAAa,iBAAiB;CAkB7B;AAlBD,8CAkBC;AAhBC;IADC,IAAA,yBAAe,GAAE;;kDACW;AAG7B;IADC,IAAA,yBAAe,GAAE;;iDACH;AAGf;IADC,IAAA,yBAAe,GAAE;;kDACF;AAGhB;IADC,IAAA,yBAAe,GAAE;;iDACO;AAGzB;IADC,IAAA,yBAAe,GAAE;;4DACU;AAG5B;IADC,IAAA,yBAAe,GAAE;;mEAC+C"}
|
package/src/index.d.ts
ADDED
package/src/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./constants"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./pagination.module"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./services"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./interfaces"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./pipes"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./dtos"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./decorators"), exports);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/pagination/src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,8DAAoC;AACpC,qDAA2B;AAC3B,uDAA6B;AAC7B,kDAAwB;AACxB,iDAAuB;AACvB,uDAA6B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./pagination.interface"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./pagination.service.interface"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC;AACvC,yEAA+C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ENUM_PAGINATION_ORDER_DIRECTION_TYPE, ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS, ENUM_PAGINATION_FILTER_CASE_OPTIONS } from '../constants';
|
|
2
|
+
export type IPaginationOrder = Record<string, ENUM_PAGINATION_ORDER_DIRECTION_TYPE>;
|
|
3
|
+
export interface IPaginationPaging {
|
|
4
|
+
limit?: number;
|
|
5
|
+
offset?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface IPaginationOptions {
|
|
8
|
+
paging?: IPaginationPaging;
|
|
9
|
+
order?: IPaginationOrder;
|
|
10
|
+
}
|
|
11
|
+
export interface IPaginationFilterDateOptions {
|
|
12
|
+
time?: ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS;
|
|
13
|
+
}
|
|
14
|
+
export interface IPaginationFilterStringContainOptions {
|
|
15
|
+
case?: ENUM_PAGINATION_FILTER_CASE_OPTIONS;
|
|
16
|
+
trim?: boolean;
|
|
17
|
+
fullMatch?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface IPaginationFilterStringEqualOptions extends IPaginationFilterStringContainOptions {
|
|
20
|
+
isNumber?: boolean;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.interface.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/interfaces/pagination.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ENUM_PAGINATION_ORDER_DIRECTION_TYPE } from '../constants';
|
|
2
|
+
import { IPaginationOrder } from './pagination.interface';
|
|
3
|
+
export interface IPaginationService {
|
|
4
|
+
offset(page: number, perPage: number): number;
|
|
5
|
+
totalPages(totalData: number, perPage: number): number;
|
|
6
|
+
offsetWithoutMax(page: number, perPage: number): number;
|
|
7
|
+
totalPageWithoutMax(totalData: number, perPage: number): number;
|
|
8
|
+
page(page: number): number;
|
|
9
|
+
perPage(perPage: number): number;
|
|
10
|
+
order(orderByValue: string, orderDirectionValue: ENUM_PAGINATION_ORDER_DIRECTION_TYPE, availableOrderBy: string[], availableOrderDirection: ENUM_PAGINATION_ORDER_DIRECTION_TYPE[]): IPaginationOrder;
|
|
11
|
+
search(searchValue: string, availableSearch: string[]): Record<string, any> | undefined;
|
|
12
|
+
filterEqual<T = string>(field: string, filterValue?: T): Record<string, any> | undefined;
|
|
13
|
+
filterContain(field: string, filterValue?: string): Record<string, any> | undefined;
|
|
14
|
+
filterIn<T = string>(field: string, filterValue?: T[]): Record<string, any> | undefined;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.service.interface.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/interfaces/pagination.service.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationModule = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const pagination_service_1 = require("./services/pagination.service");
|
|
7
|
+
let PaginationModule = class PaginationModule {
|
|
8
|
+
};
|
|
9
|
+
exports.PaginationModule = PaginationModule;
|
|
10
|
+
exports.PaginationModule = PaginationModule = tslib_1.__decorate([
|
|
11
|
+
(0, common_1.Module)({
|
|
12
|
+
providers: [pagination_service_1.PaginationService],
|
|
13
|
+
exports: [pagination_service_1.PaginationService],
|
|
14
|
+
imports: [],
|
|
15
|
+
})
|
|
16
|
+
], PaginationModule);
|
|
17
|
+
//# sourceMappingURL=pagination.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.module.js","sourceRoot":"","sources":["../../../../packages/pagination/src/pagination.module.ts"],"names":[],"mappings":";;;;AAAA,2CAAwC;AACxC,sEAAkE;AAO3D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IAL5B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,sCAAiB,CAAC;QAC9B,OAAO,EAAE,CAAC,sCAAiB,CAAC;QAC5B,OAAO,EAAE,EAAE;KACZ,CAAC;GACW,gBAAgB,CAAG"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './pagination.filter-contain.pipe';
|
|
2
|
+
export * from './pagination.filter-date.pipe';
|
|
3
|
+
export * from './pagination.filter-equal-object-id.pipe';
|
|
4
|
+
export * from './pagination.filter-equal.pipe';
|
|
5
|
+
export * from './pagination.filter-in-boolean.pipe';
|
|
6
|
+
export * from './pagination.filter-in-enum.pipe';
|
|
7
|
+
export * from './pagination.order.pipe';
|
|
8
|
+
export * from './pagination.paging.pipe';
|
|
9
|
+
export * from './pagination.search.pipe';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./pagination.filter-contain.pipe"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./pagination.filter-date.pipe"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./pagination.filter-equal-object-id.pipe"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./pagination.filter-equal.pipe"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./pagination.filter-in-boolean.pipe"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./pagination.filter-in-enum.pipe"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./pagination.order.pipe"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./pagination.paging.pipe"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./pagination.search.pipe"), exports);
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/index.ts"],"names":[],"mappings":";;;AAAA,2EAAiD;AACjD,wEAA8C;AAC9C,mFAAyD;AACzD,yEAA+C;AAC/C,8EAAoD;AACpD,2EAAiD;AACjD,kEAAwC;AACxC,mEAAyC;AACzC,mEAAyC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { PipeTransform } from '@nestjs/common/interfaces';
|
|
3
|
+
import { IPaginationFilterStringContainOptions } from '../interfaces';
|
|
4
|
+
export declare function PaginationFilterContainPipe(options?: IPaginationFilterStringContainOptions): Type<PipeTransform>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationFilterContainPipe = PaginationFilterContainPipe;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const interfaces_1 = require("@nestjs/common/interfaces");
|
|
7
|
+
const core_1 = require("@nestjs/core");
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
const pagination_service_1 = require("../services/pagination.service");
|
|
10
|
+
function PaginationFilterContainPipe(options) {
|
|
11
|
+
let MixinPaginationFilterContainPipe = class MixinPaginationFilterContainPipe {
|
|
12
|
+
constructor(request, paginationService) {
|
|
13
|
+
this.request = request;
|
|
14
|
+
this.paginationService = paginationService;
|
|
15
|
+
}
|
|
16
|
+
async transform(value, { data: field }) {
|
|
17
|
+
if (!value) {
|
|
18
|
+
value = '';
|
|
19
|
+
}
|
|
20
|
+
if (!field)
|
|
21
|
+
return undefined;
|
|
22
|
+
if (options?.case === constants_1.ENUM_PAGINATION_FILTER_CASE_OPTIONS.UPPERCASE) {
|
|
23
|
+
value = value.toUpperCase();
|
|
24
|
+
}
|
|
25
|
+
else if (options?.case === constants_1.ENUM_PAGINATION_FILTER_CASE_OPTIONS.LOWERCASE) {
|
|
26
|
+
value = value.toUpperCase();
|
|
27
|
+
}
|
|
28
|
+
if (options?.trim) {
|
|
29
|
+
value = value.trim();
|
|
30
|
+
}
|
|
31
|
+
// if (options?.fullMatch) {
|
|
32
|
+
// return this.paginationService.filterContainFullMatch(field, value);
|
|
33
|
+
// }
|
|
34
|
+
this.request.__filters = {
|
|
35
|
+
...this.request.__filters,
|
|
36
|
+
[field]: value,
|
|
37
|
+
};
|
|
38
|
+
return this.paginationService.filterContain(field, value);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
MixinPaginationFilterContainPipe = tslib_1.__decorate([
|
|
42
|
+
(0, common_1.Injectable)({ scope: interfaces_1.Scope.REQUEST }),
|
|
43
|
+
tslib_1.__param(0, (0, common_1.Inject)(core_1.REQUEST)),
|
|
44
|
+
tslib_1.__metadata("design:paramtypes", [Object, pagination_service_1.PaginationService])
|
|
45
|
+
], MixinPaginationFilterContainPipe);
|
|
46
|
+
return (0, common_1.mixin)(MixinPaginationFilterContainPipe);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=pagination.filter-contain.pipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.filter-contain.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-contain.pipe.ts"],"names":[],"mappings":";;AAYA,kEA8CC;;AAzDD,2CAAiE;AACjE,0DAImC;AACnC,uCAAuC;AACvC,4CAAmE;AAEnE,uEAAmE;AAEnE,SAAgB,2BAA2B,CACzC,OAA+C;IAE/C,IACM,gCAAgC,GADtC,MACM,gCAAgC;QACpC,YACsC,OAAoB,EACvC,iBAAoC;YADjB,YAAO,GAAP,OAAO,CAAa;YACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpD,CAAC;QAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;YAIjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,GAAG,EAAE,CAAC;YACb,CAAC;YACD,IAAI,CAAC,KAAK;gBAAE,OAAO,SAAS,CAAC;YAE7B,IAAI,OAAO,EAAE,IAAI,KAAK,+CAAmC,CAAC,SAAS,EAAE,CAAC;gBACpE,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC;iBAAM,IACL,OAAO,EAAE,IAAI,KAAK,+CAAmC,CAAC,SAAS,EAC/D,CAAC;gBACD,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAClB,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAED,4BAA4B;YAC5B,wEAAwE;YACxE,IAAI;YACJ,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;gBACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;gBACzB,CAAC,KAAK,CAAC,EAAE,KAAK;aACf,CAAC;YAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;KACF,CAAA;IAvCK,gCAAgC;QADrC,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,kBAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDACoB,sCAAiB;OAHnD,gCAAgC,CAuCrC;IAED,OAAO,IAAA,cAAK,EAAC,gCAAgC,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { PipeTransform } from '@nestjs/common/interfaces';
|
|
3
|
+
import { IPaginationFilterDateOptions } from '../interfaces';
|
|
4
|
+
export declare function PaginationFilterDatePipe(options?: IPaginationFilterDateOptions): Type<PipeTransform>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationFilterDatePipe = PaginationFilterDatePipe;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const interfaces_1 = require("@nestjs/common/interfaces");
|
|
7
|
+
const core_1 = require("@nestjs/core");
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
const pagination_service_1 = require("../services/pagination.service");
|
|
10
|
+
const helper_1 = require("@tc-libs/helper");
|
|
11
|
+
function PaginationFilterDatePipe(options) {
|
|
12
|
+
let MixinPaginationFilterDatePipe = class MixinPaginationFilterDatePipe {
|
|
13
|
+
constructor(request, paginationService, helperDateService) {
|
|
14
|
+
this.request = request;
|
|
15
|
+
this.paginationService = paginationService;
|
|
16
|
+
this.helperDateService = helperDateService;
|
|
17
|
+
}
|
|
18
|
+
async transform(value, { data: field }) {
|
|
19
|
+
if (!field)
|
|
20
|
+
return undefined;
|
|
21
|
+
let date = this.helperDateService.create(value);
|
|
22
|
+
if (options?.time === constants_1.ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS.END_OF_DAY) {
|
|
23
|
+
date = this.helperDateService.endOfDay(date);
|
|
24
|
+
}
|
|
25
|
+
else if (options?.time === constants_1.ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS.START_OF_DAY) {
|
|
26
|
+
date = this.helperDateService.startOfDay(date);
|
|
27
|
+
}
|
|
28
|
+
this.request.__filters = {
|
|
29
|
+
...this.request.__filters,
|
|
30
|
+
[field]: value,
|
|
31
|
+
};
|
|
32
|
+
return this.paginationService.filterDate(field, date);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
MixinPaginationFilterDatePipe = tslib_1.__decorate([
|
|
36
|
+
(0, common_1.Injectable)({ scope: interfaces_1.Scope.REQUEST }),
|
|
37
|
+
tslib_1.__param(0, (0, common_1.Inject)(core_1.REQUEST)),
|
|
38
|
+
tslib_1.__metadata("design:paramtypes", [Object, pagination_service_1.PaginationService,
|
|
39
|
+
helper_1.DateService])
|
|
40
|
+
], MixinPaginationFilterDatePipe);
|
|
41
|
+
return (0, common_1.mixin)(MixinPaginationFilterDatePipe);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=pagination.filter-date.pipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.filter-date.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-date.pipe.ts"],"names":[],"mappings":";;AAaA,4DAsCC;;AAlDD,2CAAiE;AACjE,0DAImC;AACnC,uCAAuC;AACvC,4CAAwE;AAExE,uEAAmE;AACnE,4CAA8C;AAE9C,SAAgB,wBAAwB,CACtC,OAAsC;IAEtC,IACM,6BAA6B,GADnC,MACM,6BAA6B;QACjC,YACsC,OAAoB,EACvC,iBAAoC,EACpC,iBAA8B;YAFX,YAAO,GAAP,OAAO,CAAa;YACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;YACpC,sBAAiB,GAAjB,iBAAiB,CAAa;QAC9C,CAAC;QAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;YAEjC,IAAI,CAAC,KAAK;gBAAE,OAAO,SAAS,CAAC;YAC7B,IAAI,IAAI,GAAS,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEtD,IACE,OAAO,EAAE,IAAI,KAAK,oDAAwC,CAAC,UAAU,EACrE,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;iBAAM,IACL,OAAO,EAAE,IAAI,KAAK,oDAAwC,CAAC,YAAY,EACvE,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;gBACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;gBACzB,CAAC,KAAM,CAAC,EAAE,KAAK;aAChB,CAAC;YAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAM,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC;KACF,CAAA;IA/BK,6BAA6B;QADlC,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,kBAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDACoB,sCAAiB;YACjB,oBAAW;OAJ7C,6BAA6B,CA+BlC;IAED,OAAO,IAAA,cAAK,EAAC,6BAA6B,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IRequestApp } from '@tc-libs/request';
|
|
2
|
+
import { ArgumentMetadata, PipeTransform } from '@nestjs/common/interfaces';
|
|
3
|
+
import { Types } from 'mongoose';
|
|
4
|
+
import { PaginationService } from '../services/pagination.service';
|
|
5
|
+
export declare class PaginationFilterEqualObjectIdPipe implements PipeTransform {
|
|
6
|
+
protected readonly request: IRequestApp;
|
|
7
|
+
private readonly paginationService;
|
|
8
|
+
constructor(request: IRequestApp, paginationService: PaginationService);
|
|
9
|
+
transform(value: string, { data: field }: ArgumentMetadata): Promise<Record<string, Types.ObjectId | string> | undefined>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationFilterEqualObjectIdPipe = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const interfaces_1 = require("@nestjs/common/interfaces");
|
|
7
|
+
const core_1 = require("@nestjs/core");
|
|
8
|
+
const mongoose_1 = require("mongoose");
|
|
9
|
+
const pagination_service_1 = require("../services/pagination.service");
|
|
10
|
+
let PaginationFilterEqualObjectIdPipe = class PaginationFilterEqualObjectIdPipe {
|
|
11
|
+
constructor(request, paginationService) {
|
|
12
|
+
this.request = request;
|
|
13
|
+
this.paginationService = paginationService;
|
|
14
|
+
}
|
|
15
|
+
async transform(value, { data: field }) {
|
|
16
|
+
if (!value || !field) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
value = value.trim();
|
|
20
|
+
const finalValue = mongoose_1.Types.ObjectId.isValid(value)
|
|
21
|
+
? new mongoose_1.Types.ObjectId(value)
|
|
22
|
+
: value;
|
|
23
|
+
this.request.__filters = {
|
|
24
|
+
...this.request.__filters,
|
|
25
|
+
[field]: value,
|
|
26
|
+
};
|
|
27
|
+
return this.paginationService.filterEqual(field, finalValue);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.PaginationFilterEqualObjectIdPipe = PaginationFilterEqualObjectIdPipe;
|
|
31
|
+
exports.PaginationFilterEqualObjectIdPipe = PaginationFilterEqualObjectIdPipe = tslib_1.__decorate([
|
|
32
|
+
(0, common_1.Injectable)({ scope: interfaces_1.Scope.REQUEST }),
|
|
33
|
+
tslib_1.__param(0, (0, common_1.Inject)(core_1.REQUEST)),
|
|
34
|
+
tslib_1.__metadata("design:paramtypes", [Object, pagination_service_1.PaginationService])
|
|
35
|
+
], PaginationFilterEqualObjectIdPipe);
|
|
36
|
+
//# sourceMappingURL=pagination.filter-equal-object-id.pipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.filter-equal-object-id.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-equal-object-id.pipe.ts"],"names":[],"mappings":";;;;AACA,2CAAoD;AACpD,0DAImC;AACnC,uCAAuC;AACvC,uCAAiC;AACjC,uEAAmE;AAG5D,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;IAC5C,YACsC,OAAoB,EACvC,iBAAoC;QADjB,YAAO,GAAP,OAAO,CAAa;QACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;QAEjC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,gBAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YAC9C,CAAC,CAAC,IAAI,gBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC3B,CAAC,CAAC,KAAK,CAAC;QAEV,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;YACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;YACzB,CAAC,KAAK,CAAC,EAAE,KAAK;SACf,CAAC;QAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACvC,KAAK,EACL,UAAU,CACX,CAAC;IACJ,CAAC;CACF,CAAA;AA7BY,8EAAiC;4CAAjC,iCAAiC;IAD7C,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,kBAAK,CAAC,OAAO,EAAE,CAAC;IAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;qDACoB,sCAAiB;GAH5C,iCAAiC,CA6B7C"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { PipeTransform } from '@nestjs/common/interfaces';
|
|
3
|
+
import { IPaginationFilterStringEqualOptions } from '../interfaces';
|
|
4
|
+
export declare function PaginationFilterEqualPipe(options?: IPaginationFilterStringEqualOptions): Type<PipeTransform>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationFilterEqualPipe = PaginationFilterEqualPipe;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const interfaces_1 = require("@nestjs/common/interfaces");
|
|
7
|
+
const core_1 = require("@nestjs/core");
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
const pagination_service_1 = require("../services/pagination.service");
|
|
10
|
+
const helper_1 = require("@tc-libs/helper");
|
|
11
|
+
function PaginationFilterEqualPipe(options) {
|
|
12
|
+
let MixinPaginationFilterEqualPipe = class MixinPaginationFilterEqualPipe {
|
|
13
|
+
constructor(request, paginationService, _number) {
|
|
14
|
+
this.request = request;
|
|
15
|
+
this.paginationService = paginationService;
|
|
16
|
+
this._number = _number;
|
|
17
|
+
}
|
|
18
|
+
async transform(value, { data: field }) {
|
|
19
|
+
if (!value || !field) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
if (options?.case === constants_1.ENUM_PAGINATION_FILTER_CASE_OPTIONS.UPPERCASE) {
|
|
23
|
+
value = value.toUpperCase();
|
|
24
|
+
}
|
|
25
|
+
else if (options?.case === constants_1.ENUM_PAGINATION_FILTER_CASE_OPTIONS.LOWERCASE) {
|
|
26
|
+
value = value.toUpperCase();
|
|
27
|
+
}
|
|
28
|
+
if (options?.trim) {
|
|
29
|
+
value = value.trim();
|
|
30
|
+
}
|
|
31
|
+
let finalValue = value;
|
|
32
|
+
if (options?.isNumber) {
|
|
33
|
+
finalValue = this._number.checkDiscrete(value) ? Number(value) : value;
|
|
34
|
+
}
|
|
35
|
+
this.request.__filters = {
|
|
36
|
+
...this.request.__filters,
|
|
37
|
+
[field]: finalValue,
|
|
38
|
+
};
|
|
39
|
+
return this.paginationService.filterEqual(field, finalValue);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
MixinPaginationFilterEqualPipe = tslib_1.__decorate([
|
|
43
|
+
(0, common_1.Injectable)({ scope: interfaces_1.Scope.REQUEST }),
|
|
44
|
+
tslib_1.__param(0, (0, common_1.Inject)(core_1.REQUEST)),
|
|
45
|
+
tslib_1.__metadata("design:paramtypes", [Object, pagination_service_1.PaginationService,
|
|
46
|
+
helper_1.NumberService])
|
|
47
|
+
], MixinPaginationFilterEqualPipe);
|
|
48
|
+
return (0, common_1.mixin)(MixinPaginationFilterEqualPipe);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=pagination.filter-equal.pipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.filter-equal.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-equal.pipe.ts"],"names":[],"mappings":";;AAaA,8DAiDC;;AA7DD,2CAAiE;AACjE,0DAImC;AACnC,uCAAuC;AACvC,4CAAmE;AAEnE,uEAAmE;AACnE,4CAAgD;AAEhD,SAAgB,yBAAyB,CACvC,OAA6C;IAE7C,IACM,8BAA8B,GADpC,MACM,8BAA8B;QAClC,YACsC,OAAoB,EACvC,iBAAoC,EACpC,OAAsB;YAFH,YAAO,GAAP,OAAO,CAAa;YACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;YACpC,YAAO,GAAP,OAAO,CAAe;QACtC,CAAC;QAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;YAEjC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,OAAO,EAAE,IAAI,KAAK,+CAAmC,CAAC,SAAS,EAAE,CAAC;gBACpE,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC;iBAAM,IACL,OAAO,EAAE,IAAI,KAAK,+CAAmC,CAAC,SAAS,EAC/D,CAAC;gBACD,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAClB,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAED,IAAI,UAAU,GAAoB,KAAK,CAAC;YACxC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;gBACtB,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACzE,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;gBACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;gBACzB,CAAC,KAAK,CAAC,EAAE,UAAU;aACpB,CAAC;YAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACvC,KAAK,EACL,UAAU,CACX,CAAC;QACJ,CAAC;KACF,CAAA;IA1CK,8BAA8B;QADnC,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,kBAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDACoB,sCAAiB;YAC3B,sBAAa;OAJrC,8BAA8B,CA0CnC;IAED,OAAO,IAAA,cAAK,EAAC,8BAA8B,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationFilterInBooleanPipe = PaginationFilterInBooleanPipe;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const interfaces_1 = require("@nestjs/common/interfaces");
|
|
7
|
+
const core_1 = require("@nestjs/core");
|
|
8
|
+
const pagination_service_1 = require("../services/pagination.service");
|
|
9
|
+
const lodash_1 = require("lodash");
|
|
10
|
+
function PaginationFilterInBooleanPipe(defaultValue) {
|
|
11
|
+
let MixinPaginationFilterInBooleanPipe = class MixinPaginationFilterInBooleanPipe {
|
|
12
|
+
constructor(request, paginationService) {
|
|
13
|
+
this.request = request;
|
|
14
|
+
this.paginationService = paginationService;
|
|
15
|
+
}
|
|
16
|
+
async transform(value, { data: field }) {
|
|
17
|
+
if (!field)
|
|
18
|
+
return undefined;
|
|
19
|
+
let finalValue = defaultValue;
|
|
20
|
+
if (value) {
|
|
21
|
+
finalValue = (0, lodash_1.uniq)(value.split(',').map((val) => val === 'true'));
|
|
22
|
+
}
|
|
23
|
+
this.request.__filters = {
|
|
24
|
+
...this.request.__filters,
|
|
25
|
+
[field]: finalValue,
|
|
26
|
+
};
|
|
27
|
+
return this.paginationService.filterIn(field, finalValue);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
MixinPaginationFilterInBooleanPipe = tslib_1.__decorate([
|
|
31
|
+
(0, common_1.Injectable)({ scope: interfaces_1.Scope.REQUEST }),
|
|
32
|
+
tslib_1.__param(0, (0, common_1.Inject)(core_1.REQUEST)),
|
|
33
|
+
tslib_1.__metadata("design:paramtypes", [Object, pagination_service_1.PaginationService])
|
|
34
|
+
], MixinPaginationFilterInBooleanPipe);
|
|
35
|
+
return (0, common_1.mixin)(MixinPaginationFilterInBooleanPipe);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=pagination.filter-in-boolean.pipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.filter-in-boolean.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-in-boolean.pipe.ts"],"names":[],"mappings":";;AAUA,sEAiCC;;AA1CD,2CAAiE;AACjE,0DAImC;AACnC,uCAAuC;AACvC,uEAAmE;AACnE,mCAA8B;AAC9B,SAAgB,6BAA6B,CAC3C,YAAuB;IAEvB,IACM,kCAAkC,GADxC,MACM,kCAAkC;QACtC,YACsC,OAAoB,EACvC,iBAAoC;YADjB,YAAO,GAAP,OAAO,CAAa;YACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpD,CAAC;QAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;YAEjC,IAAI,CAAC,KAAK;gBAAE,OAAO,SAAS,CAAC;YAC7B,IAAI,UAAU,GAAc,YAAyB,CAAC;YAEtD,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,GAAG,IAAA,aAAI,EACf,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CACtD,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;gBACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;gBACzB,CAAC,KAAK,CAAC,EAAE,UAAU;aACpB,CAAC;YAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAU,KAAK,EAAE,UAAU,CAAC,CAAC;QACrE,CAAC;KACF,CAAA;IA1BK,kCAAkC;QADvC,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,kBAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDACoB,sCAAiB;OAHnD,kCAAkC,CA0BvC;IAED,OAAO,IAAA,cAAK,EAAC,kCAAkC,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationFilterInEnumPipe = PaginationFilterInEnumPipe;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const interfaces_1 = require("@nestjs/common/interfaces");
|
|
7
|
+
const core_1 = require("@nestjs/core");
|
|
8
|
+
const pagination_service_1 = require("../services/pagination.service");
|
|
9
|
+
function PaginationFilterInEnumPipe(defaultValue, defaultEnum) {
|
|
10
|
+
let MixinPaginationFilterInEnumPipe = class MixinPaginationFilterInEnumPipe {
|
|
11
|
+
constructor(request, paginationService) {
|
|
12
|
+
this.request = request;
|
|
13
|
+
this.paginationService = paginationService;
|
|
14
|
+
}
|
|
15
|
+
async transform(value, { data: field }) {
|
|
16
|
+
if (!field)
|
|
17
|
+
return undefined;
|
|
18
|
+
let finalValue = defaultValue;
|
|
19
|
+
if (value) {
|
|
20
|
+
finalValue = value
|
|
21
|
+
.split(',')
|
|
22
|
+
.map((val) => defaultEnum[val])
|
|
23
|
+
.filter((val) => val);
|
|
24
|
+
}
|
|
25
|
+
this.request.__filters = {
|
|
26
|
+
...this.request.__filters,
|
|
27
|
+
[field]: finalValue,
|
|
28
|
+
};
|
|
29
|
+
return this.paginationService.filterIn(field, finalValue);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
MixinPaginationFilterInEnumPipe = tslib_1.__decorate([
|
|
33
|
+
(0, common_1.Injectable)({ scope: interfaces_1.Scope.REQUEST }),
|
|
34
|
+
tslib_1.__param(0, (0, common_1.Inject)(core_1.REQUEST)),
|
|
35
|
+
tslib_1.__metadata("design:paramtypes", [Object, pagination_service_1.PaginationService])
|
|
36
|
+
], MixinPaginationFilterInEnumPipe);
|
|
37
|
+
return (0, common_1.mixin)(MixinPaginationFilterInEnumPipe);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=pagination.filter-in-enum.pipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.filter-in-enum.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-in-enum.pipe.ts"],"names":[],"mappings":";;AAUA,gEAmCC;;AA5CD,2CAAiE;AACjE,0DAImC;AACnC,uCAAuC;AACvC,uEAAmE;AAEnE,SAAgB,0BAA0B,CACxC,YAAe,EACf,WAAgC;IAEhC,IACM,+BAA+B,GADrC,MACM,+BAA+B;QACnC,YACsC,OAAoB,EACvC,iBAAoC;YADjB,YAAO,GAAP,OAAO,CAAa;YACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpD,CAAC;QAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;YAEjC,IAAI,CAAC,KAAK;gBAAE,OAAO,SAAS,CAAC;YAC7B,IAAI,UAAU,GAAQ,YAAmB,CAAC;YAE1C,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,GAAG,KAAK;qBACf,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;qBACtC,MAAM,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAQ,CAAC;YACzC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;gBACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;gBACzB,CAAC,KAAK,CAAC,EAAE,UAAsB;aAChC,CAAC;YAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAI,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;KACF,CAAA;IA3BK,+BAA+B;QADpC,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,kBAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDACoB,sCAAiB;OAHnD,+BAA+B,CA2BpC;IAED,OAAO,IAAA,cAAK,EAAC,+BAA+B,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { PipeTransform } from '@nestjs/common/interfaces';
|
|
3
|
+
import { ENUM_PAGINATION_ORDER_DIRECTION_TYPE } from '../constants';
|
|
4
|
+
export declare function PaginationOrderPipe(defaultOrderBy: string, defaultOrderDirection: ENUM_PAGINATION_ORDER_DIRECTION_TYPE, availableOrderBy: string[]): Type<PipeTransform>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationOrderPipe = PaginationOrderPipe;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const interfaces_1 = require("@nestjs/common/interfaces");
|
|
7
|
+
const core_1 = require("@nestjs/core");
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
const pagination_service_1 = require("../services/pagination.service");
|
|
10
|
+
function PaginationOrderPipe(defaultOrderBy, defaultOrderDirection, availableOrderBy) {
|
|
11
|
+
let MixinPaginationOrderPipe = class MixinPaginationOrderPipe {
|
|
12
|
+
constructor(request, paginationService) {
|
|
13
|
+
this.request = request;
|
|
14
|
+
this.paginationService = paginationService;
|
|
15
|
+
}
|
|
16
|
+
async transform(value) {
|
|
17
|
+
const orderBy = value['orderBy'] ?? defaultOrderBy;
|
|
18
|
+
const orderDirection = value['orderDirection'] ?? defaultOrderDirection;
|
|
19
|
+
const availableOrderDirection = constants_1.PAGINATION_AVAILABLE_ORDER_DIRECTION;
|
|
20
|
+
const order = this.paginationService.order(orderBy, orderDirection, availableOrderBy);
|
|
21
|
+
this.request.__pagination = {
|
|
22
|
+
...this.request.__pagination,
|
|
23
|
+
orderBy,
|
|
24
|
+
orderDirection,
|
|
25
|
+
availableOrderBy,
|
|
26
|
+
availableOrderDirection,
|
|
27
|
+
};
|
|
28
|
+
return {
|
|
29
|
+
...value,
|
|
30
|
+
_order: order,
|
|
31
|
+
_availableOrderBy: availableOrderBy,
|
|
32
|
+
_availableOrderDirection: availableOrderDirection,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
MixinPaginationOrderPipe = tslib_1.__decorate([
|
|
37
|
+
(0, common_1.Injectable)({ scope: interfaces_1.Scope.REQUEST }),
|
|
38
|
+
tslib_1.__param(0, (0, common_1.Inject)(core_1.REQUEST)),
|
|
39
|
+
tslib_1.__metadata("design:paramtypes", [Object, pagination_service_1.PaginationService])
|
|
40
|
+
], MixinPaginationOrderPipe);
|
|
41
|
+
return (0, common_1.mixin)(MixinPaginationOrderPipe);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=pagination.order.pipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.order.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.order.pipe.ts"],"names":[],"mappings":";;AAUA,kDA2CC;;AApDD,2CAAiE;AACjE,0DAAiE;AACjE,uCAAuC;AACvC,4CAGsB;AACtB,uEAAmE;AAEnE,SAAgB,mBAAmB,CACjC,cAAsB,EACtB,qBAA2D,EAC3D,gBAA0B;IAE1B,IACM,wBAAwB,GAD9B,MACM,wBAAwB;QAC5B,YACsC,OAAoB,EACvC,iBAAoC;YADjB,YAAO,GAAP,OAAO,CAAa;YACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpD,CAAC;QAEJ,KAAK,CAAC,SAAS,CAAC,KAA0B;YACxC,MAAM,OAAO,GAAW,KAAK,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC;YAC3D,MAAM,cAAc,GAClB,KAAK,CAAC,gBAAgB,CAAC,IAAI,qBAAqB,CAAC;YACnD,MAAM,uBAAuB,GAC3B,gDAAoC,CAAC;YAEvC,MAAM,KAAK,GAAwB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAC7D,OAAO,EACP,cAAc,EACd,gBAAgB,CACjB,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG;gBAC1B,GAAG,IAAI,CAAC,OAAO,CAAC,YAAa;gBAC7B,OAAO;gBACP,cAAc;gBACd,gBAAgB;gBAChB,uBAAuB;aACxB,CAAC;YAEF,OAAO;gBACL,GAAG,KAAK;gBACR,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,gBAAgB;gBACnC,wBAAwB,EAAE,uBAAuB;aAClD,CAAC;QACJ,CAAC;KACF,CAAA;IAlCK,wBAAwB;QAD7B,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,kBAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDACoB,sCAAiB;OAHnD,wBAAwB,CAkC7B;IAED,OAAO,IAAA,cAAK,EAAC,wBAAwB,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationPagingPipe = PaginationPagingPipe;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const interfaces_1 = require("@nestjs/common/interfaces");
|
|
7
|
+
const core_1 = require("@nestjs/core");
|
|
8
|
+
const pagination_service_1 = require("../services/pagination.service");
|
|
9
|
+
function PaginationPagingPipe(defaultPerPage) {
|
|
10
|
+
let MixinPaginationPagingPipe = class MixinPaginationPagingPipe {
|
|
11
|
+
constructor(request, paginationService) {
|
|
12
|
+
this.request = request;
|
|
13
|
+
this.paginationService = paginationService;
|
|
14
|
+
}
|
|
15
|
+
async transform(value) {
|
|
16
|
+
const page = this.paginationService.page(Number(value['page'] ?? 1));
|
|
17
|
+
const perPage = this.paginationService.perPage(Number(value['perPage'] ?? defaultPerPage));
|
|
18
|
+
const offset = this.paginationService.offset(page, perPage);
|
|
19
|
+
this.request.__pagination = {
|
|
20
|
+
...this.request.__pagination,
|
|
21
|
+
page,
|
|
22
|
+
perPage,
|
|
23
|
+
};
|
|
24
|
+
return {
|
|
25
|
+
...value,
|
|
26
|
+
page,
|
|
27
|
+
perPage,
|
|
28
|
+
_limit: perPage,
|
|
29
|
+
_offset: offset,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
MixinPaginationPagingPipe = tslib_1.__decorate([
|
|
34
|
+
(0, common_1.Injectable)({ scope: interfaces_1.Scope.REQUEST }),
|
|
35
|
+
tslib_1.__param(0, (0, common_1.Inject)(core_1.REQUEST)),
|
|
36
|
+
tslib_1.__metadata("design:paramtypes", [Object, pagination_service_1.PaginationService])
|
|
37
|
+
], MixinPaginationPagingPipe);
|
|
38
|
+
return (0, common_1.mixin)(MixinPaginationPagingPipe);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=pagination.paging.pipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.paging.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.paging.pipe.ts"],"names":[],"mappings":";;AAMA,oDAoCC;;AAzCD,2CAAiE;AACjE,0DAAiE;AACjE,uCAAuC;AACvC,uEAAmE;AAEnE,SAAgB,oBAAoB,CAClC,cAAsB;IAEtB,IACM,yBAAyB,GAD/B,MACM,yBAAyB;QAC7B,YACsC,OAAoB,EACvC,iBAAoC;YADjB,YAAO,GAAP,OAAO,CAAa;YACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpD,CAAC;QAEJ,KAAK,CAAC,SAAS,CAAC,KAA0B;YACxC,MAAM,IAAI,GAAW,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAC9C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAC3B,CAAC;YACF,MAAM,OAAO,GAAW,IAAI,CAAC,iBAAiB,CAAC,OAAO,CACpD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,CAC3C,CAAC;YACF,MAAM,MAAM,GAAW,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAEpE,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG;gBAC1B,GAAG,IAAI,CAAC,OAAO,CAAC,YAAa;gBAC7B,IAAI;gBACJ,OAAO;aACR,CAAC;YAEF,OAAO;gBACL,GAAG,KAAK;gBACR,IAAI;gBACJ,OAAO;gBACP,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,MAAM;aAChB,CAAC;QACJ,CAAC;KACF,CAAA;IA7BK,yBAAyB;QAD9B,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,kBAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDACoB,sCAAiB;OAHnD,yBAAyB,CA6B9B;IAED,OAAO,IAAA,cAAK,EAAC,yBAAyB,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationSearchPipe = PaginationSearchPipe;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const interfaces_1 = require("@nestjs/common/interfaces");
|
|
7
|
+
const core_1 = require("@nestjs/core");
|
|
8
|
+
const pagination_service_1 = require("../services/pagination.service");
|
|
9
|
+
function PaginationSearchPipe(availableSearch) {
|
|
10
|
+
let MixinPaginationSearchPipe = class MixinPaginationSearchPipe {
|
|
11
|
+
constructor(request, paginationService) {
|
|
12
|
+
this.request = request;
|
|
13
|
+
this.paginationService = paginationService;
|
|
14
|
+
}
|
|
15
|
+
async transform(value) {
|
|
16
|
+
const searchText = value['search'] ?? '';
|
|
17
|
+
const search = this.paginationService.search(searchText, availableSearch);
|
|
18
|
+
this.request.__pagination = {
|
|
19
|
+
...this.request.__pagination,
|
|
20
|
+
search: searchText,
|
|
21
|
+
availableSearch,
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
...value,
|
|
25
|
+
_search: search,
|
|
26
|
+
_availableSearch: availableSearch,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
MixinPaginationSearchPipe = tslib_1.__decorate([
|
|
31
|
+
(0, common_1.Injectable)({ scope: interfaces_1.Scope.REQUEST }),
|
|
32
|
+
tslib_1.__param(0, (0, common_1.Inject)(core_1.REQUEST)),
|
|
33
|
+
tslib_1.__metadata("design:paramtypes", [Object, pagination_service_1.PaginationService])
|
|
34
|
+
], MixinPaginationSearchPipe);
|
|
35
|
+
return (0, common_1.mixin)(MixinPaginationSearchPipe);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=pagination.search.pipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.search.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.search.pipe.ts"],"names":[],"mappings":";;AAMA,oDA8BC;;AAnCD,2CAAiE;AACjE,0DAAiE;AACjE,uCAAuC;AACvC,uEAAmE;AAEnE,SAAgB,oBAAoB,CAClC,eAAyB;IAEzB,IACM,yBAAyB,GAD/B,MACM,yBAAyB;QAC7B,YACsC,OAAoB,EACvC,iBAAoC;YADjB,YAAO,GAAP,OAAO,CAAa;YACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpD,CAAC;QAEJ,KAAK,CAAC,SAAS,CAAC,KAA0B;YACxC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,MAAM,GACV,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YAE7D,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG;gBAC1B,GAAG,IAAI,CAAC,OAAO,CAAC,YAAa;gBAC7B,MAAM,EAAE,UAAU;gBAClB,eAAe;aAChB,CAAC;YAEF,OAAO;gBACL,GAAG,KAAK;gBACR,OAAO,EAAE,MAAM;gBACf,gBAAgB,EAAE,eAAe;aAClC,CAAC;QACJ,CAAC;KACF,CAAA;IAvBK,yBAAyB;QAD9B,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,kBAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDACoB,sCAAiB;OAHnD,yBAAyB,CAuB9B;IAED,OAAO,IAAA,cAAK,EAAC,yBAAyB,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './pagination.service';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/services/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IPaginationService, IPaginationOrder } from '../interfaces';
|
|
2
|
+
export declare class PaginationService implements IPaginationService {
|
|
3
|
+
offset(page: number, perPage: number): number;
|
|
4
|
+
totalPages(totalData: number, perPage: number): number;
|
|
5
|
+
offsetWithoutMax(page: number, perPage: number): number;
|
|
6
|
+
totalPageWithoutMax(totalData: number, perPage: number): number;
|
|
7
|
+
page(page?: number): number;
|
|
8
|
+
perPage(perPage?: number): number;
|
|
9
|
+
order(orderByValue?: string, orderDirectionValue?: import("../constants").ENUM_PAGINATION_ORDER_DIRECTION_TYPE, availableOrderBy?: string[]): IPaginationOrder;
|
|
10
|
+
search(searchValue: string | undefined, availableSearch: string[]): Record<string, any> | undefined;
|
|
11
|
+
filterEqual<T = string>(field: string, filterValue: T): Record<string, T>;
|
|
12
|
+
filterContain(field: string, filterValue: string): Record<string, {
|
|
13
|
+
$regex: RegExp;
|
|
14
|
+
$options: string;
|
|
15
|
+
}>;
|
|
16
|
+
filterContainFullMatch(field: string, filterValue: string): Record<string, {
|
|
17
|
+
$regex: RegExp;
|
|
18
|
+
$options: string;
|
|
19
|
+
}>;
|
|
20
|
+
filterIn<T = string>(field: string, filterValue: T[]): Record<string, {
|
|
21
|
+
$in: T[];
|
|
22
|
+
}>;
|
|
23
|
+
filterDate(field: string, filterValue: Date): Record<string, Date>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationService = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
let PaginationService = class PaginationService {
|
|
8
|
+
offset(page, perPage) {
|
|
9
|
+
page = page > constants_1.PAGINATION_MAX_PAGE ? constants_1.PAGINATION_MAX_PAGE : page;
|
|
10
|
+
perPage =
|
|
11
|
+
perPage > constants_1.PAGINATION_MAX_PER_PAGE ? constants_1.PAGINATION_MAX_PER_PAGE : perPage;
|
|
12
|
+
const offset = (page - 1) * perPage;
|
|
13
|
+
return offset;
|
|
14
|
+
}
|
|
15
|
+
totalPages(totalData, perPage) {
|
|
16
|
+
let totalPage = Math.ceil(totalData / perPage);
|
|
17
|
+
totalPage = totalPage === 0 ? 1 : totalPage;
|
|
18
|
+
return totalPage > constants_1.PAGINATION_MAX_PAGE ? constants_1.PAGINATION_MAX_PAGE : totalPage;
|
|
19
|
+
}
|
|
20
|
+
offsetWithoutMax(page, perPage) {
|
|
21
|
+
const offset = (page - 1) * perPage;
|
|
22
|
+
return offset;
|
|
23
|
+
}
|
|
24
|
+
totalPageWithoutMax(totalData, perPage) {
|
|
25
|
+
let totalPage = Math.ceil(totalData / perPage);
|
|
26
|
+
totalPage = totalPage === 0 ? 1 : totalPage;
|
|
27
|
+
return totalPage;
|
|
28
|
+
}
|
|
29
|
+
page(page) {
|
|
30
|
+
return page
|
|
31
|
+
? page > constants_1.PAGINATION_MAX_PAGE
|
|
32
|
+
? constants_1.PAGINATION_MAX_PAGE
|
|
33
|
+
: page
|
|
34
|
+
: constants_1.PAGINATION_PAGE;
|
|
35
|
+
}
|
|
36
|
+
perPage(perPage) {
|
|
37
|
+
return perPage
|
|
38
|
+
? perPage > constants_1.PAGINATION_MAX_PER_PAGE
|
|
39
|
+
? constants_1.PAGINATION_MAX_PER_PAGE
|
|
40
|
+
: perPage
|
|
41
|
+
: constants_1.PAGINATION_PER_PAGE;
|
|
42
|
+
}
|
|
43
|
+
order(orderByValue = constants_1.PAGINATION_ORDER_BY, orderDirectionValue = constants_1.PAGINATION_ORDER_DIRECTION, availableOrderBy = constants_1.PAGINATION_AVAILABLE_ORDER_BY) {
|
|
44
|
+
const orderBy = availableOrderBy.includes(orderByValue)
|
|
45
|
+
? orderByValue
|
|
46
|
+
: constants_1.PAGINATION_ORDER_BY;
|
|
47
|
+
return { [orderBy]: orderDirectionValue };
|
|
48
|
+
}
|
|
49
|
+
search(searchValue = '', availableSearch) {
|
|
50
|
+
if (!searchValue) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
$or: availableSearch.map((val) => ({
|
|
55
|
+
[val]: {
|
|
56
|
+
$regex: new RegExp(searchValue),
|
|
57
|
+
$options: 'i',
|
|
58
|
+
},
|
|
59
|
+
})),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
filterEqual(field, filterValue) {
|
|
63
|
+
return { [field]: filterValue };
|
|
64
|
+
}
|
|
65
|
+
filterContain(field, filterValue) {
|
|
66
|
+
return {
|
|
67
|
+
[field]: {
|
|
68
|
+
$regex: new RegExp(filterValue),
|
|
69
|
+
$options: 'i',
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
filterContainFullMatch(field, filterValue) {
|
|
74
|
+
return {
|
|
75
|
+
[field]: {
|
|
76
|
+
$regex: new RegExp(`\\b${filterValue}\\b`),
|
|
77
|
+
$options: 'i',
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
filterIn(field, filterValue) {
|
|
82
|
+
return {
|
|
83
|
+
[field]: {
|
|
84
|
+
$in: filterValue,
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
filterDate(field, filterValue) {
|
|
89
|
+
return {
|
|
90
|
+
[field]: filterValue,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
exports.PaginationService = PaginationService;
|
|
95
|
+
exports.PaginationService = PaginationService = tslib_1.__decorate([
|
|
96
|
+
(0, common_1.Injectable)()
|
|
97
|
+
], PaginationService);
|
|
98
|
+
//# sourceMappingURL=pagination.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.service.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/services/pagination.service.ts"],"names":[],"mappings":";;;;AAAA,2CAA4C;AAC5C,4CAQsB;AAIf,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,MAAM,CAAC,IAAY,EAAE,OAAe;QAClC,IAAI,GAAG,IAAI,GAAG,+BAAmB,CAAC,CAAC,CAAC,+BAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,OAAO;YACL,OAAO,GAAG,mCAAuB,CAAC,CAAC,CAAC,mCAAuB,CAAC,CAAC,CAAC,OAAO,CAAC;QACxE,MAAM,MAAM,GAAW,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QAE5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,SAAiB,EAAE,OAAe;QAC3C,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;QAC/C,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5C,OAAO,SAAS,GAAG,+BAAmB,CAAC,CAAC,CAAC,+BAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC;IAED,gBAAgB,CAAC,IAAY,EAAE,OAAe;QAC5C,MAAM,MAAM,GAAW,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mBAAmB,CAAC,SAAiB,EAAE,OAAe;QACpD,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;QAC/C,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,IAAa;QAChB,OAAO,IAAI;YACT,CAAC,CAAC,IAAI,GAAG,+BAAmB;gBAC1B,CAAC,CAAC,+BAAmB;gBACrB,CAAC,CAAC,IAAI;YACR,CAAC,CAAC,2BAAe,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,OAAgB;QACtB,OAAO,OAAO;YACZ,CAAC,CAAC,OAAO,GAAG,mCAAuB;gBACjC,CAAC,CAAC,mCAAuB;gBACzB,CAAC,CAAC,OAAO;YACX,CAAC,CAAC,+BAAmB,CAAC;IAC1B,CAAC;IAED,KAAK,CACH,YAAY,GAAG,+BAAmB,EAClC,mBAAmB,GAAG,sCAA0B,EAChD,gBAAgB,GAAG,yCAA6B;QAEhD,MAAM,OAAO,GAAW,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC7D,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,+BAAmB,CAAC;QAExB,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,CACJ,WAAW,GAAG,EAAE,EAChB,eAAyB;QAEzB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACjC,CAAC,GAAG,CAAC,EAAE;oBACL,MAAM,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC;oBAC/B,QAAQ,EAAE,GAAG;iBACd;aACF,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,WAAW,CAAa,KAAa,EAAE,WAAc;QACnD,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,aAAa,CACX,KAAa,EACb,WAAmB;QAEnB,OAAO;YACL,CAAC,KAAK,CAAC,EAAE;gBACP,MAAM,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC;gBAC/B,QAAQ,EAAE,GAAG;aACd;SACF,CAAC;IACJ,CAAC;IAED,sBAAsB,CACpB,KAAa,EACb,WAAmB;QAEnB,OAAO;YACL,CAAC,KAAK,CAAC,EAAE;gBACP,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,WAAW,KAAK,CAAC;gBAC1C,QAAQ,EAAE,GAAG;aACd;SACF,CAAC;IACJ,CAAC;IAED,QAAQ,CACN,KAAa,EACb,WAAgB;QAEhB,OAAO;YACL,CAAC,KAAK,CAAC,EAAE;gBACP,GAAG,EAAE,WAAW;aACjB;SACF,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,WAAiB;QACzC,OAAO;YACL,CAAC,KAAK,CAAC,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;CACF,CAAA;AArHY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CAqH7B"}
|