@yozora/tokenizer-emphasis 1.2.1 → 2.0.0-alpha.1
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 +4 -6
- package/lib/cjs/index.js +58 -35
- package/lib/esm/index.js +57 -36
- package/lib/types/index.d.ts +4 -4
- package/lib/types/match.d.ts +7 -0
- package/lib/types/parse.d.ts +3 -0
- package/lib/types/tokenizer.d.ts +6 -27
- package/lib/types/types.d.ts +8 -7
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -84,14 +84,14 @@ so you can use `YozoraParser` / `GfmExParser` / `GfmParser` directly.
|
|
|
84
84
|
registered in *YastParser* as a plugin-in before it can be used.
|
|
85
85
|
|
|
86
86
|
```typescript {4,9}
|
|
87
|
-
import {
|
|
87
|
+
import { DefaultParser } from '@yozora/core-parser'
|
|
88
88
|
import ParagraphTokenizer from '@yozora/tokenizer-paragraph'
|
|
89
89
|
import TextTokenizer from '@yozora/tokenizer-text'
|
|
90
90
|
import EmphasisTokenizer from '@yozora/tokenizer-emphasis'
|
|
91
91
|
|
|
92
|
-
const parser = new
|
|
93
|
-
.
|
|
94
|
-
.
|
|
92
|
+
const parser = new DefaultParser()
|
|
93
|
+
.useFallbackTokenizer(new ParagraphTokenizer())
|
|
94
|
+
.useFallbackTokenizer(new TextTokenizer())
|
|
95
95
|
.useTokenizer(new EmphasisTokenizer())
|
|
96
96
|
|
|
97
97
|
// parse source markdown content
|
|
@@ -265,7 +265,6 @@ Name | Type | Required | Default
|
|
|
265
265
|
[@yozora/tokenizer-link]: https://github.com/yozorajs/yozora/tree/main/tokenizers/link#readme
|
|
266
266
|
[@yozora/tokenizer-link-reference]: https://github.com/yozorajs/yozora/tree/main/tokenizers/link-reference#readme
|
|
267
267
|
[@yozora/tokenizer-list]: https://github.com/yozorajs/yozora/tree/main/tokenizers/list#readme
|
|
268
|
-
[@yozora/tokenizer-list-item]: https://github.com/yozorajs/yozora/tree/main/tokenizers/list-item#readme
|
|
269
268
|
[@yozora/tokenizer-math]: https://github.com/yozorajs/yozora/tree/main/tokenizers/math#readme
|
|
270
269
|
[@yozora/tokenizer-paragraph]: https://github.com/yozorajs/yozora/tree/main/tokenizers/paragraph#readme
|
|
271
270
|
[@yozora/tokenizer-setext-heading]: https://github.com/yozorajs/yozora/tree/main/tokenizers/setext-heading#readme
|
|
@@ -325,7 +324,6 @@ Name | Type | Required | Default
|
|
|
325
324
|
[doc-@yozora/tokenizer-definition]: https://yozora.guanghechen.com/docs/package/tokenizer-definition
|
|
326
325
|
[doc-@yozora/tokenizer-link-reference]: https://yozora.guanghechen.com/docs/package/tokenizer-link-reference
|
|
327
326
|
[doc-@yozora/tokenizer-list]: https://yozora.guanghechen.com/docs/package/tokenizer-list
|
|
328
|
-
[doc-@yozora/tokenizer-list-item]: https://yozora.guanghechen.com/docs/package/tokenizer-list-item
|
|
329
327
|
[doc-@yozora/tokenizer-math]: https://yozora.guanghechen.com/docs/package/tokenizer-math
|
|
330
328
|
[doc-@yozora/tokenizer-paragraph]: https://yozora.guanghechen.com/docs/package/tokenizer-paragraph
|
|
331
329
|
[doc-@yozora/tokenizer-setext-heading]: https://yozora.guanghechen.com/docs/package/tokenizer-setext-heading
|
package/lib/cjs/index.js
CHANGED
|
@@ -6,21 +6,23 @@ var ast = require('@yozora/ast');
|
|
|
6
6
|
var character = require('@yozora/character');
|
|
7
7
|
var coreTokenizer = require('@yozora/core-tokenizer');
|
|
8
8
|
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
_findDelimiter(startIndex, endIndex, nodePoints) {
|
|
9
|
+
const match = function (api) {
|
|
10
|
+
return {
|
|
11
|
+
findDelimiter: () => coreTokenizer.genFindDelimiter(_findDelimiter),
|
|
12
|
+
isDelimiterPair,
|
|
13
|
+
processDelimiterPair,
|
|
14
|
+
};
|
|
15
|
+
function _findDelimiter(startIndex, endIndex) {
|
|
16
|
+
const nodePoints = api.getNodePoints();
|
|
17
|
+
const blockStartIndex = api.getBlockStartIndex();
|
|
18
|
+
const blockEndIndex = api.getBlockEndIndex();
|
|
20
19
|
const isOpenerDelimiter = (delimiterStartIndex, delimiterEndIndex) => {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
if (delimiterEndIndex === blockEndIndex)
|
|
21
|
+
return false;
|
|
22
|
+
if (delimiterEndIndex === endIndex)
|
|
23
|
+
return true;
|
|
24
|
+
const nextCodePosition = nodePoints[delimiterEndIndex];
|
|
25
|
+
if (character.isUnicodeWhitespaceCharacter(nextCodePosition.codePoint))
|
|
24
26
|
return false;
|
|
25
27
|
if (!character.isPunctuationCharacter(nextCodePosition.codePoint))
|
|
26
28
|
return true;
|
|
@@ -31,13 +33,15 @@ class EmphasisTokenizer extends coreTokenizer.BaseInlineTokenizer {
|
|
|
31
33
|
character.isPunctuationCharacter(prevCodePosition.codePoint));
|
|
32
34
|
};
|
|
33
35
|
const isCloserDelimiter = (delimiterStartIndex, delimiterEndIndex) => {
|
|
34
|
-
if (delimiterStartIndex
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
if (delimiterStartIndex === blockStartIndex)
|
|
37
|
+
return false;
|
|
38
|
+
if (delimiterStartIndex === startIndex)
|
|
39
|
+
return true;
|
|
40
|
+
const prevCodePosition = nodePoints[delimiterStartIndex - 1];
|
|
41
|
+
if (character.isUnicodeWhitespaceCharacter(prevCodePosition.codePoint))
|
|
42
|
+
return false;
|
|
43
|
+
if (!character.isPunctuationCharacter(prevCodePosition.codePoint))
|
|
44
|
+
return true;
|
|
41
45
|
if (delimiterEndIndex >= endIndex)
|
|
42
46
|
return true;
|
|
43
47
|
const nextCodePosition = nodePoints[delimiterEndIndex];
|
|
@@ -86,25 +90,23 @@ class EmphasisTokenizer extends coreTokenizer.BaseInlineTokenizer {
|
|
|
86
90
|
}
|
|
87
91
|
return null;
|
|
88
92
|
}
|
|
89
|
-
isDelimiterPair(openerDelimiter, closerDelimiter
|
|
93
|
+
function isDelimiterPair(openerDelimiter, closerDelimiter) {
|
|
94
|
+
const nodePoints = api.getNodePoints();
|
|
90
95
|
if (nodePoints[openerDelimiter.startIndex].codePoint !==
|
|
91
96
|
nodePoints[closerDelimiter.startIndex].codePoint ||
|
|
92
97
|
((openerDelimiter.type === 'both' || closerDelimiter.type === 'both') &&
|
|
93
|
-
(openerDelimiter.originalThickness +
|
|
94
|
-
closerDelimiter.originalThickness) %
|
|
95
|
-
3 ===
|
|
96
|
-
0 &&
|
|
98
|
+
(openerDelimiter.originalThickness + closerDelimiter.originalThickness) % 3 === 0 &&
|
|
97
99
|
openerDelimiter.originalThickness % 3 !== 0)) {
|
|
98
100
|
return { paired: false, opener: true, closer: true };
|
|
99
101
|
}
|
|
100
102
|
return { paired: true };
|
|
101
103
|
}
|
|
102
|
-
processDelimiterPair(openerDelimiter, closerDelimiter, internalTokens
|
|
104
|
+
function processDelimiterPair(openerDelimiter, closerDelimiter, internalTokens) {
|
|
103
105
|
let thickness = 1;
|
|
104
106
|
if (openerDelimiter.thickness > 1 && closerDelimiter.thickness > 1) {
|
|
105
107
|
thickness = 2;
|
|
106
108
|
}
|
|
107
|
-
internalTokens = api.resolveInternalTokens(internalTokens, openerDelimiter.endIndex, closerDelimiter.startIndex
|
|
109
|
+
internalTokens = api.resolveInternalTokens(internalTokens, openerDelimiter.endIndex, closerDelimiter.startIndex);
|
|
108
110
|
const token = {
|
|
109
111
|
nodeType: thickness === 1 ? ast.EmphasisType : ast.StrongType,
|
|
110
112
|
startIndex: openerDelimiter.endIndex - thickness,
|
|
@@ -136,15 +138,36 @@ class EmphasisTokenizer extends coreTokenizer.BaseInlineTokenizer {
|
|
|
136
138
|
remainCloserDelimiter,
|
|
137
139
|
};
|
|
138
140
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
const parse = function () {
|
|
144
|
+
return {
|
|
145
|
+
parse: (token, children) => {
|
|
146
|
+
const result = {
|
|
147
|
+
type: token.nodeType,
|
|
148
|
+
children,
|
|
149
|
+
};
|
|
150
|
+
return result;
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
const uniqueName = '@yozora/tokenizer-emphasis';
|
|
156
|
+
|
|
157
|
+
class EmphasisTokenizer extends coreTokenizer.BaseInlineTokenizer {
|
|
158
|
+
constructor(props = {}) {
|
|
159
|
+
var _a, _b;
|
|
160
|
+
super({
|
|
161
|
+
name: (_a = props.name) !== null && _a !== void 0 ? _a : uniqueName,
|
|
162
|
+
priority: (_b = props.priority) !== null && _b !== void 0 ? _b : coreTokenizer.TokenizerPriority.CONTAINING_INLINE,
|
|
163
|
+
});
|
|
164
|
+
this.match = match;
|
|
165
|
+
this.parse = parse;
|
|
145
166
|
}
|
|
146
167
|
}
|
|
147
168
|
|
|
148
169
|
exports.EmphasisTokenizer = EmphasisTokenizer;
|
|
149
170
|
exports.EmphasisTokenizerName = uniqueName;
|
|
150
|
-
exports[
|
|
171
|
+
exports["default"] = EmphasisTokenizer;
|
|
172
|
+
exports.emphasisMatch = match;
|
|
173
|
+
exports.emphasisParse = parse;
|
package/lib/esm/index.js
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import { EmphasisType, StrongType } from '@yozora/ast';
|
|
2
2
|
import { AsciiCodePoint, isPunctuationCharacter, isUnicodeWhitespaceCharacter } from '@yozora/character';
|
|
3
|
-
import { BaseInlineTokenizer, TokenizerPriority
|
|
3
|
+
import { genFindDelimiter, eatOptionalCharacters, BaseInlineTokenizer, TokenizerPriority } from '@yozora/core-tokenizer';
|
|
4
4
|
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
_findDelimiter(startIndex, endIndex, nodePoints) {
|
|
5
|
+
const match = function (api) {
|
|
6
|
+
return {
|
|
7
|
+
findDelimiter: () => genFindDelimiter(_findDelimiter),
|
|
8
|
+
isDelimiterPair,
|
|
9
|
+
processDelimiterPair,
|
|
10
|
+
};
|
|
11
|
+
function _findDelimiter(startIndex, endIndex) {
|
|
12
|
+
const nodePoints = api.getNodePoints();
|
|
13
|
+
const blockStartIndex = api.getBlockStartIndex();
|
|
14
|
+
const blockEndIndex = api.getBlockEndIndex();
|
|
16
15
|
const isOpenerDelimiter = (delimiterStartIndex, delimiterEndIndex) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
if (delimiterEndIndex === blockEndIndex)
|
|
17
|
+
return false;
|
|
18
|
+
if (delimiterEndIndex === endIndex)
|
|
19
|
+
return true;
|
|
20
|
+
const nextCodePosition = nodePoints[delimiterEndIndex];
|
|
21
|
+
if (isUnicodeWhitespaceCharacter(nextCodePosition.codePoint))
|
|
20
22
|
return false;
|
|
21
23
|
if (!isPunctuationCharacter(nextCodePosition.codePoint))
|
|
22
24
|
return true;
|
|
@@ -27,13 +29,15 @@ class EmphasisTokenizer extends BaseInlineTokenizer {
|
|
|
27
29
|
isPunctuationCharacter(prevCodePosition.codePoint));
|
|
28
30
|
};
|
|
29
31
|
const isCloserDelimiter = (delimiterStartIndex, delimiterEndIndex) => {
|
|
30
|
-
if (delimiterStartIndex
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
if (delimiterStartIndex === blockStartIndex)
|
|
33
|
+
return false;
|
|
34
|
+
if (delimiterStartIndex === startIndex)
|
|
35
|
+
return true;
|
|
36
|
+
const prevCodePosition = nodePoints[delimiterStartIndex - 1];
|
|
37
|
+
if (isUnicodeWhitespaceCharacter(prevCodePosition.codePoint))
|
|
38
|
+
return false;
|
|
39
|
+
if (!isPunctuationCharacter(prevCodePosition.codePoint))
|
|
40
|
+
return true;
|
|
37
41
|
if (delimiterEndIndex >= endIndex)
|
|
38
42
|
return true;
|
|
39
43
|
const nextCodePosition = nodePoints[delimiterEndIndex];
|
|
@@ -82,25 +86,23 @@ class EmphasisTokenizer extends BaseInlineTokenizer {
|
|
|
82
86
|
}
|
|
83
87
|
return null;
|
|
84
88
|
}
|
|
85
|
-
isDelimiterPair(openerDelimiter, closerDelimiter
|
|
89
|
+
function isDelimiterPair(openerDelimiter, closerDelimiter) {
|
|
90
|
+
const nodePoints = api.getNodePoints();
|
|
86
91
|
if (nodePoints[openerDelimiter.startIndex].codePoint !==
|
|
87
92
|
nodePoints[closerDelimiter.startIndex].codePoint ||
|
|
88
93
|
((openerDelimiter.type === 'both' || closerDelimiter.type === 'both') &&
|
|
89
|
-
(openerDelimiter.originalThickness +
|
|
90
|
-
closerDelimiter.originalThickness) %
|
|
91
|
-
3 ===
|
|
92
|
-
0 &&
|
|
94
|
+
(openerDelimiter.originalThickness + closerDelimiter.originalThickness) % 3 === 0 &&
|
|
93
95
|
openerDelimiter.originalThickness % 3 !== 0)) {
|
|
94
96
|
return { paired: false, opener: true, closer: true };
|
|
95
97
|
}
|
|
96
98
|
return { paired: true };
|
|
97
99
|
}
|
|
98
|
-
processDelimiterPair(openerDelimiter, closerDelimiter, internalTokens
|
|
100
|
+
function processDelimiterPair(openerDelimiter, closerDelimiter, internalTokens) {
|
|
99
101
|
let thickness = 1;
|
|
100
102
|
if (openerDelimiter.thickness > 1 && closerDelimiter.thickness > 1) {
|
|
101
103
|
thickness = 2;
|
|
102
104
|
}
|
|
103
|
-
internalTokens = api.resolveInternalTokens(internalTokens, openerDelimiter.endIndex, closerDelimiter.startIndex
|
|
105
|
+
internalTokens = api.resolveInternalTokens(internalTokens, openerDelimiter.endIndex, closerDelimiter.startIndex);
|
|
104
106
|
const token = {
|
|
105
107
|
nodeType: thickness === 1 ? EmphasisType : StrongType,
|
|
106
108
|
startIndex: openerDelimiter.endIndex - thickness,
|
|
@@ -132,13 +134,32 @@ class EmphasisTokenizer extends BaseInlineTokenizer {
|
|
|
132
134
|
remainCloserDelimiter,
|
|
133
135
|
};
|
|
134
136
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
const parse = function () {
|
|
140
|
+
return {
|
|
141
|
+
parse: (token, children) => {
|
|
142
|
+
const result = {
|
|
143
|
+
type: token.nodeType,
|
|
144
|
+
children,
|
|
145
|
+
};
|
|
146
|
+
return result;
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
const uniqueName = '@yozora/tokenizer-emphasis';
|
|
152
|
+
|
|
153
|
+
class EmphasisTokenizer extends BaseInlineTokenizer {
|
|
154
|
+
constructor(props = {}) {
|
|
155
|
+
var _a, _b;
|
|
156
|
+
super({
|
|
157
|
+
name: (_a = props.name) !== null && _a !== void 0 ? _a : uniqueName,
|
|
158
|
+
priority: (_b = props.priority) !== null && _b !== void 0 ? _b : TokenizerPriority.CONTAINING_INLINE,
|
|
159
|
+
});
|
|
160
|
+
this.match = match;
|
|
161
|
+
this.parse = parse;
|
|
141
162
|
}
|
|
142
163
|
}
|
|
143
164
|
|
|
144
|
-
export { EmphasisTokenizer, uniqueName as EmphasisTokenizerName, EmphasisTokenizer as default };
|
|
165
|
+
export { EmphasisTokenizer, uniqueName as EmphasisTokenizerName, EmphasisTokenizer as default, match as emphasisMatch, parse as emphasisParse };
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
1
|
+
export { match as emphasisMatch } from './match';
|
|
2
|
+
export { parse as emphasisParse } from './parse';
|
|
3
|
+
export { EmphasisTokenizer, EmphasisTokenizer as default } from './tokenizer';
|
|
3
4
|
export { uniqueName as EmphasisTokenizerName } from './types';
|
|
4
|
-
export type {
|
|
5
|
-
export default EmphasisTokenizer;
|
|
5
|
+
export type { IThis as IEmphasisHookContext, IToken as IEmphasisToken, ITokenizerProps as IEmphasisTokenizerProps, } from './types';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IMatchInlineHookCreator } from '@yozora/core-tokenizer';
|
|
2
|
+
import type { IDelimiter, IThis, IToken, T } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* @see https://github.com/syntax-tree/mdast#strong
|
|
5
|
+
* @see https://github.github.com/gfm/#emphasis-and-strong-emphasis
|
|
6
|
+
*/
|
|
7
|
+
export declare const match: IMatchInlineHookCreator<T, IDelimiter, IToken, IThis>;
|
package/lib/types/tokenizer.d.ts
CHANGED
|
@@ -1,34 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { NodePoint } from '@yozora/character';
|
|
3
|
-
import type { MatchInlinePhaseApi, ResultOfIsDelimiterPair, ResultOfProcessDelimiterPair, Tokenizer, TokenizerMatchInlineHook, TokenizerParseInlineHook, YastInlineToken } from '@yozora/core-tokenizer';
|
|
1
|
+
import type { IInlineTokenizer, IMatchInlineHookCreator, IParseInlineHookCreator } from '@yozora/core-tokenizer';
|
|
4
2
|
import { BaseInlineTokenizer } from '@yozora/core-tokenizer';
|
|
5
|
-
import type {
|
|
3
|
+
import type { IDelimiter, INode, IThis, IToken, ITokenizerProps, T } from './types';
|
|
6
4
|
/**
|
|
7
5
|
* Lexical Analyzer for Emphasis and Strong Emphasis.
|
|
8
|
-
*
|
|
9
6
|
* @see https://github.com/syntax-tree/mdast#strong
|
|
10
7
|
* @see https://github.github.com/gfm/#emphasis-and-strong-emphasis
|
|
11
8
|
*/
|
|
12
|
-
export declare class EmphasisTokenizer extends BaseInlineTokenizer<
|
|
13
|
-
constructor(props?:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* @see BaseInlineTokenizer
|
|
17
|
-
*/
|
|
18
|
-
protected _findDelimiter(startIndex: number, endIndex: number, nodePoints: ReadonlyArray<NodePoint>): Delimiter | null;
|
|
19
|
-
/**
|
|
20
|
-
* @override
|
|
21
|
-
* @see TokenizerMatchInlineHook
|
|
22
|
-
*/
|
|
23
|
-
isDelimiterPair(openerDelimiter: Delimiter, closerDelimiter: Delimiter, internalTokens: ReadonlyArray<YastInlineToken>, nodePoints: ReadonlyArray<NodePoint>): ResultOfIsDelimiterPair;
|
|
24
|
-
/**
|
|
25
|
-
* @override
|
|
26
|
-
* @see TokenizerMatchInlineHook
|
|
27
|
-
*/
|
|
28
|
-
processDelimiterPair(openerDelimiter: Delimiter, closerDelimiter: Delimiter, internalTokens: ReadonlyArray<YastInlineToken>, nodePoints: ReadonlyArray<NodePoint>, api: Readonly<MatchInlinePhaseApi>): ResultOfProcessDelimiterPair<T, Token, Delimiter>;
|
|
29
|
-
/**
|
|
30
|
-
* @override
|
|
31
|
-
* @see TokenizerParseInlineHook
|
|
32
|
-
*/
|
|
33
|
-
processToken(token: Token, children?: YastNode[]): Node;
|
|
9
|
+
export declare class EmphasisTokenizer 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>;
|
|
34
13
|
}
|
package/lib/types/types.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { EmphasisType, IEmphasis, IStrong, StrongType } from '@yozora/ast';
|
|
2
|
+
import type { IBaseInlineTokenizerProps, IPartialYastInlineToken, ITokenizer, IYastTokenDelimiter } from '@yozora/core-tokenizer';
|
|
3
3
|
export declare type T = EmphasisType | StrongType;
|
|
4
|
-
export declare type
|
|
4
|
+
export declare type INode = IEmphasis | IStrong;
|
|
5
5
|
export declare const uniqueName = "@yozora/tokenizer-emphasis";
|
|
6
|
-
export interface
|
|
6
|
+
export interface IToken extends IPartialYastInlineToken<T> {
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* IDelimiter thickness.
|
|
9
9
|
*/
|
|
10
10
|
thickness: number;
|
|
11
11
|
}
|
|
12
|
-
export interface
|
|
12
|
+
export interface IDelimiter extends IYastTokenDelimiter {
|
|
13
13
|
/**
|
|
14
14
|
* Thickness of the delimiter.
|
|
15
15
|
*/
|
|
@@ -19,4 +19,5 @@ export interface Delimiter extends YastTokenDelimiter {
|
|
|
19
19
|
*/
|
|
20
20
|
originalThickness: number;
|
|
21
21
|
}
|
|
22
|
-
export declare type
|
|
22
|
+
export declare type IThis = ITokenizer;
|
|
23
|
+
export declare type ITokenizerProps = Partial<IBaseInlineTokenizerProps>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yozora/tokenizer-emphasis",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-alpha.1",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "guanghechen",
|
|
6
6
|
"url": "https://github.com/guanghechen/"
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"test": "cross-env TS_NODE_FILES=true jest --config ../../jest.config.js --rootDir ."
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@yozora/ast": "^
|
|
39
|
-
"@yozora/character": "^
|
|
40
|
-
"@yozora/core-tokenizer": "^
|
|
38
|
+
"@yozora/ast": "^2.0.0-alpha.1",
|
|
39
|
+
"@yozora/character": "^2.0.0-alpha.1",
|
|
40
|
+
"@yozora/core-tokenizer": "^2.0.0-alpha.1"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "86202e1d2b03ccfc2ab030517d9d314f7aee7666"
|
|
43
43
|
}
|