@visulima/string 3.1.0 → 3.1.2

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 (98) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/LICENSE.md +81 -129
  3. package/README.md +3 -3
  4. package/dist/align-text.js +2 -2
  5. package/dist/case/camel-case.d.ts +2 -2
  6. package/dist/case/camel-case.js +1 -1
  7. package/dist/case/capital-case.d.ts +2 -2
  8. package/dist/case/capital-case.js +1 -1
  9. package/dist/case/constant-case.d.ts +2 -2
  10. package/dist/case/constant-case.js +1 -1
  11. package/dist/case/dot-case.d.ts +2 -2
  12. package/dist/case/dot-case.js +1 -1
  13. package/dist/case/flat-case.d.ts +2 -2
  14. package/dist/case/flat-case.js +1 -1
  15. package/dist/case/flip-case.d.ts +2 -2
  16. package/dist/case/flip-case.js +1 -1
  17. package/dist/case/identify-case.d.ts +2 -2
  18. package/dist/case/identify-case.js +1 -1
  19. package/dist/case/index.d.ts +2 -2
  20. package/dist/case/index.js +1 -1
  21. package/dist/case/kebab-case.d.ts +2 -2
  22. package/dist/case/kebab-case.js +1 -1
  23. package/dist/case/lower-first.d.ts +2 -2
  24. package/dist/case/lower-first.js +1 -1
  25. package/dist/case/no-case.d.ts +2 -2
  26. package/dist/case/no-case.js +1 -1
  27. package/dist/case/pascal-case.d.ts +2 -2
  28. package/dist/case/pascal-case.js +1 -1
  29. package/dist/case/pascal-snake-case.d.ts +2 -2
  30. package/dist/case/pascal-snake-case.js +1 -1
  31. package/dist/case/path-case.d.ts +2 -2
  32. package/dist/case/path-case.js +1 -1
  33. package/dist/case/sentence-case.d.ts +2 -2
  34. package/dist/case/sentence-case.js +1 -1
  35. package/dist/case/snake-case.d.ts +2 -2
  36. package/dist/case/snake-case.js +1 -1
  37. package/dist/case/split-by-case.d.ts +2 -2
  38. package/dist/case/split-by-case.js +1 -1
  39. package/dist/case/title-case.d.ts +2 -2
  40. package/dist/case/title-case.js +1 -1
  41. package/dist/case/train-case.d.ts +2 -2
  42. package/dist/case/train-case.js +1 -1
  43. package/dist/case/upper-first.d.ts +2 -2
  44. package/dist/case/upper-first.js +1 -1
  45. package/dist/closest-string.js +1 -1
  46. package/dist/compare-similarity.js +1 -1
  47. package/dist/count-occurrences.js +1 -1
  48. package/dist/direction.js +1 -1
  49. package/dist/east-asian-width.d.ts +5 -1
  50. package/dist/east-asian-width.js +1 -1
  51. package/dist/excerpt.js +55 -44
  52. package/dist/get-string-truncated-width.js +1 -1
  53. package/dist/indent.d.ts +3 -1
  54. package/dist/indent.js +1 -1
  55. package/dist/index.d.ts +4 -4
  56. package/dist/index.js +1 -1
  57. package/dist/is-fullwidth-code-point.js +1 -1
  58. package/dist/levenshtein.js +1 -1
  59. package/dist/native-string-types.d.ts +6 -1
  60. package/dist/outdent.js +1 -1
  61. package/dist/packem_shared/{_isFullWidth-Dqc3MWgl.js → _isFullWidth-dWWDw5Is.js} +1 -1
  62. package/dist/packem_shared/ansi-state-tracker-BFhXTS-5.js +1 -0
  63. package/dist/packem_shared/closest-CSX4px2F.js +1 -0
  64. package/dist/packem_shared/constants-BGGeBKGT.js +1 -0
  65. package/dist/packem_shared/dedent-CDXp3nZQ.js +1 -0
  66. package/dist/packem_shared/eastAsianWidth-DACe9Ds2.js +1 -0
  67. package/dist/packem_shared/generate-cache-key-th9N8-CB.js +1 -0
  68. package/dist/packem_shared/indent-CY079Qyq.js +1 -0
  69. package/dist/packem_shared/joinSegments-9qx7xSy7.js +1 -0
  70. package/dist/packem_shared/{lru-cache-BtMSrYQJ.js → lru-cache-BD25OaEQ.js} +1 -1
  71. package/dist/packem_shared/normalize-german-eszett-DtW4F-Wg.js +1 -0
  72. package/dist/packem_shared/redent-lctoaAtw.js +1 -0
  73. package/dist/packem_shared/{strip-vt-control-characters-BW1RglLp.js → strip-vt-control-characters-vMeu7uFw.js} +1 -1
  74. package/dist/packem_shared/{types.d-CMNqA5bi.d.ts → types.d-BdJ2aEyS.d.ts} +1 -1
  75. package/dist/packem_shared/{types.d-LgsTR37y.d.ts → types.d-Bky9TnxG.d.ts} +6 -1
  76. package/dist/replace-string.d.ts +1 -1
  77. package/dist/replace-string.js +1 -1
  78. package/dist/slice.js +1 -1
  79. package/dist/slugify.d.ts +1 -1
  80. package/dist/slugify.js +1 -1
  81. package/dist/test/utils.js +10 -10
  82. package/dist/transliterate.d.ts +1 -1
  83. package/dist/transliterate.js +3 -3
  84. package/dist/truncate.js +1 -1
  85. package/dist/utilities.d.ts +1 -1
  86. package/dist/utilities.js +1 -1
  87. package/dist/word-similarity-sort.js +1 -1
  88. package/dist/word-wrap.js +5 -7
  89. package/package.json +2 -2
  90. package/dist/packem_shared/closest-C6YDQs4m.js +0 -1
  91. package/dist/packem_shared/constants-aPzGW29R.js +0 -1
  92. package/dist/packem_shared/dedent-CPjAYUXh.js +0 -1
  93. package/dist/packem_shared/eastAsianWidth-DJV8Kqd-.js +0 -1
  94. package/dist/packem_shared/generate-cache-key-B_0X7MKm.js +0 -1
  95. package/dist/packem_shared/indent-cz8WMI0e.js +0 -1
  96. package/dist/packem_shared/joinSegments-CaHT-45s.js +0 -1
  97. package/dist/packem_shared/normalize-german-eszett-hNMwtGjd.js +0 -1
  98. package/dist/packem_shared/redent-ByOoJ6fN.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ ## @visulima/string [3.1.2](https://github.com/visulima/visulima/compare/@visulima/string@3.1.1...@visulima/string@3.1.2) (2026-10-31)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **string:** ship license notice and port Repeat fixes ([#989](https://github.com/visulima/visulima/issues/989)) ([11faab9](https://github.com/visulima/visulima/commit/11faab9bd61412339f20bb88e37e5ce2032130c6))
6
+
7
+ ### Miscellaneous Chores
8
+
9
+ * improve npm search metadata ([#979](https://github.com/visulima/visulima/issues/979)) ([3f4ed10](https://github.com/visulima/visulima/commit/3f4ed1087286a57b5abbccbb481e352e8a9d4f58))
10
+
11
+ ## @visulima/string [3.1.1](https://github.com/visulima/visulima/compare/@visulima/string@3.1.0...@visulima/string@3.1.1) (2026-10-05)
12
+
13
+ ### Bug Fixes
14
+
15
+ * **string:** preserve SGR across wraps, break CJK, ignore OSC width ([#833](https://github.com/visulima/visulima/issues/833)) ([fa54f39](https://github.com/visulima/visulima/commit/fa54f39b862223b406e84a3b021929ce907dedc7))
16
+
17
+ ### Miscellaneous Chores
18
+
19
+ * point every Discord link at the anolilab server ([#858](https://github.com/visulima/visulima/issues/858)) ([4002bfc](https://github.com/visulima/visulima/commit/4002bfcd8d3c748d7008efe208e6aaae7bd18753))
20
+
21
+ ### Build System
22
+
23
+ * **deps:** refresh catalog and package manifests ([#832](https://github.com/visulima/visulima/issues/832)) ([9b7590d](https://github.com/visulima/visulima/commit/9b7590d6496e633ba2c0681484ae4497eeb824c9))
24
+
1
25
  ## @visulima/string [3.1.0](https://github.com/visulima/visulima/compare/%40visulima%2Fstring%403.0.0...%40visulima%2Fstring%403.1.0) (2026-08-02)
2
26
 
3
27
 
package/LICENSE.md CHANGED
@@ -20,6 +20,32 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
22
22
 
23
+ # Adapted code
24
+
25
+ The type-level utilities in this package are modified copies of types from string-ts v2.2.1 (https://github.com/gustavoguichard/string-ts), distributed under the following license:
26
+
27
+ MIT License
28
+
29
+ Copyright (c) 2023 Gustavo Guichard
30
+
31
+ Permission is hereby granted, free of charge, to any person obtaining a copy
32
+ of this software and associated documentation files (the "Software"), to deal
33
+ in the Software without restriction, including without limitation the rights
34
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
35
+ copies of the Software, and to permit persons to whom the Software is
36
+ furnished to do so, subject to the following conditions:
37
+
38
+ The above copyright notice and this permission notice shall be included in all
39
+ copies or substantial portions of the Software.
40
+
41
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
42
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
43
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
44
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
45
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
46
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
47
+ SOFTWARE.
48
+
23
49
  <!-- DEPENDENCIES -->
24
50
 
25
51
  # Licenses of bundled dependencies
@@ -27,6 +53,36 @@ The published @visulima/string artifact additionally contains code with the foll
27
53
  MIT
28
54
 
29
55
  # Bundled dependencies:
56
+ ## codsen-format-diagnostic-value
57
+ License: MIT
58
+ By: Roy Revelt
59
+ Repository: git+https://github.com/codsen/codsen.git
60
+
61
+ > MIT License
62
+ >
63
+ > Copyright © 2010-2026 Roy Revelt and other contributors
64
+ >
65
+ > Permission is hereby granted, free of charge, to any person obtaining
66
+ > a copy of this software and associated documentation files (the
67
+ > "Software"), to deal in the Software without restriction, including
68
+ > without limitation the rights to use, copy, modify, merge, publish,
69
+ > distribute, sublicense, and/or sell copies of the Software, and to
70
+ > permit persons to whom the Software is furnished to do so, subject to
71
+ > the following conditions:
72
+ >
73
+ > The above copyright notice and this permission notice shall be
74
+ > included in all copies or substantial portions of the Software.
75
+ >
76
+ > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
77
+ > EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
78
+ > MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
79
+ > NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
80
+ > LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
81
+ > OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
82
+ > WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
83
+
84
+ ---------------------------------------
85
+
30
86
  ## codsen-utils
31
87
  License: MIT
32
88
  By: Roy Revelt
@@ -34,7 +90,7 @@ Repository: git+https://github.com/codsen/codsen.git
34
90
 
35
91
  > MIT License
36
92
  >
37
- > Copyright © 2010-2025 Roy Revelt and other contributors
93
+ > Copyright © 2010-2026 Roy Revelt and other contributors
38
94
  >
39
95
  > Permission is hereby granted, free of charge, to any person obtaining
40
96
  > a copy of this software and associated documentation files (the
@@ -132,68 +188,14 @@ Repository: sindresorhus/get-east-asian-width
132
188
 
133
189
  ---------------------------------------
134
190
 
135
- ## html-entities
136
- License: MIT
137
- By: Marat Dulin
138
- Repository: https://github.com/mdevils/html-entities.git
139
-
140
- > Copyright (c) 2021 Dulin Marat
141
- >
142
- > Permission is hereby granted, free of charge, to any person obtaining a copy
143
- > of this software and associated documentation files (the "Software"), to deal
144
- > in the Software without restriction, including without limitation the rights
145
- > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
146
- > copies of the Software, and to permit persons to whom the Software is
147
- > furnished to do so, subject to the following conditions:
148
- >
149
- > The above copyright notice and this permission notice shall be included in
150
- > all copies or substantial portions of the Software.
151
- >
152
- > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
153
- > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
154
- > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
155
- > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
156
- > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
157
- > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
158
- > THE SOFTWARE.
159
-
160
- ---------------------------------------
161
-
162
- ## indent-string
191
+ ## html-entity-codec
163
192
  License: MIT
164
- By: Sindre Sorhus
165
- Repository: sindresorhus/indent-string
193
+ By: Roy Revelt
194
+ Repository: git+https://github.com/codsen/codsen.git
166
195
 
167
196
  > MIT License
168
197
  >
169
- > Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
170
- >
171
- > 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:
172
- >
173
- > The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
174
- >
175
- > 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.
176
-
177
- ---------------------------------------
178
-
179
- ## lodash-es
180
- License: MIT
181
- By: John-David Dalton, Mathias Bynens
182
- Repository: lodash/lodash
183
-
184
- > Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
185
- >
186
- > Based on Underscore.js, copyright Jeremy Ashkenas,
187
- > DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
188
- >
189
- > This software consists of voluntary contributions made by many
190
- > individuals. For exact contribution history, see the revision history
191
- > available at https://github.com/lodash/lodash
192
- >
193
- > The following license applies to all parts of this software except as
194
- > documented below:
195
- >
196
- > ====
198
+ > Copyright © 2010-2026 Roy Revelt and other contributors
197
199
  >
198
200
  > Permission is hereby granted, free of charge, to any person obtaining
199
201
  > a copy of this software and associated documentation files (the
@@ -213,21 +215,23 @@ Repository: lodash/lodash
213
215
  > LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
214
216
  > OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
215
217
  > WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
218
+
219
+ ---------------------------------------
220
+
221
+ ## indent-string
222
+ License: MIT
223
+ By: Sindre Sorhus
224
+ Repository: sindresorhus/indent-string
225
+
226
+ > MIT License
216
227
  >
217
- > ====
218
- >
219
- > Copyright and related rights for sample code are waived via CC0. Sample
220
- > code is defined as all source code displayed within the prose of the
221
- > documentation.
228
+ > Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
222
229
  >
223
- > CC0: http://creativecommons.org/publicdomain/zero/1.0/
230
+ > 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:
224
231
  >
225
- > ====
232
+ > The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
226
233
  >
227
- > Files located in the node_modules and vendor directories are externally
228
- > maintained libraries used by this software which have their own
229
- > licenses; we recommend you read them, as their terms may differ from the
230
- > terms above.
234
+ > 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.
231
235
 
232
236
  ---------------------------------------
233
237
 
@@ -238,7 +242,7 @@ Repository: git+https://github.com/codsen/codsen.git
238
242
 
239
243
  > MIT License
240
244
  >
241
- > Copyright © 2010-2025 Roy Revelt and other contributors
245
+ > Copyright © 2010-2026 Roy Revelt and other contributors
242
246
  >
243
247
  > Permission is hereby granted, free of charge, to any person obtaining
244
248
  > a copy of this software and associated documentation files (the
@@ -268,7 +272,7 @@ Repository: git+https://github.com/codsen/codsen.git
268
272
 
269
273
  > MIT License
270
274
  >
271
- > Copyright © 2010-2025 Roy Revelt and other contributors
275
+ > Copyright © 2010-2026 Roy Revelt and other contributors
272
276
  >
273
277
  > Permission is hereby granted, free of charge, to any person obtaining
274
278
  > a copy of this software and associated documentation files (the
@@ -298,7 +302,7 @@ Repository: git+https://github.com/codsen/codsen.git
298
302
 
299
303
  > MIT License
300
304
  >
301
- > Copyright © 2010-2025 Roy Revelt and other contributors
305
+ > Copyright © 2010-2026 Roy Revelt and other contributors
302
306
  >
303
307
  > Permission is hereby granted, free of charge, to any person obtaining
304
308
  > a copy of this software and associated documentation files (the
@@ -328,7 +332,7 @@ Repository: git+https://github.com/codsen/codsen.git
328
332
 
329
333
  > MIT License
330
334
  >
331
- > Copyright © 2010-2025 Roy Revelt and other contributors
335
+ > Copyright © 2010-2026 Roy Revelt and other contributors
332
336
  >
333
337
  > Permission is hereby granted, free of charge, to any person obtaining
334
338
  > a copy of this software and associated documentation files (the
@@ -368,29 +372,6 @@ Repository: sindresorhus/redent
368
372
 
369
373
  ---------------------------------------
370
374
 
371
- ## rfdc
372
- License: MIT
373
- By: David Mark Clements
374
- Repository: git+https://github.com/davidmarkclements/rfdc.git
375
-
376
- > Copyright 2019 "David Mark Clements <david.mark.clements@gmail.com>"
377
- >
378
- > Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
379
- > documentation files (the "Software"), to deal in the Software without restriction, including without limitation
380
- > the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
381
- > to permit persons to whom the Software is furnished to do so, subject to the following conditions:
382
- >
383
- > The above copyright notice and this permission notice shall be included in all copies or substantial portions
384
- > of the Software.
385
- >
386
- > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
387
- > TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
388
- > THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
389
- > CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
390
- > IN THE SOFTWARE.
391
-
392
- ---------------------------------------
393
-
394
375
  ## string-collapse-leading-whitespace
395
376
  License: MIT
396
377
  By: Roy Revelt
@@ -398,7 +379,7 @@ Repository: git+https://github.com/codsen/codsen.git
398
379
 
399
380
  > MIT License
400
381
  >
401
- > Copyright © 2010-2025 Roy Revelt and other contributors
382
+ > Copyright © 2010-2026 Roy Revelt and other contributors
402
383
  >
403
384
  > Permission is hereby granted, free of charge, to any person obtaining
404
385
  > a copy of this software and associated documentation files (the
@@ -428,7 +409,7 @@ Repository: git+https://github.com/codsen/codsen.git
428
409
 
429
410
  > MIT License
430
411
  >
431
- > Copyright © 2010-2025 Roy Revelt and other contributors
412
+ > Copyright © 2010-2026 Roy Revelt and other contributors
432
413
  >
433
414
  > Permission is hereby granted, free of charge, to any person obtaining
434
415
  > a copy of this software and associated documentation files (the
@@ -458,7 +439,7 @@ Repository: git+https://github.com/codsen/codsen.git
458
439
 
459
440
  > MIT License
460
441
  >
461
- > Copyright © 2010-2025 Roy Revelt and other contributors
442
+ > Copyright © 2010-2026 Roy Revelt and other contributors
462
443
  >
463
444
  > Permission is hereby granted, free of charge, to any person obtaining
464
445
  > a copy of this software and associated documentation files (the
@@ -496,35 +477,6 @@ Repository: sindresorhus/strip-indent
496
477
  >
497
478
  > 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.
498
479
 
499
- ---------------------------------------
500
-
501
- ## tiny-invariant
502
- License: MIT
503
- By: Alex Reardon
504
- Repository: https://github.com/alexreardon/tiny-invariant.git
505
-
506
- > MIT License
507
- >
508
- > Copyright (c) 2019 Alexander Reardon
509
- >
510
- > Permission is hereby granted, free of charge, to any person obtaining a copy
511
- > of this software and associated documentation files (the "Software"), to deal
512
- > in the Software without restriction, including without limitation the rights
513
- > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
514
- > copies of the Software, and to permit persons to whom the Software is
515
- > furnished to do so, subject to the following conditions:
516
- >
517
- > The above copyright notice and this permission notice shall be included in all
518
- > copies or substantial portions of the Software.
519
- >
520
- > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
521
- > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
522
- > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
523
- > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
524
- > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
525
- > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
526
- > SOFTWARE.
527
-
528
480
  <!-- /DEPENDENCIES -->
529
481
 
530
482
  <!-- TYPE_DEPENDENCIES -->
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  </a>
8
8
 
9
- <h3 align="center">Functions for manipulating strings.</h3>
9
+ <h3 align="center">Type-safe string utilities: case conversion, slugify, truncation, alignment and CJK-aware width.</h3>
10
10
 
11
11
  <!-- END_PACKAGE_OG_IMAGE_PLACEHOLDER -->
12
12
 
@@ -1277,7 +1277,7 @@ The visulima string is open-sourced software licensed under the [MIT][license]
1277
1277
  [npm-downloads]: https://www.npmjs.com/package/@visulima/string
1278
1278
  [prs-welcome-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge
1279
1279
  [prs-welcome]: https://github.com/visulima/visulima/blob/main/.github/CONTRIBUTING.md
1280
- [chat-badge]: https://img.shields.io/discord/932323359193186354.svg?style=for-the-badge
1281
- [chat]: https://discord.gg/TtFJY8xkFK
1280
+ [chat-badge]: https://img.shields.io/discord/902465130518949899.svg?style=for-the-badge
1281
+ [chat]: https://discord.gg/eajEZvk2PG
1282
1282
  [typescript-badge]: https://img.shields.io/badge/Typescript-294E80.svg?style=for-the-badge&logo=typescript
1283
1283
  [typescript-url]: https://www.typescriptlang.org/
@@ -1,2 +1,2 @@
1
- import{getStringWidth as f}from"./get-string-width.js";const m=(t,r)=>Math.floor((t-r)/2),c=(t,r)=>t-r,u=(t,r={})=>{const s=r.align??"center";if(s==="left")return t;const a=r.split??`
2
- `,g=r.pad??" ",h=s==="right"?c:m;let l=!1,i;Array.isArray(t)?i=t:(l=!0,i=t.split(a));let o,e=0;const p=i.map(n=>(o=f(n,r.stringWidthOptions),e=Math.max(o,e),{str:n,width:o})).map(n=>Array.from({length:h(e,n.width)+1}).join(g)+n.str);return l?p.join(a):p};export{u as alignText};
1
+ import{getStringWidth as g}from"./get-string-width.js";const d=(t,r)=>Math.floor((t-r)/2),m=(t,r)=>t-r,p=(t,r={})=>{const s=r.align??"center";if(s==="left")return t;const a=r.split??`
2
+ `,o=r.pad??" ",c=s==="right"?m:d;let f=!1,n;Array.isArray(t)?n=t:(f=!0,n=t.split(a));let l,e=0;const h=n.map(i=>(l=g(i,r.stringWidthOptions),e=Math.max(l,e),{str:i,width:l})).map(i=>Array.from({length:c(e,i.width)+1}).join(o)+i.str);return f?h.join(a):h};export{p as alignText};
@@ -1,5 +1,5 @@
1
- import { b as CaseOptions, C as CamelCase } from "../packem_shared/types.d-CMNqA5bi.js";
2
- import "../packem_shared/types.d-LgsTR37y.js";
1
+ import { b as CaseOptions, C as CamelCase } from "../packem_shared/types.d-BdJ2aEyS.js";
2
+ import "../packem_shared/types.d-Bky9TnxG.js";
3
3
  /**
4
4
  * Converts a string to camelCase.
5
5
  * @param value The string to convert.
@@ -1 +1 @@
1
- import{c}from"../packem_shared/constants-aPzGW29R.js";import{i as p}from"../packem_shared/lru-cache-BtMSrYQJ.js";import f from"./lower-first.js";import{splitByCase as A}from"./split-by-case.js";import h from"./upper-first.js";import{a as d}from"../packem_shared/generate-cache-key-B_0X7MKm.js";import u from"../packem_shared/joinSegments-CaHT-45s.js";import{a as w}from"../packem_shared/normalize-german-eszett-hNMwtGjd.js";const y=new p(1e3),z=(t,o)=>{if(typeof t!="string"||!t)return"";const i=o?.cache??!1,n=o?.cacheStore??y;let r;if(i&&(r=d(t,o)),i&&r&&n.has(r))return n.get(r);let a=!0;const e=u(A(t,{handleAnsi:o?.handleAnsi,handleEmoji:o?.handleEmoji,knownAcronyms:o?.knownAcronyms,locale:o?.locale,normalize:o?.normalize,separators:void 0,stripAnsi:o?.stripAnsi,stripEmoji:o?.stripEmoji}).map(s=>{if(o?.handleAnsi&&c.test(s))return s;const m=o?.locale?.startsWith("de")?w(s):s,l=o?.locale?m.toLocaleLowerCase(o.locale):m.toLowerCase();return a?(a=!1,f(l,o)):h(l,o)}),"");return i&&r&&n.set(r,e),e};export{z as default};
1
+ import{c as o}from"../packem_shared/constants-BGGeBKGT.js";import{L as f}from"../packem_shared/lru-cache-BD25OaEQ.js";import h from"./lower-first.js";import{splitByCase as d}from"./split-by-case.js";import u from"./upper-first.js";import{g as A}from"../packem_shared/generate-cache-key-th9N8-CB.js";import C from"../packem_shared/joinSegments-9qx7xSy7.js";import{n as y}from"../packem_shared/normalize-german-eszett-DtW4F-Wg.js";const E=new f(1e3),k=(a,e)=>{if(typeof a!="string"||!a)return"";const m=e?.cache??!1,s=e?.cacheStore??E;let r;if(m&&(r=A(a,e)),m&&r&&s.has(r))return s.get(r);let c=!0;const l=C(d(a,{handleAnsi:e?.handleAnsi,handleEmoji:e?.handleEmoji,knownAcronyms:e?.knownAcronyms,locale:e?.locale,normalize:e?.normalize,separators:void 0,stripAnsi:e?.stripAnsi,stripEmoji:e?.stripEmoji}).map(t=>{if(e?.handleAnsi&&o.test(t))return t;const n=e?.locale?.startsWith("de")?y(t):t,i=e?.locale?n.toLocaleLowerCase(e.locale):n.toLowerCase();return c?(c=!1,h(i,e)):u(i,e)}),"");return m&&r&&s.set(r,l),l};export{k as default};
@@ -1,5 +1,5 @@
1
- import { b as CaseOptions, a as CapitalCase } from "../packem_shared/types.d-CMNqA5bi.js";
2
- import "../packem_shared/types.d-LgsTR37y.js";
1
+ import { b as CaseOptions, a as CapitalCase } from "../packem_shared/types.d-BdJ2aEyS.js";
2
+ import "../packem_shared/types.d-Bky9TnxG.js";
3
3
  /**
4
4
  * Converts a string to Capital Case.
5
5
  * @example
@@ -1 +1 @@
1
- import{c as m}from"../packem_shared/constants-aPzGW29R.js";import{i as c}from"../packem_shared/lru-cache-BtMSrYQJ.js";import{splitByCase as p}from"./split-by-case.js";import f from"./upper-first.js";import{a as h}from"../packem_shared/generate-cache-key-B_0X7MKm.js";import A from"../packem_shared/joinSegments-CaHT-45s.js";import{a as d}from"../packem_shared/normalize-german-eszett-hNMwtGjd.js";const u=new c(1e3),S=(a,o)=>{if(typeof a!="string")return"";const s=o?.cache??!1,i=o?.cacheStore??u;let r;if(s&&(r=h(a,o)),s&&r&&i.has(r))return i.get(r);const l=p(a,{handleAnsi:o?.handleAnsi,handleEmoji:o?.handleEmoji,knownAcronyms:o?.knownAcronyms,locale:o?.locale,normalize:o?.normalize,separators:void 0,stripAnsi:o?.stripAnsi,stripEmoji:o?.stripEmoji}).map(t=>{if(m.test(t))return t;const e=o?.locale?.startsWith("de")?d(t):t;return f(o?.locale?e.toLocaleLowerCase(o.locale):e.toLocaleLowerCase(),o)}),n=A(l," ");return s&&r&&i.set(r,n),n};export{S as default};
1
+ import{c as n}from"../packem_shared/constants-BGGeBKGT.js";import{L as i}from"../packem_shared/lru-cache-BD25OaEQ.js";import{splitByCase as f}from"./split-by-case.js";import h from"./upper-first.js";import{g as d}from"../packem_shared/generate-cache-key-th9N8-CB.js";import p from"../packem_shared/joinSegments-9qx7xSy7.js";import{n as u}from"../packem_shared/normalize-german-eszett-DtW4F-Wg.js";const A=new i(1e3),z=(t,e)=>{if(typeof t!="string")return"";const s=e?.cache??!1,c=e?.cacheStore??A;let r;if(s&&(r=d(t,e)),s&&r&&c.has(r))return c.get(r);const m=f(t,{handleAnsi:e?.handleAnsi,handleEmoji:e?.handleEmoji,knownAcronyms:e?.knownAcronyms,locale:e?.locale,normalize:e?.normalize,separators:void 0,stripAnsi:e?.stripAnsi,stripEmoji:e?.stripEmoji}).map(a=>{if(n.test(a))return a;const l=e?.locale?.startsWith("de")?u(a):a;return h(e?.locale?l.toLocaleLowerCase(e.locale):l.toLocaleLowerCase(),e)}),o=p(m," ");return s&&r&&c.set(r,o),o};export{z as default};
@@ -1,5 +1,5 @@
1
- import { b as CaseOptions, c as ConstantCase } from "../packem_shared/types.d-CMNqA5bi.js";
2
- import "../packem_shared/types.d-LgsTR37y.js";
1
+ import { b as CaseOptions, c as ConstantCase } from "../packem_shared/types.d-BdJ2aEyS.js";
2
+ import "../packem_shared/types.d-Bky9TnxG.js";
3
3
  /**
4
4
  * Converts a string to CONSTANT_CASE.
5
5
  * @example
@@ -1 +1 @@
1
- import{i as r}from"../packem_shared/lru-cache-BtMSrYQJ.js";import{kebabCase as t}from"./kebab-case.js";const a=new r(1e3),m=(e,o)=>t(e,{cacheStore:a,...o,joiner:"_",toUpperCase:!0});export{m as default};
1
+ import{L as a}from"../packem_shared/lru-cache-BD25OaEQ.js";import{kebabCase as o}from"./kebab-case.js";const r=new a(1e3),n=(e,t)=>o(e,{cacheStore:r,...t,joiner:"_",toUpperCase:!0});export{n as default};
@@ -1,5 +1,5 @@
1
- import { b as CaseOptions, D as DotCase } from "../packem_shared/types.d-CMNqA5bi.js";
2
- import "../packem_shared/types.d-LgsTR37y.js";
1
+ import { b as CaseOptions, D as DotCase } from "../packem_shared/types.d-BdJ2aEyS.js";
2
+ import "../packem_shared/types.d-Bky9TnxG.js";
3
3
  /**
4
4
  * Converts a string to dot.case.
5
5
  * @example
@@ -1 +1 @@
1
- import{i as r}from"../packem_shared/lru-cache-BtMSrYQJ.js";import{kebabCase as a}from"./kebab-case.js";const t=new r(1e3),c=(e,o)=>a(e,{cacheStore:t,...o,joiner:"."});export{c as default};
1
+ import{L as a}from"../packem_shared/lru-cache-BD25OaEQ.js";import{kebabCase as t}from"./kebab-case.js";const r=new a(1e3),f=(e,o)=>t(e,{cacheStore:r,...o,joiner:"."});export{f as default};
@@ -1,5 +1,5 @@
1
- import { b as CaseOptions, F as FlatCase } from "../packem_shared/types.d-CMNqA5bi.js";
2
- import "../packem_shared/types.d-LgsTR37y.js";
1
+ import { b as CaseOptions, F as FlatCase } from "../packem_shared/types.d-BdJ2aEyS.js";
2
+ import "../packem_shared/types.d-Bky9TnxG.js";
3
3
  /**
4
4
  * Converts a string to flat case (all lowercase, no separators).
5
5
  * @example
@@ -1 +1 @@
1
- import{i as r}from"../packem_shared/lru-cache-BtMSrYQJ.js";import{kebabCase as t}from"./kebab-case.js";const a=new r(1e3),c=(e,o)=>t(e,{cacheStore:a,...o,joiner:""});export{c as default};
1
+ import{L as o}from"../packem_shared/lru-cache-BD25OaEQ.js";import{kebabCase as t}from"./kebab-case.js";const r=new o(1e3),f=(e,a)=>t(e,{cacheStore:r,...a,joiner:""});export{f as default};
@@ -1,5 +1,5 @@
1
- import { b as CaseOptions, d as FlipCase } from "../packem_shared/types.d-CMNqA5bi.js";
2
- import "../packem_shared/types.d-LgsTR37y.js";
1
+ import { b as CaseOptions, d as FlipCase } from "../packem_shared/types.d-BdJ2aEyS.js";
2
+ import "../packem_shared/types.d-Bky9TnxG.js";
3
3
  /**
4
4
  * Options specific to flip case operations.
5
5
  * Note: handleEmoji is not needed as the function preserves emojis by default
@@ -1 +1 @@
1
- import{s as m}from"../packem_shared/constants-aPzGW29R.js";import{i as h}from"../packem_shared/lru-cache-BtMSrYQJ.js";import{r as g}from"../packem_shared/strip-vt-control-characters-BW1RglLp.js";import{a as C}from"../packem_shared/generate-cache-key-B_0X7MKm.js";const u=new h(1e3),x=(i,o)=>{if(typeof i!="string"||i.length===0)return"";const r=o?.cache??!1,c=o?.cacheStore??u;let l;if(r&&(l=C(i,o)),r&&l&&c.has(l))return c.get(l);let e=i;o?.stripEmoji&&(e=m(e)),o?.stripAnsi&&(e=g(e));let n="",t=0;for(;t<e.length;){if(o?.handleAnsi&&e[t]==="\x1B"){let p=e[t];for(t+=1;t<e.length&&e[t]!=="m";)p+=e[t],t+=1;t<e.length&&(p+=e[t],n+=p),t+=1;continue}const s=e[t],f=o?.locale?s.toLocaleLowerCase(o.locale):s.toLowerCase();let a;s===f?a=o?.locale?s.toLocaleUpperCase(o.locale):s.toUpperCase():a=f,n+=a,t+=1}return r&&l&&c.set(l,n),n};export{x as flipCase};
1
+ import{s as C}from"../packem_shared/constants-BGGeBKGT.js";import{L as m}from"../packem_shared/lru-cache-BD25OaEQ.js";import{s as p}from"../packem_shared/strip-vt-control-characters-vMeu7uFw.js";import{g}from"../packem_shared/generate-cache-key-th9N8-CB.js";const d=new m(1e3),x=(c,t)=>{if(typeof c!="string"||c.length===0)return"";const h=t?.cache??!1,o=t?.cacheStore??d;let a;if(h&&(a=g(c,t)),h&&a&&o.has(a))return o.get(a);let e=c;t?.stripEmoji&&(e=C(e)),t?.stripAnsi&&(e=p(e));let s="",r=0;for(;r<e.length;){if(t?.handleAnsi&&e[r]==="\x1B"){let f=e[r];for(r+=1;r<e.length&&e[r]!=="m";)f+=e[r],r+=1;r<e.length&&(f+=e[r],s+=f),r+=1;continue}const l=e[r],n=t?.locale?l.toLocaleLowerCase(t.locale):l.toLowerCase();let i;l===n?i=t?.locale?l.toLocaleUpperCase(t.locale):l.toUpperCase():i=n,s+=i,r+=1}return h&&a&&o.set(a,s),s};export{x as flipCase};
@@ -1,5 +1,5 @@
1
- import { I as IdentifyCase } from "../packem_shared/types.d-CMNqA5bi.js";
2
- import "../packem_shared/types.d-LgsTR37y.js";
1
+ import { I as IdentifyCase } from "../packem_shared/types.d-BdJ2aEyS.js";
2
+ import "../packem_shared/types.d-Bky9TnxG.js";
3
3
  /**
4
4
  * Identifies the case style of a string.
5
5
  * @example
@@ -1 +1 @@
1
- const n=/^([A-Z][a-z]*)+$/,r=/[a-z]/i,a=/^[A-Z0-9_]+$/,i=/^[a-z0-9_]+$/,u=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,l=/^[a-z ]+$/,o=/^[A-Z][A-Z0-9]*$/,p=/\s+/,z=/^\d+$/,c=/^[a-z][a-z0-9]*(?:[A-Z][a-z0-9]*)+$/,f=/^[a-z]/,$=/[.!?;:,](?!\s|$)/,d=e=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(!e||!r.test(e))return"unknown";if(e.includes("_"))return a.test(e)?"upper_snake":i.test(e)?"snake":"mixed";if(e.includes("-"))return u.test(e)?"kebab":"mixed";if(l.test(e))return"lower";if(o.test(e))return"upper";const t=e.split(p);return t.length>1&&t.every(s=>n.test(s))||t.length>1&&z.test(t[0])&&n.test(t[1])?"title":t.length>1&&n.test(t[0])&&f.test(t[1])?"sentence":n.test(e)?"pascal":c.test(e)?"camel":$.test(e)?"unknown":"mixed"};export{d as default};
1
+ const e=/^([A-Z][a-z]*)+$/,s=/[a-z]/i,E=/^[A-Z0-9_]+$/,_=/^[a-z0-9_]+$/,i=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,S=/^[a-z ]+$/,A=/^[A-Z][A-Z0-9]*$/,o=/\s+/,c=/^\d+$/,I=/^[a-z][a-z0-9]*(?:[A-Z][a-z0-9]*)+$/,f=/^[a-z]/,C=/[.!?;:,](?!\s|$)/,u=t=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(!t||!s.test(t))return"unknown";if(t.includes("_"))return E.test(t)?"upper_snake":_.test(t)?"snake":"mixed";if(t.includes("-"))return i.test(t)?"kebab":"mixed";if(S.test(t))return"lower";if(A.test(t))return"upper";const n=t.split(o);return n.length>1&&n.every(r=>e.test(r))||n.length>1&&c.test(n[0])&&e.test(n[1])?"title":n.length>1&&e.test(n[0])&&f.test(n[1])?"sentence":e.test(t)?"pascal":I.test(t)?"camel":C.test(t)?"unknown":"mixed"};export{u as default};
@@ -1,4 +1,4 @@
1
- export type { N as NodeLocale } from "../packem_shared/types.d-LgsTR37y.js";
1
+ export type { N as NodeLocale } from "../packem_shared/types.d-Bky9TnxG.js";
2
2
  export { default as camelCase } from "./camel-case.js";
3
3
  export { default as capitalCase } from "./capital-case.js";
4
4
  export { default as constantCase } from "./constant-case.js";
@@ -17,7 +17,7 @@ export { default as snakeCase } from "./snake-case.js";
17
17
  export { type SplitOptions, splitByCase } from "./split-by-case.js";
18
18
  export { default as titleCase } from "./title-case.js";
19
19
  export { default as trainCase } from "./train-case.js";
20
- export type { C as CamelCase, a as CapitalCase, b as CaseOptions, c as ConstantCase, D as DotCase, F as FlatCase, d as FlipCase, I as IdentifyCase, K as KebabCase, L as LocaleOptions, e as LowerFirst, N as NoCase, P as PascalCase, f as PascalSnakeCase, g as PathCase, S as SentenceCase, h as SnakeCase, i as SplitByCase, T as TitleCase, j as TrainCase, U as UpperFirst } from "../packem_shared/types.d-CMNqA5bi.js";
20
+ export type { C as CamelCase, a as CapitalCase, b as CaseOptions, c as ConstantCase, D as DotCase, F as FlatCase, d as FlipCase, I as IdentifyCase, K as KebabCase, L as LocaleOptions, e as LowerFirst, N as NoCase, P as PascalCase, f as PascalSnakeCase, g as PathCase, S as SentenceCase, h as SnakeCase, i as SplitByCase, T as TitleCase, j as TrainCase, U as UpperFirst } from "../packem_shared/types.d-BdJ2aEyS.js";
21
21
  export { default as upperFirst } from "./upper-first.js";
22
22
  /**
23
23
  * Joins segments with a joiner, handling ANSI sequences and emojis correctly.
@@ -1 +1 @@
1
- import{default as t}from"./camel-case.js";import{default as r}from"./capital-case.js";import{default as f}from"./constant-case.js";import{default as l}from"./dot-case.js";import{default as x}from"./flat-case.js";import{flipCase as u}from"./flip-case.js";import{default as n}from"./identify-case.js";import{kebabCase as c}from"./kebab-case.js";import{default as b}from"./lower-first.js";import{default as F}from"./no-case.js";import{default as g}from"./pascal-case.js";import{default as j}from"./pascal-snake-case.js";import{default as B}from"./path-case.js";import{default as v}from"./sentence-case.js";import{default as A}from"./snake-case.js";import{splitByCase as E}from"./split-by-case.js";import{default as H}from"./title-case.js";import{default as J}from"./train-case.js";import{default as L}from"./upper-first.js";import{default as N}from"../packem_shared/joinSegments-CaHT-45s.js";export{t as camelCase,r as capitalCase,f as constantCase,l as dotCase,x as flatCase,u as flipCase,n as identifyCase,N as joinSegments,c as kebabCase,b as lowerFirst,F as noCase,g as pascalCase,j as pascalSnakeCase,B as pathCase,v as sentenceCase,A as snakeCase,E as splitByCase,H as titleCase,J as trainCase,L as upperFirst};
1
+ import{default as t}from"./camel-case.js";import{default as r}from"./capital-case.js";import{default as f}from"./constant-case.js";import{default as l}from"./dot-case.js";import{default as x}from"./flat-case.js";import{flipCase as u}from"./flip-case.js";import{default as n}from"./identify-case.js";import{kebabCase as c}from"./kebab-case.js";import{default as b}from"./lower-first.js";import{default as F}from"./no-case.js";import{default as g}from"./pascal-case.js";import{default as j}from"./pascal-snake-case.js";import{default as B}from"./path-case.js";import{default as v}from"./sentence-case.js";import{default as A}from"./snake-case.js";import{splitByCase as E}from"./split-by-case.js";import{default as H}from"./title-case.js";import{default as J}from"./train-case.js";import{default as L}from"./upper-first.js";import{default as N}from"../packem_shared/joinSegments-9qx7xSy7.js";export{t as camelCase,r as capitalCase,f as constantCase,l as dotCase,x as flatCase,u as flipCase,n as identifyCase,N as joinSegments,c as kebabCase,b as lowerFirst,F as noCase,g as pascalCase,j as pascalSnakeCase,B as pathCase,v as sentenceCase,A as snakeCase,E as splitByCase,H as titleCase,J as trainCase,L as upperFirst};
@@ -1,5 +1,5 @@
1
- import { b as CaseOptions, K as KebabCase } from "../packem_shared/types.d-CMNqA5bi.js";
2
- import "../packem_shared/types.d-LgsTR37y.js";
1
+ import { b as CaseOptions, K as KebabCase } from "../packem_shared/types.d-BdJ2aEyS.js";
2
+ import "../packem_shared/types.d-Bky9TnxG.js";
3
3
  interface KebabCaseOptions extends CaseOptions {
4
4
  /**
5
5
  * String used to join words together in kebab case format.
@@ -1 +1 @@
1
- import{c}from"../packem_shared/constants-aPzGW29R.js";import{i as m}from"../packem_shared/lru-cache-BtMSrYQJ.js";import{splitByCase as p}from"./split-by-case.js";import{a as f}from"../packem_shared/generate-cache-key-B_0X7MKm.js";import h from"../packem_shared/joinSegments-CaHT-45s.js";import{a as A}from"../packem_shared/normalize-german-eszett-hNMwtGjd.js";const d=new m(1e3),L=(s,o)=>{if(typeof s!="string")return"";const e=o?.cache??!1,n=o?.cacheStore??d;let r;if(e&&(r=f(s,o)),e&&r&&n.has(r))return n.get(r);const l=p(s,{handleAnsi:o?.handleAnsi,handleEmoji:o?.handleEmoji,knownAcronyms:o?.knownAcronyms,locale:o?.locale,normalize:o?.normalize,separators:void 0,stripAnsi:o?.stripAnsi,stripEmoji:o?.stripEmoji}).map(t=>{if(o?.handleAnsi&&c.test(t))return t;if(o?.toUpperCase)return o.locale?t.toLocaleUpperCase(o.locale):t.toUpperCase();const i=o?.locale?.startsWith("de")?A(t):t;return o?.locale?i.toLocaleLowerCase(o.locale):i.toLowerCase()}),a=h(l,o?.joiner??"-");return e&&r&&n.set(r,a),a};export{L as kebabCase};
1
+ import{c as o}from"../packem_shared/constants-BGGeBKGT.js";import{L as i}from"../packem_shared/lru-cache-BD25OaEQ.js";import{splitByCase as f}from"./split-by-case.js";import{g as h}from"../packem_shared/generate-cache-key-th9N8-CB.js";import C from"../packem_shared/joinSegments-9qx7xSy7.js";import{n as u}from"../packem_shared/normalize-german-eszett-DtW4F-Wg.js";const A=new i(1e3),g=(t,e)=>{if(typeof t!="string")return"";const c=e?.cache??!1,s=e?.cacheStore??A;let r;if(c&&(r=h(t,e)),c&&r&&s.has(r))return s.get(r);const m=f(t,{handleAnsi:e?.handleAnsi,handleEmoji:e?.handleEmoji,knownAcronyms:e?.knownAcronyms,locale:e?.locale,normalize:e?.normalize,separators:void 0,stripAnsi:e?.stripAnsi,stripEmoji:e?.stripEmoji}).map(a=>{if(e?.handleAnsi&&o.test(a))return a;if(e?.toUpperCase)return e.locale?a.toLocaleUpperCase(e.locale):a.toUpperCase();const n=e?.locale?.startsWith("de")?u(a):a;return e?.locale?n.toLocaleLowerCase(e.locale):n.toLowerCase()}),l=C(m,e?.joiner??"-");return c&&r&&s.set(r,l),l};export{g as kebabCase};
@@ -1,5 +1,5 @@
1
- import { L as LocaleOptions, e as LowerFirst } from "../packem_shared/types.d-CMNqA5bi.js";
2
- import "../packem_shared/types.d-LgsTR37y.js";
1
+ import { L as LocaleOptions, e as LowerFirst } from "../packem_shared/types.d-BdJ2aEyS.js";
2
+ import "../packem_shared/types.d-Bky9TnxG.js";
3
3
  /**
4
4
  * Converts first character to lower case.
5
5
  * @param value The string to convert.
@@ -1 +1 @@
1
- const a=(e,o)=>typeof e!="string"||e===""?"":(o?.locale?e[0].toLocaleLowerCase(o.locale):e[0].toLowerCase())+e.slice(1);export{a as default};
1
+ const o=(r,t)=>typeof r!="string"||r===""?"":(t?.locale?r[0].toLocaleLowerCase(t.locale):r[0].toLowerCase())+r.slice(1);export{o as default};
@@ -1,5 +1,5 @@
1
- import { b as CaseOptions, N as NoCase } from "../packem_shared/types.d-CMNqA5bi.js";
2
- import "../packem_shared/types.d-LgsTR37y.js";
1
+ import { b as CaseOptions, N as NoCase } from "../packem_shared/types.d-BdJ2aEyS.js";
2
+ import "../packem_shared/types.d-Bky9TnxG.js";
3
3
  /**
4
4
  * Converts a string to no case (space separated words).
5
5
  * @example
@@ -1 +1 @@
1
- import{i as r}from"../packem_shared/lru-cache-BtMSrYQJ.js";import{kebabCase as a}from"./kebab-case.js";const t=new r(1e3),c=(e,o)=>a(e,{cacheStore:t,...o,joiner:" "});export{c as default};
1
+ import{L as a}from"../packem_shared/lru-cache-BD25OaEQ.js";import{kebabCase as t}from"./kebab-case.js";const r=new a(1e3),n=(e,o)=>t(e,{cacheStore:r,...o,joiner:" "});export{n as default};
@@ -1,5 +1,5 @@
1
- import { b as CaseOptions, P as PascalCase } from "../packem_shared/types.d-CMNqA5bi.js";
2
- import "../packem_shared/types.d-LgsTR37y.js";
1
+ import { b as CaseOptions, P as PascalCase } from "../packem_shared/types.d-BdJ2aEyS.js";
2
+ import "../packem_shared/types.d-Bky9TnxG.js";
3
3
  /**
4
4
  * Converts a string to PascalCase.
5
5
  * @param value The string to convert.
@@ -1 +1 @@
1
- import{c as e}from"../packem_shared/constants-aPzGW29R.js";import{i as m}from"../packem_shared/lru-cache-BtMSrYQJ.js";import{splitByCase as c}from"./split-by-case.js";import p from"./upper-first.js";import{a as f}from"../packem_shared/generate-cache-key-B_0X7MKm.js";import h from"../packem_shared/joinSegments-CaHT-45s.js";import{a as A}from"../packem_shared/normalize-german-eszett-hNMwtGjd.js";const d=new m(1e3),L=(t,o)=>{if(typeof t!="string"||!t)return"";const a=o?.cache??!1,i=o?.cacheStore??d;let r;if(a&&(r=f(t,o)),a&&r&&i.has(r))return i.get(r);const n=h(c(t,{handleAnsi:o?.handleAnsi,handleEmoji:o?.handleEmoji,knownAcronyms:o?.knownAcronyms,locale:o?.locale,normalize:o?.normalize,separators:void 0,stripAnsi:o?.stripAnsi,stripEmoji:o?.stripEmoji}).map(s=>{if(o?.handleAnsi&&e.test(s))return s;const l=o?.locale?.startsWith("de")?A(s):s;return p(o?.locale?l.toLocaleLowerCase(o.locale):l.toLowerCase(),{locale:o?.locale})}),"");return a&&r&&i.set(r,n),n};export{L as default};
1
+ import{c as n}from"../packem_shared/constants-BGGeBKGT.js";import{L as i}from"../packem_shared/lru-cache-BD25OaEQ.js";import{splitByCase as o}from"./split-by-case.js";import f from"./upper-first.js";import{g as h}from"../packem_shared/generate-cache-key-th9N8-CB.js";import A from"../packem_shared/joinSegments-9qx7xSy7.js";import{n as C}from"../packem_shared/normalize-german-eszett-DtW4F-Wg.js";const d=new i(1e3),L=(a,e)=>{if(typeof a!="string"||!a)return"";const c=e?.cache??!1,l=e?.cacheStore??d;let r;if(c&&(r=h(a,e)),c&&r&&l.has(r))return l.get(r);const s=A(o(a,{handleAnsi:e?.handleAnsi,handleEmoji:e?.handleEmoji,knownAcronyms:e?.knownAcronyms,locale:e?.locale,normalize:e?.normalize,separators:void 0,stripAnsi:e?.stripAnsi,stripEmoji:e?.stripEmoji}).map(t=>{if(e?.handleAnsi&&n.test(t))return t;const m=e?.locale?.startsWith("de")?C(t):t;return f(e?.locale?m.toLocaleLowerCase(e.locale):m.toLowerCase(),{locale:e?.locale})}),"");return c&&r&&l.set(r,s),s};export{L as default};
@@ -1,5 +1,5 @@
1
- import { b as CaseOptions, f as PascalSnakeCase } from "../packem_shared/types.d-CMNqA5bi.js";
2
- import "../packem_shared/types.d-LgsTR37y.js";
1
+ import { b as CaseOptions, f as PascalSnakeCase } from "../packem_shared/types.d-BdJ2aEyS.js";
2
+ import "../packem_shared/types.d-Bky9TnxG.js";
3
3
  /**
4
4
  * Converts a string to Pascal_Snake_Case.
5
5
  * @example
@@ -1 +1 @@
1
- import{i as l}from"../packem_shared/lru-cache-BtMSrYQJ.js";import m from"./no-case.js";import n from"./upper-first.js";import{a as p}from"../packem_shared/generate-cache-key-B_0X7MKm.js";const s=new l(1e3),d=(r,t)=>{if(typeof r!="string")return"";const o=t?.cache??!1,c=t?.cacheStore??s;let e;if(o&&(e=p(r,t)),o&&e&&c.has(e))return c.get(e);const f=m(r,{...t,cache:!1}).split(" ").map(i=>n(i,{locale:t?.locale})).join("_");return o&&e&&c.set(e,f),f};export{d as default};
1
+ import{L as f}from"../packem_shared/lru-cache-BD25OaEQ.js";import h from"./no-case.js";import l from"./upper-first.js";import{g as n}from"../packem_shared/generate-cache-key-th9N8-CB.js";const m=new f(1e3),g=(a,r)=>{if(typeof a!="string")return"";const t=r?.cache??!1,c=r?.cacheStore??m;let e;if(t&&(e=n(a,r)),t&&e&&c.has(e))return c.get(e);const s=h(a,{...r,cache:!1}).split(" ").map(o=>l(o,{locale:r?.locale})).join("_");return t&&e&&c.set(e,s),s};export{g as default};
@@ -1,5 +1,5 @@
1
- import { b as CaseOptions, g as PathCase } from "../packem_shared/types.d-CMNqA5bi.js";
2
- import "../packem_shared/types.d-LgsTR37y.js";
1
+ import { b as CaseOptions, g as PathCase } from "../packem_shared/types.d-BdJ2aEyS.js";
2
+ import "../packem_shared/types.d-Bky9TnxG.js";
3
3
  /**
4
4
  * Converts a string to path/case.
5
5
  * @example