@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
|
@@ -12,6 +12,7 @@ import { DataMappingLeaf } from "./data-mapping.leaf";
|
|
|
12
12
|
import { BaseDataMappingNode } from "./base-data-mapping.node";
|
|
13
13
|
import { DataMappingSourcePropertyNotFoundError } from "../errors/data-mapping-source-property-not-found.error";
|
|
14
14
|
import { ArrayDataMappingNodeInvalidSourcePropertyTypeError } from "../errors/array-data-mapping-node-invalid-source-property-type.error";
|
|
15
|
+
import { plainToInstance } from "class-transformer";
|
|
15
16
|
export class DataMappingNode extends BaseDataMappingNode {
|
|
16
17
|
constructor(root, parent, type = DataMappingNodeTypeEnum.Node) {
|
|
17
18
|
super();
|
|
@@ -39,6 +40,14 @@ export class DataMappingNode extends BaseDataMappingNode {
|
|
|
39
40
|
this.destinationProperty = destinationProperty;
|
|
40
41
|
return this;
|
|
41
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* This is a setter for `destinationType`.
|
|
45
|
+
* @param destinationType
|
|
46
|
+
*/
|
|
47
|
+
setDestinationType(destinationType) {
|
|
48
|
+
this.destinationType = destinationType;
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
42
51
|
/**
|
|
43
52
|
* This is a setter for `isOptional`.
|
|
44
53
|
* @param isOptional
|
|
@@ -107,8 +116,12 @@ export class DataMappingNode extends BaseDataMappingNode {
|
|
|
107
116
|
destination[this.destinationProperty] = [];
|
|
108
117
|
}
|
|
109
118
|
else {
|
|
110
|
-
|
|
111
|
-
|
|
119
|
+
if (this.destinationType) {
|
|
120
|
+
destination[this.destinationProperty] = plainToInstance(this.destinationType, {});
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
destination[this.destinationProperty] = {};
|
|
124
|
+
}
|
|
112
125
|
}
|
|
113
126
|
}
|
|
114
127
|
const destinationElement = destination[this.destinationProperty];
|
|
@@ -119,8 +132,10 @@ export class DataMappingNode extends BaseDataMappingNode {
|
|
|
119
132
|
throw new ArrayDataMappingNodeInvalidSourcePropertyTypeError(`According to your schema, the property '${this.sourceProperty}' in the source object must contain an Array of objects. Instead, it contains: '${typeof array}'.`, this.sourceProperty);
|
|
120
133
|
}
|
|
121
134
|
for (const element of array) {
|
|
122
|
-
|
|
123
|
-
|
|
135
|
+
let dest = {};
|
|
136
|
+
if (this.destinationType) {
|
|
137
|
+
dest = plainToInstance(this.destinationType, {});
|
|
138
|
+
}
|
|
124
139
|
for (const key in this.nodes) {
|
|
125
140
|
if (this.nodes.hasOwnProperty(key) === false) {
|
|
126
141
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-mapping.node.js","sourceRoot":"","sources":["../../../../src/nodes/data-mapping.node.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,sCAAsC,EAAC,MAAM,wDAAwD,CAAC;AAG9G,OAAO,EACH,kDAAkD,EACrD,MAAM,sEAAsE,CAAC;
|
|
1
|
+
{"version":3,"file":"data-mapping.node.js","sourceRoot":"","sources":["../../../../src/nodes/data-mapping.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export class BaseNormalizerOptions {
|
|
2
2
|
constructor(options) {
|
|
3
3
|
var _a;
|
|
4
|
-
this.shouldThrowIfTypeIsNotString =
|
|
4
|
+
this.shouldThrowIfTypeIsNotString = false;
|
|
5
|
+
this.shouldThrowIfTypeIsNotString = (_a = options === null || options === void 0 ? void 0 : options.shouldThrowIfTypeIsNotString) !== null && _a !== void 0 ? _a : this.shouldThrowIfTypeIsNotString;
|
|
5
6
|
}
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=base-normalizer.options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/base-normalizer.options.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,qBAAqB;IAGvC,YAAmB,
|
|
1
|
+
{"version":3,"file":"base-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/base-normalizer.options.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,qBAAqB;IAGvC,YAAmB,OAAwC;;QAFpD,iCAA4B,GAAY,KAAK,CAAC;QAGjD,IAAI,CAAC,4BAA4B,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,4BAA4B,mCAAI,IAAI,CAAC,4BAA4B,CAAC;IACnH,CAAC;CACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export class DateNormalizerOptions {
|
|
2
|
+
constructor(options) {
|
|
3
|
+
var _a, _b;
|
|
4
|
+
/**
|
|
5
|
+
* This property specifies whether an invalid date should return undefined or a date object.
|
|
6
|
+
*/
|
|
7
|
+
this.returnUndefinedOnInvalidDate = true;
|
|
8
|
+
/**
|
|
9
|
+
* This property specifies if a number should be treated as being in seconds or not. Since JS Date expects a
|
|
10
|
+
* timestamp in milliseconds, if the number is in seconds, it will be multiplied by 1000.
|
|
11
|
+
*/
|
|
12
|
+
this.treatNumbers = "seconds";
|
|
13
|
+
this.returnUndefinedOnInvalidDate = (_a = options === null || options === void 0 ? void 0 : options.returnUndefinedOnInvalidDate) !== null && _a !== void 0 ? _a : this.returnUndefinedOnInvalidDate;
|
|
14
|
+
this.treatNumbers = (_b = options === null || options === void 0 ? void 0 : options.treatNumbers) !== null && _b !== void 0 ? _b : this.treatNumbers;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=date-normalizer.options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/date-normalizer.options.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAqB;IAY9B,YAAmB,OAAwC;;QAX3D;;WAEG;QACI,iCAA4B,GAAY,IAAI,CAAC;QAEpD;;;WAGG;QACI,iBAAY,GAA+B,SAAS,CAAC;QAGxD,IAAI,CAAC,4BAA4B,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,4BAA4B,mCAAI,IAAI,CAAC,4BAA4B,CAAC;QAC/G,IAAI,CAAC,YAAY,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,mCAAI,IAAI,CAAC,YAAY,CAAC;IACnE,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lowercase-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/lowercase-normalizer.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAEhE,MAAM,OAAO,0BAA2B,SAAQ,qBAAqB;IACjE,YAAmB,
|
|
1
|
+
{"version":3,"file":"lowercase-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/lowercase-normalizer.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAEhE,MAAM,OAAO,0BAA2B,SAAQ,qBAAqB;IACjE,YAAmB,OAA6C;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACJ"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export * from "./base-normalizer.options";
|
|
2
|
+
export * from "./date-normalizer.options";
|
|
2
3
|
export * from "./lowercase-normalizer.options";
|
|
4
|
+
export * from "./number-normalizer.options";
|
|
5
|
+
export * from "./string-normalizer.options";
|
|
3
6
|
//# sourceMappingURL=normalizer-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizer-options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/normalizer-options.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"normalizer-options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/normalizer-options.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class NumberNormalizerOptions {
|
|
2
|
+
constructor(options) {
|
|
3
|
+
var _a;
|
|
4
|
+
/**
|
|
5
|
+
* This property specifies whether an undefined value should be ignored and simply returned or treated as a potential string
|
|
6
|
+
* and return an empty string `""`.
|
|
7
|
+
*/
|
|
8
|
+
this.ignoreUndefined = true;
|
|
9
|
+
this.ignoreUndefined = (_a = options === null || options === void 0 ? void 0 : options.ignoreUndefined) !== null && _a !== void 0 ? _a : this.ignoreUndefined;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=number-normalizer.options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/number-normalizer.options.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,uBAAuB;IAOhC,YAAmB,OAA0C;;QAN7D;;;WAGG;QACI,oBAAe,GAAY,IAAI,CAAC;QAGnC,IAAI,CAAC,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,mCAAI,IAAI,CAAC,eAAe,CAAC;IAC5E,CAAC;CACJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class StringNormalizerOptions {
|
|
2
|
+
constructor(options) {
|
|
3
|
+
var _a;
|
|
4
|
+
/**
|
|
5
|
+
* This property specifies whether an undefined value should be ignored and simply returned or treated as a potential string
|
|
6
|
+
* and return an empty string `""`.
|
|
7
|
+
*/
|
|
8
|
+
this.ignoreUndefined = true;
|
|
9
|
+
this.ignoreUndefined = (_a = options === null || options === void 0 ? void 0 : options.ignoreUndefined) !== null && _a !== void 0 ? _a : this.ignoreUndefined;
|
|
10
|
+
this.dateFormat = options === null || options === void 0 ? void 0 : options.dateFormat;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=string-normalizer.options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/string-normalizer.options.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,uBAAuB;IAYhC,YAAmB,OAA0C;;QAX7D;;;WAGG;QACI,oBAAe,GAAY,IAAI,CAAC;QAQnC,IAAI,CAAC,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,mCAAI,IAAI,CAAC,eAAe,CAAC;QACxE,IAAI,CAAC,UAAU,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC;IAC1C,CAAC;CACJ"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var DateNormalizer_1;
|
|
8
|
+
import { injectable } from "tsyringe";
|
|
9
|
+
import { TypeEnum, TypeUtils } from "@pristine-ts/metadata";
|
|
10
|
+
let DateNormalizer = DateNormalizer_1 = class DateNormalizer {
|
|
11
|
+
getUniqueKey() {
|
|
12
|
+
return DateNormalizer_1.name;
|
|
13
|
+
}
|
|
14
|
+
normalize(source, options) {
|
|
15
|
+
const typeEnum = TypeUtils.getTypeOfValue(source);
|
|
16
|
+
if (typeEnum === undefined) {
|
|
17
|
+
if ((options === null || options === void 0 ? void 0 : options.returnUndefinedOnInvalidDate) === false) {
|
|
18
|
+
return new Date();
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
let date;
|
|
23
|
+
switch (typeEnum) {
|
|
24
|
+
case TypeEnum.Number:
|
|
25
|
+
if ((options === null || options === void 0 ? void 0 : options.treatNumbers) === "seconds") {
|
|
26
|
+
source = source * 1000;
|
|
27
|
+
}
|
|
28
|
+
case TypeEnum.String:
|
|
29
|
+
date = new Date(source);
|
|
30
|
+
if (!isNaN(date.getTime())) {
|
|
31
|
+
return date;
|
|
32
|
+
}
|
|
33
|
+
break;
|
|
34
|
+
case TypeEnum.Object:
|
|
35
|
+
date = new Date();
|
|
36
|
+
// todo: Allow this property to be customizable in the options eventually
|
|
37
|
+
if (source.hasOwnProperty("year")) {
|
|
38
|
+
date.setFullYear(source["year"]);
|
|
39
|
+
}
|
|
40
|
+
if (source.hasOwnProperty("month")) {
|
|
41
|
+
date.setMonth(source["month"]);
|
|
42
|
+
}
|
|
43
|
+
if (source.hasOwnProperty("day")) {
|
|
44
|
+
date.setDate(source["day"]);
|
|
45
|
+
}
|
|
46
|
+
if (source.hasOwnProperty("hours")) {
|
|
47
|
+
date.setHours(source["hours"]);
|
|
48
|
+
}
|
|
49
|
+
if (source.hasOwnProperty("minutes")) {
|
|
50
|
+
date.setMinutes(source["minutes"]);
|
|
51
|
+
}
|
|
52
|
+
if (source.hasOwnProperty("seconds")) {
|
|
53
|
+
date.setSeconds(source["seconds"]);
|
|
54
|
+
}
|
|
55
|
+
if (!isNaN(date.getTime())) {
|
|
56
|
+
return date;
|
|
57
|
+
}
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
if ((options === null || options === void 0 ? void 0 : options.returnUndefinedOnInvalidDate) === false) {
|
|
61
|
+
return new Date();
|
|
62
|
+
}
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
DateNormalizer = DateNormalizer_1 = __decorate([
|
|
67
|
+
injectable()
|
|
68
|
+
], DateNormalizer);
|
|
69
|
+
export { DateNormalizer };
|
|
70
|
+
//# sourceMappingURL=date.normalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.normalizer.js","sourceRoot":"","sources":["../../../../src/normalizers/date.normalizer.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAGpC,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAGnD,IAAM,cAAc,sBAApB,MAAM,cAAc;IACvB,YAAY;QACR,OAAO,gBAAc,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,MAAW,EAAE,OAA+B;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAElD,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,4BAA4B,MAAK,KAAK,EAAE;gBACjD,OAAO,IAAI,IAAI,EAAE,CAAC;aACrB;YAED,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,IAAU,CAAC;QAEf,QAAQ,QAAQ,EAAE;YACd,KAAK,QAAQ,CAAC,MAAM;gBAChB,IAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,MAAK,SAAS,EAAE;oBACpC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;iBAC1B;YAEL,KAAK,QAAQ,CAAC,MAAM;gBAChB,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;gBAExB,IAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;oBACvB,OAAO,IAAI,CAAC;iBACf;gBAED,MAAM;YAEV,KAAK,QAAQ,CAAC,MAAM;gBAChB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBAElB,yEAAyE;gBACzE,IAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;oBAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;iBACpC;gBACD,IAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;oBAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;iBAClC;gBACD,IAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;oBAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC/B;gBACD,IAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;oBAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;iBAClC;gBACD,IAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;oBACjC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;iBACtC;gBACD,IAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;oBACjC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;iBACtC;gBAED,IAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;oBACvB,OAAO,IAAI,CAAC;iBACf;gBAED,MAAM;SACb;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,4BAA4B,MAAK,KAAK,EAAE;YACjD,OAAO,IAAI,IAAI,EAAE,CAAC;SACrB;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CAEJ,CAAA;AAtEY,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAsE1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizers.js","sourceRoot":"","sources":["../../../../src/normalizers/normalizers.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"normalizers.js","sourceRoot":"","sources":["../../../../src/normalizers/normalizers.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var NumberNormalizer_1;
|
|
8
|
+
import { injectable } from "tsyringe";
|
|
9
|
+
import { TypeEnum, TypeUtils } from "@pristine-ts/metadata";
|
|
10
|
+
let NumberNormalizer = NumberNormalizer_1 = class NumberNormalizer {
|
|
11
|
+
getUniqueKey() {
|
|
12
|
+
return NumberNormalizer_1.name;
|
|
13
|
+
}
|
|
14
|
+
normalize(source, options) {
|
|
15
|
+
const typeEnum = TypeUtils.getTypeOfValue(source);
|
|
16
|
+
switch (typeEnum) {
|
|
17
|
+
case TypeEnum.String:
|
|
18
|
+
const value = parseFloat(source);
|
|
19
|
+
if (isNaN(value) === false) {
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
break;
|
|
23
|
+
case TypeEnum.Number:
|
|
24
|
+
return source;
|
|
25
|
+
}
|
|
26
|
+
if (typeEnum === undefined || typeEnum === TypeEnum.Null) {
|
|
27
|
+
if ((options === null || options === void 0 ? void 0 : options.ignoreUndefined) === false) {
|
|
28
|
+
return 0;
|
|
29
|
+
}
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
NumberNormalizer = NumberNormalizer_1 = __decorate([
|
|
35
|
+
injectable()
|
|
36
|
+
], NumberNormalizer);
|
|
37
|
+
export { NumberNormalizer };
|
|
38
|
+
//# sourceMappingURL=number.normalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.normalizer.js","sourceRoot":"","sources":["../../../../src/normalizers/number.normalizer.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAGpC,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAGnD,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IACzB,YAAY;QACR,OAAO,kBAAgB,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAW,EAAE,OAAiC;QACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAElD,QAAQ,QAAQ,EAAE;YACd,KAAK,QAAQ,CAAC,MAAM;gBAChB,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBAEjC,IAAG,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;oBACvB,OAAO,KAAK,CAAC;iBAChB;gBACD,MAAM;YAEV,KAAK,QAAQ,CAAC,MAAM;gBAChB,OAAO,MAAM,CAAC;SACrB;QAED,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE;YACtD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,MAAK,KAAK,EAAE;gBACpC,OAAO,CAAC,CAAC;aACZ;YAED,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;CACJ,CAAA;AA7BY,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CA6B5B"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var StringNormalizer_1;
|
|
8
|
+
import { injectable } from "tsyringe";
|
|
9
|
+
import { TypeEnum, TypeUtils } from "@pristine-ts/metadata";
|
|
10
|
+
import { format } from "date-fns";
|
|
11
|
+
let StringNormalizer = StringNormalizer_1 = class StringNormalizer {
|
|
12
|
+
getUniqueKey() {
|
|
13
|
+
return StringNormalizer_1.name;
|
|
14
|
+
}
|
|
15
|
+
normalize(source, options) {
|
|
16
|
+
const typeEnum = TypeUtils.getTypeOfValue(source);
|
|
17
|
+
if (typeEnum === undefined || typeEnum === TypeEnum.Null) {
|
|
18
|
+
if ((options === null || options === void 0 ? void 0 : options.ignoreUndefined) === false) {
|
|
19
|
+
return "";
|
|
20
|
+
}
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
switch (typeEnum) {
|
|
24
|
+
case TypeEnum.String:
|
|
25
|
+
return source;
|
|
26
|
+
case TypeEnum.Number:
|
|
27
|
+
return "" + source;
|
|
28
|
+
case TypeEnum.Boolean:
|
|
29
|
+
return source ? "true" : "false";
|
|
30
|
+
case TypeEnum.Date:
|
|
31
|
+
if (options === null || options === void 0 ? void 0 : options.dateFormat) {
|
|
32
|
+
return format(source, options.dateFormat);
|
|
33
|
+
}
|
|
34
|
+
// This will return the default format we want: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toJSON
|
|
35
|
+
return source.toJSON();
|
|
36
|
+
case TypeEnum.Array:
|
|
37
|
+
return source.map((item) => this.normalize(item, options));
|
|
38
|
+
case TypeEnum.Symbol:
|
|
39
|
+
return source.toString();
|
|
40
|
+
case TypeEnum.Object:
|
|
41
|
+
if (source.hasOwnProperty("toString") === true) {
|
|
42
|
+
return source.toString();
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
return JSON.stringify(source);
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
return "" + source;
|
|
49
|
+
}
|
|
50
|
+
// For now, let's do that for other types. We can make it better eventually.
|
|
51
|
+
default:
|
|
52
|
+
return "" + source;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
StringNormalizer = StringNormalizer_1 = __decorate([
|
|
57
|
+
injectable()
|
|
58
|
+
], StringNormalizer);
|
|
59
|
+
export { StringNormalizer };
|
|
60
|
+
//# sourceMappingURL=string.normalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.normalizer.js","sourceRoot":"","sources":["../../../../src/normalizers/string.normalizer.ts"],"names":[],"mappings":";;;;;;;AACA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAGzB,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IACzB,YAAY;QACR,OAAO,kBAAgB,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAW,EAAE,OAAiC;QACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAElD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE;YACtD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,MAAK,KAAK,EAAE;gBACpC,OAAO,EAAE,CAAC;aACb;YAED,OAAO,SAAS,CAAC;SACpB;QAED,QAAQ,QAAQ,EAAE;YACd,KAAK,QAAQ,CAAC,MAAM;gBAChB,OAAO,MAAM,CAAC;YAElB,KAAK,QAAQ,CAAC,MAAM;gBAChB,OAAO,EAAE,GAAG,MAAM,CAAC;YAEvB,KAAK,QAAQ,CAAC,OAAO;gBACjB,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAErC,KAAK,QAAQ,CAAC,IAAI;gBACd,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAE;oBACrB,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;iBAC7C;gBAED,4IAA4I;gBAC5I,OAAQ,MAAe,CAAC,MAAM,EAAE,CAAC;YAErC,KAAK,QAAQ,CAAC,KAAK;gBACf,OAAO,MAAM,CAAC,GAAG,CAAE,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAErE,KAAK,QAAQ,CAAC,MAAM;gBAChB,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;YAE7B,KAAK,QAAQ,CAAC,MAAM;gBAChB,IAAG,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;oBAC3C,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;iBAC5B;gBAED,IAAI;oBACA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;iBACjC;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,EAAE,GAAG,MAAM,CAAA;iBACrB;YAED,4EAA4E;YAChF;gBACI,OAAO,EAAE,GAAG,MAAM,CAAC;SAC1B;IACL,CAAC;CACJ,CAAA;AAxDY,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAwD5B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class AutoDataMappingBuilderOptions {
|
|
2
|
+
constructor(options) {
|
|
3
|
+
var _a;
|
|
4
|
+
this.isOptionalDefaultValue = (_a = options === null || options === void 0 ? void 0 : options.isOptionalDefaultValue) !== null && _a !== void 0 ? _a : false;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=auto-data-mapping-builder.options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-data-mapping-builder.options.js","sourceRoot":"","sources":["../../../../src/options/auto-data-mapping-builder.options.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,6BAA6B;IAUtC,YAAY,OAAgD;;QACxD,IAAI,CAAC,sBAAsB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,mCAAI,KAAK,CAAC;IAC3E,CAAC;CACJ"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
|
|
23
|
+
import { inject, injectable } from "tsyringe";
|
|
24
|
+
import { DataMapper } from "../mappers/data.mapper";
|
|
25
|
+
import { bodyMappingDecoratorMetadataKeyname } from "../decorators/body-mapping.decorator";
|
|
26
|
+
import { DataMappingModuleKeyname } from "../data-mapping.module.keyname";
|
|
27
|
+
/**
|
|
28
|
+
* This class is an interceptor that maps the body of an incoming request.
|
|
29
|
+
* It is tagged as an RequestInterceptor so it can be automatically injected with the all the other RequestInterceptors.
|
|
30
|
+
* It is module scoped to the Validation module so that it is only registered if the validation module is imported.
|
|
31
|
+
*/
|
|
32
|
+
let BodyMappingRequestInterceptor = class BodyMappingRequestInterceptor {
|
|
33
|
+
constructor(loghandler, dataMapper) {
|
|
34
|
+
this.loghandler = loghandler;
|
|
35
|
+
this.dataMapper = dataMapper;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Intercepts the request and maps that the body to the corresponding argument passed in the `@bodyMapping` validator
|
|
39
|
+
* @param request The request being intercepted.
|
|
40
|
+
* @param methodNode The method node.
|
|
41
|
+
*/
|
|
42
|
+
interceptRequest(request, methodNode) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
const bodyMapping = methodNode.route.context[bodyMappingDecoratorMetadataKeyname];
|
|
45
|
+
if (bodyMapping === undefined) {
|
|
46
|
+
return request;
|
|
47
|
+
}
|
|
48
|
+
this.loghandler.debug("BodyMappingRequestInterceptor", {
|
|
49
|
+
request,
|
|
50
|
+
methodNode,
|
|
51
|
+
routeContext: methodNode.route.context,
|
|
52
|
+
}, DataMappingModuleKeyname);
|
|
53
|
+
switch (bodyMapping.type) {
|
|
54
|
+
case "classType":
|
|
55
|
+
request.body = yield this.dataMapper.autoMap(request.body, bodyMapping.classType);
|
|
56
|
+
break;
|
|
57
|
+
case "DataMappingBuilder":
|
|
58
|
+
request.body = yield this.dataMapper.map(bodyMapping.dataMappingBuilder, request.body, bodyMapping.destination);
|
|
59
|
+
break;
|
|
60
|
+
case "function":
|
|
61
|
+
request.body = bodyMapping.function(request.body);
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
return request;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
BodyMappingRequestInterceptor = __decorate([
|
|
69
|
+
moduleScoped(DataMappingModuleKeyname),
|
|
70
|
+
tag(ServiceDefinitionTagEnum.RequestInterceptor),
|
|
71
|
+
injectable(),
|
|
72
|
+
__param(0, inject("LogHandlerInterface")),
|
|
73
|
+
__metadata("design:paramtypes", [Object, DataMapper])
|
|
74
|
+
], BodyMappingRequestInterceptor);
|
|
75
|
+
export { BodyMappingRequestInterceptor };
|
|
76
|
+
//# sourceMappingURL=body-mapping.request-interceptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body-mapping.request-interceptor.js","sourceRoot":"","sources":["../../../../src/request-interceptors/body-mapping.request-interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,YAAY,EAAW,wBAAwB,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,mCAAmC,EAAC,MAAM,sCAAsC,CAAC;AAMzF,OAAO,EAAC,wBAAwB,EAAC,MAAM,gCAAgC,CAAC;AAExE;;;;GAIG;AAII,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IACtC,YAA4D,UAA+B,EAC9D,UAAsB;QADS,eAAU,GAAV,UAAU,CAAqB;QAC9D,eAAU,GAAV,UAAU,CAAY;IACnD,CAAC;IAED;;;;OAIG;IACG,gBAAgB,CAAC,OAAgB,EAAE,UAA4B;;YACjE,MAAM,WAAW,GAAsI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;YAErN,IAAG,WAAW,KAAK,SAAS,EAAE;gBAC1B,OAAO,OAAO,CAAC;aAClB;YAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBACnD,OAAO;gBACP,UAAU;gBACV,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO;aACzC,EAAE,wBAAwB,CAAC,CAAA;YAE5B,QAAQ,WAAW,CAAC,IAAI,EAAE;gBACtB,KAAK,WAAW;oBACZ,OAAO,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;oBAClF,MAAM;gBAEV,KAAK,oBAAoB;oBACrB,OAAO,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;oBAChH,MAAM;gBAEV,KAAK,UAAU;oBACX,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAClD,MAAM;aACb;YAED,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;CACJ,CAAA;AAvCY,6BAA6B;IAHzC,YAAY,CAAC,wBAAwB,CAAC;IACtC,GAAG,CAAC,wBAAwB,CAAC,kBAAkB,CAAC;IAChD,UAAU,EAAE;IAEI,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;6CACD,UAAU;GAF1C,6BAA6B,CAuCzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-interceptors.js","sourceRoot":"","sources":["../../../../src/request-interceptors/request-interceptors.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ClassConstructor } from "class-transformer";
|
|
2
|
+
import { DataMappingBuilder } from "./data-mapping.builder";
|
|
3
|
+
import { AutoDataMappingBuilderOptions } from "../options/auto-data-mapping-builder.options";
|
|
4
|
+
export declare class AutoDataMappingBuilder {
|
|
5
|
+
/**
|
|
6
|
+
* This method receives a source object and a destinationType that corresponds to the type of the class
|
|
7
|
+
* that the source should be mapped to. It then creates a DataMappingBuilder object that contains the schema
|
|
8
|
+
* needed to map the source to the destinationType.
|
|
9
|
+
* @param source
|
|
10
|
+
* @param destinationType
|
|
11
|
+
* @param options
|
|
12
|
+
*/
|
|
13
|
+
build(source: any, destinationType: ClassConstructor<any>, options?: AutoDataMappingBuilderOptions): DataMappingBuilder;
|
|
14
|
+
/**
|
|
15
|
+
* This method is the internal method that is called recursively to build the schema.
|
|
16
|
+
*
|
|
17
|
+
* @param source
|
|
18
|
+
* @param destinationType
|
|
19
|
+
* @param root
|
|
20
|
+
* @param parent
|
|
21
|
+
* @param options
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
private internalBuild;
|
|
25
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ModuleInterface } from "@pristine-ts/common";
|
|
2
2
|
export * from "./builders/builders";
|
|
3
|
+
export * from "./decorators/decorators";
|
|
3
4
|
export * from "./enums/enums";
|
|
4
5
|
export * from "./errors/errors";
|
|
5
6
|
export * from "./interceptors/interceptors";
|
|
@@ -8,5 +9,6 @@ export * from "./mappers/mappers";
|
|
|
8
9
|
export * from "./nodes/nodes";
|
|
9
10
|
export * from "./normalizer-options/normalizer-options";
|
|
10
11
|
export * from "./normalizers/normalizers";
|
|
12
|
+
export * from "./request-interceptors/request-interceptors";
|
|
11
13
|
export * from "./types/types";
|
|
12
14
|
export declare const DataMappingModule: ModuleInterface;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DataMappingBuilder } from "../builders/data-mapping.builder";
|
|
2
|
+
import { ClassConstructor } from "class-transformer";
|
|
3
|
+
export declare const bodyMappingDecoratorMetadataKeyname = "@bodyMappingDecorator";
|
|
4
|
+
/**
|
|
5
|
+
* The bodyMapping decorator can be used to map the body to another object.
|
|
6
|
+
*/
|
|
7
|
+
export declare const bodyMapping: (argument: ClassConstructor<any> | {
|
|
8
|
+
builder: DataMappingBuilder;
|
|
9
|
+
destination?: ClassConstructor<any> | undefined;
|
|
10
|
+
} | ((body: any) => any)) => (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./body-mapping.decorator";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DataMappingBuilder } from "../builders/data-mapping.builder";
|
|
2
|
+
import { ClassConstructor } from "class-transformer";
|
|
3
|
+
export interface BodyMappingContextInterface {
|
|
4
|
+
type: "function" | "classType" | "DataMappingBuilder";
|
|
5
|
+
}
|
|
6
|
+
export interface FunctionBodyMappingContextInterface extends BodyMappingContextInterface {
|
|
7
|
+
type: "function";
|
|
8
|
+
function: ((body: any) => any);
|
|
9
|
+
}
|
|
10
|
+
export interface ClassTransformerBodyMappingContextInterface extends BodyMappingContextInterface {
|
|
11
|
+
type: "classType";
|
|
12
|
+
classType: ClassConstructor<any>;
|
|
13
|
+
}
|
|
14
|
+
export interface DataMappingBuilderBodyMappingContextInterface extends BodyMappingContextInterface {
|
|
15
|
+
type: "DataMappingBuilder";
|
|
16
|
+
dataMappingBuilder: DataMappingBuilder;
|
|
17
|
+
destination?: ClassConstructor<any>;
|
|
18
|
+
}
|
|
@@ -2,12 +2,15 @@ import { DataNormalizerInterface } from "../interfaces/data-normalizer.interface
|
|
|
2
2
|
import { DataMappingInterceptorInterface } from "../interfaces/data-mapping-interceptor.interface";
|
|
3
3
|
import { DataMappingBuilder } from "../builders/data-mapping.builder";
|
|
4
4
|
import { ClassConstructor } from "class-transformer";
|
|
5
|
+
import { AutoDataMappingBuilder } from "../builders/auto-data-mapping.builder";
|
|
6
|
+
import { AutoDataMappingBuilderOptions } from "../options/auto-data-mapping-builder.options";
|
|
5
7
|
export declare class DataMapper {
|
|
8
|
+
private readonly autoDataMappingBuilder;
|
|
6
9
|
private readonly dataNormalizers;
|
|
7
10
|
private readonly dataTransformerInterceptors;
|
|
8
11
|
private readonly dataNormalizersMap;
|
|
9
12
|
private readonly dataTransformerInterceptorsMap;
|
|
10
|
-
constructor(dataNormalizers: DataNormalizerInterface<any, any>[], dataTransformerInterceptors: DataMappingInterceptorInterface[]);
|
|
13
|
+
constructor(autoDataMappingBuilder: AutoDataMappingBuilder, dataNormalizers: DataNormalizerInterface<any, any>[], dataTransformerInterceptors: DataMappingInterceptorInterface[]);
|
|
11
14
|
/**
|
|
12
15
|
* This method takes an array of source and maps each item.
|
|
13
16
|
*
|
|
@@ -16,6 +19,13 @@ export declare class DataMapper {
|
|
|
16
19
|
* @param destinationType
|
|
17
20
|
*/
|
|
18
21
|
mapAll(builder: DataMappingBuilder, source: any[], destinationType?: ClassConstructor<any>): Promise<any[]>;
|
|
22
|
+
/**
|
|
23
|
+
* This method automatically maps a source object into the DestinationType.
|
|
24
|
+
* @param source
|
|
25
|
+
* @param destinationType
|
|
26
|
+
* @param options
|
|
27
|
+
*/
|
|
28
|
+
autoMap(source: any, destinationType: ClassConstructor<any>, options?: AutoDataMappingBuilderOptions): Promise<any>;
|
|
19
29
|
/**
|
|
20
30
|
* This method takes a builder, a source and maps it according to the builder. You can pass a `destinationType (optional)`
|
|
21
31
|
* that is an object that will be constructed.
|
|
@@ -4,6 +4,7 @@ import { DataMappingBuilder } from "../builders/data-mapping.builder";
|
|
|
4
4
|
import { BaseDataMappingNode } from "./base-data-mapping.node";
|
|
5
5
|
import { DataNormalizerUniqueKey } from "../types/data-normalizer-unique-key.type";
|
|
6
6
|
import { DataNormalizerInterface } from "../interfaces/data-normalizer.interface";
|
|
7
|
+
import { ClassConstructor } from "class-transformer";
|
|
7
8
|
export declare class DataMappingNode extends BaseDataMappingNode {
|
|
8
9
|
readonly root: DataMappingBuilder;
|
|
9
10
|
readonly parent: DataMappingNode | DataMappingBuilder;
|
|
@@ -20,6 +21,10 @@ export declare class DataMappingNode extends BaseDataMappingNode {
|
|
|
20
21
|
* This method specified whether it's possible that this element not be present in the `source` object.
|
|
21
22
|
*/
|
|
22
23
|
isOptional: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* IMPORTANT: This property is not serializable. It will be lost during the export.
|
|
26
|
+
*/
|
|
27
|
+
destinationType?: ClassConstructor<any>;
|
|
23
28
|
constructor(root: DataMappingBuilder, parent: DataMappingNode | DataMappingBuilder, type?: DataMappingNodeTypeEnum);
|
|
24
29
|
/**
|
|
25
30
|
* This is a setter for `sourceProperty`.
|
|
@@ -31,6 +36,11 @@ export declare class DataMappingNode extends BaseDataMappingNode {
|
|
|
31
36
|
* @param destinationProperty
|
|
32
37
|
*/
|
|
33
38
|
setDestinationProperty(destinationProperty: string): DataMappingNode;
|
|
39
|
+
/**
|
|
40
|
+
* This is a setter for `destinationType`.
|
|
41
|
+
* @param destinationType
|
|
42
|
+
*/
|
|
43
|
+
setDestinationType(destinationType: ClassConstructor<any>): DataMappingNode;
|
|
34
44
|
/**
|
|
35
45
|
* This is a setter for `isOptional`.
|
|
36
46
|
* @param isOptional
|