@herowcode/utils 1.0.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.
Files changed (112) hide show
  1. package/README.md +224 -0
  2. package/dist/array/index.d.ts +3 -0
  3. package/dist/array/index.d.ts.map +1 -0
  4. package/dist/array/index.esm.js +2 -0
  5. package/dist/array/index.js +2 -0
  6. package/dist/array/index.js.map +1 -0
  7. package/dist/array/shuffle.d.ts +2 -0
  8. package/dist/array/shuffle.d.ts.map +1 -0
  9. package/dist/array/shuffle.esm.js +12 -0
  10. package/dist/array/shuffle.js +12 -0
  11. package/dist/array/shuffle.js.map +1 -0
  12. package/dist/array/unique.d.ts +2 -0
  13. package/dist/array/unique.d.ts.map +1 -0
  14. package/dist/array/unique.esm.js +3 -0
  15. package/dist/array/unique.js +3 -0
  16. package/dist/array/unique.js.map +1 -0
  17. package/dist/date/dayjs.d.ts +3 -0
  18. package/dist/date/dayjs.d.ts.map +1 -0
  19. package/dist/date/dayjs.esm.js +14 -0
  20. package/dist/date/dayjs.js +14 -0
  21. package/dist/date/dayjs.js.map +1 -0
  22. package/dist/date/fixTimezoneOffset.d.ts +3 -0
  23. package/dist/date/fixTimezoneOffset.d.ts.map +1 -0
  24. package/dist/date/fixTimezoneOffset.esm.js +5 -0
  25. package/dist/date/fixTimezoneOffset.js +5 -0
  26. package/dist/date/fixTimezoneOffset.js.map +1 -0
  27. package/dist/date/formatDate.d.ts +2 -0
  28. package/dist/date/formatDate.d.ts.map +1 -0
  29. package/dist/date/formatDate.esm.js +9 -0
  30. package/dist/date/formatDate.js +9 -0
  31. package/dist/date/formatDate.js.map +1 -0
  32. package/dist/date/getCurrentDateInUTC.d.ts +3 -0
  33. package/dist/date/getCurrentDateInUTC.d.ts.map +1 -0
  34. package/dist/date/getCurrentDateInUTC.esm.js +4 -0
  35. package/dist/date/getCurrentDateInUTC.js +4 -0
  36. package/dist/date/getCurrentDateInUTC.js.map +1 -0
  37. package/dist/date/getDateInUTC.d.ts +3 -0
  38. package/dist/date/getDateInUTC.d.ts.map +1 -0
  39. package/dist/date/getDateInUTC.esm.js +4 -0
  40. package/dist/date/getDateInUTC.js +4 -0
  41. package/dist/date/getDateInUTC.js.map +1 -0
  42. package/dist/date/index.d.ts +7 -0
  43. package/dist/date/index.d.ts.map +1 -0
  44. package/dist/date/index.esm.js +6 -0
  45. package/dist/date/index.js +6 -0
  46. package/dist/date/index.js.map +1 -0
  47. package/dist/date/parseTimeSpent.d.ts +2 -0
  48. package/dist/date/parseTimeSpent.d.ts.map +1 -0
  49. package/dist/date/parseTimeSpent.esm.js +85 -0
  50. package/dist/date/parseTimeSpent.js +85 -0
  51. package/dist/date/parseTimeSpent.js.map +1 -0
  52. package/dist/function.d.ts +18 -0
  53. package/dist/function.d.ts.map +1 -0
  54. package/dist/function.esm.js +54 -0
  55. package/dist/function.js +54 -0
  56. package/dist/function.js.map +1 -0
  57. package/dist/index.d.ts +6 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.esm.js +10 -0
  60. package/dist/index.js +10 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/number.d.ts +8 -0
  63. package/dist/number.d.ts.map +1 -0
  64. package/dist/number.esm.js +15 -0
  65. package/dist/number.js +15 -0
  66. package/dist/number.js.map +1 -0
  67. package/dist/string/camel-case.d.ts +2 -0
  68. package/dist/string/camel-case.d.ts.map +1 -0
  69. package/dist/string/camel-case.esm.js +21 -0
  70. package/dist/string/camel-case.js +21 -0
  71. package/dist/string/camel-case.js.map +1 -0
  72. package/dist/string/capitalize.d.ts +2 -0
  73. package/dist/string/capitalize.d.ts.map +1 -0
  74. package/dist/string/capitalize.esm.js +9 -0
  75. package/dist/string/capitalize.js +9 -0
  76. package/dist/string/capitalize.js.map +1 -0
  77. package/dist/string/index.d.ts +9 -0
  78. package/dist/string/index.d.ts.map +1 -0
  79. package/dist/string/index.esm.js +8 -0
  80. package/dist/string/index.js +8 -0
  81. package/dist/string/index.js.map +1 -0
  82. package/dist/string/kebab-case.d.ts +2 -0
  83. package/dist/string/kebab-case.d.ts.map +1 -0
  84. package/dist/string/kebab-case.esm.js +11 -0
  85. package/dist/string/kebab-case.js +11 -0
  86. package/dist/string/kebab-case.js.map +1 -0
  87. package/dist/string/remove-html-tags.d.ts +2 -0
  88. package/dist/string/remove-html-tags.d.ts.map +1 -0
  89. package/dist/string/remove-html-tags.esm.js +14 -0
  90. package/dist/string/remove-html-tags.js +14 -0
  91. package/dist/string/remove-html-tags.js.map +1 -0
  92. package/dist/string/slugify.d.ts +2 -0
  93. package/dist/string/slugify.d.ts.map +1 -0
  94. package/dist/string/slugify.esm.js +9 -0
  95. package/dist/string/slugify.js +9 -0
  96. package/dist/string/slugify.js.map +1 -0
  97. package/dist/string/snake-case.d.ts +2 -0
  98. package/dist/string/snake-case.d.ts.map +1 -0
  99. package/dist/string/snake-case.esm.js +11 -0
  100. package/dist/string/snake-case.js +11 -0
  101. package/dist/string/snake-case.js.map +1 -0
  102. package/dist/string/to-sentence-case.d.ts +2 -0
  103. package/dist/string/to-sentence-case.d.ts.map +1 -0
  104. package/dist/string/to-sentence-case.esm.js +9 -0
  105. package/dist/string/to-sentence-case.js +9 -0
  106. package/dist/string/to-sentence-case.js.map +1 -0
  107. package/dist/string/truncate.d.ts +2 -0
  108. package/dist/string/truncate.d.ts.map +1 -0
  109. package/dist/string/truncate.esm.js +15 -0
  110. package/dist/string/truncate.js +15 -0
  111. package/dist/string/truncate.js.map +1 -0
  112. package/package.json +92 -0
@@ -0,0 +1,9 @@
1
+ export function toSentenceCase(str) {
2
+ return str
3
+ .replace(/_/g, " ")
4
+ .replace(/([A-Z])/g, " $1")
5
+ .toLowerCase()
6
+ .replace(/^\w/, (c) => c.toUpperCase())
7
+ .replace(/\s+/g, " ")
8
+ .trim();
9
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-sentence-case.js","sourceRoot":"","sources":["../../src/string/to-sentence-case.ts"],"names":[],"mappings":";;AAAA,wCAQC;AARD,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG;SACP,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;SAC1B,WAAW,EAAE;SACb,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACtC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAA;AACX,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function truncate(str: string, length: number, suffix?: string): string;
2
+ //# sourceMappingURL=truncate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../src/string/truncate.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAQ,GAAG,MAAM,CAkB5E"}
@@ -0,0 +1,15 @@
1
+ export function truncate(str, length, suffix = "...") {
2
+ if (typeof str !== "string") {
3
+ throw new Error("Input must be a string");
4
+ }
5
+ if (typeof length !== "number" || length < 0) {
6
+ throw new Error("Length must be a non-negative number");
7
+ }
8
+ if (str.length <= length) {
9
+ return str;
10
+ }
11
+ if (length === 0) {
12
+ return suffix;
13
+ }
14
+ return str.slice(0, Math.max(0, length - suffix.length)) + suffix;
15
+ }
@@ -0,0 +1,15 @@
1
+ export function truncate(str, length, suffix = "...") {
2
+ if (typeof str !== "string") {
3
+ throw new Error("Input must be a string");
4
+ }
5
+ if (typeof length !== "number" || length < 0) {
6
+ throw new Error("Length must be a non-negative number");
7
+ }
8
+ if (str.length <= length) {
9
+ return str;
10
+ }
11
+ if (length === 0) {
12
+ return suffix;
13
+ }
14
+ return str.slice(0, Math.max(0, length - suffix.length)) + suffix;
15
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../src/string/truncate.ts"],"names":[],"mappings":";;AAAA,4BAkBC;AAlBD,SAAgB,QAAQ,CAAC,GAAW,EAAE,MAAc,EAAE,MAAM,GAAG,KAAK;IAClE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACzD,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;QACzB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAA;AACnE,CAAC"}
package/package.json ADDED
@@ -0,0 +1,92 @@
1
+ {
2
+ "name": "@herowcode/utils",
3
+ "version": "1.0.1",
4
+ "description": "A lightweight collection of utility functions for everyday JavaScript/TypeScript development",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.esm.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.esm.js",
12
+ "require": "./dist/index.js"
13
+ },
14
+ "./array": {
15
+ "types": "./dist/array/index.d.ts",
16
+ "import": "./dist/array/index.esm.js",
17
+ "require": "./dist/array/index.js"
18
+ },
19
+ "./date": {
20
+ "types": "./dist/date/index.d.ts",
21
+ "import": "./dist/date/index.esm.js",
22
+ "require": "./dist/date/index.js"
23
+ },
24
+ "./string": {
25
+ "types": "./dist/string/index.d.ts",
26
+ "import": "./dist/string/index.esm.js",
27
+ "require": "./dist/string/index.js"
28
+ },
29
+ "./number": {
30
+ "types": "./dist/number.d.ts",
31
+ "import": "./dist/number.esm.js",
32
+ "require": "./dist/number.js"
33
+ },
34
+ "./function": {
35
+ "types": "./dist/function.d.ts",
36
+ "import": "./dist/function.esm.js",
37
+ "require": "./dist/function.js"
38
+ }
39
+ },
40
+ "files": [
41
+ "dist"
42
+ ],
43
+ "scripts": {
44
+ "build": "yarn clean && yarn build:cjs && yarn build:esm && yarn build:types",
45
+ "build:cjs": "tsc --project tsconfig.json",
46
+ "build:esm": "tsc --project tsconfig.esm.json && node scripts/build-esm.js",
47
+ "build:types": "tsc --project tsconfig.types.json",
48
+ "lint": "biome check --write --unsafe",
49
+ "clean": "rm -rf dist",
50
+ "test": "jest",
51
+ "test:watch": "jest --watch",
52
+ "test:coverage": "jest --coverage",
53
+ "prepare": "yarn build",
54
+ "prepublishOnly": "yarn test && yarn build",
55
+ "version:patch": "yarn test && yarn build && npm version patch && git push && git push --tags",
56
+ "version:minor": "yarn test && yarn build && npm version minor && git push && git push --tags",
57
+ "version:major": "yarn test && yarn build && npm version major && git push && git push --tags"
58
+ },
59
+ "keywords": [
60
+ "utils",
61
+ "utilities",
62
+ "date",
63
+ "string",
64
+ "debounce",
65
+ "throttle",
66
+ "typescript",
67
+ "dayjs"
68
+ ],
69
+ "author": {
70
+ "name": "Judson Junior",
71
+ "email": "judson.junior@herowcode.com"
72
+ },
73
+ "license": "MIT",
74
+ "dependencies": {
75
+ "dayjs": "^1.11.10"
76
+ },
77
+ "devDependencies": {
78
+ "@biomejs/biome": "2.2.3",
79
+ "@types/jest": "^29.5.5",
80
+ "jest": "^29.7.0",
81
+ "ts-jest": "^29.1.1",
82
+ "typescript": "^5.2.2"
83
+ },
84
+ "repository": {
85
+ "type": "git",
86
+ "url": "git+https://github.com/herowcode/js-utils.git"
87
+ },
88
+ "bugs": {
89
+ "url": "https://github.com/herowcode/js-utils/issues"
90
+ },
91
+ "homepage": "https://github.com/herowcode/js-utils#readme"
92
+ }