@singularsystems/neo-core 0.10.25 → 0.10.26
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/Data/Serialiser.js +44 -35
- package/dist/Data/Serialiser.js.map +1 -1
- package/dist/Extensions.d.ts +7 -0
- package/dist/Extensions.js +8 -0
- package/dist/Extensions.js.map +1 -1
- package/package.json +1 -1
package/dist/Data/Serialiser.js
CHANGED
|
@@ -90,51 +90,60 @@ var Serialiser = /** @class */ (function () {
|
|
|
90
90
|
to.entityIdentifier = from.entityIdentifier;
|
|
91
91
|
}
|
|
92
92
|
//Loop through serialisable properties
|
|
93
|
-
var
|
|
93
|
+
var typeInfo = from.constructor.neo;
|
|
94
|
+
if (!typeInfo && !isDictionary) {
|
|
95
|
+
throw "Object is not decorated with @NeoModel. Either add @NeoModel, or suppress serialisation on the property.";
|
|
96
|
+
}
|
|
97
|
+
var propertyMap = isDictionary ? {} : typeInfo.propertyMap;
|
|
94
98
|
for (var key in from) {
|
|
95
99
|
if (from.hasOwnProperty(key) && key.indexOf("__") !== 0) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
propertyInfo
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
else if (isChildObject) {
|
|
111
|
-
if (!fromValue || (propertyInfo.relationType === RelationType.Parent && !fromValue.__id)) {
|
|
112
|
-
// Parents must only be included if they reference an already serialised object.
|
|
113
|
-
// Otherwise serialising a leaf node will serialise up the tree and the entire graph will be serialised.
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
var shouldSerialise = !this.options.suppressChildren || fromValue instanceof ValueObject || propertyInfo.relationType === RelationType.Dictionary;
|
|
117
|
-
if (fromValue.canSerialise !== undefined) {
|
|
118
|
-
shouldSerialise = fromValue.canSerialise(shouldSerialise);
|
|
119
|
-
}
|
|
120
|
-
if (shouldSerialise) {
|
|
121
|
-
to[key] = {};
|
|
122
|
-
this.serialiseObject(fromValue, to[key], propertyInfo.relationType === RelationType.Dictionary);
|
|
100
|
+
try {
|
|
101
|
+
var propertyInfo = isDictionary ? {} : propertyMap[key];
|
|
102
|
+
if (propertyInfo &&
|
|
103
|
+
propertyInfo.serialise !== SerialiseType.Never &&
|
|
104
|
+
propertyInfo.serialise !== SerialiseType.MappingOnly &&
|
|
105
|
+
(propertyInfo.serialise !== SerialiseType.FullOnly || this.options.includeClean)) {
|
|
106
|
+
var fromValue = from[key];
|
|
107
|
+
var isChildObject = (fromValue && fromValue instanceof Object && !(fromValue instanceof Date)) || propertyInfo.relationType === RelationType.ChildObject;
|
|
108
|
+
if (fromValue instanceof Array) {
|
|
109
|
+
// Arrays of simple types are always included.
|
|
110
|
+
if (!this.options.suppressChildren || (fromValue.length > 0 && !(fromValue[0] instanceof Object))) {
|
|
111
|
+
to[key] = [];
|
|
112
|
+
this.serialiseArray(fromValue, to[key]);
|
|
123
113
|
}
|
|
124
114
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
if (propertyInfo.timeZoneSerialisation === TimeZoneFormat.None && fromValue instanceof Date) {
|
|
130
|
-
to[key] = DateUtils.format(fromValue, "yyyy-MM-dd") + "T00:00:00";
|
|
115
|
+
else if (isChildObject) {
|
|
116
|
+
if (!fromValue || (propertyInfo.relationType === RelationType.Parent && !fromValue.__id)) {
|
|
117
|
+
// Parents must only be included if they reference an already serialised object.
|
|
118
|
+
// Otherwise serialising a leaf node will serialise up the tree and the entire graph will be serialised.
|
|
131
119
|
}
|
|
132
120
|
else {
|
|
133
|
-
|
|
121
|
+
var shouldSerialise = !this.options.suppressChildren || fromValue instanceof ValueObject || propertyInfo.relationType === RelationType.Dictionary;
|
|
122
|
+
if (fromValue.canSerialise !== undefined) {
|
|
123
|
+
shouldSerialise = fromValue.canSerialise(shouldSerialise);
|
|
124
|
+
}
|
|
125
|
+
if (shouldSerialise) {
|
|
126
|
+
to[key] = {};
|
|
127
|
+
this.serialiseObject(fromValue, to[key], propertyInfo.relationType === RelationType.Dictionary);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
// Simple values and dates
|
|
133
|
+
if (fromValue !== null || propertyInfo.serialise !== SerialiseType.NotNull) {
|
|
134
|
+
if (propertyInfo.timeZoneSerialisation === TimeZoneFormat.None && fromValue instanceof Date) {
|
|
135
|
+
to[key] = DateUtils.format(fromValue, "yyyy-MM-dd") + "T00:00:00";
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
to[key] = fromValue;
|
|
139
|
+
}
|
|
134
140
|
}
|
|
135
141
|
}
|
|
136
142
|
}
|
|
137
143
|
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
throw "Error serialising property '" + key + "' on type '" + from.constructor.name + "': " + error;
|
|
146
|
+
}
|
|
138
147
|
}
|
|
139
148
|
}
|
|
140
149
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Serialiser.js","sourceRoot":"","sources":["../../src/Data/Serialiser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE3F,OAAO,EAAE,YAAY,EAAuB,MAAM,gBAAgB,CAAC;AACnE,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAoB3C;IAAA;IAwBA,CAAC;IAtBiB,qBAAS,GAAvB,UAAwB,MAAoD,EAAE,OAA+B;QAA/B,wBAAA,EAAA,YAA+B;QACzG,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;OAOG;IACW,uBAAW,GAAzB,UAA0B,IAAS,EAAE,EAAsD,EAAE,QAAc,EAAE,OAAiC,EAAE,WAAmB;QAAtD,wBAAA,EAAA,YAAiC;QAAE,4BAAA,EAAA,mBAAmB;QAE/J,IAAI,CAAC,IAAI,EAAE;YACP,MAAM,qCAAqC,CAAA;SAC9C;QAED,IAAI,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;QAC3B,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IACL,kBAAC;AAAD,CAAC,AAxBD,IAwBC;;AAED;IAAA;QAEY,eAAU,GAAgD,EAAE,CAAC;QAC7D,YAAO,GAAsB,EAAE,CAAC;QAEhC,cAAS,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Serialiser.js","sourceRoot":"","sources":["../../src/Data/Serialiser.ts"],"names":[],"mappings":"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"}
|
package/dist/Extensions.d.ts
CHANGED
|
@@ -65,5 +65,12 @@ declare global {
|
|
|
65
65
|
[index in K]: V;
|
|
66
66
|
};
|
|
67
67
|
}
|
|
68
|
+
interface Map<K, V> {
|
|
69
|
+
/**
|
|
70
|
+
* Adds the value if it does not exists, and returns it.
|
|
71
|
+
* @param valueCallback Callback function which returns a value for the key.
|
|
72
|
+
*/
|
|
73
|
+
getOrAdd(key: K, valueCallback: (key: K) => V): V;
|
|
74
|
+
}
|
|
68
75
|
}
|
|
69
76
|
export {};
|
package/dist/Extensions.js
CHANGED
|
@@ -123,4 +123,12 @@ Array.prototype.toDictionary = function (keyFn, valueFn) {
|
|
|
123
123
|
}
|
|
124
124
|
};
|
|
125
125
|
//#endregion
|
|
126
|
+
Map.prototype.getOrAdd = function (key, valueCallback) {
|
|
127
|
+
var value = this.get(key);
|
|
128
|
+
if (value === undefined) {
|
|
129
|
+
value = valueCallback(key);
|
|
130
|
+
this.set(key, value);
|
|
131
|
+
}
|
|
132
|
+
return value;
|
|
133
|
+
};
|
|
126
134
|
//# sourceMappingURL=Extensions.js.map
|
package/dist/Extensions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Extensions.js","sourceRoot":"","sources":["../src/Extensions.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Extensions.js","sourceRoot":"","sources":["../src/Extensions.ts"],"names":[],"mappings":"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"}
|