@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.
Files changed (149) hide show
  1. package/README.md +69 -15
  2. package/build/array/array-chunk.d.ts +1 -1
  3. package/build/array/array-chunk.d.ts.map +1 -1
  4. package/build/array/array-chunk.js.map +1 -1
  5. package/build/array/array-contains.d.ts +4 -1
  6. package/build/array/array-contains.d.ts.map +1 -1
  7. package/build/array/array-contains.js +4 -0
  8. package/build/array/array-contains.js.map +1 -1
  9. package/build/array/array-count-by.d.ts +3 -1
  10. package/build/array/array-count-by.d.ts.map +1 -1
  11. package/build/array/array-count-by.js +4 -1
  12. package/build/array/array-count-by.js.map +1 -1
  13. package/build/array/array-difference.d.ts +20 -9
  14. package/build/array/array-difference.d.ts.map +1 -1
  15. package/build/array/array-difference.js +25 -8
  16. package/build/array/array-difference.js.map +1 -1
  17. package/build/array/array-filter.d.ts +3 -1
  18. package/build/array/array-filter.d.ts.map +1 -1
  19. package/build/array/array-filter.js +4 -1
  20. package/build/array/array-filter.js.map +1 -1
  21. package/build/array/array-flatten.d.ts +1 -1
  22. package/build/array/array-flatten.d.ts.map +1 -1
  23. package/build/array/array-flatten.js.map +1 -1
  24. package/build/array/array-group-by.d.ts +3 -1
  25. package/build/array/array-group-by.d.ts.map +1 -1
  26. package/build/array/array-group-by.js +4 -1
  27. package/build/array/array-group-by.js.map +1 -1
  28. package/build/array/array-intersection.d.ts +20 -9
  29. package/build/array/array-intersection.d.ts.map +1 -1
  30. package/build/array/array-intersection.js +30 -12
  31. package/build/array/array-intersection.js.map +1 -1
  32. package/build/array/array-partition.d.ts +3 -1
  33. package/build/array/array-partition.d.ts.map +1 -1
  34. package/build/array/array-partition.js +4 -1
  35. package/build/array/array-partition.js.map +1 -1
  36. package/build/array/array-sample.d.ts +6 -2
  37. package/build/array/array-sample.d.ts.map +1 -1
  38. package/build/array/array-sample.js +8 -6
  39. package/build/array/array-sample.js.map +1 -1
  40. package/build/array/array-shuffle.d.ts +4 -2
  41. package/build/array/array-shuffle.d.ts.map +1 -1
  42. package/build/array/array-shuffle.js +6 -3
  43. package/build/array/array-shuffle.js.map +1 -1
  44. package/build/array/array-sort-by.d.ts +1 -1
  45. package/build/array/array-sort-by.d.ts.map +1 -1
  46. package/build/array/array-sort-by.js.map +1 -1
  47. package/build/array/assert.d.ts +22 -18
  48. package/build/array/assert.d.ts.map +1 -1
  49. package/build/array/assert.js +27 -23
  50. package/build/array/assert.js.map +1 -1
  51. package/build/array/types.d.ts +11 -0
  52. package/build/array/types.d.ts.map +1 -1
  53. package/build/array/unique.d.ts +3 -1
  54. package/build/array/unique.d.ts.map +1 -1
  55. package/build/array/unique.js +4 -1
  56. package/build/array/unique.js.map +1 -1
  57. package/build/asserts/generic.d.ts +9 -0
  58. package/build/asserts/generic.d.ts.map +1 -1
  59. package/build/asserts/generic.js +30 -8
  60. package/build/asserts/generic.js.map +1 -1
  61. package/build/asserts/utils.d.ts +32 -0
  62. package/build/asserts/utils.d.ts.map +1 -1
  63. package/build/asserts/utils.js +79 -0
  64. package/build/asserts/utils.js.map +1 -1
  65. package/build/boolean/assert.d.ts.map +1 -1
  66. package/build/boolean/assert.js +2 -5
  67. package/build/boolean/assert.js.map +1 -1
  68. package/build/function/compose.d.ts +3 -2
  69. package/build/function/compose.d.ts.map +1 -1
  70. package/build/function/compose.js.map +1 -1
  71. package/build/function/debounce.d.ts +2 -1
  72. package/build/function/debounce.d.ts.map +1 -1
  73. package/build/function/debounce.js.map +1 -1
  74. package/build/function/once.d.ts +1 -0
  75. package/build/function/once.d.ts.map +1 -1
  76. package/build/function/once.js +1 -0
  77. package/build/function/once.js.map +1 -1
  78. package/build/function/throttle.d.ts +2 -1
  79. package/build/function/throttle.d.ts.map +1 -1
  80. package/build/function/throttle.js.map +1 -1
  81. package/build/index.d.ts +2 -2
  82. package/build/index.d.ts.map +1 -1
  83. package/build/index.js +1 -1
  84. package/build/index.js.map +1 -1
  85. package/build/number/assert.d.ts.map +1 -1
  86. package/build/number/assert.js +38 -42
  87. package/build/number/assert.js.map +1 -1
  88. package/build/object/clone.d.ts.map +1 -1
  89. package/build/object/clone.js +3 -0
  90. package/build/object/clone.js.map +1 -1
  91. package/build/object/equals.d.ts +1 -1
  92. package/build/object/equals.d.ts.map +1 -1
  93. package/build/object/equals.js +14 -7
  94. package/build/object/equals.js.map +1 -1
  95. package/build/object/filter-cached.js.map +1 -1
  96. package/build/object/filter.d.ts +7 -1
  97. package/build/object/filter.d.ts.map +1 -1
  98. package/build/object/filter.js +36 -61
  99. package/build/object/filter.js.map +1 -1
  100. package/build/object/hash.d.ts +1 -1
  101. package/build/object/hash.d.ts.map +1 -1
  102. package/build/object/hash.js +1 -0
  103. package/build/object/hash.js.map +1 -1
  104. package/build/object/key-value-pairs.d.ts +1 -1
  105. package/build/object/key-value-pairs.d.ts.map +1 -1
  106. package/build/object/key-value-pairs.js.map +1 -1
  107. package/build/object/omit.d.ts +1 -1
  108. package/build/object/omit.d.ts.map +1 -1
  109. package/build/object/omit.js.map +1 -1
  110. package/build/object/pick.d.ts +1 -1
  111. package/build/object/pick.d.ts.map +1 -1
  112. package/build/object/pick.js.map +1 -1
  113. package/build/object/property-paths.d.ts +2 -2
  114. package/build/object/property-paths.d.ts.map +1 -1
  115. package/build/object/property-paths.js +7 -2
  116. package/build/object/property-paths.js.map +1 -1
  117. package/build/object/security-utils.d.ts +2 -2
  118. package/build/object/security-utils.d.ts.map +1 -1
  119. package/build/object/security-utils.js.map +1 -1
  120. package/build/object/types.d.ts +1 -1
  121. package/build/object/types.d.ts.map +1 -1
  122. package/build/string/assert.d.ts.map +1 -1
  123. package/build/string/assert.js +3 -9
  124. package/build/string/assert.js.map +1 -1
  125. package/build/string/case-conversion.d.ts +53 -24
  126. package/build/string/case-conversion.d.ts.map +1 -1
  127. package/build/string/case-conversion.js +59 -29
  128. package/build/string/case-conversion.js.map +1 -1
  129. package/build/string/comparison.d.ts +20 -0
  130. package/build/string/comparison.d.ts.map +1 -0
  131. package/build/string/comparison.js +25 -0
  132. package/build/string/comparison.js.map +1 -0
  133. package/build/string/formatting.d.ts +35 -22
  134. package/build/string/formatting.d.ts.map +1 -1
  135. package/build/string/formatting.js +35 -22
  136. package/build/string/formatting.js.map +1 -1
  137. package/build/string/index.d.ts +1 -0
  138. package/build/string/index.d.ts.map +1 -1
  139. package/build/string/index.js +1 -0
  140. package/build/string/index.js.map +1 -1
  141. package/build/string/transformation.d.ts +19 -9
  142. package/build/string/transformation.d.ts.map +1 -1
  143. package/build/string/transformation.js +21 -10
  144. package/build/string/transformation.js.map +1 -1
  145. package/build/string/validation.d.ts +21 -9
  146. package/build/string/validation.d.ts.map +1 -1
  147. package/build/string/validation.js +23 -10
  148. package/build/string/validation.js.map +1 -1
  149. 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
- * @see {@link TStringTransformer}
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 const REVERSE_STRING = (input) => {
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
- * @see {@link TStringTransformer}
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 const SLUGIFY = (input) => {
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":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAuB,CAAC,KAAa,EAAU,EAAE;IAC3E,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,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAuB,CAAC,KAAa,EAAU,EAAE;IACpE,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,CAAC"}
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
- * @see {@link TStringValidator}
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 const IS_BLANK_STRING: TStringValidator;
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
- * @see {@link TStringValidator}
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 const IS_HEX_STRING: TStringValidator;
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,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,gBAE7B,CAAC;AAQF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,gBAE3B,CAAC"}
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
- * @see {@link TStringValidator}
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 const IS_BLANK_STRING = (value) => {
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
- * @see {@link TStringValidator}
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 const IS_HEX_STRING = (value) => {
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":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAqB,CAAC,KAAa,EAAW,EAAE;IAC3E,OAAO,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAqB,CAAC,KAAa,EAAW,EAAE;IACzE,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC"}
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": "1.3.1",
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": "^5.3.3",
44
+ "typescript": "^6.0.2",
45
45
  "vitest": "^4.0.18"
46
46
  },
47
47
  "keywords": [