@markuplint/ml-core 3.5.0 → 3.6.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.
- package/lib/index.d.ts +11 -1
- package/lib/ml-core.d.ts +22 -11
- package/lib/ml-dom/helper/accname.js +3 -2
- package/lib/ml-dom/helper/create-node.d.ts +5 -1
- package/lib/ml-dom/helper/debug.js +3 -2
- package/lib/ml-dom/helper/getIndent.d.ts +7 -7
- package/lib/ml-dom/helper/getIndent.js +7 -9
- package/lib/ml-dom/helper/walkers.d.ts +14 -4
- package/lib/ml-dom/helper/walkers.js +1 -1
- package/lib/ml-dom/manipulations/child-node-methods.d.ts +18 -5
- package/lib/ml-dom/manipulations/get-children.d.ts +3 -1
- package/lib/ml-dom/node/attr.d.ts +93 -90
- package/lib/ml-dom/node/attr.js +3 -3
- package/lib/ml-dom/node/block.d.ts +35 -31
- package/lib/ml-dom/node/character-data.d.ts +59 -52
- package/lib/ml-dom/node/child-node.d.ts +9 -2
- package/lib/ml-dom/node/comment.d.ts +15 -12
- package/lib/ml-dom/node/document-fragment.d.ts +22 -19
- package/lib/ml-dom/node/document-type.d.ts +34 -31
- package/lib/ml-dom/node/document.d.ts +1600 -1583
- package/lib/ml-dom/node/document.js +15 -12
- package/lib/ml-dom/node/dom-token-list.d.ts +26 -26
- package/lib/ml-dom/node/dom-token-list.js +1 -1
- package/lib/ml-dom/node/element.d.ts +1902 -1896
- package/lib/ml-dom/node/element.js +18 -13
- package/lib/ml-dom/node/named-node-map.d.ts +44 -39
- package/lib/ml-dom/node/named-node-map.js +2 -1
- package/lib/ml-dom/node/node-list.d.ts +9 -3
- package/lib/ml-dom/node/node-list.js +2 -1
- package/lib/ml-dom/node/node-store.d.ts +8 -3
- package/lib/ml-dom/node/node.d.ts +491 -471
- package/lib/ml-dom/node/node.js +6 -3
- package/lib/ml-dom/node/parent-node.d.ts +66 -57
- package/lib/ml-dom/node/parent-node.js +6 -3
- package/lib/ml-dom/node/rule-mapper.d.ts +7 -7
- package/lib/ml-dom/node/rule-mapper.js +2 -1
- package/lib/ml-dom/node/text.d.ts +49 -46
- package/lib/ml-dom/node/types.d.ts +80 -12
- package/lib/ml-dom/node/unexpected-call-error.d.ts +1 -2
- package/lib/ml-dom/token/token.d.ts +44 -44
- package/lib/ml-rule/create-rule.d.ts +3 -1
- package/lib/ml-rule/create-test-rule.d.ts +5 -3
- package/lib/ml-rule/ml-rule-context.d.ts +55 -47
- package/lib/ml-rule/ml-rule.d.ts +33 -23
- package/lib/ml-rule/ml-rule.js +4 -5
- package/lib/ml-rule/types.d.ts +31 -13
- package/lib/plugin/plugin.d.ts +3 -1
- package/lib/plugin/types.d.ts +5 -5
- package/lib/ruleset/index.d.ts +4 -4
- package/lib/test/index.d.ts +19 -7
- package/lib/types.d.ts +8 -8
- package/lib/utils/get-location-from-chars.d.ts +9 -4
- package/package.json +10 -11
|
@@ -639,7 +639,8 @@ class MLElement extends parent_node_1.MLParentNode {
|
|
|
639
639
|
* @see https://dom.spec.whatwg.org/#ref-for-dom-element-id%E2%91%A0
|
|
640
640
|
*/
|
|
641
641
|
get id() {
|
|
642
|
-
|
|
642
|
+
var _a;
|
|
643
|
+
return (_a = this.getAttribute('id')) !== null && _a !== void 0 ? _a : '';
|
|
643
644
|
}
|
|
644
645
|
/**
|
|
645
646
|
* **IT THROWS AN ERROR WHEN CALLING THIS.**
|
|
@@ -1789,7 +1790,7 @@ class MLElement extends parent_node_1.MLParentNode {
|
|
|
1789
1790
|
return (0, child_node_methods_1.previousElementSibling)(this);
|
|
1790
1791
|
}
|
|
1791
1792
|
get raw() {
|
|
1792
|
-
var _a, _b;
|
|
1793
|
+
var _a, _b, _c;
|
|
1793
1794
|
if (((_a = this.pretenderContext) === null || _a === void 0 ? void 0 : _a.type) === 'pretender') {
|
|
1794
1795
|
return this.originRaw;
|
|
1795
1796
|
}
|
|
@@ -1800,7 +1801,7 @@ class MLElement extends parent_node_1.MLParentNode {
|
|
|
1800
1801
|
gap = gap + this.fixedNodeName.length - this.nodeName.length;
|
|
1801
1802
|
}
|
|
1802
1803
|
for (const attr of Array.from(this.attributes)) {
|
|
1803
|
-
const startOffset = (((_b = attr.spacesBeforeName) === null || _b === void 0 ? void 0 : _b.startOffset)
|
|
1804
|
+
const startOffset = ((_c = (_b = attr.spacesBeforeName) === null || _b === void 0 ? void 0 : _b.startOffset) !== null && _c !== void 0 ? _c : attr.startOffset) - this.startOffset;
|
|
1804
1805
|
const fixedAttr = attr.toString();
|
|
1805
1806
|
if (attr.originRaw !== fixedAttr) {
|
|
1806
1807
|
fixed = (0, string_splice_1.stringSplice)(fixed, startOffset + gap, attr.originRaw.length, fixedAttr);
|
|
@@ -1890,7 +1891,8 @@ class MLElement extends parent_node_1.MLParentNode {
|
|
|
1890
1891
|
* @see https://dom.spec.whatwg.org/#ref-for-dom-element-slot%E2%91%A0
|
|
1891
1892
|
*/
|
|
1892
1893
|
get slot() {
|
|
1893
|
-
|
|
1894
|
+
var _a;
|
|
1895
|
+
return (_a = this.getAttribute('slot')) !== null && _a !== void 0 ? _a : '';
|
|
1894
1896
|
}
|
|
1895
1897
|
/**
|
|
1896
1898
|
* **IT THROWS AN ERROR WHEN CALLING THIS.**
|
|
@@ -1947,7 +1949,7 @@ class MLElement extends parent_node_1.MLParentNode {
|
|
|
1947
1949
|
}
|
|
1948
1950
|
get textContent() {
|
|
1949
1951
|
return Array.from(this.childNodes)
|
|
1950
|
-
.map(child => child.textContent
|
|
1952
|
+
.map(child => { var _a; return (_a = child.textContent) !== null && _a !== void 0 ? _a : ''; })
|
|
1951
1953
|
.join('');
|
|
1952
1954
|
}
|
|
1953
1955
|
/**
|
|
@@ -2135,7 +2137,8 @@ class MLElement extends parent_node_1.MLParentNode {
|
|
|
2135
2137
|
* @see https://dom.spec.whatwg.org/#dom-element-getattributenode
|
|
2136
2138
|
*/
|
|
2137
2139
|
getAttributeNode(qualifiedName) {
|
|
2138
|
-
|
|
2140
|
+
var _a;
|
|
2141
|
+
return (_a = this.getAttributeToken(qualifiedName)[0]) !== null && _a !== void 0 ? _a : null;
|
|
2139
2142
|
}
|
|
2140
2143
|
/**
|
|
2141
2144
|
* **IT THROWS AN ERROR WHEN CALLING THIS.**
|
|
@@ -2284,7 +2287,7 @@ class MLElement extends parent_node_1.MLParentNode {
|
|
|
2284
2287
|
* @see https://dom.spec.whatwg.org/#dom-element-hasattributes
|
|
2285
2288
|
*/
|
|
2286
2289
|
hasAttributes() {
|
|
2287
|
-
return
|
|
2290
|
+
return this.attributes.length > 0;
|
|
2288
2291
|
}
|
|
2289
2292
|
/**
|
|
2290
2293
|
* @implements `@markuplint/ml-core` API: `MLElement`
|
|
@@ -2400,14 +2403,15 @@ class MLElement extends parent_node_1.MLParentNode {
|
|
|
2400
2403
|
*/
|
|
2401
2404
|
matches(selector) {
|
|
2402
2405
|
var _a;
|
|
2403
|
-
return
|
|
2406
|
+
return ((0, selector_1.createSelector)(selector, this.ownerMLDocument.specs).match(
|
|
2404
2407
|
// Prioritize the pretender
|
|
2405
|
-
((_a = this.pretenderContext) === null || _a === void 0 ? void 0 : _a.type) === 'pretender' ? this.pretenderContext.as : this);
|
|
2408
|
+
((_a = this.pretenderContext) === null || _a === void 0 ? void 0 : _a.type) === 'pretender' ? this.pretenderContext.as : this) !== false);
|
|
2406
2409
|
}
|
|
2407
2410
|
/**
|
|
2408
2411
|
* Pretenders Initialization
|
|
2409
2412
|
*/
|
|
2410
2413
|
pretending(pretenders) {
|
|
2414
|
+
var _a;
|
|
2411
2415
|
const pretenderConfig = pretenders === null || pretenders === void 0 ? void 0 : pretenders.find(option => this.matches(option.selector));
|
|
2412
2416
|
if (!pretenderConfig) {
|
|
2413
2417
|
return;
|
|
@@ -2421,16 +2425,17 @@ class MLElement extends parent_node_1.MLParentNode {
|
|
|
2421
2425
|
}
|
|
2422
2426
|
else {
|
|
2423
2427
|
nodeName = pretenderConfig.as.element;
|
|
2424
|
-
namespace = pretenderConfig.as.namespace
|
|
2428
|
+
namespace = (_a = pretenderConfig.as.namespace) !== null && _a !== void 0 ? _a : namespace;
|
|
2425
2429
|
if (pretenderConfig.as.inheritAttrs) {
|
|
2426
2430
|
attributes.push(...this._astToken.attributes);
|
|
2427
2431
|
}
|
|
2428
2432
|
if (pretenderConfig.as.attrs) {
|
|
2429
2433
|
attributes.push(...pretenderConfig.as.attrs.map(({ name, value }, i) => {
|
|
2430
|
-
|
|
2434
|
+
var _a;
|
|
2435
|
+
const _value = value != null
|
|
2431
2436
|
? typeof value === 'string'
|
|
2432
2437
|
? value
|
|
2433
|
-
: this.getAttribute(value.fromAttr)
|
|
2438
|
+
: (_a = this.getAttribute(value.fromAttr)) !== null && _a !== void 0 ? _a : ''
|
|
2434
2439
|
: '';
|
|
2435
2440
|
return {
|
|
2436
2441
|
...this._astToken,
|
|
@@ -2683,7 +2688,7 @@ class MLElement extends parent_node_1.MLParentNode {
|
|
|
2683
2688
|
}
|
|
2684
2689
|
const children = this.getChildElementsAndTextNodeWithoutWhitespaces();
|
|
2685
2690
|
const attrs = this.attributes.map(attr => attr.toNormalizeString());
|
|
2686
|
-
const attrString = attrs.length ? ' ' + attrs.join('') : '';
|
|
2691
|
+
const attrString = attrs.length > 0 ? ' ' + attrs.join('') : '';
|
|
2687
2692
|
const startTag = `<${this.nodeName}${attrString}>`;
|
|
2688
2693
|
const childNodes = children.map(node => {
|
|
2689
2694
|
if (node.is(node.ELEMENT_NODE)) {
|
|
@@ -1,42 +1,47 @@
|
|
|
1
1
|
import type { MLAttr } from './attr';
|
|
2
2
|
import type { PlainData, RuleConfigValue } from '@markuplint/ml-config';
|
|
3
|
-
export declare class MLNamedNodeMap<T extends RuleConfigValue, O extends PlainData = undefined>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
3
|
+
export declare class MLNamedNodeMap<T extends RuleConfigValue, O extends PlainData = undefined>
|
|
4
|
+
extends Array<MLAttr<T, O>>
|
|
5
|
+
implements NamedNodeMap
|
|
6
|
+
{
|
|
7
|
+
getNamedItem(qualifiedName: string): MLAttr<T, O> | null;
|
|
8
|
+
/**
|
|
9
|
+
* **IT THROWS AN ERROR WHEN CALLING THIS.**
|
|
10
|
+
*
|
|
11
|
+
* @unsupported
|
|
12
|
+
* @implements DOM API: `NamedNodeMap`
|
|
13
|
+
*/
|
|
14
|
+
getNamedItemNS(namespace: string | null, localName: string): Attr | null;
|
|
15
|
+
item(index: number): MLAttr<T, O> | null;
|
|
16
|
+
/**
|
|
17
|
+
* **IT THROWS AN ERROR WHEN CALLING THIS.**
|
|
18
|
+
*
|
|
19
|
+
* @unsupported
|
|
20
|
+
* @implements DOM API: `NamedNodeMap`
|
|
21
|
+
*/
|
|
22
|
+
removeNamedItem(qualifiedName: string): MLAttr<T, O>;
|
|
23
|
+
/**
|
|
24
|
+
* **IT THROWS AN ERROR WHEN CALLING THIS.**
|
|
25
|
+
*
|
|
26
|
+
* @unsupported
|
|
27
|
+
* @implements DOM API: `NamedNodeMap`
|
|
28
|
+
*/
|
|
29
|
+
removeNamedItemNS(namespace: string | null, localName: string): MLAttr<T, O>;
|
|
30
|
+
/**
|
|
31
|
+
* **IT THROWS AN ERROR WHEN CALLING THIS.**
|
|
32
|
+
*
|
|
33
|
+
* @unsupported
|
|
34
|
+
* @implements DOM API: `NamedNodeMap`
|
|
35
|
+
*/
|
|
36
|
+
setNamedItem(attr: MLAttr<T, O>): MLAttr<T, O> | null;
|
|
37
|
+
/**
|
|
38
|
+
* **IT THROWS AN ERROR WHEN CALLING THIS.**
|
|
39
|
+
*
|
|
40
|
+
* @unsupported
|
|
41
|
+
* @implements DOM API: `NamedNodeMap`
|
|
42
|
+
*/
|
|
43
|
+
setNamedItemNS(attr: MLAttr<T, O>): MLAttr<T, O> | null;
|
|
41
44
|
}
|
|
42
|
-
export declare function toNamedNodeMap<T extends RuleConfigValue, O extends PlainData = undefined>(
|
|
45
|
+
export declare function toNamedNodeMap<T extends RuleConfigValue, O extends PlainData = undefined>(
|
|
46
|
+
nodes: ReadonlyArray<MLAttr<T, O>>,
|
|
47
|
+
): MLNamedNodeMap<T, O>;
|
|
@@ -5,7 +5,8 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const unexpected_call_error_1 = tslib_1.__importDefault(require("./unexpected-call-error"));
|
|
6
6
|
class MLNamedNodeMap extends Array {
|
|
7
7
|
getNamedItem(qualifiedName) {
|
|
8
|
-
|
|
8
|
+
var _a;
|
|
9
|
+
return (_a = this.find(attr => attr.name === qualifiedName)) !== null && _a !== void 0 ? _a : null;
|
|
9
10
|
}
|
|
10
11
|
/**
|
|
11
12
|
* **IT THROWS AN ERROR WHEN CALLING THIS.**
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { MLChildNode } from './child-node';
|
|
2
2
|
import type { MLElement } from './element';
|
|
3
3
|
import type { PlainData, RuleConfigValue } from '@markuplint/ml-config';
|
|
4
|
-
export declare function toNodeList<T extends RuleConfigValue, O extends PlainData, N extends MLChildNode<T, O>>(
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
export declare function toNodeList<T extends RuleConfigValue, O extends PlainData, N extends MLChildNode<T, O>>(
|
|
5
|
+
nodes: ReadonlyArray<N>,
|
|
6
|
+
): NodeListOf<N>;
|
|
7
|
+
export declare function toHTMLCollection<T extends RuleConfigValue, O extends PlainData = undefined>(
|
|
8
|
+
nodes: ReadonlyArray<MLElement<T, O>>,
|
|
9
|
+
): HTMLCollectionOf<MLElement<T, O>>;
|
|
10
|
+
export declare function nodeListToHTMLCollection<T extends RuleConfigValue, O extends PlainData = undefined>(
|
|
11
|
+
nodeList: NodeListOf<MLChildNode<T, O>>,
|
|
12
|
+
): HTMLCollectionOf<MLElement<T, O>>;
|
|
@@ -34,7 +34,8 @@ class MLHTMLCollection extends Array {
|
|
|
34
34
|
return (_a = this[index]) !== null && _a !== void 0 ? _a : null;
|
|
35
35
|
}
|
|
36
36
|
namedItem(name) {
|
|
37
|
-
|
|
37
|
+
var _a;
|
|
38
|
+
return (_a = this.find(el => el.getAttribute('name') === name)) !== null && _a !== void 0 ? _a : null;
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
function toHTMLCollection(
|
|
@@ -3,9 +3,14 @@ import type { MappedNode } from './types';
|
|
|
3
3
|
import type { MLASTAbstractNode } from '@markuplint/ml-ast';
|
|
4
4
|
import type { PlainData, RuleConfigValue } from '@markuplint/ml-config';
|
|
5
5
|
declare class NodeStore {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
#private;
|
|
7
|
+
getNode<N extends MLASTAbstractNode, T extends RuleConfigValue, O extends PlainData = undefined>(
|
|
8
|
+
astNode: N,
|
|
9
|
+
): MappedNode<N, T, O>;
|
|
10
|
+
setNode<A extends MLASTAbstractNode, T extends RuleConfigValue, O extends PlainData = undefined>(
|
|
11
|
+
astNode: A,
|
|
12
|
+
node: MLNode<T, O, A>,
|
|
13
|
+
): void;
|
|
9
14
|
}
|
|
10
15
|
/**
|
|
11
16
|
* `NodeStore` Singleton
|