@yozora/core-parser
v2.4.0
Published
Readme
DefaultParser is the tokenizer orchestration core. It has no built-in tokenizers.
Install
npm install --save @yozora/core-parserUsage
import { DefaultParser } from '@yozora/core-parser'
import IndentedCodeTokenizer from '@yozora/tokenizer-indented-code'
import InlineCodeTokenizer from '@yozora/tokenizer-inline-code'
import ParagraphTokenizer from '@yozora/tokenizer-paragraph'
import TextTokenizer from '@yozora/tokenizer-text'
const parser = new DefaultParser()
.useFallbackTokenizer(new ParagraphTokenizer())
.useFallbackTokenizer(new TextTokenizer())
.useTokenizer(new IndentedCodeTokenizer())
.useTokenizer(new InlineCodeTokenizer())
parser.parse('source Markdown content')
parser.parse(['source ', 'chunks'])Constructor options
| Name | Type | Required | Default | Description |
| :------------------------ | :------------------------- | :------- | :-------- | :--------------------------------------- |
| blockFallbackTokenizer | IBlockFallbackTokenizer | No | None | Fallback for unmatched block content |
| inlineFallbackTokenizer | IInlineFallbackTokenizer | No | None | Fallback for unmatched inline content |
| defaultParseOptions | IParseOptions | No | See below | Default options for every parse() call |
IParseOptions
| Name | Type | Required | Default | Description |
| :-------------------------- | :------------------------ | :------- | :---------------------- | :--------------------------------------------- |
| shouldReservePosition | boolean | No | false | Include source positions in generated nodes |
| presetDefinitions | Association[] | No | [] | Preset link-reference identifiers |
| presetFootnoteDefinitions | Association[] | No | [] | Preset footnote-reference identifiers |
| formatUrl | (url: string) => string | No | encodeLinkDestination | Format URLs stored in generated resource nodes |
Registration API
| Method | Purpose |
| :----------------------- | :------------------------------------------ |
| useTokenizer | Register a tokenizer |
| replaceTokenizer | Replace a tokenizer with the same name |
| unmountTokenizer | Remove a tokenizer |
| useFallbackTokenizer | Register or replace a block/inline fallback |
| setDefaultParseOptions | Replace the defaults used by parse() |
| parse | Convert string or iterable input to an AST |
