@ts-fns/stdlib 0.1.0 → 0.2.1
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/dist/array/index.cjs +239 -37
- package/dist/array/index.cjs.map +1 -1
- package/dist/array/index.d.cts +437 -36
- package/dist/array/index.d.cts.map +1 -1
- package/dist/array/index.d.mts +437 -36
- package/dist/array/index.d.mts.map +1 -1
- package/dist/array/index.mjs +225 -22
- package/dist/array/index.mjs.map +1 -1
- package/dist/function/index.cjs +4 -2
- package/dist/function/index.d.cts +128 -13
- package/dist/function/index.d.cts.map +1 -1
- package/dist/function/index.d.mts +128 -13
- package/dist/function/index.d.mts.map +1 -1
- package/dist/function/index.mjs +3 -3
- package/dist/{function-DnI2v0p3.mjs → function-CYHPhQCQ.mjs} +84 -6
- package/dist/function-CYHPhQCQ.mjs.map +1 -0
- package/dist/{function-CB82a2GS.cjs → function-DYPifnmg.cjs} +95 -5
- package/dist/function-DYPifnmg.cjs.map +1 -0
- package/dist/{get-yrs1Kqho.cjs → get-1kqkxPFX.cjs} +20 -8
- package/dist/get-1kqkxPFX.cjs.map +1 -0
- package/dist/{get-CWL_cu6G.mjs → get-Dv6ejLZg.mjs} +21 -3
- package/dist/get-Dv6ejLZg.mjs.map +1 -0
- package/dist/guard/index.cjs +5 -12
- package/dist/guard/index.cjs.map +1 -1
- package/dist/guard/index.d.cts +18 -17
- package/dist/guard/index.d.cts.map +1 -1
- package/dist/guard/index.d.mts +18 -17
- package/dist/guard/index.d.mts.map +1 -1
- package/dist/guard/index.mjs +4 -12
- package/dist/guard/index.mjs.map +1 -1
- package/dist/index-MbdqaUt1.d.cts +54 -0
- package/dist/index-MbdqaUt1.d.cts.map +1 -0
- package/dist/index-k-paNOu4.d.mts +54 -0
- package/dist/index-k-paNOu4.d.mts.map +1 -0
- package/dist/iterator/index.cjs +72 -26
- package/dist/iterator/index.cjs.map +1 -1
- package/dist/iterator/index.d.cts +157 -5
- package/dist/iterator/index.d.cts.map +1 -1
- package/dist/iterator/index.d.mts +157 -5
- package/dist/iterator/index.d.mts.map +1 -1
- package/dist/iterator/index.mjs +66 -24
- package/dist/iterator/index.mjs.map +1 -1
- package/dist/lens/index.cjs +3 -3
- package/dist/lens/index.cjs.map +1 -1
- package/dist/lens/index.mjs +3 -3
- package/dist/lens/index.mjs.map +1 -1
- package/dist/map/index.cjs +88 -1
- package/dist/map/index.cjs.map +1 -1
- package/dist/map/index.d.cts +130 -2
- package/dist/map/index.d.cts.map +1 -1
- package/dist/map/index.d.mts +130 -2
- package/dist/map/index.d.mts.map +1 -1
- package/dist/map/index.mjs +86 -2
- package/dist/map/index.mjs.map +1 -1
- package/dist/number/index.cjs +91 -18
- package/dist/number/index.cjs.map +1 -1
- package/dist/number/index.d.cts +134 -19
- package/dist/number/index.d.cts.map +1 -1
- package/dist/number/index.d.mts +134 -19
- package/dist/number/index.d.mts.map +1 -1
- package/dist/number/index.mjs +91 -18
- package/dist/number/index.mjs.map +1 -1
- package/dist/object/index.cjs +111 -7
- package/dist/object/index.cjs.map +1 -1
- package/dist/object/index.d.cts +186 -26
- package/dist/object/index.d.cts.map +1 -1
- package/dist/object/index.d.mts +186 -26
- package/dist/object/index.d.mts.map +1 -1
- package/dist/object/index.mjs +111 -7
- package/dist/object/index.mjs.map +1 -1
- package/dist/orNull-CJNrTjhQ.cjs +45 -0
- package/dist/orNull-CJNrTjhQ.cjs.map +1 -0
- package/dist/orNull-EeXiCxD4.mjs +34 -0
- package/dist/orNull-EeXiCxD4.mjs.map +1 -0
- package/dist/order/index.cjs +22 -1
- package/dist/order/index.cjs.map +1 -1
- package/dist/order/index.d.cts +2 -2
- package/dist/order/index.d.mts +2 -2
- package/dist/order/index.mjs +22 -1
- package/dist/order/index.mjs.map +1 -1
- package/dist/{order.constants-BWSCg3C7.d.cts → order.constants-DpGY-EDp.d.cts} +4 -1
- package/dist/order.constants-DpGY-EDp.d.cts.map +1 -0
- package/dist/{order.constants-BWSCg3C7.d.mts → order.constants-DpGY-EDp.d.mts} +4 -1
- package/dist/order.constants-DpGY-EDp.d.mts.map +1 -0
- package/dist/purry-DXnhXie9.mjs +22 -0
- package/dist/purry-DXnhXie9.mjs.map +1 -0
- package/dist/purry-Dqp_F64t.cjs +27 -0
- package/dist/purry-Dqp_F64t.cjs.map +1 -0
- package/dist/set/index.cjs +59 -1
- package/dist/set/index.cjs.map +1 -1
- package/dist/set/index.d.cts +151 -2
- package/dist/set/index.d.cts.map +1 -1
- package/dist/set/index.d.mts +151 -2
- package/dist/set/index.d.mts.map +1 -1
- package/dist/set/index.mjs +59 -2
- package/dist/set/index.mjs.map +1 -1
- package/dist/string/index.cjs +289 -15
- package/dist/string/index.cjs.map +1 -1
- package/dist/string/index.d.cts +406 -1
- package/dist/string/index.d.cts.map +1 -1
- package/dist/string/index.d.mts +406 -1
- package/dist/string/index.d.mts.map +1 -1
- package/dist/string/index.mjs +271 -4
- package/dist/string/index.mjs.map +1 -1
- package/dist/tuple/index.cjs +20 -21
- package/dist/tuple/index.cjs.map +1 -1
- package/dist/tuple/index.d.cts +27 -58
- package/dist/tuple/index.d.cts.map +1 -1
- package/dist/tuple/index.d.mts +27 -58
- package/dist/tuple/index.d.mts.map +1 -1
- package/dist/tuple/index.mjs +20 -22
- package/dist/tuple/index.mjs.map +1 -1
- package/package.json +55 -127
- package/dist/function-CB82a2GS.cjs.map +0 -1
- package/dist/function-DnI2v0p3.mjs.map +0 -1
- package/dist/get-CWL_cu6G.mjs.map +0 -1
- package/dist/get-yrs1Kqho.cjs.map +0 -1
- package/dist/index-BJlKyBJH.d.cts +0 -18
- package/dist/index-BJlKyBJH.d.cts.map +0 -1
- package/dist/index-DGrnGMDt.d.mts +0 -18
- package/dist/index-DGrnGMDt.d.mts.map +0 -1
- package/dist/isNotNil-DrF-ohem.cjs +0 -28
- package/dist/isNotNil-DrF-ohem.cjs.map +0 -1
- package/dist/isNotNil-R5f1hC53.mjs +0 -23
- package/dist/isNotNil-R5f1hC53.mjs.map +0 -1
- package/dist/orThrow-V91Jw2lF.mjs +0 -15
- package/dist/orThrow-V91Jw2lF.mjs.map +0 -1
- package/dist/orThrow-ejzcQYAI.cjs +0 -20
- package/dist/orThrow-ejzcQYAI.cjs.map +0 -1
- package/dist/order.constants-BWSCg3C7.d.cts.map +0 -1
- package/dist/order.constants-BWSCg3C7.d.mts.map +0 -1
- package/dist/purry-B2_0DGLV.cjs +0 -28
- package/dist/purry-B2_0DGLV.cjs.map +0 -1
- package/dist/purry-BOWmqwDB.mjs +0 -23
- package/dist/purry-BOWmqwDB.mjs.map +0 -1
package/dist/string/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const
|
|
3
|
-
const require_purry = require("../purry-
|
|
2
|
+
const require_function = require("../function-DYPifnmg.cjs");
|
|
3
|
+
const require_purry = require("../purry-Dqp_F64t.cjs");
|
|
4
4
|
const require_errors = require("../errors-O-d_Vemi.cjs");
|
|
5
|
-
require("../
|
|
5
|
+
require("../order/index.cjs");
|
|
6
6
|
//#region src/string/at.ts
|
|
7
7
|
function atImplementation(str, index) {
|
|
8
8
|
if (index >= str.length || index < -str.length) return /* @__PURE__ */ new RangeError(`Str.at() :: Invalid index : ${index}`);
|
|
@@ -12,8 +12,17 @@ function at(...args) {
|
|
|
12
12
|
return require_purry.purry(atImplementation, args);
|
|
13
13
|
}
|
|
14
14
|
function atAssert(...args) {
|
|
15
|
-
return require_purry.purry(
|
|
16
|
-
}
|
|
15
|
+
return require_purry.purry(require_function.orThrow(atImplementation), args);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Like `at`, but throws when the index is out of bounds.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* at.assert('hello', 1); // 'e'
|
|
23
|
+
* at.assert('hello', 10); // throws RangeError
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
17
26
|
at.assert = atAssert;
|
|
18
27
|
//#endregion
|
|
19
28
|
//#region src/string/charCodeAt.ts
|
|
@@ -26,8 +35,17 @@ function charCodeAt(...args) {
|
|
|
26
35
|
return require_purry.purry(charCodeAtImplementation, args);
|
|
27
36
|
}
|
|
28
37
|
function charCodeAtAssert(...args) {
|
|
29
|
-
return require_purry.purry(
|
|
30
|
-
}
|
|
38
|
+
return require_purry.purry(require_function.orThrow(charCodeAtImplementation), args);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Like `charCodeAt`, but throws when the index is out of bounds.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```ts
|
|
45
|
+
* charCodeAt.assert('hello', 0); // 104
|
|
46
|
+
* charCodeAt.assert('hello', 10); // throws RangeError
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
31
49
|
charCodeAt.assert = charCodeAtAssert;
|
|
32
50
|
//#endregion
|
|
33
51
|
//#region src/string/codePointAt.ts
|
|
@@ -40,11 +58,45 @@ function codePointAt(...args) {
|
|
|
40
58
|
return require_purry.purry(codePointAtImplementation, args);
|
|
41
59
|
}
|
|
42
60
|
function codePointAtAssert(...args) {
|
|
43
|
-
return require_purry.purry(
|
|
44
|
-
}
|
|
61
|
+
return require_purry.purry(require_function.orThrow(codePointAtImplementation), args);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Like `codePointAt`, but throws when the index is out of bounds.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```ts
|
|
68
|
+
* codePointAt.assert('hello', 0); // 104
|
|
69
|
+
* codePointAt.assert('hello', 10); // throws RangeError
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
45
72
|
codePointAt.assert = codePointAtAssert;
|
|
46
73
|
//#endregion
|
|
74
|
+
//#region src/string/compare.ts
|
|
75
|
+
/**
|
|
76
|
+
* Compares two strings lexicographically and returns their ordering.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* compare('a', 'b'); // -1
|
|
81
|
+
* compare('b', 'b'); // 0
|
|
82
|
+
* compare('c', 'b'); // 1
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
function compare(left, right) {
|
|
86
|
+
if (left < right) return -1;
|
|
87
|
+
if (left > right) return 1;
|
|
88
|
+
return 0;
|
|
89
|
+
}
|
|
90
|
+
//#endregion
|
|
47
91
|
//#region src/string/concat.ts
|
|
92
|
+
/**
|
|
93
|
+
* Concatenates two strings.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* concat('hello', ' world'); // throws NotYetImplementedError
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
48
100
|
function concat(str, other) {
|
|
49
101
|
throw new require_errors.NotYetImplementedError("Str.concat not yet implemented");
|
|
50
102
|
}
|
|
@@ -87,8 +139,17 @@ function indexOf(...args) {
|
|
|
87
139
|
return require_purry.purry(indexOfImplementation, args);
|
|
88
140
|
}
|
|
89
141
|
function indexOfAssert(...args) {
|
|
90
|
-
return require_purry.purry(
|
|
91
|
-
}
|
|
142
|
+
return require_purry.purry(require_function.orThrow(indexOfImplementation), args);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Like `indexOf`, but throws when the search string is absent.
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```ts
|
|
149
|
+
* indexOf.assert('hello world', 'world'); // 6
|
|
150
|
+
* indexOf.assert('hello world', 'xyz'); // throws NotFoundError
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
92
153
|
indexOf.assert = indexOfAssert;
|
|
93
154
|
function indexOfPositionImplementation(str, search, position) {
|
|
94
155
|
return str.indexOf(search, position);
|
|
@@ -97,21 +158,127 @@ function indexOfPosition(...args) {
|
|
|
97
158
|
return require_purry.purry(indexOfPositionImplementation, args);
|
|
98
159
|
}
|
|
99
160
|
function indexOfPositionAssert(...args) {
|
|
100
|
-
return require_purry.purry(
|
|
101
|
-
}
|
|
161
|
+
return require_purry.purry(require_function.orThrow(indexOfPositionImplementation), args);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Like `indexOfPosition`, but throws when the result is an error.
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```ts
|
|
168
|
+
* indexOfPosition.assert('hello world', 'o', 5); // 7
|
|
169
|
+
* indexOfPosition.assert('hello world', 'o', 8); // throws
|
|
170
|
+
* ```
|
|
171
|
+
*/
|
|
102
172
|
indexOfPosition.assert = indexOfPositionAssert;
|
|
103
173
|
//#endregion
|
|
174
|
+
//#region src/string/isEmpty.ts
|
|
175
|
+
/**
|
|
176
|
+
* Returns whether a string has no characters.
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```ts
|
|
180
|
+
* isEmpty(''); // true
|
|
181
|
+
* isEmpty('hello'); // false
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
function isEmpty(str) {
|
|
185
|
+
return str.length === 0;
|
|
186
|
+
}
|
|
187
|
+
//#endregion
|
|
104
188
|
//#region src/string/isWellFormed.ts
|
|
189
|
+
/**
|
|
190
|
+
* Returns whether a string is a well-formed Unicode string with no lone surrogates.
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```ts
|
|
194
|
+
* isWellFormed('hello'); // true
|
|
195
|
+
* isWellFormed('\uD800'); // false
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
105
198
|
function isWellFormed(str) {
|
|
106
199
|
return str.isWellFormed();
|
|
107
200
|
}
|
|
108
201
|
//#endregion
|
|
202
|
+
//#region src/string/lastIndexOf.ts
|
|
203
|
+
function lastIndexOfImplementation(str, search) {
|
|
204
|
+
const result = str.lastIndexOf(search);
|
|
205
|
+
if (result === -1) return new require_errors.NotFoundError(`Str.lastIndexOf() :: "${search}" not found in "${str}"`);
|
|
206
|
+
return result;
|
|
207
|
+
}
|
|
208
|
+
function lastIndexOf(...args) {
|
|
209
|
+
return require_purry.purry(lastIndexOfImplementation, args);
|
|
210
|
+
}
|
|
211
|
+
function lastIndexOfAssert(...args) {
|
|
212
|
+
return require_purry.purry(require_function.orThrow(lastIndexOfImplementation), args);
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Like `lastIndexOf`, but throws when the search string is absent.
|
|
216
|
+
*
|
|
217
|
+
* @example
|
|
218
|
+
* ```ts
|
|
219
|
+
* lastIndexOf.assert('hello world', 'o'); // 7
|
|
220
|
+
* lastIndexOf.assert('hello world', 'xyz'); // throws NotFoundError
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
223
|
+
lastIndexOf.assert = lastIndexOfAssert;
|
|
224
|
+
function lastIndexOfPositionImplementation(str, search, position) {
|
|
225
|
+
const result = str.lastIndexOf(search, position);
|
|
226
|
+
if (result === -1) return new require_errors.NotFoundError(`Str.lastIndexOf() :: "${search}" not found in "${str}" at position ${position}`);
|
|
227
|
+
return result;
|
|
228
|
+
}
|
|
229
|
+
function lastIndexOfPosition(...args) {
|
|
230
|
+
return require_purry.purry(lastIndexOfPositionImplementation, args);
|
|
231
|
+
}
|
|
232
|
+
function lastIndexOfPositionAssert(...args) {
|
|
233
|
+
return require_purry.purry(require_function.orThrow(lastIndexOfPositionImplementation), args);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Like `lastIndexOfPosition`, but throws when the search string is absent.
|
|
237
|
+
*
|
|
238
|
+
* @example
|
|
239
|
+
* ```ts
|
|
240
|
+
* lastIndexOfPosition.assert('hello world', 'o', 6); // 4
|
|
241
|
+
* lastIndexOfPosition.assert('hello world', 'o', 3); // throws NotFoundError
|
|
242
|
+
* ```
|
|
243
|
+
*/
|
|
244
|
+
lastIndexOfPosition.assert = lastIndexOfPositionAssert;
|
|
245
|
+
//#endregion
|
|
246
|
+
//#region src/string/length.ts
|
|
247
|
+
/**
|
|
248
|
+
* Returns the length of a string in UTF-16 code units.
|
|
249
|
+
*
|
|
250
|
+
* @example
|
|
251
|
+
* ```ts
|
|
252
|
+
* length('hello'); // 5
|
|
253
|
+
* length(''); // 0
|
|
254
|
+
* ```
|
|
255
|
+
*/
|
|
256
|
+
function length(str) {
|
|
257
|
+
return str.length;
|
|
258
|
+
}
|
|
259
|
+
//#endregion
|
|
109
260
|
//#region src/string/localeCompare.ts
|
|
261
|
+
/**
|
|
262
|
+
* Compares two strings using locale-aware rules and returns a sort order number.
|
|
263
|
+
*
|
|
264
|
+
* @example
|
|
265
|
+
* ```ts
|
|
266
|
+
* localeCompare('a', 'b'); // throws NotYetImplementedError
|
|
267
|
+
* ```
|
|
268
|
+
*/
|
|
110
269
|
function localeCompare(left, right) {
|
|
111
270
|
throw new require_errors.NotYetImplementedError("Str.localeCompare not yet implemented");
|
|
112
271
|
}
|
|
113
272
|
//#endregion
|
|
114
273
|
//#region src/string/normalize.ts
|
|
274
|
+
/**
|
|
275
|
+
* Returns a Unicode-normalized string using NFC form.
|
|
276
|
+
*
|
|
277
|
+
* @example
|
|
278
|
+
* ```ts
|
|
279
|
+
* normalize('café'); // 'café'
|
|
280
|
+
* ```
|
|
281
|
+
*/
|
|
115
282
|
function normalize(str) {
|
|
116
283
|
return str.normalize();
|
|
117
284
|
}
|
|
@@ -147,9 +314,25 @@ function repeat(...args) {
|
|
|
147
314
|
}
|
|
148
315
|
//#endregion
|
|
149
316
|
//#region src/string/replace.ts
|
|
317
|
+
/**
|
|
318
|
+
* Replaces the first match of a search value in a string.
|
|
319
|
+
*
|
|
320
|
+
* @example
|
|
321
|
+
* ```ts
|
|
322
|
+
* replace('hello world', 'world', 'there'); // throws NotYetImplementedError
|
|
323
|
+
* ```
|
|
324
|
+
*/
|
|
150
325
|
function replace(str, searchValue, replaceValue) {
|
|
151
326
|
throw new require_errors.NotYetImplementedError("Str.replace not yet implemented");
|
|
152
327
|
}
|
|
328
|
+
/**
|
|
329
|
+
* Replaces all matches of a search value in a string.
|
|
330
|
+
*
|
|
331
|
+
* @example
|
|
332
|
+
* ```ts
|
|
333
|
+
* replaceAll('hello world', 'l', 'L'); // throws NotYetImplementedError
|
|
334
|
+
* ```
|
|
335
|
+
*/
|
|
153
336
|
function replaceAll(str, searchValue, replacement) {
|
|
154
337
|
throw new require_errors.NotYetImplementedError("Str.replace not yet implemented");
|
|
155
338
|
}
|
|
@@ -164,8 +347,17 @@ function search(...args) {
|
|
|
164
347
|
return require_purry.purry(searchImplementation, args);
|
|
165
348
|
}
|
|
166
349
|
function searchAssert(...args) {
|
|
167
|
-
return require_purry.purry(
|
|
168
|
-
}
|
|
350
|
+
return require_purry.purry(require_function.orThrow(searchImplementation), args);
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Like `search`, but throws when there is no match.
|
|
354
|
+
*
|
|
355
|
+
* @example
|
|
356
|
+
* ```ts
|
|
357
|
+
* search.assert('hello world', /world/); // 6
|
|
358
|
+
* search.assert('hello world', /xyz/); // throws NotFoundError
|
|
359
|
+
* ```
|
|
360
|
+
*/
|
|
169
361
|
search.assert = searchAssert;
|
|
170
362
|
//#endregion
|
|
171
363
|
//#region src/string/slice.ts
|
|
@@ -224,28 +416,103 @@ function substringEnd(...args) {
|
|
|
224
416
|
return require_purry.purry(substringEndImplementation, args);
|
|
225
417
|
}
|
|
226
418
|
//#endregion
|
|
419
|
+
//#region src/string/toLocaleLowerCase.ts
|
|
420
|
+
/**
|
|
421
|
+
* Returns a string with all characters converted to locale-aware lowercase.
|
|
422
|
+
*
|
|
423
|
+
* @example
|
|
424
|
+
* ```ts
|
|
425
|
+
* toLocaleLowerCase('STRASSE'); // throws NotYetImplementedError
|
|
426
|
+
* ```
|
|
427
|
+
*/
|
|
428
|
+
function toLocaleLowerCase(str) {
|
|
429
|
+
throw new require_errors.NotYetImplementedError("Str.toLocaleLowerCase not yet implemented");
|
|
430
|
+
}
|
|
431
|
+
//#endregion
|
|
432
|
+
//#region src/string/toLocaleUpperCase.ts
|
|
433
|
+
/**
|
|
434
|
+
* Returns a string with all characters converted to locale-aware uppercase.
|
|
435
|
+
*
|
|
436
|
+
* @example
|
|
437
|
+
* ```ts
|
|
438
|
+
* toLocaleUpperCase('straße'); // throws NotYetImplementedError
|
|
439
|
+
* ```
|
|
440
|
+
*/
|
|
441
|
+
function toLocaleUpperCase(str) {
|
|
442
|
+
throw new require_errors.NotYetImplementedError("Str.toLocaleUpperCase not yet implemented");
|
|
443
|
+
}
|
|
444
|
+
//#endregion
|
|
227
445
|
//#region src/string/toLowerCase.ts
|
|
446
|
+
/**
|
|
447
|
+
* Returns a string with all characters converted to lowercase.
|
|
448
|
+
*
|
|
449
|
+
* @example
|
|
450
|
+
* ```ts
|
|
451
|
+
* toLowerCase('HELLO'); // 'hello'
|
|
452
|
+
* ```
|
|
453
|
+
*/
|
|
228
454
|
function toLowerCase(str) {
|
|
229
455
|
return str.toLowerCase();
|
|
230
456
|
}
|
|
231
457
|
//#endregion
|
|
232
458
|
//#region src/string/toUpperCase.ts
|
|
459
|
+
/**
|
|
460
|
+
* Returns a string with all characters converted to uppercase.
|
|
461
|
+
*
|
|
462
|
+
* @example
|
|
463
|
+
* ```ts
|
|
464
|
+
* toUpperCase('hello'); // 'HELLO'
|
|
465
|
+
* ```
|
|
466
|
+
*/
|
|
233
467
|
function toUpperCase(str) {
|
|
234
468
|
return str.toUpperCase();
|
|
235
469
|
}
|
|
236
470
|
//#endregion
|
|
237
471
|
//#region src/string/toWellFormed.ts
|
|
472
|
+
/**
|
|
473
|
+
* Returns a well-formed Unicode string by replacing lone surrogates with replacement characters.
|
|
474
|
+
*
|
|
475
|
+
* @example
|
|
476
|
+
* ```ts
|
|
477
|
+
* toWellFormed('\uD800'); // '\uFFFD'
|
|
478
|
+
* toWellFormed('hello'); // 'hello'
|
|
479
|
+
* ```
|
|
480
|
+
*/
|
|
238
481
|
function toWellFormed(str) {
|
|
239
482
|
return str.toWellFormed();
|
|
240
483
|
}
|
|
241
484
|
//#endregion
|
|
242
485
|
//#region src/string/trim.ts
|
|
486
|
+
/**
|
|
487
|
+
* Removes leading and trailing whitespace from a string.
|
|
488
|
+
*
|
|
489
|
+
* @example
|
|
490
|
+
* ```ts
|
|
491
|
+
* trim(' hello '); // 'hello'
|
|
492
|
+
* ```
|
|
493
|
+
*/
|
|
243
494
|
function trim(str) {
|
|
244
495
|
return str.trim();
|
|
245
496
|
}
|
|
497
|
+
/**
|
|
498
|
+
* Removes trailing whitespace from a string.
|
|
499
|
+
*
|
|
500
|
+
* @example
|
|
501
|
+
* ```ts
|
|
502
|
+
* trimEnd(' hello '); // ' hello'
|
|
503
|
+
* ```
|
|
504
|
+
*/
|
|
246
505
|
function trimEnd(str) {
|
|
247
506
|
return str.trimEnd();
|
|
248
507
|
}
|
|
508
|
+
/**
|
|
509
|
+
* Removes leading whitespace from a string.
|
|
510
|
+
*
|
|
511
|
+
* @example
|
|
512
|
+
* ```ts
|
|
513
|
+
* trimStart(' hello '); // 'hello '
|
|
514
|
+
* ```
|
|
515
|
+
*/
|
|
249
516
|
function trimStart(str) {
|
|
250
517
|
return str.trimStart();
|
|
251
518
|
}
|
|
@@ -253,6 +520,7 @@ function trimStart(str) {
|
|
|
253
520
|
exports.at = at;
|
|
254
521
|
exports.charCodeAt = charCodeAt;
|
|
255
522
|
exports.codePointAt = codePointAt;
|
|
523
|
+
exports.compare = compare;
|
|
256
524
|
exports.concat = concat;
|
|
257
525
|
exports.endsWith = endsWith;
|
|
258
526
|
exports.endsWithPosition = endsWithPosition;
|
|
@@ -260,7 +528,11 @@ exports.includes = includes;
|
|
|
260
528
|
exports.includesPosition = includesPosition;
|
|
261
529
|
exports.indexOf = indexOf;
|
|
262
530
|
exports.indexOfPosition = indexOfPosition;
|
|
531
|
+
exports.isEmpty = isEmpty;
|
|
263
532
|
exports.isWellFormed = isWellFormed;
|
|
533
|
+
exports.lastIndexOf = lastIndexOf;
|
|
534
|
+
exports.lastIndexOfPosition = lastIndexOfPosition;
|
|
535
|
+
exports.length = length;
|
|
264
536
|
exports.localeCompare = localeCompare;
|
|
265
537
|
exports.normalize = normalize;
|
|
266
538
|
exports.normalizeForm = normalizeForm;
|
|
@@ -278,6 +550,8 @@ exports.startsWith = startsWith;
|
|
|
278
550
|
exports.startsWithPosition = startsWithPosition;
|
|
279
551
|
exports.substring = substring;
|
|
280
552
|
exports.substringEnd = substringEnd;
|
|
553
|
+
exports.toLocaleLowerCase = toLocaleLowerCase;
|
|
554
|
+
exports.toLocaleUpperCase = toLocaleUpperCase;
|
|
281
555
|
exports.toLowerCase = toLowerCase;
|
|
282
556
|
exports.toUpperCase = toUpperCase;
|
|
283
557
|
exports.toWellFormed = toWellFormed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["purry","orThrow","purry","orThrow","purry","orThrow","NotYetImplementedError","purry","purry","NotFoundError","purry","orThrow","NotYetImplementedError","purry","purry","purry","purry","NotYetImplementedError","NotFoundError","purry","orThrow","purry","purry","purry","purry"],"sources":["../../src/string/at.ts","../../src/string/charCodeAt.ts","../../src/string/codePointAt.ts","../../src/string/concat.ts","../../src/string/endsWith.ts","../../src/string/includes.ts","../../src/string/indexOf.ts","../../src/string/isWellFormed.ts","../../src/string/localeCompare.ts","../../src/string/normalize.ts","../../src/string/padEnd.ts","../../src/string/padStart.ts","../../src/string/repeat.ts","../../src/string/replace.ts","../../src/string/search.ts","../../src/string/slice.ts","../../src/string/split.ts","../../src/string/startsWith.ts","../../src/string/substring.ts","../../src/string/toLowerCase.ts","../../src/string/toUpperCase.ts","../../src/string/toWellFormed.ts","../../src/string/trim.ts"],"sourcesContent":["import { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction atImplementation(str: string, index: number): RangeError | string {\n if (index >= str.length || index < -str.length) {\n return new RangeError(`Str.at() :: Invalid index : ${index}`);\n }\n\n return str.at(index)!;\n}\n\nexport function at(index: number): (str: string) => RangeError | string;\nexport function at(str: string, index: number): RangeError | string;\nexport function at(...args: unknown[]): unknown {\n return purry(atImplementation, args);\n}\n\nfunction atAssert(index: number): (str: string) => string;\nfunction atAssert(str: string, index: number): string;\nfunction atAssert(...args: unknown[]): unknown {\n return purry(orThrow(atImplementation), args);\n}\n\nat.assert = atAssert;\n","import { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction charCodeAtImplementation(str: string, index: number): RangeError | number {\n if (index >= str.length || index < -str.length) {\n return new RangeError(`Str.charCodeAt() :: Invalid index : ${index}`);\n }\n\n const adjustedIndex = index < 0 ? str.length + index : index;\n\n return str.charCodeAt(adjustedIndex);\n}\n\nexport function charCodeAt(index: number): (str: string) => RangeError | number;\nexport function charCodeAt(str: string, index: number): RangeError | number;\nexport function charCodeAt(...args: unknown[]): unknown {\n return purry(charCodeAtImplementation, args);\n}\n\nfunction charCodeAtAssert(index: number): (str: string) => number;\nfunction charCodeAtAssert(str: string, index: number): number;\nfunction charCodeAtAssert(...args: unknown[]): unknown {\n return purry(orThrow(charCodeAtImplementation), args);\n}\n\ncharCodeAt.assert = charCodeAtAssert;\n","import { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction codePointAtImplementation(str: string, index: number): RangeError | number {\n if (index >= str.length || index < -str.length) {\n return new RangeError(`Str.codePointAt() :: Invalid index : ${index}`);\n }\n\n const adjustedIndex = index < 0 ? str.length + index : index;\n\n return str.codePointAt(adjustedIndex)!;\n}\n\nexport function codePointAt(index: number): (str: string) => RangeError | number;\nexport function codePointAt(str: string, index: number): RangeError | number;\nexport function codePointAt(...args: unknown[]): unknown {\n return purry(codePointAtImplementation, args);\n}\n\nfunction codePointAtAssert(index: number): (str: string) => number;\nfunction codePointAtAssert(str: string, index: number): number;\nfunction codePointAtAssert(...args: unknown[]): unknown {\n return purry(orThrow(codePointAtImplementation), args);\n}\n\ncodePointAt.assert = codePointAtAssert;\n","import { NotYetImplementedError } from '../errors';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function concat(str: string, other: string): string {\n // TODO: need to think about how to handle the native's variable argument length\n throw new NotYetImplementedError('Str.concat not yet implemented');\n}\n","import { purry } from '../function/purry';\n\nfunction endsWithImplementation(str: string, search: string): boolean {\n return str.endsWith(search);\n}\n\nexport function endsWith(search: string): (str: string) => boolean;\nexport function endsWith(str: string, search: string): boolean;\nexport function endsWith(...args: unknown[]): unknown {\n return purry(endsWithImplementation, args);\n}\n\nfunction endsWithPositionImplementation(str: string, search: string, position: number): boolean {\n return str.endsWith(search, position);\n}\n\nexport function endsWithPosition(search: string, position: number): (str: string) => boolean;\nexport function endsWithPosition(str: string, search: string, position: number): boolean;\nexport function endsWithPosition(...args: unknown[]): unknown {\n return purry(endsWithPositionImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction includesImplementation(str: string, search: string): boolean {\n return str.includes(search);\n}\n\nexport function includes(search: string): (str: string) => boolean;\nexport function includes(str: string, search: string): boolean;\nexport function includes(...args: unknown[]): unknown {\n return purry(includesImplementation, args);\n}\n\nfunction includesPositionImplementation(str: string, search: string, position: number): boolean {\n return str.includes(search, position);\n}\n\nexport function includesPosition(position: number, search: string): (str: string) => boolean;\nexport function includesPosition(str: string, search: string, position: number): boolean;\nexport function includesPosition(...args: unknown[]): unknown {\n return purry(includesPositionImplementation, args);\n}\n","import { NotFoundError } from '../errors';\nimport { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction indexOfImplementation(str: string, search: string): NotFoundError | number {\n const result = str.indexOf(search);\n if (result === -1) {\n return new NotFoundError(`Str.indexOf() :: \"${search}\" not found in \"${str}\"`);\n }\n return result;\n}\n\nexport function indexOf(search: string): (str: string) => NotFoundError | number;\nexport function indexOf(str: string, search: string): NotFoundError | number;\nexport function indexOf(...args: unknown[]): unknown {\n return purry(indexOfImplementation, args);\n}\n\nfunction indexOfAssert(search: string): (str: string) => number;\nfunction indexOfAssert(str: string, search: string): number;\nfunction indexOfAssert(...args: unknown[]): unknown {\n return purry(orThrow(indexOfImplementation), args);\n}\n\nindexOf.assert = indexOfAssert;\n\nfunction indexOfPositionImplementation(str: string, search: string, position: number): NotFoundError | number {\n return str.indexOf(search, position);\n}\n\nexport function indexOfPosition(position: number, search: string): (str: string) => NotFoundError | number;\nexport function indexOfPosition(str: string, search: string, position: number): NotFoundError | number;\nexport function indexOfPosition(...args: unknown[]): unknown {\n return purry(indexOfPositionImplementation, args);\n}\n\nfunction indexOfPositionAssert(position: number, search: string): (str: string) => number;\nfunction indexOfPositionAssert(str: string, search: string, position: number): number;\nfunction indexOfPositionAssert(...args: unknown[]): unknown {\n return purry(orThrow(indexOfPositionImplementation), args);\n}\n\nindexOfPosition.assert = indexOfPositionAssert;\n","export function isWellFormed(str: string): boolean {\n return str.isWellFormed();\n}\n","import { NotYetImplementedError } from '../errors';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function localeCompare(left: string, right: string): number {\n throw new NotYetImplementedError('Str.localeCompare not yet implemented');\n}\n","import { purry } from '../function/purry';\n\nexport function normalize(str: string): string {\n return str.normalize();\n}\n\nfunction normalizeFormImplementation(str: string, form: 'NFC' | 'NFD' | 'NFKC' | 'NFKD'): string {\n return str.normalize(form);\n}\n\nexport function normalizeForm(form: 'NFC' | 'NFD' | 'NFKC' | 'NFKD'): (str: string) => string;\nexport function normalizeForm(str: string, form: 'NFC' | 'NFD' | 'NFKC' | 'NFKD'): string;\nexport function normalizeForm(...args: unknown[]): unknown {\n return purry(normalizeFormImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction padEndImplementation(str: string, targetLength: number, padString: string): string {\n return str.padEnd(targetLength, padString);\n}\n\nexport function padEnd(targetLength: number, padString: string): (str: string) => string;\nexport function padEnd(str: string, targetLength: number, padString: string): string;\nexport function padEnd(...args: unknown[]): unknown {\n return purry(padEndImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction padStartImplementation(str: string, targetLength: number, padString: string): string {\n return str.padStart(targetLength, padString);\n}\n\nexport function padStart(targetLength: number, padString: string): (str: string) => string;\nexport function padStart(str: string, targetLength: number, padString: string): string;\nexport function padStart(...args: unknown[]): unknown {\n return purry(padStartImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction repeatImplementation(str: string, count: number): string {\n return str.repeat(count);\n}\n\nexport function repeat(count: number): (str: string) => string;\nexport function repeat(str: string, count: number): string;\nexport function repeat(...args: unknown[]): unknown {\n return purry(repeatImplementation, args);\n}\n","import { NotYetImplementedError } from '../errors';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function replace(str: string, searchValue: RegExp | string, replaceValue: string): string {\n throw new NotYetImplementedError('Str.replace not yet implemented');\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function replaceAll(str: string, searchValue: RegExp | string, replacement: string): string {\n throw new NotYetImplementedError('Str.replace not yet implemented');\n}\n","import { NotFoundError } from '../errors';\nimport { purry } from '../function';\nimport { orThrow } from '../function/orThrow';\n\nfunction searchImplementation(\n str: string,\n searcher: { [Symbol.search](string: string): number },\n): NotFoundError | number {\n const result = str.search(searcher);\n if (result === -1) {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string, @typescript-eslint/restrict-template-expressions\n return new NotFoundError(`Str.search() :: \"${searcher}\" not found in \"${str}\"`);\n }\n return result;\n}\n\nexport function search(searcher: { [Symbol.search](string: string): number }): (str: string) => NotFoundError | number;\nexport function search(str: string, searcher: { [Symbol.search](string: string): number }): NotFoundError | number;\nexport function search(...args: unknown[]): unknown {\n return purry(searchImplementation, args);\n}\n\nfunction searchAssert(searcher: { [Symbol.search](string: string): number }): (str: string) => number;\nfunction searchAssert(str: string, searcher: { [Symbol.search](string: string): number }): number;\nfunction searchAssert(...args: unknown[]): unknown {\n return purry(orThrow(searchImplementation), args);\n}\n\nsearch.assert = searchAssert;\n","import { purry } from '../function/purry';\n\nfunction sliceImplementation(str: string, start: number): string {\n return str.slice(start);\n}\n\nexport function slice(start: number): (str: string) => string;\nexport function slice(str: string, start: number): string;\nexport function slice(...args: unknown[]): unknown {\n return purry(sliceImplementation, args);\n}\n\nfunction sliceEndImplementation(str: string, start: number, end: number): string {\n return str.slice(start, end);\n}\n\nexport function sliceEnd(end: number): (str: string, start: number) => string;\nexport function sliceEnd(str: string, start: number, end: number): string;\nexport function sliceEnd(...args: unknown[]): unknown {\n return purry(sliceEndImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction splitImplementation(str: string, separator: string): string[] {\n return str.split(separator);\n}\n\nexport function split(separator: string): (str: string) => string[];\nexport function split(str: string, separator: string): string[];\nexport function split(...args: unknown[]): unknown {\n return purry(splitImplementation, args);\n}\n\nfunction splitLimitImplementation(str: string, separator: string, limit: number): string[] {\n return str.split(separator, limit);\n}\n\nexport function splitLimit(separator: string, limit: number): (str: string) => string[];\nexport function splitLimit(str: string, separator: string, limit: number): string[];\nexport function splitLimit(...args: unknown[]): unknown {\n return purry(splitLimitImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction startsWithImplementation(str: string, search: string): boolean {\n return str.startsWith(search);\n}\n\nexport function startsWith(search: string): (str: string) => boolean;\nexport function startsWith(str: string, search: string): boolean;\nexport function startsWith(...args: unknown[]): unknown {\n return purry(startsWithImplementation, args);\n}\n\nfunction startsWithPositionImplementation(str: string, search: string, position: number): boolean {\n return str.startsWith(search, position);\n}\n\nexport function startsWithPosition(search: string, position: number): (str: string) => boolean;\nexport function startsWithPosition(str: string, search: string, position: number): boolean;\nexport function startsWithPosition(...args: unknown[]): unknown {\n return purry(startsWithPositionImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction substringImplementation(str: string, start: number, end: number): string {\n return str.substring(start, end);\n}\n\nexport function substring(start: number, end: number): (str: string) => string;\nexport function substring(str: string, start: number, end: number): string;\nexport function substring(...args: unknown[]): unknown {\n return purry(substringImplementation, args);\n}\n\nfunction substringEndImplementation(str: string, start: number, end: number): string {\n return str.substring(start, end);\n}\n\nexport function substringEnd(start: number, end: number): (str: string) => string;\nexport function substringEnd(str: string, start: number, end: number): string;\nexport function substringEnd(...args: unknown[]): unknown {\n return purry(substringEndImplementation, args);\n}\n","export function toLowerCase(str: string): string {\n return str.toLowerCase();\n}\n","export function toUpperCase(str: string): string {\n return str.toUpperCase();\n}\n","export function toWellFormed(str: string): string {\n return str.toWellFormed();\n}\n","export function trim(str: string): string {\n return str.trim();\n}\n\nexport function trimEnd(str: string): string {\n return str.trimEnd();\n}\n\nexport function trimStart(str: string): string {\n return str.trimStart();\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["purry","orThrow","purry","orThrow","purry","orThrow","NotYetImplementedError","purry","purry","NotFoundError","purry","orThrow","NotFoundError","purry","orThrow","NotYetImplementedError","purry","purry","purry","purry","NotYetImplementedError","NotFoundError","purry","orThrow","purry","purry","purry","purry","NotYetImplementedError","NotYetImplementedError"],"sources":["../../src/string/at.ts","../../src/string/charCodeAt.ts","../../src/string/codePointAt.ts","../../src/string/compare.ts","../../src/string/concat.ts","../../src/string/endsWith.ts","../../src/string/includes.ts","../../src/string/indexOf.ts","../../src/string/isEmpty.ts","../../src/string/isWellFormed.ts","../../src/string/lastIndexOf.ts","../../src/string/length.ts","../../src/string/localeCompare.ts","../../src/string/normalize.ts","../../src/string/padEnd.ts","../../src/string/padStart.ts","../../src/string/repeat.ts","../../src/string/replace.ts","../../src/string/search.ts","../../src/string/slice.ts","../../src/string/split.ts","../../src/string/startsWith.ts","../../src/string/substring.ts","../../src/string/toLocaleLowerCase.ts","../../src/string/toLocaleUpperCase.ts","../../src/string/toLowerCase.ts","../../src/string/toUpperCase.ts","../../src/string/toWellFormed.ts","../../src/string/trim.ts"],"sourcesContent":["import { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction atImplementation(str: string, index: number): RangeError | string {\n if (index >= str.length || index < -str.length) {\n return new RangeError(`Str.at() :: Invalid index : ${index}`);\n }\n\n return str.at(index)!;\n}\n\n/**\n * Returns the character at an index, supporting negative indices from the end.\n * Returns a range error when the index is out of bounds.\n *\n * @example\n * ```ts\n * at('hello', 1); // 'e'\n * at(-1)('hello'); // 'o'\n * at('hello', 10); // RangeError\n * ```\n */\nexport function at(index: number): (str: string) => RangeError | string;\nexport function at(str: string, index: number): RangeError | string;\nexport function at(...args: unknown[]): unknown {\n return purry(atImplementation, args);\n}\n\nfunction atAssert(index: number): (str: string) => string;\nfunction atAssert(str: string, index: number): string;\nfunction atAssert(...args: unknown[]): unknown {\n return purry(orThrow(atImplementation), args);\n}\n\n/**\n * Like `at`, but throws when the index is out of bounds.\n *\n * @example\n * ```ts\n * at.assert('hello', 1); // 'e'\n * at.assert('hello', 10); // throws RangeError\n * ```\n */\nat.assert = atAssert;\n","import { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction charCodeAtImplementation(str: string, index: number): RangeError | number {\n if (index >= str.length || index < -str.length) {\n return new RangeError(`Str.charCodeAt() :: Invalid index : ${index}`);\n }\n\n const adjustedIndex = index < 0 ? str.length + index : index;\n\n return str.charCodeAt(adjustedIndex);\n}\n\n/**\n * Returns the UTF-16 code unit at an index, supporting negative indices from the end.\n * Returns a range error when the index is out of bounds.\n *\n * @example\n * ```ts\n * charCodeAt('hello', 0); // 104\n * charCodeAt(-1)('hello'); // 111\n * charCodeAt('hello', 10); // RangeError\n * ```\n */\nexport function charCodeAt(index: number): (str: string) => RangeError | number;\nexport function charCodeAt(str: string, index: number): RangeError | number;\nexport function charCodeAt(...args: unknown[]): unknown {\n return purry(charCodeAtImplementation, args);\n}\n\nfunction charCodeAtAssert(index: number): (str: string) => number;\nfunction charCodeAtAssert(str: string, index: number): number;\nfunction charCodeAtAssert(...args: unknown[]): unknown {\n return purry(orThrow(charCodeAtImplementation), args);\n}\n\n/**\n * Like `charCodeAt`, but throws when the index is out of bounds.\n *\n * @example\n * ```ts\n * charCodeAt.assert('hello', 0); // 104\n * charCodeAt.assert('hello', 10); // throws RangeError\n * ```\n */\ncharCodeAt.assert = charCodeAtAssert;\n","import { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction codePointAtImplementation(str: string, index: number): RangeError | number {\n if (index >= str.length || index < -str.length) {\n return new RangeError(`Str.codePointAt() :: Invalid index : ${index}`);\n }\n\n const adjustedIndex = index < 0 ? str.length + index : index;\n\n return str.codePointAt(adjustedIndex)!;\n}\n\n/**\n * Returns the Unicode code point at an index, supporting negative indices from the end.\n * Returns a range error when the index is out of bounds.\n *\n * @example\n * ```ts\n * codePointAt('hello', 0); // 104\n * codePointAt(-1)('hello'); // 111\n * codePointAt('hello', 10); // RangeError\n * ```\n */\nexport function codePointAt(index: number): (str: string) => RangeError | number;\nexport function codePointAt(str: string, index: number): RangeError | number;\nexport function codePointAt(...args: unknown[]): unknown {\n return purry(codePointAtImplementation, args);\n}\n\nfunction codePointAtAssert(index: number): (str: string) => number;\nfunction codePointAtAssert(str: string, index: number): number;\nfunction codePointAtAssert(...args: unknown[]): unknown {\n return purry(orThrow(codePointAtImplementation), args);\n}\n\n/**\n * Like `codePointAt`, but throws when the index is out of bounds.\n *\n * @example\n * ```ts\n * codePointAt.assert('hello', 0); // 104\n * codePointAt.assert('hello', 10); // throws RangeError\n * ```\n */\ncodePointAt.assert = codePointAtAssert;\n","import type { Order } from '../order';\nimport { eq, gt, lt } from '../order';\n\n/**\n * Compares two strings lexicographically and returns their ordering.\n *\n * @example\n * ```ts\n * compare('a', 'b'); // -1\n * compare('b', 'b'); // 0\n * compare('c', 'b'); // 1\n * ```\n */\nexport function compare(left: string, right: string): Order {\n if (left < right) return lt;\n if (left > right) return gt;\n return eq;\n}\n","import { NotYetImplementedError } from '../errors';\n\n/**\n * Concatenates two strings.\n *\n * @example\n * ```ts\n * concat('hello', ' world'); // throws NotYetImplementedError\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function concat(str: string, other: string): string {\n // TODO: need to think about how to handle the native's variable argument length\n throw new NotYetImplementedError('Str.concat not yet implemented');\n}\n","import { purry } from '../function/purry';\n\nfunction endsWithImplementation(str: string, search: string): boolean {\n return str.endsWith(search);\n}\n\n/**\n * Returns whether a string ends with a search string.\n *\n * @example\n * ```ts\n * endsWith('hello world', 'world'); // true\n * endsWith('hello')('hello world'); // false\n * ```\n */\nexport function endsWith(search: string): (str: string) => boolean;\nexport function endsWith(str: string, search: string): boolean;\nexport function endsWith(...args: unknown[]): unknown {\n return purry(endsWithImplementation, args);\n}\n\nfunction endsWithPositionImplementation(str: string, search: string, position: number): boolean {\n return str.endsWith(search, position);\n}\n\n/**\n * Returns whether a string ends with a search string at or before a position.\n *\n * @example\n * ```ts\n * endsWithPosition('hello world', 'hello', 5); // true\n * endsWithPosition(5, 'hello')('hello world'); // true\n * ```\n */\nexport function endsWithPosition(search: string, position: number): (str: string) => boolean;\nexport function endsWithPosition(str: string, search: string, position: number): boolean;\nexport function endsWithPosition(...args: unknown[]): unknown {\n return purry(endsWithPositionImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction includesImplementation(str: string, search: string): boolean {\n return str.includes(search);\n}\n\n/**\n * Returns whether a string contains a search string.\n *\n * @example\n * ```ts\n * includes('hello world', 'world'); // true\n * includes('xyz')('hello world'); // false\n * ```\n */\nexport function includes(search: string): (str: string) => boolean;\nexport function includes(str: string, search: string): boolean;\nexport function includes(...args: unknown[]): unknown {\n return purry(includesImplementation, args);\n}\n\nfunction includesPositionImplementation(str: string, search: string, position: number): boolean {\n return str.includes(search, position);\n}\n\n/**\n * Returns whether a string contains a search string at or after a position.\n *\n * @example\n * ```ts\n * includesPosition('hello world', 'world', 6); // true\n * includesPosition(6, 'world')('hello world'); // true\n * ```\n */\nexport function includesPosition(position: number, search: string): (str: string) => boolean;\nexport function includesPosition(str: string, search: string, position: number): boolean;\nexport function includesPosition(...args: unknown[]): unknown {\n return purry(includesPositionImplementation, args);\n}\n","import { NotFoundError } from '../errors';\nimport { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction indexOfImplementation(str: string, search: string): NotFoundError | number {\n const result = str.indexOf(search);\n if (result === -1) {\n return new NotFoundError(`Str.indexOf() :: \"${search}\" not found in \"${str}\"`);\n }\n return result;\n}\n\n/**\n * Returns the index of the first occurrence of a search string.\n * Returns a not-found error when the search string is absent.\n *\n * @example\n * ```ts\n * indexOf('hello world', 'world'); // 6\n * indexOf('world')('hello world'); // 6\n * indexOf('hello world', 'xyz'); // NotFoundError\n * ```\n */\nexport function indexOf(search: string): (str: string) => NotFoundError | number;\nexport function indexOf(str: string, search: string): NotFoundError | number;\nexport function indexOf(...args: unknown[]): unknown {\n return purry(indexOfImplementation, args);\n}\n\nfunction indexOfAssert(search: string): (str: string) => number;\nfunction indexOfAssert(str: string, search: string): number;\nfunction indexOfAssert(...args: unknown[]): unknown {\n return purry(orThrow(indexOfImplementation), args);\n}\n\n/**\n * Like `indexOf`, but throws when the search string is absent.\n *\n * @example\n * ```ts\n * indexOf.assert('hello world', 'world'); // 6\n * indexOf.assert('hello world', 'xyz'); // throws NotFoundError\n * ```\n */\nindexOf.assert = indexOfAssert;\n\nfunction indexOfPositionImplementation(str: string, search: string, position: number): NotFoundError | number {\n return str.indexOf(search, position);\n}\n\n/**\n * Returns the index of the first occurrence of a search string at or after a position.\n *\n * @example\n * ```ts\n * indexOfPosition('hello world', 'o', 5); // 7\n * indexOfPosition(5, 'o')('hello world'); // 7\n * indexOfPosition('hello world', 'o', 8); // -1\n * ```\n */\nexport function indexOfPosition(position: number, search: string): (str: string) => NotFoundError | number;\nexport function indexOfPosition(str: string, search: string, position: number): NotFoundError | number;\nexport function indexOfPosition(...args: unknown[]): unknown {\n return purry(indexOfPositionImplementation, args);\n}\n\nfunction indexOfPositionAssert(position: number, search: string): (str: string) => number;\nfunction indexOfPositionAssert(str: string, search: string, position: number): number;\nfunction indexOfPositionAssert(...args: unknown[]): unknown {\n return purry(orThrow(indexOfPositionImplementation), args);\n}\n\n/**\n * Like `indexOfPosition`, but throws when the result is an error.\n *\n * @example\n * ```ts\n * indexOfPosition.assert('hello world', 'o', 5); // 7\n * indexOfPosition.assert('hello world', 'o', 8); // throws\n * ```\n */\nindexOfPosition.assert = indexOfPositionAssert;\n","/**\n * Returns whether a string has no characters.\n *\n * @example\n * ```ts\n * isEmpty(''); // true\n * isEmpty('hello'); // false\n * ```\n */\nexport function isEmpty(str: string): boolean {\n return str.length === 0;\n}\n","/**\n * Returns whether a string is a well-formed Unicode string with no lone surrogates.\n *\n * @example\n * ```ts\n * isWellFormed('hello'); // true\n * isWellFormed('\\uD800'); // false\n * ```\n */\nexport function isWellFormed(str: string): boolean {\n return str.isWellFormed();\n}\n","import { NotFoundError } from '../errors';\nimport { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction lastIndexOfImplementation(str: string, search: string): NotFoundError | number {\n const result = str.lastIndexOf(search);\n if (result === -1) {\n return new NotFoundError(`Str.lastIndexOf() :: \"${search}\" not found in \"${str}\"`);\n }\n return result;\n}\n\n/**\n * Returns the index of the last occurrence of a search string.\n * Returns a not-found error when the search string is absent.\n *\n * @example\n * ```ts\n * lastIndexOf('hello world', 'o'); // 7\n * lastIndexOf('o')('hello world'); // 7\n * lastIndexOf('hello world', 'xyz'); // NotFoundError\n * ```\n */\nexport function lastIndexOf(search: string): (str: string) => NotFoundError | number;\nexport function lastIndexOf(str: string, search: string): NotFoundError | number;\nexport function lastIndexOf(...args: unknown[]): unknown {\n return purry(lastIndexOfImplementation, args);\n}\n\nfunction lastIndexOfAssert(search: string): (str: string) => number;\nfunction lastIndexOfAssert(str: string, search: string): number;\nfunction lastIndexOfAssert(...args: unknown[]): unknown {\n return purry(orThrow(lastIndexOfImplementation), args);\n}\n\n/**\n * Like `lastIndexOf`, but throws when the search string is absent.\n *\n * @example\n * ```ts\n * lastIndexOf.assert('hello world', 'o'); // 7\n * lastIndexOf.assert('hello world', 'xyz'); // throws NotFoundError\n * ```\n */\nlastIndexOf.assert = lastIndexOfAssert;\n\nfunction lastIndexOfPositionImplementation(str: string, search: string, position: number): NotFoundError | number {\n const result = str.lastIndexOf(search, position);\n if (result === -1) {\n return new NotFoundError(`Str.lastIndexOf() :: \"${search}\" not found in \"${str}\" at position ${position}`);\n }\n return result;\n}\n\n/**\n * Returns the index of the last occurrence of a search string at or before a position.\n * Returns a not-found error when the search string is absent.\n *\n * @example\n * ```ts\n * lastIndexOfPosition('hello world', 'o', 6); // 4\n * lastIndexOfPosition(6, 'o')('hello world'); // 4\n * lastIndexOfPosition('hello world', 'o', 3); // NotFoundError\n * ```\n */\nexport function lastIndexOfPosition(position: number, search: string): (str: string) => NotFoundError | number;\nexport function lastIndexOfPosition(str: string, search: string, position: number): NotFoundError | number;\nexport function lastIndexOfPosition(...args: unknown[]): unknown {\n return purry(lastIndexOfPositionImplementation, args);\n}\n\nfunction lastIndexOfPositionAssert(position: number, search: string): (str: string) => number;\nfunction lastIndexOfPositionAssert(str: string, search: string, position: number): number;\nfunction lastIndexOfPositionAssert(...args: unknown[]): unknown {\n return purry(orThrow(lastIndexOfPositionImplementation), args);\n}\n\n/**\n * Like `lastIndexOfPosition`, but throws when the search string is absent.\n *\n * @example\n * ```ts\n * lastIndexOfPosition.assert('hello world', 'o', 6); // 4\n * lastIndexOfPosition.assert('hello world', 'o', 3); // throws NotFoundError\n * ```\n */\nlastIndexOfPosition.assert = lastIndexOfPositionAssert;\n","/**\n * Returns the length of a string in UTF-16 code units.\n *\n * @example\n * ```ts\n * length('hello'); // 5\n * length(''); // 0\n * ```\n */\nexport function length(str: string): number {\n return str.length;\n}\n","import { NotYetImplementedError } from '../errors';\n\n/**\n * Compares two strings using locale-aware rules and returns a sort order number.\n *\n * @example\n * ```ts\n * localeCompare('a', 'b'); // throws NotYetImplementedError\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function localeCompare(left: string, right: string): number {\n throw new NotYetImplementedError('Str.localeCompare not yet implemented');\n}\n","import { purry } from '../function/purry';\n\n/**\n * Returns a Unicode-normalized string using NFC form.\n *\n * @example\n * ```ts\n * normalize('café'); // 'café'\n * ```\n */\nexport function normalize(str: string): string {\n return str.normalize();\n}\n\nfunction normalizeFormImplementation(str: string, form: 'NFC' | 'NFD' | 'NFKC' | 'NFKD'): string {\n return str.normalize(form);\n}\n\n/**\n * Returns a Unicode-normalized string using the given normalization form.\n *\n * @example\n * ```ts\n * normalizeForm('café', 'NFD'); // decomposed form\n * normalizeForm('NFD')('café'); // decomposed form\n * ```\n */\nexport function normalizeForm(form: 'NFC' | 'NFD' | 'NFKC' | 'NFKD'): (str: string) => string;\nexport function normalizeForm(str: string, form: 'NFC' | 'NFD' | 'NFKC' | 'NFKD'): string;\nexport function normalizeForm(...args: unknown[]): unknown {\n return purry(normalizeFormImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction padEndImplementation(str: string, targetLength: number, padString: string): string {\n return str.padEnd(targetLength, padString);\n}\n\n/**\n * Pads the end of a string until it reaches a target length.\n *\n * @example\n * ```ts\n * padEnd('5', 3, '0'); // '500'\n * padEnd(3, '0')('5'); // '500'\n * ```\n */\nexport function padEnd(targetLength: number, padString: string): (str: string) => string;\nexport function padEnd(str: string, targetLength: number, padString: string): string;\nexport function padEnd(...args: unknown[]): unknown {\n return purry(padEndImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction padStartImplementation(str: string, targetLength: number, padString: string): string {\n return str.padStart(targetLength, padString);\n}\n\n/**\n * Pads the start of a string until it reaches a target length.\n *\n * @example\n * ```ts\n * padStart('5', 3, '0'); // '005'\n * padStart(3, '0')('5'); // '005'\n * ```\n */\nexport function padStart(targetLength: number, padString: string): (str: string) => string;\nexport function padStart(str: string, targetLength: number, padString: string): string;\nexport function padStart(...args: unknown[]): unknown {\n return purry(padStartImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction repeatImplementation(str: string, count: number): string {\n return str.repeat(count);\n}\n\n/**\n * Returns a string repeated a given number of times.\n *\n * @example\n * ```ts\n * repeat('ab', 3); // 'ababab'\n * repeat(3)('ab'); // 'ababab'\n * ```\n */\nexport function repeat(count: number): (str: string) => string;\nexport function repeat(str: string, count: number): string;\nexport function repeat(...args: unknown[]): unknown {\n return purry(repeatImplementation, args);\n}\n","import { NotYetImplementedError } from '../errors';\n\n/**\n * Replaces the first match of a search value in a string.\n *\n * @example\n * ```ts\n * replace('hello world', 'world', 'there'); // throws NotYetImplementedError\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function replace(str: string, searchValue: RegExp | string, replaceValue: string): string {\n throw new NotYetImplementedError('Str.replace not yet implemented');\n}\n\n/**\n * Replaces all matches of a search value in a string.\n *\n * @example\n * ```ts\n * replaceAll('hello world', 'l', 'L'); // throws NotYetImplementedError\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function replaceAll(str: string, searchValue: RegExp | string, replacement: string): string {\n throw new NotYetImplementedError('Str.replace not yet implemented');\n}\n","import { NotFoundError } from '../errors';\nimport { purry } from '../function';\nimport { orThrow } from '../function/orThrow';\n\nfunction searchImplementation(\n str: string,\n searcher: { [Symbol.search](string: string): number },\n): NotFoundError | number {\n const result = str.search(searcher);\n if (result === -1) {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string, @typescript-eslint/restrict-template-expressions\n return new NotFoundError(`Str.search() :: \"${searcher}\" not found in \"${str}\"`);\n }\n return result;\n}\n\n/**\n * Returns the index of the first match for a searcher (string or regular expression).\n * Returns a not-found error when there is no match.\n *\n * @example\n * ```ts\n * search('hello world', /world/); // 6\n * search(/world/)('hello world'); // 6\n * search('hello world', /xyz/); // NotFoundError\n * ```\n */\nexport function search(searcher: { [Symbol.search](string: string): number }): (str: string) => NotFoundError | number;\nexport function search(str: string, searcher: { [Symbol.search](string: string): number }): NotFoundError | number;\nexport function search(...args: unknown[]): unknown {\n return purry(searchImplementation, args);\n}\n\nfunction searchAssert(searcher: { [Symbol.search](string: string): number }): (str: string) => number;\nfunction searchAssert(str: string, searcher: { [Symbol.search](string: string): number }): number;\nfunction searchAssert(...args: unknown[]): unknown {\n return purry(orThrow(searchImplementation), args);\n}\n\n/**\n * Like `search`, but throws when there is no match.\n *\n * @example\n * ```ts\n * search.assert('hello world', /world/); // 6\n * search.assert('hello world', /xyz/); // throws NotFoundError\n * ```\n */\nsearch.assert = searchAssert;\n","import { purry } from '../function/purry';\n\nfunction sliceImplementation(str: string, start: number): string {\n return str.slice(start);\n}\n\n/**\n * Returns a substring from a start index to the end.\n *\n * @example\n * ```ts\n * slice('hello', 1); // 'ello'\n * slice(1)('hello'); // 'ello'\n * ```\n */\nexport function slice(start: number): (str: string) => string;\nexport function slice(str: string, start: number): string;\nexport function slice(...args: unknown[]): unknown {\n return purry(sliceImplementation, args);\n}\n\nfunction sliceEndImplementation(str: string, start: number, end: number): string {\n return str.slice(start, end);\n}\n\n/**\n * Returns a substring between start and end indices.\n *\n * @example\n * ```ts\n * sliceEnd('hello', 1, 4); // 'ell'\n * sliceEnd(4)(1)('hello'); // 'ell'\n * ```\n */\nexport function sliceEnd(end: number): (str: string, start: number) => string;\nexport function sliceEnd(str: string, start: number, end: number): string;\nexport function sliceEnd(...args: unknown[]): unknown {\n return purry(sliceEndImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction splitImplementation(str: string, separator: string): string[] {\n return str.split(separator);\n}\n\n/**\n * Splits a string into substrings using a separator.\n *\n * @example\n * ```ts\n * split('a,b,c', ','); // ['a', 'b', 'c']\n * split(',')('a,b,c'); // ['a', 'b', 'c']\n * ```\n */\nexport function split(separator: string): (str: string) => string[];\nexport function split(str: string, separator: string): string[];\nexport function split(...args: unknown[]): unknown {\n return purry(splitImplementation, args);\n}\n\nfunction splitLimitImplementation(str: string, separator: string, limit: number): string[] {\n return str.split(separator, limit);\n}\n\n/**\n * Splits a string into at most `limit` substrings using a separator.\n *\n * @example\n * ```ts\n * splitLimit('a,b,c', ',', 2); // ['a', 'b']\n * splitLimit(',', 2)('a,b,c'); // ['a', 'b']\n * ```\n */\nexport function splitLimit(separator: string, limit: number): (str: string) => string[];\nexport function splitLimit(str: string, separator: string, limit: number): string[];\nexport function splitLimit(...args: unknown[]): unknown {\n return purry(splitLimitImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction startsWithImplementation(str: string, search: string): boolean {\n return str.startsWith(search);\n}\n\n/**\n * Returns whether a string starts with a search string.\n *\n * @example\n * ```ts\n * startsWith('hello world', 'hello'); // true\n * startsWith('world')('hello world'); // false\n * ```\n */\nexport function startsWith(search: string): (str: string) => boolean;\nexport function startsWith(str: string, search: string): boolean;\nexport function startsWith(...args: unknown[]): unknown {\n return purry(startsWithImplementation, args);\n}\n\nfunction startsWithPositionImplementation(str: string, search: string, position: number): boolean {\n return str.startsWith(search, position);\n}\n\n/**\n * Returns whether a string starts with a search string at or after a position.\n *\n * @example\n * ```ts\n * startsWithPosition('hello world', 'world', 6); // true\n * startsWithPosition(6, 'world')('hello world'); // true\n * ```\n */\nexport function startsWithPosition(search: string, position: number): (str: string) => boolean;\nexport function startsWithPosition(str: string, search: string, position: number): boolean;\nexport function startsWithPosition(...args: unknown[]): unknown {\n return purry(startsWithPositionImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction substringImplementation(str: string, start: number, end: number): string {\n return str.substring(start, end);\n}\n\n/**\n * Returns the substring between start and end indices.\n *\n * @example\n * ```ts\n * substring('hello', 1, 4); // 'ell'\n * substring(1, 4)('hello'); // 'ell'\n * ```\n */\nexport function substring(start: number, end: number): (str: string) => string;\nexport function substring(str: string, start: number, end: number): string;\nexport function substring(...args: unknown[]): unknown {\n return purry(substringImplementation, args);\n}\n\nfunction substringEndImplementation(str: string, start: number, end: number): string {\n return str.substring(start, end);\n}\n\n/**\n * Returns the substring between start and end indices.\n *\n * @example\n * ```ts\n * substringEnd('hello', 1, 4); // 'ell'\n * substringEnd(1, 4)('hello'); // 'ell'\n * ```\n */\nexport function substringEnd(start: number, end: number): (str: string) => string;\nexport function substringEnd(str: string, start: number, end: number): string;\nexport function substringEnd(...args: unknown[]): unknown {\n return purry(substringEndImplementation, args);\n}\n","import { NotYetImplementedError } from '../errors';\n\n/**\n * Returns a string with all characters converted to locale-aware lowercase.\n *\n * @example\n * ```ts\n * toLocaleLowerCase('STRASSE'); // throws NotYetImplementedError\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function toLocaleLowerCase(str: string): string {\n throw new NotYetImplementedError('Str.toLocaleLowerCase not yet implemented');\n}\n","import { NotYetImplementedError } from '../errors';\n\n/**\n * Returns a string with all characters converted to locale-aware uppercase.\n *\n * @example\n * ```ts\n * toLocaleUpperCase('straße'); // throws NotYetImplementedError\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function toLocaleUpperCase(str: string): string {\n throw new NotYetImplementedError('Str.toLocaleUpperCase not yet implemented');\n}\n","/**\n * Returns a string with all characters converted to lowercase.\n *\n * @example\n * ```ts\n * toLowerCase('HELLO'); // 'hello'\n * ```\n */\nexport function toLowerCase(str: string): string {\n return str.toLowerCase();\n}\n","/**\n * Returns a string with all characters converted to uppercase.\n *\n * @example\n * ```ts\n * toUpperCase('hello'); // 'HELLO'\n * ```\n */\nexport function toUpperCase(str: string): string {\n return str.toUpperCase();\n}\n","/**\n * Returns a well-formed Unicode string by replacing lone surrogates with replacement characters.\n *\n * @example\n * ```ts\n * toWellFormed('\\uD800'); // '\\uFFFD'\n * toWellFormed('hello'); // 'hello'\n * ```\n */\nexport function toWellFormed(str: string): string {\n return str.toWellFormed();\n}\n","/**\n * Removes leading and trailing whitespace from a string.\n *\n * @example\n * ```ts\n * trim(' hello '); // 'hello'\n * ```\n */\nexport function trim(str: string): string {\n return str.trim();\n}\n\n/**\n * Removes trailing whitespace from a string.\n *\n * @example\n * ```ts\n * trimEnd(' hello '); // ' hello'\n * ```\n */\nexport function trimEnd(str: string): string {\n return str.trimEnd();\n}\n\n/**\n * Removes leading whitespace from a string.\n *\n * @example\n * ```ts\n * trimStart(' hello '); // 'hello '\n * ```\n */\nexport function trimStart(str: string): string {\n return str.trimStart();\n}\n"],"mappings":"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"}
|