@pristine-ts/data-mapping 0.0.277 → 0.0.279
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/dist/lib/cjs/builders/auto-data-mapping.builder.js +147 -0
- package/dist/lib/cjs/builders/auto-data-mapping.builder.js.map +1 -0
- package/dist/lib/cjs/builders/builders.js +1 -0
- package/dist/lib/cjs/builders/builders.js.map +1 -1
- package/dist/lib/cjs/data-mapping.module.js +2 -0
- package/dist/lib/cjs/data-mapping.module.js.map +1 -1
- package/dist/lib/cjs/decorators/body-mapping.decorator.js +50 -0
- package/dist/lib/cjs/decorators/body-mapping.decorator.js.map +1 -0
- package/dist/lib/cjs/decorators/decorators.js +18 -0
- package/dist/lib/cjs/decorators/decorators.js.map +1 -0
- package/dist/lib/cjs/decorators/type.decorator.js +20 -0
- package/dist/lib/cjs/decorators/type.decorator.js.map +1 -0
- package/dist/lib/cjs/interfaces/body-mapping-context.interface.js +3 -0
- package/dist/lib/cjs/interfaces/body-mapping-context.interface.js.map +1 -0
- package/dist/lib/cjs/mappers/data.mapper.js +18 -4
- package/dist/lib/cjs/mappers/data.mapper.js.map +1 -1
- package/dist/lib/cjs/nodes/data-mapping.node.js +19 -4
- package/dist/lib/cjs/nodes/data-mapping.node.js.map +1 -1
- package/dist/lib/cjs/normalizer-options/base-normalizer.options.js +2 -1
- package/dist/lib/cjs/normalizer-options/base-normalizer.options.js.map +1 -1
- package/dist/lib/cjs/normalizer-options/date-normalizer.options.js +21 -0
- package/dist/lib/cjs/normalizer-options/date-normalizer.options.js.map +1 -0
- package/dist/lib/cjs/normalizer-options/lowercase-normalizer.options.js.map +1 -1
- package/dist/lib/cjs/normalizer-options/normalizer-options.js +3 -0
- package/dist/lib/cjs/normalizer-options/normalizer-options.js.map +1 -1
- package/dist/lib/cjs/normalizer-options/number-normalizer.options.js +16 -0
- package/dist/lib/cjs/normalizer-options/number-normalizer.options.js.map +1 -0
- package/dist/lib/cjs/normalizer-options/string-normalizer.options.js +17 -0
- package/dist/lib/cjs/normalizer-options/string-normalizer.options.js.map +1 -0
- package/dist/lib/cjs/normalizers/date.normalizer.js +73 -0
- package/dist/lib/cjs/normalizers/date.normalizer.js.map +1 -0
- package/dist/lib/cjs/normalizers/normalizers.js +3 -0
- package/dist/lib/cjs/normalizers/normalizers.js.map +1 -1
- package/dist/lib/cjs/normalizers/number.normalizer.js +41 -0
- package/dist/lib/cjs/normalizers/number.normalizer.js.map +1 -0
- package/dist/lib/cjs/normalizers/string.normalizer.js +63 -0
- package/dist/lib/cjs/normalizers/string.normalizer.js.map +1 -0
- package/dist/lib/cjs/options/auto-data-mapping-builder.options.js +11 -0
- package/dist/lib/cjs/options/auto-data-mapping-builder.options.js.map +1 -0
- package/dist/lib/cjs/request-interceptors/body-mapping.request-interceptor.js +79 -0
- package/dist/lib/cjs/request-interceptors/body-mapping.request-interceptor.js.map +1 -0
- package/dist/lib/cjs/request-interceptors/request-interceptors.js +18 -0
- package/dist/lib/cjs/request-interceptors/request-interceptors.js.map +1 -0
- package/dist/lib/esm/builders/auto-data-mapping.builder.js +144 -0
- package/dist/lib/esm/builders/auto-data-mapping.builder.js.map +1 -0
- package/dist/lib/esm/builders/builders.js +1 -0
- package/dist/lib/esm/builders/builders.js.map +1 -1
- package/dist/lib/esm/data-mapping.module.js +2 -0
- package/dist/lib/esm/data-mapping.module.js.map +1 -1
- package/dist/lib/esm/decorators/body-mapping.decorator.js +46 -0
- package/dist/lib/esm/decorators/body-mapping.decorator.js.map +1 -0
- package/dist/lib/esm/decorators/decorators.js +2 -0
- package/dist/lib/esm/decorators/decorators.js.map +1 -0
- package/dist/lib/esm/decorators/type.decorator.js +16 -0
- package/dist/lib/esm/decorators/type.decorator.js.map +1 -0
- package/dist/lib/esm/interfaces/body-mapping-context.interface.js +2 -0
- package/dist/lib/esm/interfaces/body-mapping-context.interface.js.map +1 -0
- package/dist/lib/esm/mappers/data.mapper.js +18 -4
- package/dist/lib/esm/mappers/data.mapper.js.map +1 -1
- package/dist/lib/esm/nodes/data-mapping.node.js +19 -4
- package/dist/lib/esm/nodes/data-mapping.node.js.map +1 -1
- package/dist/lib/esm/normalizer-options/base-normalizer.options.js +2 -1
- package/dist/lib/esm/normalizer-options/base-normalizer.options.js.map +1 -1
- package/dist/lib/esm/normalizer-options/date-normalizer.options.js +17 -0
- package/dist/lib/esm/normalizer-options/date-normalizer.options.js.map +1 -0
- package/dist/lib/esm/normalizer-options/lowercase-normalizer.options.js.map +1 -1
- package/dist/lib/esm/normalizer-options/normalizer-options.js +3 -0
- package/dist/lib/esm/normalizer-options/normalizer-options.js.map +1 -1
- package/dist/lib/esm/normalizer-options/number-normalizer.options.js +12 -0
- package/dist/lib/esm/normalizer-options/number-normalizer.options.js.map +1 -0
- package/dist/lib/esm/normalizer-options/string-normalizer.options.js +13 -0
- package/dist/lib/esm/normalizer-options/string-normalizer.options.js.map +1 -0
- package/dist/lib/esm/normalizers/date.normalizer.js +70 -0
- package/dist/lib/esm/normalizers/date.normalizer.js.map +1 -0
- package/dist/lib/esm/normalizers/normalizers.js +3 -0
- package/dist/lib/esm/normalizers/normalizers.js.map +1 -1
- package/dist/lib/esm/normalizers/number.normalizer.js +38 -0
- package/dist/lib/esm/normalizers/number.normalizer.js.map +1 -0
- package/dist/lib/esm/normalizers/string.normalizer.js +60 -0
- package/dist/lib/esm/normalizers/string.normalizer.js.map +1 -0
- package/dist/lib/esm/options/auto-data-mapping-builder.options.js +7 -0
- package/dist/lib/esm/options/auto-data-mapping-builder.options.js.map +1 -0
- package/dist/lib/esm/request-interceptors/body-mapping.request-interceptor.js +76 -0
- package/dist/lib/esm/request-interceptors/body-mapping.request-interceptor.js.map +1 -0
- package/dist/lib/esm/request-interceptors/request-interceptors.js +2 -0
- package/dist/lib/esm/request-interceptors/request-interceptors.js.map +1 -0
- package/dist/types/builders/auto-data-mapping.builder.d.ts +25 -0
- package/dist/types/builders/builders.d.ts +1 -0
- package/dist/types/data-mapping.module.d.ts +2 -0
- package/dist/types/decorators/body-mapping.decorator.d.ts +10 -0
- package/dist/types/decorators/decorators.d.ts +1 -0
- package/dist/types/decorators/type.decorator.d.ts +2 -0
- package/dist/types/interfaces/body-mapping-context.interface.d.ts +18 -0
- package/dist/types/mappers/data.mapper.d.ts +11 -1
- package/dist/types/nodes/data-mapping.node.d.ts +10 -0
- package/dist/types/normalizer-options/base-normalizer.options.d.ts +2 -2
- package/dist/types/normalizer-options/date-normalizer.options.d.ts +12 -0
- package/dist/types/normalizer-options/lowercase-normalizer.options.d.ts +1 -1
- package/dist/types/normalizer-options/normalizer-options.d.ts +3 -0
- package/dist/types/normalizer-options/number-normalizer.options.d.ts +8 -0
- package/dist/types/normalizer-options/string-normalizer.options.d.ts +12 -0
- package/dist/types/normalizers/date.normalizer.d.ts +6 -0
- package/dist/types/normalizers/normalizers.d.ts +3 -0
- package/dist/types/normalizers/number.normalizer.d.ts +6 -0
- package/dist/types/normalizers/string.normalizer.d.ts +6 -0
- package/dist/types/options/auto-data-mapping-builder.options.d.ts +11 -0
- package/dist/types/request-interceptors/body-mapping.request-interceptor.d.ts +20 -0
- package/dist/types/request-interceptors/request-interceptors.d.ts +1 -0
- package/package.json +8 -6
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class DateNormalizerOptions {
|
|
2
|
+
/**
|
|
3
|
+
* This property specifies whether an invalid date should return undefined or a date object.
|
|
4
|
+
*/
|
|
5
|
+
returnUndefinedOnInvalidDate: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* This property specifies if a number should be treated as being in seconds or not. Since JS Date expects a
|
|
8
|
+
* timestamp in milliseconds, if the number is in seconds, it will be multiplied by 1000.
|
|
9
|
+
*/
|
|
10
|
+
treatNumbers: "milliseconds" | "seconds";
|
|
11
|
+
constructor(options?: Partial<DateNormalizerOptions>);
|
|
12
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class NumberNormalizerOptions {
|
|
2
|
+
/**
|
|
3
|
+
* This property specifies whether an undefined value should be ignored and simply returned or treated as a potential string
|
|
4
|
+
* and return an empty string `""`.
|
|
5
|
+
*/
|
|
6
|
+
ignoreUndefined: boolean;
|
|
7
|
+
constructor(options?: Partial<NumberNormalizerOptions>);
|
|
8
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class StringNormalizerOptions {
|
|
2
|
+
/**
|
|
3
|
+
* This property specifies whether an undefined value should be ignored and simply returned or treated as a potential string
|
|
4
|
+
* and return an empty string `""`.
|
|
5
|
+
*/
|
|
6
|
+
ignoreUndefined: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* This represents the format of the date that the normalizer should use when outputting a date object to a string.
|
|
9
|
+
*/
|
|
10
|
+
dateFormat?: string;
|
|
11
|
+
constructor(options?: Partial<StringNormalizerOptions>);
|
|
12
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DataNormalizerInterface } from "../interfaces/data-normalizer.interface";
|
|
2
|
+
import { DateNormalizerOptions } from "../normalizer-options/date-normalizer.options";
|
|
3
|
+
export declare class DateNormalizer implements DataNormalizerInterface<Date | undefined, DateNormalizerOptions> {
|
|
4
|
+
getUniqueKey(): string;
|
|
5
|
+
normalize(source: any, options?: DateNormalizerOptions): Date | undefined;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DataNormalizerInterface } from "../interfaces/data-normalizer.interface";
|
|
2
|
+
import { NumberNormalizerOptions } from "../normalizer-options/number-normalizer.options";
|
|
3
|
+
export declare class NumberNormalizer implements DataNormalizerInterface<number | undefined, NumberNormalizerOptions> {
|
|
4
|
+
getUniqueKey(): string;
|
|
5
|
+
normalize(source: any, options?: NumberNormalizerOptions): number | undefined;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DataNormalizerInterface } from "../interfaces/data-normalizer.interface";
|
|
2
|
+
import { StringNormalizerOptions } from "../normalizer-options/string-normalizer.options";
|
|
3
|
+
export declare class StringNormalizer implements DataNormalizerInterface<string | undefined, StringNormalizerOptions> {
|
|
4
|
+
getUniqueKey(): string;
|
|
5
|
+
normalize(source: any, options?: StringNormalizerOptions): string | undefined;
|
|
6
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare class AutoDataMappingBuilderOptions {
|
|
2
|
+
/**
|
|
3
|
+
* This property is used to specify the default value for the `ìsOptional` property in the builder.
|
|
4
|
+
*
|
|
5
|
+
* It will not override the `isNullable` metadata for the property.
|
|
6
|
+
*
|
|
7
|
+
* Default value is `false`.
|
|
8
|
+
*/
|
|
9
|
+
isOptionalDefaultValue: boolean;
|
|
10
|
+
constructor(options?: Partial<AutoDataMappingBuilderOptions>);
|
|
11
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Request } from "@pristine-ts/common";
|
|
2
|
+
import { MethodRouterNode, RequestInterceptorInterface } from "@pristine-ts/networking";
|
|
3
|
+
import { LogHandlerInterface } from "@pristine-ts/logging";
|
|
4
|
+
import { DataMapper } from "../mappers/data.mapper";
|
|
5
|
+
/**
|
|
6
|
+
* This class is an interceptor that maps the body of an incoming request.
|
|
7
|
+
* It is tagged as an RequestInterceptor so it can be automatically injected with the all the other RequestInterceptors.
|
|
8
|
+
* It is module scoped to the Validation module so that it is only registered if the validation module is imported.
|
|
9
|
+
*/
|
|
10
|
+
export declare class BodyMappingRequestInterceptor implements RequestInterceptorInterface {
|
|
11
|
+
private readonly loghandler;
|
|
12
|
+
private readonly dataMapper;
|
|
13
|
+
constructor(loghandler: LogHandlerInterface, dataMapper: DataMapper);
|
|
14
|
+
/**
|
|
15
|
+
* Intercepts the request and maps that the body to the corresponding argument passed in the `@bodyMapping` validator
|
|
16
|
+
* @param request The request being intercepted.
|
|
17
|
+
* @param methodNode The method node.
|
|
18
|
+
*/
|
|
19
|
+
interceptRequest(request: Request, methodNode: MethodRouterNode): Promise<Request>;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./body-mapping.request-interceptor";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pristine-ts/data-mapping",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.279",
|
|
4
4
|
"description": "",
|
|
5
5
|
"module": "dist/lib/esm/data-mapping.module.js",
|
|
6
6
|
"main": "dist/lib/cjs/data-mapping.module.js",
|
|
@@ -20,11 +20,13 @@
|
|
|
20
20
|
"access": "public"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@pristine-ts/class-validator": "^1.0.
|
|
24
|
-
"@pristine-ts/common": "^0.0.
|
|
25
|
-
"@pristine-ts/logging": "^0.0.
|
|
26
|
-
"@pristine-ts/metadata": "~1.0.
|
|
23
|
+
"@pristine-ts/class-validator": "^1.0.23",
|
|
24
|
+
"@pristine-ts/common": "^0.0.279",
|
|
25
|
+
"@pristine-ts/logging": "^0.0.279",
|
|
26
|
+
"@pristine-ts/metadata": "~1.0.6",
|
|
27
|
+
"@pristine-ts/networking": "^0.0.279",
|
|
27
28
|
"class-transformer": "^0.5.1",
|
|
29
|
+
"date-fns": "^3.3.1",
|
|
28
30
|
"tsyringe": "^4.8.0"
|
|
29
31
|
},
|
|
30
32
|
"jest": {
|
|
@@ -64,5 +66,5 @@
|
|
|
64
66
|
"jest-extended/all"
|
|
65
67
|
]
|
|
66
68
|
},
|
|
67
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "1576fad5e35c9a63f80aecb693186f30f1092a3d"
|
|
68
70
|
}
|