mapper-factory 1.0.17 → 1.0.19

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.
@@ -18,11 +18,14 @@ const MapField = ({ transformer, reverser, src } = {}) => {
18
18
  const propertyName = property.toString();
19
19
  const metadata = Reflect.getMetadata(exports.MAP_FIELD, classConstructor) || {};
20
20
  // create new object reference to avoid this issue: https://github.com/rbuckton/reflect-metadata/issues/62
21
- const newMetadata = Object.assign({}, metadata);
21
+ const newMetadata = { ...metadata };
22
22
  const previousValues = metadata[propertyName];
23
- newMetadata[propertyName] = Object.assign(Object.assign({}, previousValues), { src,
23
+ newMetadata[propertyName] = {
24
+ ...previousValues,
25
+ src,
24
26
  transformer,
25
- reverser });
27
+ reverser,
28
+ };
26
29
  Reflect.defineMetadata(exports.MAP_FIELD, newMetadata, classConstructor);
27
30
  };
28
31
  };
package/dist/mapper.js CHANGED
@@ -12,14 +12,12 @@ class MapperFactory {
12
12
  const metadataList = (0, field_decorator_1.getMapFieldMetadataList)(this);
13
13
  object &&
14
14
  Object.keys(object).forEach(propertyName => {
15
- var _a;
16
- let metaKeys = metadataList && Object.keys(metadataList).filter(metadata => { var _a, _b, _c; return ((_b = (_a = metadataList[metadata]) === null || _a === void 0 ? void 0 : _a.src) === null || _b === void 0 ? void 0 : _b.startsWith(propertyName)) && ((_c = metadataList[metadata]) === null || _c === void 0 ? void 0 : _c.src) != propertyName; });
15
+ let metaKeys = metadataList && Object.keys(metadataList).filter(metadata => metadataList[metadata]?.src?.startsWith(propertyName) && metadataList[metadata]?.src != propertyName);
17
16
  if (metaKeys.length) {
18
17
  metaKeys.forEach(metaKey => {
19
- var _a, _b, _c, _d;
20
18
  let metaProp = metadataList[metaKey];
21
19
  if (metaProp) {
22
- let props = (_a = metaProp.src) === null || _a === void 0 ? void 0 : _a.split('.');
20
+ let props = metaProp.src?.split('.');
23
21
  let propsStereoid = props.map(prop => {
24
22
  let index = prop.indexOf('[');
25
23
  return {
@@ -29,10 +27,10 @@ class MapperFactory {
29
27
  };
30
28
  });
31
29
  let i;
32
- let objCopy = Object.assign({}, object);
30
+ let objCopy = { ...object };
33
31
  for (i = 0; i < propsStereoid.length; i++) {
34
32
  if (propsStereoid[i].isArray) {
35
- let arrIndex = (_c = (_b = propsStereoid[i].arrIndex) === null || _b === void 0 ? void 0 : _b.split(/\[(\w+)\]/g)) === null || _c === void 0 ? void 0 : _c.filter(index => index !== '');
33
+ let arrIndex = propsStereoid[i].arrIndex?.split(/\[(\w+)\]/g)?.filter(index => index !== '');
36
34
  objCopy = objCopy[propsStereoid[i].prop];
37
35
  arrIndex.forEach((index, i) => {
38
36
  objCopy = objCopy[index];
@@ -42,7 +40,7 @@ class MapperFactory {
42
40
  objCopy = objCopy[propsStereoid[i].prop];
43
41
  }
44
42
  }
45
- if (metaProp === null || metaProp === void 0 ? void 0 : metaProp.transformer) {
43
+ if (metaProp?.transformer) {
46
44
  this[metaKey] = metaProp.transformer(objCopy);
47
45
  }
48
46
  else {
@@ -50,7 +48,7 @@ class MapperFactory {
50
48
  }
51
49
  }
52
50
  else {
53
- let metaKey = metadataList && Object.keys(metadataList).find(metadata => { var _a; return ((_a = metadataList[metadata]) === null || _a === void 0 ? void 0 : _a.src) == propertyName; });
51
+ let metaKey = metadataList && Object.keys(metadataList).find(metadata => metadataList[metadata]?.src == propertyName);
54
52
  if (metaKey) {
55
53
  const src = metadataList[metaKey].src || propertyName;
56
54
  if (metadataList[metaKey].transformer) {
@@ -61,7 +59,7 @@ class MapperFactory {
61
59
  }
62
60
  }
63
61
  else {
64
- if ((_d = metadataList[propertyName]) === null || _d === void 0 ? void 0 : _d.transformer) {
62
+ if (metadataList[propertyName]?.transformer) {
65
63
  this[propertyName] = metadataList[propertyName].transformer(object[propertyName]);
66
64
  }
67
65
  else {
@@ -72,7 +70,7 @@ class MapperFactory {
72
70
  });
73
71
  }
74
72
  else {
75
- let metaKey = metadataList && Object.keys(metadataList).find(metadata => { var _a; return ((_a = metadataList[metadata]) === null || _a === void 0 ? void 0 : _a.src) == propertyName; });
73
+ let metaKey = metadataList && Object.keys(metadataList).find(metadata => metadataList[metadata]?.src == propertyName);
76
74
  if (metaKey) {
77
75
  const src = metadataList[metaKey].src || propertyName;
78
76
  if (metadataList[metaKey].transformer) {
@@ -83,7 +81,7 @@ class MapperFactory {
83
81
  }
84
82
  }
85
83
  else {
86
- if ((_a = metadataList[propertyName]) === null || _a === void 0 ? void 0 : _a.transformer) {
84
+ if (metadataList[propertyName]?.transformer) {
87
85
  this[propertyName] = metadataList[propertyName].transformer(object[propertyName]);
88
86
  }
89
87
  else {
@@ -102,7 +100,6 @@ class MapperFactory {
102
100
  const metadataList = (0, field_decorator_1.getMapFieldMetadataList)(this);
103
101
  let obj = {};
104
102
  Object.keys(this).forEach(propertyName => {
105
- var _a, _b, _c, _d;
106
103
  if (Object.keys(metadataList).some(prop => prop == propertyName)) {
107
104
  const src = metadataList[propertyName].src || propertyName;
108
105
  if (src.includes('.')) {
@@ -120,7 +117,7 @@ class MapperFactory {
120
117
  let lastIndex;
121
118
  for (i = 0; i < propsStereoid.length; i++) {
122
119
  if (propsStereoid[i].isArray) {
123
- let arrIndex = (_b = (_a = propsStereoid[i].arrIndex) === null || _a === void 0 ? void 0 : _a.split(/\[(\w+)\]/g)) === null || _b === void 0 ? void 0 : _b.filter(index => index !== '');
120
+ let arrIndex = propsStereoid[i].arrIndex?.split(/\[(\w+)\]/g)?.filter(index => index !== '');
124
121
  objCopy[propsStereoid[i].prop] = objCopy[propsStereoid[i].prop] || [];
125
122
  objCopy = objCopy[propsStereoid[i].prop];
126
123
  arrIndex.forEach((index, i) => {
@@ -143,11 +140,11 @@ class MapperFactory {
143
140
  objCopy[lastIndex] = metadataList[propertyName].reverser ?
144
141
  metadataList[propertyName].reverser(this[propertyName])
145
142
  : this[propertyName].map(item => {
146
- return (item === null || item === void 0 ? void 0 : item.toMap) ? item.toMap() : item;
143
+ return item?.toMap ? item.toMap() : item;
147
144
  });
148
145
  }
149
146
  else if (metadataList[propertyName].toMap) {
150
- objCopy[lastIndex] = (_c = this[propertyName]) === null || _c === void 0 ? void 0 : _c.toMap();
147
+ objCopy[lastIndex] = this[propertyName]?.toMap();
151
148
  }
152
149
  else {
153
150
  objCopy[lastIndex] = metadataList[propertyName].reverser ? metadataList[propertyName].reverser(this[propertyName]) : this[propertyName];
@@ -156,19 +153,19 @@ class MapperFactory {
156
153
  else {
157
154
  if (Array.isArray(this[propertyName])) {
158
155
  obj[src] = this[propertyName].map(item => {
159
- return (item === null || item === void 0 ? void 0 : item.toMap) ? item.toMap() : item;
156
+ return item?.toMap ? item.toMap() : item;
160
157
  });
161
158
  }
162
159
  else if (metadataList[propertyName].toMap) {
163
- obj[src] = (_d = this[propertyName]) === null || _d === void 0 ? void 0 : _d.toMap();
160
+ obj[src] = this[propertyName]?.toMap();
164
161
  }
165
162
  else {
166
- obj[src] = this[propertyName];
163
+ obj[src] = metadataList[propertyName].reverser ? metadataList[propertyName].reverser(this[propertyName]) : this[propertyName];
167
164
  }
168
165
  }
169
166
  }
170
167
  else {
171
- obj[propertyName] = this[propertyName];
168
+ obj[propertyName] = metadataList[propertyName].reverser ? metadataList[propertyName].reverser(this[propertyName]) : this[propertyName];
172
169
  }
173
170
  });
174
171
  return obj;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mapper-factory",
3
- "version": "1.0.17",
3
+ "version": "1.0.19",
4
4
  "description": "mapper for typescript object",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",