added doga
This commit is contained in:
24
25_02_24/node_modules/es-escape-html/LICENSE
generated
vendored
Normal file
24
25_02_24/node_modules/es-escape-html/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2012-2013 TJ Holowaychuk
|
||||
Copyright (c) 2015 Andreas Lubbe
|
||||
Copyright (c) 2015 Tiancheng "Timothy" Gu
|
||||
|
||||
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.
|
||||
77
25_02_24/node_modules/es-escape-html/README.md
generated
vendored
Normal file
77
25_02_24/node_modules/es-escape-html/README.md
generated
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
# es-escape-html
|
||||
|
||||
[![NPM Version][npm-version-image]][npm-url]
|
||||
[![NPM Downloads][npm-downloads-image]][npm-url]
|
||||
|
||||
Escape string for use in HTML
|
||||
|
||||
This module exports a single function, `escapeHtml`, that is used to escape
|
||||
a string of content such that it can be interpolated in HTML content.
|
||||
|
||||
## Installation
|
||||
|
||||
This is a [Node.js](https://nodejs.org/en/) module available through the
|
||||
[npm registry](https://www.npmjs.com/). Installation is done using the
|
||||
[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
|
||||
|
||||
```bash
|
||||
$ npm install es-escape-html
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### escapeHtml(string)
|
||||
|
||||
Escape special characters in the given string of text, such that it can be
|
||||
interpolated in HTML content.
|
||||
|
||||
This function will escape the following characters: `"`, `'`, `&`, `<`, and
|
||||
`>`.
|
||||
|
||||
**Note** that the escaped value is only suitable for being interpolated into
|
||||
HTML as the text content of elements in which the tag does not have different
|
||||
escaping mechanisms (it cannot be placed inside `<style>` or `<script>`, for
|
||||
example, as those content bodies are not HTML, but CSS and JavaScript,
|
||||
respectively; these are known as "raw text elements" in the HTML standard).
|
||||
|
||||
**Note** when using the escaped value within a tag, it is only suitable as
|
||||
the value of an attribute, where the value is quoted with either a double
|
||||
quote character (`"`) or a single quote character (`'`).
|
||||
|
||||
## Example
|
||||
|
||||
The `escapeHtml` function is designed to accept a string input of text and
|
||||
return an escaped value to interpolate into HTML.
|
||||
|
||||
```js
|
||||
import { escapeHtml } from "es-escape-html";
|
||||
|
||||
// Example values
|
||||
const desc = "I <b>think</b> this is good.";
|
||||
const fullName = 'John "Johnny" Smith';
|
||||
|
||||
// Example passing in text into a html attribute
|
||||
console.dir(`<input name="full_name" value="${escapeHtml(fullName)}" />`);
|
||||
// -> '<input name="full_name" value="John "Johnny" Smith">'
|
||||
|
||||
// Example passing in text in html body
|
||||
console.dir(`<textarea name="desc">${escapeHtml(desc)}</textarea>`);
|
||||
// -> '<textarea name="desc">I <b>think</b> this is good.</textarea>'
|
||||
```
|
||||
|
||||
## Todo
|
||||
|
||||
- Reimplement testing from [component/escape-html](https://github.com/component/escape-html/tree/master/test)
|
||||
- Reimplement benchmarks from [component/escape-html](https://github.com/component/escape-html/tree/master/benchmark)
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
|
||||
[coveralls-image]: https://badgen.net/coveralls/c/github/component/es-escape-html/master
|
||||
[coveralls-url]: https://coveralls.io/r/component/es-escape-html?branch=master
|
||||
[npm-downloads-image]: https://badgen.net/npm/dm/es-escape-html
|
||||
[npm-url]: https://npmjs.org/package/es-escape-html
|
||||
[npm-version-image]: https://badgen.net/npm/v/es-escape-html
|
||||
[travis-image]: https://badgen.net/travis/component/es-escape-html/master
|
||||
[travis-url]: https://travis-ci.org/component/es-escape-html
|
||||
37
25_02_24/node_modules/es-escape-html/package.json
generated
vendored
Normal file
37
25_02_24/node_modules/es-escape-html/package.json
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"name": "es-escape-html",
|
||||
"description": "es-escape-html rewrite for ESM",
|
||||
"version": "0.1.1",
|
||||
"type": "module",
|
||||
"types": "./src/index.d.ts",
|
||||
"exports": "./src/index.js",
|
||||
"engines": {
|
||||
"node": ">=12.x"
|
||||
},
|
||||
"files": [
|
||||
"src"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/alii/es-escape-html.git"
|
||||
},
|
||||
"keywords": [
|
||||
"esm",
|
||||
"es",
|
||||
"escape",
|
||||
"html",
|
||||
"utility"
|
||||
],
|
||||
"author": "",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/alii/es-escape-html/issues"
|
||||
},
|
||||
"homepage": "https://github.com/alii/es-escape-html/es-escape-html#readme",
|
||||
"devDependencies": {
|
||||
"@types/node": "^14.14.11",
|
||||
"eslint": "^7.20.0",
|
||||
"prettier": "^2.2.1",
|
||||
"typescript": "^4.1.2"
|
||||
}
|
||||
}
|
||||
13
25_02_24/node_modules/es-escape-html/src/index.d.ts
generated
vendored
Normal file
13
25_02_24/node_modules/es-escape-html/src/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
/**
|
||||
* Escape special characters in the given string of text, such that it can be interpolated in HTML content.
|
||||
* This function will escape the following characters: `"`, `'`, `&`, `<`, and `>`.
|
||||
*
|
||||
* *Note* that the escaped value is only suitable for being interpolated into HTML as the text content of
|
||||
* elements in which the tag does not have different escaping mechanisms (it cannot be placed inside
|
||||
* `<style>` or `<script>`, for example, as those content bodies are not HTML, but CSS and JavaScript,
|
||||
* respectively; these are known as "raw text elements" in the HTML standard).
|
||||
*
|
||||
* *Note* when using the escaped value within a tag, it is only suitable as the value of an attribute,
|
||||
* where the value is quoted with either a double quote character (`"`) or a single quote character (`'`).
|
||||
*/
|
||||
export declare function escapeHTML(text: string): string;
|
||||
61
25_02_24/node_modules/es-escape-html/src/index.js
generated
vendored
Normal file
61
25_02_24/node_modules/es-escape-html/src/index.js
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
const matchHtmlRegExp = /["'&<>]/;
|
||||
|
||||
/**
|
||||
* Escape special characters in the given string of text, such that it can be interpolated in HTML content.
|
||||
* This function will escape the following characters: `"`, `'`, `&`, `<`, and `>`.
|
||||
*
|
||||
* *Note* that the escaped value is only suitable for being interpolated into HTML as the text content of
|
||||
* elements in which the tag does not have different escaping mechanisms (it cannot be placed inside
|
||||
* `<style>` or `<script>`, for example, as those content bodies are not HTML, but CSS and JavaScript,
|
||||
* respectively; these are known as "raw text elements" in the HTML standard).
|
||||
*
|
||||
* *Note* when using the escaped value within a tag, it is only suitable as the value of an attribute,
|
||||
* where the value is quoted with either a double quote character (`"`) or a single quote character (`'`).
|
||||
*
|
||||
* @param {string} str The string to escape for inserting into HTML
|
||||
* @return {string}
|
||||
* @public
|
||||
*/
|
||||
export function escapeHTML(str) {
|
||||
const match = matchHtmlRegExp.exec(str);
|
||||
|
||||
if (!match) {
|
||||
return str;
|
||||
}
|
||||
|
||||
let escape;
|
||||
let html = "";
|
||||
let index = 0;
|
||||
let lastIndex = 0;
|
||||
|
||||
for (index = match.index; index < str.length; index++) {
|
||||
switch (str.charCodeAt(index)) {
|
||||
case 34: // "
|
||||
escape = """;
|
||||
break;
|
||||
case 38: // &
|
||||
escape = "&";
|
||||
break;
|
||||
case 39: // '
|
||||
escape = "'";
|
||||
break;
|
||||
case 60: // <
|
||||
escape = "<";
|
||||
break;
|
||||
case 62: // >
|
||||
escape = ">";
|
||||
break;
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
|
||||
if (lastIndex !== index) {
|
||||
html += str.substring(lastIndex, index);
|
||||
}
|
||||
|
||||
lastIndex = index + 1;
|
||||
html += escape;
|
||||
}
|
||||
|
||||
return lastIndex !== index ? html + str.substring(lastIndex, index) : html;
|
||||
}
|
||||
Reference in New Issue
Block a user