41 lines
1.7 KiB
TypeScript
41 lines
1.7 KiB
TypeScript
|
/**
|
|||
|
* Create a tokenizer.
|
|||
|
* Tokenizers deal with one type of data (e.g., containers, flow, text).
|
|||
|
* The parser is the object dealing with it all.
|
|||
|
* `initialize` works like other constructs, except that only its `tokenize`
|
|||
|
* function is used, in which case it doesn’t receive an `ok` or `nok`.
|
|||
|
* `from` can be given to set the point before the first character, although
|
|||
|
* when further lines are indented, they must be set with `defineSkip`.
|
|||
|
*
|
|||
|
* @param {ParseContext} parser
|
|||
|
* @param {InitialConstruct} initialize
|
|||
|
* @param {Omit<Point, '_bufferIndex' | '_index'> | undefined} [from]
|
|||
|
* @returns {TokenizeContext}
|
|||
|
*/
|
|||
|
export function createTokenizer(
|
|||
|
parser: ParseContext,
|
|||
|
initialize: InitialConstruct,
|
|||
|
from?: Omit<Point, '_bufferIndex' | '_index'> | undefined
|
|||
|
): TokenizeContext
|
|||
|
export type Chunk = import('micromark-util-types').Chunk
|
|||
|
export type Code = import('micromark-util-types').Code
|
|||
|
export type Construct = import('micromark-util-types').Construct
|
|||
|
export type ConstructRecord = import('micromark-util-types').ConstructRecord
|
|||
|
export type Effects = import('micromark-util-types').Effects
|
|||
|
export type InitialConstruct = import('micromark-util-types').InitialConstruct
|
|||
|
export type ParseContext = import('micromark-util-types').ParseContext
|
|||
|
export type Point = import('micromark-util-types').Point
|
|||
|
export type State = import('micromark-util-types').State
|
|||
|
export type Token = import('micromark-util-types').Token
|
|||
|
export type TokenType = import('micromark-util-types').TokenType
|
|||
|
export type TokenizeContext = import('micromark-util-types').TokenizeContext
|
|||
|
export type Restore = () => undefined
|
|||
|
export type Info = {
|
|||
|
restore: Restore
|
|||
|
from: number
|
|||
|
}
|
|||
|
/**
|
|||
|
* Handle a successful run.
|
|||
|
*/
|
|||
|
export type ReturnHandle = (construct: Construct, info: Info) => undefined
|