@nest-yalc-2/utils 1.0.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/LICENSE +661 -0
- package/README.md +9 -0
- package/package.json +29 -0
- package/src/__mocks__/enum.mock.ts +9 -0
- package/src/__tests__/class.helper.spec.ts +32 -0
- package/src/__tests__/command.helper.spec.ts +35 -0
- package/src/__tests__/config-manager.helper.spec.ts +93 -0
- package/src/__tests__/custom-validator.spec.ts +34 -0
- package/src/__tests__/data-structure.helper.spec.ts +30 -0
- package/src/__tests__/date.helper.spec.ts +78 -0
- package/src/__tests__/encryption.helper.spec.ts +45 -0
- package/src/__tests__/enum.helper.spec.ts +53 -0
- package/src/__tests__/env.helper.spec.ts +68 -0
- package/src/__tests__/error.helper.spec.ts +20 -0
- package/src/__tests__/faker-helper.spec.ts +187 -0
- package/src/__tests__/files.helper.spec.ts +22 -0
- package/src/__tests__/http.helper.spec.ts +15 -0
- package/src/__tests__/interval.helper.spec.ts +29 -0
- package/src/__tests__/math.helper.spec.ts +24 -0
- package/src/__tests__/nest.decorator.spec.ts +29 -0
- package/src/__tests__/nest.helper.spec.ts +26 -0
- package/src/__tests__/object-mapper.helper.spec.ts +167 -0
- package/src/__tests__/object-mapper.interceptor.spec.ts +104 -0
- package/src/__tests__/object.helper.spec.ts +181 -0
- package/src/__tests__/plugin.helper.spec.ts +85 -0
- package/src/__tests__/promise.helper.spec.ts +76 -0
- package/src/__tests__/returnValue.spec.ts +49 -0
- package/src/__tests__/rxjs.helper.spec.ts +79 -0
- package/src/__tests__/simple-mapper.interceptor.spec.ts +82 -0
- package/src/__tests__/tsconfig.json +3 -0
- package/src/__tests__/validator-helper.spec.ts +34 -0
- package/src/__tests__/zlib.helper.spec.ts +20 -0
- package/src/class.helper.d.ts +4 -0
- package/src/class.helper.js +19 -0
- package/src/class.helper.js.map +1 -0
- package/src/class.helper.ts +33 -0
- package/src/command.helper.d.ts +1 -0
- package/src/command.helper.js +16 -0
- package/src/command.helper.js.map +1 -0
- package/src/command.helper.ts +19 -0
- package/src/config-manager.helper.d.ts +12 -0
- package/src/config-manager.helper.js +60 -0
- package/src/config-manager.helper.js.map +1 -0
- package/src/config-manager.helper.ts +122 -0
- package/src/custom-validator.d.ts +3 -0
- package/src/custom-validator.js +13 -0
- package/src/custom-validator.js.map +1 -0
- package/src/custom-validator.ts +13 -0
- package/src/data-structure.helper.d.ts +1 -0
- package/src/data-structure.helper.js +13 -0
- package/src/data-structure.helper.js.map +1 -0
- package/src/data-structure.helper.ts +14 -0
- package/src/date.helper.d.ts +12 -0
- package/src/date.helper.js +47 -0
- package/src/date.helper.js.map +1 -0
- package/src/date.helper.ts +65 -0
- package/src/encryption.helper.d.ts +2 -0
- package/src/encryption.helper.js +58 -0
- package/src/encryption.helper.js.map +1 -0
- package/src/encryption.helper.ts +29 -0
- package/src/enum.helper.d.ts +8 -0
- package/src/enum.helper.js +21 -0
- package/src/enum.helper.js.map +1 -0
- package/src/enum.helper.ts +34 -0
- package/src/env.helper.d.ts +3 -0
- package/src/env.helper.js +23 -0
- package/src/env.helper.js.map +1 -0
- package/src/env.helper.ts +35 -0
- package/src/error.helper.d.ts +1 -0
- package/src/error.helper.js +12 -0
- package/src/error.helper.js.map +1 -0
- package/src/error.helper.ts +12 -0
- package/src/faker-helper.d.ts +16 -0
- package/src/faker-helper.js +73 -0
- package/src/faker-helper.js.map +1 -0
- package/src/faker-helper.ts +98 -0
- package/src/files.helper.d.ts +2 -0
- package/src/files.helper.js +13 -0
- package/src/files.helper.js.map +1 -0
- package/src/files.helper.ts +20 -0
- package/src/http.helper.d.ts +26 -0
- package/src/http.helper.js +84 -0
- package/src/http.helper.js.map +1 -0
- package/src/http.helper.ts +152 -0
- package/src/index.d.ts +21 -0
- package/src/index.js +38 -0
- package/src/index.js.map +1 -0
- package/src/index.ts +23 -0
- package/src/interval.helper.d.ts +5 -0
- package/src/interval.helper.js +16 -0
- package/src/interval.helper.js.map +1 -0
- package/src/interval.helper.ts +13 -0
- package/src/math.helper.d.ts +1 -0
- package/src/math.helper.js +8 -0
- package/src/math.helper.js.map +1 -0
- package/src/math.helper.ts +4 -0
- package/src/nest.decorator.d.ts +3 -0
- package/src/nest.decorator.js +10 -0
- package/src/nest.decorator.js.map +1 -0
- package/src/nest.decorator.ts +10 -0
- package/src/nestjs/nest.decorator.d.ts +3 -0
- package/src/nestjs/nest.decorator.js +10 -0
- package/src/nestjs/nest.decorator.js.map +1 -0
- package/src/nestjs/nest.decorator.ts +10 -0
- package/src/nestjs/nest.helper.d.ts +2 -0
- package/src/nestjs/nest.helper.js +7 -0
- package/src/nestjs/nest.helper.js.map +1 -0
- package/src/nestjs/nest.helper.ts +5 -0
- package/src/object-mapper.helper.d.ts +16 -0
- package/src/object-mapper.helper.js +47 -0
- package/src/object-mapper.helper.js.map +1 -0
- package/src/object-mapper.helper.ts +148 -0
- package/src/object-mapper.interceptor.d.ts +16 -0
- package/src/object-mapper.interceptor.js +36 -0
- package/src/object-mapper.interceptor.js.map +1 -0
- package/src/object-mapper.interceptor.ts +51 -0
- package/src/object.helper.d.ts +18 -0
- package/src/object.helper.js +91 -0
- package/src/object.helper.js.map +1 -0
- package/src/object.helper.ts +173 -0
- package/src/plugin.helper.d.ts +22 -0
- package/src/plugin.helper.js +26 -0
- package/src/plugin.helper.js.map +1 -0
- package/src/plugin.helper.ts +42 -0
- package/src/promise.helper.d.ts +13 -0
- package/src/promise.helper.js +71 -0
- package/src/promise.helper.js.map +1 -0
- package/src/promise.helper.ts +65 -0
- package/src/returnValue.d.ts +14 -0
- package/src/returnValue.js +17 -0
- package/src/returnValue.js.map +1 -0
- package/src/returnValue.ts +26 -0
- package/src/rxjs.helper.d.ts +7 -0
- package/src/rxjs.helper.js +33 -0
- package/src/rxjs.helper.js.map +1 -0
- package/src/rxjs.helper.ts +71 -0
- package/src/simple-mapper.interceptor.d.ts +7 -0
- package/src/simple-mapper.interceptor.js +29 -0
- package/src/simple-mapper.interceptor.js.map +1 -0
- package/src/simple-mapper.interceptor.ts +43 -0
- package/src/validator-helper.d.ts +2 -0
- package/src/validator-helper.js +22 -0
- package/src/validator-helper.js.map +1 -0
- package/src/validator-helper.ts +26 -0
- package/src/zlib.helper.d.ts +3 -0
- package/src/zlib.helper.js +25 -0
- package/src/zlib.helper.js.map +1 -0
- package/src/zlib.helper.ts +19 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CallHandler,
|
|
3
|
+
ExecutionContext,
|
|
4
|
+
Injectable,
|
|
5
|
+
NestInterceptor,
|
|
6
|
+
} from '@nestjs/common';
|
|
7
|
+
import { Observable, map } from 'rxjs';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param Dto
|
|
12
|
+
* @param transformer used to transform the data before mapping it to the DTO.
|
|
13
|
+
* This is useful when the data is not in the correct format to be mapped to the DTO.
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
export function buildSimpleMapperInterceptor<T, R>(
|
|
17
|
+
Dto: new (data: T) => R,
|
|
18
|
+
options?: {
|
|
19
|
+
transformer?: (data: T) => T;
|
|
20
|
+
callback?: { (inputData: any, outputData: any): any };
|
|
21
|
+
},
|
|
22
|
+
): new () => NestInterceptor<T, R> {
|
|
23
|
+
@Injectable()
|
|
24
|
+
class SimpleMapper implements NestInterceptor<T, R> {
|
|
25
|
+
intercept(
|
|
26
|
+
_context: ExecutionContext,
|
|
27
|
+
next: CallHandler<T>,
|
|
28
|
+
): Observable<any> {
|
|
29
|
+
return next.handle().pipe(
|
|
30
|
+
map((data) => {
|
|
31
|
+
const tData = options?.transformer?.(data) ?? data;
|
|
32
|
+
const mappedData = Array.isArray(tData)
|
|
33
|
+
? tData.map((d) => new Dto(d))
|
|
34
|
+
: new Dto(tData);
|
|
35
|
+
|
|
36
|
+
return options?.callback?.(data, mappedData) ?? mappedData;
|
|
37
|
+
}),
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return SimpleMapper;
|
|
43
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stringIsInEnumOrThrow = stringIsInEnumOrThrow;
|
|
4
|
+
exports.stringIsInEnum = stringIsInEnum;
|
|
5
|
+
const errors_1 = require("@nest-yalc-2/errors");
|
|
6
|
+
function stringIsInEnumOrThrow(toCheck, enumName, message) {
|
|
7
|
+
if (stringIsInEnum(toCheck, enumName)) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
const err = message ? message : `${errors_1.ErrorsEnum.INVALID_VALUE} ${toCheck}`;
|
|
11
|
+
throw new Error(err);
|
|
12
|
+
}
|
|
13
|
+
function stringIsInEnum(toCheck, enumName) {
|
|
14
|
+
for (const enumProperty of Object.values(enumName)) {
|
|
15
|
+
if (typeof enumProperty === 'string' &&
|
|
16
|
+
enumProperty.toLowerCase() === toCheck.toLowerCase()) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=validator-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator-helper.js","sourceRoot":"","sources":["validator-helper.ts"],"names":[],"mappings":";;AAEA,sDAQC;AAED,wCAaC;AAzBD,gDAAiD;AAEjD,SAAgB,qBAAqB,CAEnC,OAAe,EAAE,QAAW,EAAE,OAAgB;IAC9C,IAAI,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,mBAAU,CAAC,aAAa,IAAI,OAAO,EAAE,CAAC;IACzE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,SAAgB,cAAc,CAC5B,OAAe,EACf,QAAW;IAEX,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,IACE,OAAO,YAAY,KAAK,QAAQ;YAChC,YAAY,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,EACpD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ErrorsEnum } from '@nest-yalc-2/errors';
|
|
2
|
+
|
|
3
|
+
export function stringIsInEnumOrThrow<
|
|
4
|
+
T extends Record<string, string | number>,
|
|
5
|
+
>(toCheck: string, enumName: T, message?: string): boolean {
|
|
6
|
+
if (stringIsInEnum(toCheck, enumName)) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
const err = message ? message : `${ErrorsEnum.INVALID_VALUE} ${toCheck}`;
|
|
10
|
+
throw new Error(err);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function stringIsInEnum<T extends Record<string, string | number>>(
|
|
14
|
+
toCheck: string,
|
|
15
|
+
enumName: T,
|
|
16
|
+
): boolean {
|
|
17
|
+
for (const enumProperty of Object.values(enumName)) {
|
|
18
|
+
if (
|
|
19
|
+
typeof enumProperty === 'string' &&
|
|
20
|
+
enumProperty.toLowerCase() === toCheck.toLowerCase()
|
|
21
|
+
) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deflate = exports.inflate = void 0;
|
|
4
|
+
const zlib_1 = require("zlib");
|
|
5
|
+
const inflate = (input) => {
|
|
6
|
+
try {
|
|
7
|
+
const inflated = (0, zlib_1.inflateSync)(Buffer.from(input, 'base64')).toString();
|
|
8
|
+
return inflated;
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
return input;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
exports.inflate = inflate;
|
|
15
|
+
const deflate = (input) => {
|
|
16
|
+
try {
|
|
17
|
+
const deflated = (0, zlib_1.deflateSync)(input);
|
|
18
|
+
return deflated;
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
return input;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
exports.deflate = deflate;
|
|
25
|
+
//# sourceMappingURL=zlib.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zlib.helper.js","sourceRoot":"","sources":["zlib.helper.ts"],"names":[],"mappings":";;;AAAA,+BAA2D;AAEpD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;IACvC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,kBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,OAAO,WAOlB;AAEK,MAAM,OAAO,GAAG,CAAC,KAAgB,EAAsB,EAAE;IAC9D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,kBAAW,EAAC,KAAK,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,OAAO,WAOlB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { inflateSync, deflateSync, InputType } from 'zlib';
|
|
2
|
+
|
|
3
|
+
export const inflate = (input: string) => {
|
|
4
|
+
try {
|
|
5
|
+
const inflated = inflateSync(Buffer.from(input, 'base64')).toString();
|
|
6
|
+
return inflated;
|
|
7
|
+
} catch (error) {
|
|
8
|
+
return input;
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const deflate = (input: InputType): Buffer | InputType => {
|
|
13
|
+
try {
|
|
14
|
+
const deflated = deflateSync(input);
|
|
15
|
+
return deflated;
|
|
16
|
+
} catch (error) {
|
|
17
|
+
return input;
|
|
18
|
+
}
|
|
19
|
+
};
|