@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.
Files changed (53) hide show
  1. package/lib/index.d.ts +11 -1
  2. package/lib/ml-core.d.ts +22 -11
  3. package/lib/ml-dom/helper/accname.js +3 -2
  4. package/lib/ml-dom/helper/create-node.d.ts +5 -1
  5. package/lib/ml-dom/helper/debug.js +3 -2
  6. package/lib/ml-dom/helper/getIndent.d.ts +7 -7
  7. package/lib/ml-dom/helper/getIndent.js +7 -9
  8. package/lib/ml-dom/helper/walkers.d.ts +14 -4
  9. package/lib/ml-dom/helper/walkers.js +1 -1
  10. package/lib/ml-dom/manipulations/child-node-methods.d.ts +18 -5
  11. package/lib/ml-dom/manipulations/get-children.d.ts +3 -1
  12. package/lib/ml-dom/node/attr.d.ts +93 -90
  13. package/lib/ml-dom/node/attr.js +3 -3
  14. package/lib/ml-dom/node/block.d.ts +35 -31
  15. package/lib/ml-dom/node/character-data.d.ts +59 -52
  16. package/lib/ml-dom/node/child-node.d.ts +9 -2
  17. package/lib/ml-dom/node/comment.d.ts +15 -12
  18. package/lib/ml-dom/node/document-fragment.d.ts +22 -19
  19. package/lib/ml-dom/node/document-type.d.ts +34 -31
  20. package/lib/ml-dom/node/document.d.ts +1600 -1583
  21. package/lib/ml-dom/node/document.js +15 -12
  22. package/lib/ml-dom/node/dom-token-list.d.ts +26 -26
  23. package/lib/ml-dom/node/dom-token-list.js +1 -1
  24. package/lib/ml-dom/node/element.d.ts +1902 -1896
  25. package/lib/ml-dom/node/element.js +18 -13
  26. package/lib/ml-dom/node/named-node-map.d.ts +44 -39
  27. package/lib/ml-dom/node/named-node-map.js +2 -1
  28. package/lib/ml-dom/node/node-list.d.ts +9 -3
  29. package/lib/ml-dom/node/node-list.js +2 -1
  30. package/lib/ml-dom/node/node-store.d.ts +8 -3
  31. package/lib/ml-dom/node/node.d.ts +491 -471
  32. package/lib/ml-dom/node/node.js +6 -3
  33. package/lib/ml-dom/node/parent-node.d.ts +66 -57
  34. package/lib/ml-dom/node/parent-node.js +6 -3
  35. package/lib/ml-dom/node/rule-mapper.d.ts +7 -7
  36. package/lib/ml-dom/node/rule-mapper.js +2 -1
  37. package/lib/ml-dom/node/text.d.ts +49 -46
  38. package/lib/ml-dom/node/types.d.ts +80 -12
  39. package/lib/ml-dom/node/unexpected-call-error.d.ts +1 -2
  40. package/lib/ml-dom/token/token.d.ts +44 -44
  41. package/lib/ml-rule/create-rule.d.ts +3 -1
  42. package/lib/ml-rule/create-test-rule.d.ts +5 -3
  43. package/lib/ml-rule/ml-rule-context.d.ts +55 -47
  44. package/lib/ml-rule/ml-rule.d.ts +33 -23
  45. package/lib/ml-rule/ml-rule.js +4 -5
  46. package/lib/ml-rule/types.d.ts +31 -13
  47. package/lib/plugin/plugin.d.ts +3 -1
  48. package/lib/plugin/types.d.ts +5 -5
  49. package/lib/ruleset/index.d.ts +4 -4
  50. package/lib/test/index.d.ts +19 -7
  51. package/lib/types.d.ts +8 -8
  52. package/lib/utils/get-location-from-chars.d.ts +9 -4
  53. package/package.json +10 -11
@@ -151,6 +151,7 @@ class MLNode extends token_1.MLToken {
151
151
  * @see https://dom.spec.whatwg.org/#ref-for-dom-node-childnodes%E2%91%A0
152
152
  */
153
153
  get childNodes() {
154
+ var _a;
154
155
  if (tslib_1.__classPrivateFieldGet(this, _MLNode_childNodes, "f") != null) {
155
156
  return tslib_1.__classPrivateFieldGet(this, _MLNode_childNodes, "f");
156
157
  }
@@ -169,7 +170,7 @@ class MLNode extends token_1.MLToken {
169
170
  this.is(this.ELEMENT_NODE) ||
170
171
  this.is(this.MARKUPLINT_PREPROCESSOR_BLOCK)) {
171
172
  // @ts-ignore
172
- const astChildren = this._astToken.childNodes || [];
173
+ const astChildren = (_a = this._astToken.childNodes) !== null && _a !== void 0 ? _a : [];
173
174
  const childNodes = astChildren
174
175
  .map(node => node_store_1.nodeStore.getNode(node))
175
176
  .filter((node) => (0, child_node_1.isChildNode)(node));
@@ -371,6 +372,7 @@ class MLNode extends token_1.MLToken {
371
372
  * @implements `@markuplint/ml-core` API: `MLNode`
372
373
  */
373
374
  get prevToken() {
375
+ var _a, _b;
374
376
  if (tslib_1.__classPrivateFieldGet(this, _MLNode_prevToken, "f") !== undefined) {
375
377
  return tslib_1.__classPrivateFieldGet(this, _MLNode_prevToken, "f");
376
378
  }
@@ -392,8 +394,8 @@ class MLNode extends token_1.MLToken {
392
394
  tslib_1.__classPrivateFieldSet(this, _MLNode_prevToken, null, "f");
393
395
  return tslib_1.__classPrivateFieldGet(this, _MLNode_prevToken, "f");
394
396
  }
395
- tslib_1.__classPrivateFieldSet(this, _MLNode_prevToken, this.ownerMLDocument.nodeList[index - 1] || null, "f");
396
- return tslib_1.__classPrivateFieldGet(this, _MLNode_prevToken, "f") || null;
397
+ tslib_1.__classPrivateFieldSet(this, _MLNode_prevToken, (_a = this.ownerMLDocument.nodeList[index - 1]) !== null && _a !== void 0 ? _a : null, "f");
398
+ return (_b = tslib_1.__classPrivateFieldGet(this, _MLNode_prevToken, "f")) !== null && _b !== void 0 ? _b : null;
397
399
  }
398
400
  /**
399
401
  * **IT THROWS AN ERROR WHEN CALLING THIS.**
@@ -415,6 +417,7 @@ class MLNode extends token_1.MLToken {
415
417
  const name = this.ownerMLDocument.currentRule.name;
416
418
  const settingRule = this.rules[name];
417
419
  const rule = this.ownerMLDocument.currentRule.optimizeOption(settingRule);
420
+ // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
418
421
  if (!rule) {
419
422
  throw new Error(`Rule data "${name}" doesn't exist in rules ([${Object.keys(this.rules).map(name => `"${name}"`)}]) of ${this.nodeName}("${this.raw}")`);
420
423
  }
@@ -6,61 +6,70 @@ import { MLNode } from './node';
6
6
  *
7
7
  * @see https://dom.spec.whatwg.org/#interface-parentnode
8
8
  */
9
- export declare abstract class MLParentNode<T extends RuleConfigValue, O extends PlainData = undefined, A extends MLASTAbstractNode = MLASTAbstractNode> extends MLNode<T, O, A> implements ParentNode {
10
- #private;
11
- /**
12
- * @implements DOM API: `Element`, `Document`, `DocumentFragment`
13
- * @see https://dom.spec.whatwg.org/#dom-parentnode-childelementcount
14
- */
15
- get childElementCount(): number;
16
- /**
17
- * @implements DOM API: `Element`, `Document`, `DocumentFragment`
18
- * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-children%E2%91%A0
19
- */
20
- get children(): HTMLCollectionOf<MLElement<T, O>>;
21
- /**
22
- * @implements DOM API: `Element`, `Document`, `DocumentFragment`
23
- * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-firstelementchild%E2%91%A0
24
- */
25
- get firstElementChild(): MLElement<T, O> | null;
26
- /**
27
- * @implements DOM API: `Element`, `Document`, `DocumentFragment`
28
- * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-lastelementchild%E2%91%A0
29
- */
30
- get lastElementChild(): MLElement<T, O> | null;
31
- /**
32
- * **IT THROWS AN ERROR WHEN CALLING THIS.**
33
- *
34
- * @unsupported
35
- * @implements DOM API: `Element`, `Document`, `DocumentFragment`
36
- * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-append%E2%91%A0
37
- */
38
- append(...nodes: (string | Node)[]): void;
39
- /**
40
- * **IT THROWS AN ERROR WHEN CALLING THIS.**
41
- *
42
- * @unsupported
43
- * @implements DOM API: `Element`, `Document`, `DocumentFragment`
44
- * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-prepend%E2%91%A0
45
- */
46
- prepend(...nodes: (string | Node)[]): void;
47
- /**
48
- * @implements DOM API: `Element`, `Document`, `DocumentFragment`
49
- * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-queryselector%E2%91%A0
50
- */
51
- querySelector(selectors: string): MLElement<T, O> | null;
52
- /**
53
- * @implements DOM API: `Element`, `Document`, `DocumentFragment`
54
- * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-queryselectorall%E2%91%A0
55
- */
56
- querySelectorAll(selectors: string): NodeListOf<MLElement<T, O>>;
57
- /**
58
- * **IT THROWS AN ERROR WHEN CALLING THIS.**
59
- *
60
- * @unsupported
61
- * @implements DOM API: `Element`, `Document`, `DocumentFragment`
62
- * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-replacechildren%E2%91%A0
63
- */
64
- replaceChildren(...nodes: (string | Node)[]): void;
65
- protected _descendantsToArray<N extends MLNode<T, O>>(filter?: (node: MLNode<T, O>) => N | null | void): ReadonlyArray<N>;
9
+ export declare abstract class MLParentNode<
10
+ T extends RuleConfigValue,
11
+ O extends PlainData = undefined,
12
+ A extends MLASTAbstractNode = MLASTAbstractNode,
13
+ >
14
+ extends MLNode<T, O, A>
15
+ implements ParentNode
16
+ {
17
+ #private;
18
+ /**
19
+ * @implements DOM API: `Element`, `Document`, `DocumentFragment`
20
+ * @see https://dom.spec.whatwg.org/#dom-parentnode-childelementcount
21
+ */
22
+ get childElementCount(): number;
23
+ /**
24
+ * @implements DOM API: `Element`, `Document`, `DocumentFragment`
25
+ * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-children%E2%91%A0
26
+ */
27
+ get children(): HTMLCollectionOf<MLElement<T, O>>;
28
+ /**
29
+ * @implements DOM API: `Element`, `Document`, `DocumentFragment`
30
+ * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-firstelementchild%E2%91%A0
31
+ */
32
+ get firstElementChild(): MLElement<T, O> | null;
33
+ /**
34
+ * @implements DOM API: `Element`, `Document`, `DocumentFragment`
35
+ * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-lastelementchild%E2%91%A0
36
+ */
37
+ get lastElementChild(): MLElement<T, O> | null;
38
+ /**
39
+ * **IT THROWS AN ERROR WHEN CALLING THIS.**
40
+ *
41
+ * @unsupported
42
+ * @implements DOM API: `Element`, `Document`, `DocumentFragment`
43
+ * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-append%E2%91%A0
44
+ */
45
+ append(...nodes: (string | Node)[]): void;
46
+ /**
47
+ * **IT THROWS AN ERROR WHEN CALLING THIS.**
48
+ *
49
+ * @unsupported
50
+ * @implements DOM API: `Element`, `Document`, `DocumentFragment`
51
+ * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-prepend%E2%91%A0
52
+ */
53
+ prepend(...nodes: (string | Node)[]): void;
54
+ /**
55
+ * @implements DOM API: `Element`, `Document`, `DocumentFragment`
56
+ * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-queryselector%E2%91%A0
57
+ */
58
+ querySelector(selectors: string): MLElement<T, O> | null;
59
+ /**
60
+ * @implements DOM API: `Element`, `Document`, `DocumentFragment`
61
+ * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-queryselectorall%E2%91%A0
62
+ */
63
+ querySelectorAll(selectors: string): NodeListOf<MLElement<T, O>>;
64
+ /**
65
+ * **IT THROWS AN ERROR WHEN CALLING THIS.**
66
+ *
67
+ * @unsupported
68
+ * @implements DOM API: `Element`, `Document`, `DocumentFragment`
69
+ * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-replacechildren%E2%91%A0
70
+ */
71
+ replaceChildren(...nodes: (string | Node)[]): void;
72
+ protected _descendantsToArray<N extends MLNode<T, O>>(
73
+ filter?: (node: MLNode<T, O>) => N | null | void,
74
+ ): ReadonlyArray<N>;
66
75
  }
@@ -48,14 +48,16 @@ class MLParentNode extends node_1.MLNode {
48
48
  * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-firstelementchild%E2%91%A0
49
49
  */
50
50
  get firstElementChild() {
51
- return this.children[0] || null;
51
+ var _a;
52
+ return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;
52
53
  }
53
54
  /**
54
55
  * @implements DOM API: `Element`, `Document`, `DocumentFragment`
55
56
  * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-lastelementchild%E2%91%A0
56
57
  */
57
58
  get lastElementChild() {
58
- return this.children[0] || null;
59
+ var _a;
60
+ return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;
59
61
  }
60
62
  /**
61
63
  * **IT THROWS AN ERROR WHEN CALLING THIS.**
@@ -86,8 +88,9 @@ class MLParentNode extends node_1.MLNode {
86
88
  * @see https://dom.spec.whatwg.org/#ref-for-dom-parentnode-queryselector%E2%91%A0
87
89
  */
88
90
  querySelector(selectors) {
91
+ var _a;
89
92
  const selected = this.querySelectorAll(selectors);
90
- return selected[0] || null;
93
+ return (_a = selected[0]) !== null && _a !== void 0 ? _a : null;
91
94
  }
92
95
  /**
93
96
  * @implements DOM API: `Element`, `Document`, `DocumentFragment`
@@ -4,14 +4,14 @@ import type { AnyRule } from '@markuplint/ml-config';
4
4
  import type { Specificity } from '@markuplint/selector';
5
5
  type RuleType = 'rules' | 'nodeRules' | 'childNodeRules';
6
6
  type MappingLayer = {
7
- readonly from: RuleType;
8
- readonly specificity: Specificity;
9
- readonly rule: AnyRule;
7
+ readonly from: RuleType;
8
+ readonly specificity: Specificity;
9
+ readonly rule: AnyRule;
10
10
  };
11
11
  export declare class RuleMapper {
12
- #private;
13
- constructor(document: MLDocument<any, any>);
14
- apply(): void;
15
- set(node: MLNode<any, any>, ruleName: string, rule: MappingLayer): void;
12
+ #private;
13
+ constructor(document: MLDocument<any, any>);
14
+ apply(): void;
15
+ set(node: MLNode<any, any>, ruleName: string, rule: MappingLayer): void;
16
16
  }
17
17
  export {};
@@ -37,7 +37,8 @@ class RuleMapper {
37
37
  set(
38
38
  // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
39
39
  node, ruleName, rule) {
40
- const rules = tslib_1.__classPrivateFieldGet(this, _RuleMapper_ruleMap, "f").get(node.uuid) || {};
40
+ var _a;
41
+ const rules = (_a = tslib_1.__classPrivateFieldGet(this, _RuleMapper_ruleMap, "f").get(node.uuid)) !== null && _a !== void 0 ? _a : {};
41
42
  const currentRule = rules[ruleName];
42
43
  if (currentRule) {
43
44
  const order = (0, selector_1.compareSpecificity)(currentRule.specificity, rule.specificity);
@@ -2,50 +2,53 @@ import type { TextNodeType } from './types';
2
2
  import type { MLASTText } from '@markuplint/ml-ast';
3
3
  import type { PlainData, RuleConfigValue } from '@markuplint/ml-config';
4
4
  import { MLCharacterData } from './character-data';
5
- export declare class MLText<T extends RuleConfigValue, O extends PlainData = undefined> extends MLCharacterData<T, O, MLASTText> implements Text {
6
- /**
7
- * **IT THROWS AN ERROR WHEN CALLING THIS.**
8
- *
9
- * @unsupported
10
- * @implements DOM API: `Text`
11
- */
12
- get assignedSlot(): HTMLSlotElement;
13
- /**
14
- * Returns a string appropriate for the type of node as `Text`
15
- *
16
- * @see https://dom.spec.whatwg.org/#ref-for-attr%E2%91%A4
17
- */
18
- get nodeName(): "#text";
19
- /**
20
- * Returns a number appropriate for the type of `Text`
21
- */
22
- get nodeType(): TextNodeType;
23
- get textContent(): string | null;
24
- /**
25
- * **IT THROWS AN ERROR WHEN CALLING THIS.**
26
- *
27
- * @unsupported
28
- * @implements DOM API: `Text`
29
- * @see https://dom.spec.whatwg.org/#ref-for-dom-text-splittext%E2%91%A0
30
- */
31
- get wholeText(): string;
32
- /**
33
- * Returns `true` if a parent element is `<script>` or `<style>`
34
- *
35
- * @implements `@markuplint/ml-core` API: `MLText`
36
- * @see https://html.spec.whatwg.org/multipage/syntax.html#raw-text-elements
37
- */
38
- isRawTextElementContent(): boolean;
39
- /**
40
- * @implements `@markuplint/ml-core` API: `MLText`
41
- */
42
- isWhitespace(): boolean;
43
- /**
44
- * **IT THROWS AN ERROR WHEN CALLING THIS.**
45
- *
46
- * @unsupported
47
- * @implements DOM API: `Text`
48
- * @see https://dom.spec.whatwg.org/#ref-for-dom-text-wholetext%E2%91%A0
49
- */
50
- splitText(offset: number): Text;
5
+ export declare class MLText<T extends RuleConfigValue, O extends PlainData = undefined>
6
+ extends MLCharacterData<T, O, MLASTText>
7
+ implements Text
8
+ {
9
+ /**
10
+ * **IT THROWS AN ERROR WHEN CALLING THIS.**
11
+ *
12
+ * @unsupported
13
+ * @implements DOM API: `Text`
14
+ */
15
+ get assignedSlot(): HTMLSlotElement;
16
+ /**
17
+ * Returns a string appropriate for the type of node as `Text`
18
+ *
19
+ * @see https://dom.spec.whatwg.org/#ref-for-attr%E2%91%A4
20
+ */
21
+ get nodeName(): '#text';
22
+ /**
23
+ * Returns a number appropriate for the type of `Text`
24
+ */
25
+ get nodeType(): TextNodeType;
26
+ get textContent(): string | null;
27
+ /**
28
+ * **IT THROWS AN ERROR WHEN CALLING THIS.**
29
+ *
30
+ * @unsupported
31
+ * @implements DOM API: `Text`
32
+ * @see https://dom.spec.whatwg.org/#ref-for-dom-text-splittext%E2%91%A0
33
+ */
34
+ get wholeText(): string;
35
+ /**
36
+ * Returns `true` if a parent element is `<script>` or `<style>`
37
+ *
38
+ * @implements `@markuplint/ml-core` API: `MLText`
39
+ * @see https://html.spec.whatwg.org/multipage/syntax.html#raw-text-elements
40
+ */
41
+ isRawTextElementContent(): boolean;
42
+ /**
43
+ * @implements `@markuplint/ml-core` API: `MLText`
44
+ */
45
+ isWhitespace(): boolean;
46
+ /**
47
+ * **IT THROWS AN ERROR WHEN CALLING THIS.**
48
+ *
49
+ * @unsupported
50
+ * @implements DOM API: `Text`
51
+ * @see https://dom.spec.whatwg.org/#ref-for-dom-text-wholetext%E2%91%A0
52
+ */
53
+ splitText(offset: number): Text;
51
54
  }
@@ -8,10 +8,58 @@ import type { MLElement } from './element';
8
8
  import type { MLNode } from './node';
9
9
  import type { MLText } from './text';
10
10
  import type { MLToken } from '../token/token';
11
- import type { MLASTAbstractNode, MLASTAttr, MLASTComment, MLASTDoctype, MLASTElement, MLASTParentNode, MLASTPreprocessorSpecificBlock, MLASTText, MLToken as MLASTToken } from '@markuplint/ml-ast/';
11
+ import type {
12
+ MLASTAbstractNode,
13
+ MLASTAttr,
14
+ MLASTComment,
15
+ MLASTDoctype,
16
+ MLASTElement,
17
+ MLASTParentNode,
18
+ MLASTPreprocessorSpecificBlock,
19
+ MLASTText,
20
+ MLToken as MLASTToken,
21
+ } from '@markuplint/ml-ast/';
12
22
  import type { PlainData, PretenderARIA, RuleConfigValue } from '@markuplint/ml-config';
13
- export type MappedNode<N, T extends RuleConfigValue, O extends PlainData = undefined> = N extends MLASTElement ? MLElement<T, O> : N extends MLASTParentNode ? MLElement<T, O> : N extends MLASTComment ? MLComment<T, O> : N extends MLASTText ? MLText<T, O> : N extends MLASTDoctype ? MLDocumentType<T, O> : N extends MLASTPreprocessorSpecificBlock ? MLBlock<T, O> : N extends MLASTAbstractNode ? MLNode<T, O, MLASTAbstractNode> : N extends MLASTAttr ? MLAttr<T, O> : N extends MLASTToken ? MLToken : never;
14
- export type NodeTypeOf<NT extends NodeType, T extends RuleConfigValue, O extends PlainData = undefined> = NT extends ElementNodeType ? MLElement<T, O> : NT extends CommentNodeType ? MLComment<T, O> : NT extends TextNodeType ? MLText<T, O> : NT extends DocumentNodeType ? MLDocument<T, O> : NT extends DocumentTypeNodeType ? MLDocumentType<T, O> : NT extends DocumentFragmentNodeType ? MLDocumentFragment<T, O> : NT extends MarkuplintPreprocessorBlockType ? MLBlock<T, O> : NT extends AttributeNodeType ? MLAttr<T, O> : never;
23
+ export type MappedNode<N, T extends RuleConfigValue, O extends PlainData = undefined> = N extends MLASTElement
24
+ ? MLElement<T, O>
25
+ : N extends MLASTParentNode
26
+ ? MLElement<T, O>
27
+ : N extends MLASTComment
28
+ ? MLComment<T, O>
29
+ : N extends MLASTText
30
+ ? MLText<T, O>
31
+ : N extends MLASTDoctype
32
+ ? MLDocumentType<T, O>
33
+ : N extends MLASTPreprocessorSpecificBlock
34
+ ? MLBlock<T, O>
35
+ : N extends MLASTAbstractNode
36
+ ? MLNode<T, O, MLASTAbstractNode>
37
+ : N extends MLASTAttr
38
+ ? MLAttr<T, O>
39
+ : N extends MLASTToken
40
+ ? MLToken
41
+ : never;
42
+ export type NodeTypeOf<
43
+ NT extends NodeType,
44
+ T extends RuleConfigValue,
45
+ O extends PlainData = undefined,
46
+ > = NT extends ElementNodeType
47
+ ? MLElement<T, O>
48
+ : NT extends CommentNodeType
49
+ ? MLComment<T, O>
50
+ : NT extends TextNodeType
51
+ ? MLText<T, O>
52
+ : NT extends DocumentNodeType
53
+ ? MLDocument<T, O>
54
+ : NT extends DocumentTypeNodeType
55
+ ? MLDocumentType<T, O>
56
+ : NT extends DocumentFragmentNodeType
57
+ ? MLDocumentFragment<T, O>
58
+ : NT extends MarkuplintPreprocessorBlockType
59
+ ? MLBlock<T, O>
60
+ : NT extends AttributeNodeType
61
+ ? MLAttr<T, O>
62
+ : never;
15
63
  export type ElementNodeType = 1;
16
64
  export type AttributeNodeType = 2;
17
65
  export type TextNodeType = 3;
@@ -22,14 +70,34 @@ export type DocumentNodeType = 9;
22
70
  export type DocumentTypeNodeType = 10;
23
71
  export type DocumentFragmentNodeType = 11;
24
72
  export type MarkuplintPreprocessorBlockType = 101;
25
- export type NodeType = ElementNodeType | AttributeNodeType | TextNodeType | CDATASectionNodeType | ProcessingInstructionNodeType | CommentNodeType | DocumentNodeType | DocumentTypeNodeType | DocumentFragmentNodeType | MarkuplintPreprocessorBlockType;
26
- export type PretenderContext<N extends MLElement<T, O>, T extends RuleConfigValue, O extends PlainData = undefined> = PretenderContextPretender<N, T, O> | PretenderContextPretended<N, T, O>;
27
- export type PretenderContextPretender<N extends MLElement<T, O>, T extends RuleConfigValue, O extends PlainData = undefined> = {
28
- readonly type: 'pretender';
29
- readonly as: N;
30
- readonly aria?: PretenderARIA;
73
+ export type NodeType =
74
+ | ElementNodeType
75
+ | AttributeNodeType
76
+ | TextNodeType
77
+ | CDATASectionNodeType
78
+ | ProcessingInstructionNodeType
79
+ | CommentNodeType
80
+ | DocumentNodeType
81
+ | DocumentTypeNodeType
82
+ | DocumentFragmentNodeType
83
+ | MarkuplintPreprocessorBlockType;
84
+ export type PretenderContext<N extends MLElement<T, O>, T extends RuleConfigValue, O extends PlainData = undefined> =
85
+ | PretenderContextPretender<N, T, O>
86
+ | PretenderContextPretended<N, T, O>;
87
+ export type PretenderContextPretender<
88
+ N extends MLElement<T, O>,
89
+ T extends RuleConfigValue,
90
+ O extends PlainData = undefined,
91
+ > = {
92
+ readonly type: 'pretender';
93
+ readonly as: N;
94
+ readonly aria?: PretenderARIA;
31
95
  };
32
- export type PretenderContextPretended<N extends MLElement<T, O>, T extends RuleConfigValue, O extends PlainData = undefined> = {
33
- readonly type: 'origin';
34
- readonly origin: N;
96
+ export type PretenderContextPretended<
97
+ N extends MLElement<T, O>,
98
+ T extends RuleConfigValue,
99
+ O extends PlainData = undefined,
100
+ > = {
101
+ readonly type: 'origin';
102
+ readonly origin: N;
35
103
  };
@@ -1,2 +1 @@
1
- export default class UnexpectedCallError extends Error {
2
- }
1
+ export default class UnexpectedCallError extends Error {}
@@ -1,47 +1,47 @@
1
1
  import type { MLToken as MLASTToken } from '@markuplint/ml-ast';
2
2
  export declare class MLToken<A extends MLASTToken = MLASTToken> {
3
- #private;
4
- readonly uuid: string;
5
- protected readonly _astToken: A;
6
- constructor(astToken: A);
7
- /**
8
- * @implements `@markuplint/ml-core` API: `MLDOMToken`
9
- */
10
- get endCol(): number;
11
- /**
12
- * @implements `@markuplint/ml-core` API: `MLDOMToken`
13
- */
14
- get endLine(): number;
15
- /**
16
- * @implements `@markuplint/ml-core` API: `MLDOMToken`
17
- */
18
- get endOffset(): number;
19
- /**
20
- * @implements `@markuplint/ml-core` API: `MLDOMToken`
21
- */
22
- get originRaw(): string;
23
- /**
24
- * @implements `@markuplint/ml-core` API: `MLDOMToken`
25
- */
26
- get raw(): string;
27
- /**
28
- * @implements `@markuplint/ml-core` API: `MLDOMToken`
29
- */
30
- get startCol(): number;
31
- /**
32
- * @implements `@markuplint/ml-core` API: `MLDOMToken`
33
- */
34
- get startLine(): number;
35
- /**
36
- * @implements `@markuplint/ml-core` API: `MLDOMToken`
37
- */
38
- get startOffset(): number;
39
- /**
40
- * @implements `@markuplint/ml-core` API: `MLDOMToken`
41
- */
42
- fix(raw: string): void;
43
- /**
44
- * @implements `@markuplint/ml-core` API: `MLDOMToken`
45
- */
46
- toString(): string;
3
+ #private;
4
+ readonly uuid: string;
5
+ protected readonly _astToken: A;
6
+ constructor(astToken: A);
7
+ /**
8
+ * @implements `@markuplint/ml-core` API: `MLDOMToken`
9
+ */
10
+ get endCol(): number;
11
+ /**
12
+ * @implements `@markuplint/ml-core` API: `MLDOMToken`
13
+ */
14
+ get endLine(): number;
15
+ /**
16
+ * @implements `@markuplint/ml-core` API: `MLDOMToken`
17
+ */
18
+ get endOffset(): number;
19
+ /**
20
+ * @implements `@markuplint/ml-core` API: `MLDOMToken`
21
+ */
22
+ get originRaw(): string;
23
+ /**
24
+ * @implements `@markuplint/ml-core` API: `MLDOMToken`
25
+ */
26
+ get raw(): string;
27
+ /**
28
+ * @implements `@markuplint/ml-core` API: `MLDOMToken`
29
+ */
30
+ get startCol(): number;
31
+ /**
32
+ * @implements `@markuplint/ml-core` API: `MLDOMToken`
33
+ */
34
+ get startLine(): number;
35
+ /**
36
+ * @implements `@markuplint/ml-core` API: `MLDOMToken`
37
+ */
38
+ get startOffset(): number;
39
+ /**
40
+ * @implements `@markuplint/ml-core` API: `MLDOMToken`
41
+ */
42
+ fix(raw: string): void;
43
+ /**
44
+ * @implements `@markuplint/ml-core` API: `MLDOMToken`
45
+ */
46
+ toString(): string;
47
47
  }
@@ -1,3 +1,5 @@
1
1
  import type { RuleSeed } from './types';
2
2
  import type { PlainData, RuleConfigValue } from '@markuplint/ml-config';
3
- export declare function createRule<T extends RuleConfigValue, O extends PlainData = undefined>(seed: Readonly<RuleSeed<T, O>>): Readonly<RuleSeed<T, O>>;
3
+ export declare function createRule<T extends RuleConfigValue, O extends PlainData = undefined>(
4
+ seed: Readonly<RuleSeed<T, O>>,
5
+ ): Readonly<RuleSeed<T, O>>;
@@ -1,6 +1,8 @@
1
1
  import type { RuleSeed } from './types';
2
2
  import type { PlainData, RuleConfigValue } from '@markuplint/ml-config';
3
3
  import { MLRule } from './ml-rule';
4
- export declare function createRule<T extends RuleConfigValue, O extends PlainData = undefined>(seed: Readonly<RuleSeed<T, O>> & {
5
- readonly name: string;
6
- }): MLRule<T, O>;
4
+ export declare function createRule<T extends RuleConfigValue, O extends PlainData = undefined>(
5
+ seed: Readonly<RuleSeed<T, O>> & {
6
+ readonly name: string;
7
+ },
8
+ ): MLRule<T, O>;