@rzl-zone/utils-js 2.1.0 → 3.0.0-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/dist/NumberRangeUnion-DC-C3_Kq.d.ts +26 -0
- package/dist/any-BmdI8UbK.d.ts +67 -0
- package/dist/array-CIZRbqTF.d.ts +223 -0
- package/dist/arrays-normalize-recursive-CnjYJ9xg.d.ts +72 -0
- package/dist/assertions/index.cjs +1 -0
- package/dist/assertions/index.d.ts +428 -0
- package/dist/assertions/index.js +1 -0
- package/dist/chunk-2TRAPBZ7.cjs +1 -0
- package/dist/chunk-3D74QO5D.cjs +1 -0
- package/dist/chunk-4DK3RCC4.js +2 -0
- package/dist/chunk-4JOQ45HL.js +1 -0
- package/dist/chunk-55CZALRS.js +1 -0
- package/dist/chunk-56QBKKRE.js +1 -0
- package/dist/chunk-5JFV3GDE.cjs +4 -0
- package/dist/chunk-5SZUSNGZ.js +1 -0
- package/dist/chunk-62HX5Z45.cjs +1 -0
- package/dist/chunk-7NA6DUHR.cjs +2 -0
- package/dist/chunk-7YWAQOA4.cjs +1 -0
- package/dist/chunk-BVPMMWDL.cjs +1 -0
- package/dist/chunk-BYZAD3XN.cjs +1 -0
- package/dist/chunk-CEFYHEM4.cjs +1 -0
- package/dist/chunk-CN53M4QZ.cjs +1 -0
- package/dist/chunk-D47MHBSD.cjs +1 -0
- package/dist/chunk-DGH75GJD.js +1 -0
- package/dist/chunk-E5NUI7PN.js +1 -0
- package/dist/chunk-ELDDNERR.js +1 -0
- package/dist/chunk-EXZ47NOW.js +1 -0
- package/dist/chunk-FDITZ5C6.cjs +1 -0
- package/dist/chunk-FF76ISQ2.js +1 -0
- package/dist/chunk-FIEZKTAZ.cjs +1 -0
- package/dist/chunk-FSSV24W7.cjs +1 -0
- package/dist/chunk-G5LXIEFO.js +0 -0
- package/dist/chunk-GCGU2WB7.js +1 -0
- package/dist/chunk-GECI2YBP.js +1 -0
- package/dist/chunk-GQE4OVHC.cjs +1 -0
- package/dist/chunk-GRVZXQXL.cjs +1 -0
- package/dist/chunk-I4AVNHPA.cjs +1 -0
- package/dist/chunk-JFRL7NKU.js +4 -0
- package/dist/chunk-JWHM3WZQ.cjs +1 -0
- package/dist/chunk-KCQDDZJE.cjs +1 -0
- package/dist/chunk-L54ZPSYJ.js +1 -0
- package/dist/chunk-LVKAYEZ4.js +1 -0
- package/dist/chunk-MBDWTK54.cjs +1 -0
- package/dist/chunk-MMSYCIJ2.cjs +1 -0
- package/dist/chunk-MNGGDB2G.js +1 -0
- package/dist/chunk-MY7BA4GI.cjs +1 -0
- package/dist/chunk-N2IJPIND.cjs +1 -0
- package/dist/chunk-NIMNTEGV.js +1 -0
- package/dist/chunk-NNM7QCNB.js +1 -0
- package/dist/chunk-PUQXRLZH.cjs +1 -0
- package/dist/chunk-PVJF2JHM.js +1 -0
- package/dist/chunk-QCFXEUKL.js +1 -0
- package/dist/chunk-QFCGBBSY.js +1 -0
- package/dist/chunk-QQYAUPSK.cjs +1 -0
- package/dist/chunk-RN3TP3S3.js +1 -0
- package/dist/chunk-RV2VULM7.cjs +1 -0
- package/dist/chunk-SW6HYEW7.cjs +1 -0
- package/dist/chunk-SYJC7UAW.js +1 -0
- package/dist/chunk-TC4VBE4Y.cjs +1 -0
- package/dist/chunk-TUXDINHF.cjs +1 -0
- package/dist/chunk-U5Y2FXMN.cjs +1 -0
- package/dist/chunk-UUPQI6ND.cjs +1 -0
- package/dist/chunk-VYCGZ2S6.js +1 -0
- package/dist/chunk-W5EDKJK3.js +1 -0
- package/dist/chunk-WHAVUFEU.js +1 -0
- package/dist/chunk-XCFIOTCV.js +1 -0
- package/dist/chunk-XE27XPJR.js +1 -0
- package/dist/chunk-XH6MCRLP.js +1 -0
- package/dist/chunk-XVB3ZZEB.js +1 -0
- package/dist/chunk-ZBSIGJFO.cjs +1 -0
- package/dist/chunk-ZYAML74V.js +1 -0
- package/dist/conversions/index.cjs +1 -0
- package/dist/conversions/index.d.ts +1633 -0
- package/dist/conversions/index.js +1 -0
- package/dist/env/index.cjs +1 -0
- package/dist/env/index.d.ts +19 -0
- package/dist/env/index.js +1 -0
- package/dist/events/index.cjs +1 -0
- package/dist/events/index.d.ts +119 -0
- package/dist/events/index.js +1 -0
- package/dist/extends-Mp81Hq9-.d.ts +145 -0
- package/dist/formatting/index.cjs +1 -0
- package/dist/formatting/index.d.ts +912 -0
- package/dist/formatting/index.js +1 -0
- package/dist/generator/index.cjs +1 -0
- package/dist/generator/index.d.ts +163 -0
- package/dist/generator/index.js +1 -0
- package/dist/if-CvT4R7Kh.d.ts +18 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -4334
- package/dist/index.js +1 -1
- package/dist/is-array-Ckm_47hw.d.ts +1557 -0
- package/dist/isPlainObject-BKYaI6a8.d.ts +182 -0
- package/dist/never-BfayMBF9.d.ts +75 -0
- package/dist/next/index.cjs +8 -1
- package/dist/next/index.d.ts +169 -169
- package/dist/next/index.js +8 -1
- package/dist/next/server/index.cjs +2 -1
- package/dist/next/server/index.d.ts +37 -37
- package/dist/next/server/index.js +2 -1
- package/dist/nils-DMz3kU7M.d.ts +177 -0
- package/dist/omit-VvmIsZmX.d.ts +28 -0
- package/dist/operations/index.cjs +1 -0
- package/dist/operations/index.d.ts +182 -0
- package/dist/operations/index.js +1 -0
- package/dist/parsers/index.cjs +1 -0
- package/dist/parsers/index.d.ts +37 -0
- package/dist/parsers/index.js +1 -0
- package/dist/predicates/index.cjs +1 -0
- package/dist/predicates/index.d.ts +1839 -0
- package/dist/predicates/index.js +1 -0
- package/dist/prettify-C4xLcYOP.d.ts +353 -0
- package/dist/promise/index.cjs +1 -0
- package/dist/promise/index.d.ts +40 -0
- package/dist/promise/index.js +1 -0
- package/dist/rzl-utils.global.js +4 -1
- package/dist/strings/index.cjs +1 -0
- package/dist/strings/index.d.ts +816 -0
- package/dist/strings/index.js +1 -0
- package/dist/stylings/index.cjs +1 -0
- package/dist/stylings/index.d.ts +49 -0
- package/dist/stylings/index.js +1 -0
- package/dist/type-data-DDs-u2kq.d.ts +261 -0
- package/dist/types/index.d.ts +3589 -2090
- package/dist/urls/index.cjs +1 -0
- package/dist/urls/index.d.ts +418 -0
- package/dist/urls/index.js +1 -0
- package/package.json +147 -21
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{b as getInitialsName,a as replaceAt}from'../chunk-LVKAYEZ4.js';export{a as normalizeSpaces,b as normalizeString,c as removeSpaces,d as stripHtmlTags}from'../chunk-GECI2YBP.js';import'../chunk-NIMNTEGV.js';export{s as capitalizeFirst,t as capitalizeWords,B as slugify,u as toCamelCase,A as toDotCase,y as toKebabCase,x as toLowerCase,w as toPascalCase,v as toPascalCaseSpace,z as toSnakeCase}from'../chunk-XCFIOTCV.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkMY7BA4GI_cjs=require('../chunk-MY7BA4GI.cjs');require('../chunk-62HX5Z45.cjs'),require('../chunk-CN53M4QZ.cjs');Object.defineProperty(exports,"shouldForwardProp",{enumerable:true,get:function(){return chunkMY7BA4GI_cjs.a}});
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a union type into an intersection type.
|
|
3
|
+
*
|
|
4
|
+
* @template U - The union type to be converted.
|
|
5
|
+
*/
|
|
6
|
+
type UnionToIntersectionStrict<U>=(U extends never?never:(arg:U)=>never)extends(arg:infer I)=>void?I:never;
|
|
7
|
+
/**
|
|
8
|
+
* Converts a union type into a tuple type.
|
|
9
|
+
*
|
|
10
|
+
* @template T - The union type to be converted.
|
|
11
|
+
*/
|
|
12
|
+
type UnionToTupleStrict<T>=UnionToIntersectionStrict<T extends never?never:(t:T)=>T>extends(_:never)=>infer W?[...UnionToTupleStrict<Exclude<T,W>>,W]:[];
|
|
13
|
+
/** ----------------------------------------------------------
|
|
14
|
+
* * ***Creates a helper for styled-components `shouldForwardProp`.***
|
|
15
|
+
* ----------------------------------------------------------
|
|
16
|
+
*
|
|
17
|
+
* @description
|
|
18
|
+
* This utility returns a predicate function that determines
|
|
19
|
+
* whether a given prop should be forwarded to the DOM.
|
|
20
|
+
* Useful for filtering out internal props (e.g., `$size`, `$active`)
|
|
21
|
+
* so they don't end up as invalid HTML attributes.
|
|
22
|
+
*
|
|
23
|
+
* - Accepts a tuple (strict) of prop keys to exclude from forwarding.
|
|
24
|
+
* - Automatically coerces prop names to string for consistent checking.
|
|
25
|
+
* - Supports string, number, or symbol keys (via PropertyKey).
|
|
26
|
+
* - Will throw an error if the provided `props` argument is not an array.
|
|
27
|
+
*
|
|
28
|
+
* @template CustomProps - The type of the component's props.
|
|
29
|
+
* @param {UnionToTupleStrict<keyof CustomProps>} props
|
|
30
|
+
* The list of prop names (keys of `CustomProps`) to exclude from forwarding.
|
|
31
|
+
*
|
|
32
|
+
* @returns {(propName: PropertyKey) => boolean}
|
|
33
|
+
* A function that takes a prop name and returns `true` if it should be forwarded, `false` if it should be blocked.
|
|
34
|
+
*
|
|
35
|
+
* @throws {Error} If `props` is not an array.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* type Props = { $size: string; color: string; visible: boolean };
|
|
39
|
+
* const filter = shouldForwardProp<Props>(["$size"]);
|
|
40
|
+
* filter("$size"); // false (blocked)
|
|
41
|
+
* filter("color"); // true (forwarded)
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* // Using with styled-components:
|
|
45
|
+
* styled.div.withConfig({
|
|
46
|
+
* shouldForwardProp: shouldForwardProp<CustomProps>(["$internal"])
|
|
47
|
+
* })
|
|
48
|
+
*/
|
|
49
|
+
declare const shouldForwardProp:<CustomProps>(props:Partial<UnionToTupleStrict<keyof CustomProps>>)=>((propName:keyof CustomProps)=>boolean);export{shouldForwardProp};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as shouldForwardProp}from'../chunk-FF76ISQ2.js';import'../chunk-QFCGBBSY.js';import'../chunk-XCFIOTCV.js';
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/** --------------------------------------------------
|
|
2
|
+
* * ***AnyFunction.***
|
|
3
|
+
* --------------------------------------------------
|
|
4
|
+
* A generic type representing **any function**
|
|
5
|
+
* with any arguments and any return type.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const fn: AnyFunction = (a, b) => a + b;
|
|
9
|
+
* fn(1, 2);
|
|
10
|
+
* // ➔ 3
|
|
11
|
+
*/
|
|
12
|
+
type AnyFunction=(...args:any[])=>any;
|
|
13
|
+
/** --------------------------------------------------
|
|
14
|
+
* * ***Represents Node.js built-in core objects.***
|
|
15
|
+
* --------------------------------------------------
|
|
16
|
+
*
|
|
17
|
+
* Includes commonly used Node.js core classes/objects
|
|
18
|
+
* that are not plain objects.
|
|
19
|
+
*
|
|
20
|
+
* Examples:
|
|
21
|
+
* - `Buffer`
|
|
22
|
+
* - `EventEmitter`
|
|
23
|
+
* - `Stream`
|
|
24
|
+
* - `URL`
|
|
25
|
+
* - `process`
|
|
26
|
+
*
|
|
27
|
+
* ❌ Excludes plain objects (`{}`) and primitives.
|
|
28
|
+
*
|
|
29
|
+
* ⚠️ Note:
|
|
30
|
+
* This is **not exhaustive** because Node.js has
|
|
31
|
+
* many built-in modules, but it covers the main
|
|
32
|
+
* runtime objects often encountered.
|
|
33
|
+
*/
|
|
34
|
+
type NodeBuiltins=Buffer|NodeJS.EventEmitter|NodeJS.ReadableStream|NodeJS.WritableStream|NodeJS.Process|URL;
|
|
35
|
+
/** --------------------------------------------------
|
|
36
|
+
* * ***DataTypes.***
|
|
37
|
+
* --------------------------------------------------
|
|
38
|
+
* Represents a broad union of commonly used JavaScript data types.
|
|
39
|
+
*
|
|
40
|
+
* ✅ Includes:
|
|
41
|
+
* - Primitive types
|
|
42
|
+
* - `object`
|
|
43
|
+
* - `null`
|
|
44
|
+
* - `undefined`
|
|
45
|
+
* - `symbol`
|
|
46
|
+
* - Any function signature
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* function isValidType(value: DataTypes): boolean {
|
|
51
|
+
* return value !== undefined && value !== null;
|
|
52
|
+
* }
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
type DataTypes=bigint|boolean|AnyFunction|null|number|object|string|symbol|undefined;
|
|
56
|
+
/** --------------------------------------------------
|
|
57
|
+
* * ***DeepReplaceType.***
|
|
58
|
+
* --------------------------------------------------
|
|
59
|
+
* Recursively traverses an array, tuple, or object (including nested structures)
|
|
60
|
+
* and replaces all values of type `Target` with `NewType`.
|
|
61
|
+
*
|
|
62
|
+
* ✅ Useful for remapping deeply nested arrays, tuples, or records.
|
|
63
|
+
*
|
|
64
|
+
* @template Arr - The input array, tuple, or object.
|
|
65
|
+
* @template Target - The type to match and replace.
|
|
66
|
+
* @template NewType - The new type to assign to matched values.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* // Simple tuple
|
|
71
|
+
* type A = [number, string, [number]];
|
|
72
|
+
* type B = DeepReplaceType<A, number, boolean>;
|
|
73
|
+
* // ➔ [boolean, string, [boolean]]
|
|
74
|
+
*
|
|
75
|
+
* // Nested object
|
|
76
|
+
* type Obj = { a: number; b: { c: number; d: string } };
|
|
77
|
+
* type ObjReplaced = DeepReplaceType<Obj, number, boolean>;
|
|
78
|
+
* // ➔ { a: boolean; b: { c: boolean; d: string } }
|
|
79
|
+
*
|
|
80
|
+
* // Mixed array and object
|
|
81
|
+
* type Mixed = [{ x: number }, { y: string, z: number[] }];
|
|
82
|
+
* type MixedReplaced = DeepReplaceType<Mixed, number, boolean>;
|
|
83
|
+
* // ➔ [{ x: boolean }, { y: string, z: boolean[] }]
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
type DeepReplaceType<Arr,Target,NewType>=Arr extends Target?NewType:Arr extends object?{[K in keyof Arr]:DeepReplaceType<Arr[K],Target,NewType>;}:Arr;
|
|
87
|
+
/** --------------------------------------------------
|
|
88
|
+
* * ***TypedArray.***
|
|
89
|
+
* --------------------------------------------------
|
|
90
|
+
* Represents all JavaScript **TypedArray** types used for binary data manipulation.
|
|
91
|
+
*
|
|
92
|
+
* Includes:
|
|
93
|
+
* - `Int8Array`
|
|
94
|
+
* - `Uint8Array`
|
|
95
|
+
* - `Uint8ClampedArray`
|
|
96
|
+
* - `Int16Array`
|
|
97
|
+
* - `Uint16Array`
|
|
98
|
+
* - `Int32Array`
|
|
99
|
+
* - `Uint32Array`
|
|
100
|
+
* - `Float32Array`
|
|
101
|
+
* - `Float64Array`
|
|
102
|
+
* - `BigInt64Array`
|
|
103
|
+
* - `BigUint64Array`
|
|
104
|
+
*/
|
|
105
|
+
type TypedArray=Int8Array|Uint8Array|Uint8ClampedArray|Int16Array|Uint16Array|Int32Array|Uint32Array|Float32Array|Float64Array|BigInt64Array|BigUint64Array;
|
|
106
|
+
/** --------------------------------------------------
|
|
107
|
+
* * ***WebApiObjects.***
|
|
108
|
+
* --------------------------------------------------
|
|
109
|
+
* Represents common **Web API objects** available in the browser.
|
|
110
|
+
*
|
|
111
|
+
* Includes:
|
|
112
|
+
* - URL: `URL`, `URLSearchParams`
|
|
113
|
+
* - Networking: `Request`, `Response`, `Headers`, `WebSocket`
|
|
114
|
+
* - Streams: `ReadableStream`, `WritableStream`, `TransformStream`
|
|
115
|
+
* - Events: `Event`, `CustomEvent`, `MessageChannel`, `MessagePort`, `MessageEvent`
|
|
116
|
+
* - DOM: `HTMLElement`, `Node`, `Document`, `Window`, `CanvasRenderingContext2D`
|
|
117
|
+
* - Encoding: `TextEncoder`, `TextDecoder`
|
|
118
|
+
* - File: `File`, `FileList`, `ImageBitmap`, `FormData`
|
|
119
|
+
* - Abort: `AbortController`, `AbortSignal`
|
|
120
|
+
* - Crypto: `CryptoKey`
|
|
121
|
+
*/
|
|
122
|
+
type WebApiObjects=URL|URLSearchParams|FormData|Headers|Response|Request|ReadableStream<any>|WritableStream<any>|TransformStream<any,any>|MessageChannel|MessagePort|MessageEvent|Event|CustomEvent|HTMLElement|Node|Document|Window|AbortController|AbortSignal|TextEncoder|TextDecoder|CryptoKey|File|FileList|ImageBitmap|CanvasRenderingContext2D|WebSocket;
|
|
123
|
+
/** --------------------------------------------------
|
|
124
|
+
* * ***IntlObjects.***
|
|
125
|
+
* --------------------------------------------------
|
|
126
|
+
* Represents all **ECMAScript Internationalization API** objects from `Intl`.
|
|
127
|
+
*
|
|
128
|
+
* Includes:
|
|
129
|
+
* - `Intl.Collator`
|
|
130
|
+
* - `Intl.DateTimeFormat`
|
|
131
|
+
* - `Intl.NumberFormat`
|
|
132
|
+
* - `Intl.RelativeTimeFormat`
|
|
133
|
+
* - `Intl.PluralRules`
|
|
134
|
+
* - `Intl.ListFormat`
|
|
135
|
+
* - `Intl.Locale`
|
|
136
|
+
*/
|
|
137
|
+
type IntlObjects=Intl.Collator|Intl.DateTimeFormat|Intl.NumberFormat|Intl.RelativeTimeFormat|Intl.PluralRules|Intl.ListFormat|Intl.Locale;
|
|
138
|
+
/** --------------------------------------------------
|
|
139
|
+
* * ***BoxedPrimitivesTypes.***
|
|
140
|
+
* --------------------------------------------------
|
|
141
|
+
* Represents JavaScript **boxed primitive objects** (object wrappers for primitive values).
|
|
142
|
+
*
|
|
143
|
+
* Boxed primitives are created using the `new` keyword on primitive wrapper constructors.
|
|
144
|
+
*
|
|
145
|
+
* ✅ **Includes (object wrappers):**
|
|
146
|
+
* - `new Number(123)` → `Number`
|
|
147
|
+
* - `new String("hello")` → `String`
|
|
148
|
+
* - `new Boolean(true)` → `Boolean`
|
|
149
|
+
*
|
|
150
|
+
* ❌ **Excludes (primitive values):**
|
|
151
|
+
* - `123` → `number`
|
|
152
|
+
* - `"hello"` → `string`
|
|
153
|
+
* - `true` → `boolean`
|
|
154
|
+
*
|
|
155
|
+
* ℹ️ **Note:**
|
|
156
|
+
* - These are **rarely used directly** in modern JavaScript/TypeScript.
|
|
157
|
+
* - However, they exist for completeness and are sometimes relevant
|
|
158
|
+
* when distinguishing between **primitive values** and **object wrappers**.
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```ts
|
|
162
|
+
* const a: BoxedPrimitivesTypes = new Number(123); // ✅ valid
|
|
163
|
+
* const b: BoxedPrimitivesTypes = new String("abc"); // ✅ valid
|
|
164
|
+
* const c: BoxedPrimitivesTypes = new Boolean(false); // ✅ valid
|
|
165
|
+
*
|
|
166
|
+
* // ❌ Not allowed (primitive values):
|
|
167
|
+
* // const x: BoxedPrimitivesTypes = 123;
|
|
168
|
+
* // const y: BoxedPrimitivesTypes = "abc";
|
|
169
|
+
* // const z: BoxedPrimitivesTypes = true;
|
|
170
|
+
* ```
|
|
171
|
+
*/
|
|
172
|
+
type BoxedPrimitivesTypes=Number|String|Boolean;
|
|
173
|
+
/** --------------------------------------------------
|
|
174
|
+
* * ***NonPlainObject.***
|
|
175
|
+
* --------------------------------------------------
|
|
176
|
+
* Represents all known **non-plain object types**,
|
|
177
|
+
* i.e., values that are **not** considered a "plain object" (`{ [key: string]: any }`).
|
|
178
|
+
*
|
|
179
|
+
* ✅ **Includes:**
|
|
180
|
+
* - **Functions**
|
|
181
|
+
* - **Arrays**
|
|
182
|
+
* - **Native objects:** `Date`, `RegExp`, `Map`, `Set`, `WeakMap`, `WeakSet`
|
|
183
|
+
* - **Built-in classes & APIs:** `Promise`, `Error`, `ArrayBuffer`, `DataView`
|
|
184
|
+
* - **Typed arrays:** `TypedArray`
|
|
185
|
+
* - **Browser & Node APIs:** `WebApiObjects`, `IntlObjects`, `NodeBuiltins`
|
|
186
|
+
* - **Symbols**
|
|
187
|
+
* - **Proxies** (wrapping any object)
|
|
188
|
+
* - The global **`Reflect`** object
|
|
189
|
+
*
|
|
190
|
+
* ❌ **Excludes:**
|
|
191
|
+
* - Plain objects (`{ foo: string }`, `Record<string, any>`)
|
|
192
|
+
* - `null` and `undefined`
|
|
193
|
+
*
|
|
194
|
+
* ℹ️ **Note:**
|
|
195
|
+
* Use this type when you need to differentiate **plain objects**
|
|
196
|
+
* from **all other object-like values**.
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```ts
|
|
200
|
+
* type A = NonPlainObject;
|
|
201
|
+
*
|
|
202
|
+
* const x: A = new Date(); // ✅ Allowed
|
|
203
|
+
* const y: A = [1, 2, 3]; // ✅ Allowed
|
|
204
|
+
* const z: A = Promise.resolve(123); // ✅ Allowed
|
|
205
|
+
*
|
|
206
|
+
* // ❌ Not allowed (plain object):
|
|
207
|
+
* // const bad: A = { foo: "bar" };
|
|
208
|
+
* ```
|
|
209
|
+
*/
|
|
210
|
+
type NonPlainObject=BoxedPrimitivesTypes|AnyFunction|Promise<any>|Array<any>|AnObjectNonArray;
|
|
211
|
+
/** --------------------------------------------------
|
|
212
|
+
* * ***AnObjectNonArray.***
|
|
213
|
+
* --------------------------------------------------
|
|
214
|
+
* Represents all **non-null, non-array, object-like values** in JavaScript/Node.js.
|
|
215
|
+
*
|
|
216
|
+
* ✅ **Includes:**
|
|
217
|
+
* - **Built-in objects:** `Date`, `RegExp`, `Error`, `ArrayBuffer`, `DataView`
|
|
218
|
+
* - **Collections:** `Map`, `Set`, `WeakMap`, `WeakSet`
|
|
219
|
+
* - **Typed arrays:**
|
|
220
|
+
* `Int8Array`, `Uint8Array`, `Uint8ClampedArray`,
|
|
221
|
+
* `Int16Array`, `Uint16Array`,
|
|
222
|
+
* `Int32Array`, `Uint32Array`,
|
|
223
|
+
* `Float32Array`, `Float64Array`,
|
|
224
|
+
* `BigInt64Array`, `BigUint64Array`
|
|
225
|
+
* - **Browser Web APIs:**
|
|
226
|
+
* `URL`, `URLSearchParams`, `FormData`, `Headers`, `Response`, `Request`,
|
|
227
|
+
* `ReadableStream`, `WritableStream`, `TransformStream`,
|
|
228
|
+
* `MessageChannel`, `MessagePort`, `MessageEvent`,
|
|
229
|
+
* `Event`, `CustomEvent`, `HTMLElement`, `Node`, `Document`, `Window`,
|
|
230
|
+
* `CanvasRenderingContext2D`,
|
|
231
|
+
* `AbortController`, `AbortSignal`,
|
|
232
|
+
* `TextEncoder`, `TextDecoder`,
|
|
233
|
+
* `CryptoKey`, `File`, `FileList`, `ImageBitmap`, `WebSocket`
|
|
234
|
+
* - **ECMAScript Internationalization API objects:**
|
|
235
|
+
* `Intl.Collator`, `Intl.DateTimeFormat`, `Intl.NumberFormat`,
|
|
236
|
+
* `Intl.RelativeTimeFormat`, `Intl.PluralRules`,
|
|
237
|
+
* `Intl.ListFormat`, `Intl.Locale`
|
|
238
|
+
* - **Node.js built-ins:** `Buffer`
|
|
239
|
+
* - **Symbols**
|
|
240
|
+
* - **Proxies** (wrapping any object)
|
|
241
|
+
* - The global **`Reflect`** object
|
|
242
|
+
*
|
|
243
|
+
* ❌ **Excludes:**
|
|
244
|
+
* - `null`
|
|
245
|
+
* - Arrays (`[]`, `new Array()`)
|
|
246
|
+
*
|
|
247
|
+
* ℹ️ **Note:**
|
|
248
|
+
* Use this type when you need to represent **any object-like value except arrays and `null`**.
|
|
249
|
+
*
|
|
250
|
+
* @example
|
|
251
|
+
* ```ts
|
|
252
|
+
* const a: AnObjectNonArray = new Date();
|
|
253
|
+
* const b: AnObjectNonArray = new Map();
|
|
254
|
+
* const c: AnObjectNonArray = Symbol("id");
|
|
255
|
+
*
|
|
256
|
+
* // ❌ These are NOT allowed:
|
|
257
|
+
* // const x: AnObjectNonArray = null;
|
|
258
|
+
* // const y: AnObjectNonArray = [];
|
|
259
|
+
* ```
|
|
260
|
+
*/
|
|
261
|
+
type AnObjectNonArray=Date|RegExp|Map<any,any>|Set<any>|WeakMap<any,any>|WeakSet<any>|Error|ArrayBuffer|DataView|TypedArray|WebApiObjects|IntlObjects|NodeBuiltins|symbol|{[Symbol.toStringTag]:"Proxy";}|typeof Reflect;export type{AnyFunction as A,BoxedPrimitivesTypes as B,DataTypes as D,IntlObjects as I,NonPlainObject as N,TypedArray as T,WebApiObjects as W,AnObjectNonArray as a,DeepReplaceType as b};
|