@visulima/string 1.2.3 → 1.4.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.
Files changed (102) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +46 -0
  3. package/dist/case/camel-case.cjs +1 -59
  4. package/dist/case/camel-case.mjs +1 -57
  5. package/dist/case/capital-case.cjs +1 -51
  6. package/dist/case/capital-case.mjs +1 -49
  7. package/dist/case/constant-case.cjs +1 -11
  8. package/dist/case/constant-case.mjs +1 -9
  9. package/dist/case/dot-case.cjs +1 -11
  10. package/dist/case/dot-case.mjs +1 -9
  11. package/dist/case/flat-case.cjs +1 -11
  12. package/dist/case/flat-case.mjs +1 -9
  13. package/dist/case/flip-case.cjs +1 -61
  14. package/dist/case/flip-case.mjs +1 -57
  15. package/dist/case/identify-case.cjs +1 -69
  16. package/dist/case/identify-case.mjs +1 -67
  17. package/dist/case/index.cjs +1 -47
  18. package/dist/case/index.mjs +1 -20
  19. package/dist/case/kebab-case.cjs +1 -61
  20. package/dist/case/kebab-case.mjs +1 -57
  21. package/dist/case/lower-first.cjs +1 -13
  22. package/dist/case/lower-first.mjs +1 -11
  23. package/dist/case/no-case.cjs +1 -11
  24. package/dist/case/no-case.mjs +1 -9
  25. package/dist/case/pascal-case.cjs +1 -52
  26. package/dist/case/pascal-case.mjs +1 -50
  27. package/dist/case/pascal-snake-case.cjs +1 -32
  28. package/dist/case/pascal-snake-case.mjs +1 -30
  29. package/dist/case/path-case.cjs +1 -11
  30. package/dist/case/path-case.mjs +1 -9
  31. package/dist/case/sentence-case.cjs +1 -58
  32. package/dist/case/sentence-case.mjs +1 -56
  33. package/dist/case/snake-case.cjs +1 -11
  34. package/dist/case/snake-case.mjs +1 -9
  35. package/dist/case/split-by-case.cjs +1 -641
  36. package/dist/case/split-by-case.mjs +1 -637
  37. package/dist/case/title-case.cjs +1 -47
  38. package/dist/case/title-case.mjs +1 -45
  39. package/dist/case/train-case.cjs +1 -44
  40. package/dist/case/train-case.mjs +1 -42
  41. package/dist/case/upper-first.cjs +1 -13
  42. package/dist/case/upper-first.mjs +1 -11
  43. package/dist/get-string-truncated-width.cjs +1 -422
  44. package/dist/get-string-truncated-width.mjs +1 -418
  45. package/dist/get-string-width.cjs +1 -11
  46. package/dist/get-string-width.mjs +1 -7
  47. package/dist/index.cjs +1 -66
  48. package/dist/index.d.cts +13 -3
  49. package/dist/index.d.mts +13 -3
  50. package/dist/index.d.ts +13 -3
  51. package/dist/index.mjs +1 -29
  52. package/dist/outdent.cjs +1 -125
  53. package/dist/outdent.mjs +1 -121
  54. package/dist/packem_shared/LRUCache-Bjo6gsbC.mjs +1 -0
  55. package/dist/packem_shared/LRUCache-TYqfUYE5.cjs +1 -0
  56. package/dist/packem_shared/WrapMode-BZ3jkEf1.mjs +8 -0
  57. package/dist/packem_shared/WrapMode-DR7vv3px.cjs +8 -0
  58. package/dist/packem_shared/alignText-BCKbnqhC.mjs +2 -0
  59. package/dist/packem_shared/alignText-CLZJuPP6.cjs +2 -0
  60. package/dist/packem_shared/constants-Cd17VNEv.mjs +1 -0
  61. package/dist/packem_shared/constants-D3K8u3G8.cjs +1 -0
  62. package/dist/packem_shared/generate-cache-key-BZf0GiMs.cjs +1 -0
  63. package/dist/packem_shared/generate-cache-key-DPByFaMH.mjs +1 -0
  64. package/dist/packem_shared/joinSegments-CDHNMXsF.cjs +1 -0
  65. package/dist/packem_shared/joinSegments-H7QJ7rwJ.mjs +1 -0
  66. package/dist/packem_shared/normalize-german-eszett-4k1qRtEP.mjs +1 -0
  67. package/dist/packem_shared/normalize-german-eszett-Bop4wOp9.cjs +1 -0
  68. package/dist/packem_shared/replaceString-Ce8TI_-L.cjs +1 -0
  69. package/dist/packem_shared/replaceString-D7R-5VFX.mjs +1 -0
  70. package/dist/packem_shared/slugify-B1vlQQO1.mjs +1 -0
  71. package/dist/packem_shared/slugify-CH3GI7E5.cjs +1 -0
  72. package/dist/packem_shared/transliterate-BXaP38Sh.mjs +5 -0
  73. package/dist/packem_shared/transliterate-CToQ-aeM.cjs +5 -0
  74. package/dist/slice.cjs +1 -419
  75. package/dist/slice.mjs +1 -415
  76. package/dist/test/utils.cjs +13 -74
  77. package/dist/test/utils.mjs +14 -69
  78. package/dist/test/vitest.cjs +1 -11
  79. package/dist/test/vitest.mjs +1 -7
  80. package/dist/truncate.cjs +1 -101
  81. package/dist/truncate.mjs +1 -97
  82. package/dist/utils.cjs +1 -65
  83. package/dist/utils.mjs +1 -56
  84. package/package.json +8 -1
  85. package/dist/packem_shared/LRUCache-Crb-m7cw.cjs +0 -53
  86. package/dist/packem_shared/LRUCache-udNErhWw.mjs +0 -51
  87. package/dist/packem_shared/WrapMode-BCVbMqYK.mjs +0 -545
  88. package/dist/packem_shared/WrapMode-DebG_Nll.cjs +0 -550
  89. package/dist/packem_shared/constants-6-GJ6zA-.cjs +0 -150
  90. package/dist/packem_shared/constants-CKdlkHVU.mjs +0 -99
  91. package/dist/packem_shared/generate-cache-key-D8f1auDB.cjs +0 -10
  92. package/dist/packem_shared/generate-cache-key-YSju5pj2.mjs +0 -8
  93. package/dist/packem_shared/joinSegments-BfSDBmPF.mjs +0 -46
  94. package/dist/packem_shared/joinSegments-HYXurfoq.cjs +0 -48
  95. package/dist/packem_shared/normalize-german-eszett-DJK0S2qj.cjs +0 -11
  96. package/dist/packem_shared/normalize-german-eszett-fpJ4lZL6.mjs +0 -9
  97. package/dist/packem_shared/replaceString-C7Dp5vAg.mjs +0 -200
  98. package/dist/packem_shared/replaceString-iYo1cDfZ.cjs +0 -202
  99. package/dist/packem_shared/slugify-SKjCL8DF.cjs +0 -50
  100. package/dist/packem_shared/slugify-pbxTlzeQ.mjs +0 -48
  101. package/dist/packem_shared/transliterate-4P32b49d.mjs +0 -47780
  102. package/dist/packem_shared/transliterate-CtOTNpLs.cjs +0 -47782
@@ -1,50 +0,0 @@
1
- 'use strict';
2
-
3
- const transliterate = require('./transliterate-CtOTNpLs.cjs');
4
- const utils = require('../utils.cjs');
5
-
6
- var __defProp = Object.defineProperty;
7
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
- const removeDisallowedChars = /* @__PURE__ */ __name((input, allowedChars, separator) => {
9
- const escapedChars = utils.escapeRegExp(allowedChars).replaceAll("\\-", "-");
10
- const pattern = new RegExp(`[^${escapedChars}]`, "g");
11
- return input.replaceAll(pattern, separator);
12
- }, "removeDisallowedChars");
13
- const slugify = /* @__PURE__ */ __name((input, options) => {
14
- const config = {
15
- allowedChars: "a-zA-Z0-9-_.~",
16
- fixChineseSpacing: true,
17
- ignore: [],
18
- lowercase: true,
19
- replaceAfter: [],
20
- replaceBefore: [],
21
- separator: "-",
22
- transliterate: true,
23
- trim: false,
24
- unknown: "",
25
- uppercase: false,
26
- ...options
27
- };
28
- if (config.lowercase && config.uppercase) {
29
- console.warn("slugify: Both lowercase and uppercase options are true. Defaulting to lowercase.");
30
- config.uppercase = false;
31
- }
32
- let slug = config.transliterate ? transliterate(input, config) : input.normalize("NFC");
33
- if (config.lowercase) {
34
- slug = slug.toLowerCase();
35
- } else if (config.uppercase) {
36
- slug = slug.toUpperCase();
37
- }
38
- slug = removeDisallowedChars(slug, config.allowedChars, config.separator);
39
- const escapedSeparator = utils.escapeRegExp(config.separator);
40
- if (escapedSeparator) {
41
- const separatorRegex = new RegExp(`${escapedSeparator}+`, "g");
42
- slug = slug.replace(separatorRegex, config.separator);
43
- }
44
- if (escapedSeparator) {
45
- return slug.replaceAll(new RegExp(`^${escapedSeparator}+|${escapedSeparator}+$`, "g"), "");
46
- }
47
- return slug;
48
- }, "slugify");
49
-
50
- module.exports = slugify;
@@ -1,48 +0,0 @@
1
- import transliterate from './transliterate-4P32b49d.mjs';
2
- import { escapeRegExp } from '../utils.mjs';
3
-
4
- var __defProp = Object.defineProperty;
5
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
- const removeDisallowedChars = /* @__PURE__ */ __name((input, allowedChars, separator) => {
7
- const escapedChars = escapeRegExp(allowedChars).replaceAll("\\-", "-");
8
- const pattern = new RegExp(`[^${escapedChars}]`, "g");
9
- return input.replaceAll(pattern, separator);
10
- }, "removeDisallowedChars");
11
- const slugify = /* @__PURE__ */ __name((input, options) => {
12
- const config = {
13
- allowedChars: "a-zA-Z0-9-_.~",
14
- fixChineseSpacing: true,
15
- ignore: [],
16
- lowercase: true,
17
- replaceAfter: [],
18
- replaceBefore: [],
19
- separator: "-",
20
- transliterate: true,
21
- trim: false,
22
- unknown: "",
23
- uppercase: false,
24
- ...options
25
- };
26
- if (config.lowercase && config.uppercase) {
27
- console.warn("slugify: Both lowercase and uppercase options are true. Defaulting to lowercase.");
28
- config.uppercase = false;
29
- }
30
- let slug = config.transliterate ? transliterate(input, config) : input.normalize("NFC");
31
- if (config.lowercase) {
32
- slug = slug.toLowerCase();
33
- } else if (config.uppercase) {
34
- slug = slug.toUpperCase();
35
- }
36
- slug = removeDisallowedChars(slug, config.allowedChars, config.separator);
37
- const escapedSeparator = escapeRegExp(config.separator);
38
- if (escapedSeparator) {
39
- const separatorRegex = new RegExp(`${escapedSeparator}+`, "g");
40
- slug = slug.replace(separatorRegex, config.separator);
41
- }
42
- if (escapedSeparator) {
43
- return slug.replaceAll(new RegExp(`^${escapedSeparator}+|${escapedSeparator}+$`, "g"), "");
44
- }
45
- return slug;
46
- }, "slugify");
47
-
48
- export { slugify as default };