52 lines
1.2 KiB
TypeScript
52 lines
1.2 KiB
TypeScript
/**
|
|
* Parse destinations.
|
|
*
|
|
* ###### Examples
|
|
*
|
|
* ```markdown
|
|
* <a>
|
|
* <a\>b>
|
|
* <a b>
|
|
* <a)>
|
|
* a
|
|
* a\)b
|
|
* a(b)c
|
|
* a(b)
|
|
* ```
|
|
*
|
|
* @param {Effects} effects
|
|
* Context.
|
|
* @param {State} ok
|
|
* State switched to when successful.
|
|
* @param {State} nok
|
|
* State switched to when unsuccessful.
|
|
* @param {TokenType} type
|
|
* Type for whole (`<a>` or `b`).
|
|
* @param {TokenType} literalType
|
|
* Type when enclosed (`<a>`).
|
|
* @param {TokenType} literalMarkerType
|
|
* Type for enclosing (`<` and `>`).
|
|
* @param {TokenType} rawType
|
|
* Type when not enclosed (`b`).
|
|
* @param {TokenType} stringType
|
|
* Type for the value (`a` or `b`).
|
|
* @param {number | undefined} [max=Infinity]
|
|
* Depth of nested parens (inclusive).
|
|
* @returns {State}
|
|
* Start state.
|
|
*/
|
|
export function factoryDestination(
|
|
effects: Effects,
|
|
ok: State,
|
|
nok: State,
|
|
type: TokenType,
|
|
literalType: TokenType,
|
|
literalMarkerType: TokenType,
|
|
rawType: TokenType,
|
|
stringType: TokenType,
|
|
max?: number | undefined
|
|
): State
|
|
export type Effects = import('micromark-util-types').Effects
|
|
export type State = import('micromark-util-types').State
|
|
export type TokenType = import('micromark-util-types').TokenType
|