mirror of
https://github.com/sern-handler/website
synced 2026-06-28 02:32:23 +00:00
feat: migrate to starlight
This commit is contained in:
35
node_modules/collapse-white-space/index.d.ts
generated
vendored
Normal file
35
node_modules/collapse-white-space/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* Collapse white space.
|
||||
*
|
||||
* @param {string} value
|
||||
* Value to collapse white space in.
|
||||
* @param {Style|Options} [options='js']
|
||||
* Configuration.
|
||||
* @returns {string}
|
||||
* Value with collapsed white space.
|
||||
*/
|
||||
export function collapseWhiteSpace(
|
||||
value: string,
|
||||
options?: Style | Options | undefined
|
||||
): string
|
||||
export type Style = 'html' | 'js'
|
||||
/**
|
||||
* Configuration.
|
||||
*/
|
||||
export type Options = {
|
||||
/**
|
||||
* Style of white space to support.
|
||||
*/
|
||||
style?: Style | undefined
|
||||
/**
|
||||
* Whether to collapse white space containing a line ending to that line
|
||||
* ending.
|
||||
* The default is to collapse to a single space.
|
||||
*/
|
||||
preserveLineEndings?: boolean | undefined
|
||||
/**
|
||||
* Whether to drop white space at the start and end of `value`.
|
||||
* The default is to keep it.
|
||||
*/
|
||||
trim?: boolean | undefined
|
||||
}
|
||||
86
node_modules/collapse-white-space/index.js
generated
vendored
Normal file
86
node_modules/collapse-white-space/index.js
generated
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
/**
|
||||
* @typedef {'html'|'js'} Style
|
||||
*
|
||||
* @typedef Options
|
||||
* Configuration.
|
||||
* @property {Style} [style='js']
|
||||
* Style of white space to support.
|
||||
* @property {boolean} [preserveLineEndings=false]
|
||||
* Whether to collapse white space containing a line ending to that line
|
||||
* ending.
|
||||
* The default is to collapse to a single space.
|
||||
* @property {boolean} [trim=false]
|
||||
* Whether to drop white space at the start and end of `value`.
|
||||
* The default is to keep it.
|
||||
*/
|
||||
|
||||
const js = /\s+/g
|
||||
const html = /[\t\n\v\f\r ]+/g
|
||||
|
||||
/**
|
||||
* Collapse white space.
|
||||
*
|
||||
* @param {string} value
|
||||
* Value to collapse white space in.
|
||||
* @param {Style|Options} [options='js']
|
||||
* Configuration.
|
||||
* @returns {string}
|
||||
* Value with collapsed white space.
|
||||
*/
|
||||
export function collapseWhiteSpace(value, options) {
|
||||
if (!options) {
|
||||
options = {}
|
||||
} else if (typeof options === 'string') {
|
||||
options = {style: options}
|
||||
}
|
||||
|
||||
const replace = options.preserveLineEndings ? replaceLineEnding : replaceSpace
|
||||
|
||||
return String(value).replace(
|
||||
options.style === 'html' ? html : js,
|
||||
options.trim ? trimFactory(replace) : replace
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace white space with a line ending as that line ending and otherwise a
|
||||
* space.
|
||||
*
|
||||
* @param {string} value
|
||||
* @returns {string}
|
||||
*/
|
||||
function replaceLineEnding(value) {
|
||||
const match = /\r?\n|\r/.exec(value)
|
||||
return match ? match[0] : ' '
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace white space with a space.
|
||||
*
|
||||
* @returns {string}
|
||||
*/
|
||||
function replaceSpace() {
|
||||
return ' '
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {(value: string) => string} replace
|
||||
*/
|
||||
function trimFactory(replace) {
|
||||
return dropOrReplace
|
||||
|
||||
/**
|
||||
* Replace white space with nothing if it starts or ends the string.
|
||||
* Calls `replace` otherwise.
|
||||
*
|
||||
* @param {string} value
|
||||
* @param {number} index
|
||||
* @param {string} all
|
||||
* @returns {string}
|
||||
*/
|
||||
function dropOrReplace(value, index, all) {
|
||||
return index === 0 || index + value.length === all.length
|
||||
? ''
|
||||
: replace(value)
|
||||
}
|
||||
}
|
||||
22
node_modules/collapse-white-space/license
generated
vendored
Normal file
22
node_modules/collapse-white-space/license
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2015 Titus Wormer <tituswormer@gmail.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
'Software'), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
71
node_modules/collapse-white-space/package.json
generated
vendored
Normal file
71
node_modules/collapse-white-space/package.json
generated
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"name": "collapse-white-space",
|
||||
"version": "2.1.0",
|
||||
"description": "Collapse white space",
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"collapse",
|
||||
"white",
|
||||
"space"
|
||||
],
|
||||
"repository": "wooorm/collapse-white-space",
|
||||
"bugs": "https://github.com/wooorm/collapse-white-space/issues",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
},
|
||||
"author": "Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)",
|
||||
"contributors": [
|
||||
"Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"index.js"
|
||||
],
|
||||
"devDependencies": {
|
||||
"@types/tape": "^4.0.0",
|
||||
"c8": "^7.0.0",
|
||||
"prettier": "^2.0.0",
|
||||
"remark-cli": "^10.0.0",
|
||||
"remark-preset-wooorm": "^9.0.0",
|
||||
"rimraf": "^3.0.0",
|
||||
"tape": "^5.0.0",
|
||||
"type-coverage": "^2.0.0",
|
||||
"typescript": "^4.0.0",
|
||||
"xo": "^0.45.0"
|
||||
},
|
||||
"scripts": {
|
||||
"prepublishOnly": "npm run build && npm run format",
|
||||
"build": "rimraf \"test/**/*.d.ts\" \"*.d.ts\" && tsc && type-coverage",
|
||||
"format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix",
|
||||
"test-api": "node --conditions development test.js",
|
||||
"test-coverage": "c8 --check-coverage --branches 100 --functions 100 --lines 100 --statements 100 --reporter lcov npm run test-api",
|
||||
"test": "npm run build && npm run format && npm run test-coverage"
|
||||
},
|
||||
"prettier": {
|
||||
"tabWidth": 2,
|
||||
"useTabs": false,
|
||||
"singleQuote": true,
|
||||
"bracketSpacing": false,
|
||||
"semi": false,
|
||||
"trailingComma": "none"
|
||||
},
|
||||
"xo": {
|
||||
"prettier": true
|
||||
},
|
||||
"remarkConfig": {
|
||||
"plugins": [
|
||||
"preset-wooorm"
|
||||
]
|
||||
},
|
||||
"typeCoverage": {
|
||||
"atLeast": 100,
|
||||
"detail": true,
|
||||
"strict": true,
|
||||
"ignoreCatch": true
|
||||
}
|
||||
}
|
||||
172
node_modules/collapse-white-space/readme.md
generated
vendored
Normal file
172
node_modules/collapse-white-space/readme.md
generated
vendored
Normal file
@@ -0,0 +1,172 @@
|
||||
# collapse-white-space
|
||||
|
||||
[![Build][build-badge]][build]
|
||||
[![Coverage][coverage-badge]][coverage]
|
||||
[![Downloads][downloads-badge]][downloads]
|
||||
[![Size][size-badge]][size]
|
||||
|
||||
Collapse white space.
|
||||
|
||||
## Contents
|
||||
|
||||
* [What is this?](#what-is-this)
|
||||
* [When should I use this?](#when-should-i-use-this)
|
||||
* [Install](#install)
|
||||
* [Use](#use)
|
||||
* [API](#api)
|
||||
* [`collapseWhiteSpace(value[, options|style])`](#collapsewhitespacevalue-optionsstyle)
|
||||
* [Types](#types)
|
||||
* [Compatibility](#compatibility)
|
||||
* [Security](#security)
|
||||
* [Related](#related)
|
||||
* [Contribute](#contribute)
|
||||
* [License](#license)
|
||||
|
||||
## What is this?
|
||||
|
||||
This is a small package that collapses multiple white space characters into one.
|
||||
|
||||
## When should I use this?
|
||||
|
||||
You can use this package if you want to HTML or JavaScript (default) white space
|
||||
to a single character.
|
||||
You can optionally drop initial and final white space.
|
||||
By default it collapses to a single space, but optionally line endings can be
|
||||
preserved.
|
||||
|
||||
## Install
|
||||
|
||||
This package is [ESM only][esm].
|
||||
In Node.js (version 12.20+, 14.14+, or 16.0+), install with [npm][]:
|
||||
|
||||
```sh
|
||||
npm install collapse-white-space
|
||||
```
|
||||
|
||||
In Deno with [Skypack][]:
|
||||
|
||||
```js
|
||||
import {collapseWhiteSpace} from 'https://cdn.skypack.dev/collapse-white-space@2?dts'
|
||||
```
|
||||
|
||||
In browsers with [Skypack][]:
|
||||
|
||||
```html
|
||||
<script type="module">
|
||||
import {collapseWhiteSpace} from 'https://cdn.skypack.dev/collapse-white-space@2?min'
|
||||
</script>
|
||||
```
|
||||
|
||||
## Use
|
||||
|
||||
```js
|
||||
import {collapseWhiteSpace} from 'collapse-white-space'
|
||||
|
||||
collapseWhiteSpace('\tfoo \n\tbar \t\r\nbaz') //=> ' foo bar baz'
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
This package exports the following identifier: `collapseWhiteSpace`.
|
||||
There is no default export.
|
||||
|
||||
### `collapseWhiteSpace(value[, options|style])`
|
||||
|
||||
Collapse white space in `value` (`string`).
|
||||
|
||||
##### `style`
|
||||
|
||||
Treated as `options.style`.
|
||||
|
||||
##### `options`
|
||||
|
||||
Configuration.
|
||||
|
||||
###### `options.style`
|
||||
|
||||
Style of white space to support (`'html'` or `'js'`, default: `'js'`).
|
||||
JavaScript white space matches the pattern `\s+`.
|
||||
HTML white space matches `[\t\n\v\f\r ]`.
|
||||
|
||||
###### `options.preserveLineEndings`
|
||||
|
||||
Whether to collapse white space containing a line ending to that line ending
|
||||
(`boolean`, default: `false`).
|
||||
The default is to collapse to a single space.
|
||||
Line endings matches the pattern `\r?\n|\r`.
|
||||
|
||||
###### `options.trim`
|
||||
|
||||
Whether to drop white space at the start and end of `value` (`boolean`, default:
|
||||
`false`).
|
||||
The default is to keep it.
|
||||
|
||||
###### Returns
|
||||
|
||||
`string` – value with collapsed white space.
|
||||
|
||||
## Types
|
||||
|
||||
This package is fully typed with [TypeScript][].
|
||||
It exports `Options` and `Style` types, which specify the interface of the
|
||||
accepted options.
|
||||
|
||||
## Compatibility
|
||||
|
||||
This package is at least compatible with all maintained versions of Node.js.
|
||||
As of now, that is Node.js 12.20+, 14.14+, and 16.0+.
|
||||
It also works in Deno and modern browsers.
|
||||
|
||||
## Security
|
||||
|
||||
This package is safe.
|
||||
|
||||
## Related
|
||||
|
||||
* [`wooorm/is-whitespace-character`](https://github.com/wooorm/is-whitespace-character)
|
||||
— check if a character is a white space character
|
||||
* [`wooorm/detab`](https://github.com/wooorm/detab)
|
||||
— convert tabs to spaces
|
||||
* [`wooorm/trim-lines`](https://github.com/wooorm/trim-lines)
|
||||
— remove tabs and spaces around line-breaks
|
||||
|
||||
## Contribute
|
||||
|
||||
Yes please!
|
||||
See [How to Contribute to Open Source][contribute].
|
||||
|
||||
## License
|
||||
|
||||
[MIT][license] © [Titus Wormer][author]
|
||||
|
||||
<!-- Definitions -->
|
||||
|
||||
[build-badge]: https://github.com/wooorm/collapse-white-space/workflows/main/badge.svg
|
||||
|
||||
[build]: https://github.com/wooorm/collapse-white-space/actions
|
||||
|
||||
[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/collapse-white-space.svg
|
||||
|
||||
[coverage]: https://codecov.io/github/wooorm/collapse-white-space
|
||||
|
||||
[downloads-badge]: https://img.shields.io/npm/dm/collapse-white-space.svg
|
||||
|
||||
[downloads]: https://www.npmjs.com/package/collapse-white-space
|
||||
|
||||
[size-badge]: https://img.shields.io/bundlephobia/minzip/collapse-white-space.svg
|
||||
|
||||
[size]: https://bundlephobia.com/result?p=collapse-white-space
|
||||
|
||||
[npm]: https://docs.npmjs.com/cli/install
|
||||
|
||||
[skypack]: https://www.skypack.dev
|
||||
|
||||
[license]: license
|
||||
|
||||
[author]: https://wooorm.com
|
||||
|
||||
[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
|
||||
|
||||
[typescript]: https://www.typescriptlang.org
|
||||
|
||||
[contribute]: https://opensource.guide/how-to-contribute/
|
||||
Reference in New Issue
Block a user