@swagger-api/apidom-core 0.68.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 +366 -0
- package/LICENSES/Apache-2.0.txt +202 -0
- package/LICENSES/MIT.txt +9 -0
- package/README.md +679 -0
- package/cjs/deepmerge.cjs +87 -0
- package/cjs/elements/Annotation.cjs +21 -0
- package/cjs/elements/Comment.cjs +13 -0
- package/cjs/elements/ParseResult.cjs +51 -0
- package/cjs/elements/SourceMap.cjs +29 -0
- package/cjs/index.cjs +144 -0
- package/cjs/media-types.cjs +24 -0
- package/cjs/namespace.cjs +32 -0
- package/cjs/predicates/helpers.cjs +28 -0
- package/cjs/predicates/index.cjs +149 -0
- package/cjs/refractor/index.cjs +37 -0
- package/cjs/refractor/plugins/element-identity.cjs +36 -0
- package/cjs/refractor/plugins/semantic-element-identity.cjs +36 -0
- package/cjs/refractor/plugins/utils/index.cjs +26 -0
- package/cjs/refractor/registration.cjs +34 -0
- package/cjs/refractor/toolbox.cjs +20 -0
- package/cjs/serializers/json.cjs +9 -0
- package/cjs/serializers/value/ast/ephemeral-array.cjs +22 -0
- package/cjs/serializers/value/ast/ephemeral-object.cjs +21 -0
- package/cjs/serializers/value/index.cjs +67 -0
- package/cjs/serializers/value/visitor.cjs +54 -0
- package/cjs/serializers/yaml-1-2.cjs +93 -0
- package/cjs/sexprs.cjs +38 -0
- package/cjs/transcluder/Transcluder.cjs +110 -0
- package/cjs/transcluder/index.cjs +19 -0
- package/cjs/traversal/filter.cjs +20 -0
- package/cjs/traversal/find.cjs +20 -0
- package/cjs/traversal/findAtOffset.cjs +71 -0
- package/cjs/traversal/index.cjs +19 -0
- package/cjs/traversal/parents.cjs +47 -0
- package/cjs/traversal/reject.cjs +14 -0
- package/cjs/traversal/some.cjs +15 -0
- package/cjs/traversal/traverse.cjs +54 -0
- package/cjs/traversal/visitor.cjs +114 -0
- package/cjs/util.cjs +27 -0
- package/dist/apidom-core.browser.js +30952 -0
- package/dist/apidom-core.browser.min.js +1 -0
- package/es/deepmerge.js +84 -0
- package/es/elements/Annotation.js +16 -0
- package/es/elements/Comment.js +8 -0
- package/es/elements/ParseResult.js +46 -0
- package/es/elements/SourceMap.js +24 -0
- package/es/index.js +72 -0
- package/es/media-types.js +22 -0
- package/es/namespace.js +24 -0
- package/es/predicates/helpers.js +22 -0
- package/es/predicates/index.js +124 -0
- package/es/refractor/index.js +32 -0
- package/es/refractor/plugins/element-identity.js +30 -0
- package/es/refractor/plugins/semantic-element-identity.js +34 -0
- package/es/refractor/plugins/utils/index.js +19 -0
- package/es/refractor/registration.js +19 -0
- package/es/refractor/toolbox.js +13 -0
- package/es/serializers/json.js +3 -0
- package/es/serializers/value/ast/ephemeral-array.js +18 -0
- package/es/serializers/value/ast/ephemeral-object.js +17 -0
- package/es/serializers/value/index.js +61 -0
- package/es/serializers/value/visitor.js +54 -0
- package/es/serializers/yaml-1-2.js +87 -0
- package/es/sexprs.js +32 -0
- package/es/transcluder/Transcluder.js +104 -0
- package/es/transcluder/index.js +12 -0
- package/es/traversal/filter.js +14 -0
- package/es/traversal/find.js +14 -0
- package/es/traversal/findAtOffset.js +65 -0
- package/es/traversal/index.js +7 -0
- package/es/traversal/parents.js +40 -0
- package/es/traversal/reject.js +7 -0
- package/es/traversal/some.js +8 -0
- package/es/traversal/traverse.js +47 -0
- package/es/traversal/visitor.js +110 -0
- package/es/util.js +23 -0
- package/package.json +65 -0
- package/types/dist.d.ts +260 -0
- package/types/minim.d.ts +222 -0
package/types/dist.d.ts
ADDED
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/// <reference path="./minim.d.ts" />
|
|
2
|
+
/// <reference types="ts-toolbelt" />
|
|
3
|
+
import { Element, Namespace as Namespace$1, NamespacePlugin, StringElement, Meta, Attributes, ArrayElement, ArraySlice, ObjectElement } from 'minim';
|
|
4
|
+
export { ArrayElement, ArraySlice, Attributes, BooleanElement, Element, KeyValuePair, LinkElement, MemberElement, Meta, NamespacePluginOptions, NullElement, NumberElement, ObjectElement, ObjectSlice, RefElement, StringElement, refract } from 'minim';
|
|
5
|
+
import * as Function_Curry from 'Function/Curry';
|
|
6
|
+
import { Pred } from 'ramda';
|
|
7
|
+
import stampit from 'stampit';
|
|
8
|
+
export { BREAK, mergeAllVisitors } from '@swagger-api/apidom-ast';
|
|
9
|
+
|
|
10
|
+
declare const dispatchPlugins: <T extends Element>(element: T, plugins: any[], options?: {}) => T;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Plugin for decorating every element in ApiDOM tree with UUID.
|
|
14
|
+
*/
|
|
15
|
+
declare const plugin$1: ({ length }?: {
|
|
16
|
+
length?: number | undefined;
|
|
17
|
+
}) => () => {
|
|
18
|
+
pre(): void;
|
|
19
|
+
visitor: {
|
|
20
|
+
enter<T extends Element>(element: T): void;
|
|
21
|
+
};
|
|
22
|
+
post(): void;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Plugin for decorating every semantic element in ApiDOM tree with UUID.
|
|
27
|
+
*/
|
|
28
|
+
type Predicates = {
|
|
29
|
+
isPrimitiveElement: (element: Element) => boolean;
|
|
30
|
+
};
|
|
31
|
+
declare const plugin: ({ length }?: {
|
|
32
|
+
length?: number | undefined;
|
|
33
|
+
}) => ({ predicates }: {
|
|
34
|
+
predicates: Predicates;
|
|
35
|
+
}) => {
|
|
36
|
+
pre(): void;
|
|
37
|
+
visitor: {
|
|
38
|
+
enter<T extends Element>(element: T): void;
|
|
39
|
+
};
|
|
40
|
+
post(): void;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
declare class MediaTypes<T> extends Array<T> {
|
|
44
|
+
unknownMediaType: string;
|
|
45
|
+
filterByFormat(): void;
|
|
46
|
+
findBy(): void;
|
|
47
|
+
latest(): void;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
declare class Namespace extends Namespace$1 {
|
|
51
|
+
constructor();
|
|
52
|
+
}
|
|
53
|
+
declare const namespace: Namespace;
|
|
54
|
+
declare const createNamespace: (namespacePlugin?: NamespacePlugin) => Namespace;
|
|
55
|
+
|
|
56
|
+
declare class Annotation extends StringElement {
|
|
57
|
+
constructor(content?: string, meta?: Meta, attributes?: Attributes);
|
|
58
|
+
get code(): any;
|
|
59
|
+
set code(value: any);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
declare class Comment extends StringElement {
|
|
63
|
+
constructor(content?: string, meta?: Meta, attributes?: Attributes);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
declare class ParseResult extends ArrayElement {
|
|
67
|
+
constructor(content?: Array<any>, meta?: Meta, attributes?: Attributes);
|
|
68
|
+
get api(): Element | undefined;
|
|
69
|
+
get results(): ArraySlice;
|
|
70
|
+
get result(): Element | undefined;
|
|
71
|
+
get annotations(): ArraySlice;
|
|
72
|
+
get warnings(): ArraySlice;
|
|
73
|
+
get errors(): ArraySlice;
|
|
74
|
+
get isEmpty(): boolean;
|
|
75
|
+
replaceResult(replacement: Element): boolean;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
interface Position {
|
|
79
|
+
row: number;
|
|
80
|
+
column: number;
|
|
81
|
+
char: number;
|
|
82
|
+
}
|
|
83
|
+
interface PositionRange {
|
|
84
|
+
start: Position;
|
|
85
|
+
end: Position;
|
|
86
|
+
}
|
|
87
|
+
declare class SourceMap extends ArrayElement {
|
|
88
|
+
constructor(content?: Array<any>, meta?: Meta, attributes?: Attributes);
|
|
89
|
+
get positionStart(): Element | undefined;
|
|
90
|
+
get positionEnd(): Element | undefined;
|
|
91
|
+
set position(position: PositionRange | null);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
declare const isElement: (element: any) => boolean;
|
|
95
|
+
declare const isStringElement: (element: any) => boolean;
|
|
96
|
+
declare const isNumberElement: (element: any) => boolean;
|
|
97
|
+
declare const isNullElement: (element: any) => boolean;
|
|
98
|
+
declare const isBooleanElement: (element: any) => boolean;
|
|
99
|
+
declare const isObjectElement: (element: any) => boolean;
|
|
100
|
+
declare const isArrayElement: (element: any) => boolean;
|
|
101
|
+
declare const isMemberElement: (element: any) => boolean;
|
|
102
|
+
declare const isLinkElement: (element: any) => boolean;
|
|
103
|
+
declare const isRefElement: (element: any) => boolean;
|
|
104
|
+
declare const isAnnotationElement: (element: any) => boolean;
|
|
105
|
+
declare const isParseResultElement: (element: any) => boolean;
|
|
106
|
+
declare const isSourceMapElement: (element: any) => boolean;
|
|
107
|
+
declare const isPrimitiveElement: (element: any) => boolean;
|
|
108
|
+
declare const hasElementSourceMap: (element: any) => boolean;
|
|
109
|
+
declare const includesSymbols: <T extends Element>(symbols: string[], element: T) => boolean;
|
|
110
|
+
declare const includesClasses: <T extends Element>(classes: string[], element: T) => boolean;
|
|
111
|
+
|
|
112
|
+
declare const hasMethod: (name: string, obj: Record<string, unknown>) => boolean;
|
|
113
|
+
declare const hasBasicElementProps: (element: any) => boolean;
|
|
114
|
+
declare const primitiveEq: (val: unknown, obj: any) => boolean;
|
|
115
|
+
declare const hasClass: (cls: string, obj: any) => boolean;
|
|
116
|
+
declare const isElementType: (name: string, element: any) => boolean;
|
|
117
|
+
interface PredicateHelpers {
|
|
118
|
+
hasMethod: typeof hasMethod;
|
|
119
|
+
hasBasicElementProps: typeof hasBasicElementProps;
|
|
120
|
+
primitiveEq: typeof primitiveEq;
|
|
121
|
+
isElementType: typeof isElementType;
|
|
122
|
+
hasClass: typeof hasClass;
|
|
123
|
+
}
|
|
124
|
+
type PredicateCreator = (helpers: PredicateHelpers) => (element: any) => boolean;
|
|
125
|
+
declare const createPredicate: (predicateCreator: PredicateCreator) => (element: any) => boolean;
|
|
126
|
+
|
|
127
|
+
declare const filter: Function_Curry.Curry<(<T extends Element>(predicate: Pred, element: T) => ArraySlice)>;
|
|
128
|
+
|
|
129
|
+
declare const find: Function_Curry.Curry<(<T extends Element>(predicate: Pred, element: T) => T | undefined)>;
|
|
130
|
+
|
|
131
|
+
interface FindAtOffsetOptions {
|
|
132
|
+
offset: number;
|
|
133
|
+
includeRightBound?: boolean;
|
|
134
|
+
}
|
|
135
|
+
declare const findAtOffset: Function_Curry.Curry<(<T extends Element>(options: number | FindAtOffsetOptions, element: T) => T | undefined)>;
|
|
136
|
+
|
|
137
|
+
declare const reject: Function_Curry.Curry<(<T extends Element>(predicate: Pred, element: T) => ArraySlice)>;
|
|
138
|
+
|
|
139
|
+
declare const some: Function_Curry.Curry<(<T extends Element>(predicate: Pred, element: T) => boolean)>;
|
|
140
|
+
|
|
141
|
+
type Callback = <T extends Element>(element: T) => void;
|
|
142
|
+
interface TraverseOptions {
|
|
143
|
+
callback?: Callback;
|
|
144
|
+
predicate?: Pred;
|
|
145
|
+
}
|
|
146
|
+
declare const traverse: Function_Curry.Curry<(<T extends Element>(options: Callback | TraverseOptions, element: T) => void)>;
|
|
147
|
+
|
|
148
|
+
declare const parents: <T extends Element>(element: T) => WeakMap<Element, Element>;
|
|
149
|
+
|
|
150
|
+
declare const getNodeType: <T extends Element>(element: T) => string | undefined;
|
|
151
|
+
declare const keyMapDefault: {
|
|
152
|
+
ObjectElement: string[];
|
|
153
|
+
ArrayElement: string[];
|
|
154
|
+
MemberElement: string[];
|
|
155
|
+
StringElement: never[];
|
|
156
|
+
BooleanElement: never[];
|
|
157
|
+
NumberElement: never[];
|
|
158
|
+
NullElement: never[];
|
|
159
|
+
RefElement: never[];
|
|
160
|
+
LinkElement: never[];
|
|
161
|
+
Annotation: never[];
|
|
162
|
+
Comment: never[];
|
|
163
|
+
ParseResultElement: string[];
|
|
164
|
+
SourceMap: string[];
|
|
165
|
+
};
|
|
166
|
+
declare const visit: (root: Element, visitor: any, { keyMap, ...rest }?: {
|
|
167
|
+
keyMap?: {
|
|
168
|
+
ObjectElement: string[];
|
|
169
|
+
ArrayElement: string[];
|
|
170
|
+
MemberElement: string[];
|
|
171
|
+
StringElement: never[];
|
|
172
|
+
BooleanElement: never[];
|
|
173
|
+
NumberElement: never[];
|
|
174
|
+
NullElement: never[];
|
|
175
|
+
RefElement: never[];
|
|
176
|
+
LinkElement: never[];
|
|
177
|
+
Annotation: never[];
|
|
178
|
+
Comment: never[];
|
|
179
|
+
ParseResultElement: string[];
|
|
180
|
+
SourceMap: string[];
|
|
181
|
+
} | undefined;
|
|
182
|
+
}) => Element;
|
|
183
|
+
|
|
184
|
+
interface Transcluder {
|
|
185
|
+
transclude(search: Element, replace: Element): Element | undefined;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* This is a mutating stamp. If you don't want your Element to be mutated,
|
|
189
|
+
* clone in before passing it to initializer of this stamp.
|
|
190
|
+
*/
|
|
191
|
+
declare const Transcluder: stampit.Stamp<Transcluder>;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* This is a mutating function. If you don't want your Element to be mutated,
|
|
195
|
+
* clone in before passing it to this function.
|
|
196
|
+
*/
|
|
197
|
+
declare const transclude: (search: Element, replace: Element, element: Element) => Element | undefined;
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* This dereference algorithm is used exclusively for dereferencing specification objects.
|
|
201
|
+
* It doesn't handle circular references of external references and works on objects only (not arrays).
|
|
202
|
+
*/
|
|
203
|
+
declare const dereference: (object: Record<string, any>, root?: Record<string, any>) => Record<string, any>;
|
|
204
|
+
|
|
205
|
+
declare const sexprs: (element: Element) => string;
|
|
206
|
+
|
|
207
|
+
type ObjectOrArrayElement = ObjectElement | ArrayElement;
|
|
208
|
+
type AnyElement = ObjectElement | ArrayElement | Element;
|
|
209
|
+
type DeepMerge = (targetElement: ObjectOrArrayElement, sourceElement: ObjectOrArrayElement, options?: DeepMergeOptions) => AnyElement;
|
|
210
|
+
type CustomMerge = (keyElement: Element, options: DeepMergeOptions) => DeepMerge;
|
|
211
|
+
type ArrayElementMerge = (targetElement: ArrayElement, sourceElement: ArrayElement, options: DeepMergeOptions) => ArrayElement;
|
|
212
|
+
type ObjectElementMerge = (targetElement: ObjectElement, source: ObjectElement, options: DeepMergeOptions) => ObjectElement;
|
|
213
|
+
type DeepMergeUserOptions = {
|
|
214
|
+
clone?: boolean;
|
|
215
|
+
isMergeableElement?: (element: Element) => boolean;
|
|
216
|
+
arrayElementMerge?: ArrayElementMerge;
|
|
217
|
+
objectElementMerge?: ObjectElementMerge;
|
|
218
|
+
customMerge?: CustomMerge;
|
|
219
|
+
};
|
|
220
|
+
type DeepMergeOptions = DeepMergeUserOptions & {
|
|
221
|
+
clone: boolean;
|
|
222
|
+
isMergeableElement: (element: Element) => boolean;
|
|
223
|
+
arrayElementMerge: ArrayElementMerge;
|
|
224
|
+
objectElementMerge: ObjectElementMerge;
|
|
225
|
+
customMerge: CustomMerge | undefined;
|
|
226
|
+
};
|
|
227
|
+
declare function deepmerge(targetElement: ObjectOrArrayElement, sourceElement: ObjectOrArrayElement, options?: DeepMergeUserOptions): AnyElement;
|
|
228
|
+
declare namespace deepmerge {
|
|
229
|
+
var all: (list: ObjectOrArrayElement[], options?: DeepMergeOptions | undefined) => any;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Transforms data to an Element from a particular namespace.
|
|
234
|
+
*/
|
|
235
|
+
declare const from: (data: any, namespace?: Namespace$1) => Element;
|
|
236
|
+
/**
|
|
237
|
+
* Transforms the ApiDOM into JavaScript POJO.
|
|
238
|
+
* This POJO would be the result of interpreting the ApiDOM
|
|
239
|
+
* into JavaScript structure.
|
|
240
|
+
*/
|
|
241
|
+
declare const toValue: <T extends Element>(element: T) => any;
|
|
242
|
+
/**
|
|
243
|
+
* Transforms the ApiDOM into JSON string.
|
|
244
|
+
*/
|
|
245
|
+
declare const toJSON: (element: Element) => string;
|
|
246
|
+
/**
|
|
247
|
+
* Transforms the ApiDOM into YAML string.
|
|
248
|
+
*/
|
|
249
|
+
declare const toYAML: (element: Element) => any;
|
|
250
|
+
/**
|
|
251
|
+
* Creates a refract representation of an Element.
|
|
252
|
+
* https://github.com/refractproject/refract-spec
|
|
253
|
+
*/
|
|
254
|
+
declare const dehydrate: (element: Element, namespace?: Namespace$1) => Record<string, any>;
|
|
255
|
+
/**
|
|
256
|
+
* Create a refracted string representation of an Element.
|
|
257
|
+
*/
|
|
258
|
+
declare const toString: (element: Element, namespace?: Namespace$1) => string;
|
|
259
|
+
|
|
260
|
+
export { Annotation as AnnotationElement, Comment as CommentElement, MediaTypes, Namespace, ParseResult as ParseResultElement, SourceMap as SourceMapElement, Transcluder, createNamespace, createPredicate, deepmerge, dehydrate, dereference, dispatchPlugins as dispatchRefractorPlugins, filter, find, findAtOffset, from, getNodeType, hasElementSourceMap, includesClasses, includesSymbols, isAnnotationElement, isArrayElement, isBooleanElement, isElement, isLinkElement, isMemberElement, isNullElement, isNumberElement, isObjectElement, isParseResultElement, isPrimitiveElement, isRefElement, isSourceMapElement, isStringElement, keyMapDefault as keyMap, namespace, parents, plugin$1 as refractorPluginElementIdentity, plugin as refractorPluginSemanticElementIdentity, reject, sexprs, some, toJSON, toString, toValue, toYAML, transclude, traverse, visit };
|
package/types/minim.d.ts
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/* eslint-disable spaced-comment, max-classes-per-file */
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
|
|
4
|
+
declare module 'minim' {
|
|
5
|
+
export type Meta = Record<string, any>;
|
|
6
|
+
export type Attributes = Record<string, any>;
|
|
7
|
+
export type Predicate = (element: Element) => boolean;
|
|
8
|
+
type Callback = (element: Element) => void;
|
|
9
|
+
|
|
10
|
+
export function refract(value: any): Element;
|
|
11
|
+
|
|
12
|
+
export class Element {
|
|
13
|
+
static refract(value: any, options?: Record<string, any>): Element;
|
|
14
|
+
|
|
15
|
+
public element: string;
|
|
16
|
+
|
|
17
|
+
public meta: ObjectElement;
|
|
18
|
+
|
|
19
|
+
public attributes: ObjectElement;
|
|
20
|
+
|
|
21
|
+
public classes: ArrayElement;
|
|
22
|
+
|
|
23
|
+
public children: ArraySlice;
|
|
24
|
+
|
|
25
|
+
public parent: Element;
|
|
26
|
+
|
|
27
|
+
public content: Array<unknown>;
|
|
28
|
+
|
|
29
|
+
constructor(content?: Array<unknown>, meta?: Meta, attributes?: Attributes);
|
|
30
|
+
|
|
31
|
+
set id(element: Element);
|
|
32
|
+
|
|
33
|
+
get id(): Element;
|
|
34
|
+
|
|
35
|
+
equals(value: any): boolean;
|
|
36
|
+
|
|
37
|
+
toValue(): any;
|
|
38
|
+
|
|
39
|
+
getMetaProperty(name: string, value?: any): any;
|
|
40
|
+
|
|
41
|
+
setMetaProperty(name: string, value: any): void;
|
|
42
|
+
|
|
43
|
+
freeze(): void;
|
|
44
|
+
|
|
45
|
+
clone(): Element;
|
|
46
|
+
|
|
47
|
+
primitive(): string | undefined;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
interface Type<T> extends Element {
|
|
51
|
+
new (...args: any[]): T;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
type ExtendingElement<T extends Element = Element> = Record<string, T>;
|
|
55
|
+
|
|
56
|
+
export class Namespace {
|
|
57
|
+
get elements(): Record<string, Element>;
|
|
58
|
+
|
|
59
|
+
toRefract(element: Element): JSON;
|
|
60
|
+
|
|
61
|
+
toElement(value: any): Element;
|
|
62
|
+
|
|
63
|
+
fromRefract(doc: Record<string, any> | Array<any>): Element;
|
|
64
|
+
|
|
65
|
+
register(name: string, elementClass: any): Namespace;
|
|
66
|
+
|
|
67
|
+
detect(test: any, elementClass: any, givenPrepend: boolean): Namespace;
|
|
68
|
+
|
|
69
|
+
use(plugin: NamespacePlugin): Namespace;
|
|
70
|
+
|
|
71
|
+
getElementClass(element: string): typeof Element;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export interface NamespacePluginOptions {
|
|
75
|
+
base: Namespace;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export interface NamespacePlugin {
|
|
79
|
+
namespace(options: NamespacePluginOptions): Namespace;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export class StringElement extends Element {
|
|
83
|
+
constructor(content?: string, meta?: Meta, attributes?: Attributes);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export class NumberElement extends Element {
|
|
87
|
+
constructor(content?: number, meta?: Meta, attributes?: Attributes);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export class NullElement extends Element {}
|
|
91
|
+
|
|
92
|
+
export class BooleanElement extends Element {
|
|
93
|
+
constructor(content?: boolean, meta?: Meta, attributes?: Attributes);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export class ArrayElement extends Element {
|
|
97
|
+
constructor(content?: unknown[], meta?: Meta, attributes?: Attributes);
|
|
98
|
+
|
|
99
|
+
first: Element | undefined;
|
|
100
|
+
|
|
101
|
+
second: Element | undefined;
|
|
102
|
+
|
|
103
|
+
get(index: string | number): any;
|
|
104
|
+
|
|
105
|
+
set(index: string | number, element: Element): void;
|
|
106
|
+
|
|
107
|
+
find(predicate: Predicate): ArraySlice;
|
|
108
|
+
|
|
109
|
+
findElements(condition: Predicate, givenOptions: any): Array<Element>;
|
|
110
|
+
|
|
111
|
+
filter(predicate: Predicate): ArraySlice;
|
|
112
|
+
|
|
113
|
+
contains(value: any): boolean;
|
|
114
|
+
|
|
115
|
+
includes(value: any): boolean;
|
|
116
|
+
|
|
117
|
+
push(value: any): ArrayElement;
|
|
118
|
+
|
|
119
|
+
concat(value: ArrayElement): ArrayElement;
|
|
120
|
+
|
|
121
|
+
['fantasy-land/map'](transform: any): ArrayElement;
|
|
122
|
+
|
|
123
|
+
forEach(callback: (item: Element, index: number) => void, thisArg?: unknown): void;
|
|
124
|
+
|
|
125
|
+
[Symbol.iterator](): IterableIterator<any>;
|
|
126
|
+
|
|
127
|
+
get length(): number;
|
|
128
|
+
|
|
129
|
+
map(callback: (element: Element) => Element, thisArg?: unknown): Array<Element>;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export class ObjectElement extends ArrayElement {
|
|
133
|
+
constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
|
|
134
|
+
|
|
135
|
+
remove(name: string): Element;
|
|
136
|
+
|
|
137
|
+
set(key: string | StringElement | number, value: any): ObjectElement;
|
|
138
|
+
|
|
139
|
+
hasKey(value: string): boolean;
|
|
140
|
+
|
|
141
|
+
getKey(value: string): StringElement;
|
|
142
|
+
|
|
143
|
+
getMember(key: string): MemberElement;
|
|
144
|
+
|
|
145
|
+
// @ts-ignore
|
|
146
|
+
forEach(
|
|
147
|
+
callback: (value: Element, key: Element, item: Element) => void,
|
|
148
|
+
thisArg?: unknown,
|
|
149
|
+
): void;
|
|
150
|
+
|
|
151
|
+
map(
|
|
152
|
+
callback: (value: Element, key: Element, member: MemberElement) => MemberElement,
|
|
153
|
+
thisArg?: unknown,
|
|
154
|
+
): Array<MemberElement>;
|
|
155
|
+
|
|
156
|
+
keys(): unknown[];
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export class MemberElement extends Element {
|
|
160
|
+
constructor(key?: unknown, value?: unknown, meta?: Meta, attributes?: Attributes);
|
|
161
|
+
|
|
162
|
+
get key(): unknown;
|
|
163
|
+
|
|
164
|
+
set key(key: unknown);
|
|
165
|
+
|
|
166
|
+
get value(): unknown;
|
|
167
|
+
|
|
168
|
+
set value(value: unknown);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export class LinkElement extends Element {
|
|
172
|
+
constructor(content?: Array<unknown>, meta?: Meta, attributes?: Attributes);
|
|
173
|
+
|
|
174
|
+
get relation(): unknown;
|
|
175
|
+
|
|
176
|
+
set relation(relation: unknown);
|
|
177
|
+
|
|
178
|
+
get href(): unknown;
|
|
179
|
+
|
|
180
|
+
set href(key: unknown);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export class RefElement extends Element {
|
|
184
|
+
constructor(content?: Array<unknown>, meta?: Meta, attributes?: Attributes);
|
|
185
|
+
|
|
186
|
+
get path(): unknown;
|
|
187
|
+
|
|
188
|
+
set path(path: unknown);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export class ArraySlice {
|
|
192
|
+
constructor(elements?: Array<unknown>);
|
|
193
|
+
|
|
194
|
+
get length(): number;
|
|
195
|
+
|
|
196
|
+
get first(): Element;
|
|
197
|
+
|
|
198
|
+
get isEmpty(): boolean;
|
|
199
|
+
|
|
200
|
+
filter(predicate: Predicate, thisArg?: unknown): ArraySlice;
|
|
201
|
+
|
|
202
|
+
reject(predicate: Predicate, thisArg?: unknown): ArraySlice;
|
|
203
|
+
|
|
204
|
+
forEach(callback: Callback): void;
|
|
205
|
+
|
|
206
|
+
reduce<T>(callback: (acc: T, cur: Element) => T, initialValue: T): ArraySlice;
|
|
207
|
+
|
|
208
|
+
map(callback: (currentValue: any, index: number) => any, thisArg?: unknown): ArraySlice;
|
|
209
|
+
|
|
210
|
+
hasKey(value: string): boolean;
|
|
211
|
+
|
|
212
|
+
get<T extends Element>(index: number): T;
|
|
213
|
+
|
|
214
|
+
[Symbol.iterator](): IterableIterator<any>;
|
|
215
|
+
|
|
216
|
+
toValue(): any;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
export class ObjectSlice extends ArraySlice {}
|
|
220
|
+
|
|
221
|
+
export class KeyValuePair {}
|
|
222
|
+
}
|