42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
|
/**
|
||
|
* Parse spaces and tabs.
|
||
|
*
|
||
|
* There is no `nok` parameter:
|
||
|
*
|
||
|
* * spaces in markdown are often optional, in which case this factory can be
|
||
|
* used and `ok` will be switched to whether spaces were found or not
|
||
|
* * one line ending or space can be detected with `markdownSpace(code)` right
|
||
|
* before using `factorySpace`
|
||
|
*
|
||
|
* ###### Examples
|
||
|
*
|
||
|
* Where `␉` represents a tab (plus how much it expands) and `␠` represents a
|
||
|
* single space.
|
||
|
*
|
||
|
* ```markdown
|
||
|
* ␉
|
||
|
* ␠␠␠␠
|
||
|
* ␉␠
|
||
|
* ```
|
||
|
*
|
||
|
* @param {Effects} effects
|
||
|
* Context.
|
||
|
* @param {State} ok
|
||
|
* State switched to when successful.
|
||
|
* @param {TokenType} type
|
||
|
* Type (`' \t'`).
|
||
|
* @param {number | undefined} [max=Infinity]
|
||
|
* Max (exclusive).
|
||
|
* @returns {State}
|
||
|
* Start state.
|
||
|
*/
|
||
|
export function factorySpace(
|
||
|
effects: Effects,
|
||
|
ok: State,
|
||
|
type: 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
|