@yozora/tokenizer-footnote-definition 2.0.2-alpha.0 → 2.0.3

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020-2021 guanghechen (me.guanghechen@gmail.com)
3
+ Copyright (c) 2020-2022 guanghechen (me.guanghechen@gmail.com)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  <header>
4
4
  <h1 align="center">
5
- <a href="https://github.com/yozorajs/yozora/tree/main/tokenizers/footnote-definition#readme">@yozora/tokenizer-footnote-definition</a>
5
+ <a href="https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/footnote-definition#readme">@yozora/tokenizer-footnote-definition</a>
6
6
  </h1>
7
7
  <div align="center">
8
8
  <a href="https://www.npmjs.com/package/@yozora/tokenizer-footnote-definition">
@@ -237,53 +237,53 @@ Name | Type | Required | Default
237
237
 
238
238
  [live-examples]: https://yozora.guanghechen.com/docs/package/tokenizer-footnote-definition#live-examples
239
239
  [docpage]: https://yozora.guanghechen.com/docs/package/tokenizer-footnote-definition
240
- [homepage]: https://github.com/yozorajs/yozora/tree/main/tokenizers/footnote-definition#readme
240
+ [homepage]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/footnote-definition#readme
241
241
  [gfm-spec]: https://github.github.com/gfm
242
242
  [mdast-homepage]: https://github.com/syntax-tree/mdast
243
243
 
244
- [@yozora/ast]: https://github.com/yozorajs/yozora/tree/main/packages/ast#readme
245
- [@yozora/ast-util]: https://github.com/yozorajs/yozora/tree/main/packages/ast-util#readme
246
- [@yozora/character]: https://github.com/yozorajs/yozora/tree/main/packages/character#readme
247
- [@yozora/eslint-config]: https://github.com/yozorajs/yozora/tree/main/packages/eslint-config#readme
248
- [@yozora/core-parser]: https://github.com/yozorajs/yozora/tree/main/packages/core-parser#readme
249
- [@yozora/core-tokenizer]: https://github.com/yozorajs/yozora/tree/main/packages/core-tokenizer#readme
250
- [@yozora/invariant]: https://github.com/yozorajs/yozora/tree/main/packages/invariant#readme
251
- [@yozora/jest-for-tokenizer]: https://github.com/yozorajs/yozora/tree/main/packages/jest-for-tokenizer#readme
252
- [@yozora/parser]: https://github.com/yozorajs/yozora/tree/main/packages/parser#readme
253
- [@yozora/parser-gfm]: https://github.com/yozorajs/yozora/tree/main/packages/parser-gfm#readme
254
- [@yozora/parser-gfm-ex]: https://github.com/yozorajs/yozora/tree/main/packages/parser-gfm-ex#readme
255
- [@yozora/template-tokenizer]: https://github.com/yozorajs/yozora/tree/main/packages/template-tokenizer#readme
256
- [@yozora/tokenizer-admonition]: https://github.com/yozorajs/yozora/tree/main/tokenizers/admonition#readme
257
- [@yozora/tokenizer-autolink]: https://github.com/yozorajs/yozora/tree/main/tokenizers/autolink#readme
258
- [@yozora/tokenizer-autolink-extension]: https://github.com/yozorajs/yozora/tree/main/tokenizers/autolink-extension#readme
259
- [@yozora/tokenizer-blockquote]: https://github.com/yozorajs/yozora/tree/main/tokenizers/blockquote#readme
260
- [@yozora/tokenizer-break]: https://github.com/yozorajs/yozora/tree/main/tokenizers/break#readme
261
- [@yozora/tokenizer-definition]: https://github.com/yozorajs/yozora/tree/main/tokenizers/definition#readme
262
- [@yozora/tokenizer-delete]: https://github.com/yozorajs/yozora/tree/main/tokenizers/delete#readme
263
- [@yozora/tokenizer-ecma-import]: https://github.com/yozorajs/yozora/tree/main/tokenizers/ecma-import#readme
264
- [@yozora/tokenizer-emphasis]: https://github.com/yozorajs/yozora/tree/main/tokenizers/emphasis#readme
265
- [@yozora/tokenizer-fenced-block]: https://github.com/yozorajs/yozora/tree/main/tokenizers/fenced-block#readme
266
- [@yozora/tokenizer-fenced-code]: https://github.com/yozorajs/yozora/tree/main/tokenizers/fenced-code#readme
267
- [@yozora/tokenizer-footnote]: https://github.com/yozorajs/yozora/tree/main/tokenizers/footnote#readme
268
- [@yozora/tokenizer-footnote-definition]: https://github.com/yozorajs/yozora/tree/main/tokenizers/footnote-definition#readme
269
- [@yozora/tokenizer-footnote-reference]: https://github.com/yozorajs/yozora/tree/main/tokenizers/footnote-reference#readme
270
- [@yozora/tokenizer-heading]: https://github.com/yozorajs/yozora/tree/main/tokenizers/heading#readme
271
- [@yozora/tokenizer-html-block]: https://github.com/yozorajs/yozora/tree/main/tokenizers/html-block#readme
272
- [@yozora/tokenizer-html-inline]: https://github.com/yozorajs/yozora/tree/main/tokenizers/html-inline#readme
273
- [@yozora/tokenizer-image]: https://github.com/yozorajs/yozora/tree/main/tokenizers/image#readme
274
- [@yozora/tokenizer-image-reference]: https://github.com/yozorajs/yozora/tree/main/tokenizers/image-reference#readme
275
- [@yozora/tokenizer-indented-code]: https://github.com/yozorajs/yozora/tree/main/tokenizers/indented-code#readme
276
- [@yozora/tokenizer-inline-code]: https://github.com/yozorajs/yozora/tree/main/tokenizers/inline-code#readme
277
- [@yozora/tokenizer-inline-math]: https://github.com/yozorajs/yozora/tree/main/tokenizers/inline-math#readme
278
- [@yozora/tokenizer-link]: https://github.com/yozorajs/yozora/tree/main/tokenizers/link#readme
279
- [@yozora/tokenizer-link-reference]: https://github.com/yozorajs/yozora/tree/main/tokenizers/link-reference#readme
280
- [@yozora/tokenizer-list]: https://github.com/yozorajs/yozora/tree/main/tokenizers/list#readme
281
- [@yozora/tokenizer-math]: https://github.com/yozorajs/yozora/tree/main/tokenizers/math#readme
282
- [@yozora/tokenizer-paragraph]: https://github.com/yozorajs/yozora/tree/main/tokenizers/paragraph#readme
283
- [@yozora/tokenizer-setext-heading]: https://github.com/yozorajs/yozora/tree/main/tokenizers/setext-heading#readme
284
- [@yozora/tokenizer-table]: https://github.com/yozorajs/yozora/tree/main/tokenizers/table#readme
285
- [@yozora/tokenizer-text]: https://github.com/yozorajs/yozora/tree/main/tokenizers/text#readme
286
- [@yozora/tokenizer-thematic-break]: https://github.com/yozorajs/yozora/tree/main/tokenizers/thematic-break#readme
244
+ [@yozora/ast]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/ast#readme
245
+ [@yozora/ast-util]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/ast-util#readme
246
+ [@yozora/character]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/character#readme
247
+ [@yozora/eslint-config]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/eslint-config#readme
248
+ [@yozora/core-parser]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/core-parser#readme
249
+ [@yozora/core-tokenizer]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/core-tokenizer#readme
250
+ [@yozora/invariant]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/invariant#readme
251
+ [@yozora/jest-for-tokenizer]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/jest-for-tokenizer#readme
252
+ [@yozora/parser]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/parser#readme
253
+ [@yozora/parser-gfm]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/parser-gfm#readme
254
+ [@yozora/parser-gfm-ex]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/parser-gfm-ex#readme
255
+ [@yozora/template-tokenizer]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/template-tokenizer#readme
256
+ [@yozora/tokenizer-admonition]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/admonition#readme
257
+ [@yozora/tokenizer-autolink]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/autolink#readme
258
+ [@yozora/tokenizer-autolink-extension]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/autolink-extension#readme
259
+ [@yozora/tokenizer-blockquote]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/blockquote#readme
260
+ [@yozora/tokenizer-break]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/break#readme
261
+ [@yozora/tokenizer-definition]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/definition#readme
262
+ [@yozora/tokenizer-delete]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/delete#readme
263
+ [@yozora/tokenizer-ecma-import]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/ecma-import#readme
264
+ [@yozora/tokenizer-emphasis]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/emphasis#readme
265
+ [@yozora/tokenizer-fenced-block]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/fenced-block#readme
266
+ [@yozora/tokenizer-fenced-code]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/fenced-code#readme
267
+ [@yozora/tokenizer-footnote]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/footnote#readme
268
+ [@yozora/tokenizer-footnote-definition]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/footnote-definition#readme
269
+ [@yozora/tokenizer-footnote-reference]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/footnote-reference#readme
270
+ [@yozora/tokenizer-heading]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/heading#readme
271
+ [@yozora/tokenizer-html-block]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/html-block#readme
272
+ [@yozora/tokenizer-html-inline]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/html-inline#readme
273
+ [@yozora/tokenizer-image]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/image#readme
274
+ [@yozora/tokenizer-image-reference]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/image-reference#readme
275
+ [@yozora/tokenizer-indented-code]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/indented-code#readme
276
+ [@yozora/tokenizer-inline-code]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/inline-code#readme
277
+ [@yozora/tokenizer-inline-math]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/inline-math#readme
278
+ [@yozora/tokenizer-link]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/link#readme
279
+ [@yozora/tokenizer-link-reference]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/link-reference#readme
280
+ [@yozora/tokenizer-list]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/list#readme
281
+ [@yozora/tokenizer-math]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/math#readme
282
+ [@yozora/tokenizer-paragraph]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/paragraph#readme
283
+ [@yozora/tokenizer-setext-heading]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/setext-heading#readme
284
+ [@yozora/tokenizer-table]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/table#readme
285
+ [@yozora/tokenizer-text]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/text#readme
286
+ [@yozora/tokenizer-thematic-break]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/thematic-break#readme
287
287
 
288
288
  [@yozora/react-admonition]: https://github.com/yozorajs/yozora-react/tree/main/packages/admonition#readme
289
289
  [@yozora/react-blockquote]: https://github.com/yozorajs/yozora-react/tree/main/packages/blockquote#readme
@@ -1,6 +1,89 @@
1
- export * from './util';
2
- export { match as footnoteDefinitionMatch } from './match';
3
- export { parse as footnoteDefinitionParse } from './parse';
4
- export { FootnoteDefinitionTokenizer, FootnoteDefinitionTokenizer as default } from './tokenizer';
5
- export { uniqueName as FootnoteDefinitionTokenizerName } from './types';
6
- export type { IThis as IFootnoteDefinitionHookContext, IToken as IFootnoteDefinitionToken, ITokenizerProps as IFootnoteDefinitionTokenizerProps, } from './types';
1
+ import { INodePoint, INodeInterval } from '@yozora/character';
2
+ import { IPartialYastBlockToken, IYastBlockToken, ITokenizer, IBaseBlockTokenizerProps, IMatchBlockHookCreator, IParseBlockHookCreator, BaseBlockTokenizer, IBlockTokenizer } from '@yozora/core-tokenizer';
3
+ import { FootnoteDefinitionType, FootnoteDefinition } from '@yozora/ast';
4
+
5
+ /**
6
+ * Try to match a footnote label.
7
+ *
8
+ * Unlike the link label, the footnote label should be on the same line and it
9
+ * begins with a left bracket ([) followed by a caret (^), and ends with the
10
+ * first right bracket (]) that is not backslash-escaped. Between the caret of
11
+ * right bracket, there must be at least one non-whitespace character.
12
+ * Unescaped square bracket characters are not allowed inside the opening creat
13
+ * and closing square bracket of footnote labels. A footnote label can have at
14
+ * most 999 characters inside the caret and right bracket.
15
+ *
16
+ * @param nodePoints
17
+ * @param firstNonWhitespaceIndex
18
+ * @param endIndex
19
+ * @see https://github.github.com/gfm/#link-label
20
+ */
21
+ declare function eatFootnoteLabel(nodePoints: ReadonlyArray<INodePoint>, firstNonWhitespaceIndex: number, endIndex: number): number;
22
+
23
+ declare type T = FootnoteDefinitionType;
24
+ declare type INode = FootnoteDefinition;
25
+ declare const uniqueName = "@yozora/tokenizer-footnote-definition";
26
+ interface IToken extends IPartialYastBlockToken<T> {
27
+ /**
28
+ * Footnote label
29
+ */
30
+ label: INodeInterval & {
31
+ nodePoints: ReadonlyArray<INodePoint>;
32
+ };
33
+ /**
34
+ *
35
+ */
36
+ children: IYastBlockToken[];
37
+ /**
38
+ * Resolved definition label.
39
+ */
40
+ _label?: string;
41
+ /**
42
+ * Resolved definition identifier.
43
+ */
44
+ _identifier?: string;
45
+ }
46
+ interface IThis extends ITokenizer {
47
+ indent: number;
48
+ }
49
+ declare type ITokenizerProps = Partial<IBaseBlockTokenizerProps>;
50
+
51
+ /**
52
+ * A footnote reference definition consists of a footnote label, indented up
53
+ * to three spaces, followed by a colon (:), optional whitespace (including up
54
+ * to one line ending), a footnote contents consisted by paragraph-like strings.
55
+ *
56
+ * Unlike the link label, the footnote label should be on the same line and it
57
+ * begins with a left bracket ([) followed by a caret (^), and ends with the
58
+ * first right bracket (]) that is not backslash-escaped. Between the caret of
59
+ * right bracket, there must be at least one non-whitespace character.
60
+ * Unescaped square bracket characters are not allowed inside the opening creat
61
+ * and closing square bracket of footnote labels. A footnote label can have at
62
+ * most 999 characters inside the caret and right bracket.
63
+ *
64
+ * @see https://github.github.com/gfm/#link-label
65
+ * @see https://github.github.com/gfm/#link-reference-definition
66
+ * @see https://github.com/syntax-tree/mdast-util-footnote
67
+ * @see https://github.com/remarkjs/remark-footnotes
68
+ * @see https://www.markdownguide.org/extended-syntax/#footnotes
69
+ */
70
+ declare const match: IMatchBlockHookCreator<T, IToken, IThis>;
71
+
72
+ declare const parse: IParseBlockHookCreator<T, IToken, INode, IThis>;
73
+
74
+ /**
75
+ * Lexical Analyzer for FootnoteDefinition.
76
+ * @see https://github.github.com/gfm/#link-label
77
+ * @see https://github.github.com/gfm/#link-reference-definition
78
+ * @see https://github.com/syntax-tree/mdast-util-footnote
79
+ * @see https://github.com/remarkjs/remark-footnotes
80
+ * @see https://www.markdownguide.org/extended-syntax/#footnotes
81
+ */
82
+ declare class FootnoteDefinitionTokenizer extends BaseBlockTokenizer<T, IToken, INode, IThis> implements IBlockTokenizer<T, IToken, INode, IThis> {
83
+ constructor(props?: ITokenizerProps);
84
+ readonly indent = 4;
85
+ readonly match: IMatchBlockHookCreator<T, IToken, IThis>;
86
+ readonly parse: IParseBlockHookCreator<T, IToken, INode, IThis>;
87
+ }
88
+
89
+ export { FootnoteDefinitionTokenizer, uniqueName as FootnoteDefinitionTokenizerName, IThis as IFootnoteDefinitionHookContext, IToken as IFootnoteDefinitionToken, ITokenizerProps as IFootnoteDefinitionTokenizerProps, FootnoteDefinitionTokenizer as default, eatFootnoteLabel, match as footnoteDefinitionMatch, parse as footnoteDefinitionParse };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yozora/tokenizer-footnote-definition",
3
- "version": "2.0.2-alpha.0",
3
+ "version": "2.0.3",
4
4
  "author": {
5
5
  "name": "guanghechen",
6
6
  "url": "https://github.com/guanghechen/"
@@ -10,14 +10,14 @@
10
10
  "url": "https://github.com/yozorajs/yozora.git",
11
11
  "directory": "tokenizers/footnote-definition"
12
12
  },
13
- "homepage": "https://yozora.guanghechen.com/docs/package/tokenizer-footnote-definition",
13
+ "homepage": "https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/footnote-definition",
14
14
  "main": "lib/cjs/index.js",
15
15
  "module": "lib/esm/index.js",
16
16
  "types": "lib/types/index.d.ts",
17
17
  "source": "src/index.ts",
18
18
  "license": "MIT",
19
19
  "engines": {
20
- "node": ">= 14.15.0"
20
+ "node": ">= 16.0.0"
21
21
  },
22
22
  "files": [
23
23
  "lib/",
@@ -30,14 +30,14 @@
30
30
  ],
31
31
  "scripts": {
32
32
  "build": "cross-env NODE_ENV=production rollup -c ../../rollup.config.js",
33
- "prebuild": "rimraf lib/ && tsc -p tsconfig.src.json --emitDeclarationOnly",
33
+ "prebuild": "rimraf lib/",
34
34
  "prepublishOnly": "cross-env ROLLUP_SHOULD_SOURCEMAP=false yarn build",
35
35
  "test": "cross-env TS_NODE_FILES=true jest --config ../../jest.config.js --rootDir ."
36
36
  },
37
37
  "dependencies": {
38
- "@yozora/ast": "^2.0.2-alpha.0",
39
- "@yozora/character": "^2.0.2-alpha.0",
40
- "@yozora/core-tokenizer": "^2.0.2-alpha.0"
38
+ "@yozora/ast": "^2.0.3",
39
+ "@yozora/character": "^2.0.3",
40
+ "@yozora/core-tokenizer": "^2.0.3"
41
41
  },
42
- "gitHead": "430eaabd83f4a1ee29398ee1798aa4511976c38f"
42
+ "gitHead": "8cc8f95cfebc8d752bc3272cdd24965f540c130b"
43
43
  }
@@ -1,22 +0,0 @@
1
- import type { IMatchBlockHookCreator } from '@yozora/core-tokenizer';
2
- import type { IThis, IToken, T } from './types';
3
- /**
4
- * A footnote reference definition consists of a footnote label, indented up
5
- * to three spaces, followed by a colon (:), optional whitespace (including up
6
- * to one line ending), a footnote contents consisted by paragraph-like strings.
7
- *
8
- * Unlike the link label, the footnote label should be on the same line and it
9
- * begins with a left bracket ([) followed by a caret (^), and ends with the
10
- * first right bracket (]) that is not backslash-escaped. Between the caret of
11
- * right bracket, there must be at least one non-whitespace character.
12
- * Unescaped square bracket characters are not allowed inside the opening creat
13
- * and closing square bracket of footnote labels. A footnote label can have at
14
- * most 999 characters inside the caret and right bracket.
15
- *
16
- * @see https://github.github.com/gfm/#link-label
17
- * @see https://github.github.com/gfm/#link-reference-definition
18
- * @see https://github.com/syntax-tree/mdast-util-footnote
19
- * @see https://github.com/remarkjs/remark-footnotes
20
- * @see https://www.markdownguide.org/extended-syntax/#footnotes
21
- */
22
- export declare const match: IMatchBlockHookCreator<T, IToken, IThis>;
@@ -1,3 +0,0 @@
1
- import type { IParseBlockHookCreator } from '@yozora/core-tokenizer';
2
- import type { INode, IThis, IToken, T } from './types';
3
- export declare const parse: IParseBlockHookCreator<T, IToken, INode, IThis>;
@@ -1,17 +0,0 @@
1
- import type { IBlockTokenizer, IMatchBlockHookCreator, IParseBlockHookCreator } from '@yozora/core-tokenizer';
2
- import { BaseBlockTokenizer } from '@yozora/core-tokenizer';
3
- import type { INode, IThis, IToken, ITokenizerProps, T } from './types';
4
- /**
5
- * Lexical Analyzer for FootnoteDefinition.
6
- * @see https://github.github.com/gfm/#link-label
7
- * @see https://github.github.com/gfm/#link-reference-definition
8
- * @see https://github.com/syntax-tree/mdast-util-footnote
9
- * @see https://github.com/remarkjs/remark-footnotes
10
- * @see https://www.markdownguide.org/extended-syntax/#footnotes
11
- */
12
- export declare class FootnoteDefinitionTokenizer extends BaseBlockTokenizer<T, IToken, INode, IThis> implements IBlockTokenizer<T, IToken, INode, IThis> {
13
- constructor(props?: ITokenizerProps);
14
- readonly indent = 4;
15
- readonly match: IMatchBlockHookCreator<T, IToken, IThis>;
16
- readonly parse: IParseBlockHookCreator<T, IToken, INode, IThis>;
17
- }
@@ -1,30 +0,0 @@
1
- import type { FootnoteDefinition, FootnoteDefinitionType } from '@yozora/ast';
2
- import type { INodeInterval, INodePoint } from '@yozora/character';
3
- import type { IBaseBlockTokenizerProps, IPartialYastBlockToken, ITokenizer, IYastBlockToken } from '@yozora/core-tokenizer';
4
- export declare type T = FootnoteDefinitionType;
5
- export declare type INode = FootnoteDefinition;
6
- export declare const uniqueName = "@yozora/tokenizer-footnote-definition";
7
- export interface IToken extends IPartialYastBlockToken<T> {
8
- /**
9
- * Footnote label
10
- */
11
- label: INodeInterval & {
12
- nodePoints: ReadonlyArray<INodePoint>;
13
- };
14
- /**
15
- *
16
- */
17
- children: IYastBlockToken[];
18
- /**
19
- * Resolved definition label.
20
- */
21
- _label?: string;
22
- /**
23
- * Resolved definition identifier.
24
- */
25
- _identifier?: string;
26
- }
27
- export interface IThis extends ITokenizer {
28
- indent: number;
29
- }
30
- export declare type ITokenizerProps = Partial<IBaseBlockTokenizerProps>;
@@ -1,18 +0,0 @@
1
- import type { INodePoint } from '@yozora/character';
2
- /**
3
- * Try to match a footnote label.
4
- *
5
- * Unlike the link label, the footnote label should be on the same line and it
6
- * begins with a left bracket ([) followed by a caret (^), and ends with the
7
- * first right bracket (]) that is not backslash-escaped. Between the caret of
8
- * right bracket, there must be at least one non-whitespace character.
9
- * Unescaped square bracket characters are not allowed inside the opening creat
10
- * and closing square bracket of footnote labels. A footnote label can have at
11
- * most 999 characters inside the caret and right bracket.
12
- *
13
- * @param nodePoints
14
- * @param firstNonWhitespaceIndex
15
- * @param endIndex
16
- * @see https://github.github.com/gfm/#link-label
17
- */
18
- export declare function eatFootnoteLabel(nodePoints: ReadonlyArray<INodePoint>, firstNonWhitespaceIndex: number, endIndex: number): number;