@pawells/typescript-common 1.3.1 → 2.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.
- package/README.md +69 -15
- package/build/array/array-chunk.d.ts +1 -1
- package/build/array/array-chunk.d.ts.map +1 -1
- package/build/array/array-chunk.js.map +1 -1
- package/build/array/array-contains.d.ts +4 -1
- package/build/array/array-contains.d.ts.map +1 -1
- package/build/array/array-contains.js +4 -0
- package/build/array/array-contains.js.map +1 -1
- package/build/array/array-count-by.d.ts +3 -1
- package/build/array/array-count-by.d.ts.map +1 -1
- package/build/array/array-count-by.js +4 -1
- package/build/array/array-count-by.js.map +1 -1
- package/build/array/array-difference.d.ts +20 -9
- package/build/array/array-difference.d.ts.map +1 -1
- package/build/array/array-difference.js +25 -8
- package/build/array/array-difference.js.map +1 -1
- package/build/array/array-filter.d.ts +3 -1
- package/build/array/array-filter.d.ts.map +1 -1
- package/build/array/array-filter.js +4 -1
- package/build/array/array-filter.js.map +1 -1
- package/build/array/array-flatten.d.ts +1 -1
- package/build/array/array-flatten.d.ts.map +1 -1
- package/build/array/array-flatten.js.map +1 -1
- package/build/array/array-group-by.d.ts +3 -1
- package/build/array/array-group-by.d.ts.map +1 -1
- package/build/array/array-group-by.js +4 -1
- package/build/array/array-group-by.js.map +1 -1
- package/build/array/array-intersection.d.ts +20 -9
- package/build/array/array-intersection.d.ts.map +1 -1
- package/build/array/array-intersection.js +30 -12
- package/build/array/array-intersection.js.map +1 -1
- package/build/array/array-partition.d.ts +3 -1
- package/build/array/array-partition.d.ts.map +1 -1
- package/build/array/array-partition.js +4 -1
- package/build/array/array-partition.js.map +1 -1
- package/build/array/array-sample.d.ts +6 -2
- package/build/array/array-sample.d.ts.map +1 -1
- package/build/array/array-sample.js +8 -6
- package/build/array/array-sample.js.map +1 -1
- package/build/array/array-shuffle.d.ts +4 -2
- package/build/array/array-shuffle.d.ts.map +1 -1
- package/build/array/array-shuffle.js +6 -3
- package/build/array/array-shuffle.js.map +1 -1
- package/build/array/array-sort-by.d.ts +1 -1
- package/build/array/array-sort-by.d.ts.map +1 -1
- package/build/array/array-sort-by.js.map +1 -1
- package/build/array/assert.d.ts +22 -18
- package/build/array/assert.d.ts.map +1 -1
- package/build/array/assert.js +27 -23
- package/build/array/assert.js.map +1 -1
- package/build/array/types.d.ts +11 -0
- package/build/array/types.d.ts.map +1 -1
- package/build/array/unique.d.ts +3 -1
- package/build/array/unique.d.ts.map +1 -1
- package/build/array/unique.js +4 -1
- package/build/array/unique.js.map +1 -1
- package/build/asserts/generic.d.ts +9 -0
- package/build/asserts/generic.d.ts.map +1 -1
- package/build/asserts/generic.js +30 -8
- package/build/asserts/generic.js.map +1 -1
- package/build/asserts/utils.d.ts +32 -0
- package/build/asserts/utils.d.ts.map +1 -1
- package/build/asserts/utils.js +79 -0
- package/build/asserts/utils.js.map +1 -1
- package/build/boolean/assert.d.ts.map +1 -1
- package/build/boolean/assert.js +2 -5
- package/build/boolean/assert.js.map +1 -1
- package/build/function/compose.d.ts +3 -2
- package/build/function/compose.d.ts.map +1 -1
- package/build/function/compose.js.map +1 -1
- package/build/function/debounce.d.ts +2 -1
- package/build/function/debounce.d.ts.map +1 -1
- package/build/function/debounce.js.map +1 -1
- package/build/function/once.d.ts +1 -0
- package/build/function/once.d.ts.map +1 -1
- package/build/function/once.js +1 -0
- package/build/function/once.js.map +1 -1
- package/build/function/throttle.d.ts +2 -1
- package/build/function/throttle.d.ts.map +1 -1
- package/build/function/throttle.js.map +1 -1
- package/build/index.d.ts +2 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/number/assert.d.ts.map +1 -1
- package/build/number/assert.js +38 -42
- package/build/number/assert.js.map +1 -1
- package/build/object/clone.d.ts.map +1 -1
- package/build/object/clone.js +3 -0
- package/build/object/clone.js.map +1 -1
- package/build/object/equals.d.ts +1 -1
- package/build/object/equals.d.ts.map +1 -1
- package/build/object/equals.js +14 -7
- package/build/object/equals.js.map +1 -1
- package/build/object/filter-cached.js.map +1 -1
- package/build/object/filter.d.ts +7 -1
- package/build/object/filter.d.ts.map +1 -1
- package/build/object/filter.js +36 -61
- package/build/object/filter.js.map +1 -1
- package/build/object/hash.d.ts +1 -1
- package/build/object/hash.d.ts.map +1 -1
- package/build/object/hash.js +1 -0
- package/build/object/hash.js.map +1 -1
- package/build/object/key-value-pairs.d.ts +1 -1
- package/build/object/key-value-pairs.d.ts.map +1 -1
- package/build/object/key-value-pairs.js.map +1 -1
- package/build/object/omit.d.ts +1 -1
- package/build/object/omit.d.ts.map +1 -1
- package/build/object/omit.js.map +1 -1
- package/build/object/pick.d.ts +1 -1
- package/build/object/pick.d.ts.map +1 -1
- package/build/object/pick.js.map +1 -1
- package/build/object/property-paths.d.ts +2 -2
- package/build/object/property-paths.d.ts.map +1 -1
- package/build/object/property-paths.js +7 -2
- package/build/object/property-paths.js.map +1 -1
- package/build/object/security-utils.d.ts +2 -2
- package/build/object/security-utils.d.ts.map +1 -1
- package/build/object/security-utils.js.map +1 -1
- package/build/object/types.d.ts +1 -1
- package/build/object/types.d.ts.map +1 -1
- package/build/string/assert.d.ts.map +1 -1
- package/build/string/assert.js +3 -9
- package/build/string/assert.js.map +1 -1
- package/build/string/case-conversion.d.ts +53 -24
- package/build/string/case-conversion.d.ts.map +1 -1
- package/build/string/case-conversion.js +59 -29
- package/build/string/case-conversion.js.map +1 -1
- package/build/string/comparison.d.ts +20 -0
- package/build/string/comparison.d.ts.map +1 -0
- package/build/string/comparison.js +25 -0
- package/build/string/comparison.js.map +1 -0
- package/build/string/formatting.d.ts +35 -22
- package/build/string/formatting.d.ts.map +1 -1
- package/build/string/formatting.js +35 -22
- package/build/string/formatting.js.map +1 -1
- package/build/string/index.d.ts +1 -0
- package/build/string/index.d.ts.map +1 -1
- package/build/string/index.js +1 -0
- package/build/string/index.js.map +1 -1
- package/build/string/transformation.d.ts +19 -9
- package/build/string/transformation.d.ts.map +1 -1
- package/build/string/transformation.js +21 -10
- package/build/string/transformation.js.map +1 -1
- package/build/string/validation.d.ts +21 -9
- package/build/string/validation.d.ts.map +1 -1
- package/build/string/validation.js +23 -10
- package/build/string/validation.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,24 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Reverses a string.
|
|
3
3
|
*
|
|
4
|
-
* @param input The input string
|
|
5
|
-
* @returns The reversed string
|
|
6
|
-
*
|
|
4
|
+
* @param input - The input string
|
|
5
|
+
* @returns The reversed string
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* ReverseString('hello'); // 'olleh'
|
|
10
|
+
* ReverseString('12345'); // '54321'
|
|
11
|
+
* ```
|
|
7
12
|
*/
|
|
8
|
-
export
|
|
13
|
+
export function ReverseString(input) {
|
|
9
14
|
if (input && typeof input === 'string') {
|
|
10
15
|
return Array.from(input).reverse().join('');
|
|
11
16
|
}
|
|
12
17
|
return '';
|
|
13
|
-
}
|
|
18
|
+
}
|
|
14
19
|
/**
|
|
15
20
|
* Converts a string to a URL-friendly slug.
|
|
16
21
|
*
|
|
17
|
-
* @param input The input string
|
|
18
|
-
* @returns The URL-friendly slug
|
|
19
|
-
*
|
|
22
|
+
* @param input - The input string
|
|
23
|
+
* @returns The URL-friendly slug
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* Slugify('Hello World!'); // 'hello-world'
|
|
28
|
+
* Slugify('The Quick Brown Fox'); // 'the-quick-brown-fox'
|
|
29
|
+
* Slugify('CamelCaseText'); // 'camelcasetext'
|
|
30
|
+
* ```
|
|
20
31
|
*/
|
|
21
|
-
export
|
|
32
|
+
export function Slugify(input) {
|
|
22
33
|
if (input && typeof input === 'string') {
|
|
23
34
|
return input
|
|
24
35
|
.toLowerCase()
|
|
@@ -28,5 +39,5 @@ export const SLUGIFY = (input) => {
|
|
|
28
39
|
.replace(/^-+|-+$/gu, '');
|
|
29
40
|
}
|
|
30
41
|
return '';
|
|
31
|
-
}
|
|
42
|
+
}
|
|
32
43
|
//# sourceMappingURL=transformation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformation.js","sourceRoot":"","sources":["../../src/string/transformation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transformation.js","sourceRoot":"","sources":["../../src/string/transformation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IAC1C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa;IACpC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK;aACV,WAAW,EAAE;aACb,IAAI,EAAE;aACN,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;aACzB,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;aACzB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -1,18 +1,30 @@
|
|
|
1
|
-
import type { TStringValidator } from './types.js';
|
|
2
1
|
/**
|
|
3
2
|
* Checks if a string is empty or contains only whitespace.
|
|
4
3
|
*
|
|
5
|
-
* @param value The string to check
|
|
6
|
-
* @returns `true` if the string is empty or contains only whitespace
|
|
7
|
-
*
|
|
4
|
+
* @param value - The string to check
|
|
5
|
+
* @returns `true` if the string is empty or contains only whitespace
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* IsBlankString(''); // true
|
|
10
|
+
* IsBlankString(' '); // true
|
|
11
|
+
* IsBlankString('hello'); // false
|
|
12
|
+
* ```
|
|
8
13
|
*/
|
|
9
|
-
export declare
|
|
14
|
+
export declare function IsBlankString(value: string): boolean;
|
|
10
15
|
/**
|
|
11
16
|
* Checks if a string is a valid hexadecimal value.
|
|
12
17
|
*
|
|
13
|
-
* @param value The input string
|
|
14
|
-
* @returns `true` if the string is a valid hexadecimal value
|
|
15
|
-
*
|
|
18
|
+
* @param value - The input string
|
|
19
|
+
* @returns `true` if the string is a valid hexadecimal value
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* IsHexString('#ff00ff'); // true
|
|
24
|
+
* IsHexString('0xDEADBEEF'); // true
|
|
25
|
+
* IsHexString('ff00ff'); // true
|
|
26
|
+
* IsHexString('xyz'); // false
|
|
27
|
+
* ```
|
|
16
28
|
*/
|
|
17
|
-
export declare
|
|
29
|
+
export declare function IsHexString(value: string): boolean;
|
|
18
30
|
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/string/validation.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/string/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAQD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Checks if a string is empty or contains only whitespace.
|
|
3
3
|
*
|
|
4
|
-
* @param value The string to check
|
|
5
|
-
* @returns `true` if the string is empty or contains only whitespace
|
|
6
|
-
*
|
|
4
|
+
* @param value - The string to check
|
|
5
|
+
* @returns `true` if the string is empty or contains only whitespace
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* IsBlankString(''); // true
|
|
10
|
+
* IsBlankString(' '); // true
|
|
11
|
+
* IsBlankString('hello'); // false
|
|
12
|
+
* ```
|
|
7
13
|
*/
|
|
8
|
-
export
|
|
14
|
+
export function IsBlankString(value) {
|
|
9
15
|
return !value || (/^\s*$/u).test(value);
|
|
10
|
-
}
|
|
16
|
+
}
|
|
11
17
|
/**
|
|
12
18
|
* Compiled regex pattern for hexadecimal validation.
|
|
13
19
|
* Cached for optimal performance with repeated calls.
|
|
@@ -16,11 +22,18 @@ const HEX_PATTERN = /^(?<prefix>#|0x)?(?<hex>[0-9a-f]+)$/iu;
|
|
|
16
22
|
/**
|
|
17
23
|
* Checks if a string is a valid hexadecimal value.
|
|
18
24
|
*
|
|
19
|
-
* @param value The input string
|
|
20
|
-
* @returns `true` if the string is a valid hexadecimal value
|
|
21
|
-
*
|
|
25
|
+
* @param value - The input string
|
|
26
|
+
* @returns `true` if the string is a valid hexadecimal value
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* IsHexString('#ff00ff'); // true
|
|
31
|
+
* IsHexString('0xDEADBEEF'); // true
|
|
32
|
+
* IsHexString('ff00ff'); // true
|
|
33
|
+
* IsHexString('xyz'); // false
|
|
34
|
+
* ```
|
|
22
35
|
*/
|
|
23
|
-
export
|
|
36
|
+
export function IsHexString(value) {
|
|
24
37
|
return HEX_PATTERN.test(value);
|
|
25
|
-
}
|
|
38
|
+
}
|
|
26
39
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/string/validation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/string/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IAC1C,OAAO,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAE5D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACxC,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pawells/typescript-common",
|
|
3
3
|
"displayName": "TypeScript Common Utilities",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "2.0.0",
|
|
5
5
|
"description": "Shared TypeScript utility library — array, object, string, time, and enum helpers. ESM-only, no runtime dependencies.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./build/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"eslint-plugin-unused-imports": "^4.0.0",
|
|
42
42
|
"globals": "^17.4.0",
|
|
43
43
|
"husky": "^9.1.7",
|
|
44
|
-
"typescript": "^
|
|
44
|
+
"typescript": "^6.0.2",
|
|
45
45
|
"vitest": "^4.0.18"
|
|
46
46
|
},
|
|
47
47
|
"keywords": [
|