@rzl-zone/utils-js 3.8.0 → 3.9.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.
- package/README.md +5 -1
- package/dist/assertions/index.cjs +11 -11
- package/dist/assertions/index.d.ts +168 -57
- package/dist/assertions/index.js +5 -5
- package/dist/{chunk-EK7FSI7F.cjs → chunk-2XGQQZ6A.cjs} +3 -3
- package/dist/{chunk-YS27V6LS.js → chunk-3LE6NX57.js} +5 -176
- package/dist/{chunk-PZQC3FZY.js → chunk-44X74C26.js} +4 -4
- package/dist/{chunk-4ACKNPL5.js → chunk-5KDVIEVO.js} +2 -2
- package/dist/{chunk-JY4HLZ4W.js → chunk-5O66AUEC.js} +2 -2
- package/dist/{chunk-SLP24LUV.js → chunk-5Y6JL47L.js} +3 -3
- package/dist/{chunk-ZW3VYES4.cjs → chunk-62FS7WMB.cjs} +31 -31
- package/dist/{chunk-VJVCXEH7.cjs → chunk-6AMDHVS2.cjs} +9 -181
- package/dist/{chunk-5IKZ3JDV.js → chunk-6WVOUVWD.js} +9 -9
- package/dist/{chunk-BYUT376O.cjs → chunk-76ATVDCR.cjs} +3 -3
- package/dist/{chunk-F3WBQKRI.cjs → chunk-7C7TQC5J.cjs} +29 -7
- package/dist/{chunk-I3IXLEEG.js → chunk-7EIFPHV3.js} +8 -8
- package/dist/{chunk-6RFNZ2ZZ.cjs → chunk-7NXFGJJE.cjs} +14 -14
- package/dist/{chunk-TFDXRT6D.cjs → chunk-ALRISPTL.cjs} +3 -3
- package/dist/chunk-BAV5T2E3.cjs +1 -1
- package/dist/{chunk-4ZOXSUXB.js → chunk-C7GC2PFX.js} +3 -3
- package/dist/chunk-DVMHRLKP.cjs +1 -1
- package/dist/{chunk-KVZ3HL2B.js → chunk-DXPM4NOU.js} +4 -4
- package/dist/{chunk-DPLL67OT.js → chunk-EJV5AF4L.js} +2 -2
- package/dist/{chunk-NREACG6M.cjs → chunk-FWWPEL7J.cjs} +3 -3
- package/dist/{chunk-LEX4TQW2.js → chunk-GHU356XQ.js} +4 -6
- package/dist/chunk-GKDSBOYE.js +209 -0
- package/dist/{chunk-YC7AK3KX.cjs → chunk-H44QVAZL.cjs} +31 -31
- package/dist/{chunk-AKKM6MOX.cjs → chunk-I33PB44Q.cjs} +15 -15
- package/dist/{chunk-LIU4S3JA.cjs → chunk-IX6PF5ZP.cjs} +4 -4
- package/dist/{chunk-3KTD3QDI.js → chunk-J4TT33ZX.js} +29 -7
- package/dist/{chunk-SZJ7OI4S.js → chunk-J6VLFVIL.js} +3 -3
- package/dist/{chunk-3JD53UUH.cjs → chunk-JI57K7D4.cjs} +161 -161
- package/dist/{chunk-OFBFGFVH.js → chunk-JYOCB6OV.js} +2 -2
- package/dist/chunk-KHO2SBNA.cjs +1 -1
- package/dist/{chunk-6NORJBI6.cjs → chunk-KUVRZ2JW.cjs} +50 -50
- package/dist/chunk-L5RDAVVH.js +1 -1
- package/dist/{chunk-VCVND6CH.js → chunk-M5QB2GM5.js} +2 -2
- package/dist/{chunk-RRJIRXHS.js → chunk-MBFVTGYS.js} +4 -4
- package/dist/{chunk-UKAUXY2U.cjs → chunk-MMRHKYT6.cjs} +12 -12
- package/dist/{chunk-U5VR4TJN.js → chunk-MS2KSKD7.js} +9 -9
- package/dist/{chunk-7ZNEUWYP.js → chunk-MZ3T6L7Z.js} +2 -2
- package/dist/{chunk-ATLFMKAF.cjs → chunk-NAOVH4OH.cjs} +7 -7
- package/dist/{chunk-HKJZ7K2K.cjs → chunk-NJ24M6ZH.cjs} +37 -37
- package/dist/chunk-OCTHWEZK.cjs +249 -0
- package/dist/chunk-ONZFBJVW.js +1 -1
- package/dist/{chunk-FI76UZRF.js → chunk-OSSFLQDD.js} +3 -4
- package/dist/{chunk-7WBMA2VE.cjs → chunk-OYFUBKEG.cjs} +4 -5
- package/dist/{chunk-B4SDEBN7.cjs → chunk-PWKOFPAH.cjs} +3 -3
- package/dist/{chunk-RJYWBVGD.cjs → chunk-QGTFQ7RO.cjs} +6 -6
- package/dist/chunk-QNKGP5DY.js +1 -1
- package/dist/chunk-QXTJVDWE.js +676 -0
- package/dist/{chunk-B6UIKBHR.cjs → chunk-QZI5PVCI.cjs} +4 -4
- package/dist/{chunk-PW2VMJLT.js → chunk-R2DR7SPJ.js} +99 -25
- package/dist/{chunk-TDYGYHSH.js → chunk-SN5HAK3Y.js} +4 -4
- package/dist/{chunk-P3ST4UZA.js → chunk-SRWL4YCP.js} +7 -7
- package/dist/{chunk-7QQV66RX.cjs → chunk-TJ5OY6MC.cjs} +10 -10
- package/dist/{chunk-6WMB5AJR.js → chunk-TXOVQZPU.js} +3 -4
- package/dist/chunk-UDA26MCU.cjs +1 -1
- package/dist/{chunk-LVFTN6DK.cjs → chunk-UFYMRRJH.cjs} +61 -61
- package/dist/{chunk-5NN4ZDE2.cjs → chunk-UV5BKAYW.cjs} +6 -8
- package/dist/{chunk-GAJBF6DR.js → chunk-UXT4XSUK.js} +2 -2
- package/dist/{chunk-6VA4F6VR.js → chunk-VBSLIIDB.js} +10 -10
- package/dist/chunk-VCYXNIZ2.cjs +678 -0
- package/dist/chunk-VJDDGRIK.cjs +1 -1
- package/dist/{chunk-JIROTDOU.js → chunk-WB3FT62A.js} +3 -3
- package/dist/{chunk-K63WO3XA.cjs → chunk-WKM6UVMG.cjs} +4 -5
- package/dist/{chunk-5PF7KRCP.cjs → chunk-WLEZ2KSG.cjs} +126 -126
- package/dist/{chunk-ZN53RM3R.js → chunk-WRGN6UBK.js} +2 -2
- package/dist/chunk-WVSPXFTY.js +1 -1
- package/dist/{chunk-2VO2CBTU.js → chunk-X6ULJZ3X.js} +2 -2
- package/dist/{chunk-CKUEZF4R.cjs → chunk-XYWC4EQ3.cjs} +71 -71
- package/dist/{chunk-A3YI6Y2P.js → chunk-YHFRCVTN.js} +3 -3
- package/dist/{chunk-A4H7474O.cjs → chunk-YQHJB7KR.cjs} +26 -26
- package/dist/{chunk-YGB2BQPB.cjs → chunk-YVRUY4EW.cjs} +8 -8
- package/dist/chunk-YWHHVDT4.js +1 -1
- package/dist/chunk-ZTHJQJ5F.cjs +211 -0
- package/dist/conversions/index.cjs +34 -34
- package/dist/conversions/index.d.ts +1 -1
- package/dist/conversions/index.js +15 -15
- package/dist/events/index.cjs +8 -8
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.js +4 -4
- package/dist/formatters/index.cjs +19 -19
- package/dist/formatters/index.d.ts +1 -1
- package/dist/formatters/index.js +9 -9
- package/dist/generators/index.cjs +9 -9
- package/dist/generators/index.d.ts +1 -1
- package/dist/generators/index.js +4 -4
- package/dist/index.d.ts +1 -1
- package/dist/isPlainObject-BTPjv6zB.d.ts +1 -1
- package/dist/next/index.cjs +37 -36
- package/dist/next/index.d.ts +1 -1
- package/dist/next/index.js +9 -8
- package/dist/next/server/index.cjs +4 -4
- package/dist/next/server/index.d.ts +1 -1
- package/dist/next/server/index.js +2 -2
- package/dist/operations/index.cjs +11 -11
- package/dist/operations/index.d.ts +1 -1
- package/dist/operations/index.js +8 -8
- package/dist/parsers/index.cjs +6 -4
- package/dist/parsers/index.d.ts +224 -32
- package/dist/parsers/index.js +5 -3
- package/dist/predicates/index.cjs +77 -76
- package/dist/predicates/index.d.ts +1 -1
- package/dist/predicates/index.js +14 -13
- package/dist/promises/index.cjs +6 -6
- package/dist/promises/index.d.ts +2 -3
- 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 +1 -1
- package/dist/strings/index.js +7 -7
- package/dist/tailwind/index.cjs +13 -13
- package/dist/tailwind/index.d.ts +1 -1
- package/dist/tailwind/index.js +5 -5
- package/dist/urls/index.cjs +23 -21
- package/dist/urls/index.d.ts +182 -114
- package/dist/urls/index.js +16 -14
- package/package.json +1 -1
- package/dist/chunk-KPCDDYTZ.js +0 -417
- package/dist/chunk-QAPYHLHC.cjs +0 -419
- package/dist/chunk-SGCN4ED4.cjs +0 -175
package/dist/parsers/index.d.ts
CHANGED
|
@@ -2,44 +2,236 @@
|
|
|
2
2
|
* ====================================================
|
|
3
3
|
* Rzl Utils-JS.
|
|
4
4
|
* ----------------------------------------------------
|
|
5
|
-
* Version: 3.
|
|
5
|
+
* Version: 3.9.1.
|
|
6
6
|
* Author: Rizalvin Dwiky.
|
|
7
7
|
* Repository: https://github.com/rzl-zone/utils-js.
|
|
8
8
|
* ====================================================
|
|
9
9
|
*/
|
|
10
|
+
type ExtractFileNameOptions={
|
|
11
|
+
/** ----------------------------------------------------------
|
|
12
|
+
* * ***Indicates whether the input should be treated as a potential domain string.***
|
|
13
|
+
* ----------------------------------------------------------
|
|
14
|
+
*
|
|
15
|
+
* - Behavior when `true`:
|
|
16
|
+
* - The `domainName` option is required and must be a string and non-empty string.
|
|
17
|
+
* If `domainName` is `undefined`, `null`, or an empty string, a `TypeError` will be thrown.
|
|
18
|
+
* - The `domainName` is used to determine if the input is a domain-only string.
|
|
19
|
+
* - Returns `null` if the input exactly matches `domainName` or any of its subdomains **and** has no additional path or filename.
|
|
20
|
+
* - If the input does not match `domainName` or its subdomains, it will be processed as a regular file-like name.
|
|
21
|
+
* - Supports **Unicode/IDN domains** (e.g., `tést-ドメイン.com`) and **ASCII filenames**, mixed safely.
|
|
22
|
+
*
|
|
23
|
+
* @default false
|
|
24
|
+
*/
|
|
25
|
+
domainAware?:boolean;
|
|
26
|
+
/** ----------------------------------------------------------
|
|
27
|
+
* * ***The base domain name used for comparison (e.g., `"example.com"`).***
|
|
28
|
+
* ----------------------------------------------------------
|
|
29
|
+
*
|
|
30
|
+
* - Required when `domainAware` is `true`.
|
|
31
|
+
* - Helps differentiate between a domain-only input (ignored) and a standalone file-like string (processed normally).
|
|
32
|
+
* - Must be a string and non-empty string. Invalid values (`undefined`, `null`, or empty string) will trigger a `TypeError`.
|
|
33
|
+
* - Works with both **ASCII domains** and **Unicode/IDN domains**.
|
|
34
|
+
* - Example:
|
|
35
|
+
* ```ts *
|
|
36
|
+
* // ASCII domain + ASCII filename
|
|
37
|
+
* extractFileName("resume.com", {
|
|
38
|
+
* domainAware: true,
|
|
39
|
+
* domainName: "example.com"
|
|
40
|
+
* });
|
|
41
|
+
* // ➔ "resume"
|
|
42
|
+
* extractFileName("example.com", {
|
|
43
|
+
* domainAware: true,
|
|
44
|
+
* domainName: "example.com"
|
|
45
|
+
* });
|
|
46
|
+
* // ➔ null (because input is treated as domain-name)
|
|
47
|
+
*
|
|
48
|
+
* // Unicode domain + ASCII filename
|
|
49
|
+
* extractFileName("tést-ドメイン.com/file.txt", {
|
|
50
|
+
* domainAware: true,
|
|
51
|
+
* domainName: "ドメイン.com"
|
|
52
|
+
* });
|
|
53
|
+
* // ➔ "file"
|
|
54
|
+
*
|
|
55
|
+
* // Unicode domain + Unicode filename
|
|
56
|
+
* extractFileName("tést-ドメイン.com/ファイル名.pdf", {
|
|
57
|
+
* domainAware: true,
|
|
58
|
+
* domainName: "ドメイン.com"
|
|
59
|
+
* });
|
|
60
|
+
* // ➔ "ファイル名"
|
|
61
|
+
*
|
|
62
|
+
* // Invalid domainName, will throw TypeError
|
|
63
|
+
* extractFileName("resume.com", {
|
|
64
|
+
* domainAware: true,
|
|
65
|
+
* domainName: ""
|
|
66
|
+
* });
|
|
67
|
+
* // ➔ TypeError
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* @default undefined
|
|
71
|
+
*/
|
|
72
|
+
domainName?:string;};
|
|
10
73
|
/** ----------------------------------------------------------
|
|
11
74
|
* * ***Utility: `extractFileName`.***
|
|
12
75
|
* ----------------------------------------------------------
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* -
|
|
19
|
-
* -
|
|
20
|
-
* -
|
|
21
|
-
* -
|
|
22
|
-
* -
|
|
23
|
-
* -
|
|
24
|
-
* -
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
76
|
+
*
|
|
77
|
+
* **Extracts the **clean base filename** from nearly any input string, including URLs, local file paths,
|
|
78
|
+
* UNC paths, and plain filenames.**
|
|
79
|
+
*
|
|
80
|
+
* - It automatically safely handles extracts the **base file name** (without extension) from:
|
|
81
|
+
* - File system paths (Windows, Unix, UNC)
|
|
82
|
+
* - Protocols like http, https, ftp, file, mailto, or custom schemes
|
|
83
|
+
* - Percent-encoded, Unicode, and emoji characters
|
|
84
|
+
* - Dotfiles, reserved OS names, multi-part extensions
|
|
85
|
+
* - Data URIs
|
|
86
|
+
* - Optional domain-aware mode to ignore domain-only inputs
|
|
87
|
+
* - Plain filenames
|
|
88
|
+
*
|
|
89
|
+
* - Full support for:
|
|
90
|
+
* - Unicode, emoji, percent-encoding
|
|
91
|
+
* - Dotfiles (e.g., `.env`, `.gitignore`)
|
|
92
|
+
* - Reserved/OS-protected filenames:
|
|
93
|
+
* `CON`, `PRN`, `AUX`, `NUL`, `COM1`–`COM9`, `LPT1`–`LPT9`
|
|
94
|
+
* - Known multi-part extensions:
|
|
95
|
+
* `.tar.gz`, `.tar.bz2`, `.tar.xz`, `.tar.lz`, `.tar.zst`, `.min.js`, `.js.map`, `.log.gz`, `.sql.gz`,
|
|
96
|
+
* `.backup.tar`, etc.
|
|
97
|
+
* - Data URIs (`data:[mime];base64,...` ➔ payload string)
|
|
98
|
+
* - Domain-aware mode (optional)
|
|
99
|
+
*
|
|
100
|
+
* ----------------------------------------------------------
|
|
101
|
+
* - **Behavior / Features**
|
|
102
|
+
* - Strips **known extensions**, including multi-part and common double/triple extensions.
|
|
103
|
+
* - Leaves unknown/custom extensions intact.
|
|
104
|
+
* - Preserves **dotfiles** as-is (leading dot preserved).
|
|
105
|
+
* - Returns `null` if:
|
|
106
|
+
* - input is `null`, `undefined`, or not a string
|
|
107
|
+
* - input is empty, whitespace-only, or only slashes
|
|
108
|
+
* - input represents a folder path (trailing slash/backslash, drive/folder only)
|
|
109
|
+
* - input is a **domain-only string** in domain-aware mode
|
|
110
|
+
* - Normalizes Windows-style backslashes (`\`) internally as `/`.
|
|
111
|
+
* - Supports UNC paths, mixed slashes, and Windows drive letters safely.
|
|
112
|
+
* - Handles URLs:
|
|
113
|
+
* - Ignores query strings (`?v=1.2.3`) and hash fragments (`#section`)
|
|
114
|
+
* - Decodes percent-encoded filenames (`my%20file.txt` ➔ `my file.txt`)
|
|
115
|
+
* - Supports protocol-relative URLs (`//cdn.example.com/file.jpg`)
|
|
116
|
+
* - Supports uncommon/custom protocols (`ftp://`, `file://`, `mailto:`, etc.)
|
|
117
|
+
* - Handles **multiple dots**, **trailing dots**, **triple or more extensions**
|
|
118
|
+
* - Supports filenames on mixed Unicode/ASCII domains:
|
|
119
|
+
* - Domain names can include Unicode characters (IDN / punycode)
|
|
120
|
+
* - Filenames may contain ASCII, Unicode, and emoji characters
|
|
121
|
+
* - Works correctly when domain is Unicode and filename is ASCII, or vice versa
|
|
122
|
+
* - Supports extremely long filenames safely (up to OS limits)
|
|
123
|
+
* - Domain-aware mode (`domainAware: true` + `domainName`):
|
|
124
|
+
* - Parameter `domainName` must be a string and non-empty string; otherwise a TypeError is thrown.
|
|
125
|
+
* - Returns `null` if input equals `domainName` or any subdomain with no file path
|
|
126
|
+
* - Extracts filename normally if path/file exists on domain or other domain
|
|
127
|
+
* - Safe in Node.js and browsers
|
|
128
|
+
*
|
|
129
|
+
* ----------------------------------------------------------
|
|
130
|
+
* @param {string | null | undefined} input
|
|
131
|
+
* URL, file path, or plain filename to extract from.
|
|
132
|
+
*
|
|
133
|
+
* @param {ExtractFileNameOptions} [options]
|
|
134
|
+
* Optional configuration:
|
|
135
|
+
* - `domainAware?: boolean` – treat input as a domain string. Requires `domainName` to be a string and non-empty string; otherwise, a TypeError is thrown.
|
|
136
|
+
* - `domainName?: string` – base domain for comparison eg (`example.com`), required when `domainAware` is true.
|
|
137
|
+
*
|
|
138
|
+
* @returns {string | null}
|
|
139
|
+
* - Base filename without known extensions
|
|
140
|
+
* - Original filename if extension unknown
|
|
141
|
+
* - `null` for invalid inputs, folder paths, or domain-only strings
|
|
142
|
+
*
|
|
143
|
+
* ----------------------------------------------------------
|
|
36
144
|
* @example
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* extractFileName("
|
|
40
|
-
* extractFileName("
|
|
41
|
-
* extractFileName("
|
|
42
|
-
* extractFileName("");
|
|
43
|
-
* extractFileName(
|
|
145
|
+
* ```ts
|
|
146
|
+
* // Basic files
|
|
147
|
+
* extractFileName("document.pdf"); // ➔ "document"
|
|
148
|
+
* extractFileName("/files/archive.tar.gz"); // ➔ "archive"
|
|
149
|
+
* extractFileName("C:\\path\\file.txt"); // ➔ "file"
|
|
150
|
+
* extractFileName(".env"); // ➔ ".env"
|
|
151
|
+
* extractFileName("folder/"); // ➔ null
|
|
152
|
+
*
|
|
153
|
+
* // Not a file
|
|
154
|
+
* extractFileName("not-file"); // ➔ null
|
|
155
|
+
* extractFileName("not-file/"); // ➔ null
|
|
156
|
+
* extractFileName("/not-file/"); // ➔ null
|
|
157
|
+
* extractFileName("/not-file"); // ➔ null
|
|
158
|
+
*
|
|
159
|
+
* // URLs with queries, hashes, protocols
|
|
160
|
+
* extractFileName("https://example.com/file.txt?ver=1"); // ➔ "file"
|
|
161
|
+
* extractFileName("https://example.com/archive.tar.gz#part"); // ➔ "archive"
|
|
162
|
+
* extractFileName("//cdn.example.com/image.png"); // ➔ "image"
|
|
163
|
+
*
|
|
164
|
+
*
|
|
165
|
+
* // Special protocol handling
|
|
166
|
+
* extractFileName("tel:+6212345678"); // ➔ "+6212345678"
|
|
167
|
+
* extractFileName("sms:+6212345678"); // ➔ "+6212345678"
|
|
168
|
+
* extractFileName("mailto:user@domain.com"); // ➔ "user@domain"
|
|
169
|
+
* extractFileName("data:text/plain;base64,SGVsbG8="); // ➔ "SGVsbG8="
|
|
170
|
+
* extractFileName("mailto:resume.com"); // ➔ "resume"
|
|
171
|
+
* extractFileName("ftp://example.com/image.jpeg"); // ➔ "image"
|
|
172
|
+
* extractFileName("ftp://files.example.com/app.min.js"); // ➔ "app.min"
|
|
173
|
+
* extractFileName("file:///C:/path/to/document.pdf"); // ➔ "document"
|
|
174
|
+
* extractFileName("custom-scheme://example.com/video.mp4"); // ➔ "video"
|
|
175
|
+
*
|
|
176
|
+
* // Unicode & emoji
|
|
177
|
+
* extractFileName("emoji-😊.png"); // ➔ "emoji-😊"
|
|
178
|
+
* extractFileName("🔥project.tar.gz"); // ➔ "🔥project"
|
|
179
|
+
*
|
|
180
|
+
* // Dotfiles
|
|
181
|
+
* extractFileName(".gitignore"); // ➔ ".gitignore"
|
|
182
|
+
* extractFileName("/path/.bashrc"); // ➔ ".bashrc"
|
|
183
|
+
*
|
|
184
|
+
* // Mixed Unicode domain and ASCII filename
|
|
185
|
+
* extractFileName("https://tést-ドメイン.com/file.txt"); // ➔ "file"
|
|
186
|
+
* extractFileName("https://example.com/ファイル名.pdf"); // ➔ "ファイル名"
|
|
187
|
+
* extractFileName("https://ドメイン例.com/emoji-🔥.png"); // ➔ "emoji-🔥"
|
|
188
|
+
*
|
|
189
|
+
* // Reserved filenames
|
|
190
|
+
* extractFileName("CON"); // ➔ "CON"
|
|
191
|
+
* extractFileName("NUL.txt"); // ➔ "NUL"
|
|
192
|
+
*
|
|
193
|
+
* // Domain-aware mode
|
|
194
|
+
* extractFileName("example.com", {
|
|
195
|
+
* domainAware: true,
|
|
196
|
+
* domainName: "example.com"
|
|
197
|
+
* });
|
|
198
|
+
* // ➔ null
|
|
199
|
+
* extractFileName("cdn.example.com", {
|
|
200
|
+
* domainAware: true,
|
|
201
|
+
* domainName: "example.com"
|
|
202
|
+
* });
|
|
203
|
+
* // ➔ null
|
|
204
|
+
* extractFileName("resume.com", {
|
|
205
|
+
* domainAware: true,
|
|
206
|
+
* domainName: "example.com"
|
|
207
|
+
* });
|
|
208
|
+
* // ➔ "resume"
|
|
209
|
+
* extractFileName("https://example.com/file.txt", {
|
|
210
|
+
* domainAware: true,
|
|
211
|
+
* domainName: "example.com"
|
|
212
|
+
* });
|
|
213
|
+
* // ➔ "file"
|
|
214
|
+
*
|
|
215
|
+
* // Windows & UNC paths
|
|
216
|
+
* extractFileName("C:\\Users\\rzl\\Documents\\file.txt"); // ➔ "file"
|
|
217
|
+
* extractFileName("\\\\SERVER\\share\\logs\\output.log"); // ➔ "output"
|
|
218
|
+
* extractFileName("C:/Users\\rzl/mix\\test.pdf"); // ➔ "test"
|
|
219
|
+
*
|
|
220
|
+
* // Edge / extreme cases
|
|
221
|
+
* extractFileName("https://example.com/my%20file%20name.txt"); // ➔ "my file name"
|
|
222
|
+
* extractFileName("app.min.js.map"); // ➔ "app.min"
|
|
223
|
+
* extractFileName("backup.tar.bak"); // ➔ "backup.tar.bak" (unknown double extension)
|
|
224
|
+
* extractFileName("filename."); // ➔ "filename."
|
|
225
|
+
* extractFileName("a".repeat(255) + ".txt"); // ➔ "a".repeat(255)
|
|
226
|
+
* ```
|
|
227
|
+
*
|
|
228
|
+
* ----------------------------------------------------------
|
|
229
|
+
* @note
|
|
230
|
+
* - Robust: never throws, handles unusual inputs safely.
|
|
231
|
+
* - Suitable for display, logging, or safe storage.
|
|
232
|
+
* - Normalizes slashes consistently.
|
|
233
|
+
* - Covers nearly all real-world filename, URL, path, data URI, and domain scenarios.
|
|
234
|
+
* - Handles Windows UNC paths, mixed slashes, percent-encoded, Unicode/emoji filenames.
|
|
235
|
+
* - Known multi-part extensions list can be extended without breaking functionality.
|
|
44
236
|
*/
|
|
45
|
-
declare const extractFileName:(
|
|
237
|
+
declare const extractFileName:(input?:string|null,options?:ExtractFileNameOptions)=>string|null;export{type ExtractFileNameOptions,extractFileName};
|
package/dist/parsers/index.js
CHANGED
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
* ====================================================
|
|
3
3
|
* Rzl Utils-JS.
|
|
4
4
|
* ----------------------------------------------------
|
|
5
|
-
* Version: 3.
|
|
5
|
+
* Version: 3.9.1.
|
|
6
6
|
* Author: Rizalvin Dwiky.
|
|
7
7
|
* Repository: https://github.com/rzl-zone/utils-js.
|
|
8
8
|
* ====================================================
|
|
9
9
|
*/
|
|
10
|
-
export { extractFileName } from '../chunk-
|
|
11
|
-
import '../chunk-
|
|
10
|
+
export { extractFileName } from '../chunk-QXTJVDWE.js';
|
|
11
|
+
import '../chunk-GKDSBOYE.js';
|
|
12
|
+
import '../chunk-OSSFLQDD.js';
|
|
13
|
+
import '../chunk-J4TT33ZX.js';
|
|
@@ -2,133 +2,134 @@
|
|
|
2
2
|
* ====================================================
|
|
3
3
|
* Rzl Utils-JS.
|
|
4
4
|
* ----------------------------------------------------
|
|
5
|
-
* Version: 3.
|
|
5
|
+
* Version: 3.9.1.
|
|
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
|
|
12
|
+
var chunkXYWC4EQ3_cjs = require('../chunk-XYWC4EQ3.cjs');
|
|
13
13
|
var chunkKHO2SBNA_cjs = require('../chunk-KHO2SBNA.cjs');
|
|
14
|
-
var
|
|
15
|
-
var
|
|
14
|
+
var chunkALRISPTL_cjs = require('../chunk-ALRISPTL.cjs');
|
|
15
|
+
var chunkMMRHKYT6_cjs = require('../chunk-MMRHKYT6.cjs');
|
|
16
16
|
var chunkVJDDGRIK_cjs = require('../chunk-VJDDGRIK.cjs');
|
|
17
|
-
require('../chunk-
|
|
18
|
-
var
|
|
17
|
+
require('../chunk-2XGQQZ6A.cjs');
|
|
18
|
+
var chunkPWKOFPAH_cjs = require('../chunk-PWKOFPAH.cjs');
|
|
19
19
|
var chunkDVMHRLKP_cjs = require('../chunk-DVMHRLKP.cjs');
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
require('../chunk-
|
|
23
|
-
|
|
24
|
-
var
|
|
25
|
-
var
|
|
20
|
+
var chunk6AMDHVS2_cjs = require('../chunk-6AMDHVS2.cjs');
|
|
21
|
+
require('../chunk-ZTHJQJ5F.cjs');
|
|
22
|
+
var chunkFWWPEL7J_cjs = require('../chunk-FWWPEL7J.cjs');
|
|
23
|
+
require('../chunk-WKM6UVMG.cjs');
|
|
24
|
+
var chunkTJ5OY6MC_cjs = require('../chunk-TJ5OY6MC.cjs');
|
|
25
|
+
var chunkNAOVH4OH_cjs = require('../chunk-NAOVH4OH.cjs');
|
|
26
|
+
var chunkH44QVAZL_cjs = require('../chunk-H44QVAZL.cjs');
|
|
26
27
|
var chunkUDA26MCU_cjs = require('../chunk-UDA26MCU.cjs');
|
|
27
|
-
var
|
|
28
|
+
var chunk7C7TQC5J_cjs = require('../chunk-7C7TQC5J.cjs');
|
|
28
29
|
|
|
29
30
|
Object.defineProperty(exports, "areArraysEqual", {
|
|
30
31
|
enumerable: true,
|
|
31
|
-
get: function () { return
|
|
32
|
+
get: function () { return chunkXYWC4EQ3_cjs.areArraysEqual; }
|
|
32
33
|
});
|
|
33
34
|
Object.defineProperty(exports, "areObjectsEqual", {
|
|
34
35
|
enumerable: true,
|
|
35
|
-
get: function () { return
|
|
36
|
+
get: function () { return chunkXYWC4EQ3_cjs.areObjectsEqual; }
|
|
36
37
|
});
|
|
37
38
|
Object.defineProperty(exports, "areURLsEqualPath", {
|
|
38
39
|
enumerable: true,
|
|
39
|
-
get: function () { return
|
|
40
|
+
get: function () { return chunkXYWC4EQ3_cjs.areURLsEqualPath; }
|
|
40
41
|
});
|
|
41
42
|
Object.defineProperty(exports, "areURLsIdentical", {
|
|
42
43
|
enumerable: true,
|
|
43
|
-
get: function () { return
|
|
44
|
+
get: function () { return chunkXYWC4EQ3_cjs.areURLsIdentical; }
|
|
44
45
|
});
|
|
45
46
|
Object.defineProperty(exports, "arrayHasAnyMatch", {
|
|
46
47
|
enumerable: true,
|
|
47
|
-
get: function () { return
|
|
48
|
+
get: function () { return chunkXYWC4EQ3_cjs.arrayHasAnyMatch; }
|
|
48
49
|
});
|
|
49
50
|
Object.defineProperty(exports, "doesKeyExist", {
|
|
50
51
|
enumerable: true,
|
|
51
|
-
get: function () { return
|
|
52
|
+
get: function () { return chunkXYWC4EQ3_cjs.doesKeyExist; }
|
|
52
53
|
});
|
|
53
54
|
Object.defineProperty(exports, "isArguments", {
|
|
54
55
|
enumerable: true,
|
|
55
|
-
get: function () { return
|
|
56
|
+
get: function () { return chunkXYWC4EQ3_cjs.isArguments; }
|
|
56
57
|
});
|
|
57
58
|
Object.defineProperty(exports, "isArrayLike", {
|
|
58
59
|
enumerable: true,
|
|
59
|
-
get: function () { return
|
|
60
|
+
get: function () { return chunkXYWC4EQ3_cjs.isArrayLike; }
|
|
60
61
|
});
|
|
61
62
|
Object.defineProperty(exports, "isArrayLikeObject", {
|
|
62
63
|
enumerable: true,
|
|
63
|
-
get: function () { return
|
|
64
|
+
get: function () { return chunkXYWC4EQ3_cjs.isArrayLikeObject; }
|
|
64
65
|
});
|
|
65
66
|
Object.defineProperty(exports, "isCurrencyLike", {
|
|
66
67
|
enumerable: true,
|
|
67
|
-
get: function () { return
|
|
68
|
+
get: function () { return chunkXYWC4EQ3_cjs.isCurrencyLike; }
|
|
68
69
|
});
|
|
69
70
|
Object.defineProperty(exports, "isDeepEqual", {
|
|
70
71
|
enumerable: true,
|
|
71
|
-
get: function () { return
|
|
72
|
+
get: function () { return chunkXYWC4EQ3_cjs.isDeepEqual; }
|
|
72
73
|
});
|
|
73
74
|
Object.defineProperty(exports, "isElement", {
|
|
74
75
|
enumerable: true,
|
|
75
|
-
get: function () { return
|
|
76
|
+
get: function () { return chunkXYWC4EQ3_cjs.isElement; }
|
|
76
77
|
});
|
|
77
78
|
Object.defineProperty(exports, "isEmpty", {
|
|
78
79
|
enumerable: true,
|
|
79
|
-
get: function () { return
|
|
80
|
+
get: function () { return chunkXYWC4EQ3_cjs.isEmpty; }
|
|
80
81
|
});
|
|
81
82
|
Object.defineProperty(exports, "isEmptyDeep", {
|
|
82
83
|
enumerable: true,
|
|
83
|
-
get: function () { return
|
|
84
|
+
get: function () { return chunkXYWC4EQ3_cjs.isEmptyDeep; }
|
|
84
85
|
});
|
|
85
86
|
Object.defineProperty(exports, "isEqualWith", {
|
|
86
87
|
enumerable: true,
|
|
87
|
-
get: function () { return
|
|
88
|
+
get: function () { return chunkXYWC4EQ3_cjs.isEqualWith; }
|
|
88
89
|
});
|
|
89
90
|
Object.defineProperty(exports, "isLength", {
|
|
90
91
|
enumerable: true,
|
|
91
|
-
get: function () { return
|
|
92
|
+
get: function () { return chunkXYWC4EQ3_cjs.isLength; }
|
|
92
93
|
});
|
|
93
94
|
Object.defineProperty(exports, "isMatch", {
|
|
94
95
|
enumerable: true,
|
|
95
|
-
get: function () { return
|
|
96
|
+
get: function () { return chunkXYWC4EQ3_cjs.isMatch; }
|
|
96
97
|
});
|
|
97
98
|
Object.defineProperty(exports, "isMatchWith", {
|
|
98
99
|
enumerable: true,
|
|
99
|
-
get: function () { return
|
|
100
|
+
get: function () { return chunkXYWC4EQ3_cjs.isMatchWith; }
|
|
100
101
|
});
|
|
101
102
|
Object.defineProperty(exports, "isNative", {
|
|
102
103
|
enumerable: true,
|
|
103
|
-
get: function () { return
|
|
104
|
+
get: function () { return chunkXYWC4EQ3_cjs.isNative; }
|
|
104
105
|
});
|
|
105
106
|
Object.defineProperty(exports, "isObjectLoose", {
|
|
106
107
|
enumerable: true,
|
|
107
|
-
get: function () { return
|
|
108
|
+
get: function () { return chunkXYWC4EQ3_cjs.isObjectLoose; }
|
|
108
109
|
});
|
|
109
110
|
Object.defineProperty(exports, "isPropertyKey", {
|
|
110
111
|
enumerable: true,
|
|
111
|
-
get: function () { return
|
|
112
|
+
get: function () { return chunkXYWC4EQ3_cjs.isPropertyKey; }
|
|
112
113
|
});
|
|
113
114
|
Object.defineProperty(exports, "isSafeInteger", {
|
|
114
115
|
enumerable: true,
|
|
115
|
-
get: function () { return
|
|
116
|
+
get: function () { return chunkXYWC4EQ3_cjs.isSafeInteger; }
|
|
116
117
|
});
|
|
117
118
|
Object.defineProperty(exports, "isValidURL", {
|
|
118
119
|
enumerable: true,
|
|
119
|
-
get: function () { return
|
|
120
|
+
get: function () { return chunkXYWC4EQ3_cjs.isValidURL; }
|
|
120
121
|
});
|
|
121
122
|
Object.defineProperty(exports, "isWeakMap", {
|
|
122
123
|
enumerable: true,
|
|
123
|
-
get: function () { return
|
|
124
|
+
get: function () { return chunkXYWC4EQ3_cjs.isWeakMap; }
|
|
124
125
|
});
|
|
125
126
|
Object.defineProperty(exports, "textContainsAll", {
|
|
126
127
|
enumerable: true,
|
|
127
|
-
get: function () { return
|
|
128
|
+
get: function () { return chunkXYWC4EQ3_cjs.textContainsAll; }
|
|
128
129
|
});
|
|
129
130
|
Object.defineProperty(exports, "textContainsAny", {
|
|
130
131
|
enumerable: true,
|
|
131
|
-
get: function () { return
|
|
132
|
+
get: function () { return chunkXYWC4EQ3_cjs.textContainsAny; }
|
|
132
133
|
});
|
|
133
134
|
Object.defineProperty(exports, "isURL", {
|
|
134
135
|
enumerable: true,
|
|
@@ -136,15 +137,15 @@ Object.defineProperty(exports, "isURL", {
|
|
|
136
137
|
});
|
|
137
138
|
Object.defineProperty(exports, "isNonEmptyValue", {
|
|
138
139
|
enumerable: true,
|
|
139
|
-
get: function () { return
|
|
140
|
+
get: function () { return chunkALRISPTL_cjs.isNonEmptyValue; }
|
|
140
141
|
});
|
|
141
142
|
Object.defineProperty(exports, "isTypedArray", {
|
|
142
143
|
enumerable: true,
|
|
143
|
-
get: function () { return
|
|
144
|
+
get: function () { return chunkALRISPTL_cjs.isTypedArray; }
|
|
144
145
|
});
|
|
145
146
|
Object.defineProperty(exports, "isEmptyValue", {
|
|
146
147
|
enumerable: true,
|
|
147
|
-
get: function () { return
|
|
148
|
+
get: function () { return chunkMMRHKYT6_cjs.isEmptyValue; }
|
|
148
149
|
});
|
|
149
150
|
Object.defineProperty(exports, "isServer", {
|
|
150
151
|
enumerable: true,
|
|
@@ -152,7 +153,7 @@ Object.defineProperty(exports, "isServer", {
|
|
|
152
153
|
});
|
|
153
154
|
Object.defineProperty(exports, "isFinite", {
|
|
154
155
|
enumerable: true,
|
|
155
|
-
get: function () { return
|
|
156
|
+
get: function () { return chunkPWKOFPAH_cjs.isFinite; }
|
|
156
157
|
});
|
|
157
158
|
Object.defineProperty(exports, "isInteger", {
|
|
158
159
|
enumerable: true,
|
|
@@ -160,39 +161,39 @@ Object.defineProperty(exports, "isInteger", {
|
|
|
160
161
|
});
|
|
161
162
|
Object.defineProperty(exports, "isValidDomain", {
|
|
162
163
|
enumerable: true,
|
|
163
|
-
get: function () { return
|
|
164
|
+
get: function () { return chunk6AMDHVS2_cjs.isValidDomain; }
|
|
164
165
|
});
|
|
165
166
|
Object.defineProperty(exports, "isEmptyString", {
|
|
166
167
|
enumerable: true,
|
|
167
|
-
get: function () { return
|
|
168
|
+
get: function () { return chunkFWWPEL7J_cjs.isEmptyString; }
|
|
168
169
|
});
|
|
169
170
|
Object.defineProperty(exports, "isArrayBuffer", {
|
|
170
171
|
enumerable: true,
|
|
171
|
-
get: function () { return
|
|
172
|
+
get: function () { return chunkTJ5OY6MC_cjs.isArrayBuffer; }
|
|
172
173
|
});
|
|
173
174
|
Object.defineProperty(exports, "isEqual", {
|
|
174
175
|
enumerable: true,
|
|
175
|
-
get: function () { return
|
|
176
|
+
get: function () { return chunkTJ5OY6MC_cjs.isEqual; }
|
|
176
177
|
});
|
|
177
178
|
Object.defineProperty(exports, "isRegExp", {
|
|
178
179
|
enumerable: true,
|
|
179
|
-
get: function () { return
|
|
180
|
+
get: function () { return chunkTJ5OY6MC_cjs.isRegExp; }
|
|
180
181
|
});
|
|
181
182
|
Object.defineProperty(exports, "isEmptyArray", {
|
|
182
183
|
enumerable: true,
|
|
183
|
-
get: function () { return
|
|
184
|
+
get: function () { return chunkNAOVH4OH_cjs.isEmptyArray; }
|
|
184
185
|
});
|
|
185
186
|
Object.defineProperty(exports, "isEmptyObject", {
|
|
186
187
|
enumerable: true,
|
|
187
|
-
get: function () { return
|
|
188
|
+
get: function () { return chunkNAOVH4OH_cjs.isEmptyObject; }
|
|
188
189
|
});
|
|
189
190
|
Object.defineProperty(exports, "isDate", {
|
|
190
191
|
enumerable: true,
|
|
191
|
-
get: function () { return
|
|
192
|
+
get: function () { return chunkH44QVAZL_cjs.isDate; }
|
|
192
193
|
});
|
|
193
194
|
Object.defineProperty(exports, "isMap", {
|
|
194
195
|
enumerable: true,
|
|
195
|
-
get: function () { return
|
|
196
|
+
get: function () { return chunkH44QVAZL_cjs.isMap; }
|
|
196
197
|
});
|
|
197
198
|
Object.defineProperty(exports, "isBigInt", {
|
|
198
199
|
enumerable: true,
|
|
@@ -200,97 +201,97 @@ Object.defineProperty(exports, "isBigInt", {
|
|
|
200
201
|
});
|
|
201
202
|
Object.defineProperty(exports, "getPreciseType", {
|
|
202
203
|
enumerable: true,
|
|
203
|
-
get: function () { return
|
|
204
|
+
get: function () { return chunk7C7TQC5J_cjs.getPreciseType; }
|
|
204
205
|
});
|
|
205
206
|
Object.defineProperty(exports, "hasOwnProp", {
|
|
206
207
|
enumerable: true,
|
|
207
|
-
get: function () { return
|
|
208
|
+
get: function () { return chunk7C7TQC5J_cjs.hasOwnProp; }
|
|
208
209
|
});
|
|
209
210
|
Object.defineProperty(exports, "isArray", {
|
|
210
211
|
enumerable: true,
|
|
211
|
-
get: function () { return
|
|
212
|
+
get: function () { return chunk7C7TQC5J_cjs.isArray; }
|
|
212
213
|
});
|
|
213
214
|
Object.defineProperty(exports, "isBoolean", {
|
|
214
215
|
enumerable: true,
|
|
215
|
-
get: function () { return
|
|
216
|
+
get: function () { return chunk7C7TQC5J_cjs.isBoolean; }
|
|
216
217
|
});
|
|
217
218
|
Object.defineProperty(exports, "isBooleanObject", {
|
|
218
219
|
enumerable: true,
|
|
219
|
-
get: function () { return
|
|
220
|
+
get: function () { return chunk7C7TQC5J_cjs.isBooleanObject; }
|
|
220
221
|
});
|
|
221
222
|
Object.defineProperty(exports, "isBuffer", {
|
|
222
223
|
enumerable: true,
|
|
223
|
-
get: function () { return
|
|
224
|
+
get: function () { return chunk7C7TQC5J_cjs.isBuffer; }
|
|
224
225
|
});
|
|
225
226
|
Object.defineProperty(exports, "isError", {
|
|
226
227
|
enumerable: true,
|
|
227
|
-
get: function () { return
|
|
228
|
+
get: function () { return chunk7C7TQC5J_cjs.isError; }
|
|
228
229
|
});
|
|
229
230
|
Object.defineProperty(exports, "isFunction", {
|
|
230
231
|
enumerable: true,
|
|
231
|
-
get: function () { return
|
|
232
|
+
get: function () { return chunk7C7TQC5J_cjs.isFunction; }
|
|
232
233
|
});
|
|
233
234
|
Object.defineProperty(exports, "isInfinityNumber", {
|
|
234
235
|
enumerable: true,
|
|
235
|
-
get: function () { return
|
|
236
|
+
get: function () { return chunk7C7TQC5J_cjs.isInfinityNumber; }
|
|
236
237
|
});
|
|
237
238
|
Object.defineProperty(exports, "isNaN", {
|
|
238
239
|
enumerable: true,
|
|
239
|
-
get: function () { return
|
|
240
|
+
get: function () { return chunk7C7TQC5J_cjs.isNaN; }
|
|
240
241
|
});
|
|
241
242
|
Object.defineProperty(exports, "isNil", {
|
|
242
243
|
enumerable: true,
|
|
243
|
-
get: function () { return
|
|
244
|
+
get: function () { return chunk7C7TQC5J_cjs.isNil; }
|
|
244
245
|
});
|
|
245
246
|
Object.defineProperty(exports, "isNonEmptyArray", {
|
|
246
247
|
enumerable: true,
|
|
247
|
-
get: function () { return
|
|
248
|
+
get: function () { return chunk7C7TQC5J_cjs.isNonEmptyArray; }
|
|
248
249
|
});
|
|
249
250
|
Object.defineProperty(exports, "isNonEmptyString", {
|
|
250
251
|
enumerable: true,
|
|
251
|
-
get: function () { return
|
|
252
|
+
get: function () { return chunk7C7TQC5J_cjs.isNonEmptyString; }
|
|
252
253
|
});
|
|
253
254
|
Object.defineProperty(exports, "isNull", {
|
|
254
255
|
enumerable: true,
|
|
255
|
-
get: function () { return
|
|
256
|
+
get: function () { return chunk7C7TQC5J_cjs.isNull; }
|
|
256
257
|
});
|
|
257
258
|
Object.defineProperty(exports, "isNumber", {
|
|
258
259
|
enumerable: true,
|
|
259
|
-
get: function () { return
|
|
260
|
+
get: function () { return chunk7C7TQC5J_cjs.isNumber; }
|
|
260
261
|
});
|
|
261
262
|
Object.defineProperty(exports, "isNumberObject", {
|
|
262
263
|
enumerable: true,
|
|
263
|
-
get: function () { return
|
|
264
|
+
get: function () { return chunk7C7TQC5J_cjs.isNumberObject; }
|
|
264
265
|
});
|
|
265
266
|
Object.defineProperty(exports, "isObject", {
|
|
266
267
|
enumerable: true,
|
|
267
|
-
get: function () { return
|
|
268
|
+
get: function () { return chunk7C7TQC5J_cjs.isObject; }
|
|
268
269
|
});
|
|
269
270
|
Object.defineProperty(exports, "isObjectOrArray", {
|
|
270
271
|
enumerable: true,
|
|
271
|
-
get: function () { return
|
|
272
|
+
get: function () { return chunk7C7TQC5J_cjs.isObjectOrArray; }
|
|
272
273
|
});
|
|
273
274
|
Object.defineProperty(exports, "isPlainObject", {
|
|
274
275
|
enumerable: true,
|
|
275
|
-
get: function () { return
|
|
276
|
+
get: function () { return chunk7C7TQC5J_cjs.isPlainObject; }
|
|
276
277
|
});
|
|
277
278
|
Object.defineProperty(exports, "isSet", {
|
|
278
279
|
enumerable: true,
|
|
279
|
-
get: function () { return
|
|
280
|
+
get: function () { return chunk7C7TQC5J_cjs.isSet; }
|
|
280
281
|
});
|
|
281
282
|
Object.defineProperty(exports, "isString", {
|
|
282
283
|
enumerable: true,
|
|
283
|
-
get: function () { return
|
|
284
|
+
get: function () { return chunk7C7TQC5J_cjs.isString; }
|
|
284
285
|
});
|
|
285
286
|
Object.defineProperty(exports, "isStringObject", {
|
|
286
287
|
enumerable: true,
|
|
287
|
-
get: function () { return
|
|
288
|
+
get: function () { return chunk7C7TQC5J_cjs.isStringObject; }
|
|
288
289
|
});
|
|
289
290
|
Object.defineProperty(exports, "isSymbol", {
|
|
290
291
|
enumerable: true,
|
|
291
|
-
get: function () { return
|
|
292
|
+
get: function () { return chunk7C7TQC5J_cjs.isSymbol; }
|
|
292
293
|
});
|
|
293
294
|
Object.defineProperty(exports, "isUndefined", {
|
|
294
295
|
enumerable: true,
|
|
295
|
-
get: function () { return
|
|
296
|
+
get: function () { return chunk7C7TQC5J_cjs.isUndefined; }
|
|
296
297
|
});
|