xml-model 0.2.9 → 1.0.0-beta.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.
Files changed (139) hide show
  1. package/README.md +18 -1
  2. package/dist/defaults.d.ts +14 -0
  3. package/dist/defaults.js +129 -0
  4. package/{build/main → dist}/errors.d.ts +4 -4
  5. package/dist/errors.js +51 -0
  6. package/dist/index.d.ts +6 -0
  7. package/dist/index.js +19 -0
  8. package/{build/main → dist}/middleware.d.ts +2 -2
  9. package/dist/middleware.js +31 -0
  10. package/dist/model/built-ins.d.ts +2 -0
  11. package/dist/model/built-ins.js +46 -0
  12. package/{build/module → dist}/model/index.d.ts +7 -11
  13. package/dist/model/index.js +242 -0
  14. package/{build/main → dist}/model/property.d.ts +2 -2
  15. package/dist/model/property.js +71 -0
  16. package/dist/model/registry.d.ts +8 -0
  17. package/dist/model/registry.js +26 -0
  18. package/{build/module → dist}/model/types.d.ts +7 -7
  19. package/dist/model/types.js +2 -0
  20. package/{build/module → dist}/types.d.ts +4 -4
  21. package/dist/types.js +2 -0
  22. package/dist/util/is-regexp.d.ts +11 -0
  23. package/dist/util/is-regexp.js +11 -0
  24. package/dist/util/kebab-case.d.ts +15 -0
  25. package/dist/util/kebab-case.js +18 -0
  26. package/dist/util/merge-maps.js +27 -0
  27. package/{build/main → dist}/xml/index.d.ts +4 -4
  28. package/dist/xml/index.js +73 -0
  29. package/{build/main → dist}/xml/xml-js.d.ts +1 -4
  30. package/dist/xml/xml-js.js +9 -0
  31. package/package.json +55 -38
  32. package/vite/dist/_virtual/_commonjs-dynamic-modules.js +7 -0
  33. package/vite/dist/_virtual/_commonjsHelpers.js +47 -0
  34. package/vite/dist/_virtual/_typescript.js +5 -0
  35. package/vite/dist/_virtual/api-call-transformer.js +5 -0
  36. package/vite/dist/_virtual/class-analyzer.js +5 -0
  37. package/vite/dist/_virtual/compile-error.js +5 -0
  38. package/vite/dist/_virtual/declarations-emitter.js +5 -0
  39. package/vite/dist/_virtual/encode-parameter.js +5 -0
  40. package/vite/dist/_virtual/find-relative-path.js +5 -0
  41. package/vite/dist/_virtual/flags.js +5 -0
  42. package/vite/dist/_virtual/format.js +5 -0
  43. package/vite/dist/_virtual/forward-ref.js +5 -0
  44. package/vite/dist/_virtual/get-exports-for-symbol.js +5 -0
  45. package/vite/dist/_virtual/import-analyzer.js +5 -0
  46. package/vite/dist/_virtual/index.js +8 -0
  47. package/vite/dist/_virtual/index2.js +5 -0
  48. package/vite/dist/_virtual/index3.js +5 -0
  49. package/vite/dist/_virtual/interface-analyzer.js +5 -0
  50. package/vite/dist/_virtual/legacy-decorator.js +5 -0
  51. package/vite/dist/_virtual/legacy-type-encoder.js +5 -0
  52. package/vite/dist/_virtual/literal-node.js +5 -0
  53. package/vite/dist/_virtual/metadata-collector.js +5 -0
  54. package/vite/dist/_virtual/metadata-decorator.js +5 -0
  55. package/vite/dist/_virtual/metadata-emitter.js +5 -0
  56. package/vite/dist/_virtual/metadata-encoder.js +5 -0
  57. package/vite/dist/_virtual/rt-helper.js +5 -0
  58. package/vite/dist/_virtual/rtti-visitor-base.js +5 -0
  59. package/vite/dist/_virtual/serialize.js +5 -0
  60. package/vite/dist/_virtual/type-encoder.js +5 -0
  61. package/vite/dist/_virtual/type-literal.js +5 -0
  62. package/vite/dist/_virtual/utils.js +5 -0
  63. package/vite/dist/_virtual/visitor-base.js +5 -0
  64. package/vite/dist/_virtual/workarounds.js +5 -0
  65. package/vite/dist/index.d.ts +21 -0
  66. package/vite/dist/index.js +62 -0
  67. package/vite/dist/node_modules/typescript-rtti/dist/common/format.js +69 -0
  68. package/vite/dist/node_modules/typescript-rtti/dist/common/index.js +34 -0
  69. package/vite/dist/node_modules/typescript-rtti/dist/transformer/api-call-transformer.js +197 -0
  70. package/vite/dist/node_modules/typescript-rtti/dist/transformer/common/class-analyzer.js +124 -0
  71. package/vite/dist/node_modules/typescript-rtti/dist/transformer/common/compile-error.js +18 -0
  72. package/vite/dist/node_modules/typescript-rtti/dist/transformer/common/import-analyzer.js +130 -0
  73. package/vite/dist/node_modules/typescript-rtti/dist/transformer/common/interface-analyzer.js +98 -0
  74. package/vite/dist/node_modules/typescript-rtti/dist/transformer/common/visitor-base.js +132 -0
  75. package/vite/dist/node_modules/typescript-rtti/dist/transformer/declarations-emitter.js +72 -0
  76. package/vite/dist/node_modules/typescript-rtti/dist/transformer/encode-parameter.js +110 -0
  77. package/vite/dist/node_modules/typescript-rtti/dist/transformer/find-relative-path.js +51 -0
  78. package/vite/dist/node_modules/typescript-rtti/dist/transformer/flags.js +59 -0
  79. package/vite/dist/node_modules/typescript-rtti/dist/transformer/forward-ref.js +35 -0
  80. package/vite/dist/node_modules/typescript-rtti/dist/transformer/get-exports-for-symbol.js +75 -0
  81. package/vite/dist/node_modules/typescript-rtti/dist/transformer/index.js +174 -0
  82. package/vite/dist/node_modules/typescript-rtti/dist/transformer/legacy-decorator.js +20 -0
  83. package/vite/dist/node_modules/typescript-rtti/dist/transformer/legacy-type-encoder.js +123 -0
  84. package/vite/dist/node_modules/typescript-rtti/dist/transformer/literal-node.js +19 -0
  85. package/vite/dist/node_modules/typescript-rtti/dist/transformer/metadata-collector.js +96 -0
  86. package/vite/dist/node_modules/typescript-rtti/dist/transformer/metadata-decorator.js +99 -0
  87. package/vite/dist/node_modules/typescript-rtti/dist/transformer/metadata-emitter.js +475 -0
  88. package/vite/dist/node_modules/typescript-rtti/dist/transformer/metadata-encoder.js +261 -0
  89. package/vite/dist/node_modules/typescript-rtti/dist/transformer/rt-helper.js +113 -0
  90. package/vite/dist/node_modules/typescript-rtti/dist/transformer/rtti-visitor-base.js +39 -0
  91. package/vite/dist/node_modules/typescript-rtti/dist/transformer/serialize.js +46 -0
  92. package/vite/dist/node_modules/typescript-rtti/dist/transformer/type-encoder.js +96 -0
  93. package/vite/dist/node_modules/typescript-rtti/dist/transformer/type-literal.js +546 -0
  94. package/vite/dist/node_modules/typescript-rtti/dist/transformer/utils.js +922 -0
  95. package/vite/dist/node_modules/typescript-rtti/dist/transformer/workarounds.js +16 -0
  96. package/build/main/defaults/index.d.ts +0 -14
  97. package/build/main/defaults/index.js +0 -171
  98. package/build/main/defaults/models.d.ts +0 -1
  99. package/build/main/defaults/models.js +0 -55
  100. package/build/main/errors.js +0 -93
  101. package/build/main/helper/merge-maps.js +0 -42
  102. package/build/main/index.d.ts +0 -6
  103. package/build/main/index.js +0 -46
  104. package/build/main/middleware.js +0 -61
  105. package/build/main/model/index.d.ts +0 -23
  106. package/build/main/model/index.js +0 -342
  107. package/build/main/model/property.js +0 -100
  108. package/build/main/model/types.d.ts +0 -73
  109. package/build/main/model/types.js +0 -152
  110. package/build/main/model.spec.d.ts +0 -2
  111. package/build/main/model.spec.js +0 -234
  112. package/build/main/types.d.ts +0 -16
  113. package/build/main/types.js +0 -41
  114. package/build/main/xml/index.js +0 -105
  115. package/build/main/xml/xml-js.js +0 -26
  116. package/build/module/defaults/index.d.ts +0 -14
  117. package/build/module/defaults/index.js +0 -165
  118. package/build/module/defaults/models.d.ts +0 -1
  119. package/build/module/defaults/models.js +0 -54
  120. package/build/module/errors.d.ts +0 -23
  121. package/build/module/errors.js +0 -89
  122. package/build/module/helper/merge-maps.d.ts +0 -1
  123. package/build/module/helper/merge-maps.js +0 -39
  124. package/build/module/index.d.ts +0 -6
  125. package/build/module/index.js +0 -21
  126. package/build/module/middleware.d.ts +0 -9
  127. package/build/module/middleware.js +0 -56
  128. package/build/module/model/index.js +0 -334
  129. package/build/module/model/property.d.ts +0 -5
  130. package/build/module/model/property.js +0 -99
  131. package/build/module/model/types.js +0 -152
  132. package/build/module/model.spec.d.ts +0 -2
  133. package/build/module/model.spec.js +0 -229
  134. package/build/module/types.js +0 -38
  135. package/build/module/xml/index.d.ts +0 -32
  136. package/build/module/xml/index.js +0 -94
  137. package/build/module/xml/xml-js.d.ts +0 -9
  138. package/build/module/xml/xml-js.js +0 -24
  139. /package/{build/main/helper → dist/util}/merge-maps.d.ts +0 -0
@@ -0,0 +1,16 @@
1
+ import "../../../../_virtual/_commonjsHelpers.js";
2
+ import { __exports as workarounds } from "../../../../_virtual/workarounds.js";
3
+ var hasRequiredWorkarounds;
4
+ function requireWorkarounds() {
5
+ if (hasRequiredWorkarounds) return workarounds;
6
+ hasRequiredWorkarounds = 1;
7
+ "use strict";
8
+ Object.defineProperty(workarounds, "__esModule", { value: true });
9
+ workarounds.WORKAROUND_TYPESCRIPT_49794 = void 0;
10
+ workarounds.WORKAROUND_TYPESCRIPT_49794 = true;
11
+ return workarounds;
12
+ }
13
+ export {
14
+ requireWorkarounds as __require
15
+ };
16
+ //# sourceMappingURL=workarounds.js.map
@@ -1,14 +0,0 @@
1
- import type { XMLModelPropertyOptions } from "../model/types";
2
- import type { XMLModelOptions, XMLModel } from "../model/types";
3
- declare type defaults<T = any> = {
4
- fromXML: Required<XMLModelOptions<T>>["fromXML"]["middlewares"][number];
5
- propertySourceElementsFilter: XMLModelPropertyOptions<T>["isSourceElement"];
6
- propertyResolveSourceElements: XMLModelPropertyOptions<T>["resolveElements"];
7
- propertyFromXML: Required<XMLModelPropertyOptions<T>>["fromXML"];
8
- toXML: Required<XMLModelOptions<T>>["toXML"]["middlewares"][number];
9
- tagnameFromModel: (model: XMLModel) => string;
10
- tagnameFromProperty: (property: XMLModelPropertyOptions<T>) => string;
11
- propertyToXML: Required<XMLModelPropertyOptions<T>>["toXML"];
12
- };
13
- export declare const defaults: defaults;
14
- export {};
@@ -1,171 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.defaults = void 0;
7
- 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 => {
8
- let t = __RΦ.t[id];
9
- if (t === void 0)
10
- return void 0;
11
- if (t.RΦ) {
12
- let r = t.RΦ;
13
- delete t.RΦ;
14
- __RΦ.r(t, r(t));
15
- }
16
- else if (t.LΦ) {
17
- let l = t.LΦ();
18
- delete t.LΦ;
19
- __RΦ.t[id] = t = l;
20
- }
21
- return t;
22
- }, t: {} };
23
- const model_1 = require("../model");
24
- const kebabCase_1 = __importDefault(require("lodash/kebabCase"));
25
- exports.defaults = {
26
- fromXML() {
27
- throw new TypeError("you should define 'defaults.fromXML' yourself or provide a 'fromXML' function to @Model() decorator's options");
28
- },
29
- propertyResolveSourceElements(context) {
30
- var _a;
31
- // We assume context.xml.elements is a single tag containing all the props
32
- // FIXME: is it safe ?
33
- const innerElements = ((_a = context.xml.elements[0]) === null || _a === void 0 ? void 0 : _a.elements) || [];
34
- return innerElements.filter((el) => context.property.isSourceElement(el, context));
35
- },
36
- propertySourceElementsFilter(element, context) {
37
- return context.property.tagname === element.name;
38
- },
39
- propertyFromXML(context) {
40
- // TODO: handle inline
41
- const prop = context.property;
42
- const elements = context.elements;
43
- if (prop.reflected.isOptional && elements.length === 0) {
44
- return undefined;
45
- }
46
- if (prop.model) {
47
- return prop.model.fromXML({ elements });
48
- }
49
- const type = context.property.reflected.type;
50
- if (type.is("class")) {
51
- const model = (0, model_1.getModel)(type.class);
52
- return model.fromXML({ elements: context.elements });
53
- }
54
- else if (type.is("array")) {
55
- let arrayEl = {};
56
- if (!prop.inline &&
57
- elements.length === 1 &&
58
- elements[0].name === prop.tagname) {
59
- // we assume our array is contained in a root tag
60
- arrayEl = elements[0];
61
- }
62
- else if (prop.inline) {
63
- // we assume our array is contained in xml.elements
64
- arrayEl = { elements };
65
- }
66
- const els = arrayEl.elements || [];
67
- const elType = type.elementType;
68
- if (elType.is("class")) {
69
- const model = (0, model_1.getModel)(elType.class);
70
- const xmlInstances = els.map((el) => ({
71
- elements: [el],
72
- }));
73
- return xmlInstances.map((xml) => model.fromXML(xml));
74
- }
75
- }
76
- else if (type.is("union") &&
77
- type.types.length &&
78
- type.types[0].is("literal")) {
79
- const firstType = type.types[0];
80
- if (firstType.is("literal")) {
81
- const firstTypeCtor = firstType.value.constructor;
82
- if (type.types.every((type) => type.is("literal") && type.value.constructor === firstTypeCtor)) {
83
- // all elements of unions are litteral with same type
84
- const model = (0, model_1.getModel)(firstTypeCtor);
85
- return model.fromXML({ elements });
86
- }
87
- }
88
- }
89
- // TODO: should warn ???
90
- return undefined;
91
- },
92
- /* Object -> XML */
93
- toXML({ properties, model }) {
94
- const elements = [];
95
- model.resolveAllProperties().forEach((prop) => {
96
- if (prop.name in properties && typeof prop.name !== "symbol") {
97
- // FIXME: prop.name should never be a symbol anyway
98
- const _xml = properties[prop.name];
99
- _xml.elements.forEach((el) => {
100
- if (!prop.inline) {
101
- // overwrite tagnames
102
- el.name = prop.tagname; // TODO: configurable ?
103
- }
104
- elements.push(el);
105
- });
106
- }
107
- });
108
- return {
109
- elements: [
110
- {
111
- type: "element",
112
- name: model.options.tagname,
113
- elements,
114
- },
115
- ],
116
- };
117
- },
118
- tagnameFromModel(model) {
119
- return (0, kebabCase_1.default)(model.type.name);
120
- },
121
- tagnameFromProperty(property) {
122
- return (0, kebabCase_1.default)(String(property.name));
123
- },
124
- propertyToXML(context) {
125
- const property = context.property;
126
- const type = property.reflected.type;
127
- const value = context.value;
128
- if (property.reflected.isOptional && typeof value === "undefined") {
129
- return { elements: [] }; // FIXME should return unefined ???
130
- }
131
- if (property.model) {
132
- return property.model.toXML(value);
133
- }
134
- const getXML = () => {
135
- if (type.is("class")) {
136
- const model = (0, model_1.getModel)(type.class);
137
- return model.toXML(value);
138
- }
139
- else if (type.is("array") && type.elementType.is("class")) {
140
- const elementType = type.elementType;
141
- if (elementType.is("class")) {
142
- const model = (0, model_1.getModel)(elementType.class);
143
- const elements = [];
144
- value.forEach((el) => elements.push(...model.toXML(el).elements));
145
- return { elements: [{ type: "element", name: "array", elements }] };
146
- }
147
- // TODO: handle other types of array
148
- }
149
- else if (type.is("union") &&
150
- type.types.length &&
151
- type.types[0].is("literal")) {
152
- const firstType = type.types[0];
153
- if (firstType.is("literal")) {
154
- const firstTypeCtor = firstType.value.constructor;
155
- if (type.types.every((type) => type.is("literal") && type.value.constructor === firstTypeCtor)) {
156
- // all elements of unions are litteral with same type
157
- const model = (0, model_1.getModel)(firstTypeCtor);
158
- return model.toXML(context.value);
159
- }
160
- }
161
- }
162
- // TODO: should warn ???
163
- return { elements: [] };
164
- };
165
- const xml = getXML();
166
- if (context.property.inline)
167
- return { elements: xml.elements.map((el) => el.elements || []).flat() };
168
- else
169
- return xml;
170
- },
171
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- 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 => {
4
- let t = __RΦ.t[id];
5
- if (t === void 0)
6
- return void 0;
7
- if (t.RΦ) {
8
- let r = t.RΦ;
9
- delete t.RΦ;
10
- __RΦ.r(t, r(t));
11
- }
12
- else if (t.LΦ) {
13
- let l = t.LΦ();
14
- delete t.LΦ;
15
- __RΦ.t[id] = t = l;
16
- }
17
- return t;
18
- }, t: { [4]: { RΦ: t => ({ TΦ: "~" }) }, [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 }, [13]: { LΦ: t => String }, [14]: { LΦ: t => Number }, [2342]: { RΦ: t => ({ TΦ: "O", m: [{ n: "elements", f: "", t: __RΦ.a(2341) }] }) }, [2341]: { RΦ: t => ({ TΦ: "[", e: __RΦ.a(2340) }) }, [2340]: { RΦ: t => ({ TΦ: "O", m: [{ n: "elements", f: "", t: __RΦ.a(2204) }, { n: "type", f: "", t: __RΦ.a(13) }, { n: "name", f: "", t: __RΦ.a(13) }] }) }, [2204]: { RΦ: t => ({ TΦ: "|", t: [__RΦ.a(173), __RΦ.a(2203)] }) }, [173]: { RΦ: t => ({ TΦ: "O", m: [{ n: "length", f: "", t: __RΦ.a(47) }, { n: "toString", f: "", t: __RΦ.a(626) }, { n: "toLocaleString", f: "", t: __RΦ.a(630) }, { n: "pop", f: "", t: __RΦ.a(634) }, { n: "push", f: "", t: __RΦ.a(638) }, { n: "concat", f: "", t: __RΦ.a(642) }, { n: "join", f: "", t: __RΦ.a(646) }, { n: "reverse", f: "", t: __RΦ.a(650) }, { n: "shift", f: "", t: __RΦ.a(654) }, { n: "slice", f: "", t: __RΦ.a(658) }, { n: "sort", f: "", t: __RΦ.a(662) }, { n: "splice", f: "", t: __RΦ.a(666) }, { n: "unshift", f: "", t: __RΦ.a(670) }, { n: "indexOf", f: "", t: __RΦ.a(674) }, { n: "lastIndexOf", f: "", t: __RΦ.a(678) }, { n: "every", f: "", t: __RΦ.a(682) }, { n: "some", f: "", t: __RΦ.a(686) }, { n: "forEach", f: "", t: __RΦ.a(690) }, { n: "map", f: "", t: __RΦ.a(694) }, { n: "filter", f: "", t: __RΦ.a(697) }, { n: "reduce", f: "", t: __RΦ.a(701) }, { n: "reduceRight", f: "", t: __RΦ.a(705) }, { n: "find", f: "", t: __RΦ.a(709) }, { n: "findIndex", f: "", t: __RΦ.a(713) }, { n: "fill", f: "", t: __RΦ.a(717) }, { n: "copyWithin", f: "", t: __RΦ.a(721) }, { n: "entries", f: "", t: __RΦ.a(725) }, { n: "keys", f: "", t: __RΦ.a(729) }, { n: "values", f: "", t: __RΦ.a(733) }, { n: "includes", f: "", t: __RΦ.a(737) }, { n: "flatMap", f: "", t: __RΦ.a(741) }, { n: "flat", f: "", t: __RΦ.a(745) }, { n: "__@iterator@45", f: "", t: __RΦ.a(749) }, { n: "__@unscopables@47", f: "", t: __RΦ.a(753) }, { n: "at", f: "", t: __RΦ.a(756) }] }) }, [47]: { LΦ: t => 0 }, [626]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [630]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [634]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [638]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [642]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [646]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [650]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [654]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [658]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [662]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [666]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [670]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [674]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [678]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [682]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [686]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [690]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [694]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [697]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [701]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [705]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [709]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [713]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [717]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [721]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [725]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [729]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [733]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [737]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [741]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [745]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [749]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [753]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [756]: { RΦ: t => ({ TΦ: "O", m: [] }) }, [2203]: { RΦ: t => ({ TΦ: "T", e: [{ t: __RΦ.a(2202) }] }) }, [2202]: { RΦ: t => ({ TΦ: "O", m: [{ n: "type", f: "", t: __RΦ.a(2198) }, { n: "text", f: "", t: __RΦ.a(13) }] }) }, [2198]: { LΦ: t => "text" }, [20]: { LΦ: t => Boolean } } };
19
- const model_1 = require("../model");
20
- const xml_1 = require("../xml");
21
- // string is <string>value</string>
22
- (0, model_1.createModel)(String, {
23
- toXML: __RΦ.f((ctx) => {
24
- return {
25
- elements: [(0, xml_1.fromContent)(ctx.object, "string")],
26
- };
27
- }, [__RΦ.m("rt:p", [{ n: "ctx", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(100))], "toXML"),
28
- fromXML: __RΦ.f((ctx) => {
29
- return String((0, xml_1.getContent)(ctx.xml.elements[0]));
30
- }, [__RΦ.m("rt:p", [{ n: "ctx", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(13))], "fromXML"),
31
- });
32
- // number is <number>value</number>
33
- (0, model_1.createModel)(Number, {
34
- toXML: __RΦ.f((ctx) => {
35
- return {
36
- elements: [(0, xml_1.fromContent)(String(ctx.object), "number")],
37
- };
38
- }, [__RΦ.m("rt:p", [{ n: "ctx", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(100))], "toXML"),
39
- fromXML: __RΦ.f((ctx) => {
40
- return Number((0, xml_1.getContent)(ctx.xml.elements[0]));
41
- }, [__RΦ.m("rt:p", [{ n: "ctx", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(14))], "fromXML"),
42
- });
43
- // number is <boolean>value</boolean>
44
- (0, model_1.createModel)(Boolean, {
45
- toXML: __RΦ.f((ctx) => {
46
- return {
47
- elements: [
48
- Object.assign({ type: "element", name: "boolean" }, (0, xml_1.fromContent)(String(ctx.object))),
49
- ],
50
- };
51
- }, [__RΦ.m("rt:p", [{ n: "ctx", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(2342))], "toXML"),
52
- fromXML: __RΦ.f((ctx) => {
53
- return Boolean((0, xml_1.getContent)(ctx.xml.elements[0]));
54
- }, [__RΦ.m("rt:p", [{ n: "ctx", t: () => __RΦ.a(4), b: void 0, v: null }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(20))], "fromXML"),
55
- });
@@ -1,93 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PropertyToXMLConversionError = exports.ToXMLConversionError = exports.PropertyFromXMLConversionError = exports.FromXMLConversionError = void 0;
4
- 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 => {
5
- let t = __RΦ.t[id];
6
- if (t === void 0)
7
- return void 0;
8
- if (t.RΦ) {
9
- let r = t.RΦ;
10
- delete t.RΦ;
11
- __RΦ.r(t, r(t));
12
- }
13
- else if (t.LΦ) {
14
- let l = t.LΦ();
15
- delete t.LΦ;
16
- __RΦ.t[id] = t = l;
17
- }
18
- return t;
19
- }, t: { [2699]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(2700), p: [__RΦ.a(2697), __RΦ.a(211)], m: [{ n: "model", f: "", t: __RΦ.a(2701) }, { n: "xml", f: "", t: __RΦ.a(100) }] }) }, [2700]: { LΦ: t => Object }, [2697]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(220), p: [__RΦ.a(2642)] }) }, [220]: { LΦ: t => require("./model/types").IΦfromXMLContext }, [2642]: { LΦ: t => Object }, [211]: { LΦ: t => "properties" }, [2701]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(269), p: [__RΦ.a(2642)] }) }, [269]: { LΦ: t => require("./model").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 => require("./types").IΦXMLElement }, [8]: { RΦ: t => ({ TΦ: "U" }) }, [13]: { LΦ: t => String }, [2651]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(2652), p: [__RΦ.a(2649), __RΦ.a(211)], m: [{ n: "model", f: "", t: __RΦ.a(2655) }, { n: "xml", f: "", t: __RΦ.a(100) }] }) }, [2652]: { LΦ: t => Object }, [2649]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(220), p: [__RΦ.a(2647)] }) }, [2647]: { LΦ: t => Object }, [2655]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(269), p: [__RΦ.a(2647)] }) }, [2653]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(298), p: [__RΦ.a(2647)] }) }, [298]: { LΦ: t => require("./model/types").IΦPropertyFromXMLContext }, [2718]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(2719), p: [__RΦ.a(2716), __RΦ.a(211)], m: [{ n: "object", f: "", t: __RΦ.a(2665) }, { n: "model", f: "", t: __RΦ.a(2720) }] }) }, [2719]: { LΦ: t => Object }, [2716]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(258), p: [__RΦ.a(2665)] }) }, [258]: { LΦ: t => require("./model/types").IΦtoXMLContext }, [2665]: { LΦ: t => Object }, [2720]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(269), p: [__RΦ.a(2665)] }) }, [2674]: { RΦ: t => ({ TΦ: "m", t: __RΦ.a(2675), p: [__RΦ.a(2672), __RΦ.a(211)], m: [{ n: "object", f: "", t: __RΦ.a(2670) }, { n: "model", f: "", t: __RΦ.a(2680) }] }) }, [2675]: { LΦ: t => Object }, [2672]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(258), p: [__RΦ.a(2670)] }) }, [2670]: { LΦ: t => Object }, [2680]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(269), p: [__RΦ.a(2670)] }) }, [2676]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1322), p: [__RΦ.a(2670)] }) }, [1322]: { LΦ: t => require("./model/types").IΦPropertyToXMLContext } } };
20
- 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
- exports.FromXMLConversionError = FromXMLConversionError;
30
- (t => __RΦ.t[2641] = t)(FromXMLConversionError);
31
- __RΦ.m("rt:SP", [])(FromXMLConversionError);
32
- __RΦ.m("rt:P", ["name", "context", "error"])(FromXMLConversionError);
33
- __RΦ.m("rt:Sm", [])(FromXMLConversionError);
34
- __RΦ.m("rt:m", [])(FromXMLConversionError);
35
- __RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(2699), b: void 0, v: null, f: "$" }, { n: "error", t: () => __RΦ.a(8), b: void 0, v: null, f: "$" }])(FromXMLConversionError);
36
- __RΦ.m("rt:f", "Ce")(FromXMLConversionError);
37
- __RΦ.m("rt:t", () => __RΦ.a(13))(FromXMLConversionError.prototype, "name");
38
- __RΦ.m("rt:f", "P")(FromXMLConversionError.prototype, "name");
39
- class PropertyFromXMLConversionError extends FromXMLConversionError {
40
- constructor(context, propertyContext, error) {
41
- super(context, error);
42
- this.propertyContext = propertyContext;
43
- this.name = "PropertyFromXMLConversionError";
44
- this.message = `[Model: ${context.model.type.name}] failed to convert prop <${String(propertyContext.property.name)}> from XML`;
45
- }
46
- }
47
- exports.PropertyFromXMLConversionError = PropertyFromXMLConversionError;
48
- (t => __RΦ.t[2646] = t)(PropertyFromXMLConversionError);
49
- __RΦ.m("rt:SP", [])(PropertyFromXMLConversionError);
50
- __RΦ.m("rt:P", ["name", "propertyContext"])(PropertyFromXMLConversionError);
51
- __RΦ.m("rt:Sm", [])(PropertyFromXMLConversionError);
52
- __RΦ.m("rt:m", [])(PropertyFromXMLConversionError);
53
- __RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(2651), b: void 0, v: null }, { n: "propertyContext", t: () => __RΦ.a(2653), b: void 0, v: null, f: "$" }, { n: "error", t: () => __RΦ.a(8), b: void 0, v: null }])(PropertyFromXMLConversionError);
54
- __RΦ.m("rt:f", "Ce")(PropertyFromXMLConversionError);
55
- __RΦ.m("rt:t", () => __RΦ.a(13))(PropertyFromXMLConversionError.prototype, "name");
56
- __RΦ.m("rt:f", "P")(PropertyFromXMLConversionError.prototype, "name");
57
- class ToXMLConversionError extends Error {
58
- constructor(context, error) {
59
- const message = `[Model: ${context.model.type.name}] failed to convert to XML`;
60
- super(message);
61
- this.context = context;
62
- this.error = error;
63
- this.name = "ToXMLConversionError";
64
- }
65
- }
66
- exports.ToXMLConversionError = ToXMLConversionError;
67
- (t => __RΦ.t[2664] = t)(ToXMLConversionError);
68
- __RΦ.m("rt:SP", [])(ToXMLConversionError);
69
- __RΦ.m("rt:P", ["name", "context", "error"])(ToXMLConversionError);
70
- __RΦ.m("rt:Sm", [])(ToXMLConversionError);
71
- __RΦ.m("rt:m", [])(ToXMLConversionError);
72
- __RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(2718), b: void 0, v: null, f: "$" }, { n: "error", t: () => __RΦ.a(8), b: void 0, v: null, f: "$" }])(ToXMLConversionError);
73
- __RΦ.m("rt:f", "Ce")(ToXMLConversionError);
74
- __RΦ.m("rt:t", () => __RΦ.a(13))(ToXMLConversionError.prototype, "name");
75
- __RΦ.m("rt:f", "P")(ToXMLConversionError.prototype, "name");
76
- class PropertyToXMLConversionError extends ToXMLConversionError {
77
- constructor(context, propertyContext, error) {
78
- super(context, error);
79
- this.propertyContext = propertyContext;
80
- this.name = "PropertyToXMLConversionError";
81
- this.message = `[Model: ${context.model.type.name}] failed to convert prop <${String(propertyContext.property.name)}> to XML`;
82
- }
83
- }
84
- exports.PropertyToXMLConversionError = PropertyToXMLConversionError;
85
- (t => __RΦ.t[2669] = t)(PropertyToXMLConversionError);
86
- __RΦ.m("rt:SP", [])(PropertyToXMLConversionError);
87
- __RΦ.m("rt:P", ["name", "propertyContext"])(PropertyToXMLConversionError);
88
- __RΦ.m("rt:Sm", [])(PropertyToXMLConversionError);
89
- __RΦ.m("rt:m", [])(PropertyToXMLConversionError);
90
- __RΦ.m("rt:p", [{ n: "context", t: () => __RΦ.a(2674), b: void 0, v: null }, { n: "propertyContext", t: () => __RΦ.a(2676), b: void 0, v: null, f: "$" }, { n: "error", t: () => __RΦ.a(8), b: void 0, v: null }])(PropertyToXMLConversionError);
91
- __RΦ.m("rt:f", "Ce")(PropertyToXMLConversionError);
92
- __RΦ.m("rt:t", () => __RΦ.a(13))(PropertyToXMLConversionError.prototype, "name");
93
- __RΦ.m("rt:f", "P")(PropertyToXMLConversionError.prototype, "name");
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- 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 => {
4
- let t = __RΦ.t[id];
5
- if (t === void 0)
6
- return void 0;
7
- if (t.RΦ) {
8
- let r = t.RΦ;
9
- delete t.RΦ;
10
- __RΦ.r(t, r(t));
11
- }
12
- else if (t.LΦ) {
13
- let l = t.LΦ();
14
- delete t.LΦ;
15
- __RΦ.t[id] = t = l;
16
- }
17
- return t;
18
- }, t: { [2363]: { RΦ: t => ({ TΦ: "[", e: __RΦ.a(2362) }) }, [2362]: { RΦ: t => ({ TΦ: "g", t: __RΦ.a(1066), p: [__RΦ.a(2360), __RΦ.a(2361)] }) }, [1066]: { LΦ: t => Map }, [2360]: { LΦ: t => Object }, [2361]: { LΦ: t => Object }, [4]: { RΦ: t => ({ TΦ: "~" }) }, [22]: { RΦ: t => ({ TΦ: "V" }) } } };
19
- function mergeMaps(...sources) {
20
- const res = new Map();
21
- sources.forEach(__RΦ.f((source) => {
22
- const overrides = new Map();
23
- const additions = new Map();
24
- 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(2362))], ""));
25
- if (overrides.size) {
26
- const entries = Array.from(res.entries());
27
- entries.forEach(__RΦ.f((entry) => {
28
- const key = entry[0];
29
- if (overrides.has(key))
30
- entry[1] = overrides.get(key);
31
- }, [__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))], ""));
32
- res.clear();
33
- 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(2360), b: void 0, v: null }, { n: "val", t: () => __RΦ.a(2361), b: void 0, v: null }], v: null, f: "[" }]), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(2362))], ""));
34
- }
35
- 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(2362))], ""));
36
- }, [__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))], ""));
37
- return res;
38
- }
39
- exports.default = mergeMaps;
40
- __RΦ.m("rt:p", [{ n: "sources", t: () => __RΦ.a(2363), b: void 0, v: null, f: "3" }])(mergeMaps);
41
- __RΦ.m("rt:f", "F")(mergeMaps);
42
- __RΦ.m("rt:t", () => __RΦ.a(2362))(mergeMaps);
@@ -1,6 +0,0 @@
1
- export type { XMLElement, XMLRoot, Constructor } from "./types";
2
- export { defaults } from "./defaults";
3
- export { getModel, createModel, Model, Prop } from "./model";
4
- export * from "./errors";
5
- import XML from "./xml";
6
- export { XML };
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.XML = exports.Prop = exports.Model = exports.createModel = exports.getModel = exports.defaults = void 0;
21
- 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 => {
22
- let t = __RΦ.t[id];
23
- if (t === void 0)
24
- return void 0;
25
- if (t.RΦ) {
26
- let r = t.RΦ;
27
- delete t.RΦ;
28
- __RΦ.r(t, r(t));
29
- }
30
- else if (t.LΦ) {
31
- let l = t.LΦ();
32
- delete t.LΦ;
33
- __RΦ.t[id] = t = l;
34
- }
35
- return t;
36
- }, t: {} };
37
- var defaults_1 = require("./defaults");
38
- Object.defineProperty(exports, "defaults", { enumerable: true, get: function () { return defaults_1.defaults; } });
39
- var model_1 = require("./model");
40
- Object.defineProperty(exports, "getModel", { enumerable: true, get: function () { return model_1.getModel; } });
41
- Object.defineProperty(exports, "createModel", { enumerable: true, get: function () { return model_1.createModel; } });
42
- Object.defineProperty(exports, "Model", { enumerable: true, get: function () { return model_1.Model; } });
43
- Object.defineProperty(exports, "Prop", { enumerable: true, get: function () { return model_1.Prop; } });
44
- __exportStar(require("./errors"), exports);
45
- const xml_1 = __importDefault(require("./xml"));
46
- exports.XML = xml_1.default;
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolve = exports.MiddlewareChain = void 0;
4
- 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 => {
5
- let t = __RΦ.t[id];
6
- if (t === void 0)
7
- return void 0;
8
- if (t.RΦ) {
9
- let r = t.RΦ;
10
- delete t.RΦ;
11
- __RΦ.r(t, r(t));
12
- }
13
- else if (t.LΦ) {
14
- let l = t.LΦ();
15
- delete t.LΦ;
16
- __RΦ.t[id] = t = l;
17
- }
18
- return t;
19
- }, 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 } } };
20
- var IΦChainableOptions = { name: "ChainableOptions", prototype: {}, identity: Symbol("ChainableOptions (interface)") };
21
- (t => __RΦ.t[106] = t)(IΦChainableOptions);
22
- __RΦ.m("rt:P", ["parent", "middlewares"])(IΦChainableOptions);
23
- __RΦ.m("rt:m", [])(IΦChainableOptions);
24
- __RΦ.m("rt:f", "I")(IΦChainableOptions);
25
- __RΦ.m("rt:t", () => __RΦ.a(109))(IΦChainableOptions.prototype, "parent");
26
- __RΦ.m("rt:f", "P")(IΦChainableOptions.prototype, "parent");
27
- __RΦ.m("rt:t", () => __RΦ.a(112))(IΦChainableOptions.prototype, "middlewares");
28
- __RΦ.m("rt:f", "P")(IΦChainableOptions.prototype, "middlewares");
29
- function* MiddlewareChain(options) {
30
- do {
31
- for (let index = options.middlewares.length - 1; index >= 0; index--) {
32
- yield options.middlewares[index];
33
- }
34
- if (options.parent)
35
- options = options.parent;
36
- else
37
- return;
38
- } while (true);
39
- }
40
- exports.MiddlewareChain = MiddlewareChain;
41
- __RΦ.m("rt:p", [{ n: "options", t: () => __RΦ.a(115), b: void 0, v: null }])(MiddlewareChain);
42
- __RΦ.m("rt:f", "F")(MiddlewareChain);
43
- __RΦ.m("rt:t", () => __RΦ.a(134))(MiddlewareChain);
44
- function resolve(middlewares, context) {
45
- const next = __RΦ.f(() => {
46
- const { value: nextMiddleware, done } = middlewares.next();
47
- if (done || !nextMiddleware) {
48
- // previous middlewares should have returned a value before
49
- // TODO: dedicated error class
50
- throw new Error("no more next middleware");
51
- }
52
- else {
53
- return nextMiddleware(context, next);
54
- }
55
- }, [__RΦ.m("rt:p", []), __RΦ.m("rt:f", "F>"), __RΦ.m("rt:t", () => __RΦ.a(145))], "next");
56
- return next();
57
- }
58
- exports.resolve = resolve;
59
- __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);
60
- __RΦ.m("rt:f", "F")(resolve);
61
- __RΦ.m("rt:t", () => __RΦ.a(145))(resolve);
@@ -1,23 +0,0 @@
1
- import type { Constructor } from "typescript-rtti";
2
- import { XMLModelOptions, XMLModelPropertyOptions, CreateXMLModelOptions } from "./types";
3
- import { XMLRoot } from "../types";
4
- export declare class XMLModel<T = any> {
5
- readonly type: Constructor<T>;
6
- options: XMLModelOptions<T>;
7
- constructor(type: Constructor<T>, options: CreateXMLModelOptions<T>);
8
- fromXML(xml: XMLRoot | string): T;
9
- toXML(instance: object): XMLRoot;
10
- get reflectedClass(): import("typescript-rtti").ReflectedClass<Constructor<T>>;
11
- resolveAllProperties(): Map<string, XMLModelPropertyOptions<any> & {
12
- model: any;
13
- }>;
14
- }
15
- export declare function createModel<T>(type: Constructor<T>, options: CreateXMLModelOptions<T>): XMLModel<T>;
16
- declare type ModelID<T> = Constructor<T>;
17
- export declare const Models: Map<ModelID<unknown>, XMLModel<unknown>>;
18
- export declare function findModel<T>(id: ModelID<T>): XMLModel<T> | undefined;
19
- export declare function getModel<T>(id: ModelID<T>): XMLModel<T>;
20
- declare function ModelDecoratorFactory<T>(options?: CreateXMLModelOptions<T>): (constructor: Constructor<T>) => void;
21
- export { ModelDecoratorFactory as Model };
22
- export { Prop } from "./property";
23
- import "../defaults/models";