完成世界书、骰子、apiconfig页面处理
This commit is contained in:
169
frontend/node_modules/micromark-factory-title/dev/index.js
generated
vendored
Normal file
169
frontend/node_modules/micromark-factory-title/dev/index.js
generated
vendored
Normal file
@@ -0,0 +1,169 @@
|
||||
/**
|
||||
* @import {
|
||||
* Code,
|
||||
* Effects,
|
||||
* State,
|
||||
* TokenType
|
||||
* } from 'micromark-util-types'
|
||||
*/
|
||||
|
||||
import {factorySpace} from 'micromark-factory-space'
|
||||
import {markdownLineEnding} from 'micromark-util-character'
|
||||
import {codes, constants, types} from 'micromark-util-symbol'
|
||||
|
||||
/**
|
||||
* Parse titles.
|
||||
*
|
||||
* ###### Examples
|
||||
*
|
||||
* ```markdown
|
||||
* "a"
|
||||
* 'b'
|
||||
* (c)
|
||||
* "a
|
||||
* b"
|
||||
* 'a
|
||||
* b'
|
||||
* (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 of the whole title (`"a"`, `'b'`, `(c)`).
|
||||
* @param {TokenType} markerType
|
||||
* Type for the markers (`"`, `'`, `(`, and `)`).
|
||||
* @param {TokenType} stringType
|
||||
* Type for the value (`a`).
|
||||
* @returns {State}
|
||||
* Start state.
|
||||
*/
|
||||
export function factoryTitle(effects, ok, nok, type, markerType, stringType) {
|
||||
/** @type {NonNullable<Code>} */
|
||||
let marker
|
||||
|
||||
return start
|
||||
|
||||
/**
|
||||
* Start of title.
|
||||
*
|
||||
* ```markdown
|
||||
* > | "a"
|
||||
* ^
|
||||
* ```
|
||||
*
|
||||
* @type {State}
|
||||
*/
|
||||
function start(code) {
|
||||
if (
|
||||
code === codes.quotationMark ||
|
||||
code === codes.apostrophe ||
|
||||
code === codes.leftParenthesis
|
||||
) {
|
||||
effects.enter(type)
|
||||
effects.enter(markerType)
|
||||
effects.consume(code)
|
||||
effects.exit(markerType)
|
||||
marker = code === codes.leftParenthesis ? codes.rightParenthesis : code
|
||||
return begin
|
||||
}
|
||||
|
||||
return nok(code)
|
||||
}
|
||||
|
||||
/**
|
||||
* After opening marker.
|
||||
*
|
||||
* This is also used at the closing marker.
|
||||
*
|
||||
* ```markdown
|
||||
* > | "a"
|
||||
* ^
|
||||
* ```
|
||||
*
|
||||
* @type {State}
|
||||
*/
|
||||
function begin(code) {
|
||||
if (code === marker) {
|
||||
effects.enter(markerType)
|
||||
effects.consume(code)
|
||||
effects.exit(markerType)
|
||||
effects.exit(type)
|
||||
return ok
|
||||
}
|
||||
|
||||
effects.enter(stringType)
|
||||
return atBreak(code)
|
||||
}
|
||||
|
||||
/**
|
||||
* At something, before something else.
|
||||
*
|
||||
* ```markdown
|
||||
* > | "a"
|
||||
* ^
|
||||
* ```
|
||||
*
|
||||
* @type {State}
|
||||
*/
|
||||
function atBreak(code) {
|
||||
if (code === marker) {
|
||||
effects.exit(stringType)
|
||||
return begin(marker)
|
||||
}
|
||||
|
||||
if (code === codes.eof) {
|
||||
return nok(code)
|
||||
}
|
||||
|
||||
// Note: blank lines can’t exist in content.
|
||||
if (markdownLineEnding(code)) {
|
||||
// To do: use `space_or_tab_eol_with_options`, connect.
|
||||
effects.enter(types.lineEnding)
|
||||
effects.consume(code)
|
||||
effects.exit(types.lineEnding)
|
||||
return factorySpace(effects, atBreak, types.linePrefix)
|
||||
}
|
||||
|
||||
effects.enter(types.chunkString, {contentType: constants.contentTypeString})
|
||||
return inside(code)
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @type {State}
|
||||
*/
|
||||
function inside(code) {
|
||||
if (code === marker || code === codes.eof || markdownLineEnding(code)) {
|
||||
effects.exit(types.chunkString)
|
||||
return atBreak(code)
|
||||
}
|
||||
|
||||
effects.consume(code)
|
||||
return code === codes.backslash ? escape : inside
|
||||
}
|
||||
|
||||
/**
|
||||
* After `\`, at a special character.
|
||||
*
|
||||
* ```markdown
|
||||
* > | "a\*b"
|
||||
* ^
|
||||
* ```
|
||||
*
|
||||
* @type {State}
|
||||
*/
|
||||
function escape(code) {
|
||||
if (code === marker || code === codes.backslash) {
|
||||
effects.consume(code)
|
||||
return inside
|
||||
}
|
||||
|
||||
return inside(code)
|
||||
}
|
||||
}
|
||||
58
frontend/node_modules/micromark-factory-title/package.json
generated
vendored
Normal file
58
frontend/node_modules/micromark-factory-title/package.json
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"name": "micromark-factory-title",
|
||||
"version": "2.0.1",
|
||||
"description": "micromark factory to parse markdown titles (found in resources, definitions)",
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"micromark",
|
||||
"factory",
|
||||
"title"
|
||||
],
|
||||
"repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-factory-title",
|
||||
"bugs": "https://github.com/micromark/micromark/issues",
|
||||
"funding": [
|
||||
{
|
||||
"type": "GitHub Sponsors",
|
||||
"url": "https://github.com/sponsors/unifiedjs"
|
||||
},
|
||||
{
|
||||
"type": "OpenCollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
],
|
||||
"author": "Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)",
|
||||
"contributors": [
|
||||
"Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"files": [
|
||||
"dev/",
|
||||
"index.d.ts.map",
|
||||
"index.d.ts",
|
||||
"index.js"
|
||||
],
|
||||
"exports": {
|
||||
"development": "./dev/index.js",
|
||||
"default": "./index.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"micromark-factory-space": "^2.0.0",
|
||||
"micromark-util-character": "^2.0.0",
|
||||
"micromark-util-symbol": "^2.0.0",
|
||||
"micromark-util-types": "^2.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "micromark-build"
|
||||
},
|
||||
"xo": {
|
||||
"envs": [
|
||||
"shared-node-browser"
|
||||
],
|
||||
"prettier": true,
|
||||
"rules": {
|
||||
"max-params": "off",
|
||||
"unicorn/prefer-code-point": "off"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user