@visulima/string 1.0.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 (170) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/LICENSE.md +77 -0
  3. package/README.md +880 -0
  4. package/dist/case/camel-case.cjs +59 -0
  5. package/dist/case/camel-case.d.cts +7 -0
  6. package/dist/case/camel-case.d.mts +7 -0
  7. package/dist/case/camel-case.d.ts +7 -0
  8. package/dist/case/camel-case.mjs +57 -0
  9. package/dist/case/capital-case.cjs +51 -0
  10. package/dist/case/capital-case.d.cts +7 -0
  11. package/dist/case/capital-case.d.mts +7 -0
  12. package/dist/case/capital-case.d.ts +7 -0
  13. package/dist/case/capital-case.mjs +49 -0
  14. package/dist/case/constant-case.cjs +11 -0
  15. package/dist/case/constant-case.d.cts +7 -0
  16. package/dist/case/constant-case.d.mts +7 -0
  17. package/dist/case/constant-case.d.ts +7 -0
  18. package/dist/case/constant-case.mjs +9 -0
  19. package/dist/case/dot-case.cjs +11 -0
  20. package/dist/case/dot-case.d.cts +7 -0
  21. package/dist/case/dot-case.d.mts +7 -0
  22. package/dist/case/dot-case.d.ts +7 -0
  23. package/dist/case/dot-case.mjs +9 -0
  24. package/dist/case/flat-case.cjs +11 -0
  25. package/dist/case/flat-case.d.cts +7 -0
  26. package/dist/case/flat-case.d.mts +7 -0
  27. package/dist/case/flat-case.d.ts +7 -0
  28. package/dist/case/flat-case.mjs +9 -0
  29. package/dist/case/flip-case.cjs +61 -0
  30. package/dist/case/flip-case.d.cts +8 -0
  31. package/dist/case/flip-case.d.mts +8 -0
  32. package/dist/case/flip-case.d.ts +8 -0
  33. package/dist/case/flip-case.mjs +57 -0
  34. package/dist/case/identify-case.cjs +30 -0
  35. package/dist/case/identify-case.d.cts +7 -0
  36. package/dist/case/identify-case.d.mts +7 -0
  37. package/dist/case/identify-case.d.ts +7 -0
  38. package/dist/case/identify-case.mjs +28 -0
  39. package/dist/case/index.cjs +47 -0
  40. package/dist/case/index.d.cts +26 -0
  41. package/dist/case/index.d.mts +26 -0
  42. package/dist/case/index.d.ts +26 -0
  43. package/dist/case/index.mjs +20 -0
  44. package/dist/case/kebab-case.cjs +61 -0
  45. package/dist/case/kebab-case.d.cts +11 -0
  46. package/dist/case/kebab-case.d.mts +11 -0
  47. package/dist/case/kebab-case.d.ts +11 -0
  48. package/dist/case/kebab-case.mjs +57 -0
  49. package/dist/case/lower-first.cjs +13 -0
  50. package/dist/case/lower-first.d.cts +7 -0
  51. package/dist/case/lower-first.d.mts +7 -0
  52. package/dist/case/lower-first.d.ts +7 -0
  53. package/dist/case/lower-first.mjs +11 -0
  54. package/dist/case/no-case.cjs +11 -0
  55. package/dist/case/no-case.d.cts +7 -0
  56. package/dist/case/no-case.d.mts +7 -0
  57. package/dist/case/no-case.d.ts +7 -0
  58. package/dist/case/no-case.mjs +9 -0
  59. package/dist/case/pascal-case.cjs +52 -0
  60. package/dist/case/pascal-case.d.cts +7 -0
  61. package/dist/case/pascal-case.d.mts +7 -0
  62. package/dist/case/pascal-case.d.ts +7 -0
  63. package/dist/case/pascal-case.mjs +50 -0
  64. package/dist/case/pascal-snake-case.cjs +32 -0
  65. package/dist/case/pascal-snake-case.d.cts +7 -0
  66. package/dist/case/pascal-snake-case.d.mts +7 -0
  67. package/dist/case/pascal-snake-case.d.ts +7 -0
  68. package/dist/case/pascal-snake-case.mjs +30 -0
  69. package/dist/case/path-case.cjs +11 -0
  70. package/dist/case/path-case.d.cts +7 -0
  71. package/dist/case/path-case.d.mts +7 -0
  72. package/dist/case/path-case.d.ts +7 -0
  73. package/dist/case/path-case.mjs +9 -0
  74. package/dist/case/sentence-case.cjs +58 -0
  75. package/dist/case/sentence-case.d.cts +7 -0
  76. package/dist/case/sentence-case.d.mts +7 -0
  77. package/dist/case/sentence-case.d.ts +7 -0
  78. package/dist/case/sentence-case.mjs +56 -0
  79. package/dist/case/snake-case.cjs +11 -0
  80. package/dist/case/snake-case.d.cts +7 -0
  81. package/dist/case/snake-case.d.mts +7 -0
  82. package/dist/case/snake-case.d.ts +7 -0
  83. package/dist/case/snake-case.mjs +9 -0
  84. package/dist/case/split-by-case.cjs +638 -0
  85. package/dist/case/split-by-case.d.cts +16 -0
  86. package/dist/case/split-by-case.d.mts +16 -0
  87. package/dist/case/split-by-case.d.ts +16 -0
  88. package/dist/case/split-by-case.mjs +634 -0
  89. package/dist/case/title-case.cjs +47 -0
  90. package/dist/case/title-case.d.cts +7 -0
  91. package/dist/case/title-case.d.mts +7 -0
  92. package/dist/case/title-case.d.ts +7 -0
  93. package/dist/case/title-case.mjs +45 -0
  94. package/dist/case/train-case.cjs +44 -0
  95. package/dist/case/train-case.d.cts +7 -0
  96. package/dist/case/train-case.d.mts +7 -0
  97. package/dist/case/train-case.d.ts +7 -0
  98. package/dist/case/train-case.mjs +42 -0
  99. package/dist/case/upper-first.cjs +13 -0
  100. package/dist/case/upper-first.d.cts +7 -0
  101. package/dist/case/upper-first.d.mts +7 -0
  102. package/dist/case/upper-first.d.ts +7 -0
  103. package/dist/case/upper-first.mjs +11 -0
  104. package/dist/get-string-truncated-width.cjs +386 -0
  105. package/dist/get-string-truncated-width.d.cts +25 -0
  106. package/dist/get-string-truncated-width.d.mts +25 -0
  107. package/dist/get-string-truncated-width.d.ts +25 -0
  108. package/dist/get-string-truncated-width.mjs +382 -0
  109. package/dist/get-string-width.cjs +11 -0
  110. package/dist/get-string-width.d.cts +6 -0
  111. package/dist/get-string-width.d.mts +6 -0
  112. package/dist/get-string-width.d.ts +6 -0
  113. package/dist/get-string-width.mjs +7 -0
  114. package/dist/index.cjs +60 -0
  115. package/dist/index.d.cts +43 -0
  116. package/dist/index.d.mts +43 -0
  117. package/dist/index.d.ts +43 -0
  118. package/dist/index.mjs +26 -0
  119. package/dist/native-string-types.d.cts +128 -0
  120. package/dist/native-string-types.d.mts +128 -0
  121. package/dist/native-string-types.d.ts +128 -0
  122. package/dist/outdent.cjs +122 -0
  123. package/dist/outdent.d.cts +15 -0
  124. package/dist/outdent.d.mts +15 -0
  125. package/dist/outdent.d.ts +15 -0
  126. package/dist/outdent.mjs +118 -0
  127. package/dist/packem_shared/LRUCache-Crb-m7cw.cjs +53 -0
  128. package/dist/packem_shared/LRUCache-udNErhWw.mjs +51 -0
  129. package/dist/packem_shared/WrapMode-BgOOthJV.mjs +545 -0
  130. package/dist/packem_shared/WrapMode-ZqTeXK8X.cjs +550 -0
  131. package/dist/packem_shared/constants-BnVGLrDr.mjs +99 -0
  132. package/dist/packem_shared/constants-HevSYUjU.cjs +149 -0
  133. package/dist/packem_shared/generate-cache-key-D8f1auDB.cjs +10 -0
  134. package/dist/packem_shared/generate-cache-key-YSju5pj2.mjs +8 -0
  135. package/dist/packem_shared/joinSegments-BH1CT4dK.cjs +48 -0
  136. package/dist/packem_shared/joinSegments-BHY8PPnk.mjs +46 -0
  137. package/dist/packem_shared/normalize-german-eszett-DJK0S2qj.cjs +11 -0
  138. package/dist/packem_shared/normalize-german-eszett-fpJ4lZL6.mjs +9 -0
  139. package/dist/packem_shared/types-BAd3WDHo.d.mts +59 -0
  140. package/dist/packem_shared/types-BNbQJg02.d.cts +41 -0
  141. package/dist/packem_shared/types-BNbQJg02.d.mts +41 -0
  142. package/dist/packem_shared/types-BNbQJg02.d.ts +41 -0
  143. package/dist/packem_shared/types-BttWSSIk.d.ts +59 -0
  144. package/dist/packem_shared/types-D2-6p7t1.d.cts +59 -0
  145. package/dist/slice.cjs +413 -0
  146. package/dist/slice.d.cts +10 -0
  147. package/dist/slice.d.mts +10 -0
  148. package/dist/slice.d.ts +10 -0
  149. package/dist/slice.mjs +409 -0
  150. package/dist/test/utils.cjs +77 -0
  151. package/dist/test/utils.d.cts +30 -0
  152. package/dist/test/utils.d.mts +30 -0
  153. package/dist/test/utils.d.ts +30 -0
  154. package/dist/test/utils.mjs +71 -0
  155. package/dist/test/vitest.cjs +11 -0
  156. package/dist/test/vitest.d.cts +8 -0
  157. package/dist/test/vitest.d.mts +8 -0
  158. package/dist/test/vitest.d.ts +8 -0
  159. package/dist/test/vitest.mjs +7 -0
  160. package/dist/truncate.cjs +90 -0
  161. package/dist/truncate.d.cts +12 -0
  162. package/dist/truncate.d.mts +12 -0
  163. package/dist/truncate.d.ts +12 -0
  164. package/dist/truncate.mjs +86 -0
  165. package/dist/utils.cjs +9 -0
  166. package/dist/utils.d.cts +14 -0
  167. package/dist/utils.d.mts +14 -0
  168. package/dist/utils.d.ts +14 -0
  169. package/dist/utils.mjs +1 -0
  170. package/package.json +468 -0
@@ -0,0 +1,118 @@
1
+ import { b as RE_ONLY_WHITESPACE_WITH_AT_LEAST_ONE_NEWLINE, c as RE_STARTS_WITH_NEWLINE_OR_IS_EMPTY, d as RE_LEADING_NEWLINE, e as RE_TRAILING_NEWLINE, f as RE_MATCH_NEWLINES, g as RE_DETECT_INDENTATION } from './packem_shared/constants-BnVGLrDr.mjs';
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
+ const hop = Object.prototype.hasOwnProperty;
6
+ const has = /* @__PURE__ */ __name((object, property) => hop.call(object, property), "has");
7
+ const extend = /* @__PURE__ */ __name((target, source) => {
8
+ for (const property in source) {
9
+ if (has(source, property)) {
10
+ target[property] = source[property];
11
+ }
12
+ }
13
+ return target;
14
+ }, "extend");
15
+ const internalOutdentArray = /* @__PURE__ */ __name((strings, firstInterpolatedValueSetsIndentationLevel, options) => {
16
+ if (strings.length === 0) {
17
+ return [];
18
+ }
19
+ let indentationLevel = 0;
20
+ const match = RE_DETECT_INDENTATION.exec(strings[0]);
21
+ if (match) {
22
+ indentationLevel = match[1].length;
23
+ }
24
+ const reSource = `(\\r\\n|\\r|\\n).{0,${indentationLevel}}`;
25
+ const reMatchIndent = new RegExp(reSource, "g");
26
+ if (firstInterpolatedValueSetsIndentationLevel) {
27
+ strings = strings.slice(1);
28
+ }
29
+ const { newline, trimLeadingNewline, trimTrailingNewline } = options;
30
+ const normalizeNewlines = typeof newline === "string";
31
+ const l = strings.length;
32
+ const outdentedStrings = Array.from({ length: l });
33
+ for (let index = 0; index < l; index++) {
34
+ let v = strings[index];
35
+ v = v.replace(reMatchIndent, "$1");
36
+ if (index === 0 && trimLeadingNewline) {
37
+ v = v.replace(RE_LEADING_NEWLINE, "");
38
+ }
39
+ if (index === l - 1 && trimTrailingNewline) {
40
+ v = v.replace(RE_TRAILING_NEWLINE, "");
41
+ }
42
+ if (normalizeNewlines) {
43
+ v = v.replaceAll(RE_MATCH_NEWLINES, newline);
44
+ }
45
+ outdentedStrings[index] = v;
46
+ }
47
+ return outdentedStrings;
48
+ }, "internalOutdentArray");
49
+ const concatStringsAndValues = /* @__PURE__ */ __name((strings, values) => {
50
+ const chunks = Array.from({ length: strings.length + values.length });
51
+ let index = 0;
52
+ const l = strings.length;
53
+ for (; index < l - 1; index++) {
54
+ chunks[index * 2] = strings[index];
55
+ chunks[index * 2 + 1] = String(values[index]);
56
+ }
57
+ chunks[index * 2] = strings[index];
58
+ return chunks.join("");
59
+ }, "concatStringsAndValues");
60
+ const isTemplateStringsArray = /* @__PURE__ */ __name((v) => has(v, "raw") && has(v, "length"), "isTemplateStringsArray");
61
+ const templateCache = /* @__PURE__ */ new WeakMap();
62
+ const createInstance = /* @__PURE__ */ __name((options) => {
63
+ const enableCache = options.cache !== false;
64
+ const cache = enableCache ? options.cacheStore ?? templateCache : null;
65
+ const hasNewlineOption = options.newline !== void 0;
66
+ function outdent2(stringsOrOptions, ...values) {
67
+ if (isTemplateStringsArray(stringsOrOptions)) {
68
+ const strings = stringsOrOptions;
69
+ const valuesLength = values.length;
70
+ if (strings.length === 1 && strings[0] === "") {
71
+ return "";
72
+ }
73
+ if (valuesLength === 0) {
74
+ if (enableCache && cache && !hasNewlineOption) {
75
+ const cached = cache.get(strings);
76
+ if (cached) {
77
+ return cached[0];
78
+ }
79
+ }
80
+ const result = internalOutdentArray(strings, false, options);
81
+ if (enableCache && cache) {
82
+ cache.set(strings, result);
83
+ }
84
+ return result[0];
85
+ }
86
+ const firstValueIsOutdent = values[0] === outdent2 || values[0] === defaultOutdent;
87
+ const firstInterpolatedValueSetsIndentationLevel = firstValueIsOutdent && RE_ONLY_WHITESPACE_WITH_AT_LEAST_ONE_NEWLINE.test(strings[0]) && RE_STARTS_WITH_NEWLINE_OR_IS_EMPTY.test(strings[1]);
88
+ let renderedArray;
89
+ if (enableCache && cache && !hasNewlineOption) {
90
+ renderedArray = cache.get(strings);
91
+ }
92
+ if (!renderedArray) {
93
+ renderedArray = internalOutdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options);
94
+ if (enableCache && cache) {
95
+ cache.set(strings, renderedArray);
96
+ }
97
+ }
98
+ return concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values);
99
+ }
100
+ return createInstance(extend(extend({}, options), stringsOrOptions));
101
+ }
102
+ __name(outdent2, "outdent");
103
+ return extend(outdent2, {
104
+ string(string_) {
105
+ if (string_ === "" || !string_) {
106
+ return "";
107
+ }
108
+ return internalOutdentArray([string_], false, options)[0];
109
+ }
110
+ });
111
+ }, "createInstance");
112
+ const defaultOutdent = createInstance({
113
+ trimLeadingNewline: true,
114
+ trimTrailingNewline: true
115
+ });
116
+ const outdent = defaultOutdent;
117
+
118
+ export { outdent };
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
+ class LRUCache {
6
+ static {
7
+ __name(this, "LRUCache");
8
+ }
9
+ capacity;
10
+ cache;
11
+ keyOrder;
12
+ constructor(capacity) {
13
+ this.capacity = capacity;
14
+ this.cache = /* @__PURE__ */ new Map();
15
+ this.keyOrder = [];
16
+ }
17
+ get(key) {
18
+ if (!this.cache.has(key)) {
19
+ return void 0;
20
+ }
21
+ this.keyOrder = this.keyOrder.filter((k) => k !== key);
22
+ this.keyOrder.push(key);
23
+ return this.cache.get(key);
24
+ }
25
+ has(key) {
26
+ return this.cache.has(key);
27
+ }
28
+ set(key, value) {
29
+ if (this.cache.has(key)) {
30
+ this.keyOrder = this.keyOrder.filter((k) => k !== key);
31
+ } else if (this.cache.size >= this.capacity) {
32
+ const lruKey = this.keyOrder.shift();
33
+ if (lruKey !== void 0) {
34
+ this.cache.delete(lruKey);
35
+ }
36
+ }
37
+ this.cache.set(key, value);
38
+ this.keyOrder.push(key);
39
+ }
40
+ delete(key) {
41
+ this.cache.delete(key);
42
+ this.keyOrder = this.keyOrder.filter((k) => k !== key);
43
+ }
44
+ clear() {
45
+ this.cache.clear();
46
+ this.keyOrder = [];
47
+ }
48
+ size() {
49
+ return this.cache.size;
50
+ }
51
+ }
52
+
53
+ module.exports = LRUCache;
@@ -0,0 +1,51 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ class LRUCache {
4
+ static {
5
+ __name(this, "LRUCache");
6
+ }
7
+ capacity;
8
+ cache;
9
+ keyOrder;
10
+ constructor(capacity) {
11
+ this.capacity = capacity;
12
+ this.cache = /* @__PURE__ */ new Map();
13
+ this.keyOrder = [];
14
+ }
15
+ get(key) {
16
+ if (!this.cache.has(key)) {
17
+ return void 0;
18
+ }
19
+ this.keyOrder = this.keyOrder.filter((k) => k !== key);
20
+ this.keyOrder.push(key);
21
+ return this.cache.get(key);
22
+ }
23
+ has(key) {
24
+ return this.cache.has(key);
25
+ }
26
+ set(key, value) {
27
+ if (this.cache.has(key)) {
28
+ this.keyOrder = this.keyOrder.filter((k) => k !== key);
29
+ } else if (this.cache.size >= this.capacity) {
30
+ const lruKey = this.keyOrder.shift();
31
+ if (lruKey !== void 0) {
32
+ this.cache.delete(lruKey);
33
+ }
34
+ }
35
+ this.cache.set(key, value);
36
+ this.keyOrder.push(key);
37
+ }
38
+ delete(key) {
39
+ this.cache.delete(key);
40
+ this.keyOrder = this.keyOrder.filter((k) => k !== key);
41
+ }
42
+ clear() {
43
+ this.cache.clear();
44
+ this.keyOrder = [];
45
+ }
46
+ size() {
47
+ return this.cache.size;
48
+ }
49
+ }
50
+
51
+ export { LRUCache as default };