@speclynx/apidom-core 1.12.1
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/CHANGELOG.md +82 -0
- package/LICENSE +202 -0
- package/LICENSES/AFL-3.0.txt +182 -0
- package/LICENSES/Apache-2.0.txt +202 -0
- package/LICENSES/BSD-3-Clause.txt +26 -0
- package/LICENSES/MIT.txt +9 -0
- package/NOTICE +65 -0
- package/README.md +881 -0
- package/dist/apidom-core.browser.js +14724 -0
- package/dist/apidom-core.browser.min.js +1 -0
- package/package.json +67 -0
- package/src/clone/errors/CloneError.cjs +22 -0
- package/src/clone/errors/CloneError.mjs +19 -0
- package/src/clone/errors/DeepCloneError.cjs +11 -0
- package/src/clone/errors/DeepCloneError.mjs +6 -0
- package/src/clone/errors/ShallowCloneError.cjs +11 -0
- package/src/clone/errors/ShallowCloneError.mjs +6 -0
- package/src/clone/index.cjs +155 -0
- package/src/clone/index.mjs +146 -0
- package/src/elements/Annotation.cjs +23 -0
- package/src/elements/Annotation.mjs +20 -0
- package/src/elements/Comment.cjs +15 -0
- package/src/elements/Comment.mjs +12 -0
- package/src/elements/ParseResult.cjs +53 -0
- package/src/elements/ParseResult.mjs +50 -0
- package/src/elements/SourceMap.cjs +39 -0
- package/src/elements/SourceMap.mjs +36 -0
- package/src/identity/errors/ElementIdentityError.cjs +22 -0
- package/src/identity/errors/ElementIdentityError.mjs +19 -0
- package/src/identity/index.cjs +62 -0
- package/src/identity/index.mjs +56 -0
- package/src/index.cjs +112 -0
- package/src/index.mjs +50 -0
- package/src/media-types.cjs +21 -0
- package/src/media-types.mjs +18 -0
- package/src/merge/deepmerge.cjs +151 -0
- package/src/merge/deepmerge.mjs +135 -0
- package/src/merge/merge-left.cjs +16 -0
- package/src/merge/merge-left.mjs +11 -0
- package/src/merge/merge-right.cjs +35 -0
- package/src/merge/merge-right.mjs +29 -0
- package/src/namespace.cjs +42 -0
- package/src/namespace.mjs +35 -0
- package/src/predicates/helpers.cjs +85 -0
- package/src/predicates/helpers.mjs +77 -0
- package/src/predicates/index.cjs +208 -0
- package/src/predicates/index.mjs +198 -0
- package/src/refractor/index.cjs +46 -0
- package/src/refractor/index.mjs +40 -0
- package/src/refractor/plugins/dispatcher/index.cjs +71 -0
- package/src/refractor/plugins/dispatcher/index.mjs +61 -0
- package/src/refractor/plugins/element-identity.cjs +31 -0
- package/src/refractor/plugins/element-identity.mjs +26 -0
- package/src/refractor/plugins/semantic-element-identity.cjs +38 -0
- package/src/refractor/plugins/semantic-element-identity.mjs +33 -0
- package/src/refractor/registration.cjs +34 -0
- package/src/refractor/registration.mjs +19 -0
- package/src/refractor/toolbox.cjs +29 -0
- package/src/refractor/toolbox.mjs +21 -0
- package/src/transcluder/Transcluder.cjs +111 -0
- package/src/transcluder/Transcluder.mjs +107 -0
- package/src/transcluder/index.cjs +19 -0
- package/src/transcluder/index.mjs +13 -0
- package/src/transformers/dehydrate.cjs +15 -0
- package/src/transformers/dehydrate.mjs +10 -0
- package/src/transformers/from.cjs +34 -0
- package/src/transformers/from.mjs +29 -0
- package/src/transformers/serializers/json.cjs +11 -0
- package/src/transformers/serializers/json.mjs +6 -0
- package/src/transformers/serializers/value/ast/ephemeral-array.cjs +21 -0
- package/src/transformers/serializers/value/ast/ephemeral-array.mjs +17 -0
- package/src/transformers/serializers/value/ast/ephemeral-object.cjs +20 -0
- package/src/transformers/serializers/value/ast/ephemeral-object.mjs +16 -0
- package/src/transformers/serializers/value/index.cjs +85 -0
- package/src/transformers/serializers/value/index.mjs +80 -0
- package/src/transformers/serializers/value/visitor.cjs +52 -0
- package/src/transformers/serializers/value/visitor.mjs +47 -0
- package/src/transformers/serializers/yaml-1-2.cjs +90 -0
- package/src/transformers/serializers/yaml-1-2.mjs +85 -0
- package/src/transformers/sexprs.cjs +34 -0
- package/src/transformers/sexprs.mjs +30 -0
- package/src/transformers/to-string.cjs +16 -0
- package/src/transformers/to-string.mjs +11 -0
- package/src/traversal/filter.cjs +18 -0
- package/src/traversal/filter.mjs +14 -0
- package/src/traversal/find.cjs +19 -0
- package/src/traversal/find.mjs +15 -0
- package/src/traversal/findAtOffset.cjs +65 -0
- package/src/traversal/findAtOffset.mjs +60 -0
- package/src/traversal/index.cjs +19 -0
- package/src/traversal/index.mjs +7 -0
- package/src/traversal/parents.cjs +38 -0
- package/src/traversal/parents.mjs +34 -0
- package/src/traversal/reject.cjs +15 -0
- package/src/traversal/reject.mjs +10 -0
- package/src/traversal/some.cjs +15 -0
- package/src/traversal/some.mjs +10 -0
- package/src/traversal/traverse.cjs +60 -0
- package/src/traversal/traverse.mjs +53 -0
- package/src/traversal/visitor.cjs +123 -0
- package/src/traversal/visitor.mjs +115 -0
- package/src/util.cjs +28 -0
- package/src/util.mjs +24 -0
- package/types/apidom-core.d.ts +806 -0
- package/types/minim.d.ts +236 -0
|
@@ -0,0 +1,806 @@
|
|
|
1
|
+
/// <reference path="./minim.d.ts" />
|
|
2
|
+
import * as minim from "minim";
|
|
3
|
+
import type { ApiDOMErrorOptions } from '@speclynx/apidom-error';
|
|
4
|
+
import { ApiDOMStructuredError } from '@speclynx/apidom-error';
|
|
5
|
+
import { ArrayElement } from 'minim';
|
|
6
|
+
import { ArraySlice } from 'minim';
|
|
7
|
+
import { Attributes } from 'minim';
|
|
8
|
+
import { BooleanElement } from 'minim';
|
|
9
|
+
import { BREAK } from '@speclynx/apidom-ast';
|
|
10
|
+
import { Element as Element_2 } from 'minim';
|
|
11
|
+
import { KeyValuePair } from 'minim';
|
|
12
|
+
import { LinkElement } from 'minim';
|
|
13
|
+
import { MemberElement } from 'minim';
|
|
14
|
+
import { mergeAllVisitors } from '@speclynx/apidom-ast';
|
|
15
|
+
import { Meta } from 'minim';
|
|
16
|
+
import { Namespace as Namespace_2 } from 'minim';
|
|
17
|
+
import { NamespacePlugin } from 'minim';
|
|
18
|
+
import { NamespacePluginOptions } from 'minim';
|
|
19
|
+
import { NullElement } from 'minim';
|
|
20
|
+
import { NumberElement } from 'minim';
|
|
21
|
+
import { ObjectElement } from 'minim';
|
|
22
|
+
import { ObjectSlice } from 'minim';
|
|
23
|
+
import { RefElement } from 'minim';
|
|
24
|
+
import { refract } from 'minim';
|
|
25
|
+
import ShortUniqueId from 'short-unique-id';
|
|
26
|
+
import { StringElement } from 'minim';
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
export declare class AnnotationElement extends StringElement {
|
|
32
|
+
constructor(content?: string, meta?: Meta, attributes?: Attributes);
|
|
33
|
+
get code(): any;
|
|
34
|
+
set code(value: any);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
export declare type AnyElement = ObjectElement | ArrayElement | Element_2;
|
|
41
|
+
|
|
42
|
+
export { ArrayElement }
|
|
43
|
+
|
|
44
|
+
export { ArraySlice }
|
|
45
|
+
|
|
46
|
+
export { Attributes }
|
|
47
|
+
|
|
48
|
+
declare namespace basePredicates {
|
|
49
|
+
export {
|
|
50
|
+
isElement,
|
|
51
|
+
isStringElement,
|
|
52
|
+
isNumberElement,
|
|
53
|
+
isNullElement,
|
|
54
|
+
isBooleanElement,
|
|
55
|
+
isObjectElement,
|
|
56
|
+
isArrayElement,
|
|
57
|
+
isMemberElement,
|
|
58
|
+
isLinkElement,
|
|
59
|
+
isRefElement,
|
|
60
|
+
isAnnotationElement,
|
|
61
|
+
isCommentElement,
|
|
62
|
+
isParseResultElement,
|
|
63
|
+
isSourceMapElement,
|
|
64
|
+
PrimitiveElement,
|
|
65
|
+
isPrimitiveElement,
|
|
66
|
+
hasElementSourceMap,
|
|
67
|
+
includesSymbols,
|
|
68
|
+
includesClasses
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export { basePredicates }
|
|
72
|
+
|
|
73
|
+
export { BooleanElement }
|
|
74
|
+
|
|
75
|
+
export { BREAK }
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* @public
|
|
79
|
+
*/
|
|
80
|
+
export declare type Callback = <T extends Element_2>(element: T) => void;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @public
|
|
84
|
+
*/
|
|
85
|
+
export declare const cloneDeep: {
|
|
86
|
+
<T extends Element_2 | FinalCloneTypes>(value: T, options?: DeepCloneOptions<T>): T;
|
|
87
|
+
safe<T>(value: T): T;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* @public
|
|
92
|
+
*/
|
|
93
|
+
export declare class CloneError extends ApiDOMStructuredError {
|
|
94
|
+
readonly value: unknown;
|
|
95
|
+
constructor(message?: string, structuredOptions?: CloneErrorOptions);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @public
|
|
100
|
+
*/
|
|
101
|
+
export declare interface CloneErrorOptions extends ApiDOMErrorOptions {
|
|
102
|
+
readonly value: unknown;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @public
|
|
107
|
+
*/
|
|
108
|
+
export declare const cloneNode: <T>(node: T) => T;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* @public
|
|
112
|
+
*/
|
|
113
|
+
export declare const cloneShallow: {
|
|
114
|
+
<T extends Element_2 | FinalCloneTypes>(value: T): T;
|
|
115
|
+
safe<T>(value: T): T;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* @public
|
|
120
|
+
*/
|
|
121
|
+
export declare class CommentElement extends StringElement {
|
|
122
|
+
constructor(content?: string, meta?: Meta, attributes?: Attributes);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* @public
|
|
127
|
+
*/
|
|
128
|
+
export declare const createNamespace: (namespacePlugin?: NamespacePlugin) => Namespace;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* @public
|
|
132
|
+
*/
|
|
133
|
+
export declare const createPredicate: <T extends Element_2>(predicateCreator: PredicateCreator<T>) => ElementPredicate<T>;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* @public
|
|
137
|
+
*/
|
|
138
|
+
export declare const createToolbox: () => Toolbox;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* @public
|
|
142
|
+
*/
|
|
143
|
+
export declare class DeepCloneError extends CloneError {
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* @public
|
|
148
|
+
*/
|
|
149
|
+
export declare type DeepCloneOptions<T extends Element_2 | FinalCloneTypes> = {
|
|
150
|
+
visited?: WeakMap<T, T>;
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* @public
|
|
155
|
+
*/
|
|
156
|
+
export declare type DeepMerge = (targetElement: ObjectOrArrayElement, sourceElement: ObjectOrArrayElement, options?: DeepMergeOptions) => AnyElement;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* @public
|
|
160
|
+
*/
|
|
161
|
+
export declare const deepmerge: {
|
|
162
|
+
(targetElement: ObjectOrArrayElement, sourceElement: ObjectOrArrayElement, options?: DeepMergeUserOptions): AnyElement;
|
|
163
|
+
all(list: ObjectOrArrayElement[], options?: DeepMergeUserOptions): any;
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* @public
|
|
168
|
+
*/
|
|
169
|
+
export declare type DeepMergeArrayElementMerge = (targetElement: ArrayElement, sourceElement: ArrayElement, options: DeepMergeOptions) => ArrayElement;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* @public
|
|
173
|
+
*/
|
|
174
|
+
export declare type DeepMergeCustomAttributesMerge = (targetElementAttributes: ObjectElement, sourceElementAttributes: ObjectElement) => ObjectElement;
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* @public
|
|
178
|
+
*/
|
|
179
|
+
export declare type DeepMergeCustomMerge = (keyElement: Element_2, options: DeepMergeOptions) => DeepMerge;
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* @public
|
|
183
|
+
*/
|
|
184
|
+
export declare type DeepMergeCustomMetaMerge = (targetElementMeta: ObjectElement, sourceElementMeta: ObjectElement) => ObjectElement;
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* @public
|
|
188
|
+
*/
|
|
189
|
+
export declare type DeepMergeObjectElementMerge = (targetElement: ObjectElement, source: ObjectElement, options: DeepMergeOptions) => ObjectElement;
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* @public
|
|
193
|
+
*/
|
|
194
|
+
export declare type DeepMergeOptions = DeepMergeUserOptions & {
|
|
195
|
+
clone: boolean;
|
|
196
|
+
isMergeableElement: (element: Element_2) => boolean;
|
|
197
|
+
arrayElementMerge: DeepMergeArrayElementMerge;
|
|
198
|
+
objectElementMerge: DeepMergeObjectElementMerge;
|
|
199
|
+
customMerge: DeepMergeCustomMerge | undefined;
|
|
200
|
+
customMetaMerge: DeepMergeCustomMetaMerge | undefined;
|
|
201
|
+
customAttributesMerge: DeepMergeCustomAttributesMerge | undefined;
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* @public
|
|
206
|
+
*/
|
|
207
|
+
export declare type DeepMergeUserOptions = {
|
|
208
|
+
clone?: boolean;
|
|
209
|
+
isMergeableElement?: (element: Element_2) => boolean;
|
|
210
|
+
arrayElementMerge?: DeepMergeArrayElementMerge;
|
|
211
|
+
objectElementMerge?: DeepMergeObjectElementMerge;
|
|
212
|
+
customMerge?: DeepMergeCustomMerge;
|
|
213
|
+
customMetaMerge?: DeepMergeCustomMetaMerge;
|
|
214
|
+
customAttributesMerge?: DeepMergeCustomAttributesMerge;
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* @public
|
|
219
|
+
*/
|
|
220
|
+
export declare const defaultIdentityManager: IdentityManager;
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Creates a refract representation of an Element.
|
|
224
|
+
* https://github.com/refractproject/refract-spec
|
|
225
|
+
* @public
|
|
226
|
+
*/
|
|
227
|
+
export declare const dehydrate: (element: Element_2, namespace?: Namespace_2) => any;
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* This dereference algorithm is used exclusively for dereferencing specification objects.
|
|
231
|
+
* It doesn't handle circular references of external references and works on objects only (not arrays).
|
|
232
|
+
* @public
|
|
233
|
+
*/
|
|
234
|
+
export declare const dereference: (object: Record<string, any>, root?: Record<string, any>) => Record<string, any>;
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* @public
|
|
238
|
+
*/
|
|
239
|
+
export declare interface DispatchPluginsAsync {
|
|
240
|
+
<T extends Element_2, U extends Element_2 = Element_2>(element: T, plugins: ((toolbox: any) => object)[], options?: Record<string, unknown>): Promise<U>;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* @public
|
|
245
|
+
*/
|
|
246
|
+
export declare interface DispatchPluginsOptions {
|
|
247
|
+
toolboxCreator: typeof createToolbox;
|
|
248
|
+
visitorOptions: {
|
|
249
|
+
nodeTypeGetter: typeof getNodeType;
|
|
250
|
+
exposeEdits: boolean;
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* @public
|
|
256
|
+
*/
|
|
257
|
+
export declare interface DispatchPluginsSync {
|
|
258
|
+
<T extends Element_2, U extends Element_2 = Element_2>(element: T, plugins: ((toolbox: any) => object)[], options?: Record<string, unknown>): U;
|
|
259
|
+
[key: symbol]: DispatchPluginsAsync;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* @public
|
|
264
|
+
*/
|
|
265
|
+
export declare const dispatchRefractorPlugins: DispatchPluginsSync;
|
|
266
|
+
|
|
267
|
+
export { Element_2 as Element }
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* @public
|
|
271
|
+
*/
|
|
272
|
+
export declare interface ElementBasicsTrait {
|
|
273
|
+
_storedElement: string;
|
|
274
|
+
_content: unknown;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* @public
|
|
279
|
+
*/
|
|
280
|
+
export declare interface ElementClassesTrait {
|
|
281
|
+
classes: ArrayElement | Array<string>;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* @public
|
|
286
|
+
*/
|
|
287
|
+
export declare class ElementIdentityError extends ApiDOMStructuredError {
|
|
288
|
+
readonly value: unknown;
|
|
289
|
+
constructor(message?: string, structuredOptions?: ElementIdentityErrorOptions);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* @public
|
|
294
|
+
*/
|
|
295
|
+
export declare interface ElementIdentityErrorOptions extends ApiDOMErrorOptions {
|
|
296
|
+
readonly value: unknown;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* @public
|
|
301
|
+
*/
|
|
302
|
+
export declare type ElementPredicate<T extends Element_2> = (element: unknown) => element is T;
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* @public
|
|
306
|
+
*/
|
|
307
|
+
export declare interface ElementPrimitiveBehavior {
|
|
308
|
+
primitive: () => unknown;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* @public
|
|
313
|
+
*/
|
|
314
|
+
export declare interface ElementTypeTrait<T = string> {
|
|
315
|
+
element: T;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* Finds all elements matching the predicate.
|
|
320
|
+
* @public
|
|
321
|
+
*/
|
|
322
|
+
export declare const filter: <T extends Element_2>(predicate: (element: any) => boolean, element: T) => ArraySlice;
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* @public
|
|
326
|
+
*/
|
|
327
|
+
export declare type FinalCloneTypes = KeyValuePair | ArraySlice | ObjectSlice;
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Find first element that satisfies the provided predicate.
|
|
331
|
+
* @public
|
|
332
|
+
*/
|
|
333
|
+
export declare const find: <T extends Element_2>(predicate: (element: any) => boolean, element: T) => T | undefined;
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Finds the most inner node at the given offset.
|
|
337
|
+
* If includeRightBound is set, also finds nodes that end at the given offset.
|
|
338
|
+
* @public
|
|
339
|
+
*/
|
|
340
|
+
export declare const findAtOffset: <T extends Element_2>(options: number | FindAtOffsetOptions, element: T) => T | undefined;
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* @public
|
|
344
|
+
*/
|
|
345
|
+
export declare interface FindAtOffsetOptions {
|
|
346
|
+
offset: number;
|
|
347
|
+
includeRightBound?: boolean;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* Transforms data to an Element from a particular namespace.
|
|
352
|
+
*
|
|
353
|
+
* The name of the function was originally `from`,
|
|
354
|
+
* but it was renamed to `fromFn` to avoid issues with Parcel.js:
|
|
355
|
+
*
|
|
356
|
+
* - https://github.com/parcel-bundler/parcel/issues/9473
|
|
357
|
+
* - https://github.com/swagger-api/swagger-ui/issues/9466#issuecomment-1881053410
|
|
358
|
+
* @public
|
|
359
|
+
*/
|
|
360
|
+
export declare const from: (data: any, namespace?: Namespace_2) => Element_2;
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* @public
|
|
364
|
+
*/
|
|
365
|
+
export declare const getNodeType: <T extends Element_2>(element: T) => string | undefined;
|
|
366
|
+
|
|
367
|
+
/**
|
|
368
|
+
* @public
|
|
369
|
+
*/
|
|
370
|
+
export declare const hasBasicElementProps: (element: unknown) => element is ElementBasicsTrait;
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* @public
|
|
374
|
+
*/
|
|
375
|
+
export declare const hasClass: (cls: string, element: unknown) => element is ElementClassesTrait;
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* @public
|
|
379
|
+
*/
|
|
380
|
+
export declare const hasElementSourceMap: <T extends Element_2>(element: T) => boolean;
|
|
381
|
+
|
|
382
|
+
/**
|
|
383
|
+
* @public
|
|
384
|
+
*/
|
|
385
|
+
export declare const hasMethod: <T extends string>(name: T, element: unknown) => element is { [key in T]: (...args: unknown[]) => unknown; };
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* @public
|
|
389
|
+
*/
|
|
390
|
+
export declare class IdentityManager {
|
|
391
|
+
protected readonly uuid: ShortUniqueId;
|
|
392
|
+
protected readonly identityMap: WeakMap<Element_2, StringElement>;
|
|
393
|
+
constructor({ length }?: {
|
|
394
|
+
length?: number | undefined;
|
|
395
|
+
});
|
|
396
|
+
identify<T extends Element_2>(this: IdentityManager, element: T): StringElement;
|
|
397
|
+
forget<T extends Element_2>(element: T): boolean;
|
|
398
|
+
generateId(): string;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* @public
|
|
403
|
+
*/
|
|
404
|
+
export declare const includesClasses: <T extends Element_2>(classes: string[], element: T) => boolean;
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* @public
|
|
408
|
+
*/
|
|
409
|
+
export declare const includesSymbols: <T extends Element_2>(symbols: string[], element: T) => boolean;
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* @public
|
|
413
|
+
*/
|
|
414
|
+
export declare const isAnnotationElement: ElementPredicate<AnnotationElement>;
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
* @public
|
|
418
|
+
*/
|
|
419
|
+
export declare const isArrayElement: ElementPredicate<ArrayElement>;
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* @public
|
|
423
|
+
*/
|
|
424
|
+
export declare const isBooleanElement: ElementPredicate<BooleanElement>;
|
|
425
|
+
|
|
426
|
+
/**
|
|
427
|
+
* @public
|
|
428
|
+
*/
|
|
429
|
+
declare const isCommentElement: ElementPredicate<CommentElement>;
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* @public
|
|
433
|
+
*/
|
|
434
|
+
export declare const isElement: ElementPredicate<Element_2>;
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* @public
|
|
438
|
+
*/
|
|
439
|
+
export declare const isElementType: (name: string, element: unknown) => element is ElementTypeTrait;
|
|
440
|
+
|
|
441
|
+
/**
|
|
442
|
+
* @public
|
|
443
|
+
*/
|
|
444
|
+
export declare const isLinkElement: ElementPredicate<LinkElement>;
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* @public
|
|
448
|
+
*/
|
|
449
|
+
export declare const isMemberElement: ElementPredicate<MemberElement>;
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* @public
|
|
453
|
+
*/
|
|
454
|
+
export declare const isNullElement: ElementPredicate<NullElement>;
|
|
455
|
+
|
|
456
|
+
/**
|
|
457
|
+
* @public
|
|
458
|
+
*/
|
|
459
|
+
export declare const isNumberElement: ElementPredicate<NumberElement>;
|
|
460
|
+
|
|
461
|
+
/**
|
|
462
|
+
* @public
|
|
463
|
+
*/
|
|
464
|
+
export declare const isObjectElement: ElementPredicate<ObjectElement>;
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* @public
|
|
468
|
+
*/
|
|
469
|
+
export declare const isParseResultElement: ElementPredicate<ParseResultElement>;
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* @public
|
|
473
|
+
*/
|
|
474
|
+
export declare const isPrimitiveElement: ElementPredicate<PrimitiveElement>;
|
|
475
|
+
|
|
476
|
+
/**
|
|
477
|
+
* @public
|
|
478
|
+
*/
|
|
479
|
+
export declare const isRefElement: ElementPredicate<RefElement>;
|
|
480
|
+
|
|
481
|
+
/**
|
|
482
|
+
* @public
|
|
483
|
+
*/
|
|
484
|
+
export declare const isSourceMapElement: ElementPredicate<SourceMapElement>;
|
|
485
|
+
|
|
486
|
+
/**
|
|
487
|
+
* @public
|
|
488
|
+
*/
|
|
489
|
+
export declare const isStringElement: ElementPredicate<StringElement>;
|
|
490
|
+
|
|
491
|
+
/**
|
|
492
|
+
* @public
|
|
493
|
+
*/
|
|
494
|
+
export declare const keyMap: {
|
|
495
|
+
ObjectElement: string[];
|
|
496
|
+
ArrayElement: string[];
|
|
497
|
+
MemberElement: string[];
|
|
498
|
+
StringElement: never[];
|
|
499
|
+
BooleanElement: never[];
|
|
500
|
+
NumberElement: never[];
|
|
501
|
+
NullElement: never[];
|
|
502
|
+
RefElement: never[];
|
|
503
|
+
LinkElement: never[];
|
|
504
|
+
Annotation: never[];
|
|
505
|
+
Comment: never[];
|
|
506
|
+
ParseResultElement: string[];
|
|
507
|
+
SourceMap: string[];
|
|
508
|
+
};
|
|
509
|
+
|
|
510
|
+
export { KeyValuePair }
|
|
511
|
+
|
|
512
|
+
export { LinkElement }
|
|
513
|
+
|
|
514
|
+
/**
|
|
515
|
+
* @public
|
|
516
|
+
*/
|
|
517
|
+
export declare class MediaTypes<T> extends Array<T> {
|
|
518
|
+
unknownMediaType: string;
|
|
519
|
+
filterByFormat(): void;
|
|
520
|
+
findBy(): void;
|
|
521
|
+
latest(): void;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
export { MemberElement }
|
|
525
|
+
|
|
526
|
+
export { mergeAllVisitors }
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* @public
|
|
530
|
+
*/
|
|
531
|
+
export declare const mergeLeft: typeof mergeRight;
|
|
532
|
+
|
|
533
|
+
/**
|
|
534
|
+
* @public
|
|
535
|
+
*/
|
|
536
|
+
export declare const mergeRight: {
|
|
537
|
+
(targetElement: ObjectOrArrayElement, sourceElement: ObjectOrArrayElement, options?: MergeRightOptions): AnyElement;
|
|
538
|
+
all(list: ObjectOrArrayElement[], options?: MergeRightOptions): any;
|
|
539
|
+
};
|
|
540
|
+
|
|
541
|
+
/**
|
|
542
|
+
* @public
|
|
543
|
+
*/
|
|
544
|
+
declare type MergeRightOptions = Omit<DeepMergeUserOptions, 'customMerge' | 'clone'>;
|
|
545
|
+
export { MergeRightOptions as MergeLeftOptions }
|
|
546
|
+
export { MergeRightOptions }
|
|
547
|
+
|
|
548
|
+
export { Meta }
|
|
549
|
+
|
|
550
|
+
/**
|
|
551
|
+
* @public
|
|
552
|
+
*/
|
|
553
|
+
export declare class Namespace extends Namespace_2 {
|
|
554
|
+
constructor();
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
/**
|
|
558
|
+
* @public
|
|
559
|
+
*/
|
|
560
|
+
export declare const namespace: Namespace;
|
|
561
|
+
|
|
562
|
+
export { NamespacePluginOptions }
|
|
563
|
+
|
|
564
|
+
export { NullElement }
|
|
565
|
+
|
|
566
|
+
export { NumberElement }
|
|
567
|
+
|
|
568
|
+
export { ObjectElement }
|
|
569
|
+
|
|
570
|
+
/**
|
|
571
|
+
* @public
|
|
572
|
+
*/
|
|
573
|
+
export declare type ObjectOrArrayElement = ObjectElement | ArrayElement;
|
|
574
|
+
|
|
575
|
+
export { ObjectSlice }
|
|
576
|
+
|
|
577
|
+
/**
|
|
578
|
+
* Computes upwards edges from every child to its parent.
|
|
579
|
+
* @public
|
|
580
|
+
*/
|
|
581
|
+
export declare const parents: <T extends Element_2>(element: T) => WeakMap<Element_2, Element_2 | undefined>;
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* @public
|
|
585
|
+
*/
|
|
586
|
+
export declare class ParseResultElement extends ArrayElement {
|
|
587
|
+
constructor(content?: Array<any>, meta?: Meta, attributes?: Attributes);
|
|
588
|
+
get api(): Element_2 | undefined;
|
|
589
|
+
get results(): ArraySlice;
|
|
590
|
+
get result(): Element_2 | undefined;
|
|
591
|
+
get annotations(): ArraySlice;
|
|
592
|
+
get warnings(): ArraySlice;
|
|
593
|
+
get errors(): ArraySlice;
|
|
594
|
+
get isEmpty(): boolean;
|
|
595
|
+
replaceResult(replacement: Element_2): boolean;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
/**
|
|
599
|
+
* @public
|
|
600
|
+
*/
|
|
601
|
+
export declare interface Position {
|
|
602
|
+
row: number;
|
|
603
|
+
column: number;
|
|
604
|
+
char: number;
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
/**
|
|
608
|
+
* @public
|
|
609
|
+
*/
|
|
610
|
+
export declare interface PositionRange {
|
|
611
|
+
start: Position;
|
|
612
|
+
end: Position;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
/**
|
|
616
|
+
* @public
|
|
617
|
+
*/
|
|
618
|
+
export declare type PredicateCreator<T extends Element_2> = (helpers: PredicateHelpers) => ElementPredicate<T>;
|
|
619
|
+
|
|
620
|
+
/**
|
|
621
|
+
* @public
|
|
622
|
+
*/
|
|
623
|
+
export declare interface PredicateHelpers {
|
|
624
|
+
hasMethod: typeof hasMethod;
|
|
625
|
+
hasBasicElementProps: typeof hasBasicElementProps;
|
|
626
|
+
primitiveEq: typeof primitiveEq;
|
|
627
|
+
isElementType: typeof isElementType;
|
|
628
|
+
hasClass: typeof hasClass;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
/**
|
|
632
|
+
* @public
|
|
633
|
+
*/
|
|
634
|
+
export declare type Predicates = {
|
|
635
|
+
isPrimitiveElement: typeof isPrimitiveElement;
|
|
636
|
+
};
|
|
637
|
+
|
|
638
|
+
/**
|
|
639
|
+
* @public
|
|
640
|
+
*/
|
|
641
|
+
export declare type PrimitiveElement = ObjectElement | ArrayElement | BooleanElement | NumberElement | StringElement | NullElement | MemberElement;
|
|
642
|
+
|
|
643
|
+
/**
|
|
644
|
+
* @public
|
|
645
|
+
*/
|
|
646
|
+
export declare const primitiveEq: (val: unknown, element: unknown) => element is ElementPrimitiveBehavior;
|
|
647
|
+
|
|
648
|
+
export { RefElement }
|
|
649
|
+
|
|
650
|
+
export { refract }
|
|
651
|
+
|
|
652
|
+
/**
|
|
653
|
+
* Plugin for decorating every element in ApiDOM tree with UUID.
|
|
654
|
+
* @public
|
|
655
|
+
*/
|
|
656
|
+
export declare const refractorPluginElementIdentity: ({ length }?: {
|
|
657
|
+
length?: number | undefined;
|
|
658
|
+
}) => () => {
|
|
659
|
+
pre(): void;
|
|
660
|
+
visitor: {
|
|
661
|
+
enter<T extends Element_2>(element: T): void;
|
|
662
|
+
};
|
|
663
|
+
post(): void;
|
|
664
|
+
};
|
|
665
|
+
|
|
666
|
+
/**
|
|
667
|
+
* Plugin for decorating every semantic element in ApiDOM tree with UUID.
|
|
668
|
+
* @public
|
|
669
|
+
*/
|
|
670
|
+
export declare const refractorPluginSemanticElementIdentity: ({ length }?: {
|
|
671
|
+
length?: number | undefined;
|
|
672
|
+
}) => ({ predicates }: {
|
|
673
|
+
predicates: Predicates;
|
|
674
|
+
}) => {
|
|
675
|
+
pre(): void;
|
|
676
|
+
visitor: {
|
|
677
|
+
enter<T extends Element_2>(element: T): void;
|
|
678
|
+
};
|
|
679
|
+
post(): void;
|
|
680
|
+
};
|
|
681
|
+
|
|
682
|
+
/**
|
|
683
|
+
* Complement of filter.
|
|
684
|
+
* @public
|
|
685
|
+
*/
|
|
686
|
+
export declare const reject: <T extends Element_2>(predicate: (element: any) => boolean, element: T) => ArraySlice;
|
|
687
|
+
|
|
688
|
+
/**
|
|
689
|
+
* Transforms ApiDOM into S-expressions (Symbolic Expressions).
|
|
690
|
+
* @public
|
|
691
|
+
*/
|
|
692
|
+
export declare const sexprs: (element: Element_2) => string;
|
|
693
|
+
|
|
694
|
+
/**
|
|
695
|
+
* @public
|
|
696
|
+
*/
|
|
697
|
+
export declare class ShallowCloneError extends CloneError {
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
/**
|
|
701
|
+
* Tests whether at least one element passes the predicate.
|
|
702
|
+
* @public
|
|
703
|
+
*/
|
|
704
|
+
export declare const some: <T extends Element_2>(predicate: (element: any) => boolean, element: T) => boolean;
|
|
705
|
+
|
|
706
|
+
/**
|
|
707
|
+
* @public
|
|
708
|
+
*/
|
|
709
|
+
export declare class SourceMapElement extends ArrayElement {
|
|
710
|
+
constructor(content?: Array<any>, meta?: Meta, attributes?: Attributes);
|
|
711
|
+
get positionStart(): Element_2 | undefined;
|
|
712
|
+
get positionEnd(): Element_2 | undefined;
|
|
713
|
+
set position(position: PositionRange | undefined);
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
export { StringElement }
|
|
717
|
+
|
|
718
|
+
/**
|
|
719
|
+
* @public
|
|
720
|
+
*/
|
|
721
|
+
export declare const toJSON: (element: Element_2, replacer?: (this: any, key: string, value: any) => any, space?: string | number) => string;
|
|
722
|
+
|
|
723
|
+
/**
|
|
724
|
+
* @public
|
|
725
|
+
*/
|
|
726
|
+
export declare interface Toolbox {
|
|
727
|
+
predicates: typeof basePredicates;
|
|
728
|
+
namespace: typeof namespace;
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
/**
|
|
732
|
+
* Create a refracted string representation of an Element.
|
|
733
|
+
* @public
|
|
734
|
+
*/
|
|
735
|
+
declare const toString_2: (element: Element_2, namespace?: Namespace_2) => string;
|
|
736
|
+
export { toString_2 as toString }
|
|
737
|
+
|
|
738
|
+
/**
|
|
739
|
+
* @public
|
|
740
|
+
*/
|
|
741
|
+
export declare const toValue: <T extends Element_2 | unknown>(element: T) => any;
|
|
742
|
+
|
|
743
|
+
/**
|
|
744
|
+
* @public
|
|
745
|
+
*/
|
|
746
|
+
export declare const toYAML: (element: Element_2, { directive }?: {
|
|
747
|
+
directive?: boolean | undefined;
|
|
748
|
+
}) => string;
|
|
749
|
+
|
|
750
|
+
/**
|
|
751
|
+
* This is a mutating function. If you don't want your Element to be mutated,
|
|
752
|
+
* clone in before passing it to this function.
|
|
753
|
+
* @public
|
|
754
|
+
*/
|
|
755
|
+
export declare const transclude: (search: Element_2, replace: Element_2, element: Element_2) => Element_2 | undefined;
|
|
756
|
+
|
|
757
|
+
/**
|
|
758
|
+
* This is a mutating stamp. If you don't want your Element to be mutated,
|
|
759
|
+
* clone in before passing it to initializer of this stamp.
|
|
760
|
+
* @public
|
|
761
|
+
*/
|
|
762
|
+
export declare class Transcluder {
|
|
763
|
+
protected element: Element_2;
|
|
764
|
+
protected edges: WeakMap<Element_2, Element_2 | undefined>;
|
|
765
|
+
constructor({ element }: {
|
|
766
|
+
element: Element_2;
|
|
767
|
+
});
|
|
768
|
+
transclude(search: Element_2, replace: Element_2): Element_2 | undefined;
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
/**
|
|
772
|
+
* Executes the callback on this element and all descendants.
|
|
773
|
+
* @public
|
|
774
|
+
*/
|
|
775
|
+
export declare const traverse: <T extends Element_2>(options: Callback | TraverseOptions, element: T) => void;
|
|
776
|
+
|
|
777
|
+
/**
|
|
778
|
+
* @public
|
|
779
|
+
*/
|
|
780
|
+
export declare interface TraverseOptions {
|
|
781
|
+
callback?: Callback;
|
|
782
|
+
predicate?: (element: any) => boolean;
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
/**
|
|
786
|
+
* @public
|
|
787
|
+
*/
|
|
788
|
+
export declare const visit: (root: Element_2, visitor: any, { keyMap, ...rest }?: {
|
|
789
|
+
keyMap?: {
|
|
790
|
+
ObjectElement: string[];
|
|
791
|
+
ArrayElement: string[];
|
|
792
|
+
MemberElement: string[];
|
|
793
|
+
StringElement: never[];
|
|
794
|
+
BooleanElement: never[];
|
|
795
|
+
NumberElement: never[];
|
|
796
|
+
NullElement: never[];
|
|
797
|
+
RefElement: never[];
|
|
798
|
+
LinkElement: never[];
|
|
799
|
+
Annotation: never[];
|
|
800
|
+
Comment: never[];
|
|
801
|
+
ParseResultElement: string[];
|
|
802
|
+
SourceMap: string[];
|
|
803
|
+
} | undefined;
|
|
804
|
+
}) => Element_2;
|
|
805
|
+
|
|
806
|
+
export { }
|