xml-model 1.3.1 → 1.3.3

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 (71) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +4 -10
  2. package/dist/defaults.d.ts +13 -0
  3. package/dist/defaults.js +45 -9
  4. package/dist/errors.d.ts +16 -0
  5. package/dist/errors.js +14 -20
  6. package/dist/middleware.js +4 -10
  7. package/dist/model/built-ins.js +0 -3
  8. package/dist/model/index.d.ts +48 -0
  9. package/dist/model/index.js +58 -38
  10. package/dist/model/property.d.ts +12 -0
  11. package/dist/model/property.js +9 -13
  12. package/dist/model/registry.js +2 -9
  13. package/dist/model/types.d.ts +35 -0
  14. package/dist/node_modules/reflect-metadata/Reflect.js +9 -70
  15. package/dist/types.d.ts +8 -0
  16. package/dist/util/is-regexp.js +0 -3
  17. package/dist/util/kebab-case.js +0 -3
  18. package/dist/util/merge-maps.js +1 -5
  19. package/dist/vite/index.d.ts +80 -0
  20. package/{vite/dist → dist/vite}/index.js +9 -1
  21. package/dist/xml/index.d.ts +47 -0
  22. package/dist/xml/index.js +8 -24
  23. package/package.json +11 -9
  24. package/dist/model/types.js +0 -2
  25. package/dist/types.js +0 -2
  26. package/vite/dist/src/class-names.test.d.ts +0 -9
  27. package/vite/dist/src/defaults.d.ts +0 -15
  28. package/vite/dist/src/errors.d.ts +0 -24
  29. package/vite/dist/src/index.d.ts +0 -8
  30. package/vite/dist/src/middleware.d.ts +0 -10
  31. package/vite/dist/src/model/built-ins.d.ts +0 -3
  32. package/vite/dist/src/model/index.d.ts +0 -21
  33. package/vite/dist/src/model/property.d.ts +0 -6
  34. package/vite/dist/src/model/registry.d.ts +0 -9
  35. package/vite/dist/src/model/types.d.ts +0 -74
  36. package/vite/dist/src/model.test.d.ts +0 -2
  37. package/vite/dist/src/types.d.ts +0 -17
  38. package/vite/dist/src/util/is-regexp.d.ts +0 -12
  39. package/vite/dist/src/util/kebab-case.d.ts +0 -16
  40. package/vite/dist/src/util/merge-maps.d.ts +0 -2
  41. package/vite/dist/src/xml/index.d.ts +0 -33
  42. package/vite/dist/src/xml/xml-js.d.ts +0 -7
  43. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/common/format.js +0 -0
  44. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/common/index.js +0 -0
  45. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/api-call-transformer.js +0 -0
  46. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/common/class-analyzer.js +0 -0
  47. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/common/compile-error.js +0 -0
  48. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/common/import-analyzer.js +0 -0
  49. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/common/interface-analyzer.js +0 -0
  50. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/common/visitor-base.js +0 -0
  51. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/declarations-emitter.js +0 -0
  52. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/encode-parameter.js +0 -0
  53. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/find-relative-path.js +0 -0
  54. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/flags.js +0 -0
  55. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/forward-ref.js +0 -0
  56. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/get-exports-for-symbol.js +0 -0
  57. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/index.js +0 -0
  58. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/legacy-decorator.js +0 -0
  59. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/legacy-type-encoder.js +0 -0
  60. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/literal-node.js +0 -0
  61. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/metadata-collector.js +0 -0
  62. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/metadata-decorator.js +0 -0
  63. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/metadata-emitter.js +0 -0
  64. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/metadata-encoder.js +0 -0
  65. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/rt-helper.js +0 -0
  66. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/rtti-visitor-base.js +0 -0
  67. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/serialize.js +0 -0
  68. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/type-encoder.js +0 -0
  69. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/type-literal.js +0 -0
  70. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/utils.js +0 -0
  71. /package/{vite/dist → dist/vite}/node_modules/typescript-rtti/dist.esm/transformer/workarounds.js +0 -0
@@ -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
- return model;
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,
@@ -2,57 +2,86 @@ import { ReflectedProperty } from 'typescript-rtti';
2
2
  import { XMLRoot, XMLElement } from '../types';
3
3
  import { Middleware } from '../middleware';
4
4
  import { XMLModel } from './index';
5
+ /** The name of a property on type `T` (string keys only). */
5
6
  export type XMLModelProperty<T> = Extract<keyof T, string>;
7
+ /** A partial record mapping property names to their runtime values. */
6
8
  export type PropertiesRecord<T> = {
7
9
  [key in keyof T]?: T[key];
8
10
  };
11
+ /** A partial record mapping property names to their XML representations. */
9
12
  export type XMLPropertiesRecord<T> = {
10
13
  [key in keyof T]?: XMLRoot;
11
14
  };
15
+ /** Context passed to a property's `toXML` conversion function. */
12
16
  export interface PropertyToXMLContext<T> extends Omit<toXMLContext<T>, "properties"> {
13
17
  property: XMLModelPropertyOptions<T>;
14
18
  value: T[keyof T];
15
19
  }
20
+ /** Context passed to a property's `fromXML` conversion function. */
16
21
  export interface PropertyFromXMLContext<T> extends Omit<fromXMLContext<T>, "properties"> {
17
22
  property: XMLModelPropertyOptions<T>;
23
+ /** The XML elements resolved as source data for this property. */
18
24
  elements: XMLElement[];
19
25
  }
26
+ /** Fully resolved runtime options for a single model property. */
20
27
  export interface XMLModelPropertyOptions<T> {
21
28
  name: keyof T;
22
29
  reflected: ReflectedProperty;
30
+ /** XML tag name used for this property. Derived from the property name in kebab-case by default. */
23
31
  tagname: string;
24
32
  ignored: boolean;
33
+ /** When `true`, array items are serialised/deserialised directly into the parent element without a wrapper tag. */
25
34
  inline: boolean;
35
+ /** Override model used to convert this property's value. */
26
36
  model?: XMLModel<any>;
37
+ /** Returns `true` when the given element should be considered a source for this property. */
27
38
  isSourceElement: (element: XMLElement, context: Omit<PropertyFromXMLContext<T>, "elements">) => boolean;
39
+ /** Collects the XML elements that will be passed to `fromXML` for this property. */
28
40
  resolveElements: (context: Omit<PropertyFromXMLContext<T>, "elements">) => XMLElement[];
29
41
  fromXML: (context: PropertyFromXMLContext<T>) => T[keyof T];
30
42
  toXML: (context: PropertyToXMLContext<T>) => XMLRoot;
31
43
  }
44
+ /** User-facing options accepted by the `@Prop()` decorator and `createModel`. */
32
45
  export interface CreateXMLModelPropertyOptions<T> {
46
+ /** Override the XML tag name for this property. */
33
47
  tagname?: string;
48
+ /**
49
+ * Controls which XML elements are treated as the source for this property.
50
+ * - `string`: exact tag name match
51
+ * - `RegExp`: tag name pattern match
52
+ * - `function`: custom predicate
53
+ */
34
54
  sourceElements?: string | RegExp | XMLModelPropertyOptions<T>["isSourceElement"];
55
+ /** Custom element resolver; overrides the default source-element resolution logic. */
35
56
  resolveElements?: XMLModelPropertyOptions<T>["resolveElements"];
36
57
  toXML?: XMLModelPropertyOptions<T>["toXML"];
37
58
  fromXML?: XMLModelPropertyOptions<T>["fromXML"];
59
+ /** When `true`, array items are inlined directly into the parent element. */
38
60
  inline?: boolean;
61
+ /** When `true`, the property is excluded from XML conversion entirely. */
39
62
  ignore?: boolean;
63
+ /** Explicit model to use for this property's value. */
40
64
  model?: XMLModelPropertyOptions<T>["model"];
41
65
  }
42
66
  interface ConversionOptions<C, T> {
43
67
  parent: ConversionOptions<C, T> | null;
44
68
  middlewares: Middleware<C, T>[];
45
69
  }
70
+ /** Context passed to the model-level `fromXML` middleware chain. */
46
71
  export interface fromXMLContext<T> {
47
72
  xml: XMLRoot;
73
+ /** Lazily computed property values derived from `xml`. */
48
74
  properties: PropertiesRecord<T>;
49
75
  model: XMLModel<T>;
50
76
  }
77
+ /** Context passed to the model-level `toXML` middleware chain. */
51
78
  export interface toXMLContext<T> {
52
79
  object: T;
80
+ /** Lazily computed per-property XML fragments. */
53
81
  properties: XMLPropertiesRecord<T>;
54
82
  model: XMLModel<T>;
55
83
  }
84
+ /** Internal fully-resolved model options (not the user-facing create options). */
56
85
  export interface XMLModelOptions<T> {
57
86
  parent?: XMLModel<T>;
58
87
  properties: {
@@ -62,12 +91,18 @@ export interface XMLModelOptions<T> {
62
91
  };
63
92
  fromXML: ConversionOptions<fromXMLContext<T>, T>;
64
93
  toXML: ConversionOptions<toXMLContext<T>, XMLRoot>;
94
+ /** XML tag name for the root element of this model. */
65
95
  tagname: string;
66
96
  }
97
+ /** User-facing options for `createModel` / `@Model()`. */
67
98
  export interface CreateXMLModelOptions<T> {
99
+ /** Explicitly set the parent model (otherwise inferred from the prototype chain). */
68
100
  parent?: XMLModelOptions<T>["parent"];
101
+ /** Middleware that converts XML into an instance of `T`. Required unless a parent model provides one. */
69
102
  fromXML?: XMLModelOptions<T>["fromXML"]["middlewares"][number];
103
+ /** Middleware that converts an instance of `T` into XML. Optional — a default implementation is provided. */
70
104
  toXML?: XMLModelOptions<T>["toXML"]["middlewares"][number];
105
+ /** Override the root XML tag name. Defaults to the class name in kebab-case. */
71
106
  tagname?: XMLModelOptions<T>["tagname"];
72
107
  }
73
108
  export { XMLModel };
@@ -1,18 +1,16 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
1
  import { commonjsGlobal } from "../../_virtual/_commonjsHelpers.js";
4
2
  import { __exports as _Reflect } from "../../_virtual/Reflect2.js";
5
3
  var hasRequired_Reflect;
6
4
  function require_Reflect() {
7
5
  if (hasRequired_Reflect) return _Reflect;
8
6
  hasRequired_Reflect = 1;
9
- var Reflect2;
10
- (function(Reflect3) {
7
+ var Reflect;
8
+ (function(Reflect2) {
11
9
  (function(factory) {
12
10
  var root = typeof commonjsGlobal === "object" ? commonjsGlobal : typeof self === "object" ? self : typeof this === "object" ? this : Function("return this;")();
13
- var exporter = makeExporter(Reflect3);
11
+ var exporter = makeExporter(Reflect2);
14
12
  if (typeof root.Reflect === "undefined") {
15
- root.Reflect = Reflect3;
13
+ root.Reflect = Reflect2;
16
14
  } else {
17
15
  exporter = makeExporter(root.Reflect, exporter);
18
16
  }
@@ -26,7 +24,6 @@ function require_Reflect() {
26
24
  previous(key, value);
27
25
  };
28
26
  }
29
- __name(makeExporter, "makeExporter");
30
27
  })(function(exporter) {
31
28
  var hasOwn = Object.prototype.hasOwnProperty;
32
29
  var supportsSymbol = typeof Symbol === "function";
@@ -81,7 +78,6 @@ function require_Reflect() {
81
78
  return DecorateConstructor(decorators, target);
82
79
  }
83
80
  }
84
- __name(decorate, "decorate");
85
81
  exporter("decorate", decorate);
86
82
  function metadata(metadataKey, metadataValue) {
87
83
  function decorator(target, propertyKey) {
@@ -91,10 +87,8 @@ function require_Reflect() {
91
87
  throw new TypeError();
92
88
  OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);
93
89
  }
94
- __name(decorator, "decorator");
95
90
  return decorator;
96
91
  }
97
- __name(metadata, "metadata");
98
92
  exporter("metadata", metadata);
99
93
  function defineMetadata(metadataKey, metadataValue, target, propertyKey) {
100
94
  if (!IsObject(target))
@@ -103,7 +97,6 @@ function require_Reflect() {
103
97
  propertyKey = ToPropertyKey(propertyKey);
104
98
  return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);
105
99
  }
106
- __name(defineMetadata, "defineMetadata");
107
100
  exporter("defineMetadata", defineMetadata);
108
101
  function hasMetadata(metadataKey, target, propertyKey) {
109
102
  if (!IsObject(target))
@@ -112,7 +105,6 @@ function require_Reflect() {
112
105
  propertyKey = ToPropertyKey(propertyKey);
113
106
  return OrdinaryHasMetadata(metadataKey, target, propertyKey);
114
107
  }
115
- __name(hasMetadata, "hasMetadata");
116
108
  exporter("hasMetadata", hasMetadata);
117
109
  function hasOwnMetadata(metadataKey, target, propertyKey) {
118
110
  if (!IsObject(target))
@@ -121,7 +113,6 @@ function require_Reflect() {
121
113
  propertyKey = ToPropertyKey(propertyKey);
122
114
  return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);
123
115
  }
124
- __name(hasOwnMetadata, "hasOwnMetadata");
125
116
  exporter("hasOwnMetadata", hasOwnMetadata);
126
117
  function getMetadata(metadataKey, target, propertyKey) {
127
118
  if (!IsObject(target))
@@ -130,7 +121,6 @@ function require_Reflect() {
130
121
  propertyKey = ToPropertyKey(propertyKey);
131
122
  return OrdinaryGetMetadata(metadataKey, target, propertyKey);
132
123
  }
133
- __name(getMetadata, "getMetadata");
134
124
  exporter("getMetadata", getMetadata);
135
125
  function getOwnMetadata(metadataKey, target, propertyKey) {
136
126
  if (!IsObject(target))
@@ -139,7 +129,6 @@ function require_Reflect() {
139
129
  propertyKey = ToPropertyKey(propertyKey);
140
130
  return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);
141
131
  }
142
- __name(getOwnMetadata, "getOwnMetadata");
143
132
  exporter("getOwnMetadata", getOwnMetadata);
144
133
  function getMetadataKeys(target, propertyKey) {
145
134
  if (!IsObject(target))
@@ -148,7 +137,6 @@ function require_Reflect() {
148
137
  propertyKey = ToPropertyKey(propertyKey);
149
138
  return OrdinaryMetadataKeys(target, propertyKey);
150
139
  }
151
- __name(getMetadataKeys, "getMetadataKeys");
152
140
  exporter("getMetadataKeys", getMetadataKeys);
153
141
  function getOwnMetadataKeys(target, propertyKey) {
154
142
  if (!IsObject(target))
@@ -157,7 +145,6 @@ function require_Reflect() {
157
145
  propertyKey = ToPropertyKey(propertyKey);
158
146
  return OrdinaryOwnMetadataKeys(target, propertyKey);
159
147
  }
160
- __name(getOwnMetadataKeys, "getOwnMetadataKeys");
161
148
  exporter("getOwnMetadataKeys", getOwnMetadataKeys);
162
149
  function deleteMetadata(metadataKey, target, propertyKey) {
163
150
  if (!IsObject(target))
@@ -183,7 +170,6 @@ function require_Reflect() {
183
170
  Metadata.delete(target);
184
171
  return true;
185
172
  }
186
- __name(deleteMetadata, "deleteMetadata");
187
173
  exporter("deleteMetadata", deleteMetadata);
188
174
  function DecorateConstructor(decorators, target) {
189
175
  for (var i = decorators.length - 1; i >= 0; --i) {
@@ -197,7 +183,6 @@ function require_Reflect() {
197
183
  }
198
184
  return target;
199
185
  }
200
- __name(DecorateConstructor, "DecorateConstructor");
201
186
  function DecorateProperty(decorators, target, propertyKey, descriptor) {
202
187
  for (var i = decorators.length - 1; i >= 0; --i) {
203
188
  var decorator = decorators[i];
@@ -210,7 +195,6 @@ function require_Reflect() {
210
195
  }
211
196
  return descriptor;
212
197
  }
213
- __name(DecorateProperty, "DecorateProperty");
214
198
  function GetOrCreateMetadataMap(O, P, Create) {
215
199
  var targetMetadata = Metadata.get(O);
216
200
  if (IsUndefined(targetMetadata)) {
@@ -228,7 +212,6 @@ function require_Reflect() {
228
212
  }
229
213
  return metadataMap;
230
214
  }
231
- __name(GetOrCreateMetadataMap, "GetOrCreateMetadataMap");
232
215
  function OrdinaryHasMetadata(MetadataKey, O, P) {
233
216
  var hasOwn2 = OrdinaryHasOwnMetadata(MetadataKey, O, P);
234
217
  if (hasOwn2)
@@ -238,7 +221,6 @@ function require_Reflect() {
238
221
  return OrdinaryHasMetadata(MetadataKey, parent, P);
239
222
  return false;
240
223
  }
241
- __name(OrdinaryHasMetadata, "OrdinaryHasMetadata");
242
224
  function OrdinaryHasOwnMetadata(MetadataKey, O, P) {
243
225
  var metadataMap = GetOrCreateMetadataMap(
244
226
  O,
@@ -250,7 +232,6 @@ function require_Reflect() {
250
232
  return false;
251
233
  return ToBoolean(metadataMap.has(MetadataKey));
252
234
  }
253
- __name(OrdinaryHasOwnMetadata, "OrdinaryHasOwnMetadata");
254
235
  function OrdinaryGetMetadata(MetadataKey, O, P) {
255
236
  var hasOwn2 = OrdinaryHasOwnMetadata(MetadataKey, O, P);
256
237
  if (hasOwn2)
@@ -260,7 +241,6 @@ function require_Reflect() {
260
241
  return OrdinaryGetMetadata(MetadataKey, parent, P);
261
242
  return void 0;
262
243
  }
263
- __name(OrdinaryGetMetadata, "OrdinaryGetMetadata");
264
244
  function OrdinaryGetOwnMetadata(MetadataKey, O, P) {
265
245
  var metadataMap = GetOrCreateMetadataMap(
266
246
  O,
@@ -272,7 +252,6 @@ function require_Reflect() {
272
252
  return void 0;
273
253
  return metadataMap.get(MetadataKey);
274
254
  }
275
- __name(OrdinaryGetOwnMetadata, "OrdinaryGetOwnMetadata");
276
255
  function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {
277
256
  var metadataMap = GetOrCreateMetadataMap(
278
257
  O,
@@ -282,7 +261,6 @@ function require_Reflect() {
282
261
  );
283
262
  metadataMap.set(MetadataKey, MetadataValue);
284
263
  }
285
- __name(OrdinaryDefineOwnMetadata, "OrdinaryDefineOwnMetadata");
286
264
  function OrdinaryMetadataKeys(O, P) {
287
265
  var ownKeys = OrdinaryOwnMetadataKeys(O, P);
288
266
  var parent = OrdinaryGetPrototypeOf(O);
@@ -313,7 +291,6 @@ function require_Reflect() {
313
291
  }
314
292
  return keys;
315
293
  }
316
- __name(OrdinaryMetadataKeys, "OrdinaryMetadataKeys");
317
294
  function OrdinaryOwnMetadataKeys(O, P) {
318
295
  var keys = [];
319
296
  var metadataMap = GetOrCreateMetadataMap(
@@ -346,7 +323,6 @@ function require_Reflect() {
346
323
  k++;
347
324
  }
348
325
  }
349
- __name(OrdinaryOwnMetadataKeys, "OrdinaryOwnMetadataKeys");
350
326
  function Type(x) {
351
327
  if (x === null)
352
328
  return 1;
@@ -367,23 +343,18 @@ function require_Reflect() {
367
343
  return 6;
368
344
  }
369
345
  }
370
- __name(Type, "Type");
371
346
  function IsUndefined(x) {
372
347
  return x === void 0;
373
348
  }
374
- __name(IsUndefined, "IsUndefined");
375
349
  function IsNull(x) {
376
350
  return x === null;
377
351
  }
378
- __name(IsNull, "IsNull");
379
352
  function IsSymbol(x) {
380
353
  return typeof x === "symbol";
381
354
  }
382
- __name(IsSymbol, "IsSymbol");
383
355
  function IsObject(x) {
384
356
  return typeof x === "object" ? x !== null : typeof x === "function";
385
357
  }
386
- __name(IsObject, "IsObject");
387
358
  function ToPrimitive(input, PreferredType) {
388
359
  switch (Type(input)) {
389
360
  case 0:
@@ -409,7 +380,6 @@ function require_Reflect() {
409
380
  }
410
381
  return OrdinaryToPrimitive(input, hint === "default" ? "number" : hint);
411
382
  }
412
- __name(ToPrimitive, "ToPrimitive");
413
383
  function OrdinaryToPrimitive(O, hint) {
414
384
  if (hint === "string") {
415
385
  var toString_1 = O.toString;
@@ -440,15 +410,12 @@ function require_Reflect() {
440
410
  }
441
411
  throw new TypeError();
442
412
  }
443
- __name(OrdinaryToPrimitive, "OrdinaryToPrimitive");
444
413
  function ToBoolean(argument) {
445
414
  return !!argument;
446
415
  }
447
- __name(ToBoolean, "ToBoolean");
448
416
  function ToString(argument) {
449
417
  return "" + argument;
450
418
  }
451
- __name(ToString, "ToString");
452
419
  function ToPropertyKey(argument) {
453
420
  var key = ToPrimitive(
454
421
  argument,
@@ -459,19 +426,15 @@ function require_Reflect() {
459
426
  return key;
460
427
  return ToString(key);
461
428
  }
462
- __name(ToPropertyKey, "ToPropertyKey");
463
429
  function IsArray(argument) {
464
430
  return Array.isArray ? Array.isArray(argument) : argument instanceof Object ? argument instanceof Array : Object.prototype.toString.call(argument) === "[object Array]";
465
431
  }
466
- __name(IsArray, "IsArray");
467
432
  function IsCallable(argument) {
468
433
  return typeof argument === "function";
469
434
  }
470
- __name(IsCallable, "IsCallable");
471
435
  function IsConstructor(argument) {
472
436
  return typeof argument === "function";
473
437
  }
474
- __name(IsConstructor, "IsConstructor");
475
438
  function IsPropertyKey(argument) {
476
439
  switch (Type(argument)) {
477
440
  case 3:
@@ -482,7 +445,6 @@ function require_Reflect() {
482
445
  return false;
483
446
  }
484
447
  }
485
- __name(IsPropertyKey, "IsPropertyKey");
486
448
  function GetMethod(V, P) {
487
449
  var func = V[P];
488
450
  if (func === void 0 || func === null)
@@ -491,7 +453,6 @@ function require_Reflect() {
491
453
  throw new TypeError();
492
454
  return func;
493
455
  }
494
- __name(GetMethod, "GetMethod");
495
456
  function GetIterator(obj) {
496
457
  var method = GetMethod(obj, iteratorSymbol);
497
458
  if (!IsCallable(method))
@@ -501,22 +462,18 @@ function require_Reflect() {
501
462
  throw new TypeError();
502
463
  return iterator;
503
464
  }
504
- __name(GetIterator, "GetIterator");
505
465
  function IteratorValue(iterResult) {
506
466
  return iterResult.value;
507
467
  }
508
- __name(IteratorValue, "IteratorValue");
509
468
  function IteratorStep(iterator) {
510
469
  var result = iterator.next();
511
470
  return result.done ? false : result;
512
471
  }
513
- __name(IteratorStep, "IteratorStep");
514
472
  function IteratorClose(iterator) {
515
473
  var f = iterator["return"];
516
474
  if (f)
517
475
  f.call(iterator);
518
476
  }
519
- __name(IteratorClose, "IteratorClose");
520
477
  function OrdinaryGetPrototypeOf(O) {
521
478
  var proto = Object.getPrototypeOf(O);
522
479
  if (typeof O !== "function" || O === functionPrototype)
@@ -534,7 +491,6 @@ function require_Reflect() {
534
491
  return proto;
535
492
  return constructor;
536
493
  }
537
- __name(OrdinaryGetPrototypeOf, "OrdinaryGetPrototypeOf");
538
494
  function CreateMapPolyfill() {
539
495
  var cacheSentinel = {};
540
496
  var arraySentinel = [];
@@ -547,7 +503,6 @@ function require_Reflect() {
547
503
  this._values = values;
548
504
  this._selector = selector;
549
505
  }
550
- __name(MapIterator2, "MapIterator");
551
506
  MapIterator2.prototype["@@iterator"] = function() {
552
507
  return this;
553
508
  };
@@ -597,11 +552,10 @@ function require_Reflect() {
597
552
  this._cacheKey = cacheSentinel;
598
553
  this._cacheIndex = -2;
599
554
  }
600
- __name(Map2, "Map");
601
555
  Object.defineProperty(Map2.prototype, "size", {
602
- get: /* @__PURE__ */ __name(function() {
556
+ get: function() {
603
557
  return this._keys.length;
604
- }, "get"),
558
+ },
605
559
  enumerable: true,
606
560
  configurable: true
607
561
  });
@@ -689,17 +643,13 @@ function require_Reflect() {
689
643
  function getKey(key, _) {
690
644
  return key;
691
645
  }
692
- __name(getKey, "getKey");
693
646
  function getValue(_, value) {
694
647
  return value;
695
648
  }
696
- __name(getValue, "getValue");
697
649
  function getEntry(key, value) {
698
650
  return [key, value];
699
651
  }
700
- __name(getEntry, "getEntry");
701
652
  }
702
- __name(CreateMapPolyfill, "CreateMapPolyfill");
703
653
  function CreateSetPolyfill() {
704
654
  return (
705
655
  /** @class */
@@ -707,11 +657,10 @@ function require_Reflect() {
707
657
  function Set2() {
708
658
  this._map = new _Map();
709
659
  }
710
- __name(Set2, "Set");
711
660
  Object.defineProperty(Set2.prototype, "size", {
712
- get: /* @__PURE__ */ __name(function() {
661
+ get: function() {
713
662
  return this._map.size;
714
- }, "get"),
663
+ },
715
664
  enumerable: true,
716
665
  configurable: true
717
666
  });
@@ -746,7 +695,6 @@ function require_Reflect() {
746
695
  })()
747
696
  );
748
697
  }
749
- __name(CreateSetPolyfill, "CreateSetPolyfill");
750
698
  function CreateWeakMapPolyfill() {
751
699
  var UUID_SIZE = 16;
752
700
  var keys = HashMap.create();
@@ -757,7 +705,6 @@ function require_Reflect() {
757
705
  function WeakMap2() {
758
706
  this._key = CreateUniqueKey();
759
707
  }
760
- __name(WeakMap2, "WeakMap");
761
708
  WeakMap2.prototype.has = function(target) {
762
709
  var table = GetOrCreateWeakMapTable(
763
710
  target,
@@ -805,7 +752,6 @@ function require_Reflect() {
805
752
  keys[key] = true;
806
753
  return key;
807
754
  }
808
- __name(CreateUniqueKey, "CreateUniqueKey");
809
755
  function GetOrCreateWeakMapTable(target, create) {
810
756
  if (!hasOwn.call(target, rootKey)) {
811
757
  if (!create)
@@ -814,13 +760,11 @@ function require_Reflect() {
814
760
  }
815
761
  return target[rootKey];
816
762
  }
817
- __name(GetOrCreateWeakMapTable, "GetOrCreateWeakMapTable");
818
763
  function FillRandomBytes(buffer, size) {
819
764
  for (var i = 0; i < size; ++i)
820
765
  buffer[i] = Math.random() * 255 | 0;
821
766
  return buffer;
822
767
  }
823
- __name(FillRandomBytes, "FillRandomBytes");
824
768
  function GenRandomBytes(size) {
825
769
  if (typeof Uint8Array === "function") {
826
770
  if (typeof crypto !== "undefined")
@@ -831,7 +775,6 @@ function require_Reflect() {
831
775
  }
832
776
  return FillRandomBytes(new Array(size), size);
833
777
  }
834
- __name(GenRandomBytes, "GenRandomBytes");
835
778
  function CreateUUID() {
836
779
  var data = GenRandomBytes(UUID_SIZE);
837
780
  data[6] = data[6] & 79 | 64;
@@ -847,20 +790,16 @@ function require_Reflect() {
847
790
  }
848
791
  return result;
849
792
  }
850
- __name(CreateUUID, "CreateUUID");
851
793
  }
852
- __name(CreateWeakMapPolyfill, "CreateWeakMapPolyfill");
853
794
  function MakeDictionary(obj) {
854
795
  obj.__ = void 0;
855
796
  delete obj.__;
856
797
  return obj;
857
798
  }
858
- __name(MakeDictionary, "MakeDictionary");
859
799
  });
860
- })(Reflect2 || (Reflect2 = {}));
800
+ })(Reflect || (Reflect = {}));
861
801
  return _Reflect;
862
802
  }
863
- __name(require_Reflect, "require_Reflect");
864
803
  export {
865
804
  require_Reflect as __require
866
805
  };
package/dist/types.d.ts CHANGED
@@ -1,9 +1,16 @@
1
1
  export type { Constructor } from 'typescript-rtti';
2
+ /** A record with unknown values, keyed by string, number, or symbol. */
2
3
  export type UnknownRecord = Record<string | number | symbol, unknown>;
4
+ /** Any object type. Used instead of `UnknownRecord` because it is compatible with class instances. */
3
5
  export type UnknownObject = object;
6
+ /** Key-value map of XML attributes. Values may be strings, numbers, or absent. */
4
7
  export interface XMLAttributes {
5
8
  [key: string]: string | number | undefined;
6
9
  }
10
+ /**
11
+ * A single node in the xml-js element tree.
12
+ * Used as the internal representation for all XML parsing and serialisation.
13
+ */
7
14
  export interface XMLElement {
8
15
  type?: string;
9
16
  name?: string;
@@ -11,6 +18,7 @@ export interface XMLElement {
11
18
  elements?: Array<XMLElement>;
12
19
  text?: string | number | boolean;
13
20
  }
21
+ /** The root of an xml-js document: a wrapper object whose `elements` array holds top-level nodes. */
14
22
  export type XMLRoot = {
15
23
  elements: XMLElement[];
16
24
  };
@@ -1,9 +1,6 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
1
  function isRegExp(value) {
4
2
  return Object.prototype.toString.call(value) === "[object RegExp]";
5
3
  }
6
- __name(isRegExp, "isRegExp");
7
4
  export {
8
5
  isRegExp as default,
9
6
  isRegExp
@@ -1,5 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
1
  const KEBAB_REGEX = new RegExp("\\p{Lu}", "gu");
4
2
  function kebabCase(str, keepLeadingDash = false) {
5
3
  const result = str.replace(KEBAB_REGEX, (match) => `-${match.toLowerCase()}`);
@@ -11,7 +9,6 @@ function kebabCase(str, keepLeadingDash = false) {
11
9
  }
12
10
  return result;
13
11
  }
14
- __name(kebabCase, "kebabCase");
15
12
  export {
16
13
  kebabCase
17
14
  };
@@ -1,5 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
1
  function mergeMaps(...sources) {
4
2
  const res = /* @__PURE__ */ new Map();
5
3
  sources.forEach((source) => {
@@ -10,8 +8,7 @@ function mergeMaps(...sources) {
10
8
  const entries = Array.from(res.entries());
11
9
  entries.forEach((entry) => {
12
10
  const key = entry[0];
13
- if (overrides.has(key))
14
- entry[1] = overrides.get(key);
11
+ if (overrides.has(key)) entry[1] = overrides.get(key);
15
12
  });
16
13
  res.clear();
17
14
  entries.forEach(([key, val]) => res.set(key, val));
@@ -20,7 +17,6 @@ function mergeMaps(...sources) {
20
17
  });
21
18
  return res;
22
19
  }
23
- __name(mergeMaps, "mergeMaps");
24
20
  export {
25
21
  mergeMaps as default
26
22
  };