extra-parser 0.3.0 → 0.5.0
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 +16 -30
- package/lib/create-token-pattern-from-regexp.d.ts +1 -2
- package/lib/create-token-pattern-from-regexp.js +1 -1
- package/lib/create-token-pattern-from-regexp.js.map +1 -1
- package/lib/parse.d.ts +1 -1
- package/lib/parse.js.map +1 -1
- package/lib/tokenize.d.ts +1 -1
- package/lib/tokenize.js.map +1 -1
- package/lib/types.d.ts +8 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,70 +8,56 @@ yarn add extra-parser
|
|
|
8
8
|
|
|
9
9
|
## API
|
|
10
10
|
```ts
|
|
11
|
-
interface IToken
|
|
12
|
-
|
|
11
|
+
interface IToken {
|
|
12
|
+
tokenType: string
|
|
13
13
|
value: string
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
interface INode
|
|
17
|
-
|
|
16
|
+
interface INode {
|
|
17
|
+
nodeType: string
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
interface ITokenPatternMatch<Token extends IToken
|
|
20
|
+
interface ITokenPatternMatch<Token extends IToken> {
|
|
21
21
|
consumed: number
|
|
22
22
|
token: Token
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
interface INodePatternMatch<Node extends INode
|
|
25
|
+
interface INodePatternMatch<Node extends INode> {
|
|
26
26
|
consumed: number
|
|
27
27
|
node: Node
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
interface ITokenPattern<Token extends IToken
|
|
30
|
+
interface ITokenPattern<Token extends IToken = IToken> {
|
|
31
31
|
(text: string): Awaitable<ITokenPatternMatch<Token> | Falsy>
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
interface INodePattern<
|
|
35
|
-
Token extends IToken<string>
|
|
36
|
-
, Node extends INode<string>
|
|
37
|
-
> {
|
|
34
|
+
interface INodePattern<Token extends IToken = IToken, Node extends INode = INode> {
|
|
38
35
|
(tokens: ReadonlyArray<Token>): Awaitable<INodePatternMatch<Node> | Falsy>
|
|
39
36
|
}
|
|
40
37
|
```
|
|
41
38
|
|
|
42
39
|
### tokenize
|
|
43
40
|
```ts
|
|
44
|
-
function tokenize<
|
|
45
|
-
Token extends IToken<string>
|
|
46
|
-
, TokenPattern extends ITokenPattern<Token> = ITokenPattern<Token>
|
|
47
|
-
>(
|
|
41
|
+
function tokenize<Token extends IToken = IToken>(
|
|
48
42
|
text: string
|
|
49
|
-
, patterns: Array<
|
|
43
|
+
, patterns: Array<ITokenPattern<Token>>
|
|
50
44
|
): AsyncIterableIterator<Token>
|
|
51
45
|
```
|
|
52
46
|
|
|
53
47
|
### parse
|
|
54
48
|
```ts
|
|
55
|
-
function parse<
|
|
56
|
-
Token
|
|
57
|
-
,
|
|
58
|
-
, NodePattern extends INodePattern<Token, Node> = INodePattern<Token, Node>
|
|
59
|
-
>(
|
|
60
|
-
tokens: Array<Token>
|
|
61
|
-
, patterns: Array<NodePattern>
|
|
49
|
+
function parse<Token extends IToken = IToken, Node extends INode = INode>(
|
|
50
|
+
tokens: Token[]
|
|
51
|
+
, patterns: Array<INodePattern<Token, Node>>
|
|
62
52
|
): AsyncIterableIterator<Node>
|
|
63
53
|
```
|
|
64
54
|
|
|
65
55
|
### createTokenPatternFromRegExp
|
|
66
56
|
```ts
|
|
67
|
-
function createTokenPatternFromRegExp<
|
|
68
|
-
tokenType:
|
|
57
|
+
function createTokenPatternFromRegExp<Token extends IToken>(
|
|
58
|
+
tokenType: Token['tokenType']
|
|
69
59
|
, regExp: RegExp
|
|
70
|
-
): ITokenPattern<IToken
|
|
71
|
-
function createTokenPatternFromRegExp<Token extends IToken<string>>(
|
|
72
|
-
tokenType: Token['type']
|
|
73
|
-
, regExp: RegExp
|
|
74
|
-
): ITokenPattern<IToken<Token['type']>>
|
|
60
|
+
): ITokenPattern<IToken>
|
|
75
61
|
```
|
|
76
62
|
|
|
77
63
|
## FAQ
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
import { IToken, ITokenPattern } from './types';
|
|
2
|
-
export declare function createTokenPatternFromRegExp<
|
|
3
|
-
export declare function createTokenPatternFromRegExp<Token extends IToken<string>>(tokenType: Token['type'], regExp: RegExp): ITokenPattern<IToken<Token['type']>>;
|
|
2
|
+
export declare function createTokenPatternFromRegExp<Token extends IToken>(tokenType: Token['tokenType'], regExp: RegExp): ITokenPattern<IToken>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-token-pattern-from-regexp.js","sourceRoot":"","sources":["../src/create-token-pattern-from-regexp.ts"],"names":[],"mappings":";;;AACA,6CAA4C;
|
|
1
|
+
{"version":3,"file":"create-token-pattern-from-regexp.js","sourceRoot":"","sources":["../src/create-token-pattern-from-regexp.ts"],"names":[],"mappings":";;;AACA,6CAA4C;AAG5C,SAAgB,4BAA4B,CAC1C,SAA6B,EAC7B,MAAc;IAEd,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAE1D,OAAO,CAAC,IAAY,EAAsC,EAAE;QAC1D,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,IAAA,gBAAQ,EAAC,MAAM,CAAC,EAAE;YACpB,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAA;YAC5B,OAAO;gBACL,QAAQ,EAAE,WAAW,CAAC,MAAM;gBAC5B,KAAK,EAAE;oBACL,SAAS,EAAE,SAAS;oBACpB,KAAK,EAAE,WAAW;iBACnB;aACF,CAAA;SACF;aAAM;YACL,OAAO,KAAK,CAAA;SACb;IACH,CAAC,CAAA;AACH,CAAC;AArBD,oEAqBC;AAED,SAAS,yBAAyB,CAAC,EAAU;IAC3C,OAAO,IAAI,MAAM,CACf,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EACvD,EAAE,CAAC,KAAK,CACT,CAAA;AACH,CAAC"}
|
package/lib/parse.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { IToken, INodePattern, INode } from './types';
|
|
2
|
-
export declare function parse<Token extends IToken
|
|
2
|
+
export declare function parse<Token extends IToken = IToken, Node extends INode = INode>(tokens: Token[], patterns: Array<INodePattern<Token, Node>>): AsyncIterableIterator<Node>;
|
package/lib/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAGxC,KAAK,SAAS,CAAC,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAGxC,KAAK,SAAS,CAAC,CAAC,KAAK,CAC1B,MAAe,EACf,QAA0C;IAE1C,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;QAC9B,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,CAAA;YAC7C,IAAI,IAAA,mBAAS,EAAC,MAAM,CAAC,EAAE;gBACrB,MAAM,MAAM,CAAC,IAAI,CAAA;gBACjB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAA;gBACpB,SAAS,IAAI,CAAA;aACd;SACF;QAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;KAC1E;AACH,CAAC;AAnBD,sBAmBC"}
|
package/lib/tokenize.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ITokenPattern, IToken } from './types';
|
|
2
|
-
export declare function tokenize<Token extends IToken
|
|
2
|
+
export declare function tokenize<Token extends IToken = IToken>(text: string, patterns: Array<ITokenPattern<Token>>): AsyncIterableIterator<Token>;
|
package/lib/tokenize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../src/tokenize.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAGxC,KAAK,SAAS,CAAC,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../src/tokenize.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAGxC,KAAK,SAAS,CAAC,CAAC,QAAQ,CAC7B,IAAY,EACZ,QAAqC;IAErC,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;YAC3C,IAAI,IAAA,mBAAS,EAAC,MAAM,CAAC,EAAE;gBACrB,MAAM,MAAM,CAAC,KAAK,CAAA;gBAClB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAA;gBACpB,SAAS,IAAI,CAAA;aACd;SACF;QAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;KAClE;AACH,CAAC;AAnBD,4BAmBC"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { Falsy, Awaitable } from '@blackglory/prelude';
|
|
2
|
-
export interface IToken
|
|
3
|
-
|
|
2
|
+
export interface IToken {
|
|
3
|
+
tokenType: string;
|
|
4
4
|
value: string;
|
|
5
5
|
}
|
|
6
|
-
export interface INode
|
|
7
|
-
|
|
6
|
+
export interface INode {
|
|
7
|
+
nodeType: string;
|
|
8
8
|
}
|
|
9
|
-
export interface ITokenPatternMatch<Token extends IToken
|
|
9
|
+
export interface ITokenPatternMatch<Token extends IToken> {
|
|
10
10
|
consumed: number;
|
|
11
11
|
token: Token;
|
|
12
12
|
}
|
|
13
|
-
export interface INodePatternMatch<Node extends INode
|
|
13
|
+
export interface INodePatternMatch<Node extends INode> {
|
|
14
14
|
consumed: number;
|
|
15
15
|
node: Node;
|
|
16
16
|
}
|
|
17
|
-
export interface ITokenPattern<Token extends IToken
|
|
17
|
+
export interface ITokenPattern<Token extends IToken = IToken> {
|
|
18
18
|
(text: string): Awaitable<ITokenPatternMatch<Token> | Falsy>;
|
|
19
19
|
}
|
|
20
|
-
export interface INodePattern<Token extends IToken
|
|
20
|
+
export interface INodePattern<Token extends IToken = IToken, Node extends INode = INode> {
|
|
21
21
|
(tokens: ReadonlyArray<Token>): Awaitable<INodePatternMatch<Node> | Falsy>;
|
|
22
22
|
}
|