ts-jackson
Advanced tools
Comparing version 1.6.0 to 1.7.0
'use strict' | ||
Object.defineProperty(exports, '__esModule', { value: !0 }), | ||
require('reflect-metadata') | ||
var e = require('tslib'), | ||
r = require('lodash.get'), | ||
t = require('lodash.set') | ||
function a(e) { | ||
return e && 'object' == typeof e && 'default' in e ? e : { default: e } | ||
var t, | ||
r = require('tslib') | ||
function e(t) { | ||
var r = t.propName, | ||
e = t.propPath, | ||
n = t.propValue, | ||
a = t.json, | ||
o = t.serializableClass | ||
if (void 0 === n) | ||
throw new s({ json: a, propName: r, serializableClass: o, propPath: e }) | ||
} | ||
var n, | ||
i = a(r), | ||
o = a(t) | ||
function s(e) { | ||
var r = e.propName, | ||
t = e.propPath, | ||
a = e.propValue, | ||
n = e.json, | ||
i = e.serializableClass | ||
if (void 0 === a) | ||
throw new d({ json: n, propName: r, serializableClass: i, propPath: t }) | ||
function n(r) { | ||
return !!r && void 0 !== Reflect.getMetadata(t.TsJacksonSerializable, r) | ||
} | ||
function l(e) { | ||
return !!e && void 0 !== Reflect.getMetadata(n.TsJacksonSerializable, e) | ||
} | ||
!(function (e) { | ||
;(e.TsJacksonJsonProperty = 'ts-jackson:jsonproperty'), | ||
(e.TsJacksonSerializable = 'ts-jackson:serializable'), | ||
(e.DesignType = 'design:type'), | ||
(e.DesignParamTypes = 'design:paramtypes') | ||
})(n || (n = {})) | ||
var u = (function (r) { | ||
function t(e) { | ||
var t = r.call(this) || this | ||
!(function (t) { | ||
;(t.TsJacksonJsonProperty = 'ts-jackson:jsonproperty'), | ||
(t.TsJacksonSerializable = 'ts-jackson:serializable'), | ||
(t.DesignType = 'design:type'), | ||
(t.DesignParamTypes = 'design:paramtypes') | ||
})(t || (t = {})) | ||
var a = (function (t) { | ||
function e(r) { | ||
var e = t.call(this) || this | ||
return ( | ||
(t.name = 'SerializableError'), | ||
(t.message = | ||
e.name + ' class should annotated with @' + v.name + ' decorator'), | ||
t | ||
(e.name = 'SerializableError'), | ||
(e.message = '' | ||
.concat(r.name, ' class should annotated with @') | ||
.concat(l.name, ' decorator')), | ||
e | ||
) | ||
} | ||
return e.__extends(t, r), t | ||
return r.__extends(e, t), e | ||
})(Error) | ||
function p(e) { | ||
if (!l(e)) throw new u(e) | ||
function o(t) { | ||
if (!n(t)) throw new a(t) | ||
} | ||
function c(e) { | ||
var r = e.propName, | ||
t = e.propValue, | ||
a = e.validate, | ||
n = e.serializableClass | ||
if (!a(t)) | ||
throw new y({ | ||
function i(t) { | ||
var r = t.propName, | ||
e = t.propValue, | ||
n = t.validate, | ||
a = t.serializableClass | ||
if (!n(e)) | ||
throw new c({ | ||
propName: r, | ||
propValue: t, | ||
validate: a, | ||
serializableClass: n, | ||
propValue: e, | ||
validate: n, | ||
serializableClass: a, | ||
}) | ||
} | ||
var f, | ||
d = (function (r) { | ||
function t(e) { | ||
var t = e.propName, | ||
a = e.propPath, | ||
n = e.json, | ||
i = | ||
"Property '" + | ||
t + | ||
"' (path: '" + | ||
a + | ||
"') is required in " + | ||
e.serializableClass.name + | ||
' but missing in provided JSON: ' + | ||
JSON.stringify(n, null, 2) + | ||
'.' | ||
return r.call(this, i) || this | ||
var u, | ||
s = (function (t) { | ||
function e(r) { | ||
var e = r.propName, | ||
n = r.propPath, | ||
a = r.json, | ||
o = r.serializableClass.name, | ||
i = JSON.stringify(a, null, 2), | ||
u = "Property '" | ||
.concat(e, "' (path: '") | ||
.concat(n, "') is required in ") | ||
.concat(o, ' but missing in provided JSON: ') | ||
.concat(i, '.') | ||
return t.call(this, u) || this | ||
} | ||
return e.__extends(t, r), t | ||
return r.__extends(e, t), e | ||
})(Error), | ||
y = (function (r) { | ||
function t(e) { | ||
var a, | ||
n = e.propName, | ||
i = e.propValue, | ||
o = e.validate, | ||
s = | ||
"Property '" + | ||
n + | ||
"' with value " + | ||
i + | ||
' in ' + | ||
e.serializableClass.name + | ||
' failed to pass the validation check by ' + | ||
(o.name || 'anonymous function') + | ||
'.' | ||
c = (function (t) { | ||
function e(r) { | ||
var n, | ||
a = r.propName, | ||
o = r.propValue, | ||
i = r.validate, | ||
u = r.serializableClass.name, | ||
s = i.name || 'anonymous function', | ||
c = "Property '" | ||
.concat(a, "' with value ") | ||
.concat(o, ' in ') | ||
.concat(u, ' failed to pass the validation check by ') | ||
.concat(s, '.') | ||
return ( | ||
(a = r.call(this, s) || this), Object.setPrototypeOf(a, t.prototype), a | ||
(n = t.call(this, c) || this), Object.setPrototypeOf(n, e.prototype), n | ||
) | ||
} | ||
return e.__extends(t, r), t | ||
return r.__extends(e, t), e | ||
})(Error) | ||
function v() { | ||
return function (e) { | ||
var r = { className: e.name } | ||
Reflect.defineMetadata(n.TsJacksonSerializable, r, e) | ||
function l() { | ||
return function (r) { | ||
var e = { className: r.name } | ||
Reflect.defineMetadata(t.TsJacksonSerializable, e, r) | ||
} | ||
} | ||
function h(r, t) { | ||
for (var a = [], l = 2; l < arguments.length; l++) a[l - 2] = arguments[l] | ||
p(t) | ||
!(function (t) { | ||
;(t.Array = 'Array'), | ||
(t.Set = 'Set'), | ||
(t.Boolean = 'Boolean'), | ||
(t.Date = 'Date'), | ||
(t.Number = 'Number'), | ||
(t.Object = 'Object'), | ||
(t.String = 'String') | ||
})(u || (u = {})) | ||
var p = Array.isArray, | ||
f = 'object' == typeof global && global && global.Object === Object && global, | ||
v = 'object' == typeof self && self && self.Object === Object && self, | ||
h = f || v || Function('return this')(), | ||
y = h.Symbol, | ||
d = Object.prototype, | ||
_ = d.hasOwnProperty, | ||
b = d.toString, | ||
g = y ? y.toStringTag : void 0 | ||
var m = function (t) { | ||
var r = _.call(t, g), | ||
e = t[g] | ||
try { | ||
t[g] = void 0 | ||
var n = !0 | ||
} catch (t) {} | ||
var a = b.call(t) | ||
return n && (r ? (t[g] = e) : delete t[g]), a | ||
}, | ||
z = Object.prototype.toString | ||
var j = function (t) { | ||
return z.call(t) | ||
}, | ||
O = y ? y.toStringTag : void 0 | ||
var S = function (t) { | ||
return null == t | ||
? void 0 === t | ||
? '[object Undefined]' | ||
: '[object Null]' | ||
: O && O in Object(t) | ||
? m(t) | ||
: j(t) | ||
} | ||
var w = function (t) { | ||
return null != t && 'object' == typeof t | ||
} | ||
var P = function (t) { | ||
return 'symbol' == typeof t || (w(t) && '[object Symbol]' == S(t)) | ||
}, | ||
N = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, | ||
A = /^\w*$/ | ||
var J = function (t, r) { | ||
if (p(t)) return !1 | ||
var e = typeof t | ||
return ( | ||
!('number' != e && 'symbol' != e && 'boolean' != e && null != t && !P(t)) || | ||
A.test(t) || | ||
!N.test(t) || | ||
(null != r && t in Object(r)) | ||
) | ||
} | ||
var T = function (t) { | ||
var r = typeof t | ||
return null != t && ('object' == r || 'function' == r) | ||
} | ||
var k, | ||
x = function (t) { | ||
if (!T(t)) return !1 | ||
var r = S(t) | ||
return ( | ||
'[object Function]' == r || | ||
'[object GeneratorFunction]' == r || | ||
'[object AsyncFunction]' == r || | ||
'[object Proxy]' == r | ||
) | ||
}, | ||
C = h['__core-js_shared__'], | ||
E = (k = /[^.]+$/.exec((C && C.keys && C.keys.IE_PROTO) || '')) | ||
? 'Symbol(src)_1.' + k | ||
: '' | ||
var D = function (t) { | ||
return !!E && E in t | ||
}, | ||
$ = Function.prototype.toString | ||
var M = function (t) { | ||
if (null != t) { | ||
try { | ||
return $.call(t) | ||
} catch (t) {} | ||
try { | ||
return t + '' | ||
} catch (t) {} | ||
} | ||
return '' | ||
}, | ||
R = /^\[object .+?Constructor\]$/, | ||
V = Function.prototype, | ||
F = Object.prototype, | ||
q = V.toString, | ||
B = F.hasOwnProperty, | ||
G = RegExp( | ||
'^' + | ||
q | ||
.call(B) | ||
.replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') | ||
.replace( | ||
/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, | ||
'$1.*?' | ||
) + | ||
'$' | ||
) | ||
var I = function (t) { | ||
return !(!T(t) || D(t)) && (x(t) ? G : R).test(M(t)) | ||
} | ||
var U = function (t, r) { | ||
return null == t ? void 0 : t[r] | ||
} | ||
var H = function (t, r) { | ||
var e = U(t, r) | ||
return I(e) ? e : void 0 | ||
}, | ||
K = H(Object, 'create') | ||
var L = function () { | ||
;(this.__data__ = K ? K(null) : {}), (this.size = 0) | ||
} | ||
var Q = function (t) { | ||
var r = this.has(t) && delete this.__data__[t] | ||
return (this.size -= r ? 1 : 0), r | ||
}, | ||
W = Object.prototype.hasOwnProperty | ||
var X = function (t) { | ||
var r = this.__data__ | ||
if (K) { | ||
var e = r[t] | ||
return '__lodash_hash_undefined__' === e ? void 0 : e | ||
} | ||
return W.call(r, t) ? r[t] : void 0 | ||
}, | ||
Y = Object.prototype.hasOwnProperty | ||
var Z = function (t) { | ||
var r = this.__data__ | ||
return K ? void 0 !== r[t] : Y.call(r, t) | ||
} | ||
var tt = function (t, r) { | ||
var e = this.__data__ | ||
return ( | ||
(this.size += this.has(t) ? 0 : 1), | ||
(e[t] = K && void 0 === r ? '__lodash_hash_undefined__' : r), | ||
this | ||
) | ||
} | ||
function rt(t) { | ||
var r = -1, | ||
e = null == t ? 0 : t.length | ||
for (this.clear(); ++r < e; ) { | ||
var n = t[r] | ||
this.set(n[0], n[1]) | ||
} | ||
} | ||
;(rt.prototype.clear = L), | ||
(rt.prototype.delete = Q), | ||
(rt.prototype.get = X), | ||
(rt.prototype.has = Z), | ||
(rt.prototype.set = tt) | ||
var et = rt | ||
var nt = function () { | ||
;(this.__data__ = []), (this.size = 0) | ||
} | ||
var at = function (t, r) { | ||
return t === r || (t != t && r != r) | ||
} | ||
var ot = function (t, r) { | ||
for (var e = t.length; e--; ) if (at(t[e][0], r)) return e | ||
return -1 | ||
}, | ||
it = Array.prototype.splice | ||
var ut = function (t) { | ||
var r = this.__data__, | ||
e = ot(r, t) | ||
return ( | ||
!(e < 0) && | ||
(e == r.length - 1 ? r.pop() : it.call(r, e, 1), --this.size, !0) | ||
) | ||
} | ||
var st = function (t) { | ||
var r = this.__data__, | ||
e = ot(r, t) | ||
return e < 0 ? void 0 : r[e][1] | ||
} | ||
var ct = function (t) { | ||
return ot(this.__data__, t) > -1 | ||
} | ||
var lt = function (t, r) { | ||
var e = this.__data__, | ||
n = ot(e, t) | ||
return n < 0 ? (++this.size, e.push([t, r])) : (e[n][1] = r), this | ||
} | ||
function pt(t) { | ||
var r = -1, | ||
e = null == t ? 0 : t.length | ||
for (this.clear(); ++r < e; ) { | ||
var n = t[r] | ||
this.set(n[0], n[1]) | ||
} | ||
} | ||
;(pt.prototype.clear = nt), | ||
(pt.prototype.delete = ut), | ||
(pt.prototype.get = st), | ||
(pt.prototype.has = ct), | ||
(pt.prototype.set = lt) | ||
var ft = pt, | ||
vt = H(h, 'Map') | ||
var ht = function () { | ||
;(this.size = 0), | ||
(this.__data__ = { | ||
hash: new et(), | ||
map: new (vt || ft)(), | ||
string: new et(), | ||
}) | ||
} | ||
var yt = function (t) { | ||
var r = typeof t | ||
return 'string' == r || 'number' == r || 'symbol' == r || 'boolean' == r | ||
? '__proto__' !== t | ||
: null === t | ||
} | ||
var dt = function (t, r) { | ||
var e = t.__data__ | ||
return yt(r) ? e['string' == typeof r ? 'string' : 'hash'] : e.map | ||
} | ||
var _t = function (t) { | ||
var r = dt(this, t).delete(t) | ||
return (this.size -= r ? 1 : 0), r | ||
} | ||
var bt = function (t) { | ||
return dt(this, t).get(t) | ||
} | ||
var gt = function (t) { | ||
return dt(this, t).has(t) | ||
} | ||
var mt = function (t, r) { | ||
var e = dt(this, t), | ||
n = e.size | ||
return e.set(t, r), (this.size += e.size == n ? 0 : 1), this | ||
} | ||
function zt(t) { | ||
var r = -1, | ||
e = null == t ? 0 : t.length | ||
for (this.clear(); ++r < e; ) { | ||
var n = t[r] | ||
this.set(n[0], n[1]) | ||
} | ||
} | ||
;(zt.prototype.clear = ht), | ||
(zt.prototype.delete = _t), | ||
(zt.prototype.get = bt), | ||
(zt.prototype.has = gt), | ||
(zt.prototype.set = mt) | ||
var jt = zt | ||
function Ot(t, r) { | ||
if ('function' != typeof t || (null != r && 'function' != typeof r)) | ||
throw new TypeError('Expected a function') | ||
var e = function () { | ||
var n = arguments, | ||
a = r ? r.apply(this, n) : n[0], | ||
o = e.cache | ||
if (o.has(a)) return o.get(a) | ||
var i = t.apply(this, n) | ||
return (e.cache = o.set(a, i) || o), i | ||
} | ||
return (e.cache = new (Ot.Cache || jt)()), e | ||
} | ||
Ot.Cache = jt | ||
var St = Ot | ||
var wt = | ||
/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, | ||
Pt = /\\(\\)?/g, | ||
Nt = (function (t) { | ||
var r = St(t, function (t) { | ||
return 500 === e.size && e.clear(), t | ||
}), | ||
e = r.cache | ||
return r | ||
})(function (t) { | ||
var r = [] | ||
return ( | ||
46 === t.charCodeAt(0) && r.push(''), | ||
t.replace(wt, function (t, e, n, a) { | ||
r.push(n ? a.replace(Pt, '$1') : e || t) | ||
}), | ||
r | ||
) | ||
}) | ||
var At = function (t, r) { | ||
for (var e = -1, n = null == t ? 0 : t.length, a = Array(n); ++e < n; ) | ||
a[e] = r(t[e], e, t) | ||
return a | ||
}, | ||
Jt = y ? y.prototype : void 0, | ||
Tt = Jt ? Jt.toString : void 0 | ||
var kt = function t(r) { | ||
if ('string' == typeof r) return r | ||
if (p(r)) return At(r, t) + '' | ||
if (P(r)) return Tt ? Tt.call(r) : '' | ||
var e = r + '' | ||
return '0' == e && 1 / r == -1 / 0 ? '-0' : e | ||
} | ||
var xt = function (t) { | ||
return null == t ? '' : kt(t) | ||
} | ||
var Ct = function (t, r) { | ||
return p(t) ? t : J(t, r) ? [t] : Nt(xt(t)) | ||
} | ||
var Et = function (t) { | ||
if ('string' == typeof t || P(t)) return t | ||
var r = t + '' | ||
return '0' == r && 1 / t == -1 / 0 ? '-0' : r | ||
} | ||
var Dt = function (t, r) { | ||
for (var e = 0, n = (r = Ct(r, t)).length; null != t && e < n; ) | ||
t = t[Et(r[e++])] | ||
return e && e == n ? t : void 0 | ||
} | ||
var $t = function (t, r, e) { | ||
var n = null == t ? void 0 : Dt(t, r) | ||
return void 0 === n ? e : n | ||
}, | ||
Mt = (function () { | ||
try { | ||
var t = H(Object, 'defineProperty') | ||
return t({}, '', {}), t | ||
} catch (t) {} | ||
})() | ||
var Rt = function (t, r, e) { | ||
'__proto__' == r && Mt | ||
? Mt(t, r, { configurable: !0, enumerable: !0, value: e, writable: !0 }) | ||
: (t[r] = e) | ||
}, | ||
Vt = Object.prototype.hasOwnProperty | ||
var Ft = function (t, r, e) { | ||
var n = t[r] | ||
;(Vt.call(t, r) && at(n, e) && (void 0 !== e || r in t)) || Rt(t, r, e) | ||
}, | ||
qt = /^(?:0|[1-9]\d*)$/ | ||
var Bt = function (t, r) { | ||
var e = typeof t | ||
return ( | ||
!!(r = null == r ? 9007199254740991 : r) && | ||
('number' == e || ('symbol' != e && qt.test(t))) && | ||
t > -1 && | ||
t % 1 == 0 && | ||
t < r | ||
) | ||
} | ||
var Gt = function (t, r, e, n) { | ||
if (!T(t)) return t | ||
for ( | ||
var u = Reflect.getMetadata(n.TsJacksonJsonProperty, t), | ||
f = new (t.bind.apply(t, e.__spreadArray([void 0], a)))(), | ||
d = 'string' == typeof r ? JSON.parse(r) : r, | ||
y = [], | ||
var a = -1, o = (r = Ct(r, t)).length, i = o - 1, u = t; | ||
null != u && ++a < o; | ||
) { | ||
var s = Et(r[a]), | ||
c = e | ||
if ('__proto__' === s || 'constructor' === s || 'prototype' === s) return t | ||
if (a != i) { | ||
var l = u[s] | ||
void 0 === (c = n ? n(l, s, u) : void 0) && | ||
(c = T(l) ? l : Bt(r[a + 1]) ? [] : {}) | ||
} | ||
Ft(u, s, c), (u = u[s]) | ||
} | ||
return t | ||
} | ||
var It = function (t, r, e) { | ||
return null == t ? t : Gt(t, r, e) | ||
} | ||
function Ut(n, a) { | ||
for (var u = [], s = 2; s < arguments.length; s++) u[s - 2] = arguments[s] | ||
o(a) | ||
for ( | ||
var c = Reflect.getMetadata(t.TsJacksonJsonProperty, a), | ||
l = new (a.bind.apply(a, r.__spreadArray([void 0], u, !1)))(), | ||
p = 'string' == typeof n ? JSON.parse(n) : n, | ||
f = [], | ||
v = 0, | ||
h = Object.entries(u); | ||
h = Object.entries(c); | ||
v < h.length; | ||
v++ | ||
) { | ||
var b = h[v], | ||
z = b[0], | ||
g = b[1], | ||
S = g.paths | ||
? g.paths.map(function (e) { | ||
return i.default(d, e) | ||
var y = h[v], | ||
d = y[0], | ||
_ = y[1], | ||
b = _.paths | ||
? _.paths.map(function (t) { | ||
return $t(p, t) | ||
}) | ||
: i.default(d, g.path) | ||
g.required && | ||
s({ | ||
json: d, | ||
propName: z, | ||
propValue: S, | ||
serializableClass: t, | ||
propPath: g.path, | ||
: $t(p, _.path) | ||
_.required && | ||
e({ | ||
json: p, | ||
propName: d, | ||
propValue: b, | ||
serializableClass: a, | ||
propPath: _.path, | ||
}) | ||
var N = g.deserialize ? g.deserialize(S) : m(S, g.type, g.elementType) | ||
g.validate && | ||
c({ | ||
propName: z, | ||
propValue: N, | ||
validate: g.validate, | ||
serializableClass: t, | ||
var g = _.deserialize ? _.deserialize(b) : Ht(b, _.type, _.elementType) | ||
_.validate && | ||
i({ | ||
propName: d, | ||
propValue: g, | ||
validate: _.validate, | ||
serializableClass: a, | ||
}), | ||
void 0 !== N && o.default(f, z, N), | ||
g.afterDeserialize && | ||
y.push({ | ||
propName: z, | ||
deserializedValue: N, | ||
afterDeserialize: g.afterDeserialize, | ||
void 0 !== g && It(l, d, g), | ||
_.afterDeserialize && | ||
f.push({ | ||
propName: d, | ||
deserializedValue: g, | ||
afterDeserialize: _.afterDeserialize, | ||
}) | ||
} | ||
return ( | ||
y.forEach(function (e) { | ||
var r = e.propName, | ||
t = e.deserializedValue, | ||
a = e.afterDeserialize | ||
o.default(f, r, a(f, t)) | ||
f.forEach(function (t) { | ||
var r = t.propName, | ||
e = t.deserializedValue, | ||
n = t.afterDeserialize | ||
It(l, r, n(l, e)) | ||
}), | ||
f | ||
l | ||
) | ||
} | ||
function m(e, r, t) { | ||
if (null == e || void 0 === r) return e | ||
function Ht(t, r, e) { | ||
if (null == t || void 0 === r) return t | ||
if (Array.isArray(r)) | ||
return r.map(function (r, t) { | ||
return m(e[t], r) | ||
return r.map(function (r, e) { | ||
return Ht(t[e], 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(t) ? h(e, t) : e | ||
case u.Date: | ||
return new Date(t) | ||
case u.Array: | ||
return t.map(function (t) { | ||
return n(e) ? Ut(t, e) : t | ||
}) | ||
case f.Set: | ||
var a = e.map(function (e) { | ||
return l(t) ? h(e, t) : e | ||
case u.Set: | ||
var a = t.map(function (t) { | ||
return n(e) ? Ut(t, e) : t | ||
}) | ||
return new Set(a) | ||
case f.Boolean: | ||
return Boolean(e) | ||
case f.Number: | ||
return Number(e) | ||
case f.String: | ||
return e.toString() | ||
case u.Boolean: | ||
return Boolean(t) | ||
case u.Number: | ||
return Number(t) | ||
case u.String: | ||
return t.toString() | ||
default: | ||
return l(r) ? h(e, r) : e | ||
return n(r) ? Ut(t, r) : t | ||
} | ||
} | ||
function b(e) { | ||
p(e.constructor) | ||
function Kt(r) { | ||
o(r.constructor) | ||
for ( | ||
var r = Reflect.getMetadata(n.TsJacksonJsonProperty, e.constructor), | ||
t = {}, | ||
a = function (r, a) { | ||
var n = void 0, | ||
i = void 0 | ||
a.beforeSerialize | ||
? (i = (n = a.beforeSerialize(e[r])).constructor) | ||
: ((n = e[r]), (i = a.type)) | ||
var s = a.serialize ? a.serialize(n) : z(n, i) | ||
a.paths | ||
? a.paths.forEach(function (e, r) { | ||
o.default(t, e, s[r]) | ||
var e = Reflect.getMetadata(t.TsJacksonJsonProperty, r.constructor), | ||
n = {}, | ||
a = function (t, e) { | ||
var a = void 0, | ||
o = void 0 | ||
e.beforeSerialize | ||
? (o = (a = e.beforeSerialize(r[t])).constructor) | ||
: ((a = r[t]), (o = e.type)) | ||
var i = e.serialize ? e.serialize(a) : Lt(a, o) | ||
e.paths | ||
? e.paths.forEach(function (t, r) { | ||
It(n, t, i[r]) | ||
}) | ||
: o.default(t, a.path, s) | ||
: It(n, e.path, i) | ||
}, | ||
i = 0, | ||
s = Object.entries(r); | ||
i < s.length; | ||
u = Object.entries(e); | ||
i < u.length; | ||
i++ | ||
) { | ||
var l = s[i] | ||
a(l[0], l[1]) | ||
var s = u[i] | ||
a(s[0], s[1]) | ||
} | ||
return t | ||
return n | ||
} | ||
function z(e, r) { | ||
if (void 0 === e) return e | ||
function Lt(t, r) { | ||
if (void 0 === t) return t | ||
if (Array.isArray(r)) | ||
return r.map(function (r, t) { | ||
return z(e[t], r) | ||
return r.map(function (r, e) { | ||
return Lt(t[e], r) | ||
}) | ||
if ('function' == typeof r) | ||
switch (null == r ? void 0 : r.name) { | ||
case f.Set: | ||
case f.Array: | ||
return Array.from(e.values()).map(function (e) { | ||
return l(e.constructor) ? b(e) : e | ||
case u.Set: | ||
case u.Array: | ||
return Array.from(t.values()).map(function (t) { | ||
return n(t.constructor) ? Kt(t) : t | ||
}) | ||
default: | ||
return l(r) ? b(e) : e | ||
return n(r) ? Kt(t) : t | ||
} | ||
} | ||
!(function (e) { | ||
;(e.Array = 'Array'), | ||
(e.Set = 'Set'), | ||
(e.Boolean = 'Boolean'), | ||
(e.Date = 'Date'), | ||
(e.Number = 'Number'), | ||
(e.Object = 'Object'), | ||
(e.String = 'String') | ||
})(f || (f = {})) | ||
var g = (function () { | ||
function r() {} | ||
var Qt = (function () { | ||
function t() {} | ||
return ( | ||
(r.prototype.stringify = function () { | ||
(t.prototype.stringify = function () { | ||
return JSON.stringify(this.serialize()) | ||
}), | ||
(r.prototype.serialize = function () { | ||
return b(this) | ||
(t.prototype.serialize = function () { | ||
return Kt(this) | ||
}), | ||
(r.deserialize = function (r) { | ||
for (var t = [], a = 1; a < arguments.length; a++) t[a - 1] = arguments[a] | ||
return h.apply(void 0, e.__spreadArray([r, this], t)) | ||
(t.deserialize = function (t) { | ||
for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n] | ||
return Ut.apply(void 0, r.__spreadArray([t, this], e, !1)) | ||
}), | ||
(r = e.__decorate([v()], r)) | ||
(t = r.__decorate([l()], t)) | ||
) | ||
})() | ||
;(exports.JsonProperty = function (r) { | ||
;(exports.JsonProperty = function (e) { | ||
return ( | ||
void 0 === r && (r = {}), | ||
function (t, a) { | ||
var i = | ||
'string' == typeof r | ||
? { path: r } | ||
: Array.isArray(r) | ||
? { paths: r } | ||
: r, | ||
o = e.__assign(e.__assign({ name: a, path: i.path || a }, i), { | ||
type: i.type || Reflect.getMetadata('design:type', t, a), | ||
void 0 === e && (e = {}), | ||
function (n, a) { | ||
var o = | ||
'string' == typeof e | ||
? { path: e } | ||
: Array.isArray(e) | ||
? { paths: e } | ||
: e, | ||
i = r.__assign(r.__assign({ name: a, path: o.path || a }, o), { | ||
type: o.type || Reflect.getMetadata('design:type', n, a), | ||
}), | ||
s = Reflect.getMetadata(n.TsJacksonJsonProperty, t.constructor) || {} | ||
;(s[a] = o), | ||
Reflect.defineMetadata(n.TsJacksonJsonProperty, s, t.constructor) | ||
u = Reflect.getMetadata(t.TsJacksonJsonProperty, n.constructor) || {} | ||
;(u[a] = i), | ||
Reflect.defineMetadata(t.TsJacksonJsonProperty, u, n.constructor) | ||
} | ||
) | ||
}), | ||
(exports.Serializable = v), | ||
(exports.SerializableEntity = g), | ||
(exports.deserialize = h), | ||
(exports.serialize = b) | ||
(exports.Serializable = l), | ||
(exports.SerializableEntity = Qt), | ||
(exports.deserialize = Ut), | ||
(exports.serialize = Kt) | ||
//# sourceMappingURL=index.cjs.js.map |
import 'reflect-metadata' | ||
import { | ||
__extends as e, | ||
__assign as e, | ||
__decorate as n, | ||
__extends as t, | ||
__spreadArray as r, | ||
__assign as t, | ||
__decorate as a, | ||
} from 'tslib' | ||
import n from 'lodash.get' | ||
import i from 'lodash.set' | ||
function o(e) { | ||
var r = e.propName, | ||
t = e.propPath, | ||
a = e.propValue, | ||
n = e.json, | ||
i = e.serializableClass | ||
if (void 0 === a) | ||
throw new d({ json: n, propName: r, serializableClass: i, propPath: t }) | ||
function a(t) { | ||
var r = t.propName, | ||
e = t.propPath, | ||
n = t.propValue, | ||
a = t.json, | ||
o = t.serializableClass | ||
if (void 0 === n) | ||
throw new p({ json: a, propName: r, serializableClass: o, propPath: e }) | ||
} | ||
var s | ||
function l(e) { | ||
return !!e && void 0 !== Reflect.getMetadata(s.TsJacksonSerializable, e) | ||
var o | ||
function i(t) { | ||
return !!t && void 0 !== Reflect.getMetadata(o.TsJacksonSerializable, t) | ||
} | ||
!(function (e) { | ||
;(e.TsJacksonJsonProperty = 'ts-jackson:jsonproperty'), | ||
(e.TsJacksonSerializable = 'ts-jackson:serializable'), | ||
(e.DesignType = 'design:type'), | ||
(e.DesignParamTypes = 'design:paramtypes') | ||
})(s || (s = {})) | ||
!(function (t) { | ||
;(t.TsJacksonJsonProperty = 'ts-jackson:jsonproperty'), | ||
(t.TsJacksonSerializable = 'ts-jackson:serializable'), | ||
(t.DesignType = 'design:type'), | ||
(t.DesignParamTypes = 'design:paramtypes') | ||
})(o || (o = {})) | ||
var u = (function (r) { | ||
function t(e) { | ||
var t = r.call(this) || this | ||
function e(t) { | ||
var e = r.call(this) || this | ||
return ( | ||
(t.name = 'SerializableError'), | ||
(t.message = | ||
e.name + ' class should annotated with @' + h.name + ' decorator'), | ||
t | ||
(e.name = 'SerializableError'), | ||
(e.message = '' | ||
.concat(t.name, ' class should annotated with @') | ||
.concat(v.name, ' decorator')), | ||
e | ||
) | ||
} | ||
return e(t, r), t | ||
return t(e, r), e | ||
})(Error) | ||
function p(e) { | ||
if (!l(e)) throw new u(e) | ||
function c(t) { | ||
if (!i(t)) throw new u(t) | ||
} | ||
function c(e) { | ||
var r = e.propName, | ||
t = e.propValue, | ||
a = e.validate, | ||
n = e.serializableClass | ||
if (!a(t)) | ||
throw new m({ | ||
function s(t) { | ||
var r = t.propName, | ||
e = t.propValue, | ||
n = t.validate, | ||
a = t.serializableClass | ||
if (!n(e)) | ||
throw new f({ | ||
propName: r, | ||
propValue: t, | ||
validate: a, | ||
serializableClass: n, | ||
propValue: e, | ||
validate: n, | ||
serializableClass: a, | ||
}) | ||
} | ||
var f, | ||
d = (function (r) { | ||
function t(e) { | ||
var t = e.propName, | ||
a = e.propPath, | ||
n = e.json, | ||
i = | ||
"Property '" + | ||
t + | ||
"' (path: '" + | ||
a + | ||
"') is required in " + | ||
e.serializableClass.name + | ||
' but missing in provided JSON: ' + | ||
JSON.stringify(n, null, 2) + | ||
'.' | ||
return r.call(this, i) || this | ||
var l, | ||
p = (function (r) { | ||
function e(t) { | ||
var e = t.propName, | ||
n = t.propPath, | ||
a = t.json, | ||
o = t.serializableClass.name, | ||
i = JSON.stringify(a, null, 2), | ||
u = "Property '" | ||
.concat(e, "' (path: '") | ||
.concat(n, "') is required in ") | ||
.concat(o, ' but missing in provided JSON: ') | ||
.concat(i, '.') | ||
return r.call(this, u) || this | ||
} | ||
return e(t, r), t | ||
return t(e, r), e | ||
})(Error), | ||
m = (function (r) { | ||
function t(e) { | ||
var a, | ||
n = e.propName, | ||
i = e.propValue, | ||
o = e.validate, | ||
s = | ||
"Property '" + | ||
n + | ||
"' with value " + | ||
i + | ||
' in ' + | ||
e.serializableClass.name + | ||
' failed to pass the validation check by ' + | ||
(o.name || 'anonymous function') + | ||
'.' | ||
f = (function (r) { | ||
function e(t) { | ||
var n, | ||
a = t.propName, | ||
o = t.propValue, | ||
i = t.validate, | ||
u = t.serializableClass.name, | ||
c = i.name || 'anonymous function', | ||
s = "Property '" | ||
.concat(a, "' with value ") | ||
.concat(o, ' in ') | ||
.concat(u, ' failed to pass the validation check by ') | ||
.concat(c, '.') | ||
return ( | ||
(a = r.call(this, s) || this), Object.setPrototypeOf(a, t.prototype), a | ||
(n = r.call(this, s) || this), Object.setPrototypeOf(n, e.prototype), n | ||
) | ||
} | ||
return e(t, r), t | ||
return t(e, r), e | ||
})(Error) | ||
function h() { | ||
return function (e) { | ||
var r = { className: e.name } | ||
Reflect.defineMetadata(s.TsJacksonSerializable, r, e) | ||
function v() { | ||
return function (t) { | ||
var r = { className: t.name } | ||
Reflect.defineMetadata(o.TsJacksonSerializable, r, t) | ||
} | ||
} | ||
function v(e, t) { | ||
for (var a = [], l = 2; l < arguments.length; l++) a[l - 2] = arguments[l] | ||
p(t) | ||
!(function (t) { | ||
;(t.Array = 'Array'), | ||
(t.Set = 'Set'), | ||
(t.Boolean = 'Boolean'), | ||
(t.Date = 'Date'), | ||
(t.Number = 'Number'), | ||
(t.Object = 'Object'), | ||
(t.String = 'String') | ||
})(l || (l = {})) | ||
var h = Array.isArray, | ||
y = 'object' == typeof global && global && global.Object === Object && global, | ||
d = 'object' == typeof self && self && self.Object === Object && self, | ||
_ = y || d || Function('return this')(), | ||
b = _.Symbol, | ||
g = Object.prototype, | ||
m = g.hasOwnProperty, | ||
z = g.toString, | ||
j = b ? b.toStringTag : void 0 | ||
var O = function (t) { | ||
var r = m.call(t, j), | ||
e = t[j] | ||
try { | ||
t[j] = void 0 | ||
var n = !0 | ||
} catch (t) {} | ||
var a = z.call(t) | ||
return n && (r ? (t[j] = e) : delete t[j]), a | ||
}, | ||
S = Object.prototype.toString | ||
var w = function (t) { | ||
return S.call(t) | ||
}, | ||
P = b ? b.toStringTag : void 0 | ||
var N = function (t) { | ||
return null == t | ||
? void 0 === t | ||
? '[object Undefined]' | ||
: '[object Null]' | ||
: P && P in Object(t) | ||
? O(t) | ||
: w(t) | ||
} | ||
var A = function (t) { | ||
return null != t && 'object' == typeof t | ||
} | ||
var J = function (t) { | ||
return 'symbol' == typeof t || (A(t) && '[object Symbol]' == N(t)) | ||
}, | ||
T = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, | ||
k = /^\w*$/ | ||
var C = function (t, r) { | ||
if (h(t)) return !1 | ||
var e = typeof t | ||
return ( | ||
!('number' != e && 'symbol' != e && 'boolean' != e && null != t && !J(t)) || | ||
k.test(t) || | ||
!T.test(t) || | ||
(null != r && t in Object(r)) | ||
) | ||
} | ||
var D = function (t) { | ||
var r = typeof t | ||
return null != t && ('object' == r || 'function' == r) | ||
} | ||
var E, | ||
$ = function (t) { | ||
if (!D(t)) return !1 | ||
var r = N(t) | ||
return ( | ||
'[object Function]' == r || | ||
'[object GeneratorFunction]' == r || | ||
'[object AsyncFunction]' == r || | ||
'[object Proxy]' == r | ||
) | ||
}, | ||
R = _['__core-js_shared__'], | ||
M = (E = /[^.]+$/.exec((R && R.keys && R.keys.IE_PROTO) || '')) | ||
? 'Symbol(src)_1.' + E | ||
: '' | ||
var V = function (t) { | ||
return !!M && M in t | ||
}, | ||
F = Function.prototype.toString | ||
var x = function (t) { | ||
if (null != t) { | ||
try { | ||
return F.call(t) | ||
} catch (t) {} | ||
try { | ||
return t + '' | ||
} catch (t) {} | ||
} | ||
return '' | ||
}, | ||
B = /^\[object .+?Constructor\]$/, | ||
q = Function.prototype, | ||
G = Object.prototype, | ||
I = q.toString, | ||
U = G.hasOwnProperty, | ||
H = RegExp( | ||
'^' + | ||
I.call(U) | ||
.replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') | ||
.replace( | ||
/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, | ||
'$1.*?' | ||
) + | ||
'$' | ||
) | ||
var K = function (t) { | ||
return !(!D(t) || V(t)) && ($(t) ? H : B).test(x(t)) | ||
} | ||
var L = function (t, r) { | ||
return null == t ? void 0 : t[r] | ||
} | ||
var Q = function (t, r) { | ||
var e = L(t, r) | ||
return K(e) ? e : void 0 | ||
}, | ||
W = Q(Object, 'create') | ||
var X = function () { | ||
;(this.__data__ = W ? W(null) : {}), (this.size = 0) | ||
} | ||
var Y = function (t) { | ||
var r = this.has(t) && delete this.__data__[t] | ||
return (this.size -= r ? 1 : 0), r | ||
}, | ||
Z = Object.prototype.hasOwnProperty | ||
var tt = function (t) { | ||
var r = this.__data__ | ||
if (W) { | ||
var e = r[t] | ||
return '__lodash_hash_undefined__' === e ? void 0 : e | ||
} | ||
return Z.call(r, t) ? r[t] : void 0 | ||
}, | ||
rt = Object.prototype.hasOwnProperty | ||
var et = function (t) { | ||
var r = this.__data__ | ||
return W ? void 0 !== r[t] : rt.call(r, t) | ||
} | ||
var nt = function (t, r) { | ||
var e = this.__data__ | ||
return ( | ||
(this.size += this.has(t) ? 0 : 1), | ||
(e[t] = W && void 0 === r ? '__lodash_hash_undefined__' : r), | ||
this | ||
) | ||
} | ||
function at(t) { | ||
var r = -1, | ||
e = null == t ? 0 : t.length | ||
for (this.clear(); ++r < e; ) { | ||
var n = t[r] | ||
this.set(n[0], n[1]) | ||
} | ||
} | ||
;(at.prototype.clear = X), | ||
(at.prototype.delete = Y), | ||
(at.prototype.get = tt), | ||
(at.prototype.has = et), | ||
(at.prototype.set = nt) | ||
var ot = at | ||
var it = function () { | ||
;(this.__data__ = []), (this.size = 0) | ||
} | ||
var ut = function (t, r) { | ||
return t === r || (t != t && r != r) | ||
} | ||
var ct = function (t, r) { | ||
for (var e = t.length; e--; ) if (ut(t[e][0], r)) return e | ||
return -1 | ||
}, | ||
st = Array.prototype.splice | ||
var lt = function (t) { | ||
var r = this.__data__, | ||
e = ct(r, t) | ||
return ( | ||
!(e < 0) && | ||
(e == r.length - 1 ? r.pop() : st.call(r, e, 1), --this.size, !0) | ||
) | ||
} | ||
var pt = function (t) { | ||
var r = this.__data__, | ||
e = ct(r, t) | ||
return e < 0 ? void 0 : r[e][1] | ||
} | ||
var ft = function (t) { | ||
return ct(this.__data__, t) > -1 | ||
} | ||
var vt = function (t, r) { | ||
var e = this.__data__, | ||
n = ct(e, t) | ||
return n < 0 ? (++this.size, e.push([t, r])) : (e[n][1] = r), this | ||
} | ||
function ht(t) { | ||
var r = -1, | ||
e = null == t ? 0 : t.length | ||
for (this.clear(); ++r < e; ) { | ||
var n = t[r] | ||
this.set(n[0], n[1]) | ||
} | ||
} | ||
;(ht.prototype.clear = it), | ||
(ht.prototype.delete = lt), | ||
(ht.prototype.get = pt), | ||
(ht.prototype.has = ft), | ||
(ht.prototype.set = vt) | ||
var yt = ht, | ||
dt = Q(_, 'Map') | ||
var _t = function () { | ||
;(this.size = 0), | ||
(this.__data__ = { | ||
hash: new ot(), | ||
map: new (dt || yt)(), | ||
string: new ot(), | ||
}) | ||
} | ||
var bt = function (t) { | ||
var r = typeof t | ||
return 'string' == r || 'number' == r || 'symbol' == r || 'boolean' == r | ||
? '__proto__' !== t | ||
: null === t | ||
} | ||
var gt = function (t, r) { | ||
var e = t.__data__ | ||
return bt(r) ? e['string' == typeof r ? 'string' : 'hash'] : e.map | ||
} | ||
var mt = function (t) { | ||
var r = gt(this, t).delete(t) | ||
return (this.size -= r ? 1 : 0), r | ||
} | ||
var zt = function (t) { | ||
return gt(this, t).get(t) | ||
} | ||
var jt = function (t) { | ||
return gt(this, t).has(t) | ||
} | ||
var Ot = function (t, r) { | ||
var e = gt(this, t), | ||
n = e.size | ||
return e.set(t, r), (this.size += e.size == n ? 0 : 1), this | ||
} | ||
function St(t) { | ||
var r = -1, | ||
e = null == t ? 0 : t.length | ||
for (this.clear(); ++r < e; ) { | ||
var n = t[r] | ||
this.set(n[0], n[1]) | ||
} | ||
} | ||
;(St.prototype.clear = _t), | ||
(St.prototype.delete = mt), | ||
(St.prototype.get = zt), | ||
(St.prototype.has = jt), | ||
(St.prototype.set = Ot) | ||
var wt = St | ||
function Pt(t, r) { | ||
if ('function' != typeof t || (null != r && 'function' != typeof r)) | ||
throw new TypeError('Expected a function') | ||
var e = function () { | ||
var n = arguments, | ||
a = r ? r.apply(this, n) : n[0], | ||
o = e.cache | ||
if (o.has(a)) return o.get(a) | ||
var i = t.apply(this, n) | ||
return (e.cache = o.set(a, i) || o), i | ||
} | ||
return (e.cache = new (Pt.Cache || wt)()), e | ||
} | ||
Pt.Cache = wt | ||
var Nt = Pt | ||
var At = | ||
/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, | ||
Jt = /\\(\\)?/g, | ||
Tt = (function (t) { | ||
var r = Nt(t, function (t) { | ||
return 500 === e.size && e.clear(), t | ||
}), | ||
e = r.cache | ||
return r | ||
})(function (t) { | ||
var r = [] | ||
return ( | ||
46 === t.charCodeAt(0) && r.push(''), | ||
t.replace(At, function (t, e, n, a) { | ||
r.push(n ? a.replace(Jt, '$1') : e || t) | ||
}), | ||
r | ||
) | ||
}) | ||
var kt = function (t, r) { | ||
for (var e = -1, n = null == t ? 0 : t.length, a = Array(n); ++e < n; ) | ||
a[e] = r(t[e], e, t) | ||
return a | ||
}, | ||
Ct = b ? b.prototype : void 0, | ||
Dt = Ct ? Ct.toString : void 0 | ||
var Et = function t(r) { | ||
if ('string' == typeof r) return r | ||
if (h(r)) return kt(r, t) + '' | ||
if (J(r)) return Dt ? Dt.call(r) : '' | ||
var e = r + '' | ||
return '0' == e && 1 / r == -1 / 0 ? '-0' : e | ||
} | ||
var $t = function (t) { | ||
return null == t ? '' : Et(t) | ||
} | ||
var Rt = function (t, r) { | ||
return h(t) ? t : C(t, r) ? [t] : Tt($t(t)) | ||
} | ||
var Mt = function (t) { | ||
if ('string' == typeof t || J(t)) return t | ||
var r = t + '' | ||
return '0' == r && 1 / t == -1 / 0 ? '-0' : r | ||
} | ||
var Vt = function (t, r) { | ||
for (var e = 0, n = (r = Rt(r, t)).length; null != t && e < n; ) | ||
t = t[Mt(r[e++])] | ||
return e && e == n ? t : void 0 | ||
} | ||
var Ft = function (t, r, e) { | ||
var n = null == t ? void 0 : Vt(t, r) | ||
return void 0 === n ? e : n | ||
}, | ||
xt = (function () { | ||
try { | ||
var t = Q(Object, 'defineProperty') | ||
return t({}, '', {}), t | ||
} catch (t) {} | ||
})() | ||
var Bt = function (t, r, e) { | ||
'__proto__' == r && xt | ||
? xt(t, r, { configurable: !0, enumerable: !0, value: e, writable: !0 }) | ||
: (t[r] = e) | ||
}, | ||
qt = Object.prototype.hasOwnProperty | ||
var Gt = function (t, r, e) { | ||
var n = t[r] | ||
;(qt.call(t, r) && ut(n, e) && (void 0 !== e || r in t)) || Bt(t, r, e) | ||
}, | ||
It = /^(?:0|[1-9]\d*)$/ | ||
var Ut = function (t, r) { | ||
var e = typeof t | ||
return ( | ||
!!(r = null == r ? 9007199254740991 : r) && | ||
('number' == e || ('symbol' != e && It.test(t))) && | ||
t > -1 && | ||
t % 1 == 0 && | ||
t < r | ||
) | ||
} | ||
var Ht = function (t, r, e, n) { | ||
if (!D(t)) return t | ||
for ( | ||
var u = Reflect.getMetadata(s.TsJacksonJsonProperty, t), | ||
f = new (t.bind.apply(t, r([void 0], a)))(), | ||
d = 'string' == typeof e ? JSON.parse(e) : e, | ||
m = [], | ||
h = 0, | ||
v = Object.entries(u); | ||
h < v.length; | ||
h++ | ||
var a = -1, o = (r = Rt(r, t)).length, i = o - 1, u = t; | ||
null != u && ++a < o; | ||
) { | ||
var b = v[h], | ||
z = b[0], | ||
g = b[1], | ||
N = g.paths | ||
? g.paths.map(function (e) { | ||
return n(d, e) | ||
var c = Mt(r[a]), | ||
s = e | ||
if ('__proto__' === c || 'constructor' === c || 'prototype' === c) return t | ||
if (a != i) { | ||
var l = u[c] | ||
void 0 === (s = n ? n(l, c, u) : void 0) && | ||
(s = D(l) ? l : Ut(r[a + 1]) ? [] : {}) | ||
} | ||
Gt(u, c, s), (u = u[c]) | ||
} | ||
return t | ||
} | ||
var Kt = function (t, r, e) { | ||
return null == t ? t : Ht(t, r, e) | ||
} | ||
function Lt(t, e) { | ||
for (var n = [], i = 2; i < arguments.length; i++) n[i - 2] = arguments[i] | ||
c(e) | ||
for ( | ||
var u = Reflect.getMetadata(o.TsJacksonJsonProperty, e), | ||
l = new (e.bind.apply(e, r([void 0], n, !1)))(), | ||
p = 'string' == typeof t ? JSON.parse(t) : t, | ||
f = [], | ||
v = 0, | ||
h = Object.entries(u); | ||
v < h.length; | ||
v++ | ||
) { | ||
var y = h[v], | ||
d = y[0], | ||
_ = y[1], | ||
b = _.paths | ||
? _.paths.map(function (t) { | ||
return Ft(p, t) | ||
}) | ||
: n(d, g.path) | ||
g.required && | ||
o({ | ||
json: d, | ||
propName: z, | ||
propValue: N, | ||
serializableClass: t, | ||
propPath: g.path, | ||
: Ft(p, _.path) | ||
_.required && | ||
a({ | ||
json: p, | ||
propName: d, | ||
propValue: b, | ||
serializableClass: e, | ||
propPath: _.path, | ||
}) | ||
var S = g.deserialize ? g.deserialize(N) : y(N, g.type, g.elementType) | ||
g.validate && | ||
c({ | ||
propName: z, | ||
propValue: S, | ||
validate: g.validate, | ||
serializableClass: t, | ||
var g = _.deserialize ? _.deserialize(b) : Qt(b, _.type, _.elementType) | ||
_.validate && | ||
s({ | ||
propName: d, | ||
propValue: g, | ||
validate: _.validate, | ||
serializableClass: e, | ||
}), | ||
void 0 !== S && i(f, z, S), | ||
g.afterDeserialize && | ||
m.push({ | ||
propName: z, | ||
deserializedValue: S, | ||
afterDeserialize: g.afterDeserialize, | ||
void 0 !== g && Kt(l, d, g), | ||
_.afterDeserialize && | ||
f.push({ | ||
propName: d, | ||
deserializedValue: g, | ||
afterDeserialize: _.afterDeserialize, | ||
}) | ||
} | ||
return ( | ||
m.forEach(function (e) { | ||
var r = e.propName, | ||
t = e.deserializedValue, | ||
a = e.afterDeserialize | ||
i(f, r, a(f, t)) | ||
f.forEach(function (t) { | ||
var r = t.propName, | ||
e = t.deserializedValue, | ||
n = t.afterDeserialize | ||
Kt(l, r, n(l, e)) | ||
}), | ||
f | ||
l | ||
) | ||
} | ||
function y(e, r, t) { | ||
if (null == e || void 0 === r) return e | ||
function Qt(t, r, e) { | ||
if (null == t || void 0 === r) return t | ||
if (Array.isArray(r)) | ||
return r.map(function (r, t) { | ||
return y(e[t], r) | ||
return r.map(function (r, e) { | ||
return Qt(t[e], 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(t) ? v(e, t) : e | ||
case l.Date: | ||
return new Date(t) | ||
case l.Array: | ||
return t.map(function (t) { | ||
return i(e) ? Lt(t, e) : t | ||
}) | ||
case f.Set: | ||
var a = e.map(function (e) { | ||
return l(t) ? v(e, t) : e | ||
case l.Set: | ||
var n = t.map(function (t) { | ||
return i(e) ? Lt(t, e) : t | ||
}) | ||
return new Set(a) | ||
case f.Boolean: | ||
return Boolean(e) | ||
case f.Number: | ||
return Number(e) | ||
case f.String: | ||
return e.toString() | ||
return new Set(n) | ||
case l.Boolean: | ||
return Boolean(t) | ||
case l.Number: | ||
return Number(t) | ||
case l.String: | ||
return t.toString() | ||
default: | ||
return l(r) ? v(e, r) : e | ||
return i(r) ? Lt(t, r) : t | ||
} | ||
} | ||
function b(e) { | ||
p(e.constructor) | ||
function Wt(t) { | ||
c(t.constructor) | ||
for ( | ||
var r = Reflect.getMetadata(s.TsJacksonJsonProperty, e.constructor), | ||
t = {}, | ||
a = function (r, a) { | ||
var n = void 0, | ||
var r = Reflect.getMetadata(o.TsJacksonJsonProperty, t.constructor), | ||
e = {}, | ||
n = function (r, n) { | ||
var a = void 0, | ||
o = void 0 | ||
a.beforeSerialize | ||
? (o = (n = a.beforeSerialize(e[r])).constructor) | ||
: ((n = e[r]), (o = a.type)) | ||
var s = a.serialize ? a.serialize(n) : z(n, o) | ||
a.paths | ||
? a.paths.forEach(function (e, r) { | ||
i(t, e, s[r]) | ||
n.beforeSerialize | ||
? (o = (a = n.beforeSerialize(t[r])).constructor) | ||
: ((a = t[r]), (o = n.type)) | ||
var i = n.serialize ? n.serialize(a) : Xt(a, o) | ||
n.paths | ||
? n.paths.forEach(function (t, r) { | ||
Kt(e, t, i[r]) | ||
}) | ||
: i(t, a.path, s) | ||
: Kt(e, n.path, i) | ||
}, | ||
n = 0, | ||
o = Object.entries(r); | ||
n < o.length; | ||
n++ | ||
a = 0, | ||
i = Object.entries(r); | ||
a < i.length; | ||
a++ | ||
) { | ||
var l = o[n] | ||
a(l[0], l[1]) | ||
var u = i[a] | ||
n(u[0], u[1]) | ||
} | ||
return t | ||
return e | ||
} | ||
function z(e, r) { | ||
if (void 0 === e) return e | ||
function Xt(t, r) { | ||
if (void 0 === t) return t | ||
if (Array.isArray(r)) | ||
return r.map(function (r, t) { | ||
return z(e[t], r) | ||
return r.map(function (r, e) { | ||
return Xt(t[e], r) | ||
}) | ||
if ('function' == typeof r) | ||
switch (null == r ? void 0 : r.name) { | ||
case f.Set: | ||
case f.Array: | ||
return Array.from(e.values()).map(function (e) { | ||
return l(e.constructor) ? b(e) : e | ||
case l.Set: | ||
case l.Array: | ||
return Array.from(t.values()).map(function (t) { | ||
return i(t.constructor) ? Wt(t) : t | ||
}) | ||
default: | ||
return l(r) ? b(e) : e | ||
return i(r) ? Wt(t) : t | ||
} | ||
} | ||
function g(e) { | ||
function Yt(t) { | ||
return ( | ||
void 0 === e && (e = {}), | ||
function (r, a) { | ||
var n = | ||
'string' == typeof e | ||
? { path: e } | ||
: Array.isArray(e) | ||
? { paths: e } | ||
: e, | ||
i = t(t({ name: a, path: n.path || a }, n), { | ||
type: n.type || Reflect.getMetadata('design:type', r, a), | ||
void 0 === t && (t = {}), | ||
function (r, n) { | ||
var a = | ||
'string' == typeof t | ||
? { path: t } | ||
: Array.isArray(t) | ||
? { paths: t } | ||
: t, | ||
i = e(e({ name: n, path: a.path || n }, a), { | ||
type: a.type || Reflect.getMetadata('design:type', r, n), | ||
}), | ||
o = Reflect.getMetadata(s.TsJacksonJsonProperty, r.constructor) || {} | ||
;(o[a] = i), | ||
Reflect.defineMetadata(s.TsJacksonJsonProperty, o, r.constructor) | ||
u = Reflect.getMetadata(o.TsJacksonJsonProperty, r.constructor) || {} | ||
;(u[n] = i), | ||
Reflect.defineMetadata(o.TsJacksonJsonProperty, u, r.constructor) | ||
} | ||
) | ||
} | ||
!(function (e) { | ||
;(e.Array = 'Array'), | ||
(e.Set = 'Set'), | ||
(e.Boolean = 'Boolean'), | ||
(e.Date = 'Date'), | ||
(e.Number = 'Number'), | ||
(e.Object = 'Object'), | ||
(e.String = 'String') | ||
})(f || (f = {})) | ||
var N = (function () { | ||
function e() {} | ||
var Zt = (function () { | ||
function t() {} | ||
return ( | ||
(e.prototype.stringify = function () { | ||
(t.prototype.stringify = function () { | ||
return JSON.stringify(this.serialize()) | ||
}), | ||
(e.prototype.serialize = function () { | ||
return b(this) | ||
(t.prototype.serialize = function () { | ||
return Wt(this) | ||
}), | ||
(e.deserialize = function (e) { | ||
for (var t = [], a = 1; a < arguments.length; a++) t[a - 1] = arguments[a] | ||
return v.apply(void 0, r([e, this], t)) | ||
(t.deserialize = function (t) { | ||
for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n] | ||
return Lt.apply(void 0, r([t, this], e, !1)) | ||
}), | ||
(e = a([h()], e)) | ||
(t = n([v()], t)) | ||
) | ||
})() | ||
export { | ||
g as JsonProperty, | ||
h as Serializable, | ||
N as SerializableEntity, | ||
v as deserialize, | ||
b as serialize, | ||
Yt as JsonProperty, | ||
v as Serializable, | ||
Zt as SerializableEntity, | ||
Lt as deserialize, | ||
Wt as serialize, | ||
} | ||
//# sourceMappingURL=index.esm.js.map |
@@ -1,2 +0,2 @@ | ||
declare type Params = { | ||
type Params = { | ||
propName: string | ||
@@ -3,0 +3,0 @@ propPath: string |
@@ -1,2 +0,2 @@ | ||
declare type Params = { | ||
type Params = { | ||
propName: string | ||
@@ -3,0 +3,0 @@ propValue: unknown |
@@ -1,2 +0,2 @@ | ||
declare type Params = { | ||
type Params = { | ||
propName: string | ||
@@ -3,0 +3,0 @@ propPath: string |
@@ -1,2 +0,2 @@ | ||
declare type Params = { | ||
type Params = { | ||
propName: string | ||
@@ -3,0 +3,0 @@ propValue: unknown |
@@ -5,3 +5,3 @@ import 'reflect-metadata' | ||
*/ | ||
declare type Params<P> = { | ||
type Params<P> = { | ||
path?: string | ||
@@ -26,3 +26,3 @@ paths?: string[] | ||
} | ||
export declare type JsonPropertyMetadata<P = any> = { | ||
export type JsonPropertyMetadata<P = any> = { | ||
name: string | ||
@@ -29,0 +29,0 @@ path: string |
import 'reflect-metadata' | ||
export declare type SerializableMetadata = { | ||
export type SerializableMetadata = { | ||
className: string | ||
@@ -4,0 +4,0 @@ } |
{ | ||
"name": "ts-jackson", | ||
"version": "1.6.0", | ||
"version": "1.7.0", | ||
"author": "Ilias Gazdaliev", | ||
@@ -50,5 +50,5 @@ "description": "", | ||
"dependencies": { | ||
"lodash.get": "^4.4.2", | ||
"lodash.set": "^4.3.2", | ||
"reflect-metadata": "^0.1.13" | ||
"@types/lodash": "^4.17.5", | ||
"lodash": "^4.17.21", | ||
"reflect-metadata": "^0.2.2" | ||
}, | ||
@@ -67,3 +67,3 @@ "devDependencies": { | ||
"prettier": "^2.2.1", | ||
"prettier-plugin-organize-imports": "^1.1.1", | ||
"prettier-plugin-organize-imports": "^3.2.4", | ||
"rimraf": "^3.0.2", | ||
@@ -70,0 +70,0 @@ "rollup": "^2.41.5", |
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
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
164734
50
1549
1
3
+ Added@types/lodash@^4.17.5
+ Addedlodash@^4.17.21
+ Added@types/lodash@4.17.14(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedreflect-metadata@0.2.2(transitive)
- Removedlodash.get@^4.4.2
- Removedlodash.set@^4.3.2
- Removedlodash.get@4.4.2(transitive)
- Removedlodash.set@4.3.2(transitive)
- Removedreflect-metadata@0.1.14(transitive)
Updatedreflect-metadata@^0.2.2