@speclynx/apidom-datamodel 2.13.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -49,6 +49,104 @@ class KeyValuePair {
49
49
 
50
50
  /***/ },
51
51
 
52
+ /***/ 206
53
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
54
+
55
+ __webpack_require__.r(__webpack_exports__);
56
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
57
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
58
+ /* harmony export */ });
59
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(138);
60
+
61
+ /**
62
+ * Lightweight meta container for Element metadata.
63
+ *
64
+ * Data is stored as own properties on the instance; methods live on the prototype.
65
+ * `Object.keys()`, `Object.entries()`, etc. only see data properties.
66
+ *
67
+ * @public
68
+ */
69
+ class Metadata {
70
+ // Set via prototype assignment in registration.ts to avoid circular dependency
71
+
72
+ get(name) {
73
+ return this[name];
74
+ }
75
+ set(name, value) {
76
+ this[name] = value;
77
+ }
78
+ hasKey(name) {
79
+ return Object.hasOwn(this, name);
80
+ }
81
+ keys() {
82
+ return Object.keys(this);
83
+ }
84
+ remove(name) {
85
+ delete this[name];
86
+ }
87
+ get isEmpty() {
88
+ return Object.keys(this).length === 0;
89
+ }
90
+ get isFrozen() {
91
+ return Object.isFrozen(this);
92
+ }
93
+ freeze() {
94
+ for (const value of Object.values(this)) {
95
+ if (value instanceof this.Element) {
96
+ value.freeze();
97
+ } else if (Array.isArray(value) || value !== null && typeof value === 'object') {
98
+ Object.freeze(value);
99
+ }
100
+ }
101
+ Object.freeze(this);
102
+ }
103
+
104
+ /**
105
+ * Creates a shallow clone. Same references, new container.
106
+ */
107
+ cloneShallow() {
108
+ const clone = new Metadata();
109
+ Object.assign(clone, this);
110
+ return clone;
111
+ }
112
+
113
+ /**
114
+ * Merges another Metadata into a new instance.
115
+ * Arrays are concatenated, all other values are overwritten by source.
116
+ */
117
+ merge(source) {
118
+ const result = this.cloneShallow();
119
+ for (const [key, value] of Object.entries(source)) {
120
+ const existing = result.get(key);
121
+ if (Array.isArray(existing) && Array.isArray(value)) {
122
+ result.set(key, [...existing, ...value]);
123
+ } else {
124
+ result.set(key, value);
125
+ }
126
+ }
127
+ return result;
128
+ }
129
+
130
+ /**
131
+ * Creates a deep clone. Elements are deep cloned,
132
+ * all other values are deep cloned via ramda clone.
133
+ */
134
+ cloneDeep() {
135
+ const copy = new Metadata();
136
+ for (const [key, value] of Object.entries(this)) {
137
+ if (value instanceof this.Element) {
138
+ copy.set(key, this.cloneDeepElement(value));
139
+ } else {
140
+ copy.set(key, (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(value));
141
+ }
142
+ }
143
+ return copy;
144
+ }
145
+ }
146
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Metadata);
147
+
148
+ /***/ },
149
+
52
150
  /***/ 576
53
151
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
54
152
 
@@ -694,7 +792,7 @@ const cloneShallowElement = element => {
694
792
  const copy = new Ctor();
695
793
  copy.element = element.element;
696
794
  if (!element.isMetaEmpty) {
697
- copy.meta = cloneDeep(element.meta);
795
+ copy.meta = element.meta.cloneDeep();
698
796
  }
699
797
  if (!element.isAttributesEmpty) {
700
798
  copy.attributes = cloneDeep(element.attributes);
@@ -722,8 +820,8 @@ const cloneShallowElement = element => {
722
820
 
723
821
  /**
724
822
  * Creates a shallow clone of an ApiDOM Element, KeyValuePair, or ObjectSlice.
725
- * The element itself is cloned, but content references are shared (except for
726
- * meta and attributes which are deep cloned to preserve semantic information).
823
+ * The element itself is cloned, but content references are shared.
824
+ * Meta and attributes are deep cloned to preserve semantic information.
727
825
  * @public
728
826
  */
729
827
  const cloneShallow = value => {
@@ -1801,7 +1899,7 @@ class CollectionElement extends _Element_ts__WEBPACK_IMPORTED_MODULE_0__["defaul
1801
1899
  * Search the tree recursively and find the element with the matching ID.
1802
1900
  */
1803
1901
  getById(id) {
1804
- return this.find(item => item.id.toValue() === id).first;
1902
+ return this.find(item => item.id === id).first;
1805
1903
  }
1806
1904
 
1807
1905
  /**
@@ -1830,15 +1928,21 @@ class CollectionElement extends _Element_ts__WEBPACK_IMPORTED_MODULE_0__["defaul
1830
1928
 
1831
1929
  __webpack_require__.r(__webpack_exports__);
1832
1930
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1931
+ /* harmony export */ Metadata: () => (/* reexport safe */ _Metadata_ts__WEBPACK_IMPORTED_MODULE_1__["default"]),
1833
1932
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1834
1933
  /* harmony export */ });
1835
1934
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(654);
1836
- /* harmony import */ var _KeyValuePair_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(807);
1837
- /* harmony import */ var _ObjectSlice_ts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(660);
1935
+ /* harmony import */ var _Metadata_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(206);
1936
+ /* harmony import */ var _KeyValuePair_ts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(807);
1937
+ /* harmony import */ var _ObjectSlice_ts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(660);
1838
1938
 
1839
1939
 
1840
1940
 
1841
1941
 
1942
+
1943
+ // shared singleton for frozen elements with no meta — avoids allocation on every access
1944
+ const FROZEN_EMPTY_METADATA = Object.freeze(new _Metadata_ts__WEBPACK_IMPORTED_MODULE_1__["default"]());
1945
+
1842
1946
  /**
1843
1947
  * Valid content types for an Element.
1844
1948
  * @public
@@ -1941,7 +2045,7 @@ class Element {
1941
2045
  _attributes;
1942
2046
 
1943
2047
  // ============================================================
1944
- // Prototype-assigned properties (set in elements.ts)
2048
+ // Prototype-assigned properties (set in registration.ts)
1945
2049
  // Using 'declare' allows TypeScript to know about these
1946
2050
  // without generating runtime code.
1947
2051
  // ============================================================
@@ -2002,13 +2106,13 @@ class Element {
2002
2106
  }
2003
2107
 
2004
2108
  // KeyValuePair
2005
- if (value instanceof _KeyValuePair_ts__WEBPACK_IMPORTED_MODULE_1__["default"]) {
2109
+ if (value instanceof _KeyValuePair_ts__WEBPACK_IMPORTED_MODULE_2__["default"]) {
2006
2110
  this._content = value;
2007
2111
  return;
2008
2112
  }
2009
2113
 
2010
2114
  // ObjectSlice - extract elements array
2011
- if (value instanceof _ObjectSlice_ts__WEBPACK_IMPORTED_MODULE_2__["default"]) {
2115
+ if (value instanceof _ObjectSlice_ts__WEBPACK_IMPORTED_MODULE_3__["default"]) {
2012
2116
  this._content = value.elements;
2013
2117
  return;
2014
2118
  }
@@ -2029,24 +2133,22 @@ class Element {
2029
2133
 
2030
2134
  /**
2031
2135
  * Metadata about this element (id, classes, title, description, links).
2032
- * Lazily creates an ObjectElement if not set.
2136
+ * Lazily creates a Metadata instance if not set.
2033
2137
  */
2034
2138
  get meta() {
2035
2139
  if (!this._meta) {
2036
- if (this.isFrozen) {
2037
- const meta = new this.ObjectElement();
2038
- meta.freeze();
2039
- return meta;
2040
- }
2041
- this._meta = new this.ObjectElement();
2140
+ if (this.isFrozen) return FROZEN_EMPTY_METADATA;
2141
+ this._meta = new _Metadata_ts__WEBPACK_IMPORTED_MODULE_1__["default"]();
2042
2142
  }
2043
2143
  return this._meta;
2044
2144
  }
2045
2145
  set meta(value) {
2046
- if (value instanceof Element) {
2146
+ if (value instanceof _Metadata_ts__WEBPACK_IMPORTED_MODULE_1__["default"]) {
2047
2147
  this._meta = value;
2048
- } else {
2049
- this.meta.set(value ?? {});
2148
+ } else if (value && typeof value === 'object') {
2149
+ const meta = new _Metadata_ts__WEBPACK_IMPORTED_MODULE_1__["default"]();
2150
+ Object.assign(meta, value);
2151
+ this._meta = meta;
2050
2152
  }
2051
2153
  }
2052
2154
 
@@ -2079,10 +2181,8 @@ class Element {
2079
2181
 
2080
2182
  /** Unique identifier for this element. */
2081
2183
  get id() {
2082
- if (this.isFrozen) {
2083
- return this.getMetaProperty('id', '');
2084
- }
2085
2184
  if (!this.hasMetaProperty('id')) {
2185
+ if (this.isFrozen) return '';
2086
2186
  this.setMetaProperty('id', '');
2087
2187
  }
2088
2188
  return this.meta.get('id');
@@ -2093,10 +2193,8 @@ class Element {
2093
2193
 
2094
2194
  /** CSS-like class names. */
2095
2195
  get classes() {
2096
- if (this.isFrozen) {
2097
- return this.getMetaProperty('classes', []);
2098
- }
2099
2196
  if (!this.hasMetaProperty('classes')) {
2197
+ if (this.isFrozen) return [];
2100
2198
  this.setMetaProperty('classes', []);
2101
2199
  }
2102
2200
  return this.meta.get('classes');
@@ -2107,11 +2205,13 @@ class Element {
2107
2205
 
2108
2206
  /** Hyperlinks associated with this element. */
2109
2207
  get links() {
2110
- if (this.isFrozen) {
2111
- return this.getMetaProperty('links', []);
2112
- }
2113
2208
  if (!this.hasMetaProperty('links')) {
2114
- this.setMetaProperty('links', []);
2209
+ if (this.isFrozen) {
2210
+ const empty = new this.ArrayElement();
2211
+ empty.freeze();
2212
+ return empty;
2213
+ }
2214
+ this.setMetaProperty('links', new this.ArrayElement());
2115
2215
  }
2116
2216
  return this.meta.get('links');
2117
2217
  }
@@ -2131,7 +2231,7 @@ class Element {
2131
2231
  if (Array.isArray(content)) {
2132
2232
  return content;
2133
2233
  }
2134
- if (content instanceof _KeyValuePair_ts__WEBPACK_IMPORTED_MODULE_1__["default"]) {
2234
+ if (content instanceof _KeyValuePair_ts__WEBPACK_IMPORTED_MODULE_2__["default"]) {
2135
2235
  const children = [];
2136
2236
  if (content.key) children.push(content.key);
2137
2237
  if (content.value) children.push(content.value);
@@ -2161,7 +2261,6 @@ class Element {
2161
2261
 
2162
2262
  // Freeze meta and attributes
2163
2263
  if (this._meta) {
2164
- this._meta.parent = this;
2165
2264
  this._meta.freeze();
2166
2265
  }
2167
2266
  if (this._attributes) {
@@ -2196,7 +2295,7 @@ class Element {
2196
2295
  if (_content instanceof Element) {
2197
2296
  return _content.toValue();
2198
2297
  }
2199
- if (_content instanceof _KeyValuePair_ts__WEBPACK_IMPORTED_MODULE_1__["default"]) {
2298
+ if (_content instanceof _KeyValuePair_ts__WEBPACK_IMPORTED_MODULE_2__["default"]) {
2200
2299
  return _content.toValue();
2201
2300
  }
2202
2301
  if (Array.isArray(_content)) {
@@ -2252,7 +2351,7 @@ class Element {
2252
2351
  * @throws Error if this element has no ID
2253
2352
  */
2254
2353
  toRef(path) {
2255
- const idValue = this.id.toValue();
2354
+ const idValue = this.id;
2256
2355
  if (idValue === '') {
2257
2356
  throw new Error('Cannot create reference to an element without an ID');
2258
2357
  }
@@ -2264,26 +2363,16 @@ class Element {
2264
2363
  }
2265
2364
 
2266
2365
  /**
2267
- * Gets a meta property.
2366
+ * Gets a meta property value.
2268
2367
  *
2269
2368
  * When the property doesn't exist:
2270
- * - With defaultValue: returns a new refracted element instance (not cached)
2369
+ * - With defaultValue: returns the provided default value
2271
2370
  * - Without defaultValue: returns undefined
2272
- *
2273
- * Note: Each call with a default creates a new instance. Use setMetaProperty
2274
- * first if you need reference equality across multiple accesses.
2275
2371
  */
2276
2372
 
2277
2373
  getMetaProperty(name, defaultValue) {
2278
2374
  if (!this.hasMetaProperty(name)) {
2279
- if (defaultValue === undefined) {
2280
- return undefined;
2281
- }
2282
- const element = this.refract(defaultValue);
2283
- if (element && this.isFrozen) {
2284
- element.freeze();
2285
- }
2286
- return element;
2375
+ return defaultValue;
2287
2376
  }
2288
2377
  return this.meta.get(name);
2289
2378
  }
@@ -2296,20 +2385,17 @@ class Element {
2296
2385
  }
2297
2386
 
2298
2387
  /**
2299
- * Has meta property.
2388
+ * Checks whether a meta property exists.
2300
2389
  */
2301
2390
  hasMetaProperty(name) {
2302
- if (!this.isMetaEmpty) {
2303
- return this.meta.hasKey(name);
2304
- }
2305
- return false;
2391
+ return this._meta !== undefined && this._meta.hasKey(name);
2306
2392
  }
2307
2393
 
2308
2394
  /**
2309
2395
  * Checks if meta is empty.
2310
2396
  */
2311
2397
  get isMetaEmpty() {
2312
- return this._meta === undefined || this.meta.isEmpty;
2398
+ return this._meta === undefined || this._meta.isEmpty;
2313
2399
  }
2314
2400
 
2315
2401
  /**
@@ -2335,7 +2421,7 @@ class Element {
2335
2421
  }
2336
2422
 
2337
2423
  /**
2338
- * Has attributes property.
2424
+ * Checks whether an attributes property exists.
2339
2425
  */
2340
2426
  hasAttributesProperty(name) {
2341
2427
  if (!this.isAttributesEmpty) {
@@ -2354,6 +2440,7 @@ class Element {
2354
2440
 
2355
2441
  // Re-export types for convenience
2356
2442
 
2443
+
2357
2444
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Element);
2358
2445
 
2359
2446
  /***/ },
@@ -2792,6 +2879,10 @@ __webpack_require__.r(__webpack_exports__);
2792
2879
  /* harmony import */ var _elements_Style_ts__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(128);
2793
2880
  /* harmony import */ var _ObjectSlice_ts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(660);
2794
2881
  /* harmony import */ var _KeyValuePair_ts__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(807);
2882
+ /* harmony import */ var _Metadata_ts__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(206);
2883
+ /* harmony import */ var _clone_index_ts__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(314);
2884
+
2885
+
2795
2886
 
2796
2887
 
2797
2888
 
@@ -2852,14 +2943,16 @@ function refract(value) {
2852
2943
  }
2853
2944
 
2854
2945
  // Set up prototype assignments for circular dependency resolution.
2855
- // These allow Element instances to create ObjectElement, MemberElement, RefElement
2856
- // without importing them directly (which would cause circular imports).
2946
+ // These allow Element and Metadata instances to reference classes they can't import
2947
+ // directly (which would cause circular imports).
2857
2948
  // Using 'declare' in the class definitions enables type-safe access to these properties.
2858
2949
  _primitives_Element_ts__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.ObjectElement = _primitives_ObjectElement_ts__WEBPACK_IMPORTED_MODULE_8__["default"];
2859
2950
  _primitives_Element_ts__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.ArrayElement = _primitives_ArrayElement_ts__WEBPACK_IMPORTED_MODULE_6__["default"];
2860
2951
  _primitives_Element_ts__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.RefElement = _elements_RefElement_ts__WEBPACK_IMPORTED_MODULE_10__["default"];
2861
2952
  _primitives_Element_ts__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.MemberElement = _primitives_MemberElement_ts__WEBPACK_IMPORTED_MODULE_7__["default"];
2862
2953
  _primitives_Element_ts__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.refract = refract;
2954
+ _Metadata_ts__WEBPACK_IMPORTED_MODULE_18__["default"].prototype.Element = _primitives_Element_ts__WEBPACK_IMPORTED_MODULE_0__["default"];
2955
+ _Metadata_ts__WEBPACK_IMPORTED_MODULE_18__["default"].prototype.cloneDeepElement = element => (0,_clone_index_ts__WEBPACK_IMPORTED_MODULE_19__.cloneDeep)(element);
2863
2956
 
2864
2957
  /**
2865
2958
  * Contains all of the element classes, and related structures and methods
@@ -2928,7 +3021,13 @@ class JSONSerialiser {
2928
3021
  element: element.element
2929
3022
  };
2930
3023
  if (!element.isMetaEmpty) {
2931
- payload.meta = this.serialiseObject(element.meta);
3024
+ const serialisedMeta = this.serialiseMeta(element);
3025
+ if (serialisedMeta) {
3026
+ payload.meta = serialisedMeta.meta;
3027
+ if (serialisedMeta.rawKeys.length > 0) {
3028
+ payload.__meta_raw__ = serialisedMeta.rawKeys;
3029
+ }
3030
+ }
2932
3031
  }
2933
3032
  if (!element.isAttributesEmpty) {
2934
3033
  payload.attributes = this.serialiseObject(element.attributes);
@@ -2975,7 +3074,7 @@ class JSONSerialiser {
2975
3074
  element.element = value.element;
2976
3075
  }
2977
3076
 
2978
- // Extract __mappings__ and __styles__ without mutating input, filter remaining meta
3077
+ // Extract special meta keys without mutating input, filter remaining meta
2979
3078
  let mappingsDoc;
2980
3079
  let stylesDoc;
2981
3080
  let metaToDeserialize = value.meta;
@@ -2989,8 +3088,15 @@ class JSONSerialiser {
2989
3088
  stylesDoc = __styles__;
2990
3089
  metaToDeserialize = Object.keys(rest).length > 0 ? rest : undefined;
2991
3090
  }
3091
+
3092
+ // determine which meta keys were raw primitives before serialization
3093
+ const rawKeys = value.__meta_raw__ ? new Set(value.__meta_raw__) : undefined;
2992
3094
  if (metaToDeserialize) {
2993
- this.deserialiseObject(metaToDeserialize, element.meta);
3095
+ for (const [key, doc] of Object.entries(metaToDeserialize)) {
3096
+ const deserialized = this.deserialise(doc);
3097
+ // unwrap keys that were raw primitives before serialization
3098
+ element.setMetaProperty(key, rawKeys?.has(key) ? deserialized.toValue() : deserialized);
3099
+ }
2994
3100
  }
2995
3101
 
2996
3102
  // Restore source position from __mappings__
@@ -3053,6 +3159,27 @@ class JSONSerialiser {
3053
3159
  }
3054
3160
  return content;
3055
3161
  }
3162
+ serialiseMeta(element) {
3163
+ const meta = {};
3164
+ const rawKeys = [];
3165
+ let hasEntries = false;
3166
+ for (const [key, value] of Object.entries(element.meta)) {
3167
+ if (value instanceof this.namespace.elements.Element) {
3168
+ meta[key] = this.serialise(value);
3169
+ hasEntries = true;
3170
+ } else if (value !== undefined) {
3171
+ // refract primitives to maintain JSON Refract spec compatibility
3172
+ const refracted = element.refract(value);
3173
+ meta[key] = this.serialise(refracted);
3174
+ rawKeys.push(key);
3175
+ hasEntries = true;
3176
+ }
3177
+ }
3178
+ return hasEntries ? {
3179
+ meta,
3180
+ rawKeys
3181
+ } : undefined;
3182
+ }
3056
3183
  serialiseObject(obj) {
3057
3184
  const result = {};
3058
3185
  obj.forEach((value, key) => {
@@ -3916,80 +4043,83 @@ class ApiDOMStructuredError extends _ApiDOMError_mjs__WEBPACK_IMPORTED_MODULE_0_
3916
4043
  var __webpack_exports__ = {};
3917
4044
  __webpack_require__.r(__webpack_exports__);
3918
4045
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3919
- /* harmony export */ AnnotationElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_18__["default"]),
3920
- /* harmony export */ ArrayElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_13__["default"]),
3921
- /* harmony export */ BooleanElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_12__["default"]),
3922
- /* harmony export */ CloneError: () => (/* reexport safe */ _clone_index_ts__WEBPACK_IMPORTED_MODULE_3__["default"]),
3923
- /* harmony export */ CollectionElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_8__["default"]),
3924
- /* harmony export */ CommentElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_19__["default"]),
3925
- /* harmony export */ DeepCloneError: () => (/* reexport safe */ _clone_index_ts__WEBPACK_IMPORTED_MODULE_4__["default"]),
3926
- /* harmony export */ Element: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_7__["default"]),
3927
- /* harmony export */ JSONSerialiser: () => (/* reexport safe */ _serialisers_JSONSerialiser_ts__WEBPACK_IMPORTED_MODULE_24__["default"]),
4046
+ /* harmony export */ AnnotationElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_19__["default"]),
4047
+ /* harmony export */ ArrayElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_14__["default"]),
4048
+ /* harmony export */ BooleanElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_13__["default"]),
4049
+ /* harmony export */ CloneError: () => (/* reexport safe */ _clone_index_ts__WEBPACK_IMPORTED_MODULE_4__["default"]),
4050
+ /* harmony export */ CollectionElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_9__["default"]),
4051
+ /* harmony export */ CommentElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_20__["default"]),
4052
+ /* harmony export */ DeepCloneError: () => (/* reexport safe */ _clone_index_ts__WEBPACK_IMPORTED_MODULE_5__["default"]),
4053
+ /* harmony export */ Element: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_8__["default"]),
4054
+ /* harmony export */ JSONSerialiser: () => (/* reexport safe */ _serialisers_JSONSerialiser_ts__WEBPACK_IMPORTED_MODULE_25__["default"]),
3928
4055
  /* harmony export */ KeyValuePair: () => (/* reexport safe */ _KeyValuePair_ts__WEBPACK_IMPORTED_MODULE_1__["default"]),
3929
- /* harmony export */ LinkElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_16__["default"]),
3930
- /* harmony export */ MemberElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_14__["default"]),
4056
+ /* harmony export */ LinkElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_17__["default"]),
4057
+ /* harmony export */ MemberElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_15__["default"]),
4058
+ /* harmony export */ Metadata: () => (/* reexport safe */ _Metadata_ts__WEBPACK_IMPORTED_MODULE_2__["default"]),
3931
4059
  /* harmony export */ Namespace: () => (/* reexport safe */ _Namespace_ts__WEBPACK_IMPORTED_MODULE_0__["default"]),
3932
- /* harmony export */ NullElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_9__["default"]),
3933
- /* harmony export */ NumberElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_11__["default"]),
3934
- /* harmony export */ ObjectElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_15__["default"]),
3935
- /* harmony export */ ObjectSlice: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_23__["default"]),
3936
- /* harmony export */ ParseResultElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_20__["default"]),
3937
- /* harmony export */ RefElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_17__["default"]),
3938
- /* harmony export */ ShallowCloneError: () => (/* reexport safe */ _clone_index_ts__WEBPACK_IMPORTED_MODULE_5__["default"]),
3939
- /* harmony export */ SourceMapElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_21__["default"]),
3940
- /* harmony export */ StringElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_10__["default"]),
3941
- /* harmony export */ StyleElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_22__["default"]),
3942
- /* harmony export */ cloneDeep: () => (/* reexport safe */ _clone_index_ts__WEBPACK_IMPORTED_MODULE_2__.cloneDeep),
3943
- /* harmony export */ cloneShallow: () => (/* reexport safe */ _clone_index_ts__WEBPACK_IMPORTED_MODULE_2__.cloneShallow),
3944
- /* harmony export */ hasElementSourceMap: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_25__.hasElementSourceMap),
3945
- /* harmony export */ hasElementStyle: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_25__.hasElementStyle),
3946
- /* harmony export */ includesClasses: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_25__.includesClasses),
3947
- /* harmony export */ includesSymbols: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_25__.includesSymbols),
3948
- /* harmony export */ isAnnotationElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isAnnotationElement),
3949
- /* harmony export */ isArrayElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__.isArrayElement),
3950
- /* harmony export */ isBooleanElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__.isBooleanElement),
3951
- /* harmony export */ isCommentElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isCommentElement),
3952
- /* harmony export */ isElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__.isElement),
3953
- /* harmony export */ isLinkElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isLinkElement),
3954
- /* harmony export */ isMemberElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__.isMemberElement),
3955
- /* harmony export */ isNullElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__.isNullElement),
3956
- /* harmony export */ isNumberElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__.isNumberElement),
3957
- /* harmony export */ isObjectElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__.isObjectElement),
3958
- /* harmony export */ isParseResultElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isParseResultElement),
3959
- /* harmony export */ isPrimitiveElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__.isPrimitiveElement),
3960
- /* harmony export */ isRefElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isRefElement),
3961
- /* harmony export */ isSourceMapElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isSourceMapElement),
3962
- /* harmony export */ isStringElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__.isStringElement),
3963
- /* harmony export */ refract: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_6__.refract)
4060
+ /* harmony export */ NullElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_10__["default"]),
4061
+ /* harmony export */ NumberElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_12__["default"]),
4062
+ /* harmony export */ ObjectElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_16__["default"]),
4063
+ /* harmony export */ ObjectSlice: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_24__["default"]),
4064
+ /* harmony export */ ParseResultElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_21__["default"]),
4065
+ /* harmony export */ RefElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_18__["default"]),
4066
+ /* harmony export */ ShallowCloneError: () => (/* reexport safe */ _clone_index_ts__WEBPACK_IMPORTED_MODULE_6__["default"]),
4067
+ /* harmony export */ SourceMapElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_22__["default"]),
4068
+ /* harmony export */ StringElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_11__["default"]),
4069
+ /* harmony export */ StyleElement: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_23__["default"]),
4070
+ /* harmony export */ cloneDeep: () => (/* reexport safe */ _clone_index_ts__WEBPACK_IMPORTED_MODULE_3__.cloneDeep),
4071
+ /* harmony export */ cloneShallow: () => (/* reexport safe */ _clone_index_ts__WEBPACK_IMPORTED_MODULE_3__.cloneShallow),
4072
+ /* harmony export */ hasElementSourceMap: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__.hasElementSourceMap),
4073
+ /* harmony export */ hasElementStyle: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__.hasElementStyle),
4074
+ /* harmony export */ includesClasses: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__.includesClasses),
4075
+ /* harmony export */ includesSymbols: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__.includesSymbols),
4076
+ /* harmony export */ isAnnotationElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_28__.isAnnotationElement),
4077
+ /* harmony export */ isArrayElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isArrayElement),
4078
+ /* harmony export */ isBooleanElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isBooleanElement),
4079
+ /* harmony export */ isCommentElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_28__.isCommentElement),
4080
+ /* harmony export */ isElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isElement),
4081
+ /* harmony export */ isLinkElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_28__.isLinkElement),
4082
+ /* harmony export */ isMemberElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isMemberElement),
4083
+ /* harmony export */ isNullElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isNullElement),
4084
+ /* harmony export */ isNumberElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isNumberElement),
4085
+ /* harmony export */ isObjectElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isObjectElement),
4086
+ /* harmony export */ isParseResultElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_28__.isParseResultElement),
4087
+ /* harmony export */ isPrimitiveElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isPrimitiveElement),
4088
+ /* harmony export */ isRefElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_28__.isRefElement),
4089
+ /* harmony export */ isSourceMapElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_28__.isSourceMapElement),
4090
+ /* harmony export */ isStringElement: () => (/* reexport safe */ _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__.isStringElement),
4091
+ /* harmony export */ refract: () => (/* reexport safe */ _registration_ts__WEBPACK_IMPORTED_MODULE_7__.refract)
3964
4092
  /* harmony export */ });
3965
4093
  /* harmony import */ var _Namespace_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(576);
3966
4094
  /* harmony import */ var _KeyValuePair_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(807);
3967
- /* harmony import */ var _clone_index_ts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(314);
3968
- /* harmony import */ var _clone_index_ts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(200);
3969
- /* harmony import */ var _clone_index_ts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(794);
3970
- /* harmony import */ var _clone_index_ts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(60);
3971
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(18);
3972
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(370);
3973
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(766);
3974
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(377);
3975
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(805);
3976
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(933);
3977
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(492);
3978
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(603);
3979
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(136);
3980
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(975);
3981
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(885);
3982
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(474);
3983
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(24);
3984
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(176);
3985
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(755);
3986
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(588);
3987
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(128);
3988
- /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(660);
3989
- /* harmony import */ var _serialisers_JSONSerialiser_ts__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(27);
3990
- /* harmony import */ var _predicates_index_ts__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(950);
3991
- /* harmony import */ var _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(762);
3992
- /* harmony import */ var _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(969);
4095
+ /* harmony import */ var _Metadata_ts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(206);
4096
+ /* harmony import */ var _clone_index_ts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(314);
4097
+ /* harmony import */ var _clone_index_ts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(200);
4098
+ /* harmony import */ var _clone_index_ts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(794);
4099
+ /* harmony import */ var _clone_index_ts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(60);
4100
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(18);
4101
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(370);
4102
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(766);
4103
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(377);
4104
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(805);
4105
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(933);
4106
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(492);
4107
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(603);
4108
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(136);
4109
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(975);
4110
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(885);
4111
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(474);
4112
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(24);
4113
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(176);
4114
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(755);
4115
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(588);
4116
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(128);
4117
+ /* harmony import */ var _registration_ts__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(660);
4118
+ /* harmony import */ var _serialisers_JSONSerialiser_ts__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(27);
4119
+ /* harmony import */ var _predicates_index_ts__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(950);
4120
+ /* harmony import */ var _predicates_index_ts__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(762);
4121
+ /* harmony import */ var _predicates_index_ts__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(969);
4122
+
3993
4123
 
3994
4124
 
3995
4125