xml-model 0.2.7 → 0.2.9

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.
@@ -19,7 +19,7 @@ const __RΦ = { m: (k, v) => (t, ...a) => t && Reflect.metadata ? Reflect.metada
19
19
  __RΦ.t[id] = t = l;
20
20
  }
21
21
  return t;
22
- }, t: { [532]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(202), p: [__RΦ.a(503)] }) }, [202]: { LΦ: t => require("typescript-rtti/dist").IΦConstructor }, [503]: { LΦ: t => Object }, [1814]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(202), p: [__RΦ.a(8)] }) }, [8]: { RΦ: t => ({ TΦ: "U" }) }, [1817]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(140), p: [__RΦ.a(1814), __RΦ.a(22), __RΦ.a(8)] }) }, [140]: { LΦ: t => Object }, [22]: { RΦ: t => ({ TΦ: "V" }) }, [505]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(502), p: [__RΦ.a(1)] }) }, [502]: { TΦ: "5", name: "XMLModel" }, [1]: { RΦ: t => ({ TΦ: "~" }) }, [1837]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(505)] }) }, [12]: { RΦ: t => ({ TΦ: "n" }) }, [1846]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1622), p: [__RΦ.a(503)] }) }, [1622]: { LΦ: t => require("./types").IΦCreateXMLModelOptions }, [525]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(522), p: [__RΦ.a(503)] }) }, [522]: { LΦ: t => require("./types").IΦXMLModelOptions }, [1870]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(1321)] }) }, [1321]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(602), p: [__RΦ.a(422), __RΦ.a(1319)] }) }, [602]: { LΦ: t => require("./types").IΦConversionOptions }, [422]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(423), p: [__RΦ.a(421), __RΦ.a(384)] }) }, [423]: { LΦ: t => Object }, [421]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(380), p: [__RΦ.a(1)] }) }, [380]: { LΦ: t => require("./types").IΦfromXMLContext }, [384]: { LΦ: t => "properties" }, [1319]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(1320), p: [__RΦ.a(1)] }) }, [1320]: { LΦ: t => Object }, [4]: { RΦ: t => ({ TΦ: "~" }) }, [658]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(659), p: [__RΦ.a(503)] }) }, [659]: { LΦ: t => Object }, [1880]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(1878)] }) }, [1878]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(602), p: [__RΦ.a(1353), __RΦ.a(1876)] }) }, [1353]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(1354), p: [__RΦ.a(1352), __RΦ.a(384)] }) }, [1354]: { LΦ: t => Object }, [1352]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(860), p: [__RΦ.a(1)] }) }, [860]: { LΦ: t => require("./types").IΦtoXMLContext }, [1876]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(1877), p: [__RΦ.a(1)] }) }, [1877]: { LΦ: t => Object }, [890]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(891), p: [__RΦ.a(503)] }) }, [891]: { LΦ: t => Object }, [20]: { LΦ: t => Boolean }, [661]: { RΦ: t => ({ TΦ: "O", m: [{ n: "fromXML", f: "", t: __RΦ.a(667) }, { n: "toXML", f: "", t: __RΦ.a(898) }, { n: "options", f: "", t: __RΦ.a(1067) }] }) }, [667]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(602), p: [__RΦ.a(663), __RΦ.a(665)] }) }, [663]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(664), p: [__RΦ.a(606), __RΦ.a(384)] }) }, [664]: { LΦ: t => Object }, [606]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(380), p: [__RΦ.a(523)] }) }, [523]: { LΦ: t => Object }, [665]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(666), p: [__RΦ.a(523)] }) }, [666]: { LΦ: t => Object }, [898]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(602), p: [__RΦ.a(894), __RΦ.a(896)] }) }, [894]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(895), p: [__RΦ.a(863), __RΦ.a(384)] }) }, [895]: { LΦ: t => Object }, [863]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(860), p: [__RΦ.a(523)] }) }, [896]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(897), p: [__RΦ.a(523)] }) }, [897]: { LΦ: t => Object }, [1067]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1055), p: [__RΦ.a(1065), __RΦ.a(1066)] }) }, [1055]: { LΦ: t => Map }, [1065]: { LΦ: t => Object }, [1066]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(214), p: [__RΦ.a(523)] }) }, [214]: { LΦ: t => require("./types").IΦXMLModelPropertyOptions }, [1896]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(1894)] }) }, [1894]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(602), p: [__RΦ.a(421), __RΦ.a(1)] }) }, [1901]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(1899)] }) }, [1899]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(602), p: [__RΦ.a(1352), __RΦ.a(111)] }) }, [111]: { RΦ: t => ({ TΦ: "O", m: [{ n: "elements", f: "", t: __RΦ.a(107) }] }) }, [107]: { RΦ: t => ({ TΦ: "[", e: __RΦ.a(105) }) }, [105]: { LΦ: t => require("../types").IΦXMLElement }, [13]: { LΦ: t => String }, [541]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(13), __RΦ.a(111)] }) }, [28]: { LΦ: t => Object }, [948]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(944), p: [__RΦ.a(532)] }) }, [944]: { LΦ: t => require("typescript-rtti/dist").ReflectedClass }, [1062]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1055), p: [__RΦ.a(13), __RΦ.a(1061)] }) }, [1061]: { RΦ: t => ({ TΦ: "&", t: [__RΦ.a(1059), __RΦ.a(1060)] }) }, [1059]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(214), p: [__RΦ.a(1)] }) }, [1060]: { RΦ: t => ({ TΦ: "O", m: [{ n: "model", f: "", t: __RΦ.a(1) }] }) }, [1626]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(202), p: [__RΦ.a(1621)] }) }, [1621]: { LΦ: t => Object }, [1625]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1622), p: [__RΦ.a(1621)] }) }, [1659]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(502), p: [__RΦ.a(1621)] }) }, [1822]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(202), p: [__RΦ.a(1819)] }) }, [1819]: { LΦ: t => Object }, [1832]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(10), __RΦ.a(1831)] }) }, [10]: { RΦ: t => ({ TΦ: "u" }) }, [1831]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(502), p: [__RΦ.a(1819)] }) }, [1978]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(202), p: [__RΦ.a(1977)] }) }, [1977]: { LΦ: t => Object }, [1981]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(502), p: [__RΦ.a(1977)] }) }, [1984]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1622), p: [__RΦ.a(1983)] }) }, [1983]: { LΦ: t => Object }, [1986]: { RΦ: t => ({ TΦ: "F", r: __RΦ.a(22), p: [{ n: "constructor", t: () => __RΦ.a(1987), v: null }], f: "" }) }, [1987]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(202), p: [__RΦ.a(1983)] }) } } };
22
+ }, t: { [1316]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(270)] }) }, [777]: { LΦ: t => require("typescript-rtti/dist").IΦConstructor }, [270]: { LΦ: t => Object }, [1076]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(8)] }) }, [8]: { RΦ: t => ({ TΦ: "U" }) }, [2449]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(129), p: [__RΦ.a(1076), __RΦ.a(22), __RΦ.a(8)] }) }, [129]: { LΦ: t => Object }, [22]: { RΦ: t => ({ TΦ: "V" }) }, [272]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(269), p: [__RΦ.a(1)] }) }, [269]: { TΦ: "5", name: "XMLModel" }, [1]: { RΦ: t => ({ TΦ: "~" }) }, [2453]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(272)] }) }, [12]: { RΦ: t => ({ TΦ: "n" }) }, [2462]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(2269), p: [__RΦ.a(270)] }) }, [2269]: { LΦ: t => require("./types").IΦCreateXMLModelOptions }, [527]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(198), p: [__RΦ.a(270)] }) }, [198]: { LΦ: t => require("./types").IΦXMLModelOptions }, [2486]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(2044)] }) }, [2044]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(216), p: [__RΦ.a(335), __RΦ.a(2042)] }) }, [216]: { LΦ: t => require("./types").IΦConversionOptions }, [335]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(336), p: [__RΦ.a(279), __RΦ.a(211)], m: [{ n: "model", f: "", t: __RΦ.a(272) }, { n: "xml", f: "", t: __RΦ.a(100) }] }) }, [336]: { LΦ: t => Object }, [279]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(220), p: [__RΦ.a(1)] }) }, [220]: { LΦ: t => require("./types").IΦfromXMLContext }, [211]: { LΦ: t => "properties" }, [100]: { RΦ: t => ({ TΦ: "O", m: [{ n: "elements", f: "", t: __RΦ.a(96) }] }) }, [96]: { RΦ: t => ({ TΦ: "[", e: __RΦ.a(93) }) }, [93]: { LΦ: t => require("../types").IΦXMLElement }, [2042]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(2043), p: [__RΦ.a(1)], m: [] }) }, [2043]: { LΦ: t => Object }, [4]: { RΦ: t => ({ TΦ: "~" }) }, [576]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(577), p: [__RΦ.a(270)], m: [] }) }, [577]: { LΦ: t => Object }, [2494]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(2492)] }) }, [2492]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(216), p: [__RΦ.a(1333), __RΦ.a(1302)] }) }, [1333]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(1334), p: [__RΦ.a(1293), __RΦ.a(211)], m: [{ n: "object", f: "", t: __RΦ.a(1) }, { n: "model", f: "", t: __RΦ.a(272) }] }) }, [1334]: { LΦ: t => Object }, [1293]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(258), p: [__RΦ.a(1)] }) }, [258]: { LΦ: t => require("./types").IΦtoXMLContext }, [1302]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(1303), p: [__RΦ.a(1)], m: [] }) }, [1303]: { LΦ: t => Object }, [1359]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(1360), p: [__RΦ.a(270)], m: [] }) }, [1360]: { LΦ: t => Object }, [20]: { LΦ: t => Boolean }, [579]: { RΦ: t => ({ TΦ: "O", m: [{ n: "fromXML", f: "", t: __RΦ.a(588) }, { n: "toXML", f: "", t: __RΦ.a(1369) }, { n: "options", f: "", t: __RΦ.a(1577) }] }) }, [588]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(216), p: [__RΦ.a(586), __RΦ.a(576)] }) }, [586]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(587), p: [__RΦ.a(528), __RΦ.a(211)], m: [{ n: "model", f: "", t: __RΦ.a(269) }, { n: "xml", f: "", t: __RΦ.a(100) }] }) }, [587]: { LΦ: t => Object }, [528]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(220), p: [__RΦ.a(270)] }) }, [1369]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(216), p: [__RΦ.a(1367), __RΦ.a(1359)] }) }, [1367]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(1368), p: [__RΦ.a(1340), __RΦ.a(211)], m: [{ n: "object", f: "", t: __RΦ.a(270) }, { n: "model", f: "", t: __RΦ.a(269) }] }) }, [1368]: { LΦ: t => Object }, [1340]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(258), p: [__RΦ.a(270)] }) }, [1577]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1066), p: [__RΦ.a(1575), __RΦ.a(1576)] }) }, [1066]: { LΦ: t => Map }, [1575]: { LΦ: t => Object }, [1576]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(235), p: [__RΦ.a(270)] }) }, [235]: { LΦ: t => require("./types").IΦXMLModelPropertyOptions }, [2510]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(2508)] }) }, [2508]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(216), p: [__RΦ.a(279), __RΦ.a(1)] }) }, [2514]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(2512)] }) }, [2512]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(216), p: [__RΦ.a(1293), __RΦ.a(100)] }) }, [13]: { LΦ: t => String }, [352]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(13), __RΦ.a(100)] }) }, [28]: { LΦ: t => Object }, [1769]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1765), p: [__RΦ.a(1316)] }) }, [1765]: { LΦ: t => require("typescript-rtti/dist").ReflectedClass }, [1562]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1066), p: [__RΦ.a(13), __RΦ.a(1561)] }) }, [1561]: { RΦ: t => ({ TΦ: "&", t: [__RΦ.a(338), __RΦ.a(1560)] }) }, [338]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(235), p: [__RΦ.a(1)] }) }, [1560]: { RΦ: t => ({ TΦ: "O", m: [{ n: "model", f: "", t: __RΦ.a(1) }] }) }, [2273]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(2268)] }) }, [2268]: { LΦ: t => Object }, [2272]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(2269), p: [__RΦ.a(2268)] }) }, [2303]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(269), p: [__RΦ.a(2268)] }) }, [1055]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(1054)] }) }, [1054]: { LΦ: t => Object }, [1080]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(10), __RΦ.a(1079)] }) }, [10]: { RΦ: t => ({ TΦ: "u" }) }, [1079]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(269), p: [__RΦ.a(1054)] }) }, [782]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(776)] }) }, [776]: { LΦ: t => Object }, [1081]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(269), p: [__RΦ.a(776)] }) }, [2565]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(2269), p: [__RΦ.a(2564)] }) }, [2564]: { LΦ: t => Object }, [2567]: { RΦ: t => ({ TΦ: "F", r: __RΦ.a(22), p: [{ n: "constructor", t: () => __RΦ.a(2568), b: void 0, v: null }], f: "" }) }, [2568]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(2564)] }) } } };
23
23
  const typescript_rtti_1 = require("typescript-rtti");
24
24
  const middleware_1 = require("../middleware");
25
25
  const property_1 = require("./property");
@@ -40,9 +40,9 @@ function* ParentChain(constructor) {
40
40
  }
41
41
  return;
42
42
  }
43
- __RΦ.m("rt:p", [{ n: "constructor", t: () => __RΦ.a(1814), v: null }])(ParentChain);
43
+ __RΦ.m("rt:p", [{ n: "constructor", t: () => __RΦ.a(1076), b: void 0, v: null }])(ParentChain);
44
44
  __RΦ.m("rt:f", "F")(ParentChain);
45
- __RΦ.m("rt:t", () => __RΦ.a(1817))(ParentChain);
45
+ __RΦ.m("rt:t", () => __RΦ.a(2449))(ParentChain);
46
46
  function getParentModel(model) {
47
47
  if (model.options.parent)
48
48
  return model.options.parent;
@@ -54,9 +54,9 @@ function getParentModel(model) {
54
54
  }
55
55
  return null;
56
56
  }
57
- __RΦ.m("rt:p", [{ n: "model", t: () => __RΦ.a(505), v: null }])(getParentModel);
57
+ __RΦ.m("rt:p", [{ n: "model", t: () => __RΦ.a(272), b: void 0, v: null }])(getParentModel);
58
58
  __RΦ.m("rt:f", "F")(getParentModel);
59
- __RΦ.m("rt:t", () => __RΦ.a(1837))(getParentModel);
59
+ __RΦ.m("rt:t", () => __RΦ.a(2453))(getParentModel);
60
60
  class XMLModel {
61
61
  constructor(type, options) {
62
62
  this.type = type;
@@ -67,7 +67,7 @@ class XMLModel {
67
67
  if (typeof parent === "undefined")
68
68
  parent = getParentModel(this);
69
69
  return parent;
70
- }, [__RΦ.m("rt:p", []), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(1837))], "getParent");
70
+ }, [__RΦ.m("rt:p", []), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(2453))], "getParent");
71
71
  let propertiesLoaded = false;
72
72
  const properties = {
73
73
  options: new Map(),
@@ -86,20 +86,27 @@ class XMLModel {
86
86
  xml,
87
87
  property,
88
88
  });
89
+ const propertyFromXMLContext = {
90
+ model,
91
+ xml: context.xml,
92
+ property,
93
+ elements,
94
+ };
89
95
  try {
90
- record[property.name] = property.fromXML({
91
- model,
92
- xml: context.xml,
93
- property,
94
- elements,
95
- });
96
+ record[property.name] = property.fromXML(propertyFromXMLContext);
96
97
  }
97
98
  catch (error) {
98
- throw new errors_1.XMLConversionError(`[Model: ${context.model.type.name}] failed to convert prop <${String(property.name)}> from XML`, error);
99
+ if (error instanceof errors_1.FromXMLConversionError) {
100
+ // TODO: might add some more context
101
+ throw error;
102
+ }
103
+ else {
104
+ throw new errors_1.PropertyFromXMLConversionError(context, propertyFromXMLContext, error);
105
+ }
99
106
  }
100
- }, [__RΦ.m("rt:p", [{ n: "property", t: () => __RΦ.a(4), v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(22))], ""));
107
+ }, [__RΦ.m("rt:p", [{ n: "property", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(22))], ""));
101
108
  return record;
102
- }, [__RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(4), v: null }, { n: "next", t: () => __RΦ.a(4), v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(658))], ""),
109
+ }, [__RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(4), b: void 0, v: null }, { n: "next", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(576))], ""),
103
110
  ],
104
111
  },
105
112
  toXML: {
@@ -111,31 +118,38 @@ class XMLModel {
111
118
  __RΦ.f((context, next) => {
112
119
  const record = getParent() ? next() : {};
113
120
  properties.options.forEach(__RΦ.f((options) => {
121
+ const propertyToXMLContext = {
122
+ model,
123
+ object: context.object,
124
+ property: options,
125
+ value: context.object[options.name],
126
+ };
114
127
  try {
115
- record[options.name] = options.toXML({
116
- model,
117
- object: context.object,
118
- property: options,
119
- value: context.object[options.name],
120
- });
128
+ record[options.name] = options.toXML(propertyToXMLContext);
121
129
  }
122
130
  catch (error) {
123
- throw new errors_1.XMLConversionError(`[Model: ${context.model.type.name}] failed to convert prop <${String(options.name)}> to XML`, error);
131
+ if (error instanceof errors_1.ToXMLConversionError) {
132
+ // TODO: might add some more context
133
+ throw error;
134
+ }
135
+ else {
136
+ throw new errors_1.PropertyToXMLConversionError(context, propertyToXMLContext, error);
137
+ }
124
138
  }
125
- }, [__RΦ.m("rt:p", [{ n: "options", t: () => __RΦ.a(4), v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(22))], ""));
139
+ }, [__RΦ.m("rt:p", [{ n: "options", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(22))], ""));
126
140
  return record;
127
- }, [__RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(4), v: null }, { n: "next", t: () => __RΦ.a(4), v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(890))], ""),
141
+ }, [__RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(4), b: void 0, v: null }, { n: "next", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(1359))], ""),
128
142
  ],
129
143
  },
130
144
  };
131
145
  const loadProperties = __RΦ.f(() => {
132
- const props = this.reflectedClass.ownProperties.filter(__RΦ.f((prop) => typeof prop.host.constructor.prototype[prop.name] !== "function", [__RΦ.m("rt:p", [{ n: "prop", t: () => __RΦ.a(4), v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(20))], "")); // filter out methods like String.prototype.concat etc... that are seen as properties
146
+ const props = this.reflectedClass.ownProperties.filter(__RΦ.f((prop) => typeof prop.host.constructor.prototype[prop.name] !== "function", [__RΦ.m("rt:p", [{ n: "prop", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(20))], "")); // filter out methods like String.prototype.concat etc... that are seen as properties
133
147
  props.forEach(__RΦ.f((property) => {
134
148
  const options = (0, property_1.getPropertyConversionOptions)(this.type, property.name);
135
149
  if (!options.ignored) {
136
150
  properties.options.set(property.name, options);
137
151
  }
138
- }, [__RΦ.m("rt:p", [{ n: "property", t: () => __RΦ.a(4), v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(22))], ""));
152
+ }, [__RΦ.m("rt:p", [{ n: "property", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(22))], ""));
139
153
  propertiesLoaded = true;
140
154
  }, [__RΦ.m("rt:p", []), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(22))], "");
141
155
  this.options = {
@@ -165,8 +179,8 @@ class XMLModel {
165
179
  if (options.parent)
166
180
  this.options.parent = options.parent;
167
181
  if (!getParent()) {
168
- this.options.fromXML.middlewares.push(__RΦ.f((...args) => defaults_1.defaults.fromXML(...args), [__RΦ.m("rt:p", [{ n: "args", t: () => __RΦ.a(4), v: null, f: "3" }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(1))], ""));
169
- this.options.toXML.middlewares.push(__RΦ.f((...args) => defaults_1.defaults.toXML(...args), [__RΦ.m("rt:p", [{ n: "args", t: () => __RΦ.a(4), v: null, f: "3" }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(111))], ""));
182
+ this.options.fromXML.middlewares.push(__RΦ.f((...args) => defaults_1.defaults.fromXML(...args), [__RΦ.m("rt:p", [{ n: "args", t: () => __RΦ.a(4), b: void 0, v: null, f: "3" }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(1))], ""));
183
+ this.options.toXML.middlewares.push(__RΦ.f((...args) => defaults_1.defaults.toXML(...args), [__RΦ.m("rt:p", [{ n: "args", t: () => __RΦ.a(4), b: void 0, v: null, f: "3" }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(100))], ""));
170
184
  }
171
185
  if (options.fromXML)
172
186
  this.options.fromXML.middlewares.push(options.fromXML);
@@ -215,7 +229,7 @@ class XMLModel {
215
229
  }
216
230
  }
217
231
  get reflectedClass() {
218
- return (0, typescript_rtti_1.reflect)(this.type, { TΦ: "c", t: void 0, p: [__RΦ.a(532)], r: void 0, tp: [] });
232
+ return (0, typescript_rtti_1.reflect)(this.type, { TΦ: "c", t: void 0, p: [__RΦ.a(1316)], r: void 0, tp: [] });
219
233
  }
220
234
  resolveAllProperties() {
221
235
  const ownProperties = new Map();
@@ -227,10 +241,10 @@ class XMLModel {
227
241
  return this;
228
242
  else
229
243
  return Reflect.get(target, p, reciever);
230
- }, [__RΦ.m("rt:p", [{ n: "target", t: () => __RΦ.a(4), v: null }, { n: "p", t: () => __RΦ.a(4), v: null }, { n: "reciever", t: () => __RΦ.a(4), v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(1))], "get"),
244
+ }, [__RΦ.m("rt:p", [{ n: "target", t: () => __RΦ.a(4), b: void 0, v: null }, { n: "p", t: () => __RΦ.a(4), b: void 0, v: null }, { n: "reciever", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(1))], "get"),
231
245
  }) // FIXME: is typing ok ?
232
246
  );
233
- }, [__RΦ.m("rt:p", [{ n: "options", t: () => __RΦ.a(4), v: null }, { n: "key", t: () => __RΦ.a(4), v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(22))], ""));
247
+ }, [__RΦ.m("rt:p", [{ n: "options", t: () => __RΦ.a(4), b: void 0, v: null }, { n: "key", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(22))], ""));
234
248
  const res = parent
235
249
  ? (0, merge_maps_1.default)(parent.resolveAllProperties(), ownProperties)
236
250
  : ownProperties;
@@ -238,48 +252,48 @@ class XMLModel {
238
252
  }
239
253
  }
240
254
  exports.XMLModel = XMLModel;
241
- (t => __RΦ.t[502] = t)(XMLModel);
255
+ (t => __RΦ.t[269] = t)(XMLModel);
242
256
  __RΦ.m("rt:SP", [])(XMLModel);
243
257
  __RΦ.m("rt:P", ["options", "type", "reflectedClass"])(XMLModel);
244
258
  __RΦ.m("rt:Sm", [])(XMLModel);
245
259
  __RΦ.m("rt:m", ["fromXML", "toXML", "resolveAllProperties"])(XMLModel);
246
- __RΦ.m("rt:p", [{ n: "type", t: () => __RΦ.a(532), v: null, f: "R" }, { n: "options", t: () => __RΦ.a(1846), v: null }])(XMLModel);
260
+ __RΦ.m("rt:p", [{ n: "type", t: () => __RΦ.a(1316), b: void 0, v: null, f: "R" }, { n: "options", t: () => __RΦ.a(2462), b: void 0, v: null }])(XMLModel);
247
261
  __RΦ.m("rt:f", "Ce")(XMLModel);
248
- __RΦ.m("rt:t", () => __RΦ.a(525))(XMLModel.prototype, "options");
262
+ __RΦ.m("rt:t", () => __RΦ.a(527))(XMLModel.prototype, "options");
249
263
  __RΦ.m("rt:f", "P")(XMLModel.prototype, "options");
250
- __RΦ.m("rt:t", () => __RΦ.a(1870))(XMLModel.prototype, "parent");
264
+ __RΦ.m("rt:t", () => __RΦ.a(2486))(XMLModel.prototype, "parent");
251
265
  __RΦ.m("rt:f", "P")(XMLModel.prototype, "parent");
252
- __RΦ.m("rt:t", () => __RΦ.a(1880))(XMLModel.prototype, "parent");
266
+ __RΦ.m("rt:t", () => __RΦ.a(2494))(XMLModel.prototype, "parent");
253
267
  __RΦ.m("rt:f", "P")(XMLModel.prototype, "parent");
254
- __RΦ.m("rt:t", () => __RΦ.a(661))(XMLModel.prototype, "properties");
268
+ __RΦ.m("rt:t", () => __RΦ.a(579))(XMLModel.prototype, "properties");
255
269
  __RΦ.m("rt:f", "P")(XMLModel.prototype, "properties");
256
- __RΦ.m("rt:t", () => __RΦ.a(1896))(XMLModel.prototype, "parent");
270
+ __RΦ.m("rt:t", () => __RΦ.a(2510))(XMLModel.prototype, "parent");
257
271
  __RΦ.m("rt:f", "P")(XMLModel.prototype, "parent");
258
- __RΦ.m("rt:t", () => __RΦ.a(1901))(XMLModel.prototype, "parent");
272
+ __RΦ.m("rt:t", () => __RΦ.a(2514))(XMLModel.prototype, "parent");
259
273
  __RΦ.m("rt:f", "P")(XMLModel.prototype, "parent");
260
274
  __RΦ.m("rt:t", () => __RΦ.a(13))(XMLModel.prototype, "tagname");
261
275
  __RΦ.m("rt:f", "P")(XMLModel.prototype, "tagname");
262
276
  __RΦ.m("rt:f", "M.")(XMLModel.prototype["fromXML"]);
263
277
  ((t, p) => __RΦ.m("rt:h", () => typeof t === "object" ? t.constructor : t)(t[p]))(XMLModel.prototype, "fromXML");
264
- __RΦ.m("rt:p", [{ n: "xml", t: () => __RΦ.a(541), v: null }])(XMLModel.prototype, "fromXML");
278
+ __RΦ.m("rt:p", [{ n: "xml", t: () => __RΦ.a(352), b: void 0, v: null }])(XMLModel.prototype, "fromXML");
265
279
  __RΦ.m("rt:f", "M.")(XMLModel.prototype, "fromXML");
266
- __RΦ.m("rt:t", () => __RΦ.a(503))(XMLModel.prototype, "fromXML");
267
- __RΦ.m("rt:t", () => __RΦ.a(658))(XMLModel.prototype, "properties");
280
+ __RΦ.m("rt:t", () => __RΦ.a(270))(XMLModel.prototype, "fromXML");
281
+ __RΦ.m("rt:t", () => __RΦ.a(576))(XMLModel.prototype, "properties");
268
282
  __RΦ.m("rt:f", "P")(XMLModel.prototype, "properties");
269
283
  __RΦ.m("rt:f", "M.")(XMLModel.prototype["toXML"]);
270
284
  ((t, p) => __RΦ.m("rt:h", () => typeof t === "object" ? t.constructor : t)(t[p]))(XMLModel.prototype, "toXML");
271
- __RΦ.m("rt:p", [{ n: "instance", t: () => __RΦ.a(28), v: null }])(XMLModel.prototype, "toXML");
285
+ __RΦ.m("rt:p", [{ n: "instance", t: () => __RΦ.a(28), b: void 0, v: null }])(XMLModel.prototype, "toXML");
272
286
  __RΦ.m("rt:f", "M.")(XMLModel.prototype, "toXML");
273
- __RΦ.m("rt:t", () => __RΦ.a(111))(XMLModel.prototype, "toXML");
274
- __RΦ.m("rt:t", () => __RΦ.a(890))(XMLModel.prototype, "properties");
287
+ __RΦ.m("rt:t", () => __RΦ.a(100))(XMLModel.prototype, "toXML");
288
+ __RΦ.m("rt:t", () => __RΦ.a(1359))(XMLModel.prototype, "properties");
275
289
  __RΦ.m("rt:f", "P")(XMLModel.prototype, "properties");
276
- __RΦ.m("rt:t", () => __RΦ.a(948))(XMLModel.prototype, "reflectedClass");
290
+ __RΦ.m("rt:t", () => __RΦ.a(1769))(XMLModel.prototype, "reflectedClass");
277
291
  __RΦ.m("rt:f", "P")(XMLModel.prototype, "reflectedClass");
278
292
  __RΦ.m("rt:f", "M.")(XMLModel.prototype["resolveAllProperties"]);
279
293
  ((t, p) => __RΦ.m("rt:h", () => typeof t === "object" ? t.constructor : t)(t[p]))(XMLModel.prototype, "resolveAllProperties");
280
294
  __RΦ.m("rt:p", [])(XMLModel.prototype, "resolveAllProperties");
281
295
  __RΦ.m("rt:f", "M.")(XMLModel.prototype, "resolveAllProperties");
282
- __RΦ.m("rt:t", () => __RΦ.a(1062))(XMLModel.prototype, "resolveAllProperties");
296
+ __RΦ.m("rt:t", () => __RΦ.a(1562))(XMLModel.prototype, "resolveAllProperties");
283
297
  function createModel(type, options) {
284
298
  if (findModel(type)) {
285
299
  throw new TypeError(`a model for type ${type.name} already exists`);
@@ -289,17 +303,17 @@ function createModel(type, options) {
289
303
  return model;
290
304
  }
291
305
  exports.createModel = createModel;
292
- __RΦ.m("rt:p", [{ n: "type", t: () => __RΦ.a(1626), v: null }, { n: "options", t: () => __RΦ.a(1625), v: null }])(createModel);
306
+ __RΦ.m("rt:p", [{ n: "type", t: () => __RΦ.a(2273), b: void 0, v: null }, { n: "options", t: () => __RΦ.a(2272), b: void 0, v: null }])(createModel);
293
307
  __RΦ.m("rt:f", "F")(createModel);
294
- __RΦ.m("rt:t", () => __RΦ.a(1659))(createModel);
308
+ __RΦ.m("rt:t", () => __RΦ.a(2303))(createModel);
295
309
  exports.Models = new Map();
296
310
  function findModel(id) {
297
311
  return exports.Models.get(id);
298
312
  }
299
313
  exports.findModel = findModel;
300
- __RΦ.m("rt:p", [{ n: "id", t: () => __RΦ.a(1822), v: null }])(findModel);
314
+ __RΦ.m("rt:p", [{ n: "id", t: () => __RΦ.a(1055), b: void 0, v: null }])(findModel);
301
315
  __RΦ.m("rt:f", "F")(findModel);
302
- __RΦ.m("rt:t", () => __RΦ.a(1832))(findModel);
316
+ __RΦ.m("rt:t", () => __RΦ.a(1080))(findModel);
303
317
  function getModel(id) {
304
318
  const model = findModel(id);
305
319
  if (model)
@@ -308,19 +322,19 @@ function getModel(id) {
308
322
  throw new TypeError(`couln't find model for type ${id.name}`);
309
323
  }
310
324
  exports.getModel = getModel;
311
- __RΦ.m("rt:p", [{ n: "id", t: () => __RΦ.a(1978), v: null }])(getModel);
325
+ __RΦ.m("rt:p", [{ n: "id", t: () => __RΦ.a(782), b: void 0, v: null }])(getModel);
312
326
  __RΦ.m("rt:f", "F")(getModel);
313
- __RΦ.m("rt:t", () => __RΦ.a(1981))(getModel);
327
+ __RΦ.m("rt:t", () => __RΦ.a(1081))(getModel);
314
328
  // Model decorator
315
329
  function ModelDecoratorFactory(options) {
316
330
  return __RΦ.f(function (constructor) {
317
331
  findModel(constructor) || createModel(constructor, options || {});
318
- }, [__RΦ.m("rt:p", [{ n: "constructor", t: () => __RΦ.a(1987), v: null }]), __RΦ.m("rt:f", "M"), __RΦ.m("rt:t", () => __RΦ.a(22))], "");
332
+ }, [__RΦ.m("rt:p", [{ n: "constructor", t: () => __RΦ.a(2568), b: void 0, v: null }]), __RΦ.m("rt:f", "M"), __RΦ.m("rt:t", () => __RΦ.a(22))], "");
319
333
  }
320
334
  exports.Model = ModelDecoratorFactory;
321
- __RΦ.m("rt:p", [{ n: "options", t: () => __RΦ.a(1984), v: null, f: "?" }])(ModelDecoratorFactory);
335
+ __RΦ.m("rt:p", [{ n: "options", t: () => __RΦ.a(2565), b: void 0, v: null, f: "?" }])(ModelDecoratorFactory);
322
336
  __RΦ.m("rt:f", "F")(ModelDecoratorFactory);
323
- __RΦ.m("rt:t", () => __RΦ.a(1986))(ModelDecoratorFactory);
337
+ __RΦ.m("rt:t", () => __RΦ.a(2567))(ModelDecoratorFactory);
324
338
  var property_2 = require("./property");
325
339
  Object.defineProperty(exports, "Prop", { enumerable: true, get: function () { return property_2.Prop; } });
326
340
  require("../defaults/models");
@@ -16,14 +16,14 @@ const __RΦ = { m: (k, v) => (t, ...a) => t && Reflect.metadata ? Reflect.metada
16
16
  __RΦ.t[id] = t = l;
17
17
  }
18
18
  return t;
19
- }, t: { [205]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(202), p: [__RΦ.a(197)] }) }, [202]: { LΦ: t => require("typescript-rtti/dist").IΦConstructor }, [197]: { LΦ: t => Object }, [201]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(198), p: [__RΦ.a(197)] }) }, [198]: { LΦ: t => require("./types").IΦCreateXMLModelPropertyOptions }, [213]: { LΦ: t => Object }, [217]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(214), p: [__RΦ.a(197)] }) }, [214]: { LΦ: t => require("./types").IΦXMLModelPropertyOptions }, [497]: { LΦ: t => require("typescript-rtti/dist").ReflectedProperty }, [13]: { LΦ: t => String }, [4]: { RΦ: t => ({ TΦ: "~" }) }, [20]: { LΦ: t => Boolean }, [107]: { RΦ: t => ({ TΦ: "[", e: __RΦ.a(105) }) }, [105]: { LΦ: t => require("../types").IΦXMLElement }, [1]: { RΦ: t => ({ TΦ: "~" }) }, [111]: { RΦ: t => ({ TΦ: "O", m: [{ n: "elements", f: "", t: __RΦ.a(107) }] }) }, [1409]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(202), p: [__RΦ.a(1408)] }) }, [1408]: { LΦ: t => Object }, [1411]: { LΦ: t => Object }, [1412]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(214), p: [__RΦ.a(1408)] }) }, [22]: { RΦ: t => ({ TΦ: "V" }) }, [1424]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(202), p: [__RΦ.a(1423)] }) }, [1423]: { LΦ: t => Object }, [1426]: { LΦ: t => Object }, [1435]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(10), __RΦ.a(1427)] }) }, [10]: { RΦ: t => ({ TΦ: "u" }) }, [1427]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(214), p: [__RΦ.a(1423)] }) }, [1441]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(202), p: [__RΦ.a(1440)] }) }, [1440]: { LΦ: t => Object }, [1443]: { LΦ: t => Object }, [1467]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(214), p: [__RΦ.a(1440)] }) }, [1474]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(198), p: [__RΦ.a(1473)] }) }, [1473]: { LΦ: t => Object }, [1476]: { RΦ: t => ({ TΦ: "F", r: __RΦ.a(22), p: [{ n: "prototype", t: () => __RΦ.a(1), v: null }, { n: "property", t: () => __RΦ.a(1478), v: null }], f: "" }) }, [1478]: { LΦ: t => Object } } };
19
+ }, t: { [1621]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(1616)] }) }, [777]: { LΦ: t => require("typescript-rtti/dist").IΦConstructor }, [1616]: { LΦ: t => Object }, [1620]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1617), p: [__RΦ.a(1616)] }) }, [1617]: { LΦ: t => require("./types").IΦCreateXMLModelPropertyOptions }, [1623]: { LΦ: t => Object }, [1624]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(235), p: [__RΦ.a(1616)] }) }, [235]: { LΦ: t => require("./types").IΦXMLModelPropertyOptions }, [783]: { LΦ: t => require("typescript-rtti/dist").ReflectedProperty }, [13]: { LΦ: t => String }, [4]: { RΦ: t => ({ TΦ: "~" }) }, [20]: { LΦ: t => Boolean }, [96]: { RΦ: t => ({ TΦ: "[", e: __RΦ.a(93) }) }, [93]: { LΦ: t => require("../types").IΦXMLElement }, [1]: { RΦ: t => ({ TΦ: "~" }) }, [100]: { RΦ: t => ({ TΦ: "O", m: [{ n: "elements", f: "", t: __RΦ.a(96) }] }) }, [2103]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(2102)] }) }, [2102]: { LΦ: t => Object }, [2105]: { LΦ: t => Object }, [2106]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(235), p: [__RΦ.a(2102)] }) }, [22]: { RΦ: t => ({ TΦ: "V" }) }, [2118]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(2117)] }) }, [2117]: { LΦ: t => Object }, [2120]: { LΦ: t => Object }, [2129]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(10), __RΦ.a(2121)] }) }, [10]: { RΦ: t => ({ TΦ: "u" }) }, [2121]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(235), p: [__RΦ.a(2117)] }) }, [2135]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(2134)] }) }, [2134]: { LΦ: t => Object }, [2137]: { LΦ: t => Object }, [2161]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(235), p: [__RΦ.a(2134)] }) }, [2168]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1617), p: [__RΦ.a(2167)] }) }, [2167]: { LΦ: t => Object }, [2170]: { RΦ: t => ({ TΦ: "F", r: __RΦ.a(22), p: [{ n: "prototype", t: () => __RΦ.a(1), b: void 0, v: null }, { n: "property", t: () => __RΦ.a(2172), b: void 0, v: null }], f: "" }) }, [2172]: { LΦ: t => Object } } };
20
20
  const typescript_rtti_1 = require("typescript-rtti");
21
21
  const defaults_1 = require("../defaults");
22
22
  function resolvePropertyConversionOptions(options, constructor, property) {
23
23
  const _options = {
24
24
  name: property,
25
25
  get reflected() {
26
- const reflectedClass = (0, typescript_rtti_1.reflect)(constructor, { TΦ: "c", t: void 0, p: [__RΦ.a(205)], r: void 0, tp: [] });
26
+ const reflectedClass = (0, typescript_rtti_1.reflect)(constructor, { TΦ: "c", t: void 0, p: [__RΦ.a(1621)], r: void 0, tp: [] });
27
27
  return (reflectedClass.getOwnProperty(property) ||
28
28
  reflectedClass.getProperty(property)); // patch bug in typescript-rtti
29
29
  // TODO: remove when typescript-rtti is patched
@@ -33,22 +33,22 @@ function resolvePropertyConversionOptions(options, constructor, property) {
33
33
  },
34
34
  inline: !!options.inline,
35
35
  ignored: !!options.ignore,
36
- isSourceElement: __RΦ.f((...args) => defaults_1.defaults.propertySourceElementsFilter(...args), [__RΦ.m("rt:p", [{ n: "args", t: () => __RΦ.a(4), v: null, f: "3" }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(20))], "isSourceElement"),
36
+ isSourceElement: __RΦ.f((...args) => defaults_1.defaults.propertySourceElementsFilter(...args), [__RΦ.m("rt:p", [{ n: "args", t: () => __RΦ.a(4), b: void 0, v: null, f: "3" }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(20))], "isSourceElement"),
37
37
  resolveElements: options.resolveElements
38
38
  ? options.resolveElements
39
- : __RΦ.f((...args) => defaults_1.defaults.propertyResolveSourceElements(...args), [__RΦ.m("rt:p", [{ n: "args", t: () => __RΦ.a(4), v: null, f: "3" }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(107))], ""),
40
- fromXML: __RΦ.f((context) => (options.fromXML || defaults_1.defaults.propertyFromXML)(context), [__RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(4), v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(1))], "fromXML"),
41
- toXML: __RΦ.f((context) => (options.toXML || defaults_1.defaults.propertyToXML)(context), [__RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(4), v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(111))], "toXML"),
39
+ : __RΦ.f((...args) => defaults_1.defaults.propertyResolveSourceElements(...args), [__RΦ.m("rt:p", [{ n: "args", t: () => __RΦ.a(4), b: void 0, v: null, f: "3" }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(96))], ""),
40
+ fromXML: __RΦ.f((context) => (options.fromXML || defaults_1.defaults.propertyFromXML)(context), [__RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(1))], "fromXML"),
41
+ toXML: __RΦ.f((context) => (options.toXML || defaults_1.defaults.propertyToXML)(context), [__RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(100))], "toXML"),
42
42
  };
43
43
  if (options === null || options === void 0 ? void 0 : options.model)
44
44
  _options.model = options.model;
45
45
  if (options === null || options === void 0 ? void 0 : options.sourceElements) {
46
46
  const _sourceElements = options.sourceElements;
47
47
  if (typeof _sourceElements === "string") {
48
- _options.isSourceElement = __RΦ.f((element) => element.name === _sourceElements, [__RΦ.m("rt:p", [{ n: "element", t: () => __RΦ.a(4), v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(20))], "");
48
+ _options.isSourceElement = __RΦ.f((element) => element.name === _sourceElements, [__RΦ.m("rt:p", [{ n: "element", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(20))], "");
49
49
  }
50
50
  else if (_sourceElements && _sourceElements instanceof RegExp) {
51
- _options.isSourceElement = __RΦ.f((element) => _sourceElements.test(element.name || ""), [__RΦ.m("rt:p", [{ n: "element", t: () => __RΦ.a(4), v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(20))], "");
51
+ _options.isSourceElement = __RΦ.f((element) => _sourceElements.test(element.name || ""), [__RΦ.m("rt:p", [{ n: "element", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(20))], "");
52
52
  }
53
53
  else {
54
54
  _options.isSourceElement = _sourceElements;
@@ -56,9 +56,9 @@ function resolvePropertyConversionOptions(options, constructor, property) {
56
56
  }
57
57
  return _options;
58
58
  }
59
- __RΦ.m("rt:p", [{ n: "options", t: () => __RΦ.a(201), v: null }, { n: "constructor", t: () => __RΦ.a(205), v: null }, { n: "property", t: () => __RΦ.a(213), v: null }])(resolvePropertyConversionOptions);
59
+ __RΦ.m("rt:p", [{ n: "options", t: () => __RΦ.a(1620), b: void 0, v: null }, { n: "constructor", t: () => __RΦ.a(1621), b: void 0, v: null }, { n: "property", t: () => __RΦ.a(1623), b: void 0, v: null }])(resolvePropertyConversionOptions);
60
60
  __RΦ.m("rt:f", "F")(resolvePropertyConversionOptions);
61
- __RΦ.m("rt:t", () => __RΦ.a(217))(resolvePropertyConversionOptions);
61
+ __RΦ.m("rt:t", () => __RΦ.a(1624))(resolvePropertyConversionOptions);
62
62
  const PropertyOptions = new Map();
63
63
  function storePropertyConversionOptions(constructor, property, options) {
64
64
  let map = PropertyOptions.get(constructor);
@@ -68,7 +68,7 @@ function storePropertyConversionOptions(constructor, property, options) {
68
68
  }
69
69
  map.set(property, options);
70
70
  }
71
- __RΦ.m("rt:p", [{ n: "constructor", t: () => __RΦ.a(1409), v: null }, { n: "property", t: () => __RΦ.a(1411), v: null }, { n: "options", t: () => __RΦ.a(1412), v: null }])(storePropertyConversionOptions);
71
+ __RΦ.m("rt:p", [{ n: "constructor", t: () => __RΦ.a(2103), b: void 0, v: null }, { n: "property", t: () => __RΦ.a(2105), b: void 0, v: null }, { n: "options", t: () => __RΦ.a(2106), b: void 0, v: null }])(storePropertyConversionOptions);
72
72
  __RΦ.m("rt:f", "F")(storePropertyConversionOptions);
73
73
  __RΦ.m("rt:t", () => __RΦ.a(22))(storePropertyConversionOptions);
74
74
  function findPropertyConversionOptions(constructor, property) {
@@ -77,24 +77,24 @@ function findPropertyConversionOptions(constructor, property) {
77
77
  return options.get(property);
78
78
  }
79
79
  }
80
- __RΦ.m("rt:p", [{ n: "constructor", t: () => __RΦ.a(1424), v: null }, { n: "property", t: () => __RΦ.a(1426), v: null }])(findPropertyConversionOptions);
80
+ __RΦ.m("rt:p", [{ n: "constructor", t: () => __RΦ.a(2118), b: void 0, v: null }, { n: "property", t: () => __RΦ.a(2120), b: void 0, v: null }])(findPropertyConversionOptions);
81
81
  __RΦ.m("rt:f", "F")(findPropertyConversionOptions);
82
- __RΦ.m("rt:t", () => __RΦ.a(1435))(findPropertyConversionOptions);
82
+ __RΦ.m("rt:t", () => __RΦ.a(2129))(findPropertyConversionOptions);
83
83
  function getPropertyConversionOptions(constructor, property) {
84
84
  const options = findPropertyConversionOptions(constructor, property);
85
85
  return options || resolvePropertyConversionOptions({}, constructor, property);
86
86
  }
87
87
  exports.getPropertyConversionOptions = getPropertyConversionOptions;
88
- __RΦ.m("rt:p", [{ n: "constructor", t: () => __RΦ.a(1441), v: null }, { n: "property", t: () => __RΦ.a(1443), v: null }])(getPropertyConversionOptions);
88
+ __RΦ.m("rt:p", [{ n: "constructor", t: () => __RΦ.a(2135), b: void 0, v: null }, { n: "property", t: () => __RΦ.a(2137), b: void 0, v: null }])(getPropertyConversionOptions);
89
89
  __RΦ.m("rt:f", "F")(getPropertyConversionOptions);
90
- __RΦ.m("rt:t", () => __RΦ.a(1467))(getPropertyConversionOptions);
90
+ __RΦ.m("rt:t", () => __RΦ.a(2161))(getPropertyConversionOptions);
91
91
  function PropDecoratorFactory(options) {
92
92
  return __RΦ.f(function (prototype, property) {
93
93
  const _options = resolvePropertyConversionOptions(options || {}, prototype.constructor, property);
94
94
  storePropertyConversionOptions(prototype.constructor, property, _options);
95
- }, [__RΦ.m("rt:p", [{ n: "prototype", t: () => __RΦ.a(1), v: null }, { n: "property", t: () => __RΦ.a(1478), v: null }]), __RΦ.m("rt:f", "M."), __RΦ.m("rt:t", () => __RΦ.a(22))], "");
95
+ }, [__RΦ.m("rt:p", [{ n: "prototype", t: () => __RΦ.a(1), b: void 0, v: null }, { n: "property", t: () => __RΦ.a(2172), b: void 0, v: null }]), __RΦ.m("rt:f", "M."), __RΦ.m("rt:t", () => __RΦ.a(22))], "");
96
96
  }
97
97
  exports.Prop = PropDecoratorFactory;
98
- __RΦ.m("rt:p", [{ n: "options", t: () => __RΦ.a(1474), v: null, f: "?" }])(PropDecoratorFactory);
98
+ __RΦ.m("rt:p", [{ n: "options", t: () => __RΦ.a(2168), b: void 0, v: null, f: "?" }])(PropDecoratorFactory);
99
99
  __RΦ.m("rt:f", "F")(PropDecoratorFactory);
100
- __RΦ.m("rt:t", () => __RΦ.a(1476))(PropDecoratorFactory);
100
+ __RΦ.m("rt:t", () => __RΦ.a(2170))(PropDecoratorFactory);