typograf 6.14.0 → 6.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  ## Лицензия
2
2
  The MIT License (MIT)
3
3
 
4
- © 2014–2021 Денис Селезнёв, <hcodes@yandex.ru>
4
+ © 2014–2022 Денис Селезнёв, <hcodes@yandex.ru>
5
5
 
6
6
  Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:
7
7
 
package/README.md CHANGED
@@ -6,6 +6,7 @@
6
6
  [![NPM downloads](https://img.shields.io/npm/dm/typograf.svg?style=flat)](https://www.npmjs.com/package/typograf)
7
7
  [![Coverage Status](https://img.shields.io/coveralls/typograf/typograf.svg?style=flat)](https://coveralls.io/r/typograf/typograf)
8
8
  [![bundlephobia](https://badgen.net/bundlephobia/minzip/typograf)](https://bundlephobia.com/result?p=typograf)
9
+ [![install size](https://packagephobia.com/badge?p=typograf)](https://packagephobia.com/result?p=typograf)
9
10
 
10
11
  Помогает автоматически расставить неразрывные пробелы, исправить мелкие опечатки, привести кавычки к правильному виду, заменить дефисы на тире в нужных местах и многое другое.
11
12
 
@@ -17,7 +18,7 @@
17
18
  + кроссплатформенность;
18
19
  + кроссбраузерность;
19
20
  + поддержка Node.js;
20
- + поддержка HTML;
21
+ + поддержка HTML и XML;
21
22
  + [типографирование на лету](https://github.com/typograf/jquery-typograf);
22
23
  + TDD.
23
24
 
@@ -37,6 +38,7 @@
37
38
  - [Remark](https://github.com/Mavrin/remark-typograf)
38
39
  - [TinyMCE](https://habrahabr.ru/post/266337/)
39
40
  - [Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=rusnasonov.vscode-typograf)
41
+ - [Bitrix](https://github.com/ilimurzin/bitrix-typograf)
40
42
  - [Поддерживаемые правила](./docs/RULES.ru.md)
41
43
  - API
42
44
  - [Включить или отключить правила](./docs/api_rules.md)
@@ -1,4 +1,4 @@
1
- /*! typograf | © 2021 Denis Seleznev | MIT License | https://github.com/typograf/typograf */
1
+ /*! typograf | © 2022 Denis Seleznev | MIT License | https://github.com/typograf/typograf */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
4
4
  typeof define === 'function' && define.amd ? define(factory) :
@@ -8,17 +8,11 @@
8
8
  function _typeof(obj) {
9
9
  "@babel/helpers - typeof";
10
10
 
11
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
12
- _typeof = function (obj) {
13
- return typeof obj;
14
- };
15
- } else {
16
- _typeof = function (obj) {
17
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
18
- };
19
- }
20
-
21
- return _typeof(obj);
11
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
12
+ return typeof obj;
13
+ } : function (obj) {
14
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
15
+ }, _typeof(obj);
22
16
  }
23
17
 
24
18
  function _classCallCheck(instance, Constructor) {
@@ -40,6 +34,9 @@
40
34
  function _createClass(Constructor, protoProps, staticProps) {
41
35
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
42
36
  if (staticProps) _defineProperties(Constructor, staticProps);
37
+ Object.defineProperty(Constructor, "prototype", {
38
+ writable: false
39
+ });
43
40
  return Constructor;
44
41
  }
45
42
 
@@ -1215,7 +1212,7 @@
1215
1212
 
1216
1213
  return Typograf;
1217
1214
  }();
1218
- Typograf.version = '6.14.0';
1215
+ Typograf.version = '6.15.0';
1219
1216
  Typograf.addLocale = addLocale;
1220
1217
  Typograf.getLocales = getLocales;
1221
1218
  Typograf.hasLocale = hasLocale;
@@ -2495,9 +2492,25 @@
2495
2492
  var to = {
2496
2493
  name: 'ru/dash/to',
2497
2494
  handler: function handler(text) {
2498
- var words = ['откуда', 'куда', 'где', 'когда', 'зачем', 'почему', 'как', 'како[ейм]', 'какая', 'каки[емх]', 'какими', 'какую', 'что', 'чего', 'че[йм]', 'чьим?', 'кто', 'кого', 'кому', 'кем'];
2499
- var re = new RegExp('(' + words.join('|') + ')( | -|- )(то|либо|нибудь)' + getData('ru/dashAfter'), 'gi');
2500
- return text.replace(re, '$1-$3');
2495
+ var words = '[Оо]ткуда|[Кк]уда|[Гг]де|[Кк]огда|[Зз]ачем|[Пп]очему|[Кк]ак|[Кк]ако[ейм]|[Кк]акая|[Кк]аки[емх]|[Кк]акими|[Кк]акую|[Чч]то|[Чч]его|[Чч]е[йм]|[Чч]ьим?|[Кк]то|[Кк]ого|[Кк]ому|[Кк]ем';
2496
+ var re = new RegExp('(^|[^А-ЯЁа-яё\\w])(' + words + ')( | -|- )(то|либо|нибудь)' + getData('ru/dashAfter'), 'g');
2497
+ return text.replace(re, function ($0, $1, $2, $3, $4) {
2498
+ var kakto = $2 + $3 + $4; // Отдельно обрабатываем в ru/dash/kakto
2499
+
2500
+ if (kakto === 'как то' || kakto === 'Как то') {
2501
+ return $0;
2502
+ }
2503
+
2504
+ return $1 + $2 + '-' + $4;
2505
+ });
2506
+ }
2507
+ };
2508
+
2509
+ var kakto = {
2510
+ name: 'ru/dash/kakto',
2511
+ handler: function handler(text) {
2512
+ var re = new RegExp('(^|[^А-ЯЁа-яё\\w])([Кк]ак) то' + getData('ru/dashAfter'), 'g');
2513
+ return text.replace(re, '$1$2-то');
2501
2514
  }
2502
2515
  };
2503
2516
 
@@ -2533,7 +2546,7 @@
2533
2546
  }
2534
2547
  };
2535
2548
 
2536
- Typograf.addRules([centuries, daysMonth, de$1, decade, directSpeech, izpod, izza, ka, koe, main$1, month, surname, taki, time, to, weekday, years]);
2549
+ Typograf.addRules([centuries, daysMonth, de$1, decade, directSpeech, izpod, izza, ka, koe, main$1, month, surname, taki, time, to, kakto, weekday, years]);
2537
2550
 
2538
2551
  var fromISO = {
2539
2552
  name: 'ru/date/fromISO',
@@ -2676,7 +2689,7 @@
2676
2689
  var spaces = "\xA0\u202F "; // nbsp, thinsp
2677
2690
 
2678
2691
  var quote = getData('ru/quote');
2679
- var re = new RegExp('(^|[' + spaces + quote.left + privateLabel + '"])([А-ЯЁ])\\.[' + spaces + ']?([А-ЯЁ])\\.[' + spaces + ']?([А-ЯЁ][а-яё]+)(?=[\\s.,;:?!"' + quote.right + privateLabel + ']|$)', 'gm');
2692
+ var re = new RegExp('(^|[' + spaces + quote.left + privateLabel + '"])([А-ЯЁ])\\.[' + spaces + ']?([А-ЯЁ])\\.[' + spaces + ']?([А-ЯЁ][а-яё]+)', 'gm');
2680
2693
  return text.replace(re, "$1$2.\xA0$3.\xA0$4");
2681
2694
  }
2682
2695
  };
@@ -3368,6 +3381,10 @@
3368
3381
  "en-US": "Hyphen before “ка” and “кась”",
3369
3382
  "ru": "Дефис перед «ка» и «кась»"
3370
3383
  },
3384
+ "ru/dash/kakto": {
3385
+ "en-US": "Hyphen for “как то”",
3386
+ "ru": "Дефис для «как то»"
3387
+ },
3371
3388
  "ru/dash/koe": {
3372
3389
  "en-US": "Hyphen after “кое” and “кой”",
3373
3390
  "ru": "Дефис после «кое» и «кой»"