ts-data-forge 7.1.1 → 9.0.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/array/impl/array-utils-transformation.d.mts.map +1 -1
- package/dist/array/impl/array-utils-transformation.mjs.map +1 -1
- package/dist/entry-point.mjs +1 -0
- package/dist/entry-point.mjs.map +1 -1
- package/dist/expect-type.d.mts.map +1 -1
- package/dist/expect-type.mjs.map +1 -1
- package/dist/functional/ternary-result/ternary-result.d.mts.map +1 -1
- package/dist/guard/index.d.mts +1 -0
- package/dist/guard/index.d.mts.map +1 -1
- package/dist/guard/index.mjs +1 -0
- package/dist/guard/index.mjs.map +1 -1
- package/dist/guard/is-length-bounded-string.d.mts +164 -0
- package/dist/guard/is-length-bounded-string.d.mts.map +1 -0
- package/dist/guard/is-length-bounded-string.mjs +164 -0
- package/dist/guard/is-length-bounded-string.mjs.map +1 -0
- package/dist/guard/is-non-null-object.d.mts +3 -3
- package/dist/guard/is-non-null-object.mjs +3 -3
- package/dist/guard/is-record.d.mts +47 -29
- package/dist/guard/is-record.d.mts.map +1 -1
- package/dist/guard/is-record.mjs +48 -30
- package/dist/guard/is-record.mjs.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/number/branded-types/int.d.mts +1 -1
- package/dist/number/branded-types/int16.d.mts +1 -1
- package/dist/number/branded-types/int32.d.mts +1 -1
- package/dist/number/branded-types/non-negative-int16.d.mts +1 -1
- package/dist/number/branded-types/non-negative-int32.d.mts +1 -1
- package/dist/number/branded-types/positive-int.d.mts +1 -1
- package/dist/number/branded-types/positive-int16.d.mts +1 -1
- package/dist/number/branded-types/positive-int32.d.mts +1 -1
- package/dist/number/branded-types/positive-safe-int.d.mts +1 -1
- package/dist/number/branded-types/positive-uint16.d.mts +1 -1
- package/dist/number/branded-types/positive-uint32.d.mts +1 -1
- package/dist/number/branded-types/safe-int.d.mts +1 -1
- package/dist/number/branded-types/safe-uint.d.mts +1 -1
- package/dist/number/branded-types/uint.d.mts +1 -1
- package/dist/number/branded-types/uint16.d.mts +1 -1
- package/dist/number/branded-types/uint32.d.mts +1 -1
- package/dist/number/refined-number-utils.d.mts.map +1 -1
- package/dist/number/refined-number-utils.mjs.map +1 -1
- package/dist/object/object.d.mts.map +1 -1
- package/dist/object/object.mjs.map +1 -1
- package/dist/others/fast-deep-equal.d.mts.map +1 -1
- package/dist/others/fast-deep-equal.mjs +7 -5
- package/dist/others/fast-deep-equal.mjs.map +1 -1
- package/package.json +12 -12
- package/src/array/impl/array-utils-transformation.mts +1 -2
- package/src/array/impl/array-utils-transformation.test.mts +3 -36
- package/src/array/impl/array-utils-validation.test.mts +1 -3
- package/src/expect-type.mts +4 -5
- package/src/functional/ternary-result/ternary-result.mts +2 -6
- package/src/guard/index.mts +1 -0
- package/src/guard/is-length-bounded-string.mts +199 -0
- package/src/guard/is-length-bounded-string.test.mts +170 -0
- package/src/guard/is-non-null-object.mts +3 -3
- package/src/guard/is-record.mts +49 -30
- package/src/guard/is-record.test.mts +133 -61
- package/src/number/refined-number-utils.mts +1 -9
- package/src/object/object.mts +25 -23
- package/src/others/fast-deep-equal.mts +10 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-utils-transformation.d.mts","sourceRoot":"","sources":["../../../src/array/impl/array-utils-transformation.mts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"array-utils-transformation.d.mts","sourceRoot":"","sources":["../../../src/array/impl/array-utils-transformation.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-utils-transformation.mjs","sources":["../../../src/array/impl/array-utils-transformation.mts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"array-utils-transformation.mjs","sources":["../../../src/array/impl/array-utils-transformation.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/entry-point.mjs
CHANGED
|
@@ -16,6 +16,7 @@ export { createQueue } from './collections/queue.mjs';
|
|
|
16
16
|
export { createStack } from './collections/stack.mjs';
|
|
17
17
|
export { expectType } from './expect-type.mjs';
|
|
18
18
|
export { hasKey } from './guard/has-key.mjs';
|
|
19
|
+
export { isBoundedLengthString, isFixedLengthString, isMaxLengthString, isMinLengthString } from './guard/is-length-bounded-string.mjs';
|
|
19
20
|
export { isNonEmptyString } from './guard/is-non-empty-string.mjs';
|
|
20
21
|
export { isNonNullObject } from './guard/is-non-null-object.mjs';
|
|
21
22
|
export { isPrimitive } from './guard/is-primitive.mjs';
|
package/dist/entry-point.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-point.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entry-point.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expect-type.d.mts","sourceRoot":"","sources":["../src/expect-type.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,EAC7B,WAAW,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GAChC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"expect-type.d.mts","sourceRoot":"","sources":["../src/expect-type.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,EAC7B,WAAW,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GAChC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GACtB,IAAI,GACJ,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GAC3B,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,GAC7D,KAAK,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,KACjE,IAAiB,CAAC"}
|
package/dist/expect-type.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expect-type.mjs","sources":["../src/expect-type.mts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEG;AACI,MAAM,UAAU,GAAG,CACxB,
|
|
1
|
+
{"version":3,"file":"expect-type.mjs","sources":["../src/expect-type.mts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEG;AACI,MAAM,UAAU,GAAG,CACxB,SAKkE,KACzD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ternary-result.d.mts","sourceRoot":"","sources":["../../../src/functional/ternary-result/ternary-result.mts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC;IAClC,yDAAyD;IACzD,KAAK,EAAE,0BAA0B,CAAC;IAElC,yBAAyB;IACzB,KAAK,EAAE,CAAC,CAAC;CACV,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;IACvC,2DAA2D;IAC3D,KAAK,EAAE,4BAA4B,CAAC;IAEpC,yBAAyB;IACzB,KAAK,EAAE,CAAC,CAAC;IAET,yBAAyB;IACzB,OAAO,EAAE,CAAC,CAAC;CACZ,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,QAAQ,CAAC;IACnC,0DAA0D;IAC1D,KAAK,EAAE,2BAA2B,CAAC;IAEnC,uBAAuB;IACvB,KAAK,EAAE,CAAC,CAAC;CACV,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"ternary-result.d.mts","sourceRoot":"","sources":["../../../src/functional/ternary-result/ternary-result.mts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC;IAClC,yDAAyD;IACzD,KAAK,EAAE,0BAA0B,CAAC;IAElC,yBAAyB;IACzB,KAAK,EAAE,CAAC,CAAC;CACV,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;IACvC,2DAA2D;IAC3D,KAAK,EAAE,4BAA4B,CAAC;IAEpC,yBAAyB;IACzB,KAAK,EAAE,CAAC,CAAC;IAET,yBAAyB;IACzB,OAAO,EAAE,CAAC,CAAC;CACZ,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,QAAQ,CAAC;IACnC,0DAA0D;IAC1D,KAAK,EAAE,2BAA2B,CAAC;IAEnC,uBAAuB;IACvB,KAAK,EAAE,CAAC,CAAC;CACV,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IACnC,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC9B,SAAS,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;AAE3E,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC"}
|
package/dist/guard/index.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/guard/index.mts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/guard/index.mts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
|
package/dist/guard/index.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { hasKey } from './has-key.mjs';
|
|
2
|
+
export { isBoundedLengthString, isFixedLengthString, isMaxLengthString, isMinLengthString } from './is-length-bounded-string.mjs';
|
|
2
3
|
export { isNonEmptyString } from './is-non-empty-string.mjs';
|
|
3
4
|
export { isNonNullObject } from './is-non-null-object.mjs';
|
|
4
5
|
export { isPrimitive } from './is-primitive.mjs';
|
package/dist/guard/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { type BoundedLengthString, type FixedLengthString, type MaxLengthString, type MinLengthString } from 'ts-type-forge';
|
|
2
|
+
import { type SizeType } from '../types.mjs';
|
|
3
|
+
/**
|
|
4
|
+
* Type guard that checks if a string has at least `minLength` characters.
|
|
5
|
+
*
|
|
6
|
+
* The length is measured in UTF-16 code units (the same unit as
|
|
7
|
+
* `String.prototype.length`), so characters outside the Basic Multilingual
|
|
8
|
+
* Plane (e.g. emoji) count as 2.
|
|
9
|
+
*
|
|
10
|
+
* **Type Narrowing Behavior:**
|
|
11
|
+
*
|
|
12
|
+
* - Narrows the input to `MinLengthString<MinLength>` while preserving the
|
|
13
|
+
* original string type (e.g. literal types) via intersection.
|
|
14
|
+
* - The result participates in the length-constraint subtyping relation: for
|
|
15
|
+
* example, a value narrowed to `MinLengthString<3>` is assignable to
|
|
16
|
+
* `MinLengthString<1>` (= `NonEmptyString`).
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
*
|
|
20
|
+
* ```ts
|
|
21
|
+
* const input: string = 'very-secret-password';
|
|
22
|
+
*
|
|
23
|
+
* assert.isTrue(isMinLengthString(input, 12));
|
|
24
|
+
*
|
|
25
|
+
* assert.isFalse(isMinLengthString('short', 12));
|
|
26
|
+
*
|
|
27
|
+
* if (isMinLengthString(input, 12)) {
|
|
28
|
+
* const password: MinLengthString<12> = input;
|
|
29
|
+
*
|
|
30
|
+
* const nonEmpty: NonEmptyString = input; // OK (12 >= 1)
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @template S - The input string type (literal types are preserved).
|
|
35
|
+
* @template MinLength - The minimum number of characters (inclusive).
|
|
36
|
+
* @param s - The string to check.
|
|
37
|
+
* @param minLength - The minimum number of characters (inclusive).
|
|
38
|
+
* @returns `true` if `s.length >= minLength`, `false` otherwise. When `true`,
|
|
39
|
+
* TypeScript narrows `s` to `MinLengthString<MinLength> & S`.
|
|
40
|
+
*/
|
|
41
|
+
export declare const isMinLengthString: <S extends string, MinLength extends SizeType.ArgStr>(s: S, minLength: MinLength) => s is MinLengthString<MinLength> & S;
|
|
42
|
+
/**
|
|
43
|
+
* Type guard that checks if a string has at most `maxLength` characters.
|
|
44
|
+
*
|
|
45
|
+
* The length is measured in UTF-16 code units (the same unit as
|
|
46
|
+
* `String.prototype.length`), so characters outside the Basic Multilingual
|
|
47
|
+
* Plane (e.g. emoji) count as 2.
|
|
48
|
+
*
|
|
49
|
+
* **Type Narrowing Behavior:**
|
|
50
|
+
*
|
|
51
|
+
* - Narrows the input to `MaxLengthString<MaxLength>` while preserving the
|
|
52
|
+
* original string type (e.g. literal types) via intersection.
|
|
53
|
+
* - The result participates in the length-constraint subtyping relation: for
|
|
54
|
+
* example, a value narrowed to `MaxLengthString<16>` is assignable to
|
|
55
|
+
* `MaxLengthString<32>`.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
*
|
|
59
|
+
* ```ts
|
|
60
|
+
* const input: string = 'noshiro';
|
|
61
|
+
*
|
|
62
|
+
* assert.isTrue(isMaxLengthString(input, 32));
|
|
63
|
+
*
|
|
64
|
+
* assert.isFalse(isMaxLengthString(input, 3));
|
|
65
|
+
*
|
|
66
|
+
* if (isMaxLengthString(input, 32)) {
|
|
67
|
+
* const userName: MaxLengthString<32> = input;
|
|
68
|
+
*
|
|
69
|
+
* const relaxed: MaxLengthString<64> = input; // OK (32 <= 64)
|
|
70
|
+
* }
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* @template S - The input string type (literal types are preserved).
|
|
74
|
+
* @template MaxLength - The maximum number of characters (inclusive).
|
|
75
|
+
* @param s - The string to check.
|
|
76
|
+
* @param maxLength - The maximum number of characters (inclusive).
|
|
77
|
+
* @returns `true` if `s.length <= maxLength`, `false` otherwise. When `true`,
|
|
78
|
+
* TypeScript narrows `s` to `MaxLengthString<MaxLength> & S`.
|
|
79
|
+
*/
|
|
80
|
+
export declare const isMaxLengthString: <S extends string, MaxLength extends SizeType.ArgStr>(s: S, maxLength: MaxLength) => s is MaxLengthString<MaxLength> & S;
|
|
81
|
+
/**
|
|
82
|
+
* Type guard that checks if a string's length is within the inclusive range
|
|
83
|
+
* `[minLength, maxLength]`.
|
|
84
|
+
*
|
|
85
|
+
* The length is measured in UTF-16 code units (the same unit as
|
|
86
|
+
* `String.prototype.length`), so characters outside the Basic Multilingual
|
|
87
|
+
* Plane (e.g. emoji) count as 2.
|
|
88
|
+
*
|
|
89
|
+
* **Type Narrowing Behavior:**
|
|
90
|
+
*
|
|
91
|
+
* - Narrows the input to `BoundedLengthString<MinLength, MaxLength>` while
|
|
92
|
+
* preserving the original string type (e.g. literal types) via intersection.
|
|
93
|
+
* - Since `BoundedLengthString` is the intersection of `MinLengthString` and
|
|
94
|
+
* `MaxLengthString`, the narrowed value is assignable to both, and both
|
|
95
|
+
* bounds can be weakened independently.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
*
|
|
99
|
+
* ```ts
|
|
100
|
+
* const input: string = 'user-12345678';
|
|
101
|
+
*
|
|
102
|
+
* assert.isTrue(isBoundedLengthString(input, 8, 16));
|
|
103
|
+
*
|
|
104
|
+
* assert.isFalse(isBoundedLengthString('user', 8, 16));
|
|
105
|
+
*
|
|
106
|
+
* if (isBoundedLengthString(input, 8, 16)) {
|
|
107
|
+
* const userId: BoundedLengthString<8, 16> = input;
|
|
108
|
+
*
|
|
109
|
+
* const relaxed: BoundedLengthString<1, 255> = input; // OK ([8, 16] ⊆ [1, 255])
|
|
110
|
+
* }
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* @template S - The input string type (literal types are preserved).
|
|
114
|
+
* @template MinLength - The minimum number of characters (inclusive).
|
|
115
|
+
* @template MaxLength - The maximum number of characters (inclusive).
|
|
116
|
+
* @param s - The string to check.
|
|
117
|
+
* @param minLength - The minimum number of characters (inclusive).
|
|
118
|
+
* @param maxLength - The maximum number of characters (inclusive).
|
|
119
|
+
* @returns `true` if `minLength <= s.length && s.length <= maxLength`, `false`
|
|
120
|
+
* otherwise. When `true`, TypeScript narrows `s` to
|
|
121
|
+
* `BoundedLengthString<MinLength, MaxLength> & S`.
|
|
122
|
+
*/
|
|
123
|
+
export declare const isBoundedLengthString: <S extends string, MinLength extends SizeType.ArgStr, MaxLength extends SizeType.ArgStr>(s: S, minLength: MinLength, maxLength: MaxLength) => s is BoundedLengthString<MinLength, MaxLength> & S;
|
|
124
|
+
/**
|
|
125
|
+
* Type guard that checks if a string has exactly `length` characters.
|
|
126
|
+
*
|
|
127
|
+
* The length is measured in UTF-16 code units (the same unit as
|
|
128
|
+
* `String.prototype.length`), so characters outside the Basic Multilingual
|
|
129
|
+
* Plane (e.g. emoji) count as 2.
|
|
130
|
+
*
|
|
131
|
+
* **Type Narrowing Behavior:**
|
|
132
|
+
*
|
|
133
|
+
* - Narrows the input to `FixedLengthString<Length>` while preserving the
|
|
134
|
+
* original string type (e.g. literal types) via intersection.
|
|
135
|
+
* - Since `FixedLengthString<Length>` is defined as
|
|
136
|
+
* `BoundedLengthString<Length, Length>`, the narrowed value is assignable to
|
|
137
|
+
* any `MinLengthString<N>` with `N <= Length` and any `MaxLengthString<N>`
|
|
138
|
+
* with `N >= Length`.
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
*
|
|
142
|
+
* ```ts
|
|
143
|
+
* const input: string = 'JP';
|
|
144
|
+
*
|
|
145
|
+
* assert.isTrue(isFixedLengthString(input, 2));
|
|
146
|
+
*
|
|
147
|
+
* assert.isFalse(isFixedLengthString(input, 3));
|
|
148
|
+
*
|
|
149
|
+
* if (isFixedLengthString(input, 2)) {
|
|
150
|
+
* const countryCode: FixedLengthString<2> = input;
|
|
151
|
+
*
|
|
152
|
+
* const atMost5: MaxLengthString<5> = input; // OK (2 <= 5)
|
|
153
|
+
* }
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* @template S - The input string type (literal types are preserved).
|
|
157
|
+
* @template Length - The exact number of characters.
|
|
158
|
+
* @param s - The string to check.
|
|
159
|
+
* @param length - The exact number of characters.
|
|
160
|
+
* @returns `true` if `s.length === length`, `false` otherwise. When `true`,
|
|
161
|
+
* TypeScript narrows `s` to `FixedLengthString<Length> & S`.
|
|
162
|
+
*/
|
|
163
|
+
export declare const isFixedLengthString: <S extends string, Length extends SizeType.ArgStr>(s: S, length: Length) => s is FixedLengthString<Length> & S;
|
|
164
|
+
//# sourceMappingURL=is-length-bounded-string.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-length-bounded-string.d.mts","sourceRoot":"","sources":["../../src/guard/is-length-bounded-string.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,iBAAiB,GAC5B,CAAC,SAAS,MAAM,EAChB,SAAS,SAAS,QAAQ,CAAC,MAAM,EAEjC,GAAG,CAAC,EACJ,WAAW,SAAS,KACnB,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,GAAG,CAA0B,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,iBAAiB,GAC5B,CAAC,SAAS,MAAM,EAChB,SAAS,SAAS,QAAQ,CAAC,MAAM,EAEjC,GAAG,CAAC,EACJ,WAAW,SAAS,KACnB,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,GAAG,CAA0B,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,qBAAqB,GAChC,CAAC,SAAS,MAAM,EAChB,SAAS,SAAS,QAAQ,CAAC,MAAM,EACjC,SAAS,SAAS,QAAQ,CAAC,MAAM,EAEjC,GAAG,CAAC,EACJ,WAAW,SAAS,EACpB,WAAW,SAAS,KACnB,CAAC,IAAI,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CACJ,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,mBAAmB,GAC9B,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,QAAQ,CAAC,MAAM,EAE9B,GAAG,CAAC,EACJ,QAAQ,MAAM,KACb,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAwB,CAAC"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type guard that checks if a string has at least `minLength` characters.
|
|
3
|
+
*
|
|
4
|
+
* The length is measured in UTF-16 code units (the same unit as
|
|
5
|
+
* `String.prototype.length`), so characters outside the Basic Multilingual
|
|
6
|
+
* Plane (e.g. emoji) count as 2.
|
|
7
|
+
*
|
|
8
|
+
* **Type Narrowing Behavior:**
|
|
9
|
+
*
|
|
10
|
+
* - Narrows the input to `MinLengthString<MinLength>` while preserving the
|
|
11
|
+
* original string type (e.g. literal types) via intersection.
|
|
12
|
+
* - The result participates in the length-constraint subtyping relation: for
|
|
13
|
+
* example, a value narrowed to `MinLengthString<3>` is assignable to
|
|
14
|
+
* `MinLengthString<1>` (= `NonEmptyString`).
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* const input: string = 'very-secret-password';
|
|
20
|
+
*
|
|
21
|
+
* assert.isTrue(isMinLengthString(input, 12));
|
|
22
|
+
*
|
|
23
|
+
* assert.isFalse(isMinLengthString('short', 12));
|
|
24
|
+
*
|
|
25
|
+
* if (isMinLengthString(input, 12)) {
|
|
26
|
+
* const password: MinLengthString<12> = input;
|
|
27
|
+
*
|
|
28
|
+
* const nonEmpty: NonEmptyString = input; // OK (12 >= 1)
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @template S - The input string type (literal types are preserved).
|
|
33
|
+
* @template MinLength - The minimum number of characters (inclusive).
|
|
34
|
+
* @param s - The string to check.
|
|
35
|
+
* @param minLength - The minimum number of characters (inclusive).
|
|
36
|
+
* @returns `true` if `s.length >= minLength`, `false` otherwise. When `true`,
|
|
37
|
+
* TypeScript narrows `s` to `MinLengthString<MinLength> & S`.
|
|
38
|
+
*/
|
|
39
|
+
const isMinLengthString = (s, minLength) => s.length >= minLength;
|
|
40
|
+
/**
|
|
41
|
+
* Type guard that checks if a string has at most `maxLength` characters.
|
|
42
|
+
*
|
|
43
|
+
* The length is measured in UTF-16 code units (the same unit as
|
|
44
|
+
* `String.prototype.length`), so characters outside the Basic Multilingual
|
|
45
|
+
* Plane (e.g. emoji) count as 2.
|
|
46
|
+
*
|
|
47
|
+
* **Type Narrowing Behavior:**
|
|
48
|
+
*
|
|
49
|
+
* - Narrows the input to `MaxLengthString<MaxLength>` while preserving the
|
|
50
|
+
* original string type (e.g. literal types) via intersection.
|
|
51
|
+
* - The result participates in the length-constraint subtyping relation: for
|
|
52
|
+
* example, a value narrowed to `MaxLengthString<16>` is assignable to
|
|
53
|
+
* `MaxLengthString<32>`.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
*
|
|
57
|
+
* ```ts
|
|
58
|
+
* const input: string = 'noshiro';
|
|
59
|
+
*
|
|
60
|
+
* assert.isTrue(isMaxLengthString(input, 32));
|
|
61
|
+
*
|
|
62
|
+
* assert.isFalse(isMaxLengthString(input, 3));
|
|
63
|
+
*
|
|
64
|
+
* if (isMaxLengthString(input, 32)) {
|
|
65
|
+
* const userName: MaxLengthString<32> = input;
|
|
66
|
+
*
|
|
67
|
+
* const relaxed: MaxLengthString<64> = input; // OK (32 <= 64)
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* @template S - The input string type (literal types are preserved).
|
|
72
|
+
* @template MaxLength - The maximum number of characters (inclusive).
|
|
73
|
+
* @param s - The string to check.
|
|
74
|
+
* @param maxLength - The maximum number of characters (inclusive).
|
|
75
|
+
* @returns `true` if `s.length <= maxLength`, `false` otherwise. When `true`,
|
|
76
|
+
* TypeScript narrows `s` to `MaxLengthString<MaxLength> & S`.
|
|
77
|
+
*/
|
|
78
|
+
const isMaxLengthString = (s, maxLength) => s.length <= maxLength;
|
|
79
|
+
/**
|
|
80
|
+
* Type guard that checks if a string's length is within the inclusive range
|
|
81
|
+
* `[minLength, maxLength]`.
|
|
82
|
+
*
|
|
83
|
+
* The length is measured in UTF-16 code units (the same unit as
|
|
84
|
+
* `String.prototype.length`), so characters outside the Basic Multilingual
|
|
85
|
+
* Plane (e.g. emoji) count as 2.
|
|
86
|
+
*
|
|
87
|
+
* **Type Narrowing Behavior:**
|
|
88
|
+
*
|
|
89
|
+
* - Narrows the input to `BoundedLengthString<MinLength, MaxLength>` while
|
|
90
|
+
* preserving the original string type (e.g. literal types) via intersection.
|
|
91
|
+
* - Since `BoundedLengthString` is the intersection of `MinLengthString` and
|
|
92
|
+
* `MaxLengthString`, the narrowed value is assignable to both, and both
|
|
93
|
+
* bounds can be weakened independently.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
*
|
|
97
|
+
* ```ts
|
|
98
|
+
* const input: string = 'user-12345678';
|
|
99
|
+
*
|
|
100
|
+
* assert.isTrue(isBoundedLengthString(input, 8, 16));
|
|
101
|
+
*
|
|
102
|
+
* assert.isFalse(isBoundedLengthString('user', 8, 16));
|
|
103
|
+
*
|
|
104
|
+
* if (isBoundedLengthString(input, 8, 16)) {
|
|
105
|
+
* const userId: BoundedLengthString<8, 16> = input;
|
|
106
|
+
*
|
|
107
|
+
* const relaxed: BoundedLengthString<1, 255> = input; // OK ([8, 16] ⊆ [1, 255])
|
|
108
|
+
* }
|
|
109
|
+
* ```
|
|
110
|
+
*
|
|
111
|
+
* @template S - The input string type (literal types are preserved).
|
|
112
|
+
* @template MinLength - The minimum number of characters (inclusive).
|
|
113
|
+
* @template MaxLength - The maximum number of characters (inclusive).
|
|
114
|
+
* @param s - The string to check.
|
|
115
|
+
* @param minLength - The minimum number of characters (inclusive).
|
|
116
|
+
* @param maxLength - The maximum number of characters (inclusive).
|
|
117
|
+
* @returns `true` if `minLength <= s.length && s.length <= maxLength`, `false`
|
|
118
|
+
* otherwise. When `true`, TypeScript narrows `s` to
|
|
119
|
+
* `BoundedLengthString<MinLength, MaxLength> & S`.
|
|
120
|
+
*/
|
|
121
|
+
const isBoundedLengthString = (s, minLength, maxLength) => s.length >= minLength && s.length <= maxLength;
|
|
122
|
+
/**
|
|
123
|
+
* Type guard that checks if a string has exactly `length` characters.
|
|
124
|
+
*
|
|
125
|
+
* The length is measured in UTF-16 code units (the same unit as
|
|
126
|
+
* `String.prototype.length`), so characters outside the Basic Multilingual
|
|
127
|
+
* Plane (e.g. emoji) count as 2.
|
|
128
|
+
*
|
|
129
|
+
* **Type Narrowing Behavior:**
|
|
130
|
+
*
|
|
131
|
+
* - Narrows the input to `FixedLengthString<Length>` while preserving the
|
|
132
|
+
* original string type (e.g. literal types) via intersection.
|
|
133
|
+
* - Since `FixedLengthString<Length>` is defined as
|
|
134
|
+
* `BoundedLengthString<Length, Length>`, the narrowed value is assignable to
|
|
135
|
+
* any `MinLengthString<N>` with `N <= Length` and any `MaxLengthString<N>`
|
|
136
|
+
* with `N >= Length`.
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
*
|
|
140
|
+
* ```ts
|
|
141
|
+
* const input: string = 'JP';
|
|
142
|
+
*
|
|
143
|
+
* assert.isTrue(isFixedLengthString(input, 2));
|
|
144
|
+
*
|
|
145
|
+
* assert.isFalse(isFixedLengthString(input, 3));
|
|
146
|
+
*
|
|
147
|
+
* if (isFixedLengthString(input, 2)) {
|
|
148
|
+
* const countryCode: FixedLengthString<2> = input;
|
|
149
|
+
*
|
|
150
|
+
* const atMost5: MaxLengthString<5> = input; // OK (2 <= 5)
|
|
151
|
+
* }
|
|
152
|
+
* ```
|
|
153
|
+
*
|
|
154
|
+
* @template S - The input string type (literal types are preserved).
|
|
155
|
+
* @template Length - The exact number of characters.
|
|
156
|
+
* @param s - The string to check.
|
|
157
|
+
* @param length - The exact number of characters.
|
|
158
|
+
* @returns `true` if `s.length === length`, `false` otherwise. When `true`,
|
|
159
|
+
* TypeScript narrows `s` to `FixedLengthString<Length> & S`.
|
|
160
|
+
*/
|
|
161
|
+
const isFixedLengthString = (s, length) => s.length === length;
|
|
162
|
+
|
|
163
|
+
export { isBoundedLengthString, isFixedLengthString, isMaxLengthString, isMinLengthString };
|
|
164
|
+
//# sourceMappingURL=is-length-bounded-string.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-length-bounded-string.mjs","sources":["../../src/guard/is-length-bounded-string.mts"],"sourcesContent":[null],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;AACI,MAAM,iBAAiB,GAAG,CAI/B,CAAI,EACJ,SAAoB,KACoB,CAAC,CAAC,MAAM,IAAI;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;AACI,MAAM,iBAAiB,GAAG,CAI/B,CAAI,EACJ,SAAoB,KACoB,CAAC,CAAC,MAAM,IAAI;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCG;AACI,MAAM,qBAAqB,GAAG,CAKnC,CAAI,EACJ,SAAoB,EACpB,SAAoB,KAEpB,CAAC,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCG;AACI,MAAM,mBAAmB,GAAG,CAIjC,CAAI,EACJ,MAAc,KACyB,CAAC,CAAC,MAAM,KAAK;;;;"}
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* - Excludes functions (they have `typeof` === `"function"`, not `"object"`)
|
|
14
14
|
* - Includes arrays, dates, regex, and other object instances
|
|
15
15
|
*
|
|
16
|
-
* **Note:** This function returns `true` for arrays. If you need
|
|
17
|
-
*
|
|
16
|
+
* **Note:** This function returns `true` for arrays. If you need
|
|
17
|
+
* record-oriented narrowing that excludes arrays, use `isRecord()` instead.
|
|
18
18
|
*
|
|
19
19
|
* @example
|
|
20
20
|
*
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
* @param u - The value to check
|
|
30
30
|
* @returns `true` if `u` is an object and not `null`, `false` otherwise. When
|
|
31
31
|
* `true`, TypeScript narrows the type to `object`.
|
|
32
|
-
* @see {@link isRecord} - For
|
|
32
|
+
* @see {@link isRecord} - For record-oriented type narrowing (excludes arrays)
|
|
33
33
|
*/
|
|
34
34
|
export declare const isNonNullObject: (u: unknown) => u is object;
|
|
35
35
|
//# sourceMappingURL=is-non-null-object.d.mts.map
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* - Excludes functions (they have `typeof` === `"function"`, not `"object"`)
|
|
14
14
|
* - Includes arrays, dates, regex, and other object instances
|
|
15
15
|
*
|
|
16
|
-
* **Note:** This function returns `true` for arrays. If you need
|
|
17
|
-
*
|
|
16
|
+
* **Note:** This function returns `true` for arrays. If you need
|
|
17
|
+
* record-oriented narrowing that excludes arrays, use `isRecord()` instead.
|
|
18
18
|
*
|
|
19
19
|
* @example
|
|
20
20
|
*
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
* @param u - The value to check
|
|
30
30
|
* @returns `true` if `u` is an object and not `null`, `false` otherwise. When
|
|
31
31
|
* `true`, TypeScript narrows the type to `object`.
|
|
32
|
-
* @see {@link isRecord} - For
|
|
32
|
+
* @see {@link isRecord} - For record-oriented type narrowing (excludes arrays)
|
|
33
33
|
*/
|
|
34
34
|
// eslint-disable-next-line @typescript-eslint/no-restricted-types
|
|
35
35
|
const isNonNullObject = (u) => typeof u === 'object' && u !== null;
|
|
@@ -1,30 +1,45 @@
|
|
|
1
1
|
import { type MutableRecord, type UnknownRecord } from 'ts-type-forge';
|
|
2
2
|
/**
|
|
3
|
-
* Type guard that checks if a value is a
|
|
4
|
-
* object
|
|
3
|
+
* Type guard that checks if a value is a record — a non-null, non-array
|
|
4
|
+
* object — and narrows it to `UnknownRecord` (= `ReadonlyRecord<string,
|
|
5
|
+
* unknown>`).
|
|
5
6
|
*
|
|
6
|
-
* This function is
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* types like Date, RegExp, etc., focusing on objects that can be safely treated
|
|
10
|
-
* as property collections.
|
|
7
|
+
* This function is designed to be combined with {@link hasKey} to probe
|
|
8
|
+
* values of type `unknown` (e.g. parsed JSON, caught errors, external data)
|
|
9
|
+
* in a type-safe way: `if (isRecord(u) && hasKey(u, 'some-key')) { ... }`.
|
|
11
10
|
*
|
|
12
11
|
* **Type Narrowing Behavior:**
|
|
13
12
|
*
|
|
14
|
-
* - Narrows `unknown` to `UnknownRecord` (
|
|
15
|
-
*
|
|
16
|
-
* - Excludes
|
|
17
|
-
*
|
|
18
|
-
* with
|
|
19
|
-
* - Returns `
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
13
|
+
* - Narrows `unknown` to `UnknownRecord` (= `ReadonlyRecord<string, unknown>`)
|
|
14
|
+
* - Excludes `null`, `undefined`, primitives, and functions
|
|
15
|
+
* - Excludes arrays: arrays have no string index signature, so they are not
|
|
16
|
+
* assignable to `UnknownRecord`; admitting them at runtime would be
|
|
17
|
+
* inconsistent with the narrowed type
|
|
18
|
+
* - Returns `true` for every other non-null object, including dictionary
|
|
19
|
+
* objects created with `Object.create(null)` and instances such as `Date`,
|
|
20
|
+
* `RegExp`, `Map`, `Set`, `Error`, and user-defined classes
|
|
21
|
+
*
|
|
22
|
+
* **Why non-plain objects are included:** since every property of
|
|
23
|
+
* `UnknownRecord` is typed `unknown`, reading properties from any object
|
|
24
|
+
* through this narrowing is type-safe, and `hasKey` (backed by
|
|
25
|
+
* `Object.hasOwn`) answers own-property questions correctly on any object
|
|
26
|
+
* (e.g. `Map` entries are not own properties, so `hasKey` correctly returns
|
|
27
|
+
* `false` for them). Restricting the guard to plain objects would require
|
|
28
|
+
* prototype checks that misjudge cross-realm objects and would prevent
|
|
29
|
+
* probing useful instances such as `Error` subclasses.
|
|
30
|
+
*
|
|
31
|
+
* **Implementation:** `isNonNullObject(u) && !Array.isArray(u)`.
|
|
23
32
|
*
|
|
24
33
|
* @example
|
|
25
34
|
*
|
|
26
35
|
* ```ts
|
|
27
|
-
* const entries: readonly unknown[] = [
|
|
36
|
+
* const entries: readonly unknown[] = [
|
|
37
|
+
* { id: 1 },
|
|
38
|
+
* [1, 2],
|
|
39
|
+
* 'str',
|
|
40
|
+
* 0,
|
|
41
|
+
* null,
|
|
42
|
+
* ] as const;
|
|
28
43
|
*
|
|
29
44
|
* const records = entries.filter(isRecord);
|
|
30
45
|
*
|
|
@@ -32,29 +47,31 @@ import { type MutableRecord, type UnknownRecord } from 'ts-type-forge';
|
|
|
32
47
|
* ```
|
|
33
48
|
*
|
|
34
49
|
* @param u - The value to check
|
|
35
|
-
* @returns `true` if `u` is a non-null object
|
|
36
|
-
*
|
|
37
|
-
* @see {@link isNonNullObject} - For checking any object
|
|
50
|
+
* @returns `true` if `u` is a non-null, non-array object, `false` otherwise.
|
|
51
|
+
* When `true`, TypeScript narrows the type to `UnknownRecord`.
|
|
52
|
+
* @see {@link isNonNullObject} - For checking any non-null object (includes arrays)
|
|
38
53
|
* @see {@link hasKey} - For checking if a record has specific keys
|
|
39
54
|
*/
|
|
40
55
|
export declare const isRecord: (u: unknown) => u is UnknownRecord;
|
|
41
56
|
/**
|
|
42
|
-
* Type guard that checks if a value is a mutable record
|
|
57
|
+
* Type guard that checks if a value is a mutable record.
|
|
43
58
|
*
|
|
44
|
-
* This function
|
|
45
|
-
*
|
|
46
|
-
*
|
|
59
|
+
* This function has the same runtime behavior as {@link isRecord} (non-null,
|
|
60
|
+
* non-array object check), but narrows the type to `MutableRecord<string,
|
|
61
|
+
* unknown>`, which is useful when you need to add or overwrite properties on
|
|
62
|
+
* the narrowed object.
|
|
47
63
|
*
|
|
48
64
|
* **Type Narrowing Behavior:**
|
|
49
65
|
*
|
|
50
66
|
* - Narrows `unknown` to `MutableRecord<string, unknown>`
|
|
51
|
-
* - Excludes `null`, `undefined`, primitives,
|
|
52
|
-
* - Returns `true` for
|
|
53
|
-
* -
|
|
67
|
+
* - Excludes `null`, `undefined`, primitives, functions, and arrays
|
|
68
|
+
* - Returns `true` for every other non-null object (see {@link isRecord} for
|
|
69
|
+
* details on non-plain objects such as `Date`, `Map`, and `Set`)
|
|
54
70
|
*
|
|
55
71
|
* **Implementation:** This is a type alias for {@link isRecord}.
|
|
56
72
|
*
|
|
57
73
|
* @example
|
|
74
|
+
*
|
|
58
75
|
* ```ts
|
|
59
76
|
* const obj: unknown = { foo: 1 } as const;
|
|
60
77
|
*
|
|
@@ -64,8 +81,9 @@ export declare const isRecord: (u: unknown) => u is UnknownRecord;
|
|
|
64
81
|
* ```
|
|
65
82
|
*
|
|
66
83
|
* @param u - The value to check
|
|
67
|
-
* @returns `true` if `u` is a
|
|
68
|
-
* When `true`, TypeScript narrows the type to `MutableRecord<string,
|
|
84
|
+
* @returns `true` if `u` is a non-null, non-array object, `false` otherwise.
|
|
85
|
+
* When `true`, TypeScript narrows the type to `MutableRecord<string,
|
|
86
|
+
* unknown>`.
|
|
69
87
|
* @see {@link isRecord} - For the underlying implementation and more details
|
|
70
88
|
*/
|
|
71
89
|
export declare const isMutableRecord: (u: unknown) => u is MutableRecord<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-record.d.mts","sourceRoot":"","sources":["../../src/guard/is-record.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAGvE
|
|
1
|
+
{"version":3,"file":"is-record.d.mts","sourceRoot":"","sources":["../../src/guard/is-record.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAGvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,aACF,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,eAAe,EAAE,CAC5B,CAAC,EAAE,OAAO,KACP,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,CAAY,CAAC"}
|