@rzl-zone/utils-js 3.2.6-beta.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/README.md +82 -51
  2. package/dist/NumberRangeUnion-B6bhM2s7.d.ts +33 -0
  3. package/dist/{any-BmdI8UbK.d.ts → any-v4TsK9ES.d.ts} +25 -26
  4. package/dist/{arrays-normalize-recursive-CnjYJ9xg.d.ts → arrays-normalize-recursive-BqmVuFlD.d.ts} +20 -20
  5. package/dist/assertions/index.cjs +1 -1
  6. package/dist/assertions/index.d.ts +96 -70
  7. package/dist/assertions/index.js +1 -1
  8. package/dist/chunk-2CQX5CBG.js +1 -0
  9. package/dist/chunk-2IOOEY45.cjs +1 -0
  10. package/dist/chunk-3IBQ5MOM.js +1 -0
  11. package/dist/{chunk-OGPPP2S3.js → chunk-3VA554KW.js} +1 -1
  12. package/dist/{chunk-FV7SEBKD.cjs → chunk-5757UBXJ.cjs} +1 -1
  13. package/dist/{chunk-MTUBDVJ2.js → chunk-5IGC6PBH.js} +1 -1
  14. package/dist/{chunk-O7UT5AN3.cjs → chunk-5KJFVIQT.cjs} +1 -1
  15. package/dist/chunk-6JFCSH7J.js +1 -0
  16. package/dist/{chunk-VHAPTHEA.cjs → chunk-6JFZL7YE.cjs} +1 -1
  17. package/dist/chunk-7ODAAXX5.cjs +1 -0
  18. package/dist/{chunk-6C3ATUGM.cjs → chunk-CAH33WOQ.cjs} +1 -1
  19. package/dist/{chunk-ECRNH4FW.js → chunk-CKTLUNWX.js} +1 -1
  20. package/dist/chunk-CMW2TBOQ.js +1 -0
  21. package/dist/chunk-D3ENH7H6.cjs +1 -0
  22. package/dist/{chunk-3YCFMGRB.js → chunk-DEZZUYE2.js} +1 -1
  23. package/dist/chunk-DWF2R5GD.cjs +1 -0
  24. package/dist/chunk-E55EQK2U.cjs +1 -0
  25. package/dist/chunk-E74U6CYP.cjs +1 -0
  26. package/dist/{chunk-XC3QHAK2.cjs → chunk-EL6A35UR.cjs} +1 -1
  27. package/dist/chunk-F6IPNNSJ.cjs +1 -0
  28. package/dist/chunk-FJZGG54N.cjs +1 -0
  29. package/dist/chunk-FWCKOJZM.js +1 -0
  30. package/dist/{chunk-IMCLPT5V.cjs → chunk-FWHNWL2P.cjs} +1 -1
  31. package/dist/chunk-GGEADHZO.js +1 -0
  32. package/dist/{chunk-IRGE5W7L.js → chunk-GQR4R5WY.js} +1 -1
  33. package/dist/chunk-H66AC7GK.cjs +1 -0
  34. package/dist/{chunk-M47QIBXI.cjs → chunk-HQWOFR56.cjs} +1 -1
  35. package/dist/{chunk-VCFXNV3Q.cjs → chunk-HYRQMTRH.cjs} +1 -1
  36. package/dist/{chunk-EUANTHVN.js → chunk-IRFL4MAX.js} +1 -1
  37. package/dist/{chunk-GGWPB23G.cjs → chunk-IVL7CKVH.cjs} +1 -1
  38. package/dist/chunk-IZPBKKPO.js +1 -0
  39. package/dist/chunk-JBQMXC5I.cjs +1 -0
  40. package/dist/chunk-JEQEF5WD.js +1 -0
  41. package/dist/chunk-JMJQCN74.js +1 -0
  42. package/dist/chunk-JYQTCICM.js +1 -0
  43. package/dist/chunk-KVAL5PAG.cjs +1 -0
  44. package/dist/chunk-LS6U7FAY.cjs +1 -0
  45. package/dist/chunk-NBZWMBO6.js +1 -0
  46. package/dist/chunk-NRF6LWBC.cjs +1 -0
  47. package/dist/chunk-OI5XKNZO.js +1 -0
  48. package/dist/chunk-OYTYSY7G.js +1 -0
  49. package/dist/chunk-PET42Z7W.js +1 -0
  50. package/dist/chunk-PZQ6I4JJ.cjs +1 -0
  51. package/dist/chunk-QBKAEVYG.js +1 -0
  52. package/dist/{chunk-YV3K2EKJ.js → chunk-RIPKY4RU.js} +1 -1
  53. package/dist/chunk-RZW35UN5.cjs +1 -0
  54. package/dist/chunk-SBFNXGTJ.js +1 -0
  55. package/dist/{chunk-T4CIAKEK.js → chunk-SBKGWRS5.js} +1 -1
  56. package/dist/{chunk-5Z2G23WP.js → chunk-SIM77PU4.js} +1 -1
  57. package/dist/chunk-T2T7K3KR.js +1 -0
  58. package/dist/chunk-T7PU2V7X.cjs +1 -0
  59. package/dist/chunk-V45XJKHW.cjs +1 -0
  60. package/dist/chunk-W2WNBUDE.js +1 -0
  61. package/dist/chunk-XABCB3Y7.cjs +1 -0
  62. package/dist/chunk-XEDXFSGI.js +1 -0
  63. package/dist/chunk-YKPSRP5G.js +1 -0
  64. package/dist/chunk-YLA3DURS.cjs +1 -0
  65. package/dist/chunk-ZETAZZLD.cjs +1 -0
  66. package/dist/conversions/index.cjs +1 -1
  67. package/dist/conversions/index.d.ts +515 -321
  68. package/dist/conversions/index.js +1 -1
  69. package/dist/events/index.cjs +1 -1
  70. package/dist/events/index.d.ts +25 -20
  71. package/dist/events/index.js +1 -1
  72. package/dist/{extends-Bk_SBGdT.d.ts → extends-DtdRjDyU.d.ts} +63 -87
  73. package/dist/{formatting → formatters}/index.cjs +1 -1
  74. package/dist/formatters/index.d.ts +2106 -0
  75. package/dist/formatters/index.js +1 -0
  76. package/dist/generators/index.cjs +1 -0
  77. package/dist/{generator → generators}/index.d.ts +57 -59
  78. package/dist/generators/index.js +1 -0
  79. package/dist/{if-CvT4R7Kh.d.ts → if-ChM35c_q.d.ts} +6 -5
  80. package/dist/index.d.ts +14 -0
  81. package/dist/{is-array--YjXV-Wx.d.ts → is-array-BJeHxPM3.d.ts} +287 -542
  82. package/dist/{isPlainObject-BVhBAPHX.d.ts → isPlainObject-DGJkcFYw.d.ts} +6 -6
  83. package/dist/{never-BfayMBF9.d.ts → never-D89PbPh5.d.ts} +10 -19
  84. package/dist/next/index.cjs +1 -1
  85. package/dist/next/index.d.ts +15 -12
  86. package/dist/next/index.js +1 -1
  87. package/dist/next/server/index.cjs +1 -1
  88. package/dist/next/server/index.d.ts +1 -1
  89. package/dist/next/server/index.js +1 -1
  90. package/dist/{nils-DMz3kU7M.d.ts → nils-CO8zLHSB.d.ts} +39 -65
  91. package/dist/operations/index.cjs +1 -1
  92. package/dist/operations/index.d.ts +4 -4
  93. package/dist/operations/index.js +1 -1
  94. package/dist/or-C6qzKt2I.d.ts +82 -0
  95. package/dist/override-CL2olHE5.d.ts +59 -0
  96. package/dist/parsers/index.cjs +1 -1
  97. package/dist/parsers/index.js +1 -1
  98. package/dist/pick-BSMX6Xe2.d.ts +15 -0
  99. package/dist/predicates/index.cjs +1 -1
  100. package/dist/predicates/index.d.ts +425 -106
  101. package/dist/predicates/index.js +1 -1
  102. package/dist/prettify-3o8_Kw6b.d.ts +564 -0
  103. package/dist/promises/index.cjs +1 -0
  104. package/dist/promises/index.d.ts +107 -0
  105. package/dist/promises/index.js +1 -0
  106. package/dist/promises-LU7K00H0.d.ts +72 -0
  107. package/dist/rzl-utils.global.js +1 -1
  108. package/dist/{string-XA-til3C.d.ts → string-B1jlOnws.d.ts} +82 -121
  109. package/dist/strings/index.cjs +1 -1
  110. package/dist/strings/index.d.ts +209 -210
  111. package/dist/strings/index.js +1 -1
  112. package/dist/tailwind/index.cjs +1 -1
  113. package/dist/tailwind/index.d.ts +23 -17
  114. package/dist/tailwind/index.js +1 -1
  115. package/dist/types/index.d.ts +899 -1181
  116. package/dist/urls/index.cjs +1 -1
  117. package/dist/urls/index.d.ts +113 -108
  118. package/dist/urls/index.js +1 -1
  119. package/package.json +33 -40
  120. package/dist/NumberRangeUnion-DC-C3_Kq.d.ts +0 -26
  121. package/dist/chunk-2HSNUPEO.cjs +0 -1
  122. package/dist/chunk-4Z75R3IT.cjs +0 -1
  123. package/dist/chunk-AJ25PWXX.cjs +0 -1
  124. package/dist/chunk-BHIBDDQF.js +0 -1
  125. package/dist/chunk-CE4JI2YB.js +0 -1
  126. package/dist/chunk-CMJ6UYWW.cjs +0 -1
  127. package/dist/chunk-D3VSHABU.cjs +0 -1
  128. package/dist/chunk-DG2GWBTS.cjs +0 -1
  129. package/dist/chunk-EKS4IZJR.cjs +0 -1
  130. package/dist/chunk-EOZKYR5S.cjs +0 -1
  131. package/dist/chunk-EW3I4O7X.js +0 -1
  132. package/dist/chunk-F3E77L46.js +0 -1
  133. package/dist/chunk-G5LXIEFO.js +0 -0
  134. package/dist/chunk-GVWGQNLF.js +0 -1
  135. package/dist/chunk-H3FXL4DU.cjs +0 -1
  136. package/dist/chunk-HHPDLSX2.cjs +0 -1
  137. package/dist/chunk-JARPXKBM.cjs +0 -1
  138. package/dist/chunk-JFJUPYDT.cjs +0 -1
  139. package/dist/chunk-JLP56WSM.js +0 -1
  140. package/dist/chunk-K3MV4AIN.cjs +0 -1
  141. package/dist/chunk-KOVO72OM.js +0 -1
  142. package/dist/chunk-LJ4M3VGE.js +0 -1
  143. package/dist/chunk-LJVGJLP4.js +0 -1
  144. package/dist/chunk-MISCBZJC.js +0 -1
  145. package/dist/chunk-MMSYCIJ2.cjs +0 -1
  146. package/dist/chunk-OLPKAX7F.cjs +0 -1
  147. package/dist/chunk-ORZFHBEY.js +0 -1
  148. package/dist/chunk-OWV2P376.js +0 -1
  149. package/dist/chunk-RV2WK5E6.js +0 -1
  150. package/dist/chunk-SBF43G3B.cjs +0 -1
  151. package/dist/chunk-X74TUJSE.cjs +0 -1
  152. package/dist/chunk-XLDAIZRK.js +0 -1
  153. package/dist/chunk-XZJ7C4N6.js +0 -1
  154. package/dist/chunk-ZHV5ZYVN.cjs +0 -1
  155. package/dist/chunk-ZL7J6GTP.js +0 -1
  156. package/dist/chunk-ZTCLKKMB.js +0 -1
  157. package/dist/env/index.cjs +0 -1
  158. package/dist/env/index.d.ts +0 -16
  159. package/dist/env/index.js +0 -1
  160. package/dist/formatting/index.d.ts +0 -950
  161. package/dist/formatting/index.js +0 -1
  162. package/dist/generator/index.cjs +0 -1
  163. package/dist/generator/index.js +0 -1
  164. package/dist/omit-VvmIsZmX.d.ts +0 -28
  165. package/dist/prettify-C4xLcYOP.d.ts +0 -353
  166. package/dist/promise/index.cjs +0 -1
  167. package/dist/promise/index.d.ts +0 -31
  168. package/dist/promise/index.js +0 -1
  169. package/dist/type-data-DDs-u2kq.d.ts +0 -261
  170. /package/dist/{chunk-5C2SMIGX.cjs → chunk-BAV5T2E3.cjs} +0 -0
  171. /package/dist/{chunk-MC3LXMCQ.js → chunk-L5RDAVVH.js} +0 -0
  172. /package/dist/{chunk-J2RGTPGK.cjs → chunk-VJDDGRIK.cjs} +0 -0
  173. /package/dist/{chunk-FIAAX3UE.js → chunk-YWHHVDT4.js} +0 -0
@@ -1 +0,0 @@
1
- export{censorEmail,chunkString,formatCurrency,formatDateFns,formatDateIntl,formatDateTime,formatNumber,formatPhoneNumber,getGMTOffset,truncateString}from"../chunk-ZL7J6GTP.js";import"../chunk-EUANTHVN.js";import"../chunk-OWV2P376.js";import"../chunk-MISCBZJC.js";import"../chunk-KOVO72OM.js";import"../chunk-T4CIAKEK.js";import"../chunk-WVSPXFTY.js";import"../chunk-BHIBDDQF.js";import"../chunk-QNKGP5DY.js";import"../chunk-EW3I4O7X.js";
@@ -1 +0,0 @@
1
- "use strict";var e=require("../chunk-FV7SEBKD.cjs"),r=require("../chunk-5C2SMIGX.cjs");require("../chunk-DVMHRLKP.cjs"),require("../chunk-ZHV5ZYVN.cjs"),require("../chunk-UDA26MCU.cjs"),require("../chunk-D3VSHABU.cjs"),Object.defineProperty(exports,"getRandomItem",{enumerable:!0,get:function(){return e.getRandomItem}}),Object.defineProperty(exports,"randomInt",{enumerable:!0,get:function(){return e.randomInt}}),Object.defineProperty(exports,"randomIntByLength",{enumerable:!0,get:function(){return e.randomIntByLength}}),Object.defineProperty(exports,"randomStr",{enumerable:!0,get:function(){return e.randomStr}}),Object.defineProperty(exports,"noop",{enumerable:!0,get:function(){return r.noop}});
@@ -1 +0,0 @@
1
- export{getRandomItem,randomInt,randomIntByLength,randomStr}from"../chunk-3YCFMGRB.js";export{noop}from"../chunk-FIAAX3UE.js";import"../chunk-WVSPXFTY.js";import"../chunk-BHIBDDQF.js";import"../chunk-QNKGP5DY.js";import"../chunk-EW3I4O7X.js";
@@ -1,28 +0,0 @@
1
- import{P as Prettify}from'./prettify-C4xLcYOP.js';
2
- /** --------------------------------------------------
3
- * * ***OmitStrict.***
4
- * --------------------------------------------------
5
- * Strictly omits keys `K` from type `T`, with optional flattening for readability using `Prettify`.
6
- *
7
- * ✅ Enhances autocomplete and type inspection clarity in editors.
8
- * ✅ Optionally flattens nested intersections or mapped types into a cleaner shape.
9
- *
10
- * @template T - The original object type.
11
- * @template K - The keys to omit from `T`.
12
- * @template WithPrettify - Whether to prettify the result (default is `true`).
13
- * @template WithPrettifyRecursive - Whether to prettify nested object properties recursively (default is `true`).
14
- *
15
- * @example
16
- * ```ts
17
- * type A = { a: number; b: string; c: boolean };
18
- * type B = OmitStrict<A, 'b'>;
19
- * // ➔ { a: number; c: boolean }
20
- *
21
- * type C = OmitStrict<A, 'b', false>;
22
- * // ➔ Omit without prettifying, keeps intersection structure
23
- *
24
- * type D = OmitStrict<A, 'b', true, false>;
25
- * // ➔ Prettifies only top level, does not recurse into nested objects
26
- * ```
27
- */
28
- type OmitStrict<T,K extends keyof T,WithPrettify extends boolean=true,WithPrettifyRecursive extends boolean=true>=WithPrettify extends true?Prettify<Omit<T,K>,{recursive:WithPrettifyRecursive;}>:WithPrettify extends false?Omit<T,K>:never;export type{OmitStrict as O};
@@ -1,353 +0,0 @@
1
- import{I as If}from'./if-CvT4R7Kh.js';import{A as AnyFunction,N as NonPlainObject}from'./type-data-DDs-u2kq.js';import{I as IsNever}from'./never-BfayMBF9.js';
2
- /** -------------------------------------------------------
3
- * * ***IsArrayOrTuple.***
4
- * -------------------------------------------------------
5
- * Checks if a given type `T` is an array or tuple type.
6
- * This includes both mutable (`T[]`) and readonly (`readonly T[]`) arrays.
7
- *
8
- * @template T - The type to check.
9
- * @example
10
- * // truthy
11
- * type A = IsArrayOrTuple<string[]>;
12
- * // ➔ true
13
- * type B = IsArrayOrTuple<readonly [string, number]>;
14
- * // ➔ true
15
- *
16
- * // falsy
17
- * type C = IsArrayOrTuple<string>; // ➔ false
18
- */
19
- type IsArrayOrTuple<T>=T extends readonly any[]?true:false;
20
- /** -------------------------------------------------------
21
- * * ***IsConstructor.***
22
- * -------------------------------------------------------
23
- * Checks if a given type `T` is a constructor type (`new () => any`).
24
- *
25
- * @template T - The type to check.
26
- * @returns `true` if `T` is a constructor, otherwise `false`.
27
- * @example
28
- * class MyClass {}
29
- * type A = IsConstructor<typeof MyClass>;
30
- * // ➔ true
31
- * type B = IsConstructor<() => void>;
32
- * // ➔ false
33
- */
34
- type IsConstructor<T>=T extends abstract new(...args:any[])=>any?true:false;
35
- /** -------------------------------------------------------
36
- * * ***IsFunction.***
37
- * -------------------------------------------------------
38
- * Checks if a given type `T` is a callable function type.
39
- *
40
- * @template T - The type to check.
41
- * @example
42
- * type A = IsFunction<() => void>; // ➔ true
43
- * type B = IsFunction<string>; // ➔ false
44
- */
45
- type IsFunction<T>=T extends AnyFunction?true:false;
46
- /** -------------------------------------------------------
47
- * * ***Primitive.***
48
- * -------------------------------------------------------
49
- *
50
- * Represents **all primitive types in JavaScript/TypeScript**,
51
- * including their literal variants.
52
- *
53
- * This type matches:
54
- * - Core primitive types: `string`, `number`, `boolean`, `bigint`, `symbol`, `null`, `undefined`
55
- * - Literal counterparts: `"foo"`, `42`, `true`, etc.
56
- *
57
- * ⚠️ Note:
58
- * - Unlike some definitions, this does **not** include `void` or `never`,
59
- * since they are TypeScript-specific keywords, not runtime primitives.
60
- *
61
- * @example
62
- * ```ts
63
- * type A = Primitive; // any strict primitive type
64
- * type B = "hello" extends Primitive ? true : false; // true
65
- * type C = void extends Primitive ? true : false; // false
66
- * ```
67
- */
68
- type Primitive=string|number|bigint|boolean|symbol|null|undefined;
69
- /** -------------------------------------------------------
70
- * * ***IsPrimitive.***
71
- * -------------------------------------------------------
72
- *
73
- * Checks if a given type `T` is a **strict primitive type** in JavaScript/TypeScript,
74
- * including literal variants.
75
- * This excludes `void` and `never`.
76
- *
77
- * Includes:
78
- * - `string`, `number`, `bigint`, `boolean`, `symbol`, `null`, `undefined`.
79
- * - Literal types like `"foo"`, `42`, `true`.
80
- *
81
- * Excludes:
82
- * - `void` (absence of value)
83
- * - `never` (impossible type)
84
- * - `object`, `unknown`, `Date`, `arrays`, `functions`, etc.
85
- *
86
- * @template T - The type to check
87
- *
88
- * @example
89
- * ```ts
90
- * type A = IsPrimitive<"foo">; // true
91
- * type B = IsPrimitive<null>; // true
92
- * type C = IsPrimitive<number>; // true
93
- * type D = IsPrimitive<undefined>; // true
94
- * type E = IsPrimitive<{}>; // false
95
- * type F = IsPrimitive<void>; // false
96
- * type G = IsPrimitive<never>; // false
97
- * type H = IsPrimitive<unknown>; // false
98
- * type I = IsPrimitive<object>; // false
99
- * type J = IsPrimitive<Date>; // false
100
- * type K = IsPrimitive<[]>; // false
101
- * type L = IsPrimitive<() => void>; // false
102
- * ```
103
- */
104
- type IsPrimitive<T>=IsNever<T>extends true?false:T extends Primitive?true:false;
105
- /** -------------------------------------------------------
106
- * * ***IsRealPrimitive.***
107
- * -------------------------------------------------------
108
- *
109
- * Checks if a given type `T` is a **real primitive type** in JavaScript/TypeScript,
110
- * based on runtime behavior, **excluding `null`** but including `undefined`.
111
- *
112
- * Includes:
113
- * - `string`, `number`, `bigint`, `boolean`, `symbol`, `undefined`
114
- * - Literal types like `"foo"`, `42`, `true`
115
- *
116
- * Excludes:
117
- * - `null`
118
- * - `never` (impossible type)
119
- * - Objects, arrays, functions, `Date`, `unknown`, etc.
120
- *
121
- * ⚠️ Note:
122
- * - This aligns with runtime `typeof` checks in JS: `typeof null === "object"`,
123
- * so `null` is excluded from **“real primitives”**.
124
- *
125
- * @template T - The type to check.
126
- *
127
- * @example
128
- * ```ts
129
- * type A = IsRealPrimitive<42>; // true
130
- * type B = IsRealPrimitive<string>; // true
131
- * type C = IsRealPrimitive<boolean>; // true
132
- * type D = IsRealPrimitive<undefined>; // true
133
- * type E = IsRealPrimitive<{}>; // false
134
- * type F = IsRealPrimitive<[]>; // false
135
- * type G = IsRealPrimitive<null>; // false
136
- * type H = IsRealPrimitive<Date>; // false
137
- * type I = IsRealPrimitive<() => void>; // false
138
- * ```
139
- */
140
- type IsRealPrimitive<T>=T extends Exclude<Primitive,null>?true:false;
141
- /**
142
- * Applies readonly behavior according to mode.
143
- */
144
- type ApplyReadonlyMode<T,Mode extends PrettifyOptions["readonlyMode"]>=Mode extends"remove"?{-readonly [K in keyof T]:T[K];}:Mode extends"preserve"?{readonly [K in keyof T]:T[K];}:{[K in keyof T]:T[K];};
145
- /** -------------------------------------------------------
146
- * * ***PrettifyOptions***
147
- * -------------------------------------------------------
148
- *
149
- * Options for customizing the behavior of the {@link Prettify} type.
150
- */
151
- type PrettifyOptions={
152
- /** -------------------------------------------------------
153
- * * ***recursive***
154
- * -------------------------------------------------------
155
- *
156
- * Enables **deep prettification** of types when set to `true`.
157
- *
158
- * By default (`false`), {@link Prettify} only flattens the **top-level shape**
159
- * of objects and intersections. Nested objects, arrays, and tuples remain as-is
160
- * unless this option is enabled.
161
- *
162
- * ⚡ Behavior when `true`:
163
- * - **Plain objects**: Nested intersections are expanded recursively.
164
- * - **Arrays & tuples**: Each element type is recursively prettified.
165
- * - **Readonly handling**: Nested properties respect the `readonlyMode` option.
166
- * - **Functions, constructors, and built-in objects** (Set, Map, Date, Promise, etc.)
167
- * are **not** affected or expanded.
168
- * - **Nested intersections**: Combined properties are flattened recursively.
169
- *
170
- * ⚠️ Notes:
171
- * - Recursive mode only applies to **plain objects**, **arrays**, and **tuples**.
172
- * - Readonly modifiers on nested properties follow the `readonlyMode` rules:
173
- * - `"auto"` → keep as-is
174
- * - `"remove"` → strip readonly
175
- * - `"preserve"` → make readonly
176
- * - Arrays and tuples maintain `readonly` if the original type is `readonly` and `readonlyMode` is `"auto"` or `"preserve"`.
177
- *
178
- * @default false
179
- *
180
- * @example
181
- * ```ts
182
- * type Nested = {
183
- * a: {
184
- * readonly b: { c: number } & { d: string }
185
- * } & { e: boolean };
186
- * list: readonly ({ id: number } & { name: string })[];
187
- * set: Set<{ x: number } & { y: string }>;
188
- * };
189
- *
190
- * // Top-level only (default)
191
- * type Shallow = Prettify<Nested>;
192
- * // ➔ {
193
- * // a: { readonly b: { c: number } & { d: string } } & { e: boolean };
194
- * // list: readonly ({ id: number } & { name: string })[];
195
- * // set: Set<{ x: number } & { y: string }>;
196
- * // }
197
- *
198
- * // Fully recursive flatten
199
- * type Deep = Prettify<Nested, { recursive: true }>;
200
- * // ➔ {
201
- * // a: { readonly b: { c: number; d: string }; e: boolean };
202
- * // list: readonly { id: number; name: string }[];
203
- * // set: Set<{ x: number } & { y: string }>; // built-in ignored
204
- * // }
205
- * ```
206
- */
207
- recursive?:boolean;
208
- /** -------------------------------------------------------
209
- * * ***readonlyMode***
210
- * -------------------------------------------------------
211
- *
212
- * Determines how `readonly` modifiers are applied to properties
213
- * when using {@link Prettify}.
214
- *
215
- * Modes:
216
- * - `"auto"` → Keep `readonly` exactly as in the original type (default).
217
- * - `"remove"` → Remove all `readonly` modifiers.
218
- * - `"preserve"` → Make all properties `readonly`.
219
- *
220
- * ⚡ Behavior:
221
- * - Applies to both **top-level** and **nested properties** (if `recursive` is `true`).
222
- * - Arrays and tuples preserve or adjust `readonly` according to the selected mode:
223
- * - `"auto"` → preserve array/tuple readonly as-is.
224
- * - `"remove"` → array/tuple becomes mutable.
225
- * - `"preserve"` → array/tuple becomes readonly.
226
- * - Functions, constructors, and built-in objects (Set, Map, Date, Promise, etc.) are **not affected**.
227
- * - Nested intersections respect `readonlyMode` recursively if `recursive` is enabled.
228
- *
229
- * ⚠️ Notes:
230
- * - For nested objects, `readonly` behavior only changes if `recursive: true`.
231
- * - `readonlyMode` does **not** override `readonly` on function parameters, methods, or constructors.
232
- *
233
- * @default "auto"
234
- *
235
- * @example
236
- * ```ts
237
- * type T = { readonly a: number; b: string };
238
- *
239
- * // Default: auto
240
- * type Auto = Prettify<T, { readonlyMode: "auto" }>;
241
- * // ➔ { readonly a: number; b: string }
242
- *
243
- * // Remove readonly
244
- * type Remove = Prettify<T, { readonlyMode: "remove" }>;
245
- * // ➔ { a: number; b: string }
246
- *
247
- * // Force all readonly
248
- * type Preserve = Prettify<T, { readonlyMode: "preserve" }>;
249
- * // ➔ { readonly a: number; readonly b: string }
250
- *
251
- * // Recursive + preserve
252
- * type Nested = {
253
- * config: { readonly port: number } & { host: string }
254
- * };
255
- * type RecursivePreserve = Prettify<Nested, { recursive: true; readonlyMode: "preserve" }>;
256
- * // ➔ { readonly config: { readonly port: number; readonly host: string } }
257
- * ```
258
- */
259
- readonlyMode?:Extract<"auto"|"remove"|"preserve",string>;};
260
- /** -------------------------------------------------------
261
- * * ***DefaultPrettifyOptions***
262
- * -------------------------------------------------------
263
- *
264
- * Default options {@link Prettify} used when no custom options are provided.
265
- */
266
- type DefaultPrettifyOptions={recursive:false;readonlyMode:"auto";};type MergeReadonlyIntersection<T>=T extends readonly any[]?T:T extends object?{[K in keyof T]:T[K];}:T;
267
- /** -------------------------------------------------------
268
- * * ***Prettify.***
269
- * -------------------------------------------------------
270
- * Flattens and simplifies complex TypeScript types into a more
271
- * human-readable form, by forcing the compiler to expand intersections.
272
- *
273
- * By default, only the **top-level shape** of an object is flattened.
274
- * To also prettify **nested objects**, set the `recursive` option.
275
- *
276
- * ⚠️ Note:
277
- * - `recursive: true` only affects **plain objects** and **arrays/tuples**.
278
- * - Built-in objects like `Set`, `Map`, `Date`, `Promise`, etc.
279
- * will **not** be recursively prettified.
280
- * - `readonly` handling is controlled via the `readonlyMode` option.
281
- *
282
- * ℹ️ Options:
283
- * - `recursive?: boolean` (default: `false`)
284
- * - Whether to recursively expand nested objects and intersections.
285
- * - `readonlyMode?: "auto" | "remove" | "preserve"` (default: `"auto"`)
286
- * - How `readonly` modifiers are treated:
287
- * - `"auto"` → preserve `readonly` as-is (default).
288
- * - `"remove"` → strip all `readonly`.
289
- * - `"preserve"` → enforce `readonly` everywhere.
290
- * @template T - The type to prettify.
291
- * @template Options - Configuration options.
292
- *
293
- * @example
294
- * ```ts
295
- * // --- Top-level only (default) ---
296
- * type T0 = Prettify<{ a: number } & { b: string }>;
297
- * // ➔ { a: number; b: string }
298
- *
299
- * // --- Recursive expansion of nested objects ---
300
- * type T1 = Prettify<
301
- * { a: { x: number } & { y: string } } & { b: boolean },
302
- * { recursive: true }
303
- * >;
304
- * // ➔ { a: { x: number; y: string }; b: boolean }
305
- *
306
- * // --- Readonly handling modes ---
307
- * type T2 = { readonly id: number; name: string };
308
- *
309
- * type R1 = Prettify<T2>;
310
- * // (default: readonlyMode = "auto")
311
- * // ➔ { readonly id: number; name: string }
312
- *
313
- * type R2 = Prettify<T2, { readonlyMode: "remove" }>;
314
- * // ➔ { id: number; name: string }
315
- *
316
- * type R3 = Prettify<T2, { readonlyMode: "preserve" }>;
317
- * // ➔ { readonly id: number; readonly name: string }
318
- *
319
- * // --- Readonly + mutable intersection ---
320
- * type T3 = Prettify<{ readonly a: number } & { a: number; b: boolean }>;
321
- * // ➔ { a: number; b: boolean }
322
- * // (in "auto" mode, readonly lose over mutable)
323
- *
324
- * // --- Nested readonly with recursive ---
325
- * type T4 = Prettify<
326
- * { config: { readonly port: number } & { host: string } },
327
- * { recursive: true }
328
- * >;
329
- * // ➔ { config: { readonly port: number; host: string } }
330
- *
331
- * // --- Arrays with readonly ---
332
- * type T5 = Prettify<
333
- * { list: readonly ({ id: number } & { name: string })[] },
334
- * { recursive: true }
335
- * >;
336
- * // (readonly on array is preserved in "auto" mode)
337
- * // ➔ { list: readonly { id: number; name: string }[] }
338
- *
339
- * type T6 = Prettify<
340
- * { list: readonly ({ id: number } & { name: string })[] },
341
- * { recursive: true; readonlyMode: "remove" }
342
- * >;
343
- * // ➔ { list: { id: number; name: string }[] }
344
- *
345
- * // --- Built-in objects are ignored (not expanded) ---
346
- * type T7 = Prettify<
347
- * { s: Set<{ a: number } & { b: string }> },
348
- * { recursive: true }
349
- * >;
350
- * // ➔ { s: Set<{ a: number } & { b: string }> }
351
- * ```
352
- */
353
- type Prettify<T,Options extends PrettifyOptions=DefaultPrettifyOptions>=IsPrimitive<T>extends true?T:IsFunction<T>extends true?T:IsConstructor<T>extends true?T:IsArrayOrTuple<T>extends true?ApplyReadonlyMode<{[K in keyof T]:If<Options["recursive"],Prettify<T[K],Options>,T[K]>;},Options["readonlyMode"]>:T extends NonPlainObject?T:T extends object?ApplyReadonlyMode<MergeReadonlyIntersection<{[K in keyof T]:If<Options["recursive"],Prettify<T[K],Options>,T[K]>;}>,Options["readonlyMode"]>:T;export type{DefaultPrettifyOptions as D,IsArrayOrTuple as I,Prettify as P,PrettifyOptions as a,IsConstructor as b,IsFunction as c,IsPrimitive as d,IsRealPrimitive as e,Primitive as f};
@@ -1 +0,0 @@
1
- "use strict";var e=require("../chunk-JFJUPYDT.cjs");require("../chunk-DVMHRLKP.cjs"),require("../chunk-ZHV5ZYVN.cjs"),require("../chunk-UDA26MCU.cjs"),require("../chunk-D3VSHABU.cjs"),Object.defineProperty(exports,"delay",{enumerable:!0,get:function(){return e.delay}});
@@ -1,31 +0,0 @@
1
- /** ------------------------------------------------------------
2
- * * ***Utility: `delay`.***
3
- * ------------------------------------------------------------
4
- * **Creates a Promise-based delay that resolves after a given number
5
- * of milliseconds, optionally supports cancellation with `AbortSignal`.**
6
- * - **Behavior:**
7
- * - Validates `milliSeconds` is a non-zero, non-negative integer.
8
- * - Validates `signal` is an `AbortSignal` instance when provided.
9
- * - Cleans up event listeners and timers properly.
10
- * @param {number} [milliSeconds=1000]
11
- * The duration of the delay in milliseconds, default is `1000`.
12
- * @param {AbortSignal} [signal]
13
- * An optional `AbortSignal` that can cancel the delay.
14
- * @returns {Promise<void>}
15
- * A promise that resolves after the specified delay or
16
- * rejects with an `AbortError` if aborted.
17
- * @throws {TypeError} Validates `milliSeconds` and `signal`:
18
- * - If `milliSeconds` **is not a valid** an `integer-number`, `NaN`, `negative-number`, or `≤ 0`.
19
- * - If `signal` **is not a valid** an`AbortSignal`.
20
- * @throws {DOMException}
21
- * If the delay is aborted using the signal, rejects with `"AbortError"`.
22
- * @example
23
- * // Waits for 2 seconds
24
- * await delay(2000);
25
- *
26
- * // Delay with AbortSignal
27
- * const controller = new AbortController();
28
- * delay(5000, controller.signal).catch(err => console.log(err.name)); // "AbortError"
29
- * controller.abort();
30
- */
31
- declare const delay:(milliSeconds?:number,signal?:AbortSignal)=>Promise<void>;export{delay};
@@ -1 +0,0 @@
1
- export{delay}from"../chunk-XZJ7C4N6.js";import"../chunk-WVSPXFTY.js";import"../chunk-BHIBDDQF.js";import"../chunk-QNKGP5DY.js";import"../chunk-EW3I4O7X.js";