add lisp packages

This commit is contained in:
2020-12-05 21:29:49 +01:00
parent 85e20365ae
commit a6e2395755
7272 changed files with 1363243 additions and 0 deletions

View File

@@ -0,0 +1,126 @@
Escaper
=======
Библиотека для «экранирования» литералов строк, регулярных выражений и комментариев в синтаксисе JavaScript.
[Документация на английском](https://github.com/kobezzza/Escaper/blob/master/README.md)
[![NPM version](http://img.shields.io/npm/v/escaper.svg?style=flat)](http://badge.fury.io/js/escaper)
[![NPM devDependencies](http://img.shields.io/david/dev/kobezzza/Escaper.svg?style=flat)](https://david-dm.org/kobezzza/Escaper?type=dev)
[![Build Status](http://img.shields.io/travis/kobezzza/Escaper.svg?style=flat&branch=master)](https://travis-ci.org/kobezzza/Escaper)
[![Coverage Status](http://img.shields.io/coveralls/kobezzza/Escaper.svg?style=flat)](https://coveralls.io/r/kobezzza/Escaper?branch=master)
**Поддерживаются литералы:**
* `' ... '`
* `" ... "`
* `` ` ... ` ``, `` ` ... ${...} ` ``
* `/ ... /`
* `// ...`, `//* ...`, `//! ...`, `//# ...`, `//@ ...`, `//$ ...`
* `/* ... */`, `/** ... */`, `/*! ... */`, `/*# ... */`, `/*@ ... */`, `/*$ ... */`
## Установка
https://raw.githubusercontent.com/kobezzza/Escaper/master/dist/escaper.min.js
или
```bash
npm install escaper
```
или
```bash
bower install escaper
```
или
```bash
git clone https://github.com/kobezzza/Escaper
```
## Использование
```js
var str = '"foo" 1 + /foo/ + 2 /* 1 */ 3',
content = [];
// __ESCAPER_QUOT__0_ 1 + __ESCAPER_QUOT__1_ + 2 __ESCAPER_QUOT__2_ 3
str = Escaper.replace(str, true, content);
// "foo" 1 + /foo/ + 2 /* 1 */ 3
Escaper.paste(str, content);
```
## API
### Escaper.replace(str, opt_withComment, opt_content)
Заметить блоки вида `' ... '`, `" ... "`, `` ` ... ` ``, `/ ... /`, `// ...`, `/* ... */` на
`__ESCAPER_QUOT__номер_` в указанной строке и вернуть новую строку.
**Аргументы**
* `string` `str` — исходная строка;
* `(Object|boolean)=` `opt_withCommentsOrParams = false` — таблица вырезаемых последовательностей:
Если установить значение параметру `-1`, то последовательность будет удаляться,
т.е. без возможности обратной замены, иначе `true`/`false` — включить/исключить последовательность.
```js
{
// Шаблон замены
'@label' : '__ESCAPER_QUOT__${pos}_',
'@all' : true, // Вырезаются все последовательности
'@comments': true, // Вырезаются все виды комментариев
'@strings' : true, // Вырезаются все виды литералов строк
'@literals': true, // Вырезаются все виды литералов строк
// и регулярных выражений
"'" : true,
'"' : true,
'`' : true,
'/' : true,
'//' : true,
'//*' : true,
'//!' : true,
'//#' : true,
'//@' : true,
'//$' : true,
'/*' : true,
'/**' : true,
'/*!' : true,
'/*#' : true,
'/*@' : true,
'/*$' : true
}
```
ИЛИ если `opt_withCommentsOrParams` — логическое значение, то
```js
true // Вырезаются литералы с комментариями
false // Вырезаются одни литералы
```
* `Array=` `opt_content = Escaper.content` — стек содержимого.
`@return {string}`
### Escaper.paste(str, opt_content)
Заметить `__ESCAPER_QUOT__номер_` в указанной строке на реальное содержимое и вернуть новую строку.
**Аргументы**
* `string` `str` — исходная строка;
* `Array=` `opt_content = Escaper.content` — стек содержимого;
* `RegExp=` `opt_rgxp` — регулярное выражение для поиска, например `/__ESCAPER_QUOT__(\d+)_/g`.
`@return {string}`
## [Лицензия](https://github.com/kobezzza/Escaper/blob/master/LICENSE)
The MIT License.