@yozora/tokenizer-link 2.0.2 → 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yozora/tokenizer-link",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "author": {
5
5
  "name": "guanghechen",
6
6
  "url": "https://github.com/guanghechen/"
@@ -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",
39
- "@yozora/character": "^2.0.2",
40
- "@yozora/core-tokenizer": "^2.0.2"
38
+ "@yozora/ast": "^2.0.3",
39
+ "@yozora/character": "^2.0.3",
40
+ "@yozora/core-tokenizer": "^2.0.3"
41
41
  },
42
- "gitHead": "6911295e9eacfa29563fe93494704190e50625fd"
42
+ "gitHead": "8cc8f95cfebc8d752bc3272cdd24965f540c130b"
43
43
  }
@@ -1,31 +0,0 @@
1
- import type { IMatchInlineHookCreator } from '@yozora/core-tokenizer';
2
- import type { IDelimiter, IThis, IToken, T } from './types';
3
- /**
4
- * An inline link consists of a link text followed immediately by a left
5
- * parenthesis '(', optional whitespace, an optional link destination, an
6
- * optional link title separated from the link destination by whitespace,
7
- * optional whitespace, and a right parenthesis ')'. The link’s text consists
8
- * of the inlines contained in the link text (excluding the enclosing square
9
- * brackets).
10
- * The link’s URI consists of the link destination, excluding enclosing '<...>'
11
- * if present, with backslash-escapes in effect as described above. The link’s
12
- * title consists of the link title, excluding its enclosing delimiters, with
13
- * backslash-escapes in effect as described above.
14
- *
15
- * ------
16
- *
17
- * A 'opener' type delimiter is one of the following forms:
18
- *
19
- * - '['
20
- *
21
- * A 'closer' type delimiter is one of the following forms:
22
- *
23
- * - '](url)'
24
- * - '](url "title")'
25
- * - '](<url>)'
26
- * - '](<url> "title")'
27
- *
28
- * @see https://github.com/syntax-tree/mdast#link
29
- * @see https://github.github.com/gfm/#links
30
- */
31
- export declare const match: IMatchInlineHookCreator<T, IDelimiter, IToken, IThis>;
@@ -1,3 +0,0 @@
1
- import type { IParseInlineHookCreator } from '@yozora/core-tokenizer';
2
- import type { INode, IThis, IToken, T } from './types';
3
- export declare const parse: IParseInlineHookCreator<T, IToken, INode, IThis>;
@@ -1,13 +0,0 @@
1
- import type { IInlineTokenizer, IMatchInlineHookCreator, IParseInlineHookCreator } from '@yozora/core-tokenizer';
2
- import { BaseInlineTokenizer } from '@yozora/core-tokenizer';
3
- import type { IDelimiter, INode, IThis, IToken, ITokenizerProps, T } from './types';
4
- /**
5
- * Lexical Analyzer for InlineLink.
6
- * @see https://github.com/syntax-tree/mdast#link
7
- * @see https://github.github.com/gfm/#links
8
- */
9
- export declare class LinkTokenizer extends BaseInlineTokenizer<T, IDelimiter, IToken, INode, IThis> implements IInlineTokenizer<T, IDelimiter, IToken, INode, IThis> {
10
- constructor(props?: ITokenizerProps);
11
- readonly match: IMatchInlineHookCreator<T, IDelimiter, IToken, IThis>;
12
- readonly parse: IParseInlineHookCreator<T, IToken, INode, IThis>;
13
- }
@@ -1,32 +0,0 @@
1
- import type { Link, LinkType } from '@yozora/ast';
2
- import type { INodeInterval } from '@yozora/character';
3
- import type { IBaseInlineTokenizerProps, IPartialYastInlineToken, ITokenizer, IYastTokenDelimiter } from '@yozora/core-tokenizer';
4
- export declare type T = LinkType;
5
- export declare type INode = Link;
6
- export declare const uniqueName = "@yozora/tokenizer-link";
7
- export interface IToken extends IPartialYastInlineToken<T> {
8
- /**
9
- * Link destination interval.
10
- */
11
- destinationContent?: INodeInterval;
12
- /**
13
- * Link title interval.
14
- */
15
- titleContent?: INodeInterval;
16
- }
17
- export interface IDelimiter extends IYastTokenDelimiter {
18
- /**
19
- * IDelimiter type.
20
- */
21
- type: 'opener' | 'closer';
22
- /**
23
- * Link destination interval.
24
- */
25
- destinationContent?: INodeInterval;
26
- /**
27
- * Link title interval.
28
- */
29
- titleContent?: INodeInterval;
30
- }
31
- export declare type IThis = ITokenizer;
32
- export declare type ITokenizerProps = Partial<IBaseInlineTokenizerProps>;
@@ -1,12 +0,0 @@
1
- import type { INodePoint } from '@yozora/character';
2
- import type { IYastInlineToken } from '@yozora/core-tokenizer';
3
- /**
4
- * The link text may contain balanced brackets, but not unbalanced ones,
5
- * unless they are escaped
6
- *
7
- * @see https://github.github.com/gfm/#example-520
8
- * @see https://github.github.com/gfm/#example-521
9
- * @see https://github.github.com/gfm/#example-522
10
- * @see https://github.github.com/gfm/#example-523
11
- */
12
- export declare const checkBalancedBracketsStatus: (startIndex: number, endIndex: number, internalTokens: ReadonlyArray<IYastInlineToken>, nodePoints: ReadonlyArray<INodePoint>) => -1 | 0 | 1;
@@ -1,15 +0,0 @@
1
- import type { INodePoint } from '@yozora/character';
2
- /**
3
- * A link destination consists of either
4
- * - a sequence of zero or more characters between an opening '<' and a closing '>'
5
- * that contains no line breaks or unescaped '<' or '>' characters, or
6
- * - a nonempty sequence of characters that does not start with '<', does not include
7
- * ASCII space or control characters, and includes parentheses only if
8
- * (a) they are backslash-escaped or
9
- * (b) they are part of a balanced pair of unescaped parentheses. (Implementations
10
- * may impose limits on parentheses nesting to avoid performance issues, but
11
- * at least three levels of nesting should be supported.)
12
- * @see https://github.github.com/gfm/#link-destination
13
- * @return position at next iteration
14
- */
15
- export declare function eatLinkDestination(nodePoints: ReadonlyArray<INodePoint>, startIndex: number, endIndex: number): number;
@@ -1,14 +0,0 @@
1
- import type { INodePoint } from '@yozora/character';
2
- /**
3
- * A link title consists of either
4
- *
5
- * - a sequence of zero or more characters between straight double-quote
6
- * characters '"', including a '"' character only if it is backslash-escaped, or
7
- *
8
- * - a sequence of zero or more characters between straight single-quote
9
- * characters '\'', including a '\'' character only if it is backslash-escaped, or
10
- *
11
- * - a sequence of zero or more characters between matching parentheses '(...)',
12
- * including a '(' or ')' character only if it is backslash-escaped.
13
- */
14
- export declare function eatLinkTitle(nodePoints: ReadonlyArray<INodePoint>, startIndex: number, endIndex: number): number;