xml-model 1.3.1 → 1.3.2
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/dist/_virtual/_commonjsHelpers.js +4 -10
- package/dist/defaults.js +9 -8
- package/dist/errors.js +14 -20
- package/dist/middleware.js +4 -10
- package/dist/model/built-ins.js +0 -3
- package/dist/model/index.js +30 -38
- package/dist/model/property.js +9 -13
- package/dist/model/registry.js +2 -9
- package/dist/node_modules/reflect-metadata/Reflect.js +9 -70
- package/dist/util/is-regexp.js +0 -3
- package/dist/util/kebab-case.js +0 -3
- package/dist/util/merge-maps.js +1 -5
- package/dist/vite/index.d.ts +53 -0
- package/dist/xml/index.js +8 -24
- package/package.json +11 -9
- package/dist/model/types.js +0 -2
- package/dist/types.js +0 -2
- package/vite/dist/src/class-names.test.d.ts +0 -9
- package/vite/dist/src/defaults.d.ts +0 -15
- package/vite/dist/src/errors.d.ts +0 -24
- package/vite/dist/src/index.d.ts +0 -8
- package/vite/dist/src/middleware.d.ts +0 -10
- package/vite/dist/src/model/built-ins.d.ts +0 -3
- package/vite/dist/src/model/index.d.ts +0 -21
- package/vite/dist/src/model/property.d.ts +0 -6
- package/vite/dist/src/model/registry.d.ts +0 -9
- package/vite/dist/src/model/types.d.ts +0 -74
- package/vite/dist/src/model.test.d.ts +0 -2
- package/vite/dist/src/types.d.ts +0 -17
- package/vite/dist/src/util/is-regexp.d.ts +0 -12
- package/vite/dist/src/util/kebab-case.d.ts +0 -16
- package/vite/dist/src/util/merge-maps.d.ts +0 -2
- package/vite/dist/src/xml/index.d.ts +0 -33
- package/vite/dist/src/xml/xml-js.d.ts +0 -7
- /package/{vite/dist → dist/vite}/index.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/common/format.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/common/index.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/api-call-transformer.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/common/class-analyzer.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/common/compile-error.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/common/import-analyzer.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/common/interface-analyzer.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/common/visitor-base.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/declarations-emitter.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/encode-parameter.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/find-relative-path.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/flags.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/forward-ref.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/get-exports-for-symbol.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/index.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/legacy-decorator.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/legacy-type-encoder.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/literal-node.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/metadata-collector.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/metadata-decorator.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/metadata-emitter.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/metadata-encoder.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/rt-helper.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/rtti-visitor-base.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/serialize.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/type-encoder.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/type-literal.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/utils.js +0 -0
- /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/workarounds.js +0 -0
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
4
2
|
function getDefaultExportFromCjs(x) {
|
|
5
3
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
6
4
|
}
|
|
7
|
-
__name(getDefaultExportFromCjs, "getDefaultExportFromCjs");
|
|
8
5
|
function getDefaultExportFromNamespaceIfPresent(n) {
|
|
9
6
|
return n && Object.prototype.hasOwnProperty.call(n, "default") ? n["default"] : n;
|
|
10
7
|
}
|
|
11
|
-
__name(getDefaultExportFromNamespaceIfPresent, "getDefaultExportFromNamespaceIfPresent");
|
|
12
8
|
function getDefaultExportFromNamespaceIfNotNamed(n) {
|
|
13
9
|
return n && Object.prototype.hasOwnProperty.call(n, "default") && Object.keys(n).length === 1 ? n["default"] : n;
|
|
14
10
|
}
|
|
15
|
-
__name(getDefaultExportFromNamespaceIfNotNamed, "getDefaultExportFromNamespaceIfNotNamed");
|
|
16
11
|
function getAugmentedNamespace(n) {
|
|
17
12
|
if (Object.prototype.hasOwnProperty.call(n, "__esModule")) return n;
|
|
18
13
|
var f = n.default;
|
|
19
14
|
if (typeof f == "function") {
|
|
20
|
-
var a =
|
|
15
|
+
var a = function a2() {
|
|
21
16
|
var isInstance = false;
|
|
22
17
|
try {
|
|
23
18
|
isInstance = this instanceof a2;
|
|
@@ -27,7 +22,7 @@ function getAugmentedNamespace(n) {
|
|
|
27
22
|
return Reflect.construct(f, arguments, this.constructor);
|
|
28
23
|
}
|
|
29
24
|
return f.apply(this, arguments);
|
|
30
|
-
}
|
|
25
|
+
};
|
|
31
26
|
a.prototype = f.prototype;
|
|
32
27
|
} else a = {};
|
|
33
28
|
Object.defineProperty(a, "__esModule", { value: true });
|
|
@@ -35,14 +30,13 @@ function getAugmentedNamespace(n) {
|
|
|
35
30
|
var d = Object.getOwnPropertyDescriptor(n, k);
|
|
36
31
|
Object.defineProperty(a, k, d.get ? d : {
|
|
37
32
|
enumerable: true,
|
|
38
|
-
get:
|
|
33
|
+
get: function() {
|
|
39
34
|
return n[k];
|
|
40
|
-
}
|
|
35
|
+
}
|
|
41
36
|
});
|
|
42
37
|
});
|
|
43
38
|
return a;
|
|
44
39
|
}
|
|
45
|
-
__name(getAugmentedNamespace, "getAugmentedNamespace");
|
|
46
40
|
export {
|
|
47
41
|
commonjsGlobal,
|
|
48
42
|
getAugmentedNamespace,
|
package/dist/defaults.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
import { getModel } from "./model/registry.js";
|
|
4
2
|
import { kebabCase } from "./util/kebab-case.js";
|
|
5
3
|
const defaults = {
|
|
6
4
|
fromXML() {
|
|
7
|
-
throw new TypeError(
|
|
5
|
+
throw new TypeError(
|
|
6
|
+
"you should define 'defaults.fromXML' yourself or provide a 'fromXML' function to @Model() decorator's options"
|
|
7
|
+
);
|
|
8
8
|
},
|
|
9
9
|
propertyResolveSourceElements(context) {
|
|
10
10
|
const innerElements = context.xml.elements[0]?.elements || [];
|
|
@@ -92,7 +92,7 @@ const defaults = {
|
|
|
92
92
|
if (property.model) {
|
|
93
93
|
return property.model.toXML(value);
|
|
94
94
|
}
|
|
95
|
-
const getXML =
|
|
95
|
+
const getXML = () => {
|
|
96
96
|
if (type.is("class")) {
|
|
97
97
|
const model = getModel(type.class);
|
|
98
98
|
return model.toXML(value);
|
|
@@ -108,19 +108,20 @@ const defaults = {
|
|
|
108
108
|
const firstType = type.types[0];
|
|
109
109
|
if (firstType.is("literal")) {
|
|
110
110
|
const firstTypeCtor = firstType.value.constructor;
|
|
111
|
-
if (type.types.every(
|
|
111
|
+
if (type.types.every(
|
|
112
|
+
(type2) => type2.is("literal") && type2.value.constructor === firstTypeCtor
|
|
113
|
+
)) {
|
|
112
114
|
const model = getModel(firstTypeCtor);
|
|
113
115
|
return model.toXML(context.value);
|
|
114
116
|
}
|
|
115
117
|
}
|
|
116
118
|
}
|
|
117
119
|
return { elements: [] };
|
|
118
|
-
}
|
|
120
|
+
};
|
|
119
121
|
const xml = getXML();
|
|
120
122
|
if (context.property.inline)
|
|
121
123
|
return { elements: xml.elements.map((el) => el.elements || []).flat() };
|
|
122
|
-
else
|
|
123
|
-
return xml;
|
|
124
|
+
else return xml;
|
|
124
125
|
}
|
|
125
126
|
};
|
|
126
127
|
export {
|
package/dist/errors.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
const _FromXMLConversionError = class _FromXMLConversionError extends Error {
|
|
1
|
+
class FromXMLConversionError extends Error {
|
|
4
2
|
constructor(context, error) {
|
|
5
3
|
const message = `[Model: ${context.model.type.name}] failed to convert from XML`;
|
|
6
4
|
super(message);
|
|
@@ -8,20 +6,18 @@ const _FromXMLConversionError = class _FromXMLConversionError extends Error {
|
|
|
8
6
|
this.error = error;
|
|
9
7
|
this.name = "FromXMLConversionError";
|
|
10
8
|
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
let FromXMLConversionError = _FromXMLConversionError;
|
|
14
|
-
const _PropertyFromXMLConversionError = class _PropertyFromXMLConversionError extends FromXMLConversionError {
|
|
9
|
+
}
|
|
10
|
+
class PropertyFromXMLConversionError extends FromXMLConversionError {
|
|
15
11
|
constructor(context, propertyContext, error) {
|
|
16
12
|
super(context, error);
|
|
17
13
|
this.propertyContext = propertyContext;
|
|
18
14
|
this.name = "PropertyFromXMLConversionError";
|
|
19
|
-
this.message = `[Model: ${context.model.type.name}] failed to convert prop <${String(
|
|
15
|
+
this.message = `[Model: ${context.model.type.name}] failed to convert prop <${String(
|
|
16
|
+
propertyContext.property.name
|
|
17
|
+
)}> from XML`;
|
|
20
18
|
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
let PropertyFromXMLConversionError = _PropertyFromXMLConversionError;
|
|
24
|
-
const _ToXMLConversionError = class _ToXMLConversionError extends Error {
|
|
19
|
+
}
|
|
20
|
+
class ToXMLConversionError extends Error {
|
|
25
21
|
constructor(context, cause) {
|
|
26
22
|
const message = `[Model: ${context.model.type.name}] failed to convert to XML`;
|
|
27
23
|
super(message);
|
|
@@ -29,19 +25,17 @@ const _ToXMLConversionError = class _ToXMLConversionError extends Error {
|
|
|
29
25
|
this.cause = cause;
|
|
30
26
|
this.name = "ToXMLConversionError";
|
|
31
27
|
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
let ToXMLConversionError = _ToXMLConversionError;
|
|
35
|
-
const _PropertyToXMLConversionError = class _PropertyToXMLConversionError extends ToXMLConversionError {
|
|
28
|
+
}
|
|
29
|
+
class PropertyToXMLConversionError extends ToXMLConversionError {
|
|
36
30
|
constructor(context, propertyContext, cause) {
|
|
37
31
|
super(context, cause);
|
|
38
32
|
this.propertyContext = propertyContext;
|
|
39
33
|
this.name = "PropertyToXMLConversionError";
|
|
40
|
-
this.message = `[Model: ${context.model.type.name}] failed to convert prop <${String(
|
|
34
|
+
this.message = `[Model: ${context.model.type.name}] failed to convert prop <${String(
|
|
35
|
+
propertyContext.property.name
|
|
36
|
+
)}> to XML`;
|
|
41
37
|
}
|
|
42
|
-
}
|
|
43
|
-
__name(_PropertyToXMLConversionError, "PropertyToXMLConversionError");
|
|
44
|
-
let PropertyToXMLConversionError = _PropertyToXMLConversionError;
|
|
38
|
+
}
|
|
45
39
|
export {
|
|
46
40
|
FromXMLConversionError,
|
|
47
41
|
PropertyFromXMLConversionError,
|
package/dist/middleware.js
CHANGED
|
@@ -1,29 +1,23 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
function* MiddlewareChain(options) {
|
|
4
2
|
do {
|
|
5
3
|
for (let index = options.middlewares.length - 1; index >= 0; index--) {
|
|
6
4
|
yield options.middlewares[index];
|
|
7
5
|
}
|
|
8
|
-
if (options.parent)
|
|
9
|
-
|
|
10
|
-
else
|
|
11
|
-
return;
|
|
6
|
+
if (options.parent) options = options.parent;
|
|
7
|
+
else return;
|
|
12
8
|
} while (true);
|
|
13
9
|
}
|
|
14
|
-
__name(MiddlewareChain, "MiddlewareChain");
|
|
15
10
|
function resolve(middlewares, context) {
|
|
16
|
-
const next =
|
|
11
|
+
const next = () => {
|
|
17
12
|
const { value: nextMiddleware, done } = middlewares.next();
|
|
18
13
|
if (done || !nextMiddleware) {
|
|
19
14
|
throw new Error("no more next middleware");
|
|
20
15
|
} else {
|
|
21
16
|
return nextMiddleware(context, next);
|
|
22
17
|
}
|
|
23
|
-
}
|
|
18
|
+
};
|
|
24
19
|
return next();
|
|
25
20
|
}
|
|
26
|
-
__name(resolve, "resolve");
|
|
27
21
|
export {
|
|
28
22
|
MiddlewareChain,
|
|
29
23
|
resolve
|
package/dist/model/built-ins.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
import { getContent, fromContent } from "../xml/index.js";
|
|
4
2
|
function registerBuiltIns(create) {
|
|
5
3
|
create(String, {
|
|
@@ -39,7 +37,6 @@ function registerBuiltIns(create) {
|
|
|
39
37
|
}
|
|
40
38
|
});
|
|
41
39
|
}
|
|
42
|
-
__name(registerBuiltIns, "registerBuiltIns");
|
|
43
40
|
export {
|
|
44
41
|
registerBuiltIns as default
|
|
45
42
|
};
|
package/dist/model/index.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
import "../_virtual/Reflect.js";
|
|
4
2
|
import { reflect } from "typescript-rtti";
|
|
5
3
|
import { ToXMLConversionError, PropertyToXMLConversionError, FromXMLConversionError, PropertyFromXMLConversionError } from "../errors.js";
|
|
@@ -27,10 +25,8 @@ function* ParentChain(constructor) {
|
|
|
27
25
|
}
|
|
28
26
|
return;
|
|
29
27
|
}
|
|
30
|
-
__name(ParentChain, "ParentChain");
|
|
31
28
|
function getParentModel(model) {
|
|
32
|
-
if (model.options.parent)
|
|
33
|
-
return model.options.parent;
|
|
29
|
+
if (model.options.parent) return model.options.parent;
|
|
34
30
|
for (const constructor of ParentChain(model.type)) {
|
|
35
31
|
const model2 = findModel(constructor);
|
|
36
32
|
if (model2) {
|
|
@@ -39,17 +35,15 @@ function getParentModel(model) {
|
|
|
39
35
|
}
|
|
40
36
|
return null;
|
|
41
37
|
}
|
|
42
|
-
|
|
43
|
-
const _XMLModel = class _XMLModel {
|
|
38
|
+
class XMLModel {
|
|
44
39
|
constructor(type, options) {
|
|
45
40
|
this.type = type;
|
|
46
41
|
const model = this;
|
|
47
42
|
let parent = void 0;
|
|
48
|
-
const getParent =
|
|
49
|
-
if (typeof parent === "undefined")
|
|
50
|
-
parent = getParentModel(this);
|
|
43
|
+
const getParent = () => {
|
|
44
|
+
if (typeof parent === "undefined") parent = getParentModel(this);
|
|
51
45
|
return parent;
|
|
52
|
-
}
|
|
46
|
+
};
|
|
53
47
|
let propertiesLoaded = false;
|
|
54
48
|
const properties = {
|
|
55
49
|
options: /* @__PURE__ */ new Map(),
|
|
@@ -116,20 +110,24 @@ const _XMLModel = class _XMLModel {
|
|
|
116
110
|
]
|
|
117
111
|
}
|
|
118
112
|
};
|
|
119
|
-
const loadProperties =
|
|
120
|
-
const props = this.reflectedClass.ownProperties.filter(
|
|
113
|
+
const loadProperties = () => {
|
|
114
|
+
const props = this.reflectedClass.ownProperties.filter(
|
|
115
|
+
(prop) => typeof prop.host.constructor.prototype[prop.name] !== "function"
|
|
116
|
+
);
|
|
121
117
|
props.forEach((property) => {
|
|
122
|
-
const options2 = getPropertyConversionOptions(
|
|
118
|
+
const options2 = getPropertyConversionOptions(
|
|
119
|
+
this.type,
|
|
120
|
+
property.name
|
|
121
|
+
);
|
|
123
122
|
if (!options2.ignored) {
|
|
124
123
|
properties.options.set(property.name, options2);
|
|
125
124
|
}
|
|
126
125
|
});
|
|
127
126
|
propertiesLoaded = true;
|
|
128
|
-
}
|
|
127
|
+
};
|
|
129
128
|
this.options = {
|
|
130
129
|
get properties() {
|
|
131
|
-
if (!propertiesLoaded)
|
|
132
|
-
loadProperties();
|
|
130
|
+
if (!propertiesLoaded) loadProperties();
|
|
133
131
|
return properties;
|
|
134
132
|
},
|
|
135
133
|
fromXML: {
|
|
@@ -148,16 +146,13 @@ const _XMLModel = class _XMLModel {
|
|
|
148
146
|
return options.tagname || defaults.tagnameFromModel(model);
|
|
149
147
|
}
|
|
150
148
|
};
|
|
151
|
-
if (options.parent)
|
|
152
|
-
this.options.parent = options.parent;
|
|
149
|
+
if (options.parent) this.options.parent = options.parent;
|
|
153
150
|
if (!getParent()) {
|
|
154
151
|
this.options.fromXML.middlewares.push((ctx) => defaults.fromXML(ctx));
|
|
155
152
|
this.options.toXML.middlewares.push((ctx) => defaults.toXML(ctx));
|
|
156
153
|
}
|
|
157
|
-
if (options.fromXML)
|
|
158
|
-
|
|
159
|
-
if (options.toXML)
|
|
160
|
-
this.options.toXML.middlewares.push(options.toXML);
|
|
154
|
+
if (options.fromXML) this.options.fromXML.middlewares.push(options.fromXML);
|
|
155
|
+
if (options.toXML) this.options.toXML.middlewares.push(options.toXML);
|
|
161
156
|
}
|
|
162
157
|
fromXML(xml) {
|
|
163
158
|
const _xml = typeof xml === "string" ? XML.parse(xml) : xml;
|
|
@@ -201,21 +196,21 @@ const _XMLModel = class _XMLModel {
|
|
|
201
196
|
const ownProperties = /* @__PURE__ */ new Map();
|
|
202
197
|
const parent = getParentModel(this);
|
|
203
198
|
this.options.properties.options.forEach((options, key) => {
|
|
204
|
-
ownProperties.set(
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
return Reflect.get(target, p, reciever);
|
|
210
|
-
|
|
211
|
-
|
|
199
|
+
ownProperties.set(
|
|
200
|
+
key,
|
|
201
|
+
new Proxy(options, {
|
|
202
|
+
get: (target, p, reciever) => {
|
|
203
|
+
if (p === "model") return this;
|
|
204
|
+
else return Reflect.get(target, p, reciever);
|
|
205
|
+
}
|
|
206
|
+
})
|
|
207
|
+
// FIXME: is typing ok ?
|
|
208
|
+
);
|
|
212
209
|
});
|
|
213
210
|
const res = parent ? mergeMaps(parent.resolveAllProperties(), ownProperties) : ownProperties;
|
|
214
211
|
return res;
|
|
215
212
|
}
|
|
216
|
-
}
|
|
217
|
-
__name(_XMLModel, "XMLModel");
|
|
218
|
-
let XMLModel = _XMLModel;
|
|
213
|
+
}
|
|
219
214
|
function createModel(type, options) {
|
|
220
215
|
if (findModel(type)) {
|
|
221
216
|
throw new TypeError(`a model for type ${type.name} already exists`);
|
|
@@ -224,14 +219,11 @@ function createModel(type, options) {
|
|
|
224
219
|
registrerModel(model);
|
|
225
220
|
return model;
|
|
226
221
|
}
|
|
227
|
-
__name(createModel, "createModel");
|
|
228
222
|
function ModelDecoratorFactory(options) {
|
|
229
223
|
return function(constructor) {
|
|
230
|
-
if (!findModel(constructor))
|
|
231
|
-
createModel(constructor, options || {});
|
|
224
|
+
if (!findModel(constructor)) createModel(constructor, options || {});
|
|
232
225
|
};
|
|
233
226
|
}
|
|
234
|
-
__name(ModelDecoratorFactory, "ModelDecoratorFactory");
|
|
235
227
|
registerBuiltIns(createModel);
|
|
236
228
|
export {
|
|
237
229
|
ModelDecoratorFactory as Model,
|
package/dist/model/property.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
import { reflect } from "typescript-rtti";
|
|
4
2
|
import { defaults } from "../defaults.js";
|
|
5
3
|
import isRegExp from "../util/is-regexp.js";
|
|
@@ -15,13 +13,12 @@ function resolvePropertyConversionOptions(options, constructor, property) {
|
|
|
15
13
|
},
|
|
16
14
|
inline: !!options.inline,
|
|
17
15
|
ignored: !!options.ignore,
|
|
18
|
-
isSourceElement:
|
|
16
|
+
isSourceElement: (...args) => defaults.propertySourceElementsFilter(...args),
|
|
19
17
|
resolveElements: options.resolveElements ? options.resolveElements : (...args) => defaults.propertyResolveSourceElements(...args),
|
|
20
|
-
fromXML:
|
|
21
|
-
toXML:
|
|
18
|
+
fromXML: (context) => (options.fromXML ?? defaults.propertyFromXML)(context),
|
|
19
|
+
toXML: (context) => (options.toXML ?? defaults.propertyToXML)(context)
|
|
22
20
|
};
|
|
23
|
-
if (options?.model)
|
|
24
|
-
_options.model = options.model;
|
|
21
|
+
if (options?.model) _options.model = options.model;
|
|
25
22
|
if (options?.sourceElements) {
|
|
26
23
|
const _sourceElements = options.sourceElements;
|
|
27
24
|
if (typeof _sourceElements === "string") {
|
|
@@ -34,7 +31,6 @@ function resolvePropertyConversionOptions(options, constructor, property) {
|
|
|
34
31
|
}
|
|
35
32
|
return _options;
|
|
36
33
|
}
|
|
37
|
-
__name(resolvePropertyConversionOptions, "resolvePropertyConversionOptions");
|
|
38
34
|
const PropertyOptions = /* @__PURE__ */ new Map();
|
|
39
35
|
function storePropertyConversionOptions(constructor, property, options) {
|
|
40
36
|
let map = PropertyOptions.get(constructor);
|
|
@@ -44,26 +40,26 @@ function storePropertyConversionOptions(constructor, property, options) {
|
|
|
44
40
|
}
|
|
45
41
|
map.set(property, options);
|
|
46
42
|
}
|
|
47
|
-
__name(storePropertyConversionOptions, "storePropertyConversionOptions");
|
|
48
43
|
function findPropertyConversionOptions(constructor, property) {
|
|
49
44
|
const options = PropertyOptions.get(constructor);
|
|
50
45
|
if (options) {
|
|
51
46
|
return options.get(property);
|
|
52
47
|
}
|
|
53
48
|
}
|
|
54
|
-
__name(findPropertyConversionOptions, "findPropertyConversionOptions");
|
|
55
49
|
function getPropertyConversionOptions(constructor, property) {
|
|
56
50
|
const options = findPropertyConversionOptions(constructor, property);
|
|
57
51
|
return options ?? resolvePropertyConversionOptions({}, constructor, property);
|
|
58
52
|
}
|
|
59
|
-
__name(getPropertyConversionOptions, "getPropertyConversionOptions");
|
|
60
53
|
function PropDecoratorFactory(options) {
|
|
61
54
|
return function(prototype, property) {
|
|
62
|
-
const _options = resolvePropertyConversionOptions(
|
|
55
|
+
const _options = resolvePropertyConversionOptions(
|
|
56
|
+
options ?? {},
|
|
57
|
+
prototype.constructor,
|
|
58
|
+
property
|
|
59
|
+
);
|
|
63
60
|
storePropertyConversionOptions(prototype.constructor, property, _options);
|
|
64
61
|
};
|
|
65
62
|
}
|
|
66
|
-
__name(PropDecoratorFactory, "PropDecoratorFactory");
|
|
67
63
|
export {
|
|
68
64
|
PropDecoratorFactory as Prop,
|
|
69
65
|
getPropertyConversionOptions
|
package/dist/model/registry.js
CHANGED
|
@@ -1,22 +1,15 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
1
|
const Models = /* @__PURE__ */ new Map();
|
|
4
2
|
function registrerModel(model) {
|
|
5
3
|
return Models.set(model.type, model);
|
|
6
4
|
}
|
|
7
|
-
__name(registrerModel, "registrerModel");
|
|
8
5
|
function findModel(id) {
|
|
9
6
|
return Models.get(id);
|
|
10
7
|
}
|
|
11
|
-
__name(findModel, "findModel");
|
|
12
8
|
function getModel(id) {
|
|
13
9
|
const model = findModel(id);
|
|
14
|
-
if (model)
|
|
15
|
-
|
|
16
|
-
else
|
|
17
|
-
throw new TypeError(`couldn't find model for type ${id.name}`);
|
|
10
|
+
if (model) return model;
|
|
11
|
+
else throw new TypeError(`couldn't find model for type ${id.name}`);
|
|
18
12
|
}
|
|
19
|
-
__name(getModel, "getModel");
|
|
20
13
|
export {
|
|
21
14
|
Models,
|
|
22
15
|
findModel,
|