@markuplint/ml-core 3.12.0 → 4.0.0-alpha.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/lib/configs.browser.js +1 -5
- package/lib/configs.js +33 -30
- package/lib/convert-ruleset.d.ts +1 -1
- package/lib/convert-ruleset.js +3 -8
- package/lib/debug.js +9 -14
- package/lib/index.d.ts +12 -12
- package/lib/index.js +13 -29
- package/lib/ml-core.d.ts +2 -2
- package/lib/ml-core.js +60 -66
- package/lib/ml-dom/helper/accname.d.ts +1 -1
- package/lib/ml-dom/helper/accname.js +9 -16
- package/lib/ml-dom/helper/create-node.d.ts +2 -2
- package/lib/ml-dom/helper/create-node.js +11 -15
- package/lib/ml-dom/helper/debug.d.ts +1 -1
- package/lib/ml-dom/helper/debug.js +2 -7
- package/lib/ml-dom/helper/getIndent.d.ts +2 -2
- package/lib/ml-dom/helper/getIndent.js +15 -19
- package/lib/ml-dom/helper/walkers.d.ts +1 -1
- package/lib/ml-dom/helper/walkers.js +2 -7
- package/lib/ml-dom/index.d.ts +9 -9
- package/lib/ml-dom/index.js +1 -5
- package/lib/ml-dom/manipulations/child-node-methods.d.ts +2 -2
- package/lib/ml-dom/manipulations/child-node-methods.js +13 -25
- package/lib/ml-dom/manipulations/get-children.d.ts +2 -2
- package/lib/ml-dom/manipulations/get-children.js +3 -7
- package/lib/ml-dom/node/attr.d.ts +5 -5
- package/lib/ml-dom/node/attr.js +28 -33
- package/lib/ml-dom/node/block.d.ts +4 -4
- package/lib/ml-dom/node/block.js +7 -11
- package/lib/ml-dom/node/character-data.d.ts +2 -2
- package/lib/ml-dom/node/character-data.js +11 -16
- package/lib/ml-dom/node/child-node.d.ts +6 -6
- package/lib/ml-dom/node/child-node.js +1 -5
- package/lib/ml-dom/node/comment.d.ts +2 -2
- package/lib/ml-dom/node/comment.js +2 -6
- package/lib/ml-dom/node/document-fragment.d.ts +2 -2
- package/lib/ml-dom/node/document-fragment.js +4 -9
- package/lib/ml-dom/node/document-type.d.ts +4 -4
- package/lib/ml-dom/node/document-type.js +7 -11
- package/lib/ml-dom/node/document.d.ts +13 -13
- package/lib/ml-dom/node/document.js +233 -241
- package/lib/ml-dom/node/dom-token-list.d.ts +1 -1
- package/lib/ml-dom/node/dom-token-list.js +25 -31
- package/lib/ml-dom/node/element.d.ts +8 -8
- package/lib/ml-dom/node/element.js +278 -296
- package/lib/ml-dom/node/named-node-map.d.ts +1 -1
- package/lib/ml-dom/node/named-node-map.js +10 -18
- package/lib/ml-dom/node/node-list.d.ts +2 -2
- package/lib/ml-dom/node/node-list.js +6 -14
- package/lib/ml-dom/node/node-store.d.ts +2 -2
- package/lib/ml-dom/node/node-store.js +9 -12
- package/lib/ml-dom/node/node.d.ts +8 -8
- package/lib/ml-dom/node/node.js +58 -66
- package/lib/ml-dom/node/parent-node.d.ts +2 -2
- package/lib/ml-dom/node/parent-node.js +22 -29
- package/lib/ml-dom/node/rule-mapper.d.ts +2 -2
- package/lib/ml-dom/node/rule-mapper.js +11 -16
- package/lib/ml-dom/node/text.d.ts +2 -2
- package/lib/ml-dom/node/text.js +6 -11
- package/lib/ml-dom/node/types.d.ts +10 -10
- package/lib/ml-dom/node/types.js +1 -2
- package/lib/ml-dom/node/unexpected-call-error.js +1 -4
- package/lib/ml-dom/token/token.js +19 -23
- package/lib/ml-rule/create-rule.d.ts +1 -1
- package/lib/ml-rule/create-rule.js +1 -5
- package/lib/ml-rule/create-test-rule.d.ts +2 -2
- package/lib/ml-rule/create-test-rule.js +3 -7
- package/lib/ml-rule/index.d.ts +3 -3
- package/lib/ml-rule/index.js +3 -6
- package/lib/ml-rule/ml-rule-context.d.ts +2 -2
- package/lib/ml-rule/ml-rule-context.js +7 -11
- package/lib/ml-rule/ml-rule.d.ts +3 -3
- package/lib/ml-rule/ml-rule.js +23 -30
- package/lib/ml-rule/types.d.ts +2 -2
- package/lib/ml-rule/types.js +1 -2
- package/lib/plugin/index.d.ts +2 -2
- package/lib/plugin/index.js +2 -5
- package/lib/plugin/plugin.d.ts +1 -1
- package/lib/plugin/plugin.js +1 -5
- package/lib/plugin/types.d.ts +1 -1
- package/lib/plugin/types.js +1 -2
- package/lib/ruleset/index.js +4 -8
- package/lib/test/index.d.ts +4 -4
- package/lib/test/index.js +13 -23
- package/lib/types.d.ts +2 -2
- package/lib/types.js +1 -2
- package/lib/utils/get-location-from-chars.js +1 -5
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +1 -5
- package/lib/utils/string-splice.js +1 -5
- package/package.json +20 -15
- package/test/ml-dom/helper/accname.spec.js +0 -85
- package/test/ml-dom/helper/create-node.spec.js +0 -18
- package/test/ml-dom/index.spec.js +0 -680
- package/test/ml-dom/ml-rule/create-rule.spec.js +0 -108
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var _MLDomTokenList_origin, _MLDomTokenList_ownerAttrs, _MLDomTokenList_set;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const unexpected_call_error_1 = tslib_1.__importDefault(require("./unexpected-call-error"));
|
|
8
|
-
class MLDomTokenList extends Array {
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { getCol, getLine } from '@markuplint/parser-utils';
|
|
4
|
+
import UnexpectedCallError from './unexpected-call-error.js';
|
|
5
|
+
export class MLDomTokenList extends Array {
|
|
9
6
|
constructor(tokens,
|
|
10
7
|
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
11
8
|
ownerAttrs) {
|
|
@@ -21,22 +18,22 @@ class MLDomTokenList extends Array {
|
|
|
21
18
|
*/
|
|
22
19
|
_MLDomTokenList_ownerAttrs.set(this, void 0);
|
|
23
20
|
_MLDomTokenList_set.set(this, void 0);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
__classPrivateFieldSet(this, _MLDomTokenList_origin, tokens, "f");
|
|
22
|
+
__classPrivateFieldSet(this, _MLDomTokenList_ownerAttrs, ownerAttrs, "f");
|
|
23
|
+
__classPrivateFieldSet(this, _MLDomTokenList_set, new Set(list), "f");
|
|
27
24
|
}
|
|
28
25
|
get value() {
|
|
29
26
|
return this.join(' ');
|
|
30
27
|
}
|
|
31
28
|
add(...tokens) {
|
|
32
29
|
for (const token of tokens) {
|
|
33
|
-
if (
|
|
30
|
+
if (__classPrivateFieldGet(this, _MLDomTokenList_set, "f").has(token)) {
|
|
34
31
|
continue;
|
|
35
32
|
}
|
|
36
|
-
|
|
33
|
+
__classPrivateFieldGet(this, _MLDomTokenList_set, "f").add(token);
|
|
37
34
|
this.push(token);
|
|
38
35
|
}
|
|
39
|
-
|
|
36
|
+
__classPrivateFieldSet(this, _MLDomTokenList_origin, __classPrivateFieldGet(this, _MLDomTokenList_origin, "f") + tokens.join(' '), "f");
|
|
40
37
|
}
|
|
41
38
|
/**
|
|
42
39
|
* @implements `@markuplint/ml-core` API: `MLDomTokenList`
|
|
@@ -67,14 +64,13 @@ class MLDomTokenList extends Array {
|
|
|
67
64
|
return locs;
|
|
68
65
|
}
|
|
69
66
|
contains(token) {
|
|
70
|
-
return
|
|
67
|
+
return __classPrivateFieldGet(this, _MLDomTokenList_set, "f").has(token);
|
|
71
68
|
}
|
|
72
69
|
forEach(callbackfn, thisArg) {
|
|
73
|
-
this.forEach.bind(this)((v, i) => callbackfn(v, i, thisArg
|
|
70
|
+
this.forEach.bind(this)((v, i) => callbackfn(v, i, thisArg ?? this));
|
|
74
71
|
}
|
|
75
72
|
item(index) {
|
|
76
|
-
|
|
77
|
-
return (_a = this[index]) !== null && _a !== void 0 ? _a : null;
|
|
73
|
+
return this[index] ?? null;
|
|
78
74
|
}
|
|
79
75
|
/**
|
|
80
76
|
* @implements `@markuplint/ml-core` API: `MLDomTokenList`
|
|
@@ -93,41 +89,40 @@ class MLDomTokenList extends Array {
|
|
|
93
89
|
};
|
|
94
90
|
}
|
|
95
91
|
remove(...tokens) {
|
|
96
|
-
throw new
|
|
92
|
+
throw new UnexpectedCallError('Not supported "remove" method');
|
|
97
93
|
}
|
|
98
94
|
replace(token, newToken) {
|
|
99
|
-
throw new
|
|
95
|
+
throw new UnexpectedCallError('Not supported "replace" method');
|
|
100
96
|
}
|
|
101
97
|
supports(token) {
|
|
102
|
-
throw new
|
|
98
|
+
throw new UnexpectedCallError('Not supported "supports" method');
|
|
103
99
|
}
|
|
104
100
|
toString() {
|
|
105
101
|
return this.value;
|
|
106
102
|
}
|
|
107
103
|
toggle(token, force) {
|
|
108
|
-
throw new
|
|
104
|
+
throw new UnexpectedCallError('Not supported "toggle" method');
|
|
109
105
|
}
|
|
110
106
|
_pick(token, _offset = 0) {
|
|
111
|
-
|
|
112
|
-
token = (_a = token.trim().split(/\s+/g)[0]) !== null && _a !== void 0 ? _a : '';
|
|
107
|
+
token = token.trim().split(/\s+/g)[0] ?? '';
|
|
113
108
|
if (!token) {
|
|
114
109
|
return null;
|
|
115
110
|
}
|
|
116
|
-
for (const ownerAttr of
|
|
111
|
+
for (const ownerAttr of __classPrivateFieldGet(this, _MLDomTokenList_ownerAttrs, "f")) {
|
|
117
112
|
if (ownerAttr.isDynamicValue) {
|
|
118
113
|
continue;
|
|
119
114
|
}
|
|
120
|
-
const startOffset =
|
|
115
|
+
const startOffset = __classPrivateFieldGet(this, _MLDomTokenList_origin, "f").indexOf(token, _offset);
|
|
121
116
|
if (startOffset === -1) {
|
|
122
117
|
continue;
|
|
123
118
|
}
|
|
124
|
-
const startLine =
|
|
125
|
-
const startCol =
|
|
119
|
+
const startLine = getLine(__classPrivateFieldGet(this, _MLDomTokenList_origin, "f"), startOffset);
|
|
120
|
+
const startCol = getCol(__classPrivateFieldGet(this, _MLDomTokenList_origin, "f"), startOffset);
|
|
126
121
|
return {
|
|
127
122
|
raw: token,
|
|
128
|
-
startOffset: (
|
|
129
|
-
startLine: (
|
|
130
|
-
startCol: (
|
|
123
|
+
startOffset: (ownerAttr.valueNode?.startOffset ?? 0) + startOffset,
|
|
124
|
+
startLine: (ownerAttr.valueNode?.startLine ?? 0) + (startLine - 1),
|
|
125
|
+
startCol: (ownerAttr.valueNode?.startCol ?? 0) + (startCol - 1),
|
|
131
126
|
rule: ownerAttr.rule,
|
|
132
127
|
_searchedIndex: startOffset,
|
|
133
128
|
};
|
|
@@ -135,5 +130,4 @@ class MLDomTokenList extends Array {
|
|
|
135
130
|
return null;
|
|
136
131
|
}
|
|
137
132
|
}
|
|
138
|
-
exports.MLDomTokenList = MLDomTokenList;
|
|
139
133
|
_MLDomTokenList_origin = new WeakMap(), _MLDomTokenList_ownerAttrs = new WeakMap(), _MLDomTokenList_set = new WeakMap();
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import type { MLDocument } from './document';
|
|
2
|
-
import type { MLNamedNodeMap } from './named-node-map';
|
|
3
|
-
import type { MLText } from './text';
|
|
4
|
-
import type { ElementNodeType, PretenderContext } from './types';
|
|
1
|
+
import type { MLDocument } from './document.js';
|
|
2
|
+
import type { MLNamedNodeMap } from './named-node-map.js';
|
|
3
|
+
import type { MLText } from './text.js';
|
|
4
|
+
import type { ElementNodeType, PretenderContext } from './types.js';
|
|
5
5
|
import type { ElementType, MLASTElement, NamespaceURI } from '@markuplint/ml-ast';
|
|
6
6
|
import type { PlainData, Pretender, RuleConfigValue, RuleInfo } from '@markuplint/ml-config';
|
|
7
7
|
import type { ARIAVersion } from '@markuplint/ml-spec';
|
|
8
|
-
import { MLToken } from '../token/token';
|
|
9
|
-
import { MLAttr } from './attr';
|
|
10
|
-
import { MLDomTokenList } from './dom-token-list';
|
|
11
|
-
import { MLParentNode } from './parent-node';
|
|
8
|
+
import { MLToken } from '../token/token.js';
|
|
9
|
+
import { MLAttr } from './attr.js';
|
|
10
|
+
import { MLDomTokenList } from './dom-token-list.js';
|
|
11
|
+
import { MLParentNode } from './parent-node.js';
|
|
12
12
|
export declare class MLElement<T extends RuleConfigValue, O extends PlainData = undefined> extends MLParentNode<T, O, MLASTElement> implements Element, HTMLOrSVGElement, HTMLElement {
|
|
13
13
|
#private;
|
|
14
14
|
readonly closeTag: MLToken | null;
|