ts-jackson
Advanced tools
Comparing version 1.3.1 to 1.4.0
@@ -37,3 +37,3 @@ 'use strict' | ||
(a.message = | ||
e.name + ' class should annotated with @' + y.name + ' decorator'), | ||
e.name + ' class should annotated with @' + m.name + ' decorator'), | ||
a | ||
@@ -53,3 +53,3 @@ ) | ||
if (!t(a)) | ||
throw new v({ | ||
throw new y({ | ||
propName: r, | ||
@@ -81,3 +81,3 @@ propValue: a, | ||
})(Error), | ||
v = (function (r) { | ||
y = (function (r) { | ||
function a(e) { | ||
@@ -101,3 +101,3 @@ var a = e.propName, | ||
})(Error) | ||
function y() { | ||
function m() { | ||
return function (e) { | ||
@@ -107,3 +107,3 @@ Reflect.defineMetadata(n.TsJacksonSerializable, { className: e.name }, e) | ||
} | ||
function m(r, a) { | ||
function v(r, a) { | ||
for (var t = [], l = 2; l < arguments.length; l++) t[l - 2] = arguments[l] | ||
@@ -115,9 +115,9 @@ p(a) | ||
d = 'string' == typeof r ? JSON.parse(r) : r, | ||
v = [], | ||
y = 0, | ||
m = Object.entries(u); | ||
y < m.length; | ||
y++ | ||
y = [], | ||
m = 0, | ||
v = Object.entries(u); | ||
m < v.length; | ||
m++ | ||
) { | ||
var b = m[y], | ||
var b = v[m], | ||
z = b[0], | ||
@@ -134,15 +134,15 @@ g = b[1], | ||
}) | ||
var J = g.deserialize ? g.deserialize(N) : h(N, g.type, g.elementType) | ||
var S = g.deserialize ? g.deserialize(N) : h(N, g.type, g.elementType) | ||
g.validate && | ||
c({ | ||
propName: z, | ||
propValue: J, | ||
propValue: S, | ||
validate: g.validate, | ||
serializableClass: a, | ||
}), | ||
void 0 !== J && o.default(f, z, J), | ||
void 0 !== S && o.default(f, z, S), | ||
g.afterDeserialize && | ||
v.push({ | ||
y.push({ | ||
propName: z, | ||
deserializedValue: J, | ||
deserializedValue: S, | ||
afterDeserialize: g.afterDeserialize, | ||
@@ -152,3 +152,3 @@ }) | ||
return ( | ||
v.forEach(function (e) { | ||
y.forEach(function (e) { | ||
var r = e.propName, | ||
@@ -163,24 +163,29 @@ a = e.deserializedValue, | ||
function h(e, r, a) { | ||
if (null == e) return e | ||
switch (null == r ? void 0 : r.name) { | ||
case f.Date: | ||
return new Date(e) | ||
case f.Array: | ||
return e.map(function (e) { | ||
return l(a) ? m(e, a) : e | ||
}) | ||
case f.Set: | ||
var t = e.map(function (e) { | ||
return l(a) ? m(e, a) : e | ||
}) | ||
return new Set(t) | ||
case f.Boolean: | ||
return Boolean(e) | ||
case f.Number: | ||
return Number.parseInt(e) | ||
case f.String: | ||
return e | ||
default: | ||
return l(r) ? m(e, r) : e | ||
} | ||
if (null == e || void 0 === r) return e | ||
if (Array.isArray(r)) | ||
return r.map(function (r, a) { | ||
return h(e[a], r) | ||
}) | ||
if ('function' == typeof r) | ||
switch (null == r ? void 0 : r.name) { | ||
case f.Date: | ||
return new Date(e) | ||
case f.Array: | ||
return e.map(function (e) { | ||
return l(a) ? v(e, a) : e | ||
}) | ||
case f.Set: | ||
var t = e.map(function (e) { | ||
return l(a) ? v(e, a) : e | ||
}) | ||
return new Set(t) | ||
case f.Boolean: | ||
return Boolean(e) | ||
case f.Number: | ||
return Number.parseInt(e) | ||
case f.String: | ||
return e.toString() | ||
default: | ||
return l(r) ? v(e, r) : e | ||
} | ||
} | ||
@@ -207,14 +212,19 @@ function b(e) { | ||
if (void 0 === e) return e | ||
switch (null == r ? void 0 : r.name) { | ||
case f.Array: | ||
return e.map(function (e) { | ||
return l(a) ? b(e) : e | ||
}) | ||
case f.Set: | ||
return Array.from(e.values()).map(function (e) { | ||
return l(a) ? b(e) : e | ||
}) | ||
default: | ||
return l(r) ? b(e) : e | ||
} | ||
if (Array.isArray(r)) | ||
return r.map(function (r, a) { | ||
return z(e[a], r) | ||
}) | ||
if ('function' == typeof r) | ||
switch (null == r ? void 0 : r.name) { | ||
case f.Array: | ||
return e.map(function (e) { | ||
return l(a) ? b(e) : e | ||
}) | ||
case f.Set: | ||
return Array.from(e.values()).map(function (e) { | ||
return l(a) ? b(e) : e | ||
}) | ||
default: | ||
return l(r) ? b(e) : e | ||
} | ||
} | ||
@@ -238,5 +248,5 @@ !(function (e) { | ||
for (var a = [], t = 1; t < arguments.length; t++) a[t - 1] = arguments[t] | ||
return m.apply(void 0, e.__spreadArray([r, this], a)) | ||
return v.apply(void 0, e.__spreadArray([r, this], a)) | ||
}), | ||
(r = e.__decorate([y()], r)) | ||
(r = e.__decorate([m()], r)) | ||
) | ||
@@ -256,6 +266,6 @@ })() | ||
}), | ||
(exports.Serializable = y), | ||
(exports.Serializable = m), | ||
(exports.SerializableEntity = g), | ||
(exports.deserialize = m), | ||
(exports.deserialize = v), | ||
(exports.serialize = b) | ||
//# sourceMappingURL=index.cjs.js.map |
@@ -29,3 +29,3 @@ import 'reflect-metadata' | ||
})(s || (s = {})) | ||
var p = (function (r) { | ||
var u = (function (r) { | ||
function a(e) { | ||
@@ -36,3 +36,3 @@ var a = r.call(this) || this | ||
(a.message = | ||
e.name + ' class should annotated with @' + h.name + ' decorator'), | ||
e.name + ' class should annotated with @' + y.name + ' decorator'), | ||
a | ||
@@ -43,4 +43,4 @@ ) | ||
})(Error) | ||
function u(e) { | ||
if (!l(e)) throw new p(e) | ||
function p(e) { | ||
if (!l(e)) throw new u(e) | ||
} | ||
@@ -99,3 +99,3 @@ function c(e) { | ||
})(Error) | ||
function h() { | ||
function y() { | ||
return function (e) { | ||
@@ -107,14 +107,14 @@ Reflect.defineMetadata(s.TsJacksonSerializable, { className: e.name }, e) | ||
for (var t = [], l = 2; l < arguments.length; l++) t[l - 2] = arguments[l] | ||
u(a) | ||
p(a) | ||
for ( | ||
var p = Reflect.getMetadata(s.TsJacksonJsonProperty, a), | ||
var u = Reflect.getMetadata(s.TsJacksonJsonProperty, a), | ||
f = new (a.bind.apply(a, r([void 0], t)))(), | ||
d = 'string' == typeof e ? JSON.parse(e) : e, | ||
m = [], | ||
h = 0, | ||
v = Object.entries(p); | ||
h < v.length; | ||
h++ | ||
y = 0, | ||
v = Object.entries(u); | ||
y < v.length; | ||
y++ | ||
) { | ||
var b = v[h], | ||
var b = v[y], | ||
z = b[0], | ||
@@ -131,3 +131,3 @@ g = b[1], | ||
}) | ||
var J = g.deserialize ? g.deserialize(N) : y(N, g.type, g.elementType) | ||
var J = g.deserialize ? g.deserialize(N) : h(N, g.type, g.elementType) | ||
g.validate && | ||
@@ -158,28 +158,33 @@ c({ | ||
} | ||
function y(e, r, a) { | ||
if (null == e) return e | ||
switch (null == r ? void 0 : r.name) { | ||
case f.Date: | ||
return new Date(e) | ||
case f.Array: | ||
return e.map(function (e) { | ||
return l(a) ? v(e, a) : e | ||
}) | ||
case f.Set: | ||
var t = e.map(function (e) { | ||
return l(a) ? v(e, a) : e | ||
}) | ||
return new Set(t) | ||
case f.Boolean: | ||
return Boolean(e) | ||
case f.Number: | ||
return Number.parseInt(e) | ||
case f.String: | ||
return e | ||
default: | ||
return l(r) ? v(e, r) : e | ||
} | ||
function h(e, r, a) { | ||
if (null == e || void 0 === r) return e | ||
if (Array.isArray(r)) | ||
return r.map(function (r, a) { | ||
return h(e[a], r) | ||
}) | ||
if ('function' == typeof r) | ||
switch (null == r ? void 0 : r.name) { | ||
case f.Date: | ||
return new Date(e) | ||
case f.Array: | ||
return e.map(function (e) { | ||
return l(a) ? v(e, a) : e | ||
}) | ||
case f.Set: | ||
var t = e.map(function (e) { | ||
return l(a) ? v(e, a) : e | ||
}) | ||
return new Set(t) | ||
case f.Boolean: | ||
return Boolean(e) | ||
case f.Number: | ||
return Number.parseInt(e) | ||
case f.String: | ||
return e.toString() | ||
default: | ||
return l(r) ? v(e, r) : e | ||
} | ||
} | ||
function b(e) { | ||
u(e.constructor) | ||
p(e.constructor) | ||
for ( | ||
@@ -195,5 +200,5 @@ var r = Reflect.getMetadata(s.TsJacksonJsonProperty, e.constructor), | ||
l = o[0], | ||
p = o[1], | ||
c = p.serialize ? p.serialize(e[l]) : z(e[l], p.type, p.elementType) | ||
i(a, p.path, c) | ||
u = o[1], | ||
c = u.serialize ? u.serialize(e[l]) : z(e[l], u.type, u.elementType) | ||
i(a, u.path, c) | ||
} | ||
@@ -204,14 +209,19 @@ return a | ||
if (void 0 === e) return e | ||
switch (null == r ? void 0 : r.name) { | ||
case f.Array: | ||
return e.map(function (e) { | ||
return l(a) ? b(e) : e | ||
}) | ||
case f.Set: | ||
return Array.from(e.values()).map(function (e) { | ||
return l(a) ? b(e) : e | ||
}) | ||
default: | ||
return l(r) ? b(e) : e | ||
} | ||
if (Array.isArray(r)) | ||
return r.map(function (r, a) { | ||
return z(e[a], r) | ||
}) | ||
if ('function' == typeof r) | ||
switch (null == r ? void 0 : r.name) { | ||
case f.Array: | ||
return e.map(function (e) { | ||
return l(a) ? b(e) : e | ||
}) | ||
case f.Set: | ||
return Array.from(e.values()).map(function (e) { | ||
return l(a) ? b(e) : e | ||
}) | ||
default: | ||
return l(r) ? b(e) : e | ||
} | ||
} | ||
@@ -249,3 +259,3 @@ function g(e) { | ||
}), | ||
(e = t([h()], e)) | ||
(e = t([y()], e)) | ||
) | ||
@@ -255,3 +265,3 @@ })() | ||
g as JsonProperty, | ||
h as Serializable, | ||
y as Serializable, | ||
N as SerializableEntity, | ||
@@ -258,0 +268,0 @@ v as deserialize, |
@@ -11,4 +11,4 @@ /** | ||
* @param {boolean} required throws an Error if json is missing required property | ||
* @param {Function} type Optional. In most cases there is no need to specify | ||
* type explicitly | ||
* @param {Function | Function[]} type Optional. In most cases there is no need to specify | ||
* type explicitly. You can also provide array of type constructors for tuple support. | ||
* @param {Function} elementType due to reflect-metadata restriction one should | ||
@@ -26,4 +26,8 @@ * explicitly set elementType property to correctly serialize/deserialize Array | ||
required?: boolean | ||
type?: new (...params: Array<unknown>) => unknown | ||
elementType?: new (...args: any[]) => unknown | ||
type?: | ||
| (new (...args: any[]) => P) | ||
| { | ||
[K in keyof P]: new (...args: any[]) => P[K] | ||
} | ||
elementType?: new (...args: any[]) => P | ||
validate?: (property: P) => boolean | ||
@@ -37,6 +41,5 @@ deserialize?: (jsonValue: unknown) => P | ||
} | ||
export declare type JsonPropertyMetadata<P = unknown> = { | ||
export declare type JsonPropertyMetadata<P = any> = { | ||
name: string | ||
path: string | ||
type: new (...params: any[]) => unknown | ||
} & Params<P> | ||
@@ -43,0 +46,0 @@ /** |
{ | ||
"name": "ts-jackson", | ||
"version": "1.3.1", | ||
"version": "1.4.0", | ||
"author": "Ilias Gazdaliev", | ||
@@ -5,0 +5,0 @@ "description": "", |
@@ -50,4 +50,4 @@ # ts-jackson | ||
* @param {boolean} required throws an Error if json is missing required property | ||
* @param {Function} type Optional. In most cases there is no need to specify | ||
* type explicitly | ||
* @param {Function | Function[]} type Optional. In most cases there is no need to specify | ||
* type explicitly. You can also provide array of type constructors for tuple support. | ||
* @param {Function} elementType due to reflect-metadata restriction one should | ||
@@ -65,4 +65,4 @@ * explicitly set elementType property to correctly serialize/deserialize Array | ||
required?: boolean | ||
type?: new (...params: Array<unknown>) => unknown | ||
elementType?: new (...params: Array<unknown>) => unknown | ||
type?: (new (...args) => unknown) | (new (...args) => unknown)[] | ||
elementType?: new (...args) => unknown | ||
validate?: (property: P) => boolean | ||
@@ -69,0 +69,0 @@ deserialize?: (jsonValue: unknown) => P |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
38922
713
0