🎉 initiate project *astro_rewrite*
This commit is contained in:
parent
ffd4d5e86c
commit
2ba37bfbe3
8658 changed files with 2268794 additions and 2538 deletions
43
node_modules/micromark-factory-space/dev/index.d.ts
generated
vendored
Normal file
43
node_modules/micromark-factory-space/dev/index.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/**
|
||||
* 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
|
||||
* Start state.
|
||||
*/
|
||||
export function factorySpace(
|
||||
effects: Effects,
|
||||
ok: State,
|
||||
type: TokenType,
|
||||
max?: number | undefined
|
||||
): (
|
||||
code: import('micromark-util-types').Code
|
||||
) => void | import('micromark-util-types').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
|
||||
69
node_modules/micromark-factory-space/dev/index.js
generated
vendored
Normal file
69
node_modules/micromark-factory-space/dev/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
/**
|
||||
* @typedef {import('micromark-util-types').Effects} Effects
|
||||
* @typedef {import('micromark-util-types').State} State
|
||||
* @typedef {import('micromark-util-types').TokenType} TokenType
|
||||
*/
|
||||
|
||||
import {markdownSpace} from 'micromark-util-character'
|
||||
|
||||
// To do: implement `spaceOrTab`, `spaceOrTabMinMax`, `spaceOrTabWithOptions`.
|
||||
|
||||
/**
|
||||
* 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
|
||||
* Start state.
|
||||
*/
|
||||
export function factorySpace(effects, ok, type, max) {
|
||||
const limit = max ? max - 1 : Number.POSITIVE_INFINITY
|
||||
let size = 0
|
||||
|
||||
return start
|
||||
|
||||
/** @type {State} */
|
||||
function start(code) {
|
||||
if (markdownSpace(code)) {
|
||||
effects.enter(type)
|
||||
return prefix(code)
|
||||
}
|
||||
|
||||
return ok(code)
|
||||
}
|
||||
|
||||
/** @type {State} */
|
||||
function prefix(code) {
|
||||
if (markdownSpace(code) && size++ < limit) {
|
||||
effects.consume(code)
|
||||
return prefix
|
||||
}
|
||||
|
||||
effects.exit(type)
|
||||
return ok(code)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue