@rzl-zone/utils-js 3.9.1 → 3.11.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 +111 -73
- package/dist/assertions/index.cjs +11 -11
- package/dist/assertions/index.d.ts +487 -215
- package/dist/assertions/index.js +5 -5
- package/dist/{chunk-SN5HAK3Y.js → chunk-22V4WP3H.js} +4 -4
- package/dist/{chunk-EJV5AF4L.js → chunk-2XSZ2ANI.js} +2 -2
- package/dist/{chunk-OSSFLQDD.js → chunk-3T6VSWYX.js} +2 -2
- package/dist/{chunk-3LE6NX57.js → chunk-5WIEDF2J.js} +4 -4
- package/dist/{chunk-WLEZ2KSG.cjs → chunk-6EDFZJZ5.cjs} +126 -126
- package/dist/{chunk-GHU356XQ.js → chunk-6LXWT2I5.js} +3 -3
- package/dist/{chunk-GKDSBOYE.js → chunk-6YGBRENU.js} +3 -3
- package/dist/{chunk-NAOVH4OH.cjs → chunk-7FGNVDEV.cjs} +7 -7
- package/dist/{chunk-X6ULJZ3X.js → chunk-AXDYWO67.js} +2 -2
- package/dist/{chunk-UV5BKAYW.cjs → chunk-B6PMNZ4M.cjs} +7 -7
- package/dist/chunk-BAV5T2E3.cjs +1 -1
- package/dist/{chunk-YHFRCVTN.js → chunk-BLF7SD66.js} +3 -3
- package/dist/{chunk-QZI5PVCI.cjs → chunk-BMZZXZJ2.cjs} +4 -4
- package/dist/{chunk-DXPM4NOU.js → chunk-BOYP3ARU.js} +4 -4
- package/dist/{chunk-UXT4XSUK.js → chunk-BPYW5YL7.js} +2 -2
- package/dist/{chunk-QGTFQ7RO.cjs → chunk-C2PV3VWC.cjs} +6 -6
- package/dist/{chunk-MZ3T6L7Z.js → chunk-CCJ2MSN7.js} +2 -2
- package/dist/{chunk-H44QVAZL.cjs → chunk-DAPAK2W3.cjs} +31 -31
- package/dist/{chunk-OYFUBKEG.cjs → chunk-DLS3G6WQ.cjs} +4 -4
- package/dist/{chunk-MS2KSKD7.js → chunk-DNMCR5JH.js} +9 -9
- package/dist/chunk-DVMHRLKP.cjs +1 -1
- package/dist/{chunk-IX6PF5ZP.cjs → chunk-EBYFYZW4.cjs} +4 -4
- package/dist/{chunk-5Y6JL47L.js → chunk-ENMRZ4BE.js} +3 -3
- package/dist/{chunk-7EIFPHV3.js → chunk-FJ4BQFVO.js} +8 -8
- package/dist/{chunk-TJ5OY6MC.cjs → chunk-GIKL4PUF.cjs} +10 -10
- package/dist/{chunk-M5QB2GM5.js → chunk-GOFINGT6.js} +2 -2
- package/dist/{chunk-J6VLFVIL.js → chunk-GXKQ3LHF.js} +3 -3
- package/dist/{chunk-5KDVIEVO.js → chunk-HNBRGN4R.js} +2 -2
- package/dist/{chunk-OCTHWEZK.cjs → chunk-HYN6FC5A.cjs} +34 -34
- package/dist/{chunk-MBFVTGYS.js → chunk-IZGVBYFN.js} +4 -4
- package/dist/{chunk-QXTJVDWE.js → chunk-JIE447J5.js} +3 -3
- package/dist/{chunk-UFYMRRJH.cjs → chunk-JXEIJM5M.cjs} +61 -61
- package/dist/{chunk-WB3FT62A.js → chunk-K47GZDBH.js} +3 -3
- package/dist/{chunk-KUVRZ2JW.cjs → chunk-K5536YHG.cjs} +50 -50
- package/dist/chunk-KHO2SBNA.cjs +1 -1
- package/dist/{chunk-NJ24M6ZH.cjs → chunk-KXJ7X325.cjs} +37 -37
- package/dist/chunk-L5RDAVVH.js +1 -1
- package/dist/{chunk-SRWL4YCP.js → chunk-LJHPTLWB.js} +7 -7
- package/dist/{chunk-6AMDHVS2.cjs → chunk-M7ELWZXM.cjs} +9 -9
- package/dist/chunk-MSUW5VHZ.js +1590 -0
- package/dist/{chunk-2XGQQZ6A.cjs → chunk-MUHRPRR7.cjs} +3 -3
- package/dist/{chunk-XYWC4EQ3.cjs → chunk-MV3TSQSH.cjs} +71 -71
- package/dist/{chunk-VCYXNIZ2.cjs → chunk-NLZLXWAU.cjs} +9 -9
- package/dist/{chunk-76ATVDCR.cjs → chunk-NVRZPF5M.cjs} +3 -3
- package/dist/chunk-ONZFBJVW.js +1 -1
- package/dist/{chunk-62FS7WMB.cjs → chunk-PGNL7JXO.cjs} +31 -31
- package/dist/{chunk-JI57K7D4.cjs → chunk-Q4GEQS7X.cjs} +161 -161
- package/dist/chunk-QNKGP5DY.js +1 -1
- package/dist/{chunk-ZTHJQJ5F.cjs → chunk-QYI2VJLS.cjs} +9 -9
- package/dist/{chunk-C7GC2PFX.js → chunk-RBWZII5I.js} +3 -3
- package/dist/{chunk-MMRHKYT6.cjs → chunk-RMP7VMPB.cjs} +12 -12
- package/dist/{chunk-TXOVQZPU.js → chunk-RZOGBYIS.js} +2 -2
- package/dist/{chunk-ALRISPTL.cjs → chunk-SU3UELUB.cjs} +3 -3
- package/dist/chunk-SYHPSOUU.cjs +1626 -0
- package/dist/{chunk-R2DR7SPJ.js → chunk-SZUNAEMR.js} +6 -6
- package/dist/{chunk-YVRUY4EW.cjs → chunk-TER22LO4.cjs} +8 -8
- package/dist/{chunk-WRGN6UBK.js → chunk-TJHGRQ4P.js} +2 -2
- package/dist/{chunk-I33PB44Q.cjs → chunk-U23I7JPB.cjs} +15 -15
- package/dist/{chunk-VBSLIIDB.js → chunk-U7HHN47R.js} +10 -10
- package/dist/chunk-UDA26MCU.cjs +1 -1
- package/dist/{chunk-44X74C26.js → chunk-UIAWUZ4H.js} +4 -4
- package/dist/{chunk-5O66AUEC.js → chunk-ULQPCIA2.js} +2 -2
- package/dist/chunk-VJDDGRIK.cjs +1 -1
- package/dist/{chunk-6WVOUVWD.js → chunk-WETQI6HM.js} +9 -9
- package/dist/{chunk-FWWPEL7J.cjs → chunk-WLOQQFDS.cjs} +3 -3
- package/dist/chunk-WVSPXFTY.js +1 -1
- package/dist/{chunk-WKM6UVMG.cjs → chunk-WXFTVXBF.cjs} +4 -4
- package/dist/{chunk-YQHJB7KR.cjs → chunk-XPVTIGU2.cjs} +26 -26
- package/dist/{chunk-PWKOFPAH.cjs → chunk-XX6RUGTM.cjs} +3 -3
- package/dist/chunk-YWHHVDT4.js +1 -1
- package/dist/{chunk-7NXFGJJE.cjs → chunk-ZPDMWDGZ.cjs} +14 -14
- package/dist/{chunk-JYOCB6OV.js → chunk-ZVWZEGQP.js} +2 -2
- package/dist/conversions/index.cjs +34 -34
- package/dist/conversions/index.d.ts +489 -333
- package/dist/conversions/index.js +15 -15
- package/dist/events/index.cjs +8 -8
- package/dist/events/index.d.ts +35 -29
- package/dist/events/index.js +4 -4
- package/dist/formatters/index.cjs +19 -19
- package/dist/formatters/index.d.ts +917 -873
- package/dist/formatters/index.js +9 -9
- package/dist/generators/index.cjs +9 -9
- package/dist/generators/index.d.ts +104 -86
- package/dist/generators/index.js +4 -4
- package/dist/index.d.ts +1 -1
- package/dist/isPlainObject-0p3VveWr.d.ts +534 -0
- package/dist/next/index.cjs +37 -37
- package/dist/next/index.d.ts +36 -21
- package/dist/next/index.js +9 -9
- package/dist/next/server/index.cjs +4 -4
- package/dist/next/server/index.d.ts +6 -3
- package/dist/next/server/index.js +2 -2
- package/dist/operations/index.cjs +11 -11
- package/dist/operations/index.d.ts +14 -5
- package/dist/operations/index.js +8 -8
- package/dist/parsers/index.cjs +6 -6
- package/dist/parsers/index.d.ts +68 -65
- package/dist/parsers/index.js +5 -5
- package/dist/predicates/index.cjs +77 -77
- package/dist/predicates/index.d.ts +442 -258
- package/dist/predicates/index.js +14 -14
- package/dist/promises/index.cjs +6 -6
- package/dist/promises/index.d.ts +28 -16
- package/dist/promises/index.js +4 -4
- package/dist/rzl-utils.global.js +2 -2
- package/dist/strings/index.cjs +23 -23
- package/dist/strings/index.d.ts +82 -54
- package/dist/strings/index.js +7 -7
- package/dist/tailwind/index.cjs +13 -13
- package/dist/tailwind/index.d.ts +186 -169
- package/dist/tailwind/index.js +5 -5
- package/dist/urls/index.cjs +23 -23
- package/dist/urls/index.d.ts +252 -229
- package/dist/urls/index.js +16 -16
- package/package.json +3 -3
- package/dist/chunk-7C7TQC5J.cjs +0 -620
- package/dist/chunk-J4TT33ZX.js +0 -584
- package/dist/isPlainObject-BTPjv6zB.d.ts +0 -178
package/README.md
CHANGED
|
@@ -1,42 +1,46 @@
|
|
|
1
|
-
<div align="center" style="display: flex; flex-direction: column; align-items: center;gap:
|
|
1
|
+
<div align="center" style="display: flex; flex-direction: column; align-items: center;gap: 0rem">
|
|
2
2
|
<a target="_blank" rel="noopener noreferrer" href="https://raw.githubusercontent.com/rzl-zone/utils-js/main/logo-circle.png">
|
|
3
3
|
<img src="https://raw.githubusercontent.com/rzl-zone/utils-js/main/logo-circle.png" align="middle" alt="RzlZone Logo" width="110" style="max-width: 100%;">
|
|
4
4
|
</a>
|
|
5
|
-
|
|
6
|
-
<h1><strong>⚡️ <code>@rzl-zone/utils-js</code> 🚀</strong></h1>
|
|
7
5
|
</div>
|
|
8
6
|
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
<
|
|
12
|
-
<i>
|
|
13
|
-
|
|
7
|
+
<h1 align="center"><strong>UtilsJS</strong></h1>
|
|
8
|
+
|
|
9
|
+
<p align="center">
|
|
10
|
+
<i>
|
|
11
|
+
A lightweight, modern TypeScript utility library for Node.js & browser (via bundlers like <a href="https://webpack.js.org"><code>Webpack</code></a>, <a href="https://vercel.com/blog/turbopack"><code>Turbopack</code></a>, or <a href="https://vite.dev/"><code>Vite</code></a>).
|
|
12
|
+
</i><br/>
|
|
13
|
+
<i>Provides reusable helpers to simplify your JavaScript or TypeScript projects.</i><br/>
|
|
14
|
+
<strong><i>Built with ❤️ by <a href="https://github.com/rzl-zone" target="_blank" rel="nofollow noreferrer noopener">@rzl-zone</a>.</i></strong>
|
|
14
15
|
</p>
|
|
15
16
|
|
|
16
17
|
<div align="center">
|
|
17
18
|
|
|
18
19
|
<p>
|
|
19
|
-
<a href="https://npmjs.com/package/@rzl-zone/utils-js" target="_blank" rel="nofollow noreferrer noopener">
|
|
20
|
-
|
|
21
|
-
</a>
|
|
22
|
-
<a href="https://npmjs.com/package/@rzl-zone/utils-js" target="_blank" rel="nofollow noreferrer noopener">
|
|
23
|
-
|
|
24
|
-
</a>
|
|
25
|
-
<a href="https://
|
|
26
|
-
|
|
27
|
-
</a>
|
|
28
|
-
<a href="https://
|
|
29
|
-
|
|
30
|
-
</a>
|
|
31
|
-
<a href="https://github.com/rzl-zone/utils-js/blob/main/
|
|
32
|
-
|
|
33
|
-
</a>
|
|
34
|
-
<a href="https://github.com/rzl-zone/utils-js" target="_blank" rel="nofollow noreferrer noopener">
|
|
35
|
-
|
|
36
|
-
</a>
|
|
37
|
-
<a href="https://github.com/rzl-
|
|
38
|
-
|
|
39
|
-
</a>
|
|
20
|
+
<a href="https://npmjs.com/package/@rzl-zone/utils-js" target="_blank" rel="nofollow noreferrer noopener">
|
|
21
|
+
<img src="https://img.shields.io/npm/v/@rzl-zone/utils-js?logo=npm&label=Latest%20Version&color=4CAF50&logoColor=CB3837&style=flat-rounded" alt="Latest Version on NPM">
|
|
22
|
+
</a>
|
|
23
|
+
<a href="https://npmjs.com/package/@rzl-zone/utils-js" target="_blank" rel="nofollow noreferrer noopener">
|
|
24
|
+
<img src="https://img.shields.io/npm/dt/@rzl-zone/utils-js?logo=npm&label=Total%20Downloads&color=007EC6&logoColor=CB3837&style=flat-rounded" alt="NPM Total Downloads">
|
|
25
|
+
</a>
|
|
26
|
+
<a href="https://npmjs.com/package/@rzl-zone/utils-js" target="_blank" rel="nofollow noreferrer noopener">
|
|
27
|
+
<img src="https://img.shields.io/npm/dw/@rzl-zone/utils-js?logo=npm&label=Weekly%20Downloads&color=CB3837&logoColor=CB3837&style=flat-rounded" alt="NPM Weekly Downloads">
|
|
28
|
+
</a>
|
|
29
|
+
<a href="https://nodejs.org/en/" target="_blank" rel="nofollow noreferrer noopener">
|
|
30
|
+
<img src="https://img.shields.io/badge/Node.js-18.18.0%2B-green.svg?logo=node.js&color=339933&style=flat-rounded" alt="Node.js">
|
|
31
|
+
</a>
|
|
32
|
+
<a href="https://github.com/rzl-zone/utils-js/blob/main/CONTRIBUTING.md" target="_blank" rel="nofollow noreferrer noopener">
|
|
33
|
+
<img src="https://img.shields.io/badge/PRs-Welcome-brightgreen.svg?color=28A745" alt="PRs Welcome">
|
|
34
|
+
</a>
|
|
35
|
+
<a href="https://github.com/rzl-zone/utils-js/blob/main/LICENSE.md" target="_blank" rel="nofollow noreferrer noopener">
|
|
36
|
+
<img src="https://img.shields.io/badge/License-MIT-blue.svg?color=3DA639" alt="GitHub license">
|
|
37
|
+
</a>
|
|
38
|
+
<a href="https://github.com/rzl-zone/utils-js" target="_blank" rel="nofollow noreferrer noopener">
|
|
39
|
+
<img src="https://img.shields.io/badge/Repo-on%20GitHub-181717?logo=github" alt="GitHub">
|
|
40
|
+
</a>
|
|
41
|
+
<a href="https://github.com/orgs/rzl-zone/repositories" target="_blank" rel="nofollow noreferrer noopener">
|
|
42
|
+
<img src="https://img.shields.io/badge/Org-rzl--zone-24292e?logo=github&style=flat-rounded" alt="Repo on GitHub">
|
|
43
|
+
</a>
|
|
40
44
|
</p>
|
|
41
45
|
|
|
42
46
|
</div>
|
|
@@ -50,8 +54,9 @@
|
|
|
50
54
|
- ✨ [Features](#features)
|
|
51
55
|
- 🧬 [NextJS Support](#nextjs-support)
|
|
52
56
|
- 💎 [Detailed Features](#detailed-features)
|
|
53
|
-
- [Full
|
|
54
|
-
- [
|
|
57
|
+
- [Full Documentation](#detailed-features--full-documentation)
|
|
58
|
+
- [CDN Usage](#detailed-features--cdn-usage)
|
|
59
|
+
- [Hint Autocomplete](#detailed-features--hint-autocomplete-setup)
|
|
55
60
|
- 🔥 [Usage](#usage)
|
|
56
61
|
- ❤️ [Sponsor](#sponsor-this-package)
|
|
57
62
|
- 📜 [Changelog](#changelog)
|
|
@@ -64,22 +69,25 @@
|
|
|
64
69
|
|
|
65
70
|
<h2 id="requirements">💻 <strong>Requirements</strong></h2>
|
|
66
71
|
|
|
67
|
-
- **Node.js `≥
|
|
68
|
-
This package leverages modern JavaScript & TypeScript features that require Node.js version
|
|
69
|
-
- 🔗 See official Next.js documentation:
|
|
70
|
-
<a href="https://nextjs.org/docs/getting-started/installation#system-requirements" target="_blank" rel="nofollow noreferrer noopener"><i>NextJS
|
|
72
|
+
- **Node.js `≥18.18.0`**
|
|
73
|
+
This package leverages modern JavaScript & TypeScript features that require Node.js version 18.18.0 if not using Next.js, and for Next.js it must follow the official minimum Node.js version requirement depending on the version you use.
|
|
74
|
+
- 🔗 See official Next.js documentation:
|
|
75
|
+
<a href="https://nextjs.org/docs/getting-started/installation#system-requirements" target="_blank" rel="nofollow noreferrer noopener"><i><strong>NextJS System Requirements</strong></i></a>.
|
|
71
76
|
|
|
72
77
|
- **Works with:**
|
|
73
|
-
- ✅ Node.js (
|
|
74
|
-
- ✅ Node.js (
|
|
75
|
-
- ✅ Modern browsers (via bundlers like Webpack / Vite)
|
|
78
|
+
- ✅ Node.js (18.18.0+) - ***Without NextJS***.
|
|
79
|
+
- ✅ Node.js (20.9.0, or higher depending on NextJS version) - ***With NextJS***.
|
|
80
|
+
- ✅ Modern browsers (via bundlers like [`Webpack`](https://webpack.js.org), [`Turbopack`](https://vercel.com/blog/turbopack), or [`Vite`](https://vite.dev)).
|
|
76
81
|
|
|
77
82
|
- **TypeScript Build Info:**
|
|
78
83
|
- Target: `ES2022`
|
|
79
84
|
- Module: `ES2022`
|
|
80
85
|
- Module Resolution: `bundler`
|
|
81
86
|
|
|
82
|
-
|
|
87
|
+
<br/>
|
|
88
|
+
|
|
89
|
+
> ℹ️ Note:
|
|
90
|
+
> These TypeScript settings are used to build the package, consumers do **not** need to match these settings unless they plan to build or modify the source code.
|
|
83
91
|
|
|
84
92
|
---
|
|
85
93
|
|
|
@@ -88,19 +96,19 @@
|
|
|
88
96
|
#### *With NPM*
|
|
89
97
|
|
|
90
98
|
```bash
|
|
91
|
-
|
|
99
|
+
npm install @rzl-zone/utils-js@latest
|
|
92
100
|
```
|
|
93
101
|
|
|
94
102
|
#### *With Yarn*
|
|
95
103
|
|
|
96
104
|
```bash
|
|
97
|
-
|
|
105
|
+
yarn add @rzl-zone/utils-js@latest
|
|
98
106
|
```
|
|
99
107
|
|
|
100
108
|
#### *With PNPM*
|
|
101
109
|
|
|
102
110
|
```bash
|
|
103
|
-
|
|
111
|
+
pnpm add @rzl-zone/utils-js@latest
|
|
104
112
|
```
|
|
105
113
|
|
|
106
114
|
---
|
|
@@ -118,27 +126,33 @@
|
|
|
118
126
|
|
|
119
127
|
**This package also provides utilities specially built for Next.js environments, neatly separated into their own entry points:**
|
|
120
128
|
|
|
121
|
-
- <
|
|
129
|
+
- <h4 id="nextjs-support--globals"><strong><code>@rzl-zone/utils-js/next</code></strong></h4>
|
|
122
130
|
Helpers for building URLs, generating dynamic routes, reading environment variables, etc.
|
|
123
131
|
|
|
124
132
|
✅ Safe to use in both Next.js pages & API routes.
|
|
125
133
|
|
|
126
|
-
[Read More Docs](/docs/next-js/global.md#docs-sub-main--title)
|
|
134
|
+
[**Read More Docs**](/docs/next-js/global.md#docs-sub-main--title)
|
|
127
135
|
|
|
128
136
|
***
|
|
129
137
|
|
|
130
|
-
- <
|
|
138
|
+
- <h4 id="nextjs-support--server-only"><strong><code>@rzl-zone/utils-js/next/server</code></strong></h4>
|
|
131
139
|
Utilities meant to run in Next.js server-only contexts (like middleware or server actions) for tasks such as extracting real client IPs.
|
|
132
140
|
|
|
133
|
-
⚠️ Will throw if used outside a Next.js server environment
|
|
141
|
+
> ⚠️ Will throw Error if used outside a ***Next.js* server environment**.
|
|
134
142
|
|
|
135
|
-
[Read More Docs](/docs/next-js/server-only.md#docs-sub-main--title)
|
|
143
|
+
[**Read More Docs**](/docs/next-js/server-only.md#docs-sub-main--title)
|
|
136
144
|
|
|
137
145
|
---
|
|
138
146
|
|
|
139
147
|
<h2 id="detailed-features">💎 <strong>Detailed Features</strong></h2>
|
|
140
148
|
|
|
141
|
-
|
|
149
|
+
<h3 id="detailed-features--full-documentation">
|
|
150
|
+
<strong>
|
|
151
|
+
Full documentation <a href="https://rzlzone.vercel.app/docs/utils-js" target="_blank" rel="nofollow noreferrer noopener">UtilsJS</a> is
|
|
152
|
+
<strong>currently under construction 🏗️</strong>.
|
|
153
|
+
</strong>
|
|
154
|
+
</h3>
|
|
155
|
+
|
|
142
156
|
#### For now, explore the examples or dive into the source — all utilities are documented via **TSDoc** and typed properly.
|
|
143
157
|
|
|
144
158
|
```ts
|
|
@@ -159,20 +173,15 @@
|
|
|
159
173
|
```
|
|
160
174
|
#### Place your cursor inside { } or after "@rzl-zone/utils-js/{{ | }}" then press Ctrl+Space to see all available functions/types with full TSDoc hints.
|
|
161
175
|
|
|
162
|
-
> ***⚠️ Note:*** Starting from version `3.4.0+`, the extra TypeScript types (e.g., `OmitStrict`, `PartialOnly`, etc), have been removed from the package
|
|
176
|
+
> ***⚠️ Note:*** Starting from version `3.4.0+`, the extra TypeScript types (e.g., `OmitStrict`, `PartialOnly`, etc), have been removed from the package, to use them, you now need to install **[`@rzl-zone/ts-types-plus`](https://www.npmjs.com/package/@rzl-zone/ts-types-plus)** separately.
|
|
163
177
|
|
|
164
178
|
---
|
|
165
179
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
>
|
|
171
|
-
> - Some Node.js-specific utilities may **not** be available, e.g.:
|
|
172
|
-
> - Category utils of `tailwind`, `next`, `next/server`.
|
|
173
|
-
> - Server-only features (like Next.js helpers) will **not** be available.
|
|
174
|
-
> - The global object provided is `RzlUtilsJs`.
|
|
175
|
-
> - The CDN bundle is **~350KB minified**. For production, consider using bundlers or npm packages for smaller size and tree-shaking.
|
|
180
|
+
<h3 id="detailed-features--cdn-usage">
|
|
181
|
+
<strong>
|
|
182
|
+
CDN Usage.
|
|
183
|
+
</strong>
|
|
184
|
+
</h3>
|
|
176
185
|
|
|
177
186
|
#### **Including via CDN**
|
|
178
187
|
```xml
|
|
@@ -183,9 +192,21 @@
|
|
|
183
192
|
<script src="https://unpkg.com/@rzl-zone/utils-js@latest"></script>
|
|
184
193
|
```
|
|
185
194
|
|
|
195
|
+
> ⚠️ **Note:**
|
|
196
|
+
> When using the library via CDN in the browser:
|
|
197
|
+
> - Always include first the \<script\> tag before your own scripts when using the CDN version.
|
|
198
|
+
> - Some Node.js-specific utilities may **not** be available, e.g.:
|
|
199
|
+
> - Category utils of `tailwind`, `next`, `next/server`.
|
|
200
|
+
> - Server-only features (like Next.js helpers) will **not** be available.
|
|
201
|
+
> - The global object provided is `RzlUtilsJs`.
|
|
202
|
+
> - The CDN bundle is **~350KB minified**, for production, consider using bundlers or npm packages for smaller size and tree-shaking.
|
|
186
203
|
|
|
187
204
|
---
|
|
188
|
-
|
|
205
|
+
<h3 id="detailed-features--hint-autocomplete-setup">
|
|
206
|
+
<strong>
|
|
207
|
+
Hint: Autocomplete Setup (Step by Step).
|
|
208
|
+
</strong>
|
|
209
|
+
</h3>
|
|
189
210
|
|
|
190
211
|
#### Make TypeScript & VSCode automatically provide autocomplete for `@rzl-zone/utils-js` without needing triple-slash references in every file:
|
|
191
212
|
|
|
@@ -194,11 +215,11 @@
|
|
|
194
215
|
- Make sure the package is installed:
|
|
195
216
|
|
|
196
217
|
```bash
|
|
197
|
-
npm install @rzl-zone/utils-js
|
|
218
|
+
npm install @rzl-zone/utils-js@latest
|
|
198
219
|
# or
|
|
199
|
-
yarn add @rzl-zone/utils-js
|
|
220
|
+
yarn add @rzl-zone/utils-js@latest
|
|
200
221
|
# or
|
|
201
|
-
pnpm add @rzl-zone/utils-js
|
|
222
|
+
pnpm add @rzl-zone/utils-js@latest
|
|
202
223
|
```
|
|
203
224
|
|
|
204
225
|
- 2️⃣ **Create a types folder.**
|
|
@@ -220,14 +241,17 @@
|
|
|
220
241
|
|
|
221
242
|
```ts
|
|
222
243
|
/// <reference types="@rzl-zone/utils-js" />
|
|
223
|
-
```
|
|
244
|
+
```
|
|
224
245
|
|
|
225
246
|
- This tells TypeScript to include the types from `@rzl-zone/utils-js` globally.
|
|
226
247
|
- You can add more references here if needed, for example:
|
|
227
248
|
|
|
228
249
|
```ts
|
|
229
|
-
/// <reference types="node" />
|
|
230
250
|
/// <reference types="@rzl-zone/utils-js" />
|
|
251
|
+
|
|
252
|
+
// eg more references (if needed):
|
|
253
|
+
/// <reference types="node" />
|
|
254
|
+
/// <reference types="react" />
|
|
231
255
|
```
|
|
232
256
|
|
|
233
257
|
- 4️⃣ **Update tsconfig.json.**
|
|
@@ -238,10 +262,17 @@
|
|
|
238
262
|
// tsconfig.json
|
|
239
263
|
{
|
|
240
264
|
"compilerOptions": {
|
|
241
|
-
"
|
|
265
|
+
"strict": true,
|
|
266
|
+
"typeRoots": [
|
|
267
|
+
"./types",
|
|
268
|
+
"./node_modules/@types"
|
|
269
|
+
],
|
|
242
270
|
// other your config...
|
|
243
271
|
},
|
|
244
|
-
"include": [
|
|
272
|
+
"include": [
|
|
273
|
+
"src",
|
|
274
|
+
"types"
|
|
275
|
+
],
|
|
245
276
|
// other your config...
|
|
246
277
|
}
|
|
247
278
|
```
|
|
@@ -257,16 +288,22 @@
|
|
|
257
288
|
{
|
|
258
289
|
"compilerOptions": {
|
|
259
290
|
"checkJs": true, // Optional, enables type checking
|
|
260
|
-
"typeRoots": [
|
|
291
|
+
"typeRoots": [
|
|
292
|
+
"./types",
|
|
293
|
+
"./node_modules/@types"
|
|
294
|
+
],
|
|
261
295
|
// other your config...
|
|
262
296
|
},
|
|
263
|
-
"include": [
|
|
297
|
+
"include": [
|
|
298
|
+
"src",
|
|
299
|
+
"types"
|
|
300
|
+
],
|
|
264
301
|
// other your config...
|
|
265
302
|
}
|
|
266
303
|
```
|
|
267
304
|
>ℹ️ ***Tip:*** *For JS projects, consider adding "checkJs": true for better IntelliSense.*
|
|
268
305
|
|
|
269
|
-
**Now, all types from
|
|
306
|
+
#### **Now, all types from `@rzl-zone/utils-js` are globally available, and you don’t need `"types": ["@rzl-zone/utils-js"]` in tsconfig.json.**
|
|
270
307
|
|
|
271
308
|
<!-- - <h4 id="detailed-features--assertions">
|
|
272
309
|
Assertions -
|
|
@@ -309,7 +346,7 @@ console.log(isServer());
|
|
|
309
346
|
<h2 id="sponsor-this-package">❤️ <strong>Sponsor this package</strong></h2>
|
|
310
347
|
|
|
311
348
|
**Help support development:**
|
|
312
|
-
*[👉 **Become a sponsor**](https://github.com/sponsors/rzl-app)
|
|
349
|
+
*[👉 **Become a sponsor**](https://github.com/sponsors/rzl-app).*
|
|
313
350
|
|
|
314
351
|
---
|
|
315
352
|
|
|
@@ -327,7 +364,7 @@ console.log(isServer());
|
|
|
327
364
|
|
|
328
365
|
<h2 id="security">🔒 <strong>Security</strong></h2>
|
|
329
366
|
|
|
330
|
-
**Please report issues to [
|
|
367
|
+
**Please report issues to [rzlzone.dev@gmail.com](mailto:rzlzone.dev@gmail.com).**
|
|
331
368
|
|
|
332
369
|
---
|
|
333
370
|
|
|
@@ -345,7 +382,8 @@ console.log(isServer());
|
|
|
345
382
|
|
|
346
383
|
---
|
|
347
384
|
|
|
348
|
-
|
|
385
|
+
<h2>✅ <strong>Enjoy using <code>@rzl-zone/utils-js</code>?</strong></h2>
|
|
386
|
+
|
|
349
387
|
*Star this repo [⭐](https://github.com/rzl-zone/utils-js) and share it with other JavaScript developers!*
|
|
350
388
|
|
|
351
389
|
---
|
|
@@ -2,40 +2,40 @@
|
|
|
2
2
|
* ====================================================
|
|
3
3
|
* Rzl Utils-JS.
|
|
4
4
|
* ----------------------------------------------------
|
|
5
|
-
* Version: 3.
|
|
5
|
+
* Version: 3.11.0.
|
|
6
6
|
* Author: Rizalvin Dwiky.
|
|
7
7
|
* Repository: https://github.com/rzl-zone/utils-js.
|
|
8
8
|
* ====================================================
|
|
9
9
|
*/
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
12
|
+
var chunkB6PMNZ4M_cjs = require('../chunk-B6PMNZ4M.cjs');
|
|
13
|
+
var chunkWXFTVXBF_cjs = require('../chunk-WXFTVXBF.cjs');
|
|
14
|
+
var chunkDLS3G6WQ_cjs = require('../chunk-DLS3G6WQ.cjs');
|
|
15
15
|
require('../chunk-UDA26MCU.cjs');
|
|
16
|
-
var
|
|
16
|
+
var chunkSYHPSOUU_cjs = require('../chunk-SYHPSOUU.cjs');
|
|
17
17
|
|
|
18
18
|
Object.defineProperty(exports, "assertIsBigInt", {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function () { return
|
|
20
|
+
get: function () { return chunkB6PMNZ4M_cjs.assertIsBigInt; }
|
|
21
21
|
});
|
|
22
22
|
Object.defineProperty(exports, "assertIsNumber", {
|
|
23
23
|
enumerable: true,
|
|
24
|
-
get: function () { return
|
|
24
|
+
get: function () { return chunkB6PMNZ4M_cjs.assertIsNumber; }
|
|
25
25
|
});
|
|
26
26
|
Object.defineProperty(exports, "assertIsString", {
|
|
27
27
|
enumerable: true,
|
|
28
|
-
get: function () { return
|
|
28
|
+
get: function () { return chunkWXFTVXBF_cjs.assertIsString; }
|
|
29
29
|
});
|
|
30
30
|
Object.defineProperty(exports, "assertIsArray", {
|
|
31
31
|
enumerable: true,
|
|
32
|
-
get: function () { return
|
|
32
|
+
get: function () { return chunkDLS3G6WQ_cjs.assertIsArray; }
|
|
33
33
|
});
|
|
34
34
|
Object.defineProperty(exports, "assertIsBoolean", {
|
|
35
35
|
enumerable: true,
|
|
36
|
-
get: function () { return
|
|
36
|
+
get: function () { return chunkSYHPSOUU_cjs.assertIsBoolean; }
|
|
37
37
|
});
|
|
38
38
|
Object.defineProperty(exports, "assertIsPlainObject", {
|
|
39
39
|
enumerable: true,
|
|
40
|
-
get: function () { return
|
|
40
|
+
get: function () { return chunkSYHPSOUU_cjs.assertIsPlainObject; }
|
|
41
41
|
});
|