@pristine-ts/data-mapping 0.0.278 → 0.0.280
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 +1 -5
- package/dist/lib/cjs/data-mapping.module.js.map +1 -1
- package/dist/lib/cjs/decorators/decorators.js +1 -1
- package/dist/lib/cjs/decorators/decorators.js.map +1 -1
- 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/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/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 +1 -5
- package/dist/lib/esm/data-mapping.module.js.map +1 -1
- package/dist/lib/esm/decorators/decorators.js +1 -1
- package/dist/lib/esm/decorators/decorators.js.map +1 -1
- 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/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/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 +0 -1
- package/dist/types/decorators/decorators.d.ts +1 -1
- package/dist/types/decorators/type.decorator.d.ts +2 -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/package.json +5 -7
- package/dist/lib/cjs/decorators/body-mapping.decorator.js +0 -50
- package/dist/lib/cjs/decorators/body-mapping.decorator.js.map +0 -1
- package/dist/lib/cjs/interfaces/body-mapping-context.interface.js +0 -3
- package/dist/lib/cjs/interfaces/body-mapping-context.interface.js.map +0 -1
- package/dist/lib/cjs/request-interceptors/body-mapping.request-interceptor.js +0 -80
- package/dist/lib/cjs/request-interceptors/body-mapping.request-interceptor.js.map +0 -1
- package/dist/lib/cjs/request-interceptors/request-interceptors.js +0 -18
- package/dist/lib/cjs/request-interceptors/request-interceptors.js.map +0 -1
- package/dist/lib/esm/decorators/body-mapping.decorator.js +0 -46
- package/dist/lib/esm/decorators/body-mapping.decorator.js.map +0 -1
- package/dist/lib/esm/interfaces/body-mapping-context.interface.js +0 -2
- package/dist/lib/esm/interfaces/body-mapping-context.interface.js.map +0 -1
- package/dist/lib/esm/request-interceptors/body-mapping.request-interceptor.js +0 -77
- package/dist/lib/esm/request-interceptors/body-mapping.request-interceptor.js.map +0 -1
- package/dist/lib/esm/request-interceptors/request-interceptors.js +0 -2
- package/dist/lib/esm/request-interceptors/request-interceptors.js.map +0 -1
- package/dist/types/decorators/body-mapping.decorator.d.ts +0 -10
- package/dist/types/interfaces/body-mapping-context.interface.d.ts +0 -18
- package/dist/types/request-interceptors/body-mapping.request-interceptor.d.ts +0 -20
- package/dist/types/request-interceptors/request-interceptors.d.ts +0 -1
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AutoDataMappingBuilder = void 0;
|
|
10
|
+
const data_mapping_builder_1 = require("./data-mapping.builder");
|
|
11
|
+
const data_mapping_node_1 = require("../nodes/data-mapping.node");
|
|
12
|
+
const metadata_1 = require("@pristine-ts/metadata");
|
|
13
|
+
const data_mapping_leaf_1 = require("../nodes/data-mapping.leaf");
|
|
14
|
+
const number_normalizer_1 = require("../normalizers/number.normalizer");
|
|
15
|
+
const string_normalizer_1 = require("../normalizers/string.normalizer");
|
|
16
|
+
const date_normalizer_1 = require("../normalizers/date.normalizer");
|
|
17
|
+
const common_1 = require("@pristine-ts/common");
|
|
18
|
+
const data_mapping_node_type_enum_1 = require("../enums/data-mapping-node-type.enum");
|
|
19
|
+
const tsyringe_1 = require("tsyringe");
|
|
20
|
+
const auto_data_mapping_builder_options_1 = require("../options/auto-data-mapping-builder.options");
|
|
21
|
+
let AutoDataMappingBuilder = class AutoDataMappingBuilder {
|
|
22
|
+
/**
|
|
23
|
+
* This method receives a source object and a destinationType that corresponds to the type of the class
|
|
24
|
+
* that the source should be mapped to. It then creates a DataMappingBuilder object that contains the schema
|
|
25
|
+
* needed to map the source to the destinationType.
|
|
26
|
+
* @param source
|
|
27
|
+
* @param destinationType
|
|
28
|
+
* @param options
|
|
29
|
+
*/
|
|
30
|
+
build(source, destinationType, options) {
|
|
31
|
+
const dataMappingBuilder = new data_mapping_builder_1.DataMappingBuilder();
|
|
32
|
+
this.internalBuild(source, destinationType, dataMappingBuilder, dataMappingBuilder, new auto_data_mapping_builder_options_1.AutoDataMappingBuilderOptions(options));
|
|
33
|
+
return dataMappingBuilder;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* This method is the internal method that is called recursively to build the schema.
|
|
37
|
+
*
|
|
38
|
+
* @param source
|
|
39
|
+
* @param destinationType
|
|
40
|
+
* @param root
|
|
41
|
+
* @param parent
|
|
42
|
+
* @param options
|
|
43
|
+
* @private
|
|
44
|
+
*/
|
|
45
|
+
internalBuild(source, destinationType, root, parent, options) {
|
|
46
|
+
if (!source) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
// Get the metadata of destinationType and iterate over its properties.
|
|
50
|
+
const classInformation = metadata_1.ClassMetadata.getInformation(destinationType);
|
|
51
|
+
classInformation.properties.forEach(propertyKey => {
|
|
52
|
+
var _a, _b, _c, _d;
|
|
53
|
+
// Retrieve the metadata for the property
|
|
54
|
+
const propertyInformation = metadata_1.PropertyMetadata.getInformation(destinationType.prototype, propertyKey);
|
|
55
|
+
let typeObject = propertyInformation.typeObject;
|
|
56
|
+
// Check if we have a `@typeFactory` decorator, it means that there's a callback that must be executed
|
|
57
|
+
// for this property to retrieve the actual DestinationType object. If there's one, execute it.
|
|
58
|
+
const typeFactoryCallback = metadata_1.PropertyMetadata.getMetadata(destinationType.prototype, propertyKey, common_1.MetadataEnum.TypeFactory);
|
|
59
|
+
if (typeFactoryCallback) {
|
|
60
|
+
typeObject = typeFactoryCallback(source, propertyKey).constructor;
|
|
61
|
+
}
|
|
62
|
+
// If the property references an object, this means that we need to recursively call this method to build the schema.
|
|
63
|
+
if (propertyInformation.typeEnum === metadata_1.TypeEnum.Object) {
|
|
64
|
+
const dataMappingNode = new data_mapping_node_1.DataMappingNode(root, parent);
|
|
65
|
+
dataMappingNode
|
|
66
|
+
.setSourceProperty(propertyKey)
|
|
67
|
+
.setDestinationProperty(propertyKey)
|
|
68
|
+
.setDestinationType(typeObject)
|
|
69
|
+
.setIsOptional((_a = propertyInformation.isNullable) !== null && _a !== void 0 ? _a : options.isOptionalDefaultValue)
|
|
70
|
+
.end();
|
|
71
|
+
return this.internalBuild(source[propertyKey], typeObject, root, dataMappingNode, options);
|
|
72
|
+
}
|
|
73
|
+
else if (propertyInformation.typeEnum === metadata_1.TypeEnum.Array) { // If the property references an array, we need to iterate over each element and recursively call this method to build the schema.
|
|
74
|
+
let nestedType = data_mapping_node_type_enum_1.DataMappingNodeTypeEnum.ScalarArray;
|
|
75
|
+
if (!source.hasOwnProperty(propertyKey) || Array.isArray(source[propertyKey]) === false || source[propertyKey].length === 0) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
// Use the first element in the array to determine the type of content stored in the array. Here, we assume that all the elements in the array are of the same type.
|
|
79
|
+
const nestedElementType = metadata_1.TypeUtils.getTypeOfValue(source[propertyKey][0]);
|
|
80
|
+
switch (nestedElementType) {
|
|
81
|
+
case metadata_1.TypeEnum.Object:
|
|
82
|
+
nestedType = data_mapping_node_type_enum_1.DataMappingNodeTypeEnum.ObjectArray;
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
// If the array is an array of scalars, then it will be a LeafNode of type ScalarArray with no children.
|
|
86
|
+
if (nestedType === data_mapping_node_type_enum_1.DataMappingNodeTypeEnum.ScalarArray) {
|
|
87
|
+
const dataMappingLeaf = parent.addArrayOfScalar();
|
|
88
|
+
const normalizers = [];
|
|
89
|
+
// todo: Allow for options to be specified per attribute. We should probably add a decorator to can customize the normalizer.
|
|
90
|
+
switch (nestedElementType) {
|
|
91
|
+
case metadata_1.TypeEnum.Number:
|
|
92
|
+
normalizers.push(number_normalizer_1.NumberNormalizer.name);
|
|
93
|
+
break;
|
|
94
|
+
case metadata_1.TypeEnum.String:
|
|
95
|
+
normalizers.push(string_normalizer_1.StringNormalizer.name);
|
|
96
|
+
break;
|
|
97
|
+
case metadata_1.TypeEnum.Date:
|
|
98
|
+
normalizers.push(date_normalizer_1.DateNormalizer.name);
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
normalizers.forEach(normalizer => dataMappingLeaf.addNormalizer(normalizer));
|
|
102
|
+
dataMappingLeaf.setSourceProperty(propertyKey)
|
|
103
|
+
.setDestinationProperty(propertyKey)
|
|
104
|
+
.setIsOptional((_b = propertyInformation.isNullable) !== null && _b !== void 0 ? _b : options.isOptionalDefaultValue)
|
|
105
|
+
.end();
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
// Else, it's an array of objects and we must iterate over the first element to get all the properties and
|
|
109
|
+
// build the tree.
|
|
110
|
+
const dataMappingNode = parent.addArrayOfObjects();
|
|
111
|
+
dataMappingNode
|
|
112
|
+
.setSourceProperty(propertyKey)
|
|
113
|
+
.setDestinationProperty(propertyKey)
|
|
114
|
+
.setDestinationType(propertyInformation.arrayMemberObject)
|
|
115
|
+
.setIsOptional((_c = propertyInformation.isNullable) !== null && _c !== void 0 ? _c : options.isOptionalDefaultValue)
|
|
116
|
+
.end();
|
|
117
|
+
// We assume all the objects are similar so we use only the first one to build the schema
|
|
118
|
+
return this.internalBuild(source[propertyKey][0], propertyInformation.arrayMemberObject, root, dataMappingNode, options);
|
|
119
|
+
}
|
|
120
|
+
const normalizers = [];
|
|
121
|
+
// todo: Allow for options to be specified per attribute. We should probably add a decorator to can customize the normalizer.
|
|
122
|
+
switch (propertyInformation.typeEnum) {
|
|
123
|
+
case metadata_1.TypeEnum.Number:
|
|
124
|
+
normalizers.push(number_normalizer_1.NumberNormalizer.name);
|
|
125
|
+
break;
|
|
126
|
+
case metadata_1.TypeEnum.String:
|
|
127
|
+
normalizers.push(string_normalizer_1.StringNormalizer.name);
|
|
128
|
+
break;
|
|
129
|
+
case metadata_1.TypeEnum.Date:
|
|
130
|
+
normalizers.push(date_normalizer_1.DateNormalizer.name);
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
const dataMappingLeaf = new data_mapping_leaf_1.DataMappingLeaf(root, parent);
|
|
134
|
+
normalizers.forEach(normalizer => dataMappingLeaf.addNormalizer(normalizer));
|
|
135
|
+
dataMappingLeaf
|
|
136
|
+
.setSourceProperty(propertyKey)
|
|
137
|
+
.setDestinationProperty(propertyKey)
|
|
138
|
+
.setIsOptional((_d = propertyInformation.isNullable) !== null && _d !== void 0 ? _d : options.isOptionalDefaultValue)
|
|
139
|
+
.end();
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
exports.AutoDataMappingBuilder = AutoDataMappingBuilder;
|
|
144
|
+
exports.AutoDataMappingBuilder = AutoDataMappingBuilder = __decorate([
|
|
145
|
+
(0, tsyringe_1.injectable)()
|
|
146
|
+
], AutoDataMappingBuilder);
|
|
147
|
+
//# sourceMappingURL=auto-data-mapping.builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-data-mapping.builder.js","sourceRoot":"","sources":["../../../../src/builders/auto-data-mapping.builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./auto-data-mapping.builder"), exports);
|
|
17
18
|
__exportStar(require("./data-mapping.builder"), exports);
|
|
18
19
|
//# sourceMappingURL=builders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../../src/builders/builders.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../../src/builders/builders.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,yDAAuC"}
|
|
@@ -15,7 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.DataMappingModule = void 0;
|
|
18
|
-
const logging_1 = require("@pristine-ts/logging");
|
|
19
18
|
const data_mapping_module_keyname_1 = require("./data-mapping.module.keyname");
|
|
20
19
|
__exportStar(require("./builders/builders"), exports);
|
|
21
20
|
__exportStar(require("./decorators/decorators"), exports);
|
|
@@ -27,13 +26,10 @@ __exportStar(require("./mappers/mappers"), exports);
|
|
|
27
26
|
__exportStar(require("./nodes/nodes"), exports);
|
|
28
27
|
__exportStar(require("./normalizer-options/normalizer-options"), exports);
|
|
29
28
|
__exportStar(require("./normalizers/normalizers"), exports);
|
|
30
|
-
__exportStar(require("./request-interceptors/request-interceptors"), exports);
|
|
31
29
|
__exportStar(require("./types/types"), exports);
|
|
32
30
|
exports.DataMappingModule = {
|
|
33
31
|
keyname: data_mapping_module_keyname_1.DataMappingModuleKeyname,
|
|
34
|
-
importModules: [
|
|
35
|
-
logging_1.LoggingModule,
|
|
36
|
-
],
|
|
32
|
+
importModules: [],
|
|
37
33
|
providerRegistrations: [],
|
|
38
34
|
configurationDefinitions: []
|
|
39
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-mapping.module.js","sourceRoot":"","sources":["../../../src/data-mapping.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA
|
|
1
|
+
{"version":3,"file":"data-mapping.module.js","sourceRoot":"","sources":["../../../src/data-mapping.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,+EAAuE;AAEvE,sDAAoC;AACpC,0DAAwC;AACxC,gDAA8B;AAC9B,kDAAgC;AAChC,8DAA4C;AAC5C,0DAAwC;AACxC,oDAAkC;AAClC,gDAA8B;AAC9B,0EAAwD;AACxD,4DAA0C;AAC1C,gDAA8B;AAEjB,QAAA,iBAAiB,GAAoB;IAC9C,OAAO,EAAE,sDAAwB;IACjC,aAAa,EAAE,EACd;IACD,qBAAqB,EAAE,EACtB;IACD,wBAAwB,EAAE,EACzB;CAEJ,CAAA"}
|
|
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./type.decorator"), exports);
|
|
18
18
|
//# sourceMappingURL=decorators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/decorators/decorators.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/decorators/decorators.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.type = void 0;
|
|
4
|
+
const metadata_1 = require("@pristine-ts/metadata");
|
|
5
|
+
const common_1 = require("@pristine-ts/common");
|
|
6
|
+
const type = (callback) => {
|
|
7
|
+
return (
|
|
8
|
+
/**
|
|
9
|
+
* The class on which the decorator is used.
|
|
10
|
+
*/
|
|
11
|
+
target,
|
|
12
|
+
/**
|
|
13
|
+
* The property on which the decorator is used.
|
|
14
|
+
*/
|
|
15
|
+
propertyKey) => {
|
|
16
|
+
metadata_1.PropertyMetadata.defineMetadata(target, propertyKey, common_1.MetadataEnum.TypeFactory, callback);
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
exports.type = type;
|
|
20
|
+
//# sourceMappingURL=type.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/type.decorator.ts"],"names":[],"mappings":";;;AAAA,oDAAuD;AACvD,gDAAiD;AAI1C,MAAM,IAAI,GAAG,CAAC,QAA6B,EAAE,EAAE;IAClD,OAAO;IACH;;OAEG;IACH,MAAW;IAEX;;OAEG;IACH,WAA4B,EAC9B,EAAE;QACA,2BAAgB,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,qBAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC7F,CAAC,CAAA;AACL,CAAC,CAAA;AAdY,QAAA,IAAI,QAchB"}
|
|
@@ -27,8 +27,10 @@ const data_mapping_module_keyname_1 = require("../data-mapping.module.keyname");
|
|
|
27
27
|
const tsyringe_1 = require("tsyringe");
|
|
28
28
|
const class_transformer_1 = require("class-transformer");
|
|
29
29
|
const data_mapping_interceptor_not_found_error_1 = require("../errors/data-mapping-interceptor-not-found.error");
|
|
30
|
+
const auto_data_mapping_builder_1 = require("../builders/auto-data-mapping.builder");
|
|
30
31
|
let DataMapper = class DataMapper {
|
|
31
|
-
constructor(dataNormalizers, dataTransformerInterceptors) {
|
|
32
|
+
constructor(autoDataMappingBuilder, dataNormalizers, dataTransformerInterceptors) {
|
|
33
|
+
this.autoDataMappingBuilder = autoDataMappingBuilder;
|
|
32
34
|
this.dataNormalizers = dataNormalizers;
|
|
33
35
|
this.dataTransformerInterceptors = dataTransformerInterceptors;
|
|
34
36
|
this.dataNormalizersMap = {};
|
|
@@ -56,6 +58,18 @@ let DataMapper = class DataMapper {
|
|
|
56
58
|
return destination;
|
|
57
59
|
});
|
|
58
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* This method automatically maps a source object into the DestinationType.
|
|
63
|
+
* @param source
|
|
64
|
+
* @param destinationType
|
|
65
|
+
* @param options
|
|
66
|
+
*/
|
|
67
|
+
autoMap(source, destinationType, options) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
const dataMappingBuilder = this.autoDataMappingBuilder.build(source, destinationType, options);
|
|
70
|
+
return this.map(dataMappingBuilder, source, destinationType);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
59
73
|
/**
|
|
60
74
|
* This method takes a builder, a source and maps it according to the builder. You can pass a `destinationType (optional)`
|
|
61
75
|
* that is an object that will be constructed.
|
|
@@ -105,8 +119,8 @@ exports.DataMapper = DataMapper;
|
|
|
105
119
|
exports.DataMapper = DataMapper = __decorate([
|
|
106
120
|
(0, common_1.moduleScoped)(data_mapping_module_keyname_1.DataMappingModuleKeyname),
|
|
107
121
|
(0, tsyringe_1.injectable)(),
|
|
108
|
-
__param(
|
|
109
|
-
__param(
|
|
110
|
-
__metadata("design:paramtypes", [Array, Array])
|
|
122
|
+
__param(1, (0, tsyringe_1.injectAll)("DataNormalizerInterface")),
|
|
123
|
+
__param(2, (0, tsyringe_1.injectAll)("DataTransformerInterceptor")),
|
|
124
|
+
__metadata("design:paramtypes", [auto_data_mapping_builder_1.AutoDataMappingBuilder, Array, Array])
|
|
111
125
|
], DataMapper);
|
|
112
126
|
//# sourceMappingURL=data.mapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/data.mapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA,gDAAiD;AACjD,gFAAwE;AACxE,uCAA+C;AAE/C,yDAAoE;AACpE,iHAAuG;
|
|
1
|
+
{"version":3,"file":"data.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/data.mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ const data_mapping_leaf_1 = require("./data-mapping.leaf");
|
|
|
15
15
|
const base_data_mapping_node_1 = require("./base-data-mapping.node");
|
|
16
16
|
const data_mapping_source_property_not_found_error_1 = require("../errors/data-mapping-source-property-not-found.error");
|
|
17
17
|
const array_data_mapping_node_invalid_source_property_type_error_1 = require("../errors/array-data-mapping-node-invalid-source-property-type.error");
|
|
18
|
+
const class_transformer_1 = require("class-transformer");
|
|
18
19
|
class DataMappingNode extends base_data_mapping_node_1.BaseDataMappingNode {
|
|
19
20
|
constructor(root, parent, type = data_mapping_node_type_enum_1.DataMappingNodeTypeEnum.Node) {
|
|
20
21
|
super();
|
|
@@ -42,6 +43,14 @@ class DataMappingNode extends base_data_mapping_node_1.BaseDataMappingNode {
|
|
|
42
43
|
this.destinationProperty = destinationProperty;
|
|
43
44
|
return this;
|
|
44
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* This is a setter for `destinationType`.
|
|
48
|
+
* @param destinationType
|
|
49
|
+
*/
|
|
50
|
+
setDestinationType(destinationType) {
|
|
51
|
+
this.destinationType = destinationType;
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
45
54
|
/**
|
|
46
55
|
* This is a setter for `isOptional`.
|
|
47
56
|
* @param isOptional
|
|
@@ -110,8 +119,12 @@ class DataMappingNode extends base_data_mapping_node_1.BaseDataMappingNode {
|
|
|
110
119
|
destination[this.destinationProperty] = [];
|
|
111
120
|
}
|
|
112
121
|
else {
|
|
113
|
-
|
|
114
|
-
|
|
122
|
+
if (this.destinationType) {
|
|
123
|
+
destination[this.destinationProperty] = (0, class_transformer_1.plainToInstance)(this.destinationType, {});
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
destination[this.destinationProperty] = {};
|
|
127
|
+
}
|
|
115
128
|
}
|
|
116
129
|
}
|
|
117
130
|
const destinationElement = destination[this.destinationProperty];
|
|
@@ -122,8 +135,10 @@ class DataMappingNode extends base_data_mapping_node_1.BaseDataMappingNode {
|
|
|
122
135
|
throw new array_data_mapping_node_invalid_source_property_type_error_1.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);
|
|
123
136
|
}
|
|
124
137
|
for (const element of array) {
|
|
125
|
-
|
|
126
|
-
|
|
138
|
+
let dest = {};
|
|
139
|
+
if (this.destinationType) {
|
|
140
|
+
dest = (0, class_transformer_1.plainToInstance)(this.destinationType, {});
|
|
141
|
+
}
|
|
127
142
|
for (const key in this.nodes) {
|
|
128
143
|
if (this.nodes.hasOwnProperty(key) === false) {
|
|
129
144
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-mapping.node.js","sourceRoot":"","sources":["../../../../src/nodes/data-mapping.node.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sFAA6E;AAC7E,2DAAoD;AAEpD,qEAA6D;AAC7D,yHAA8G;AAG9G,qJAE8E;
|
|
1
|
+
{"version":3,"file":"data-mapping.node.js","sourceRoot":"","sources":["../../../../src/nodes/data-mapping.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@ exports.BaseNormalizerOptions = void 0;
|
|
|
4
4
|
class BaseNormalizerOptions {
|
|
5
5
|
constructor(options) {
|
|
6
6
|
var _a;
|
|
7
|
-
this.shouldThrowIfTypeIsNotString =
|
|
7
|
+
this.shouldThrowIfTypeIsNotString = false;
|
|
8
|
+
this.shouldThrowIfTypeIsNotString = (_a = options === null || options === void 0 ? void 0 : options.shouldThrowIfTypeIsNotString) !== null && _a !== void 0 ? _a : this.shouldThrowIfTypeIsNotString;
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
11
|
exports.BaseNormalizerOptions = BaseNormalizerOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/base-normalizer.options.ts"],"names":[],"mappings":";;;AAAA,MAAsB,qBAAqB;IAGvC,YAAmB,
|
|
1
|
+
{"version":3,"file":"base-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/base-normalizer.options.ts"],"names":[],"mappings":";;;AAAA,MAAsB,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;AAND,sDAMC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DateNormalizerOptions = void 0;
|
|
4
|
+
class DateNormalizerOptions {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
var _a, _b;
|
|
7
|
+
/**
|
|
8
|
+
* This property specifies whether an invalid date should return undefined or a date object.
|
|
9
|
+
*/
|
|
10
|
+
this.returnUndefinedOnInvalidDate = true;
|
|
11
|
+
/**
|
|
12
|
+
* This property specifies if a number should be treated as being in seconds or not. Since JS Date expects a
|
|
13
|
+
* timestamp in milliseconds, if the number is in seconds, it will be multiplied by 1000.
|
|
14
|
+
*/
|
|
15
|
+
this.treatNumbers = "seconds";
|
|
16
|
+
this.returnUndefinedOnInvalidDate = (_a = options === null || options === void 0 ? void 0 : options.returnUndefinedOnInvalidDate) !== null && _a !== void 0 ? _a : this.returnUndefinedOnInvalidDate;
|
|
17
|
+
this.treatNumbers = (_b = options === null || options === void 0 ? void 0 : options.treatNumbers) !== null && _b !== void 0 ? _b : this.treatNumbers;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.DateNormalizerOptions = DateNormalizerOptions;
|
|
21
|
+
//# 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,MAAa,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;AAhBD,sDAgBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lowercase-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/lowercase-normalizer.options.ts"],"names":[],"mappings":";;;AAAA,uEAAgE;AAEhE,MAAa,0BAA2B,SAAQ,+CAAqB;IACjE,YAAmB,
|
|
1
|
+
{"version":3,"file":"lowercase-normalizer.options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/lowercase-normalizer.options.ts"],"names":[],"mappings":";;;AAAA,uEAAgE;AAEhE,MAAa,0BAA2B,SAAQ,+CAAqB;IACjE,YAAmB,OAA6C;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACJ;AAJD,gEAIC"}
|
|
@@ -15,5 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./base-normalizer.options"), exports);
|
|
18
|
+
__exportStar(require("./date-normalizer.options"), exports);
|
|
18
19
|
__exportStar(require("./lowercase-normalizer.options"), exports);
|
|
20
|
+
__exportStar(require("./number-normalizer.options"), exports);
|
|
21
|
+
__exportStar(require("./string-normalizer.options"), exports);
|
|
19
22
|
//# 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,4DAA0C;AAC1C,iEAA+C"}
|
|
1
|
+
{"version":3,"file":"normalizer-options.js","sourceRoot":"","sources":["../../../../src/normalizer-options/normalizer-options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,4DAA0C;AAC1C,iEAA+C;AAC/C,8DAA4C;AAC5C,8DAA4C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NumberNormalizerOptions = void 0;
|
|
4
|
+
class NumberNormalizerOptions {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
var _a;
|
|
7
|
+
/**
|
|
8
|
+
* This property specifies whether an undefined value should be ignored and simply returned or treated as a potential string
|
|
9
|
+
* and return an empty string `""`.
|
|
10
|
+
*/
|
|
11
|
+
this.ignoreUndefined = true;
|
|
12
|
+
this.ignoreUndefined = (_a = options === null || options === void 0 ? void 0 : options.ignoreUndefined) !== null && _a !== void 0 ? _a : this.ignoreUndefined;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.NumberNormalizerOptions = NumberNormalizerOptions;
|
|
16
|
+
//# 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,MAAa,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;AAVD,0DAUC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StringNormalizerOptions = void 0;
|
|
4
|
+
class StringNormalizerOptions {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
var _a;
|
|
7
|
+
/**
|
|
8
|
+
* This property specifies whether an undefined value should be ignored and simply returned or treated as a potential string
|
|
9
|
+
* and return an empty string `""`.
|
|
10
|
+
*/
|
|
11
|
+
this.ignoreUndefined = true;
|
|
12
|
+
this.ignoreUndefined = (_a = options === null || options === void 0 ? void 0 : options.ignoreUndefined) !== null && _a !== void 0 ? _a : this.ignoreUndefined;
|
|
13
|
+
this.dateFormat = options === null || options === void 0 ? void 0 : options.dateFormat;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.StringNormalizerOptions = StringNormalizerOptions;
|
|
17
|
+
//# 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,MAAa,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;AAhBD,0DAgBC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var DateNormalizer_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.DateNormalizer = void 0;
|
|
11
|
+
const tsyringe_1 = require("tsyringe");
|
|
12
|
+
const metadata_1 = require("@pristine-ts/metadata");
|
|
13
|
+
let DateNormalizer = DateNormalizer_1 = class DateNormalizer {
|
|
14
|
+
getUniqueKey() {
|
|
15
|
+
return DateNormalizer_1.name;
|
|
16
|
+
}
|
|
17
|
+
normalize(source, options) {
|
|
18
|
+
const typeEnum = metadata_1.TypeUtils.getTypeOfValue(source);
|
|
19
|
+
if (typeEnum === undefined) {
|
|
20
|
+
if ((options === null || options === void 0 ? void 0 : options.returnUndefinedOnInvalidDate) === false) {
|
|
21
|
+
return new Date();
|
|
22
|
+
}
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
let date;
|
|
26
|
+
switch (typeEnum) {
|
|
27
|
+
case metadata_1.TypeEnum.Number:
|
|
28
|
+
if ((options === null || options === void 0 ? void 0 : options.treatNumbers) === "seconds") {
|
|
29
|
+
source = source * 1000;
|
|
30
|
+
}
|
|
31
|
+
case metadata_1.TypeEnum.String:
|
|
32
|
+
date = new Date(source);
|
|
33
|
+
if (!isNaN(date.getTime())) {
|
|
34
|
+
return date;
|
|
35
|
+
}
|
|
36
|
+
break;
|
|
37
|
+
case metadata_1.TypeEnum.Object:
|
|
38
|
+
date = new Date();
|
|
39
|
+
// todo: Allow this property to be customizable in the options eventually
|
|
40
|
+
if (source.hasOwnProperty("year")) {
|
|
41
|
+
date.setFullYear(source["year"]);
|
|
42
|
+
}
|
|
43
|
+
if (source.hasOwnProperty("month")) {
|
|
44
|
+
date.setMonth(source["month"]);
|
|
45
|
+
}
|
|
46
|
+
if (source.hasOwnProperty("day")) {
|
|
47
|
+
date.setDate(source["day"]);
|
|
48
|
+
}
|
|
49
|
+
if (source.hasOwnProperty("hours")) {
|
|
50
|
+
date.setHours(source["hours"]);
|
|
51
|
+
}
|
|
52
|
+
if (source.hasOwnProperty("minutes")) {
|
|
53
|
+
date.setMinutes(source["minutes"]);
|
|
54
|
+
}
|
|
55
|
+
if (source.hasOwnProperty("seconds")) {
|
|
56
|
+
date.setSeconds(source["seconds"]);
|
|
57
|
+
}
|
|
58
|
+
if (!isNaN(date.getTime())) {
|
|
59
|
+
return date;
|
|
60
|
+
}
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
if ((options === null || options === void 0 ? void 0 : options.returnUndefinedOnInvalidDate) === false) {
|
|
64
|
+
return new Date();
|
|
65
|
+
}
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
exports.DateNormalizer = DateNormalizer;
|
|
70
|
+
exports.DateNormalizer = DateNormalizer = DateNormalizer_1 = __decorate([
|
|
71
|
+
(0, tsyringe_1.injectable)()
|
|
72
|
+
], DateNormalizer);
|
|
73
|
+
//# 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,uCAAoC;AAGpC,oDAA0D;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,oBAAS,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,mBAAQ,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,mBAAQ,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,mBAAQ,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,wCAAc;yBAAd,cAAc;IAD1B,IAAA,qBAAU,GAAE;GACA,cAAc,CAsE1B"}
|
|
@@ -14,5 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./date.normalizer"), exports);
|
|
17
18
|
__exportStar(require("./lowercase.normalizer"), exports);
|
|
19
|
+
__exportStar(require("./number.normalizer"), exports);
|
|
20
|
+
__exportStar(require("./string.normalizer"), exports);
|
|
18
21
|
//# sourceMappingURL=normalizers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizers.js","sourceRoot":"","sources":["../../../../src/normalizers/normalizers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
|
|
1
|
+
{"version":3,"file":"normalizers.js","sourceRoot":"","sources":["../../../../src/normalizers/normalizers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,yDAAuC;AACvC,sDAAoC;AACpC,sDAAoC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var NumberNormalizer_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.NumberNormalizer = void 0;
|
|
11
|
+
const tsyringe_1 = require("tsyringe");
|
|
12
|
+
const metadata_1 = require("@pristine-ts/metadata");
|
|
13
|
+
let NumberNormalizer = NumberNormalizer_1 = class NumberNormalizer {
|
|
14
|
+
getUniqueKey() {
|
|
15
|
+
return NumberNormalizer_1.name;
|
|
16
|
+
}
|
|
17
|
+
normalize(source, options) {
|
|
18
|
+
const typeEnum = metadata_1.TypeUtils.getTypeOfValue(source);
|
|
19
|
+
switch (typeEnum) {
|
|
20
|
+
case metadata_1.TypeEnum.String:
|
|
21
|
+
const value = parseFloat(source);
|
|
22
|
+
if (isNaN(value) === false) {
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
break;
|
|
26
|
+
case metadata_1.TypeEnum.Number:
|
|
27
|
+
return source;
|
|
28
|
+
}
|
|
29
|
+
if (typeEnum === undefined || typeEnum === metadata_1.TypeEnum.Null) {
|
|
30
|
+
if ((options === null || options === void 0 ? void 0 : options.ignoreUndefined) === false) {
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.NumberNormalizer = NumberNormalizer;
|
|
38
|
+
exports.NumberNormalizer = NumberNormalizer = NumberNormalizer_1 = __decorate([
|
|
39
|
+
(0, tsyringe_1.injectable)()
|
|
40
|
+
], NumberNormalizer);
|
|
41
|
+
//# sourceMappingURL=number.normalizer.js.map
|