@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 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/autolink-extension#readme">@yozora/tokenizer-autolink-extension</a>
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/main/tokenizers/autolink-extension#readme
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/main/packages/ast#readme
210
- [@yozora/ast-util]: https://github.com/yozorajs/yozora/tree/main/packages/ast-util#readme
211
- [@yozora/character]: https://github.com/yozorajs/yozora/tree/main/packages/character#readme
212
- [@yozora/eslint-config]: https://github.com/yozorajs/yozora/tree/main/packages/eslint-config#readme
213
- [@yozora/core-parser]: https://github.com/yozorajs/yozora/tree/main/packages/core-parser#readme
214
- [@yozora/core-tokenizer]: https://github.com/yozorajs/yozora/tree/main/packages/core-tokenizer#readme
215
- [@yozora/invariant]: https://github.com/yozorajs/yozora/tree/main/packages/invariant#readme
216
- [@yozora/jest-for-tokenizer]: https://github.com/yozorajs/yozora/tree/main/packages/jest-for-tokenizer#readme
217
- [@yozora/parser]: https://github.com/yozorajs/yozora/tree/main/packages/parser#readme
218
- [@yozora/parser-gfm]: https://github.com/yozorajs/yozora/tree/main/packages/parser-gfm#readme
219
- [@yozora/parser-gfm-ex]: https://github.com/yozorajs/yozora/tree/main/packages/parser-gfm-ex#readme
220
- [@yozora/template-tokenizer]: https://github.com/yozorajs/yozora/tree/main/packages/template-tokenizer#readme
221
- [@yozora/tokenizer-admonition]: https://github.com/yozorajs/yozora/tree/main/tokenizers/admonition#readme
222
- [@yozora/tokenizer-autolink]: https://github.com/yozorajs/yozora/tree/main/tokenizers/autolink#readme
223
- [@yozora/tokenizer-autolink-extension]: https://github.com/yozorajs/yozora/tree/main/tokenizers/autolink-extension#readme
224
- [@yozora/tokenizer-blockquote]: https://github.com/yozorajs/yozora/tree/main/tokenizers/blockquote#readme
225
- [@yozora/tokenizer-break]: https://github.com/yozorajs/yozora/tree/main/tokenizers/break#readme
226
- [@yozora/tokenizer-definition]: https://github.com/yozorajs/yozora/tree/main/tokenizers/definition#readme
227
- [@yozora/tokenizer-delete]: https://github.com/yozorajs/yozora/tree/main/tokenizers/delete#readme
228
- [@yozora/tokenizer-ecma-import]: https://github.com/yozorajs/yozora/tree/main/tokenizers/ecma-import#readme
229
- [@yozora/tokenizer-emphasis]: https://github.com/yozorajs/yozora/tree/main/tokenizers/emphasis#readme
230
- [@yozora/tokenizer-fenced-block]: https://github.com/yozorajs/yozora/tree/main/tokenizers/fenced-block#readme
231
- [@yozora/tokenizer-fenced-code]: https://github.com/yozorajs/yozora/tree/main/tokenizers/fenced-code#readme
232
- [@yozora/tokenizer-footnote]: https://github.com/yozorajs/yozora/tree/main/tokenizers/footnote#readme
233
- [@yozora/tokenizer-footnote-definition]: https://github.com/yozorajs/yozora/tree/main/tokenizers/footnote-definition#readme
234
- [@yozora/tokenizer-footnote-reference]: https://github.com/yozorajs/yozora/tree/main/tokenizers/footnote-reference#readme
235
- [@yozora/tokenizer-heading]: https://github.com/yozorajs/yozora/tree/main/tokenizers/heading#readme
236
- [@yozora/tokenizer-html-block]: https://github.com/yozorajs/yozora/tree/main/tokenizers/html-block#readme
237
- [@yozora/tokenizer-html-inline]: https://github.com/yozorajs/yozora/tree/main/tokenizers/html-inline#readme
238
- [@yozora/tokenizer-image]: https://github.com/yozorajs/yozora/tree/main/tokenizers/image#readme
239
- [@yozora/tokenizer-image-reference]: https://github.com/yozorajs/yozora/tree/main/tokenizers/image-reference#readme
240
- [@yozora/tokenizer-indented-code]: https://github.com/yozorajs/yozora/tree/main/tokenizers/indented-code#readme
241
- [@yozora/tokenizer-inline-code]: https://github.com/yozorajs/yozora/tree/main/tokenizers/inline-code#readme
242
- [@yozora/tokenizer-inline-math]: https://github.com/yozorajs/yozora/tree/main/tokenizers/inline-math#readme
243
- [@yozora/tokenizer-link]: https://github.com/yozorajs/yozora/tree/main/tokenizers/link#readme
244
- [@yozora/tokenizer-link-reference]: https://github.com/yozorajs/yozora/tree/main/tokenizers/link-reference#readme
245
- [@yozora/tokenizer-list]: https://github.com/yozorajs/yozora/tree/main/tokenizers/list#readme
246
- [@yozora/tokenizer-math]: https://github.com/yozorajs/yozora/tree/main/tokenizers/math#readme
247
- [@yozora/tokenizer-paragraph]: https://github.com/yozorajs/yozora/tree/main/tokenizers/paragraph#readme
248
- [@yozora/tokenizer-setext-heading]: https://github.com/yozorajs/yozora/tree/main/tokenizers/setext-heading#readme
249
- [@yozora/tokenizer-table]: https://github.com/yozorajs/yozora/tree/main/tokenizers/table#readme
250
- [@yozora/tokenizer-text]: https://github.com/yozorajs/yozora/tree/main/tokenizers/text#readme
251
- [@yozora/tokenizer-thematic-break]: https://github.com/yozorajs/yozora/tree/main/tokenizers/thematic-break#readme
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
@@ -1,7 +1,99 @@
1
- export * from './util/email';
2
- export * from './util/uri';
3
- export { match as autolinkExtensionMatch } from './match';
4
- export { parse as autolinkExtensionParse } from './parse';
5
- export { AutolinkExtensionTokenizer, AutolinkExtensionTokenizer as default } from './tokenizer';
6
- export { uniqueName as AutolinkExtensionTokenizerName } from './types';
7
- export type { IThis as IAutolinkExtensionHookContext, IToken as IAutolinkExtensionToken, ITokenizerProps as IAutolinkExtensionTokenizerProps, } from './types';
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.1",
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://yozora.guanghechen.com/docs/package/tokenizer-autolink-extension",
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": ">= 14.15.0"
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.1",
39
- "@yozora/character": "^2.0.1",
40
- "@yozora/core-tokenizer": "^2.0.1",
41
- "@yozora/tokenizer-autolink": "^2.0.1"
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": "3aea33091e402bd6c7754d91d549e8d648475073"
43
+ "gitHead": "6911295e9eacfa29563fe93494704190e50625fd"
44
44
  }