xml-model 0.3.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -1
- package/dist/defaults.d.ts +14 -0
- package/dist/defaults.js +129 -0
- package/{build/main → dist}/errors.d.ts +1 -1
- package/dist/errors.js +51 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +19 -0
- package/{build/main → dist}/middleware.d.ts +2 -2
- package/dist/middleware.js +31 -0
- package/dist/model/built-ins.d.ts +2 -0
- package/dist/model/built-ins.js +46 -0
- package/{build/module → dist}/model/index.d.ts +7 -11
- package/dist/model/index.js +242 -0
- package/{build/main → dist}/model/property.d.ts +2 -2
- package/dist/model/property.js +71 -0
- package/dist/model/registry.d.ts +8 -0
- package/dist/model/registry.js +26 -0
- package/{build/module → dist}/model/types.d.ts +7 -7
- package/dist/model/types.js +2 -0
- package/{build/module → dist}/types.d.ts +4 -4
- package/dist/types.js +2 -0
- package/dist/util/is-regexp.d.ts +11 -0
- package/dist/util/is-regexp.js +11 -0
- package/dist/util/kebab-case.d.ts +15 -0
- package/dist/util/kebab-case.js +18 -0
- package/dist/util/merge-maps.js +27 -0
- package/{build/main → dist}/xml/index.d.ts +4 -4
- package/dist/xml/index.js +73 -0
- package/{build/main → dist}/xml/xml-js.d.ts +1 -4
- package/dist/xml/xml-js.js +9 -0
- package/package.json +56 -39
- package/vite/dist/_virtual/_commonjs-dynamic-modules.js +7 -0
- package/vite/dist/_virtual/_commonjsHelpers.js +47 -0
- package/vite/dist/_virtual/_typescript.js +5 -0
- package/vite/dist/_virtual/api-call-transformer.js +5 -0
- package/vite/dist/_virtual/class-analyzer.js +5 -0
- package/vite/dist/_virtual/compile-error.js +5 -0
- package/vite/dist/_virtual/declarations-emitter.js +5 -0
- package/vite/dist/_virtual/encode-parameter.js +5 -0
- package/vite/dist/_virtual/find-relative-path.js +5 -0
- package/vite/dist/_virtual/flags.js +5 -0
- package/vite/dist/_virtual/format.js +5 -0
- package/vite/dist/_virtual/forward-ref.js +5 -0
- package/vite/dist/_virtual/get-exports-for-symbol.js +5 -0
- package/vite/dist/_virtual/import-analyzer.js +5 -0
- package/vite/dist/_virtual/index.js +8 -0
- package/vite/dist/_virtual/index2.js +5 -0
- package/vite/dist/_virtual/index3.js +5 -0
- package/vite/dist/_virtual/interface-analyzer.js +5 -0
- package/vite/dist/_virtual/legacy-decorator.js +5 -0
- package/vite/dist/_virtual/legacy-type-encoder.js +5 -0
- package/vite/dist/_virtual/literal-node.js +5 -0
- package/vite/dist/_virtual/metadata-collector.js +5 -0
- package/vite/dist/_virtual/metadata-decorator.js +5 -0
- package/vite/dist/_virtual/metadata-emitter.js +5 -0
- package/vite/dist/_virtual/metadata-encoder.js +5 -0
- package/vite/dist/_virtual/rt-helper.js +5 -0
- package/vite/dist/_virtual/rtti-visitor-base.js +5 -0
- package/vite/dist/_virtual/serialize.js +5 -0
- package/vite/dist/_virtual/type-encoder.js +5 -0
- package/vite/dist/_virtual/type-literal.js +5 -0
- package/vite/dist/_virtual/utils.js +5 -0
- package/vite/dist/_virtual/visitor-base.js +5 -0
- package/vite/dist/_virtual/workarounds.js +5 -0
- package/vite/dist/index.d.ts +21 -0
- package/vite/dist/index.js +62 -0
- package/vite/dist/node_modules/typescript-rtti/dist/common/format.js +69 -0
- package/vite/dist/node_modules/typescript-rtti/dist/common/index.js +34 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/api-call-transformer.js +197 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/common/class-analyzer.js +124 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/common/compile-error.js +18 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/common/import-analyzer.js +130 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/common/interface-analyzer.js +98 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/common/visitor-base.js +132 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/declarations-emitter.js +72 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/encode-parameter.js +110 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/find-relative-path.js +51 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/flags.js +59 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/forward-ref.js +35 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/get-exports-for-symbol.js +75 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/index.js +174 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/legacy-decorator.js +20 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/legacy-type-encoder.js +123 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/literal-node.js +19 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/metadata-collector.js +96 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/metadata-decorator.js +99 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/metadata-emitter.js +475 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/metadata-encoder.js +261 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/rt-helper.js +113 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/rtti-visitor-base.js +39 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/serialize.js +46 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/type-encoder.js +96 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/type-literal.js +546 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/utils.js +922 -0
- package/vite/dist/node_modules/typescript-rtti/dist/transformer/workarounds.js +16 -0
- package/build/main/defaults/index.d.ts +0 -14
- package/build/main/defaults/index.js +0 -170
- package/build/main/defaults/models.d.ts +0 -1
- package/build/main/defaults/models.js +0 -55
- package/build/main/errors.js +0 -93
- package/build/main/helper/merge-maps.js +0 -42
- package/build/main/index.d.ts +0 -6
- package/build/main/index.js +0 -46
- package/build/main/middleware.js +0 -61
- package/build/main/model/index.d.ts +0 -23
- package/build/main/model/index.js +0 -342
- package/build/main/model/property.js +0 -100
- package/build/main/model/types.d.ts +0 -73
- package/build/main/model/types.js +0 -152
- package/build/main/types.d.ts +0 -16
- package/build/main/types.js +0 -41
- package/build/main/xml/index.js +0 -105
- package/build/main/xml/xml-js.js +0 -26
- package/build/module/defaults/index.d.ts +0 -14
- package/build/module/defaults/index.js +0 -164
- package/build/module/defaults/models.d.ts +0 -1
- package/build/module/defaults/models.js +0 -54
- package/build/module/errors.d.ts +0 -23
- package/build/module/errors.js +0 -89
- package/build/module/helper/merge-maps.d.ts +0 -1
- package/build/module/helper/merge-maps.js +0 -39
- package/build/module/index.d.ts +0 -6
- package/build/module/index.js +0 -21
- package/build/module/middleware.d.ts +0 -9
- package/build/module/middleware.js +0 -56
- package/build/module/model/index.js +0 -334
- package/build/module/model/property.d.ts +0 -5
- package/build/module/model/property.js +0 -99
- package/build/module/model/types.js +0 -152
- package/build/module/types.js +0 -38
- package/build/module/xml/index.d.ts +0 -32
- package/build/module/xml/index.js +0 -94
- package/build/module/xml/xml-js.d.ts +0 -9
- package/build/module/xml/xml-js.js +0 -24
- /package/{build/main/helper → dist/util}/merge-maps.d.ts +0 -0
package/build/module/errors.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
const __RΦ = { m: (k, v) => (t, ...a) => t && Reflect.metadata ? Reflect.metadata(k, v)(t, ...a) : void 0, f: (f, d, n) => (d.forEach(d => d(f)), Object.defineProperty(f, "name", { value: n, writable: false }), f), c: (c, d, dp, dsp, n) => (d.forEach(d => d(c)), dp.forEach(([p, d]) => d(c.prototype, p)), dsp.forEach(([p, d]) => d(c, p)), n ? Object.defineProperty(c, "name", { value: n, writable: false }) : undefined, c), r: (o, a) => (Object.assign(o, a)), a: id => {
|
|
2
|
-
let t = __RΦ.t[id];
|
|
3
|
-
if (t === void 0)
|
|
4
|
-
return void 0;
|
|
5
|
-
if (t.RΦ) {
|
|
6
|
-
let r = t.RΦ;
|
|
7
|
-
delete t.RΦ;
|
|
8
|
-
__RΦ.r(t, r(t));
|
|
9
|
-
}
|
|
10
|
-
else if (t.LΦ) {
|
|
11
|
-
let l = t.LΦ();
|
|
12
|
-
delete t.LΦ;
|
|
13
|
-
__RΦ.t[id] = t = l;
|
|
14
|
-
}
|
|
15
|
-
return t;
|
|
16
|
-
}, t: { [2698]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(2699), p: [__RΦ.a(2696), __RΦ.a(211)], m: [{ n: "model", f: "", t: __RΦ.a(2700) }, { n: "xml", f: "", t: __RΦ.a(100) }] }) }, [2699]: { LΦ: t => Object }, [2696]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(220), p: [__RΦ.a(2641)] }) }, [220]: { LΦ: t => LΦ_0.IΦfromXMLContext }, [2641]: { LΦ: t => Object }, [211]: { LΦ: t => "properties" }, [2700]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(269), p: [__RΦ.a(2641)] }) }, [269]: { LΦ: t => LΦ_1.XMLModel }, [100]: { RΦ: t => ({ TΦ: "O", m: [{ n: "elements", f: "", t: __RΦ.a(96) }] }) }, [96]: { RΦ: t => ({ TΦ: "[", e: __RΦ.a(93) }) }, [93]: { LΦ: t => LΦ_2.IΦXMLElement }, [8]: { RΦ: t => ({ TΦ: "U" }) }, [13]: { LΦ: t => String }, [2650]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(2651), p: [__RΦ.a(2648), __RΦ.a(211)], m: [{ n: "model", f: "", t: __RΦ.a(2654) }, { n: "xml", f: "", t: __RΦ.a(100) }] }) }, [2651]: { LΦ: t => Object }, [2648]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(220), p: [__RΦ.a(2646)] }) }, [2646]: { LΦ: t => Object }, [2654]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(269), p: [__RΦ.a(2646)] }) }, [2652]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(298), p: [__RΦ.a(2646)] }) }, [298]: { LΦ: t => LΦ_0.IΦPropertyFromXMLContext }, [2717]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(2718), p: [__RΦ.a(2715), __RΦ.a(211)], m: [{ n: "object", f: "", t: __RΦ.a(2664) }, { n: "model", f: "", t: __RΦ.a(2719) }] }) }, [2718]: { LΦ: t => Object }, [2715]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(258), p: [__RΦ.a(2664)] }) }, [258]: { LΦ: t => LΦ_0.IΦtoXMLContext }, [2664]: { LΦ: t => Object }, [2719]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(269), p: [__RΦ.a(2664)] }) }, [2673]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(2674), p: [__RΦ.a(2671), __RΦ.a(211)], m: [{ n: "object", f: "", t: __RΦ.a(2669) }, { n: "model", f: "", t: __RΦ.a(2679) }] }) }, [2674]: { LΦ: t => Object }, [2671]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(258), p: [__RΦ.a(2669)] }) }, [2669]: { LΦ: t => Object }, [2679]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(269), p: [__RΦ.a(2669)] }) }, [2675]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1322), p: [__RΦ.a(2669)] }) }, [1322]: { LΦ: t => LΦ_0.IΦPropertyToXMLContext } } };
|
|
17
|
-
import * as LΦ_0 from "./model/types";
|
|
18
|
-
import * as LΦ_1 from "./model";
|
|
19
|
-
import * as LΦ_2 from "./types";
|
|
20
|
-
export class FromXMLConversionError extends Error {
|
|
21
|
-
constructor(context, error) {
|
|
22
|
-
const message = `[Model: ${context.model.type.name}] failed to convert from XML`;
|
|
23
|
-
super(message);
|
|
24
|
-
this.context = context;
|
|
25
|
-
this.error = error;
|
|
26
|
-
this.name = "FromXMLConversionError";
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
(t => __RΦ.t[2640] = t)(FromXMLConversionError);
|
|
30
|
-
__RΦ.m("rt:SP", [])(FromXMLConversionError);
|
|
31
|
-
__RΦ.m("rt:P", ["name", "context", "error"])(FromXMLConversionError);
|
|
32
|
-
__RΦ.m("rt:Sm", [])(FromXMLConversionError);
|
|
33
|
-
__RΦ.m("rt:m", [])(FromXMLConversionError);
|
|
34
|
-
__RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(2698), b: void 0, v: null, f: "$" }, { n: "error", t: () => __RΦ.a(8), b: void 0, v: null, f: "$" }])(FromXMLConversionError);
|
|
35
|
-
__RΦ.m("rt:f", "Ce")(FromXMLConversionError);
|
|
36
|
-
__RΦ.m("rt:t", () => __RΦ.a(13))(FromXMLConversionError.prototype, "name");
|
|
37
|
-
__RΦ.m("rt:f", "P")(FromXMLConversionError.prototype, "name");
|
|
38
|
-
export class PropertyFromXMLConversionError extends FromXMLConversionError {
|
|
39
|
-
constructor(context, propertyContext, error) {
|
|
40
|
-
super(context, error);
|
|
41
|
-
this.propertyContext = propertyContext;
|
|
42
|
-
this.name = "PropertyFromXMLConversionError";
|
|
43
|
-
this.message = `[Model: ${context.model.type.name}] failed to convert prop <${String(propertyContext.property.name)}> from XML`;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
(t => __RΦ.t[2645] = t)(PropertyFromXMLConversionError);
|
|
47
|
-
__RΦ.m("rt:SP", [])(PropertyFromXMLConversionError);
|
|
48
|
-
__RΦ.m("rt:P", ["name", "propertyContext"])(PropertyFromXMLConversionError);
|
|
49
|
-
__RΦ.m("rt:Sm", [])(PropertyFromXMLConversionError);
|
|
50
|
-
__RΦ.m("rt:m", [])(PropertyFromXMLConversionError);
|
|
51
|
-
__RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(2650), b: void 0, v: null }, { n: "propertyContext", t: () => __RΦ.a(2652), b: void 0, v: null, f: "$" }, { n: "error", t: () => __RΦ.a(8), b: void 0, v: null }])(PropertyFromXMLConversionError);
|
|
52
|
-
__RΦ.m("rt:f", "Ce")(PropertyFromXMLConversionError);
|
|
53
|
-
__RΦ.m("rt:t", () => __RΦ.a(13))(PropertyFromXMLConversionError.prototype, "name");
|
|
54
|
-
__RΦ.m("rt:f", "P")(PropertyFromXMLConversionError.prototype, "name");
|
|
55
|
-
export class ToXMLConversionError extends Error {
|
|
56
|
-
constructor(context, cause) {
|
|
57
|
-
const message = `[Model: ${context.model.type.name}] failed to convert to XML`;
|
|
58
|
-
super(message);
|
|
59
|
-
this.context = context;
|
|
60
|
-
this.cause = cause;
|
|
61
|
-
this.name = "ToXMLConversionError";
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
(t => __RΦ.t[2663] = t)(ToXMLConversionError);
|
|
65
|
-
__RΦ.m("rt:SP", [])(ToXMLConversionError);
|
|
66
|
-
__RΦ.m("rt:P", ["name", "context", "cause"])(ToXMLConversionError);
|
|
67
|
-
__RΦ.m("rt:Sm", [])(ToXMLConversionError);
|
|
68
|
-
__RΦ.m("rt:m", [])(ToXMLConversionError);
|
|
69
|
-
__RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(2717), b: void 0, v: null, f: "$" }, { n: "cause", t: () => __RΦ.a(8), b: void 0, v: null, f: "$" }])(ToXMLConversionError);
|
|
70
|
-
__RΦ.m("rt:f", "Ce")(ToXMLConversionError);
|
|
71
|
-
__RΦ.m("rt:t", () => __RΦ.a(13))(ToXMLConversionError.prototype, "name");
|
|
72
|
-
__RΦ.m("rt:f", "P")(ToXMLConversionError.prototype, "name");
|
|
73
|
-
export class PropertyToXMLConversionError extends ToXMLConversionError {
|
|
74
|
-
constructor(context, propertyContext, cause) {
|
|
75
|
-
super(context, cause);
|
|
76
|
-
this.propertyContext = propertyContext;
|
|
77
|
-
this.name = "PropertyToXMLConversionError";
|
|
78
|
-
this.message = `[Model: ${context.model.type.name}] failed to convert prop <${String(propertyContext.property.name)}> to XML`;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
(t => __RΦ.t[2668] = t)(PropertyToXMLConversionError);
|
|
82
|
-
__RΦ.m("rt:SP", [])(PropertyToXMLConversionError);
|
|
83
|
-
__RΦ.m("rt:P", ["name", "propertyContext"])(PropertyToXMLConversionError);
|
|
84
|
-
__RΦ.m("rt:Sm", [])(PropertyToXMLConversionError);
|
|
85
|
-
__RΦ.m("rt:m", [])(PropertyToXMLConversionError);
|
|
86
|
-
__RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(2673), b: void 0, v: null }, { n: "propertyContext", t: () => __RΦ.a(2675), b: void 0, v: null, f: "$" }, { n: "cause", t: () => __RΦ.a(8), b: void 0, v: null }])(PropertyToXMLConversionError);
|
|
87
|
-
__RΦ.m("rt:f", "Ce")(PropertyToXMLConversionError);
|
|
88
|
-
__RΦ.m("rt:t", () => __RΦ.a(13))(PropertyToXMLConversionError.prototype, "name");
|
|
89
|
-
__RΦ.m("rt:f", "P")(PropertyToXMLConversionError.prototype, "name");
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function mergeMaps<K, V>(...sources: Map<K, V>[]): Map<K, V>;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
const __RΦ = { m: (k, v) => (t, ...a) => t && Reflect.metadata ? Reflect.metadata(k, v)(t, ...a) : void 0, f: (f, d, n) => (d.forEach(d => d(f)), Object.defineProperty(f, "name", { value: n, writable: false }), f), c: (c, d, dp, dsp, n) => (d.forEach(d => d(c)), dp.forEach(([p, d]) => d(c.prototype, p)), dsp.forEach(([p, d]) => d(c, p)), n ? Object.defineProperty(c, "name", { value: n, writable: false }) : undefined, c), r: (o, a) => (Object.assign(o, a)), a: id => {
|
|
2
|
-
let t = __RΦ.t[id];
|
|
3
|
-
if (t === void 0)
|
|
4
|
-
return void 0;
|
|
5
|
-
if (t.RΦ) {
|
|
6
|
-
let r = t.RΦ;
|
|
7
|
-
delete t.RΦ;
|
|
8
|
-
__RΦ.r(t, r(t));
|
|
9
|
-
}
|
|
10
|
-
else if (t.LΦ) {
|
|
11
|
-
let l = t.LΦ();
|
|
12
|
-
delete t.LΦ;
|
|
13
|
-
__RΦ.t[id] = t = l;
|
|
14
|
-
}
|
|
15
|
-
return t;
|
|
16
|
-
}, t: { [2362]: { RΦ: t => ({ TΦ: "[", e: __RΦ.a(2361) }) }, [2361]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1066), p: [__RΦ.a(2359), __RΦ.a(2360)] }) }, [1066]: { LΦ: t => Map }, [2359]: { LΦ: t => Object }, [2360]: { LΦ: t => Object }, [4]: { RΦ: t => ({ TΦ: "~" }) }, [22]: { RΦ: t => ({ TΦ: "V" }) } } };
|
|
17
|
-
export default function mergeMaps(...sources) {
|
|
18
|
-
const res = new Map();
|
|
19
|
-
sources.forEach(__RΦ.f((source) => {
|
|
20
|
-
const overrides = new Map();
|
|
21
|
-
const additions = new Map();
|
|
22
|
-
source.forEach(__RΦ.f((val, key) => (res.has(key) ? overrides : additions).set(key, val), [__RΦ.m("rt:p", [{ n: "val", 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(2361))], ""));
|
|
23
|
-
if (overrides.size) {
|
|
24
|
-
const entries = Array.from(res.entries());
|
|
25
|
-
entries.forEach(__RΦ.f((entry) => {
|
|
26
|
-
const key = entry[0];
|
|
27
|
-
if (overrides.has(key))
|
|
28
|
-
entry[1] = overrides.get(key);
|
|
29
|
-
}, [__RΦ.m("rt:p", [{ n: "entry", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(22))], ""));
|
|
30
|
-
res.clear();
|
|
31
|
-
entries.forEach(__RΦ.f(([key, val]) => res.set(key, val), [__RΦ.m("rt:p", [{ n: void 0, t: () => __RΦ.a(4), b: [{ n: "key", t: () => __RΦ.a(2359), b: void 0, v: null }, { n: "val", t: () => __RΦ.a(2360), b: void 0, v: null }], v: null, f: "[" }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(2361))], ""));
|
|
32
|
-
}
|
|
33
|
-
additions.forEach(__RΦ.f((val, key) => res.set(key, val), [__RΦ.m("rt:p", [{ n: "val", 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(2361))], ""));
|
|
34
|
-
}, [__RΦ.m("rt:p", [{ n: "source", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(22))], ""));
|
|
35
|
-
return res;
|
|
36
|
-
}
|
|
37
|
-
__RΦ.m("rt:p", [{ n: "sources", t: () => __RΦ.a(2362), b: void 0, v: null, f: "3" }])(mergeMaps);
|
|
38
|
-
__RΦ.m("rt:f", "F")(mergeMaps);
|
|
39
|
-
__RΦ.m("rt:t", () => __RΦ.a(2361))(mergeMaps);
|
package/build/module/index.d.ts
DELETED
package/build/module/index.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
const __RΦ = { m: (k, v) => (t, ...a) => t && Reflect.metadata ? Reflect.metadata(k, v)(t, ...a) : void 0, f: (f, d, n) => (d.forEach(d => d(f)), Object.defineProperty(f, "name", { value: n, writable: false }), f), c: (c, d, dp, dsp, n) => (d.forEach(d => d(c)), dp.forEach(([p, d]) => d(c.prototype, p)), dsp.forEach(([p, d]) => d(c, p)), n ? Object.defineProperty(c, "name", { value: n, writable: false }) : undefined, c), r: (o, a) => (Object.assign(o, a)), a: id => {
|
|
2
|
-
let t = __RΦ.t[id];
|
|
3
|
-
if (t === void 0)
|
|
4
|
-
return void 0;
|
|
5
|
-
if (t.RΦ) {
|
|
6
|
-
let r = t.RΦ;
|
|
7
|
-
delete t.RΦ;
|
|
8
|
-
__RΦ.r(t, r(t));
|
|
9
|
-
}
|
|
10
|
-
else if (t.LΦ) {
|
|
11
|
-
let l = t.LΦ();
|
|
12
|
-
delete t.LΦ;
|
|
13
|
-
__RΦ.t[id] = t = l;
|
|
14
|
-
}
|
|
15
|
-
return t;
|
|
16
|
-
}, t: {} };
|
|
17
|
-
export { defaults } from "./defaults";
|
|
18
|
-
export { getModel, createModel, Model, Prop } from "./model";
|
|
19
|
-
export * from "./errors";
|
|
20
|
-
import XML from "./xml";
|
|
21
|
-
export { XML };
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare type Middleware<C, T> = (context: C, next: () => T) => T;
|
|
2
|
-
interface ChainableOptions<C, T> {
|
|
3
|
-
parent: ChainableOptions<C, T> | null;
|
|
4
|
-
middlewares: Middleware<C, T>[];
|
|
5
|
-
}
|
|
6
|
-
export declare function MiddlewareChain<C, T>(options: ChainableOptions<C, T>): Generator<Middleware<C, T>, void, unknown>;
|
|
7
|
-
declare type MiddlewareChain<C, T> = Iterator<Middleware<C, T>>;
|
|
8
|
-
export declare function resolve<C, T>(middlewares: MiddlewareChain<C, T>, context: C): T;
|
|
9
|
-
export {};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
const __RΦ = { m: (k, v) => (t, ...a) => t && Reflect.metadata ? Reflect.metadata(k, v)(t, ...a) : void 0, f: (f, d, n) => (d.forEach(d => d(f)), Object.defineProperty(f, "name", { value: n, writable: false }), f), c: (c, d, dp, dsp, n) => (d.forEach(d => d(c)), dp.forEach(([p, d]) => d(c.prototype, p)), dsp.forEach(([p, d]) => d(c, p)), n ? Object.defineProperty(c, "name", { value: n, writable: false }) : undefined, c), r: (o, a) => (Object.assign(o, a)), a: id => {
|
|
2
|
-
let t = __RΦ.t[id];
|
|
3
|
-
if (t === void 0)
|
|
4
|
-
return void 0;
|
|
5
|
-
if (t.RΦ) {
|
|
6
|
-
let r = t.RΦ;
|
|
7
|
-
delete t.RΦ;
|
|
8
|
-
__RΦ.r(t, r(t));
|
|
9
|
-
}
|
|
10
|
-
else if (t.LΦ) {
|
|
11
|
-
let l = t.LΦ();
|
|
12
|
-
delete t.LΦ;
|
|
13
|
-
__RΦ.t[id] = t = l;
|
|
14
|
-
}
|
|
15
|
-
return t;
|
|
16
|
-
}, t: { [109]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(106)] }) }, [12]: { RΦ: t => ({ TΦ: "n" }) }, [106]: { TΦ: "5", name: "ChainableOptions" }, [112]: { RΦ: t => ({ TΦ: "[", e: __RΦ.a(111) }) }, [111]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [115]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(106), p: [__RΦ.a(113), __RΦ.a(114)] }) }, [113]: { LΦ: t => Object }, [114]: { LΦ: t => Object }, [134]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(129), p: [__RΦ.a(116), __RΦ.a(22), __RΦ.a(8)] }) }, [129]: { LΦ: t => Object }, [116]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [22]: { RΦ: t => ({ TΦ: "V" }) }, [8]: { RΦ: t => ({ TΦ: "U" }) }, [146]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(138), p: [__RΦ.a(149), __RΦ.a(1), __RΦ.a(10)] }) }, [138]: { LΦ: t => Object }, [149]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [1]: { RΦ: t => ({ TΦ: "~" }) }, [10]: { RΦ: t => ({ TΦ: "u" }) }, [144]: { LΦ: t => Object }, [145]: { LΦ: t => Object } } };
|
|
17
|
-
var IΦChainableOptions = { name: "ChainableOptions", prototype: {}, identity: Symbol("ChainableOptions (interface)") };
|
|
18
|
-
(t => __RΦ.t[106] = t)(IΦChainableOptions);
|
|
19
|
-
__RΦ.m("rt:P", ["parent", "middlewares"])(IΦChainableOptions);
|
|
20
|
-
__RΦ.m("rt:m", [])(IΦChainableOptions);
|
|
21
|
-
__RΦ.m("rt:f", "I")(IΦChainableOptions);
|
|
22
|
-
__RΦ.m("rt:t", () => __RΦ.a(109))(IΦChainableOptions.prototype, "parent");
|
|
23
|
-
__RΦ.m("rt:f", "P")(IΦChainableOptions.prototype, "parent");
|
|
24
|
-
__RΦ.m("rt:t", () => __RΦ.a(112))(IΦChainableOptions.prototype, "middlewares");
|
|
25
|
-
__RΦ.m("rt:f", "P")(IΦChainableOptions.prototype, "middlewares");
|
|
26
|
-
export function* MiddlewareChain(options) {
|
|
27
|
-
do {
|
|
28
|
-
for (let index = options.middlewares.length - 1; index >= 0; index--) {
|
|
29
|
-
yield options.middlewares[index];
|
|
30
|
-
}
|
|
31
|
-
if (options.parent)
|
|
32
|
-
options = options.parent;
|
|
33
|
-
else
|
|
34
|
-
return;
|
|
35
|
-
} while (true);
|
|
36
|
-
}
|
|
37
|
-
__RΦ.m("rt:p", [{ n: "options", t: () => __RΦ.a(115), b: void 0, v: null }])(MiddlewareChain);
|
|
38
|
-
__RΦ.m("rt:f", "F")(MiddlewareChain);
|
|
39
|
-
__RΦ.m("rt:t", () => __RΦ.a(134))(MiddlewareChain);
|
|
40
|
-
export function resolve(middlewares, context) {
|
|
41
|
-
const next = __RΦ.f(() => {
|
|
42
|
-
const { value: nextMiddleware, done } = middlewares.next();
|
|
43
|
-
if (done || !nextMiddleware) {
|
|
44
|
-
// previous middlewares should have returned a value before
|
|
45
|
-
// TODO: dedicated error class
|
|
46
|
-
throw new Error("no more next middleware");
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return nextMiddleware(context, next);
|
|
50
|
-
}
|
|
51
|
-
}, [__RΦ.m("rt:p", []), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(145))], "next");
|
|
52
|
-
return next();
|
|
53
|
-
}
|
|
54
|
-
__RΦ.m("rt:p", [{ n: "middlewares", t: () => __RΦ.a(146), b: void 0, v: null }, { n: "context", t: () => __RΦ.a(144), b: void 0, v: null }])(resolve);
|
|
55
|
-
__RΦ.m("rt:f", "F")(resolve);
|
|
56
|
-
__RΦ.m("rt:t", () => __RΦ.a(145))(resolve);
|
|
@@ -1,334 +0,0 @@
|
|
|
1
|
-
const __RΦ = { m: (k, v) => (t, ...a) => t && Reflect.metadata ? Reflect.metadata(k, v)(t, ...a) : void 0, f: (f, d, n) => (d.forEach(d => d(f)), Object.defineProperty(f, "name", { value: n, writable: false }), f), c: (c, d, dp, dsp, n) => (d.forEach(d => d(c)), dp.forEach(([p, d]) => d(c.prototype, p)), dsp.forEach(([p, d]) => d(c, p)), n ? Object.defineProperty(c, "name", { value: n, writable: false }) : undefined, c), r: (o, a) => (Object.assign(o, a)), a: id => {
|
|
2
|
-
let t = __RΦ.t[id];
|
|
3
|
-
if (t === void 0)
|
|
4
|
-
return void 0;
|
|
5
|
-
if (t.RΦ) {
|
|
6
|
-
let r = t.RΦ;
|
|
7
|
-
delete t.RΦ;
|
|
8
|
-
__RΦ.r(t, r(t));
|
|
9
|
-
}
|
|
10
|
-
else if (t.LΦ) {
|
|
11
|
-
let l = t.LΦ();
|
|
12
|
-
delete t.LΦ;
|
|
13
|
-
__RΦ.t[id] = t = l;
|
|
14
|
-
}
|
|
15
|
-
return t;
|
|
16
|
-
}, t: { [1316]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(270)] }) }, [777]: { LΦ: t => LΦ_0.IΦConstructor }, [270]: { LΦ: t => Object }, [1076]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(8)] }) }, [8]: { RΦ: t => ({ TΦ: "U" }) }, [2448]: { 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Φ: "~" }) }, [2452]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(272)] }) }, [12]: { RΦ: t => ({ TΦ: "n" }) }, [2461]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(2268), p: [__RΦ.a(270)] }) }, [2268]: { LΦ: t => LΦ_1.IΦCreateXMLModelOptions }, [527]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(198), p: [__RΦ.a(270)] }) }, [198]: { LΦ: t => LΦ_1.IΦXMLModelOptions }, [2485]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(2043)] }) }, [2043]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(216), p: [__RΦ.a(335), __RΦ.a(2041)] }) }, [216]: { LΦ: t => LΦ_1.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 => LΦ_1.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 => LΦ_2.IΦXMLElement }, [2041]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(2042), p: [__RΦ.a(1)], m: [] }) }, [2042]: { 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 }, [2493]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(2491)] }) }, [2491]: { 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 => LΦ_1.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 => LΦ_1.IΦXMLModelPropertyOptions }, [2509]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(2507)] }) }, [2507]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(216), p: [__RΦ.a(279), __RΦ.a(1)] }) }, [2513]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(12), __RΦ.a(2511)] }) }, [2511]: { 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 }, [1768]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1764), p: [__RΦ.a(1316)] }) }, [1764]: { LΦ: t => LΦ_0.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) }] }) }, [2272]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(2267)] }) }, [2267]: { LΦ: t => Object }, [2271]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(2268), p: [__RΦ.a(2267)] }) }, [2302]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(269), p: [__RΦ.a(2267)] }) }, [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)] }) }, [2564]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(2268), p: [__RΦ.a(2563)] }) }, [2563]: { LΦ: t => Object }, [2566]: { RΦ: t => ({ TΦ: "F", r: __RΦ.a(22), p: [{ n: "constructor", t: () => __RΦ.a(2567), b: void 0, v: null }], f: "" }) }, [2567]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(777), p: [__RΦ.a(2563)] }) } } };
|
|
17
|
-
import { reflect } from "typescript-rtti";
|
|
18
|
-
import { MiddlewareChain, resolve } from "../middleware";
|
|
19
|
-
import { getPropertyConversionOptions } from "./property";
|
|
20
|
-
import XML from "../xml";
|
|
21
|
-
import { defaults } from "../defaults";
|
|
22
|
-
function* ParentChain(constructor) {
|
|
23
|
-
let parent = Object.getPrototypeOf(constructor);
|
|
24
|
-
if (parent === constructor) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
while (parent) {
|
|
28
|
-
yield parent;
|
|
29
|
-
const _parent = Object.getPrototypeOf(constructor);
|
|
30
|
-
if (parent === _parent) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
parent = _parent;
|
|
34
|
-
}
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
__RΦ.m("rt:p", [{ n: "constructor", t: () => __RΦ.a(1076), b: void 0, v: null }])(ParentChain);
|
|
38
|
-
__RΦ.m("rt:f", "F")(ParentChain);
|
|
39
|
-
__RΦ.m("rt:t", () => __RΦ.a(2448))(ParentChain);
|
|
40
|
-
import * as LΦ_1 from "./types";
|
|
41
|
-
import * as LΦ_2 from "../types";
|
|
42
|
-
function getParentModel(model) {
|
|
43
|
-
if (model.options.parent)
|
|
44
|
-
return model.options.parent;
|
|
45
|
-
for (const constructor of ParentChain(model.type)) {
|
|
46
|
-
const model = findModel(constructor);
|
|
47
|
-
if (model) {
|
|
48
|
-
return model;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
__RΦ.m("rt:p", [{ n: "model", t: () => __RΦ.a(272), b: void 0, v: null }])(getParentModel);
|
|
54
|
-
__RΦ.m("rt:f", "F")(getParentModel);
|
|
55
|
-
__RΦ.m("rt:t", () => __RΦ.a(2452))(getParentModel);
|
|
56
|
-
import * as LΦ_0 from "typescript-rtti/dist";
|
|
57
|
-
export class XMLModel {
|
|
58
|
-
constructor(type, options) {
|
|
59
|
-
this.type = type;
|
|
60
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
61
|
-
const model = this;
|
|
62
|
-
let parent = undefined;
|
|
63
|
-
const getParent = __RΦ.f(() => {
|
|
64
|
-
if (typeof parent === "undefined")
|
|
65
|
-
parent = getParentModel(this);
|
|
66
|
-
return parent;
|
|
67
|
-
}, [__RΦ.m("rt:p", []), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(2452))], "getParent");
|
|
68
|
-
let propertiesLoaded = false;
|
|
69
|
-
const properties = {
|
|
70
|
-
options: new Map(),
|
|
71
|
-
fromXML: {
|
|
72
|
-
get parent() {
|
|
73
|
-
var _a;
|
|
74
|
-
return ((_a = getParent()) === null || _a === void 0 ? void 0 : _a.options.properties.fromXML) || null;
|
|
75
|
-
},
|
|
76
|
-
middlewares: [
|
|
77
|
-
__RΦ.f((context, next) => {
|
|
78
|
-
const record = getParent() ? next() : {};
|
|
79
|
-
properties.options.forEach(__RΦ.f((property) => {
|
|
80
|
-
const xml = context.xml;
|
|
81
|
-
const elements = property.resolveElements({
|
|
82
|
-
model,
|
|
83
|
-
xml,
|
|
84
|
-
property,
|
|
85
|
-
});
|
|
86
|
-
const propertyFromXMLContext = {
|
|
87
|
-
model,
|
|
88
|
-
xml: context.xml,
|
|
89
|
-
property,
|
|
90
|
-
elements,
|
|
91
|
-
};
|
|
92
|
-
try {
|
|
93
|
-
record[property.name] = property.fromXML(propertyFromXMLContext);
|
|
94
|
-
}
|
|
95
|
-
catch (error) {
|
|
96
|
-
if (error instanceof FromXMLConversionError) {
|
|
97
|
-
// TODO: might add some more context
|
|
98
|
-
throw error;
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
throw new PropertyFromXMLConversionError(context, propertyFromXMLContext, error);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}, [__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))], ""));
|
|
105
|
-
return record;
|
|
106
|
-
}, [__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))], ""),
|
|
107
|
-
],
|
|
108
|
-
},
|
|
109
|
-
toXML: {
|
|
110
|
-
get parent() {
|
|
111
|
-
var _a;
|
|
112
|
-
return ((_a = getParent()) === null || _a === void 0 ? void 0 : _a.options.properties.toXML) || null;
|
|
113
|
-
},
|
|
114
|
-
middlewares: [
|
|
115
|
-
__RΦ.f((context, next) => {
|
|
116
|
-
const record = getParent() ? next() : {};
|
|
117
|
-
properties.options.forEach(__RΦ.f((options) => {
|
|
118
|
-
const propertyToXMLContext = {
|
|
119
|
-
model,
|
|
120
|
-
object: context.object,
|
|
121
|
-
property: options,
|
|
122
|
-
value: context.object[options.name],
|
|
123
|
-
};
|
|
124
|
-
try {
|
|
125
|
-
record[options.name] = options.toXML(propertyToXMLContext);
|
|
126
|
-
}
|
|
127
|
-
catch (error) {
|
|
128
|
-
if (error instanceof ToXMLConversionError) {
|
|
129
|
-
// TODO: might add some more context
|
|
130
|
-
throw error;
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
throw new PropertyToXMLConversionError(context, propertyToXMLContext, error);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}, [__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))], ""));
|
|
137
|
-
return record;
|
|
138
|
-
}, [__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))], ""),
|
|
139
|
-
],
|
|
140
|
-
},
|
|
141
|
-
};
|
|
142
|
-
const loadProperties = __RΦ.f(() => {
|
|
143
|
-
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
|
|
144
|
-
props.forEach(__RΦ.f((property) => {
|
|
145
|
-
const options = getPropertyConversionOptions(this.type, property.name);
|
|
146
|
-
if (!options.ignored) {
|
|
147
|
-
properties.options.set(property.name, options);
|
|
148
|
-
}
|
|
149
|
-
}, [__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))], ""));
|
|
150
|
-
propertiesLoaded = true;
|
|
151
|
-
}, [__RΦ.m("rt:p", []), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(22))], "");
|
|
152
|
-
this.options = {
|
|
153
|
-
get properties() {
|
|
154
|
-
if (!propertiesLoaded)
|
|
155
|
-
loadProperties();
|
|
156
|
-
return properties;
|
|
157
|
-
},
|
|
158
|
-
fromXML: {
|
|
159
|
-
middlewares: [],
|
|
160
|
-
get parent() {
|
|
161
|
-
var _a;
|
|
162
|
-
return ((_a = getParent()) === null || _a === void 0 ? void 0 : _a.options.fromXML) || null;
|
|
163
|
-
},
|
|
164
|
-
},
|
|
165
|
-
toXML: {
|
|
166
|
-
middlewares: [],
|
|
167
|
-
get parent() {
|
|
168
|
-
var _a;
|
|
169
|
-
return ((_a = getParent()) === null || _a === void 0 ? void 0 : _a.options.toXML) || null;
|
|
170
|
-
},
|
|
171
|
-
},
|
|
172
|
-
get tagname() {
|
|
173
|
-
return options.tagname || defaults.tagnameFromModel(model);
|
|
174
|
-
},
|
|
175
|
-
};
|
|
176
|
-
if (options.parent)
|
|
177
|
-
this.options.parent = options.parent;
|
|
178
|
-
if (!getParent()) {
|
|
179
|
-
this.options.fromXML.middlewares.push(__RΦ.f((...args) => 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))], ""));
|
|
180
|
-
this.options.toXML.middlewares.push(__RΦ.f((...args) => 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))], ""));
|
|
181
|
-
}
|
|
182
|
-
if (options.fromXML)
|
|
183
|
-
this.options.fromXML.middlewares.push(options.fromXML);
|
|
184
|
-
if (options.toXML)
|
|
185
|
-
this.options.toXML.middlewares.push(options.toXML);
|
|
186
|
-
}
|
|
187
|
-
fromXML(xml) {
|
|
188
|
-
const _xml = typeof xml === "string" ? XML.parse(xml) : xml;
|
|
189
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
190
|
-
const model = this;
|
|
191
|
-
const context = {
|
|
192
|
-
xml: _xml,
|
|
193
|
-
get properties() {
|
|
194
|
-
const propContext = {
|
|
195
|
-
xml: _xml,
|
|
196
|
-
model,
|
|
197
|
-
};
|
|
198
|
-
return resolve(MiddlewareChain(model.options.properties.fromXML), propContext);
|
|
199
|
-
},
|
|
200
|
-
model,
|
|
201
|
-
};
|
|
202
|
-
return resolve(MiddlewareChain(this.options.fromXML), context);
|
|
203
|
-
}
|
|
204
|
-
toXML(instance) {
|
|
205
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
206
|
-
const model = this;
|
|
207
|
-
if (instance instanceof this.type ||
|
|
208
|
-
(typeof instance !== "undefined" && instance.constructor === this.type) // FIXME: allow instance to be Undefined ?
|
|
209
|
-
) {
|
|
210
|
-
// intanceof won't work with type "String" for example
|
|
211
|
-
const context = {
|
|
212
|
-
object: instance,
|
|
213
|
-
get properties() {
|
|
214
|
-
const propContext = {
|
|
215
|
-
object: instance,
|
|
216
|
-
model,
|
|
217
|
-
};
|
|
218
|
-
return resolve(MiddlewareChain(model.options.properties.toXML), propContext);
|
|
219
|
-
},
|
|
220
|
-
model: this,
|
|
221
|
-
};
|
|
222
|
-
return resolve(MiddlewareChain(this.options.toXML), context);
|
|
223
|
-
}
|
|
224
|
-
else {
|
|
225
|
-
throw new TypeError(`provided object is not an instance of ${this.type.name}`);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
get reflectedClass() {
|
|
229
|
-
return reflect(this.type, { TΦ: "c", t: void 0, p: [__RΦ.a(1316)], r: void 0, tp: [] });
|
|
230
|
-
}
|
|
231
|
-
resolveAllProperties() {
|
|
232
|
-
const ownProperties = new Map();
|
|
233
|
-
const parent = getParentModel(this);
|
|
234
|
-
this.options.properties.options.forEach(__RΦ.f((options, key) => {
|
|
235
|
-
ownProperties.set(key, new Proxy(options, {
|
|
236
|
-
get: __RΦ.f((target, p, reciever) => {
|
|
237
|
-
if (p === "model")
|
|
238
|
-
return this;
|
|
239
|
-
else
|
|
240
|
-
return Reflect.get(target, p, reciever);
|
|
241
|
-
}, [__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"),
|
|
242
|
-
}) // FIXME: is typing ok ?
|
|
243
|
-
);
|
|
244
|
-
}, [__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))], ""));
|
|
245
|
-
const res = parent
|
|
246
|
-
? mergeMaps(parent.resolveAllProperties(), ownProperties)
|
|
247
|
-
: ownProperties;
|
|
248
|
-
return res;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
(t => __RΦ.t[269] = t)(XMLModel);
|
|
252
|
-
__RΦ.m("rt:SP", [])(XMLModel);
|
|
253
|
-
__RΦ.m("rt:P", ["options", "type", "reflectedClass"])(XMLModel);
|
|
254
|
-
__RΦ.m("rt:Sm", [])(XMLModel);
|
|
255
|
-
__RΦ.m("rt:m", ["fromXML", "toXML", "resolveAllProperties"])(XMLModel);
|
|
256
|
-
__RΦ.m("rt:p", [{ n: "type", t: () => __RΦ.a(1316), b: void 0, v: null, f: "R" }, { n: "options", t: () => __RΦ.a(2461), b: void 0, v: null }])(XMLModel);
|
|
257
|
-
__RΦ.m("rt:f", "Ce")(XMLModel);
|
|
258
|
-
__RΦ.m("rt:t", () => __RΦ.a(527))(XMLModel.prototype, "options");
|
|
259
|
-
__RΦ.m("rt:f", "P")(XMLModel.prototype, "options");
|
|
260
|
-
__RΦ.m("rt:t", () => __RΦ.a(2485))(XMLModel.prototype, "parent");
|
|
261
|
-
__RΦ.m("rt:f", "P")(XMLModel.prototype, "parent");
|
|
262
|
-
__RΦ.m("rt:t", () => __RΦ.a(2493))(XMLModel.prototype, "parent");
|
|
263
|
-
__RΦ.m("rt:f", "P")(XMLModel.prototype, "parent");
|
|
264
|
-
__RΦ.m("rt:t", () => __RΦ.a(579))(XMLModel.prototype, "properties");
|
|
265
|
-
__RΦ.m("rt:f", "P")(XMLModel.prototype, "properties");
|
|
266
|
-
__RΦ.m("rt:t", () => __RΦ.a(2509))(XMLModel.prototype, "parent");
|
|
267
|
-
__RΦ.m("rt:f", "P")(XMLModel.prototype, "parent");
|
|
268
|
-
__RΦ.m("rt:t", () => __RΦ.a(2513))(XMLModel.prototype, "parent");
|
|
269
|
-
__RΦ.m("rt:f", "P")(XMLModel.prototype, "parent");
|
|
270
|
-
__RΦ.m("rt:t", () => __RΦ.a(13))(XMLModel.prototype, "tagname");
|
|
271
|
-
__RΦ.m("rt:f", "P")(XMLModel.prototype, "tagname");
|
|
272
|
-
__RΦ.m("rt:f", "M.")(XMLModel.prototype["fromXML"]);
|
|
273
|
-
((t, p) => __RΦ.m("rt:h", () => typeof t === "object" ? t.constructor : t)(t[p]))(XMLModel.prototype, "fromXML");
|
|
274
|
-
__RΦ.m("rt:p", [{ n: "xml", t: () => __RΦ.a(352), b: void 0, v: null }])(XMLModel.prototype, "fromXML");
|
|
275
|
-
__RΦ.m("rt:f", "M.")(XMLModel.prototype, "fromXML");
|
|
276
|
-
__RΦ.m("rt:t", () => __RΦ.a(270))(XMLModel.prototype, "fromXML");
|
|
277
|
-
__RΦ.m("rt:t", () => __RΦ.a(576))(XMLModel.prototype, "properties");
|
|
278
|
-
__RΦ.m("rt:f", "P")(XMLModel.prototype, "properties");
|
|
279
|
-
__RΦ.m("rt:f", "M.")(XMLModel.prototype["toXML"]);
|
|
280
|
-
((t, p) => __RΦ.m("rt:h", () => typeof t === "object" ? t.constructor : t)(t[p]))(XMLModel.prototype, "toXML");
|
|
281
|
-
__RΦ.m("rt:p", [{ n: "instance", t: () => __RΦ.a(28), b: void 0, v: null }])(XMLModel.prototype, "toXML");
|
|
282
|
-
__RΦ.m("rt:f", "M.")(XMLModel.prototype, "toXML");
|
|
283
|
-
__RΦ.m("rt:t", () => __RΦ.a(100))(XMLModel.prototype, "toXML");
|
|
284
|
-
__RΦ.m("rt:t", () => __RΦ.a(1359))(XMLModel.prototype, "properties");
|
|
285
|
-
__RΦ.m("rt:f", "P")(XMLModel.prototype, "properties");
|
|
286
|
-
__RΦ.m("rt:t", () => __RΦ.a(1768))(XMLModel.prototype, "reflectedClass");
|
|
287
|
-
__RΦ.m("rt:f", "P")(XMLModel.prototype, "reflectedClass");
|
|
288
|
-
__RΦ.m("rt:f", "M.")(XMLModel.prototype["resolveAllProperties"]);
|
|
289
|
-
((t, p) => __RΦ.m("rt:h", () => typeof t === "object" ? t.constructor : t)(t[p]))(XMLModel.prototype, "resolveAllProperties");
|
|
290
|
-
__RΦ.m("rt:p", [])(XMLModel.prototype, "resolveAllProperties");
|
|
291
|
-
__RΦ.m("rt:f", "M.")(XMLModel.prototype, "resolveAllProperties");
|
|
292
|
-
__RΦ.m("rt:t", () => __RΦ.a(1562))(XMLModel.prototype, "resolveAllProperties");
|
|
293
|
-
export function createModel(type, options) {
|
|
294
|
-
if (findModel(type)) {
|
|
295
|
-
throw new TypeError(`a model for type ${type.name} already exists`);
|
|
296
|
-
}
|
|
297
|
-
const model = new XMLModel(type, options);
|
|
298
|
-
Models.set(type, model);
|
|
299
|
-
return model;
|
|
300
|
-
}
|
|
301
|
-
__RΦ.m("rt:p", [{ n: "type", t: () => __RΦ.a(2272), b: void 0, v: null }, { n: "options", t: () => __RΦ.a(2271), b: void 0, v: null }])(createModel);
|
|
302
|
-
__RΦ.m("rt:f", "F")(createModel);
|
|
303
|
-
__RΦ.m("rt:t", () => __RΦ.a(2302))(createModel);
|
|
304
|
-
export const Models = new Map();
|
|
305
|
-
export function findModel(id) {
|
|
306
|
-
return Models.get(id);
|
|
307
|
-
}
|
|
308
|
-
__RΦ.m("rt:p", [{ n: "id", t: () => __RΦ.a(1055), b: void 0, v: null }])(findModel);
|
|
309
|
-
__RΦ.m("rt:f", "F")(findModel);
|
|
310
|
-
__RΦ.m("rt:t", () => __RΦ.a(1080))(findModel);
|
|
311
|
-
export function getModel(id) {
|
|
312
|
-
const model = findModel(id);
|
|
313
|
-
if (model)
|
|
314
|
-
return model;
|
|
315
|
-
else
|
|
316
|
-
throw new TypeError(`couln't find model for type ${id.name}`);
|
|
317
|
-
}
|
|
318
|
-
__RΦ.m("rt:p", [{ n: "id", t: () => __RΦ.a(782), b: void 0, v: null }])(getModel);
|
|
319
|
-
__RΦ.m("rt:f", "F")(getModel);
|
|
320
|
-
__RΦ.m("rt:t", () => __RΦ.a(1081))(getModel);
|
|
321
|
-
// Model decorator
|
|
322
|
-
function ModelDecoratorFactory(options) {
|
|
323
|
-
return __RΦ.f(function (constructor) {
|
|
324
|
-
findModel(constructor) || createModel(constructor, options || {});
|
|
325
|
-
}, [__RΦ.m("rt:p", [{ n: "constructor", t: () => __RΦ.a(2567), b: void 0, v: null }]), __RΦ.m("rt:f", "M"), __RΦ.m("rt:t", () => __RΦ.a(22))], "");
|
|
326
|
-
}
|
|
327
|
-
__RΦ.m("rt:p", [{ n: "options", t: () => __RΦ.a(2564), b: void 0, v: null, f: "?" }])(ModelDecoratorFactory);
|
|
328
|
-
__RΦ.m("rt:f", "F")(ModelDecoratorFactory);
|
|
329
|
-
__RΦ.m("rt:t", () => __RΦ.a(2566))(ModelDecoratorFactory);
|
|
330
|
-
export { ModelDecoratorFactory as Model };
|
|
331
|
-
export { Prop } from "./property";
|
|
332
|
-
import "../defaults/models";
|
|
333
|
-
import { FromXMLConversionError, PropertyFromXMLConversionError, PropertyToXMLConversionError, ToXMLConversionError, } from "../errors";
|
|
334
|
-
import mergeMaps from "../helper/merge-maps";
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Constructor } from "typescript-rtti";
|
|
2
|
-
import type { XMLModelProperty, XMLModelPropertyOptions, CreateXMLModelPropertyOptions } from "./types";
|
|
3
|
-
export declare function getPropertyConversionOptions<T>(constructor: Constructor<T>, property: XMLModelProperty<T>): XMLModelPropertyOptions<T>;
|
|
4
|
-
declare function PropDecoratorFactory<T = any>(options?: CreateXMLModelPropertyOptions<T>): (prototype: any, property: XMLModelProperty<T>) => void;
|
|
5
|
-
export { PropDecoratorFactory as Prop };
|