@rzl-zone/utils-js 3.11.1 → 3.12.1-beta.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/{LICENSE.md → LICENSE} +3 -3
- package/README.md +62 -89
- package/dist/.references/index.d.cts +25 -0
- package/dist/.references/index.d.ts +25 -0
- package/dist/assertIsArray-BChqwPiP.cjs +26 -0
- package/dist/assertIsArray-BChqwPiP.cjs.map +1 -0
- package/dist/assertIsArray-BfAbIUfa.js +20 -0
- package/dist/assertIsArray-BfAbIUfa.js.map +1 -0
- package/dist/assertIsBoolean-BlBct0Fc.js +1073 -0
- package/dist/assertIsBoolean-BlBct0Fc.js.map +1 -0
- package/dist/assertIsBoolean-DozdtbNi.cjs +1283 -0
- package/dist/assertIsBoolean-DozdtbNi.cjs.map +1 -0
- package/dist/assertIsString-Bvk7bUL7.cjs +26 -0
- package/dist/assertIsString-Bvk7bUL7.cjs.map +1 -0
- package/dist/assertIsString-DqV9NwbI.js +20 -0
- package/dist/assertIsString-DqV9NwbI.js.map +1 -0
- package/dist/assertions/index.cjs +37 -40
- package/dist/assertions/index.cjs.map +1 -0
- package/dist/assertions/index.d.cts +12 -0
- package/dist/assertions/index.d.ts +10 -824
- package/dist/assertions/index.js +30 -13
- package/dist/assertions/index.js.map +1 -0
- package/dist/conversions/index.cjs +34 -103
- package/dist/conversions/index.d.cts +12 -0
- package/dist/conversions/index.d.ts +10 -1791
- package/dist/conversions/index.js +14 -24
- package/dist/conversions-CBs8-REq.cjs +448 -0
- package/dist/conversions-CBs8-REq.cjs.map +1 -0
- package/dist/conversions-EMJa3g-D.js +382 -0
- package/dist/conversions-EMJa3g-D.js.map +1 -0
- package/dist/events/index.cjs +55 -31
- package/dist/events/index.cjs.map +1 -0
- package/dist/events/index.d.cts +174 -0
- package/dist/events/index.d.ts +31 -35
- package/dist/events/index.js +50 -12
- package/dist/events/index.js.map +1 -0
- package/dist/formatEnvPort-DpIXzPAZ.js +159 -0
- package/dist/formatEnvPort-DpIXzPAZ.js.map +1 -0
- package/dist/formatEnvPort-hHNvOim-.cjs +171 -0
- package/dist/formatEnvPort-hHNvOim-.cjs.map +1 -0
- package/dist/formatters/index.cjs +21 -61
- package/dist/formatters/index.d.cts +12 -0
- package/dist/formatters/index.d.ts +10 -2152
- package/dist/formatters/index.js +10 -18
- package/dist/formatters-QcZO_Cpx.js +367 -0
- package/dist/formatters-QcZO_Cpx.js.map +1 -0
- package/dist/formatters-lAYgA11L.cjs +427 -0
- package/dist/formatters-lAYgA11L.cjs.map +1 -0
- package/dist/generators/index.cjs +161 -41
- package/dist/generators/index.cjs.map +1 -0
- package/dist/generators/index.d.cts +12 -0
- package/dist/generators/index.d.ts +10 -338
- package/dist/generators/index.js +154 -14
- package/dist/generators/index.js.map +1 -0
- package/dist/index-26W7ItWx.d.ts +760 -0
- package/dist/index-BPPQjAfs.d.cts +2359 -0
- package/dist/index-BXjlgBLz.d.cts +2139 -0
- package/dist/index-B_Wwo91H.d.ts +2359 -0
- package/dist/index-CpufydcI.d.cts +704 -0
- package/dist/index-Czc4O526.d.ts +333 -0
- package/dist/index-DPs1_p5G.d.cts +760 -0
- package/dist/index-DRpOyBSC.d.ts +1703 -0
- package/dist/index-DWWvtHUn.d.cts +822 -0
- package/dist/index-DnM0LD0n.d.cts +333 -0
- package/dist/index-GUZ9fK6T.d.ts +2139 -0
- package/dist/index-I4fAzwXV.d.ts +704 -0
- package/dist/index-JDrOl_19.d.ts +822 -0
- package/dist/index-b66P49Qe.d.cts +1703 -0
- package/dist/isBigInt-B1cijjqm.cjs +20 -0
- package/dist/isBigInt-B1cijjqm.cjs.map +1 -0
- package/dist/isBigInt-C0bN0Rhu.js +14 -0
- package/dist/isBigInt-C0bN0Rhu.js.map +1 -0
- package/dist/isEmptyObject-DI42NEo0.cjs +37 -0
- package/dist/isEmptyObject-DI42NEo0.cjs.map +1 -0
- package/dist/isEmptyObject-DeLVIJpl.js +25 -0
- package/dist/isEmptyObject-DeLVIJpl.js.map +1 -0
- package/dist/isEmptyString-BTUWYTbw.js +15 -0
- package/dist/isEmptyString-BTUWYTbw.js.map +1 -0
- package/dist/isEmptyString-CCK3bP74.cjs +21 -0
- package/dist/isEmptyString-CCK3bP74.cjs.map +1 -0
- package/dist/isEmptyValue-DMSMFTU8.cjs +30 -0
- package/dist/isEmptyValue-DMSMFTU8.cjs.map +1 -0
- package/dist/isEmptyValue-fjnfQnt5.js +24 -0
- package/dist/isEmptyValue-fjnfQnt5.js.map +1 -0
- package/dist/isEqual-B1fRgEuU.cjs +111 -0
- package/dist/isEqual-B1fRgEuU.cjs.map +1 -0
- package/dist/isEqual-DhyP8fB_.js +87 -0
- package/dist/isEqual-DhyP8fB_.js.map +1 -0
- package/dist/isFinite-BYMOo0os.js +15 -0
- package/dist/isFinite-BYMOo0os.js.map +1 -0
- package/dist/isFinite-sFkps2TY.cjs +21 -0
- package/dist/isFinite-sFkps2TY.cjs.map +1 -0
- package/dist/isInteger-DS9V7l_f.js +14 -0
- package/dist/isInteger-DS9V7l_f.js.map +1 -0
- package/dist/isInteger-FTCthMre.cjs +20 -0
- package/dist/isInteger-FTCthMre.cjs.map +1 -0
- package/dist/isPlainObject-DcFGh3_5.d.ts +530 -0
- package/dist/isPlainObject-doTI11Ib.d.cts +530 -0
- package/dist/isServer-D1TXfOs3.js +14 -0
- package/dist/isServer-D1TXfOs3.js.map +1 -0
- package/dist/isServer-q-QLFCqE.cjs +20 -0
- package/dist/isServer-q-QLFCqE.cjs.map +1 -0
- package/dist/isTypedArray-47R0wdrc.js +31 -0
- package/dist/isTypedArray-47R0wdrc.js.map +1 -0
- package/dist/isTypedArray-DiCoqffZ.cjs +43 -0
- package/dist/isTypedArray-DiCoqffZ.cjs.map +1 -0
- package/dist/isURL-CQiowFq2.js +14 -0
- package/dist/isURL-CQiowFq2.js.map +1 -0
- package/dist/isURL-WZypXsax.cjs +20 -0
- package/dist/isURL-WZypXsax.cjs.map +1 -0
- package/dist/isValidDomain-BSXshgkC.cjs +1788 -0
- package/dist/isValidDomain-BSXshgkC.cjs.map +1 -0
- package/dist/isValidDomain-DwA2EN79.js +1782 -0
- package/dist/isValidDomain-DwA2EN79.js.map +1 -0
- package/dist/next/index.cjs +119 -212
- package/dist/next/index.cjs.map +1 -0
- package/dist/next/index.d.cts +226 -0
- package/dist/next/index.d.ts +26 -31
- package/dist/next/index.js +117 -210
- package/dist/next/index.js.map +1 -0
- package/dist/next/server/index.cjs +25 -40
- package/dist/next/server/index.cjs.map +1 -0
- package/dist/next/server/index.d.cts +39 -0
- package/dist/next/server/index.d.ts +9 -10
- package/dist/next/server/index.js +23 -38
- package/dist/next/server/index.js.map +1 -0
- package/dist/noop-B2mTBhW-.cjs +18 -0
- package/dist/noop-B2mTBhW-.cjs.map +1 -0
- package/dist/noop-BzktGBVz.js +12 -0
- package/dist/noop-BzktGBVz.js.map +1 -0
- package/dist/normalizeSpaces-DQHR3Tlr.cjs +29 -0
- package/dist/normalizeSpaces-DQHR3Tlr.cjs.map +1 -0
- package/dist/normalizeSpaces-WS_iERJk.js +23 -0
- package/dist/normalizeSpaces-WS_iERJk.js.map +1 -0
- package/dist/normalizeString-2WLth_Gj.js +15 -0
- package/dist/normalizeString-2WLth_Gj.js.map +1 -0
- package/dist/normalizeString-D8euBcRD.cjs +21 -0
- package/dist/normalizeString-D8euBcRD.cjs.map +1 -0
- package/dist/operations/index.cjs +65 -32
- package/dist/operations/index.cjs.map +1 -0
- package/dist/operations/index.d.cts +139 -0
- package/dist/operations/index.d.ts +10 -15
- package/dist/operations/index.js +61 -17
- package/dist/operations/index.js.map +1 -0
- package/dist/parsers/index.cjs +12 -19
- package/dist/parsers/index.d.cts +239 -0
- package/dist/parsers/index.d.ts +71 -72
- package/dist/parsers/index.js +10 -12
- package/dist/parsers-DXtpsDyj.cjs +649 -0
- package/dist/parsers-DXtpsDyj.cjs.map +1 -0
- package/dist/parsers-Dpuq-V4u.js +643 -0
- package/dist/parsers-Dpuq-V4u.js.map +1 -0
- package/dist/parsing-B43x1sxn.js +50 -0
- package/dist/parsing-B43x1sxn.js.map +1 -0
- package/dist/parsing-lRoxn1Nz.cjs +56 -0
- package/dist/parsing-lRoxn1Nz.cjs.map +1 -0
- package/dist/predicates/index.cjs +91 -296
- package/dist/predicates/index.d.cts +13 -0
- package/dist/predicates/index.d.ts +12 -2482
- package/dist/predicates/index.js +23 -25
- package/dist/predicates-DiaYA7Ps.cjs +413 -0
- package/dist/predicates-DiaYA7Ps.cjs.map +1 -0
- package/dist/predicates-gNepszvo.js +257 -0
- package/dist/predicates-gNepszvo.js.map +1 -0
- package/dist/promises/index.cjs +76 -24
- package/dist/promises/index.cjs.map +1 -0
- package/dist/promises/index.d.cts +123 -0
- package/dist/promises/index.d.ts +28 -31
- package/dist/promises/index.js +73 -13
- package/dist/promises/index.js.map +1 -0
- package/dist/punyCode-CTWXVVFo.cjs +185 -0
- package/dist/punyCode-CTWXVVFo.cjs.map +1 -0
- package/dist/punyCode-hmiFzLWT.js +179 -0
- package/dist/punyCode-hmiFzLWT.js.map +1 -0
- package/dist/removeSpaces-BE8lfh-4.js +19 -0
- package/dist/removeSpaces-BE8lfh-4.js.map +1 -0
- package/dist/removeSpaces-DRRxNWlb.cjs +25 -0
- package/dist/removeSpaces-DRRxNWlb.cjs.map +1 -0
- package/dist/safeJsonParse-BBnQElk8.cjs +208 -0
- package/dist/safeJsonParse-BBnQElk8.cjs.map +1 -0
- package/dist/safeJsonParse-CXruaP0p.js +184 -0
- package/dist/safeJsonParse-CXruaP0p.js.map +1 -0
- package/dist/safeStableStringify-BNh3D0K0.js +88 -0
- package/dist/safeStableStringify-BNh3D0K0.js.map +1 -0
- package/dist/safeStableStringify-Cc62pfRp.cjs +106 -0
- package/dist/safeStableStringify-Cc62pfRp.cjs.map +1 -0
- package/dist/strings/index.cjs +76 -81
- package/dist/strings/index.cjs.map +1 -0
- package/dist/strings/index.d.cts +12 -0
- package/dist/strings/index.d.ts +10 -775
- package/dist/strings/index.js +59 -14
- package/dist/strings/index.js.map +1 -0
- package/dist/tailwind/index.cjs +19 -47
- package/dist/tailwind/index.d.cts +12 -0
- package/dist/tailwind/index.d.ts +11 -712
- package/dist/tailwind/index.js +10 -12
- package/dist/tailwind-DJ4cmLUw.cjs +247 -0
- package/dist/tailwind-DJ4cmLUw.cjs.map +1 -0
- package/dist/tailwind-IJvOdkZp.js +199 -0
- package/dist/tailwind-IJvOdkZp.js.map +1 -0
- package/dist/toStringArrayUnRecursive-CFs0jTEg.js +39 -0
- package/dist/toStringArrayUnRecursive-CFs0jTEg.js.map +1 -0
- package/dist/toStringArrayUnRecursive-xUaU8Ot9.cjs +51 -0
- package/dist/toStringArrayUnRecursive-xUaU8Ot9.cjs.map +1 -0
- package/dist/urls/index.cjs +129 -57
- package/dist/urls/index.cjs.map +1 -0
- package/dist/urls/index.d.cts +740 -0
- package/dist/urls/index.d.ts +218 -224
- package/dist/urls/index.js +121 -26
- package/dist/urls/index.js.map +1 -0
- package/package.json +203 -194
- package/dist/chunk-22V4WP3H.js +0 -53
- package/dist/chunk-2XSZ2ANI.js +0 -63
- package/dist/chunk-3T6VSWYX.js +0 -21
- package/dist/chunk-5WIEDF2J.js +0 -1823
- package/dist/chunk-6EDFZJZ5.cjs +0 -598
- package/dist/chunk-6LXWT2I5.js +0 -32
- package/dist/chunk-6YGBRENU.js +0 -209
- package/dist/chunk-7FGNVDEV.cjs +0 -38
- package/dist/chunk-AXDYWO67.js +0 -119
- package/dist/chunk-B6PMNZ4M.cjs +0 -35
- package/dist/chunk-BAV5T2E3.cjs +0 -15
- package/dist/chunk-BLF7SD66.js +0 -95
- package/dist/chunk-BMZZXZJ2.cjs +0 -30
- package/dist/chunk-BOYP3ARU.js +0 -264
- package/dist/chunk-BPYW5YL7.js +0 -16
- package/dist/chunk-C2PV3VWC.cjs +0 -118
- package/dist/chunk-CCJ2MSN7.js +0 -16
- package/dist/chunk-DAPAK2W3.cjs +0 -123
- package/dist/chunk-DLS3G6WQ.cjs +0 -23
- package/dist/chunk-DNMCR5JH.js +0 -370
- package/dist/chunk-DVMHRLKP.cjs +0 -16
- package/dist/chunk-EBYFYZW4.cjs +0 -26
- package/dist/chunk-ENMRZ4BE.js +0 -302
- package/dist/chunk-FJ4BQFVO.js +0 -587
- package/dist/chunk-GIKL4PUF.cjs +0 -106
- package/dist/chunk-GOFINGT6.js +0 -35
- package/dist/chunk-GXKQ3LHF.js +0 -101
- package/dist/chunk-HNBRGN4R.js +0 -24
- package/dist/chunk-HYN6FC5A.cjs +0 -249
- package/dist/chunk-IZGVBYFN.js +0 -242
- package/dist/chunk-JIE447J5.js +0 -676
- package/dist/chunk-JXEIJM5M.cjs +0 -237
- package/dist/chunk-K47GZDBH.js +0 -115
- package/dist/chunk-K5536YHG.cjs +0 -269
- package/dist/chunk-KHO2SBNA.cjs +0 -16
- package/dist/chunk-KXJ7X325.cjs +0 -308
- package/dist/chunk-L5RDAVVH.js +0 -14
- package/dist/chunk-LJHPTLWB.js +0 -109
- package/dist/chunk-M7ELWZXM.cjs +0 -1825
- package/dist/chunk-MSUW5VHZ.js +0 -1590
- package/dist/chunk-MUHRPRR7.cjs +0 -65
- package/dist/chunk-MV3TSQSH.cjs +0 -397
- package/dist/chunk-NLZLXWAU.cjs +0 -678
- package/dist/chunk-NVRZPF5M.cjs +0 -18
- package/dist/chunk-ONZFBJVW.js +0 -14
- package/dist/chunk-PGNL7JXO.cjs +0 -251
- package/dist/chunk-Q4GEQS7X.cjs +0 -564
- package/dist/chunk-QNKGP5DY.js +0 -14
- package/dist/chunk-QYI2VJLS.cjs +0 -211
- package/dist/chunk-RBWZII5I.js +0 -59
- package/dist/chunk-RMP7VMPB.cjs +0 -33
- package/dist/chunk-RZOGBYIS.js +0 -21
- package/dist/chunk-SU3UELUB.cjs +0 -36
- package/dist/chunk-SYHPSOUU.cjs +0 -1626
- package/dist/chunk-SZUNAEMR.js +0 -246
- package/dist/chunk-TER22LO4.cjs +0 -64
- package/dist/chunk-TJHGRQ4P.js +0 -33
- package/dist/chunk-U23I7JPB.cjs +0 -56
- package/dist/chunk-U7HHN47R.js +0 -552
- package/dist/chunk-UDA26MCU.cjs +0 -16
- package/dist/chunk-UIAWUZ4H.js +0 -31
- package/dist/chunk-ULQPCIA2.js +0 -16
- package/dist/chunk-VJDDGRIK.cjs +0 -16
- package/dist/chunk-WETQI6HM.js +0 -232
- package/dist/chunk-WLOQQFDS.cjs +0 -18
- package/dist/chunk-WVSPXFTY.js +0 -14
- package/dist/chunk-WXFTVXBF.cjs +0 -23
- package/dist/chunk-XPVTIGU2.cjs +0 -113
- package/dist/chunk-XX6RUGTM.cjs +0 -18
- package/dist/chunk-YWHHVDT4.js +0 -13
- package/dist/chunk-ZPDMWDGZ.cjs +0 -101
- package/dist/chunk-ZVWZEGQP.js +0 -28
- package/dist/index.d.ts +0 -24
- package/dist/isPlainObject-0p3VveWr.d.ts +0 -534
- package/dist/rzl-utils.global.js +0 -10
package/dist/strings/index.cjs
CHANGED
|
@@ -1,82 +1,77 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
require('../
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
});
|
|
79
|
-
Object.defineProperty(exports, "toSnakeCase", {
|
|
80
|
-
enumerable: true,
|
|
81
|
-
get: function () { return chunkSYHPSOUU_cjs.toSnakeCase; }
|
|
82
|
-
});
|
|
2
|
+
* ========================================================================
|
|
3
|
+
* @rzl-zone/utils-js
|
|
4
|
+
* ------------------------------------------------------------------------
|
|
5
|
+
* Version: `3.12.1-beta.0`
|
|
6
|
+
* Author: `Rizalvin Dwiky <rizalvindwiky@gmail.com>`
|
|
7
|
+
* Repository: `https://github.com/rzl-zone/rzl-zone/tree/main/packages/utils-js`
|
|
8
|
+
* ========================================================================
|
|
9
|
+
*/
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
12
|
+
const require_assertIsBoolean = require('../assertIsBoolean-DozdtbNi.cjs');
|
|
13
|
+
const require_isEmptyString = require('../isEmptyString-CCK3bP74.cjs');
|
|
14
|
+
const require_normalizeSpaces = require('../normalizeSpaces-DQHR3Tlr.cjs');
|
|
15
|
+
const require_normalizeString = require('../normalizeString-D8euBcRD.cjs');
|
|
16
|
+
const require_removeSpaces = require('../removeSpaces-DRRxNWlb.cjs');
|
|
17
|
+
const capitalizeFirst = (string, options = {
|
|
18
|
+
lowerCaseNextRest: true,
|
|
19
|
+
trim: false
|
|
20
|
+
}) => {
|
|
21
|
+
if (!require_assertIsBoolean.isNonEmptyString(string)) return "";
|
|
22
|
+
if (!require_assertIsBoolean.isPlainObject(options)) options = {};
|
|
23
|
+
const lowerCaseNextRest = options.lowerCaseNextRest !== false;
|
|
24
|
+
if (options.trim === true) string = string.trim();
|
|
25
|
+
return string[0].toUpperCase() + (lowerCaseNextRest ? string.slice(1).toLowerCase() : string.slice(1));
|
|
26
|
+
};
|
|
27
|
+
const capitalizeWords = (value, options = {
|
|
28
|
+
collapseSpaces: false,
|
|
29
|
+
trim: false
|
|
30
|
+
}) => {
|
|
31
|
+
if (!require_assertIsBoolean.isNonEmptyString(value)) return "";
|
|
32
|
+
let result = value;
|
|
33
|
+
if (!require_assertIsBoolean.isPlainObject(options)) options = {};
|
|
34
|
+
const collapseSpaces = options.collapseSpaces === true;
|
|
35
|
+
if (options.trim === true) result = result.trim();
|
|
36
|
+
if (collapseSpaces) {
|
|
37
|
+
const leadingSpaces = result.match(/^\s*/)?.[0] ?? "";
|
|
38
|
+
const trailingSpaces = result.match(/\s*$/)?.[0] ?? "";
|
|
39
|
+
result = result.trim().replace(/\s+/g, " ");
|
|
40
|
+
result = `${leadingSpaces}${result}${trailingSpaces}`;
|
|
41
|
+
}
|
|
42
|
+
return result.toLowerCase().split(" ").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
|
|
43
|
+
};
|
|
44
|
+
function stripHtmlTags(input) {
|
|
45
|
+
if (!require_assertIsBoolean.isString(input)) return;
|
|
46
|
+
if (require_isEmptyString.isEmptyString(input)) return "";
|
|
47
|
+
return input.replace(/<\/?[a-zA-Z][^<>]*\/?>/g, " ").trim().replace(/\s+/g, " ").trim();
|
|
48
|
+
}
|
|
49
|
+
const getInitialsName = (name) => {
|
|
50
|
+
if (!require_assertIsBoolean.isNonEmptyString(name)) return "";
|
|
51
|
+
name = name.replace(/\s+/g, " ").trim();
|
|
52
|
+
const nameParts = name.split(" ");
|
|
53
|
+
if (nameParts.length > 1) return nameParts[0][0] + nameParts[1][0].toUpperCase();
|
|
54
|
+
return name.length > 1 ? name.substring(0, 2).toUpperCase() : name[0].toUpperCase();
|
|
55
|
+
};
|
|
56
|
+
const replaceAt = (index, originalString, replaceTo) => {
|
|
57
|
+
if (!require_assertIsBoolean.isNumber(index) || !require_assertIsBoolean.isString(replaceTo) || !require_assertIsBoolean.isString(originalString)) throw new TypeError(`First parameter (\`index\`) must be of type \`number\`, second parameter (\`originalString\`) and third parameter (\`replaceTo\`) must be of type \`string\`, but received: "['index': \`${require_assertIsBoolean.getPreciseType(index)}\`, 'originalString': \`${require_assertIsBoolean.getPreciseType(originalString)}\`, 'replaceTo': \`${require_assertIsBoolean.getPreciseType(replaceTo)}\`]".`);
|
|
58
|
+
if (index < 0 || index >= originalString.length) throw new RangeError("First parameter (`index`) is out of range from second parameter (`originalString`).");
|
|
59
|
+
return originalString.slice(0, index) + replaceTo + originalString.slice(index + 1);
|
|
60
|
+
};
|
|
61
|
+
exports.capitalizeFirst = capitalizeFirst;
|
|
62
|
+
exports.capitalizeWords = capitalizeWords;
|
|
63
|
+
exports.getInitialsName = getInitialsName;
|
|
64
|
+
exports.normalizeSpaces = require_normalizeSpaces.normalizeSpaces;
|
|
65
|
+
exports.normalizeString = require_normalizeString.normalizeString;
|
|
66
|
+
exports.removeSpaces = require_removeSpaces.removeSpaces;
|
|
67
|
+
exports.replaceAt = replaceAt;
|
|
68
|
+
exports.slugify = require_assertIsBoolean.slugify;
|
|
69
|
+
exports.stripHtmlTags = stripHtmlTags;
|
|
70
|
+
exports.toCamelCase = require_assertIsBoolean.toCamelCase;
|
|
71
|
+
exports.toDotCase = require_assertIsBoolean.toDotCase;
|
|
72
|
+
exports.toKebabCase = require_assertIsBoolean.toKebabCase;
|
|
73
|
+
exports.toLowerCase = require_assertIsBoolean.toLowerCase;
|
|
74
|
+
exports.toPascalCase = require_assertIsBoolean.toPascalCase;
|
|
75
|
+
exports.toPascalCaseSpace = require_assertIsBoolean.toPascalCaseSpace;
|
|
76
|
+
exports.toSnakeCase = require_assertIsBoolean.toSnakeCase;
|
|
77
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["isNonEmptyString","isPlainObject","isNonEmptyString","isPlainObject","isString","isEmptyString","isNonEmptyString","isNumber","isString","getPreciseType"],"sources":["../../src/strings/capitalizations/capitalizeFirst.ts","../../src/strings/capitalizations/capitalizeWords.ts","../../src/strings/sanitizations/stripHtmlTags.ts","../../src/strings/utils/getInitialsName.ts","../../src/strings/utils/replaceAt.ts"],"sourcesContent":["import { isPlainObject } from \"@/predicates/is/isPlainObject\";\nimport { isNonEmptyString } from \"@/predicates/is/isNonEmptyString\";\n\ntype CapitalizeFirstOptions = {\n /** If true **(default)**, the rest of the string will be converted to lowercase after capitalizing the first letter.\n *\n * @default true\n */\n lowerCaseNextRest?: boolean;\n /** If true, the string will trimmed, default: `false`.\n *\n * @default false\n */\n trim?: boolean;\n};\n\n/** ----------------------------------------------------------\n * * ***Utility: `capitalizeFirst`.***\n * ----------------------------------------------------------\n * **Capitalizes the first letter of a string, with optionally lowercases the rest and trims whitespace.**\n * @param {string | null | undefined} string - The string to be processed.\n * @param {CapitalizeFirstOptions} [options] - Options to control behavior.\n * @param {CapitalizeFirstOptions[\"lowerCaseNextRest\"]} [options.lowerCaseNextRest=true] - If true, lowercases the rest (next first letter), default: `true`.\n * @param {CapitalizeFirstOptions[\"trim\"]} [options.trim=false] - If true, trims the string before processing, default: `false`.\n * @returns {string} The processed string, returns `\"\"` if input is `null`, `undefined`, or `not a valid string`.\n * @example\n * ```ts\n * capitalizeFirst(\" hello WORLD \");\n * // ➔ \" Hello world\"\n * capitalizeFirst(\" hello WORLD \", { trim: true });\n * // ➔ \"Hello world\"\n * capitalizeFirst(\"FOO\", { lowerCaseNextRest: false });\n * // ➔ \"FOO\"\n * capitalizeFirst(\" foo BAR \", { trim: true, lowerCaseNextRest: false });\n * // ➔ \"Foo BAR\"\n * ```\n * #### ℹ️ If null, undefined, or not a valid string input, return `\"\"`.\n * ```ts\n * capitalizeFirst(123);\n * capitalizeFirst(null);\n * capitalizeFirst(undefined);\n * // ➔ \"\"\n * ```\n */\nexport const capitalizeFirst = (\n string: string | null | undefined,\n options: CapitalizeFirstOptions = {\n lowerCaseNextRest: true,\n trim: false\n }\n): string => {\n if (!isNonEmptyString(string)) return \"\";\n\n if (!isPlainObject(options)) {\n options = {};\n }\n\n const lowerCaseNextRest = options.lowerCaseNextRest !== false;\n const trim = options.trim === true;\n\n if (trim) string = string.trim();\n\n return (\n string[0].toUpperCase() +\n (lowerCaseNextRest ? string.slice(1).toLowerCase() : string.slice(1))\n );\n};\n","import { isPlainObject } from \"@/predicates/is/isPlainObject\";\nimport { isNonEmptyString } from \"@/predicates/is/isNonEmptyString\";\n\ntype CapitalizeWordsOptions = {\n /** If `true`, removes leading and trailing spaces, default `false`.\n *\n * @default false\n */\n trim?: boolean;\n /** If `true`, collapses multiple spaces **between words** into a single space (while preserving leading/trailing spaces), default `false`.\n *\n * @default false\n */\n collapseSpaces?: boolean;\n};\n\n/** ----------------------------------------------------------\n * * ***Utility: `capitalizeWords`.***\n * ----------------------------------------------------------\n * **Capitalizes the first letter of each word in a string while converting the rest to lowercase.**\n * @param {string | null | undefined} value\n * ***The input string to be processed.***\n * - If `null` or `undefined`, returns an empty-string (`\"\"`).\n * @param {CapitalizeWordsOptions} [options]\n * ***Optional settings to control the output:***\n * - `trim`: If `true`, removes leading and trailing spaces, defaultValue: `false`.\n * - `collapseSpaces`: If `true`, collapses multiple spaces **between words** into a single space (while preserving leading/trailing spaces), defaultValue: `false`.\n * @returns {string} A new string where each word starts with an uppercase letter\n * and the remaining letters are lowercase.\n * - If `value` is `empty`, `null`, or `undefined`, returns an `empty-string`.\n * @example\n * ```ts\n * capitalizeWords(\" hello world \");\n * // ➔ \" Hello World \"\n * capitalizeWords(\" hello world \", { trim: true });\n * // ➔ \"Hello World\"\n * capitalizeWords(\" hello world \", { collapseSpaces: true });\n * // ➔ \" Hello World \"\n * capitalizeWords(\" hello world \", { trim: true, collapseSpaces: true });\n * // ➔ \"Hello World\"\n * ```\n * #### ℹ️ If null, undefined, or not a valid string input, return \"\".\n * ```ts\n * capitalizeWords(123);\n * capitalizeWords(null);\n * capitalizeWords(undefined);\n * // ➔ \"\"\n * ```\n */\nexport const capitalizeWords = (\n value: string | null | undefined,\n options: CapitalizeWordsOptions = {\n collapseSpaces: false,\n trim: false\n }\n): string => {\n if (!isNonEmptyString(value)) return \"\";\n\n let result = value;\n\n if (!isPlainObject(options)) {\n options = {};\n }\n\n const collapseSpaces = options.collapseSpaces === true;\n const trim = options.trim === true;\n\n if (trim) {\n result = result.trim();\n }\n\n if (collapseSpaces) {\n const leadingSpaces = result.match(/^\\s*/)?.[0] ?? \"\";\n const trailingSpaces = result.match(/\\s*$/)?.[0] ?? \"\";\n result = result.trim().replace(/\\s+/g, \" \");\n result = `${leadingSpaces}${result}${trailingSpaces}`;\n }\n\n return result\n .toLowerCase()\n .split(\" \")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n};\n","import type { Extends } from \"@rzl-zone/ts-types-plus\";\nimport { isString } from \"@/predicates/is/isString\";\nimport { isEmptyString } from \"@/predicates/is/isEmptyString\";\n\n/** ----------------------------------------------------------\n * * ***Utility: `stripHtmlTags`.***\n * ----------------------------------------------------------\n * **This function removes valid HTML tags (including nested and self-closing ones)\n * by replacing them with spaces, then collapses multiple whitespaces into a single space.**\n * - **It handles the following cases:**\n * - If the input is not a string (`null`, `undefined`, or any non-string), it is returned as undefined.\n * - If the input is an empty or whitespace-only string, it returns an empty string (`\"\"`).\n * - Otherwise, it returns the cleaned string with tags removed and normalized whitespace.\n * @template T - Input string type (string | null | undefined).\n * @param {string | null | undefined} input - A string potentially containing HTML tags.\n * @returns {string | undefined} Cleaned string if input is string, or original input otherwise.\n * @example\n * stripHtmlTags(\"<p>Hello</p>\");\n * // ➔ \"Hello\"\n * stripHtmlTags(\"<div><b>Bold</b> text</div>\");\n * // ➔ \"Bold text\"\n * stripHtmlTags(\"Line<br/>Break\");\n * // ➔ \"Line Break\"\n * stripHtmlTags(\"2 < 5 and 5 > 2\");\n * // ➔ \"2 < 5 and 5 > 2\"\n * stripHtmlTags(\"\");\n * // ➔ \"\"\n * stripHtmlTags(\" \");\n * // ➔ \"\"\n * stripHtmlTags(null);\n * // ➔ undefined\n * stripHtmlTags(undefined);\n * // ➔ undefined\n */\nexport function stripHtmlTags(input: string): string;\nexport function stripHtmlTags<T>(\n input: T\n): Extends<string, T> extends true ? string | undefined : undefined;\nexport function stripHtmlTags(input: unknown) {\n if (!isString(input)) {\n return undefined;\n }\n\n if (isEmptyString(input)) {\n return \"\";\n }\n\n // return input.replace(/<[^>]*>/g, \"\");\n const stripped = input.replace(/<\\/?[a-zA-Z][^<>]*\\/?>/g, \" \").trim();\n\n const cleaned = stripped.replace(/\\s+/g, \" \").trim();\n\n return cleaned;\n}\n","import { isNonEmptyString } from \"@/predicates/is/isNonEmptyString\";\n\n/** ----------------------------------------------------------\n * * ***Utility: `getInitialsName`.***\n * ----------------------------------------------------------\n * **Extracts initials from the given name string.**\n * - **Behavior:**\n * - For names with two or more words, returns the first letter of the first and second words.\n * - For a single word with 2+ characters, returns the first two letters.\n * - For a single character, returns that character.\n * - For `empty`, `null`, `undefined` or `whitespace-only input`, returns an empty string (`\"\"`).\n * @param {string | null | undefined} name - The name to extract initials from.\n * @returns {string} The extracted initials (e.g., \"JD\" for \"John Doe\").\n * @example\n * getInitialsName(\"Alice\"); // ➔ \"AL\"\n * getInitialsName(\"John Doe\"); // ➔ \"JD\"\n * getInitialsName(\" Bob Marley \"); // ➔ \"BM\"\n * getInitialsName(\"John Ronald Donal\"); // ➔ \"JR\"\n * getInitialsName(\"Lord John Doe Moe\"); // ➔ \"LJ\"\n * getInitialsName(\"X\"); // ➔ \"X\"\n * getInitialsName(\"\"); // ➔ \"\" (empty string)\n * getInitialsName(\" \"); // ➔ \"\" (empty string)\n * getInitialsName(null); // ➔ \"\" (null input)\n * getInitialsName(undefined); // ➔ \"\" (undefined input)\n */\nexport const getInitialsName = (name: string | null | undefined): string => {\n if (!isNonEmptyString(name)) return \"\"; // Handle empty string case\n\n // Trim spaces and remove duplicate spaces\n name = name.replace(/\\s+/g, \" \").trim();\n\n const nameParts = name.split(\" \");\n\n if (nameParts.length > 1) {\n // First letter of first and second words\n return nameParts[0][0] + nameParts[1][0].toUpperCase();\n }\n\n return name.length > 1\n ? name.substring(0, 2).toUpperCase()\n : // First two letters for single-word names\n name[0].toUpperCase();\n};\n","import { isNumber } from \"@/predicates/is/isNumber\";\nimport { isString } from \"@/predicates/is/isString\";\nimport { getPreciseType } from \"@/predicates/type/getPreciseType\";\n\n/** ----------------------------------------------------------\n * * ***Utility: `replaceAt`.***\n * ----------------------------------------------------------\n * **Replaces exactly one character at the specified index in the original string\n * with the provided `replaceTo` string.**\n * - **Behavior:**\n * - If `replaceTo` has more than one character,\n * the result will expand accordingly.\n * @param {number} index - The starting index where the replacement should occur.\n * @param {string} originalString - The original string to modify.\n * @param {string} replaceTo - The string to insert at the specified index.\n * @returns {string} The modified string with the replacement applied.\n * @example\n * replaceAt(3, \"hello\", \"X\");\n * // ➔ \"helXo\"\n * replaceAt(1, \"world\", \"AB\");\n * // ➔ \"wABrld\"\n * replaceAt(0, \"cat\", \"br\");\n * // ➔ \"brat\"\n * replaceAt(2, \"12345\", \"-\");\n * // ➔ \"12-45\"\n * replaceAt(4, \"ABCDE\", \"Z\");\n * // ➔ \"ABCDZ\"\n * // ❌ Examples that throw:\n * replaceAt(10, \"short\", \"X\");\n * // ➔ ❌ RangeError: First parameter (`index`) is out of range from second parameter `originalString`.\n * replaceAt(-1, \"test\", \"X\");\n * // ➔ ❌ RangeError: First parameter (`index`) is out of range from second parameter `originalString`.\n * replaceAt(\"1\", \"test\", \"X\");\n * // ➔ ❌ TypeError: First parameter `index` must be of type `number`, second parameter `originalString` and third parameter `replaceTo` must be of type `string`, but received: \"['index': `string`,...].\"\n * replaceAt(2, null, \"X\");\n * // ➔ ❌ TypeError: First parameter `index` must be of type `number`, second parameter `originalString` and third parameter `replaceTo` must be of type `string`, but received: \"['index': `string`,...].\"\n */\nexport const replaceAt = (\n index: number,\n originalString: string,\n replaceTo: string\n): string => {\n if (!isNumber(index) || !isString(replaceTo) || !isString(originalString)) {\n throw new TypeError(\n `First parameter (\\`index\\`) must be of type \\`number\\`, second parameter (\\`originalString\\`) and third parameter (\\`replaceTo\\`) must be of type \\`string\\`, but received: \"['index': \\`${getPreciseType(\n index\n )}\\`, 'originalString': \\`${getPreciseType(\n originalString\n )}\\`, 'replaceTo': \\`${getPreciseType(replaceTo)}\\`]\".`\n );\n }\n\n // Handle edge cases\n if (index < 0 || index >= originalString.length) {\n throw new RangeError(\n \"First parameter (`index`) is out of range from second parameter (`originalString`).\"\n );\n }\n\n return (\n originalString.slice(0, index) + // Extract before the index\n replaceTo + // Insert replacement\n originalString.slice(index + 1) // Extract after replacement\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAa,mBACX,QACA,UAAkC;CAChC,mBAAmB;CACnB,MAAM;CACP,KACU;CACX,IAAI,CAACA,yCAAiB,OAAO,EAAE,OAAO;CAEtC,IAAI,CAACC,sCAAc,QAAQ,EACzB,UAAU,EAAE;CAGd,MAAM,oBAAoB,QAAQ,sBAAsB;CAGxD,IAFa,QAAQ,SAAS,MAEpB,SAAS,OAAO,MAAM;CAEhC,OACE,OAAO,GAAG,aAAa,IACtB,oBAAoB,OAAO,MAAM,EAAE,CAAC,aAAa,GAAG,OAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfxE,MAAa,mBACX,OACA,UAAkC;CAChC,gBAAgB;CAChB,MAAM;CACP,KACU;CACX,IAAI,CAACC,yCAAiB,MAAM,EAAE,OAAO;CAErC,IAAI,SAAS;CAEb,IAAI,CAACC,sCAAc,QAAQ,EACzB,UAAU,EAAE;CAGd,MAAM,iBAAiB,QAAQ,mBAAmB;CAGlD,IAFa,QAAQ,SAAS,MAG5B,SAAS,OAAO,MAAM;CAGxB,IAAI,gBAAgB;EAClB,MAAM,gBAAgB,OAAO,MAAM,OAAO,GAAG,MAAM;EACnD,MAAM,iBAAiB,OAAO,MAAM,OAAO,GAAG,MAAM;EACpD,SAAS,OAAO,MAAM,CAAC,QAAQ,QAAQ,IAAI;EAC3C,SAAS,GAAG,gBAAgB,SAAS;;CAGvC,OAAO,OACJ,aAAa,CACb,MAAM,IAAI,CACV,KAAK,SAAS,KAAK,OAAO,EAAE,CAAC,aAAa,GAAG,KAAK,MAAM,EAAE,CAAC,CAC3D,KAAK,IAAI;;;;;AC5Cd,SAAgB,cAAc,OAAgB;CAC5C,IAAI,CAACC,iCAAS,MAAM,EAClB;CAGF,IAAIC,oCAAc,MAAM,EACtB,OAAO;CAQT,OAJiB,MAAM,QAAQ,2BAA2B,IAAI,CAAC,MAEvC,CAAC,QAAQ,QAAQ,IAAI,CAAC,MAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BhB,MAAa,mBAAmB,SAA4C;CAC1E,IAAI,CAACC,yCAAiB,KAAK,EAAE,OAAO;CAGpC,OAAO,KAAK,QAAQ,QAAQ,IAAI,CAAC,MAAM;CAEvC,MAAM,YAAY,KAAK,MAAM,IAAI;CAEjC,IAAI,UAAU,SAAS,GAErB,OAAO,UAAU,GAAG,KAAK,UAAU,GAAG,GAAG,aAAa;CAGxD,OAAO,KAAK,SAAS,IACjB,KAAK,UAAU,GAAG,EAAE,CAAC,aAAa,GAElC,KAAK,GAAG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3B,MAAa,aACX,OACA,gBACA,cACW;CACX,IAAI,CAACC,iCAAS,MAAM,IAAI,CAACC,iCAAS,UAAU,IAAI,CAACA,iCAAS,eAAe,EACvE,MAAM,IAAI,UACR,4LAA4LC,uCAC1L,MACD,CAAC,0BAA0BA,uCAC1B,eACD,CAAC,qBAAqBA,uCAAe,UAAU,CAAC,OAClD;CAIH,IAAI,QAAQ,KAAK,SAAS,eAAe,QACvC,MAAM,IAAI,WACR,sFACD;CAGH,OACE,eAAe,MAAM,GAAG,MAAM,GAC9B,YACA,eAAe,MAAM,QAAQ,EAAE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* ========================================================================
|
|
3
|
+
* @rzl-zone/utils-js
|
|
4
|
+
* ------------------------------------------------------------------------
|
|
5
|
+
* Version: `3.12.1-beta.0`
|
|
6
|
+
* Author: `Rizalvin Dwiky <rizalvindwiky@gmail.com>`
|
|
7
|
+
* Repository: `https://github.com/rzl-zone/rzl-zone/tree/main/packages/utils-js`
|
|
8
|
+
* ========================================================================
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { a as normalizeString, c as toPascalCaseSpace, d as toKebabCase, f as toDotCase, g as capitalizeFirst, h as capitalizeWords, i as removeSpaces, l as toPascalCase, m as slugify, n as getInitialsName, o as normalizeSpaces, p as toCamelCase, r as stripHtmlTags, s as toSnakeCase, t as replaceAt, u as toLowerCase } from "../index-DPs1_p5G.cjs";
|
|
12
|
+
export { capitalizeFirst, capitalizeWords, getInitialsName, normalizeSpaces, normalizeString, removeSpaces, replaceAt, slugify, stripHtmlTags, toCamelCase, toDotCase, toKebabCase, toLowerCase, toPascalCase, toPascalCaseSpace, toSnakeCase };
|