@yozora/tokenizer-autolink-extension 2.0.1 → 2.0.2
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/README.md +45 -45
- package/lib/types/index.d.ts +99 -7
- package/package.json +8 -8
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/
|
|
5
|
+
<a href="https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/autolink-extension#readme">@yozora/tokenizer-autolink-extension</a>
|
|
6
6
|
</h1>
|
|
7
7
|
<div align="center">
|
|
8
8
|
<a href="https://www.npmjs.com/package/@yozora/tokenizer-autolink-extension">
|
|
@@ -202,53 +202,53 @@ Name | Type | Required | Default
|
|
|
202
202
|
|
|
203
203
|
[live-examples]: https://yozora.guanghechen.com/docs/package/tokenizer-autolink-extension#live-examples
|
|
204
204
|
[docpage]: https://yozora.guanghechen.com/docs/package/tokenizer-autolink-extension
|
|
205
|
-
[homepage]: https://github.com/yozorajs/yozora/tree/
|
|
205
|
+
[homepage]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/autolink-extension#readme
|
|
206
206
|
[gfm-spec]: https://github.github.com/gfm
|
|
207
207
|
[mdast-homepage]: https://github.com/syntax-tree/mdast
|
|
208
208
|
|
|
209
|
-
[@yozora/ast]: https://github.com/yozorajs/yozora/tree/
|
|
210
|
-
[@yozora/ast-util]: https://github.com/yozorajs/yozora/tree/
|
|
211
|
-
[@yozora/character]: https://github.com/yozorajs/yozora/tree/
|
|
212
|
-
[@yozora/eslint-config]: https://github.com/yozorajs/yozora/tree/
|
|
213
|
-
[@yozora/core-parser]: https://github.com/yozorajs/yozora/tree/
|
|
214
|
-
[@yozora/core-tokenizer]: https://github.com/yozorajs/yozora/tree/
|
|
215
|
-
[@yozora/invariant]: https://github.com/yozorajs/yozora/tree/
|
|
216
|
-
[@yozora/jest-for-tokenizer]: https://github.com/yozorajs/yozora/tree/
|
|
217
|
-
[@yozora/parser]: https://github.com/yozorajs/yozora/tree/
|
|
218
|
-
[@yozora/parser-gfm]: https://github.com/yozorajs/yozora/tree/
|
|
219
|
-
[@yozora/parser-gfm-ex]: https://github.com/yozorajs/yozora/tree/
|
|
220
|
-
[@yozora/template-tokenizer]: https://github.com/yozorajs/yozora/tree/
|
|
221
|
-
[@yozora/tokenizer-admonition]: https://github.com/yozorajs/yozora/tree/
|
|
222
|
-
[@yozora/tokenizer-autolink]: https://github.com/yozorajs/yozora/tree/
|
|
223
|
-
[@yozora/tokenizer-autolink-extension]: https://github.com/yozorajs/yozora/tree/
|
|
224
|
-
[@yozora/tokenizer-blockquote]: https://github.com/yozorajs/yozora/tree/
|
|
225
|
-
[@yozora/tokenizer-break]: https://github.com/yozorajs/yozora/tree/
|
|
226
|
-
[@yozora/tokenizer-definition]: https://github.com/yozorajs/yozora/tree/
|
|
227
|
-
[@yozora/tokenizer-delete]: https://github.com/yozorajs/yozora/tree/
|
|
228
|
-
[@yozora/tokenizer-ecma-import]: https://github.com/yozorajs/yozora/tree/
|
|
229
|
-
[@yozora/tokenizer-emphasis]: https://github.com/yozorajs/yozora/tree/
|
|
230
|
-
[@yozora/tokenizer-fenced-block]: https://github.com/yozorajs/yozora/tree/
|
|
231
|
-
[@yozora/tokenizer-fenced-code]: https://github.com/yozorajs/yozora/tree/
|
|
232
|
-
[@yozora/tokenizer-footnote]: https://github.com/yozorajs/yozora/tree/
|
|
233
|
-
[@yozora/tokenizer-footnote-definition]: https://github.com/yozorajs/yozora/tree/
|
|
234
|
-
[@yozora/tokenizer-footnote-reference]: https://github.com/yozorajs/yozora/tree/
|
|
235
|
-
[@yozora/tokenizer-heading]: https://github.com/yozorajs/yozora/tree/
|
|
236
|
-
[@yozora/tokenizer-html-block]: https://github.com/yozorajs/yozora/tree/
|
|
237
|
-
[@yozora/tokenizer-html-inline]: https://github.com/yozorajs/yozora/tree/
|
|
238
|
-
[@yozora/tokenizer-image]: https://github.com/yozorajs/yozora/tree/
|
|
239
|
-
[@yozora/tokenizer-image-reference]: https://github.com/yozorajs/yozora/tree/
|
|
240
|
-
[@yozora/tokenizer-indented-code]: https://github.com/yozorajs/yozora/tree/
|
|
241
|
-
[@yozora/tokenizer-inline-code]: https://github.com/yozorajs/yozora/tree/
|
|
242
|
-
[@yozora/tokenizer-inline-math]: https://github.com/yozorajs/yozora/tree/
|
|
243
|
-
[@yozora/tokenizer-link]: https://github.com/yozorajs/yozora/tree/
|
|
244
|
-
[@yozora/tokenizer-link-reference]: https://github.com/yozorajs/yozora/tree/
|
|
245
|
-
[@yozora/tokenizer-list]: https://github.com/yozorajs/yozora/tree/
|
|
246
|
-
[@yozora/tokenizer-math]: https://github.com/yozorajs/yozora/tree/
|
|
247
|
-
[@yozora/tokenizer-paragraph]: https://github.com/yozorajs/yozora/tree/
|
|
248
|
-
[@yozora/tokenizer-setext-heading]: https://github.com/yozorajs/yozora/tree/
|
|
249
|
-
[@yozora/tokenizer-table]: https://github.com/yozorajs/yozora/tree/
|
|
250
|
-
[@yozora/tokenizer-text]: https://github.com/yozorajs/yozora/tree/
|
|
251
|
-
[@yozora/tokenizer-thematic-break]: https://github.com/yozorajs/yozora/tree/
|
|
209
|
+
[@yozora/ast]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/ast#readme
|
|
210
|
+
[@yozora/ast-util]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/ast-util#readme
|
|
211
|
+
[@yozora/character]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/character#readme
|
|
212
|
+
[@yozora/eslint-config]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/eslint-config#readme
|
|
213
|
+
[@yozora/core-parser]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/core-parser#readme
|
|
214
|
+
[@yozora/core-tokenizer]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/core-tokenizer#readme
|
|
215
|
+
[@yozora/invariant]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/invariant#readme
|
|
216
|
+
[@yozora/jest-for-tokenizer]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/jest-for-tokenizer#readme
|
|
217
|
+
[@yozora/parser]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/parser#readme
|
|
218
|
+
[@yozora/parser-gfm]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/parser-gfm#readme
|
|
219
|
+
[@yozora/parser-gfm-ex]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/parser-gfm-ex#readme
|
|
220
|
+
[@yozora/template-tokenizer]: https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/template-tokenizer#readme
|
|
221
|
+
[@yozora/tokenizer-admonition]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/admonition#readme
|
|
222
|
+
[@yozora/tokenizer-autolink]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/autolink#readme
|
|
223
|
+
[@yozora/tokenizer-autolink-extension]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/autolink-extension#readme
|
|
224
|
+
[@yozora/tokenizer-blockquote]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/blockquote#readme
|
|
225
|
+
[@yozora/tokenizer-break]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/break#readme
|
|
226
|
+
[@yozora/tokenizer-definition]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/definition#readme
|
|
227
|
+
[@yozora/tokenizer-delete]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/delete#readme
|
|
228
|
+
[@yozora/tokenizer-ecma-import]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/ecma-import#readme
|
|
229
|
+
[@yozora/tokenizer-emphasis]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/emphasis#readme
|
|
230
|
+
[@yozora/tokenizer-fenced-block]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/fenced-block#readme
|
|
231
|
+
[@yozora/tokenizer-fenced-code]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/fenced-code#readme
|
|
232
|
+
[@yozora/tokenizer-footnote]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/footnote#readme
|
|
233
|
+
[@yozora/tokenizer-footnote-definition]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/footnote-definition#readme
|
|
234
|
+
[@yozora/tokenizer-footnote-reference]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/footnote-reference#readme
|
|
235
|
+
[@yozora/tokenizer-heading]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/heading#readme
|
|
236
|
+
[@yozora/tokenizer-html-block]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/html-block#readme
|
|
237
|
+
[@yozora/tokenizer-html-inline]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/html-inline#readme
|
|
238
|
+
[@yozora/tokenizer-image]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/image#readme
|
|
239
|
+
[@yozora/tokenizer-image-reference]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/image-reference#readme
|
|
240
|
+
[@yozora/tokenizer-indented-code]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/indented-code#readme
|
|
241
|
+
[@yozora/tokenizer-inline-code]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/inline-code#readme
|
|
242
|
+
[@yozora/tokenizer-inline-math]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/inline-math#readme
|
|
243
|
+
[@yozora/tokenizer-link]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/link#readme
|
|
244
|
+
[@yozora/tokenizer-link-reference]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/link-reference#readme
|
|
245
|
+
[@yozora/tokenizer-list]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/list#readme
|
|
246
|
+
[@yozora/tokenizer-math]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/math#readme
|
|
247
|
+
[@yozora/tokenizer-paragraph]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/paragraph#readme
|
|
248
|
+
[@yozora/tokenizer-setext-heading]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/setext-heading#readme
|
|
249
|
+
[@yozora/tokenizer-table]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/table#readme
|
|
250
|
+
[@yozora/tokenizer-text]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/text#readme
|
|
251
|
+
[@yozora/tokenizer-thematic-break]: https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/thematic-break#readme
|
|
252
252
|
|
|
253
253
|
[@yozora/react-admonition]: https://github.com/yozorajs/yozora-react/tree/main/packages/admonition#readme
|
|
254
254
|
[@yozora/react-blockquote]: https://github.com/yozorajs/yozora-react/tree/main/packages/blockquote#readme
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,7 +1,99 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { INodePoint } from '@yozora/character';
|
|
2
|
+
import { IResultOfRequiredEater, IResultOfOptionalEater, IPartialYastInlineToken, ITokenizer, IBaseInlineTokenizerProps, IYastTokenDelimiter, IMatchInlineHookCreator, IParseInlineHookCreator, BaseInlineTokenizer, IInlineTokenizer } from '@yozora/core-tokenizer';
|
|
3
|
+
import { LinkType, Link } from '@yozora/ast';
|
|
4
|
+
import { AutolinkContentType } from '@yozora/tokenizer-autolink';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* An extended email autolink will be recognised when an email address is
|
|
8
|
+
* recognised within any text node. Email addresses are recognised according to
|
|
9
|
+
* the following rules:
|
|
10
|
+
*
|
|
11
|
+
* - One ore more characters which are alphanumeric, or '.', '-', '_', or '+'.
|
|
12
|
+
* - An '@' symbol.
|
|
13
|
+
* - One or more characters which are alphanumeric, or '-' or '_', separated
|
|
14
|
+
* by periods (.). There must be at least one period. The last character must
|
|
15
|
+
* not be one of '-' or '_'.
|
|
16
|
+
*
|
|
17
|
+
* @see https://github.github.com/gfm/#extended-email-autolink
|
|
18
|
+
*/
|
|
19
|
+
declare function eatExtendEmailAddress(nodePoints: ReadonlyArray<INodePoint>, startIndex: number, endIndex: number): IResultOfRequiredEater;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* An extended url autolink will be recognised when one of the schemes 'http://',
|
|
23
|
+
* or 'https://', followed by a valid domain, then zero or more non-space non-<
|
|
24
|
+
* characters according to extended autolink path validation.
|
|
25
|
+
*
|
|
26
|
+
* @see https://github.github.com/gfm/#extended-url-autolink
|
|
27
|
+
*/
|
|
28
|
+
declare function eatExtendedUrl(nodePoints: ReadonlyArray<INodePoint>, startIndex: number, endIndex: number): IResultOfRequiredEater;
|
|
29
|
+
/**
|
|
30
|
+
* An extended www autolink will be recognised when the text 'www.' is found
|
|
31
|
+
* followed by a valid domain
|
|
32
|
+
*/
|
|
33
|
+
declare function eatWWWDomain(nodePoints: ReadonlyArray<INodePoint>, startIndex: number, endIndex: number): IResultOfRequiredEater;
|
|
34
|
+
/**
|
|
35
|
+
* Try to eat an optional domain follows.
|
|
36
|
+
*
|
|
37
|
+
* After a valid domain, zero or more non-space non-'<' characters may follow.
|
|
38
|
+
*
|
|
39
|
+
* @param nodePoints
|
|
40
|
+
* @param startIndex
|
|
41
|
+
* @param endIndex
|
|
42
|
+
* @see https://github.github.com/gfm/#extended-autolink-path-validation
|
|
43
|
+
*/
|
|
44
|
+
declare function eatOptionalDomainFollows(nodePoints: ReadonlyArray<INodePoint>, startIndex: number, endIndex: number): IResultOfOptionalEater;
|
|
45
|
+
/**
|
|
46
|
+
* A valid domain consists of segments of alphanumeric characters,
|
|
47
|
+
* underscores (_) and hyphens (-) separated by periods (.).
|
|
48
|
+
*
|
|
49
|
+
* @see https://github.github.com/gfm/#valid-domain
|
|
50
|
+
*/
|
|
51
|
+
declare function eatValidDomain(nodePoints: ReadonlyArray<INodePoint>, startIndex: number, endIndex: number): IResultOfRequiredEater;
|
|
52
|
+
/**
|
|
53
|
+
* A valid domain segment consists of alphanumeric characters,
|
|
54
|
+
* underscores (_) and hyphens (-).
|
|
55
|
+
* @see https://github.github.com/gfm/#valid-domain
|
|
56
|
+
*/
|
|
57
|
+
declare function eatDomainSegment(nodePoints: ReadonlyArray<INodePoint>, startIndex: number, endIndex: number): IResultOfRequiredEater & {
|
|
58
|
+
hasUnderscore: boolean;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
declare type T = LinkType;
|
|
62
|
+
declare type INode = Link;
|
|
63
|
+
declare const uniqueName = "@yozora/tokenizer-autolink-extension";
|
|
64
|
+
declare type AutolinkExtensionContentType = AutolinkContentType | 'uri-www';
|
|
65
|
+
interface IToken extends IPartialYastInlineToken<T> {
|
|
66
|
+
/**
|
|
67
|
+
* Autolink content type: absolute uri or email.
|
|
68
|
+
*/
|
|
69
|
+
contentType: AutolinkExtensionContentType;
|
|
70
|
+
}
|
|
71
|
+
interface IDelimiter extends IYastTokenDelimiter {
|
|
72
|
+
type: 'full';
|
|
73
|
+
/**
|
|
74
|
+
* Autolink and autolink-extension content types.
|
|
75
|
+
*/
|
|
76
|
+
contentType: AutolinkExtensionContentType;
|
|
77
|
+
}
|
|
78
|
+
declare type IThis = ITokenizer;
|
|
79
|
+
declare type ITokenizerProps = Partial<IBaseInlineTokenizerProps>;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* @see https://github.github.com/gfm/#autolinks-extension-
|
|
83
|
+
*/
|
|
84
|
+
declare const match: IMatchInlineHookCreator<T, IDelimiter, IToken, IThis>;
|
|
85
|
+
|
|
86
|
+
declare const parse: IParseInlineHookCreator<T, IToken, INode, IThis>;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Lexical Analyzer for Autolink (extension).
|
|
90
|
+
*
|
|
91
|
+
* @see https://github.github.com/gfm/#autolinks-extension-
|
|
92
|
+
*/
|
|
93
|
+
declare class AutolinkExtensionTokenizer extends BaseInlineTokenizer<T, IDelimiter, IToken, INode, IThis> implements IInlineTokenizer<T, IDelimiter, IToken, INode, IThis> {
|
|
94
|
+
constructor(props?: ITokenizerProps);
|
|
95
|
+
readonly match: IMatchInlineHookCreator<T, IDelimiter, IToken, IThis>;
|
|
96
|
+
readonly parse: IParseInlineHookCreator<T, IToken, INode, IThis>;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export { AutolinkExtensionTokenizer, uniqueName as AutolinkExtensionTokenizerName, IThis as IAutolinkExtensionHookContext, IToken as IAutolinkExtensionToken, ITokenizerProps as IAutolinkExtensionTokenizerProps, match as autolinkExtensionMatch, parse as autolinkExtensionParse, AutolinkExtensionTokenizer as default, eatDomainSegment, eatExtendEmailAddress, eatExtendedUrl, eatOptionalDomainFollows, eatValidDomain, eatWWWDomain };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yozora/tokenizer-autolink-extension",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
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/autolink-extension"
|
|
12
12
|
},
|
|
13
|
-
"homepage": "https://
|
|
13
|
+
"homepage": "https://github.com/yozorajs/yozora/tree/release-2.x.x/tokenizers/autolink-extension",
|
|
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": ">=
|
|
20
|
+
"node": ">= 16.0.0"
|
|
21
21
|
},
|
|
22
22
|
"files": [
|
|
23
23
|
"lib/",
|
|
@@ -35,10 +35,10 @@
|
|
|
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.
|
|
39
|
-
"@yozora/character": "^2.0.
|
|
40
|
-
"@yozora/core-tokenizer": "^2.0.
|
|
41
|
-
"@yozora/tokenizer-autolink": "^2.0.
|
|
38
|
+
"@yozora/ast": "^2.0.2",
|
|
39
|
+
"@yozora/character": "^2.0.2",
|
|
40
|
+
"@yozora/core-tokenizer": "^2.0.2",
|
|
41
|
+
"@yozora/tokenizer-autolink": "^2.0.2"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "6911295e9eacfa29563fe93494704190e50625fd"
|
|
44
44
|
}
|