@yozora/tokenizer-ecma-import
v2.4.0
Published
Downloads
22,580
Readme
@yozora/tokenizer-ecma-import parses supported single-line ECMAScript import declarations into
EcmaImport nodes. Side-effect, default, named, and aliased named imports are supported:
import '@yozora/parser'
import Parser from '@yozora/parser'
import Parser, { YozoraParserProps } from '@yozora/parser'
import { YozoraParserProps } from '@yozora/parser'
import { YozoraParser, YozoraParser as Parser } from '@yozora/parser'Namespace, type-only, and multiline imports, identifiers containing escape sequences, and string-named imports are not supported:
import * as Parser from '@yozora/parser'
import type Parser from '@yozora/parser'
import {
Parser
} from '@yozora/parser'
import \u0050arser from '@yozora/parser'
import { 'parser-name' as Parser } from '@yozora/parser'See documentation for details.
Install
npm install --save @yozora/tokenizer-ecma-importUsage
@yozora/tokenizer-ecma-import is built into @yozora/parser.
With DefaultParser
A tokenizer must be registered with an IParser before use.
import { DefaultParser } from '@yozora/core-parser'
import ParagraphTokenizer from '@yozora/tokenizer-paragraph'
import TextTokenizer from '@yozora/tokenizer-text'
import EcmaImportTokenizer from '@yozora/tokenizer-ecma-import'
const parser = new DefaultParser()
.useFallbackTokenizer(new ParagraphTokenizer())
.useFallbackTokenizer(new TextTokenizer())
.useTokenizer(new EcmaImportTokenizer())
parser.parse(`
import { Parser } from '@yozora/parser'
import { Button } from '@material-ui/core'
import Markdown from '@yozora/react-markdown'
`)With @yozora/parser
import YozoraParser from '@yozora/parser'
const parser = new YozoraParser()
parser.parse(`
import { Parser } from '@yozora/parser'
import { Button } from '@material-ui/core'
import Markdown from '@yozora/react-markdown'
`)With @yozora/parser-gfm
import GfmParser from '@yozora/parser-gfm'
import EcmaImportTokenizer from '@yozora/tokenizer-ecma-import'
const parser = new GfmParser()
parser.useTokenizer(new EcmaImportTokenizer())
parser.parse(`
import { Parser } from '@yozora/parser'
import { Button } from '@material-ui/core'
import Markdown from '@yozora/react-markdown'
`)With @yozora/parser-gfm-ex
import GfmExParser from '@yozora/parser-gfm-ex'
import EcmaImportTokenizer from '@yozora/tokenizer-ecma-import'
const parser = new GfmExParser()
parser.useTokenizer(new EcmaImportTokenizer())
parser.parse(`
import { Parser } from '@yozora/parser'
import { Button } from '@material-ui/core'
import Markdown from '@yozora/react-markdown'
`)Options
| Name | Type | Required | Default |
| :--------- | :------- | :------- | :-------------------------------- |
| name | string | No | "@yozora/tokenizer-ecma-import" |
| priority | number | No | TokenizerPriority.ATOMIC |
name: Unique tokenizer name. Generated tokens retain it so the parser can dispatch later phases to the same tokenizer.priority: Processing priority. Tokenizers with higher values run first. During block matching, a higher-priority tokenizer can interrupt a lower-priority tokenizer.
