bupkis 0.2.0 → 0.4.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/CHANGELOG.md +27 -0
- package/README.md +35 -11
- package/dist/commonjs/assertion/assertion-async.d.ts +2 -1
- package/dist/commonjs/assertion/assertion-async.d.ts.map +1 -1
- package/dist/commonjs/assertion/assertion-async.js +84 -2
- package/dist/commonjs/assertion/assertion-async.js.map +1 -1
- package/dist/commonjs/assertion/assertion-sync.d.ts +1 -1
- package/dist/commonjs/assertion/assertion-sync.d.ts.map +1 -1
- package/dist/commonjs/assertion/assertion-sync.js +5 -1
- package/dist/commonjs/assertion/assertion-sync.js.map +1 -1
- package/dist/commonjs/assertion/assertion-types.d.ts +6 -2
- package/dist/commonjs/assertion/assertion-types.d.ts.map +1 -1
- package/dist/commonjs/assertion/assertion.d.ts +1 -1
- package/dist/commonjs/assertion/assertion.d.ts.map +1 -1
- package/dist/commonjs/assertion/assertion.js +1 -14
- package/dist/commonjs/assertion/assertion.js.map +1 -1
- package/dist/commonjs/assertion/impl/async.d.ts +122 -21
- package/dist/commonjs/assertion/impl/async.d.ts.map +1 -1
- package/dist/commonjs/assertion/impl/async.js +118 -90
- package/dist/commonjs/assertion/impl/async.js.map +1 -1
- package/dist/commonjs/assertion/impl/callback.d.ts +104 -0
- package/dist/commonjs/assertion/impl/callback.d.ts.map +1 -0
- package/dist/commonjs/assertion/impl/callback.js +694 -0
- package/dist/commonjs/assertion/impl/callback.js.map +1 -0
- package/dist/commonjs/assertion/impl/index.d.ts +1 -1
- package/dist/commonjs/assertion/impl/index.d.ts.map +1 -1
- package/dist/commonjs/assertion/impl/index.js.map +1 -1
- package/dist/commonjs/assertion/impl/sync-basic.d.ts.map +1 -1
- package/dist/commonjs/assertion/impl/sync-basic.js +1 -1
- package/dist/commonjs/assertion/impl/sync-basic.js.map +1 -1
- package/dist/commonjs/assertion/impl/sync-collection.d.ts +1 -1
- package/dist/commonjs/assertion/impl/sync-collection.js +3 -3
- package/dist/commonjs/assertion/impl/sync-collection.js.map +1 -1
- package/dist/commonjs/assertion/impl/sync-esoteric.js +1 -1
- package/dist/commonjs/assertion/impl/sync-esoteric.js.map +1 -1
- package/dist/commonjs/assertion/impl/sync-parametric.d.ts +22 -28
- package/dist/commonjs/assertion/impl/sync-parametric.d.ts.map +1 -1
- package/dist/commonjs/assertion/impl/sync-parametric.js +35 -50
- package/dist/commonjs/assertion/impl/sync-parametric.js.map +1 -1
- package/dist/commonjs/assertion/impl/sync.d.ts +68 -30
- package/dist/commonjs/assertion/impl/sync.d.ts.map +1 -1
- package/dist/commonjs/assertion/impl/sync.js +4 -1
- package/dist/commonjs/assertion/impl/sync.js.map +1 -1
- package/dist/commonjs/bootstrap.d.ts +147 -52
- package/dist/commonjs/bootstrap.d.ts.map +1 -1
- package/dist/commonjs/bootstrap.js +2 -3
- package/dist/commonjs/bootstrap.js.map +1 -1
- package/dist/commonjs/constant.d.ts +1 -1
- package/dist/commonjs/constant.d.ts.map +1 -1
- package/dist/commonjs/constant.js +8 -1
- package/dist/commonjs/constant.js.map +1 -1
- package/dist/commonjs/error.d.ts +22 -2
- package/dist/commonjs/error.d.ts.map +1 -1
- package/dist/commonjs/error.js +44 -4
- package/dist/commonjs/error.js.map +1 -1
- package/dist/commonjs/expect.d.ts.map +1 -1
- package/dist/commonjs/expect.js +1 -1
- package/dist/commonjs/expect.js.map +1 -1
- package/dist/commonjs/guards.d.ts +96 -5
- package/dist/commonjs/guards.d.ts.map +1 -1
- package/dist/commonjs/guards.js +104 -25
- package/dist/commonjs/guards.js.map +1 -1
- package/dist/commonjs/index.d.ts +146 -51
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/schema.d.ts +84 -18
- package/dist/commonjs/schema.d.ts.map +1 -1
- package/dist/commonjs/schema.js +107 -22
- package/dist/commonjs/schema.js.map +1 -1
- package/dist/commonjs/types.d.ts +171 -9
- package/dist/commonjs/types.d.ts.map +1 -1
- package/dist/commonjs/use.d.ts.map +1 -1
- package/dist/commonjs/use.js +15 -1
- package/dist/commonjs/use.js.map +1 -1
- package/dist/commonjs/util.d.ts +66 -50
- package/dist/commonjs/util.d.ts.map +1 -1
- package/dist/commonjs/util.js +169 -156
- package/dist/commonjs/util.js.map +1 -1
- package/dist/commonjs/value-to-schema.d.ts +122 -0
- package/dist/commonjs/value-to-schema.d.ts.map +1 -0
- package/dist/commonjs/value-to-schema.js +329 -0
- package/dist/commonjs/value-to-schema.js.map +1 -0
- package/dist/esm/assertion/assertion-async.d.ts +2 -1
- package/dist/esm/assertion/assertion-async.d.ts.map +1 -1
- package/dist/esm/assertion/assertion-async.js +85 -3
- package/dist/esm/assertion/assertion-async.js.map +1 -1
- package/dist/esm/assertion/assertion-sync.d.ts +1 -1
- package/dist/esm/assertion/assertion-sync.d.ts.map +1 -1
- package/dist/esm/assertion/assertion-sync.js +6 -2
- package/dist/esm/assertion/assertion-sync.js.map +1 -1
- package/dist/esm/assertion/assertion-types.d.ts +6 -2
- package/dist/esm/assertion/assertion-types.d.ts.map +1 -1
- package/dist/esm/assertion/assertion.d.ts +1 -1
- package/dist/esm/assertion/assertion.d.ts.map +1 -1
- package/dist/esm/assertion/assertion.js +1 -14
- package/dist/esm/assertion/assertion.js.map +1 -1
- package/dist/esm/assertion/impl/async.d.ts +122 -21
- package/dist/esm/assertion/impl/async.d.ts.map +1 -1
- package/dist/esm/assertion/impl/async.js +118 -90
- package/dist/esm/assertion/impl/async.js.map +1 -1
- package/dist/esm/assertion/impl/callback.d.ts +104 -0
- package/dist/esm/assertion/impl/callback.d.ts.map +1 -0
- package/dist/esm/assertion/impl/callback.js +691 -0
- package/dist/esm/assertion/impl/callback.js.map +1 -0
- package/dist/esm/assertion/impl/index.d.ts +1 -1
- package/dist/esm/assertion/impl/index.d.ts.map +1 -1
- package/dist/esm/assertion/impl/index.js +1 -1
- package/dist/esm/assertion/impl/index.js.map +1 -1
- package/dist/esm/assertion/impl/sync-basic.d.ts.map +1 -1
- package/dist/esm/assertion/impl/sync-basic.js +2 -2
- package/dist/esm/assertion/impl/sync-basic.js.map +1 -1
- package/dist/esm/assertion/impl/sync-collection.d.ts +1 -1
- package/dist/esm/assertion/impl/sync-collection.js +3 -3
- package/dist/esm/assertion/impl/sync-collection.js.map +1 -1
- package/dist/esm/assertion/impl/sync-esoteric.js +2 -2
- package/dist/esm/assertion/impl/sync-esoteric.js.map +1 -1
- package/dist/esm/assertion/impl/sync-parametric.d.ts +22 -28
- package/dist/esm/assertion/impl/sync-parametric.d.ts.map +1 -1
- package/dist/esm/assertion/impl/sync-parametric.js +36 -51
- package/dist/esm/assertion/impl/sync-parametric.js.map +1 -1
- package/dist/esm/assertion/impl/sync.d.ts +68 -30
- package/dist/esm/assertion/impl/sync.d.ts.map +1 -1
- package/dist/esm/assertion/impl/sync.js +3 -1
- package/dist/esm/assertion/impl/sync.js.map +1 -1
- package/dist/esm/bootstrap.d.ts +147 -52
- package/dist/esm/bootstrap.d.ts.map +1 -1
- package/dist/esm/bootstrap.js +1 -2
- package/dist/esm/bootstrap.js.map +1 -1
- package/dist/esm/constant.d.ts +1 -1
- package/dist/esm/constant.d.ts.map +1 -1
- package/dist/esm/constant.js +7 -0
- package/dist/esm/constant.js.map +1 -1
- package/dist/esm/error.d.ts +22 -2
- package/dist/esm/error.d.ts.map +1 -1
- package/dist/esm/error.js +43 -4
- package/dist/esm/error.js.map +1 -1
- package/dist/esm/expect.d.ts.map +1 -1
- package/dist/esm/expect.js +2 -2
- package/dist/esm/expect.js.map +1 -1
- package/dist/esm/guards.d.ts +96 -5
- package/dist/esm/guards.d.ts.map +1 -1
- package/dist/esm/guards.js +98 -21
- package/dist/esm/guards.js.map +1 -1
- package/dist/esm/index.d.ts +146 -51
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/schema.d.ts +84 -18
- package/dist/esm/schema.d.ts.map +1 -1
- package/dist/esm/schema.js +107 -22
- package/dist/esm/schema.js.map +1 -1
- package/dist/esm/types.d.ts +171 -9
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/use.d.ts.map +1 -1
- package/dist/esm/use.js +15 -1
- package/dist/esm/use.js.map +1 -1
- package/dist/esm/util.d.ts +66 -50
- package/dist/esm/util.d.ts.map +1 -1
- package/dist/esm/util.js +153 -154
- package/dist/esm/util.js.map +1 -1
- package/dist/esm/value-to-schema.d.ts +122 -0
- package/dist/esm/value-to-schema.d.ts.map +1 -0
- package/dist/esm/value-to-schema.js +325 -0
- package/dist/esm/value-to-schema.js.map +1 -0
- package/package.json +16 -13
- package/src/assertion/assertion-async.ts +113 -3
- package/src/assertion/assertion-sync.ts +5 -2
- package/src/assertion/assertion-types.ts +14 -4
- package/src/assertion/assertion.ts +2 -17
- package/src/assertion/impl/async.ts +137 -93
- package/src/assertion/impl/callback.ts +882 -0
- package/src/assertion/impl/index.ts +1 -1
- package/src/assertion/impl/sync-basic.ts +5 -2
- package/src/assertion/impl/sync-collection.ts +3 -3
- package/src/assertion/impl/sync-esoteric.ts +2 -2
- package/src/assertion/impl/sync-parametric.ts +47 -54
- package/src/assertion/impl/sync.ts +3 -0
- package/src/bootstrap.ts +1 -2
- package/src/constant.ts +10 -0
- package/src/error.ts +57 -3
- package/src/expect.ts +6 -2
- package/src/guards.ts +125 -18
- package/src/index.ts +3 -0
- package/src/schema.ts +121 -23
- package/src/types.ts +205 -10
- package/src/use.ts +22 -0
- package/src/util.ts +168 -223
- package/src/value-to-schema.ts +489 -0
package/dist/esm/expect.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Debug from 'debug';
|
|
2
2
|
import { inspect } from 'util';
|
|
3
3
|
import { createAssertion, createAsyncAssertion } from './assertion/create.js';
|
|
4
|
-
import { AssertionError, NegatedAssertionError } from './error.js';
|
|
4
|
+
import { AssertionError, FailAssertionError, NegatedAssertionError, } from './error.js';
|
|
5
5
|
import { isAssertionFailure, isString } from './guards.js';
|
|
6
6
|
import { createUse } from './use.js';
|
|
7
7
|
const debug = Debug('bupkis:expect');
|
|
@@ -303,7 +303,7 @@ const detectNegation = (phrase) => {
|
|
|
303
303
|
};
|
|
304
304
|
};
|
|
305
305
|
const fail = (reason) => {
|
|
306
|
-
throw new
|
|
306
|
+
throw new FailAssertionError({ message: reason });
|
|
307
307
|
};
|
|
308
308
|
export function createBaseExpect(syncAssertions, asyncAssertions, type) {
|
|
309
309
|
return type === 'sync'
|
package/dist/esm/expect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expect.js","sourceRoot":"","sources":["../../src/expect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAgB/B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,
|
|
1
|
+
{"version":3,"file":"expect.js","sourceRoot":"","sources":["../../src/expect.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/guards.d.ts
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { type Primitive } from 'type-fest';
|
|
19
19
|
import { z } from 'zod/v4';
|
|
20
|
-
import type { Constructor } from './types.js';
|
|
20
|
+
import type { Constructor, ExpectItExecutor, ZodTypeMap } from './types.js';
|
|
21
21
|
/**
|
|
22
22
|
* Returns `true` if the given value looks like a Zod v4 schema, determined by
|
|
23
23
|
* the presence of an internal {@link z.core.$ZodTypeDef} field.
|
|
@@ -25,13 +25,31 @@ import type { Constructor } from './types.js';
|
|
|
25
25
|
* Note: This relies on Zod's internal shape and is intended for runtime
|
|
26
26
|
* discrimination within this library.
|
|
27
27
|
*
|
|
28
|
-
* @template T
|
|
28
|
+
* @template T - The specific ZodType to check for (based on def.type)
|
|
29
29
|
* @param value - Value to test
|
|
30
30
|
* @returns Whether the value is `ZodType`-like
|
|
31
31
|
*/
|
|
32
|
-
export declare
|
|
32
|
+
export declare function isZodType<T extends keyof ZodTypeMap>(value: unknown, type: T): value is ZodTypeMap[T];
|
|
33
33
|
/**
|
|
34
|
-
* Returns true if the given value
|
|
34
|
+
* Returns `true` if the given value looks like a Zod v4 schema, determined by
|
|
35
|
+
* the presence of an internal {@link z.core.$ZodTypeDef} field.
|
|
36
|
+
*
|
|
37
|
+
* Note: This relies on Zod's internal shape and is intended for runtime
|
|
38
|
+
* discrimination within this library.
|
|
39
|
+
*
|
|
40
|
+
* @param value - Value to test
|
|
41
|
+
* @returns Whether the value is `ZodType`-like
|
|
42
|
+
*/
|
|
43
|
+
export declare function isZodType(value: unknown): value is z.ZodType;
|
|
44
|
+
/**
|
|
45
|
+
* Type guard for a plain object.
|
|
46
|
+
*
|
|
47
|
+
* @param value Value to test
|
|
48
|
+
* @returns `true` if the value is a plain object, `false` otherwise
|
|
49
|
+
*/
|
|
50
|
+
export declare const isObject: (value: unknown) => value is NonNullable<object>;
|
|
51
|
+
/**
|
|
52
|
+
* Returns `true` if the given value is a {@link z.ZodPromise} schema.
|
|
35
53
|
*
|
|
36
54
|
* @param value - Value to test
|
|
37
55
|
* @returns `true` if the value is a `ZodPromise` schema; `false` otherwise
|
|
@@ -59,7 +77,7 @@ export declare const isPromiseLike: (value: unknown) => value is PromiseLike<unk
|
|
|
59
77
|
* @param fn - Function to test
|
|
60
78
|
* @returns Whether the function is constructable
|
|
61
79
|
*/
|
|
62
|
-
export declare const
|
|
80
|
+
export declare const isConstructible: (fn: unknown) => fn is Constructor;
|
|
63
81
|
/**
|
|
64
82
|
* Type guard for a boolean value
|
|
65
83
|
*
|
|
@@ -95,6 +113,79 @@ export declare const isNonNullObject: (value: unknown) => value is object;
|
|
|
95
113
|
* @returns `true` if the value is null or not an object, `false` otherwise
|
|
96
114
|
*/
|
|
97
115
|
export declare const isNullOrNonObject: (value: unknown) => value is null | Primitive;
|
|
116
|
+
/**
|
|
117
|
+
* Generic type guard for instanceof checks.
|
|
118
|
+
*
|
|
119
|
+
* This function provides a type-safe way to check if a value is an instance of
|
|
120
|
+
* a given constructor, with proper type narrowing for TypeScript. It combines
|
|
121
|
+
* the null/object check with instanceof to ensure the value is a valid object
|
|
122
|
+
* before performing the instance check.
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
*
|
|
126
|
+
* ```typescript
|
|
127
|
+
* const obj = new Date();
|
|
128
|
+
* if (isA(obj, Date)) {
|
|
129
|
+
* // obj is now typed as Date
|
|
130
|
+
* console.log(obj.getTime());
|
|
131
|
+
* }
|
|
132
|
+
* ```
|
|
133
|
+
*
|
|
134
|
+
* @template T - The constructor type to check against
|
|
135
|
+
* @param value - Value to test
|
|
136
|
+
* @param ctor - Constructor function to check instanceof
|
|
137
|
+
* @returns `true` if the value is an instance of the constructor, `false`
|
|
138
|
+
* otherwise
|
|
139
|
+
*/
|
|
98
140
|
export declare const isA: <T extends Constructor>(value: unknown, ctor: T) => value is InstanceType<T>;
|
|
141
|
+
/**
|
|
142
|
+
* Type guard for Error instances.
|
|
143
|
+
*
|
|
144
|
+
* This function checks if a value is an instance of the Error class or any of
|
|
145
|
+
* its subclasses. It's useful for error handling and type narrowing when
|
|
146
|
+
* working with unknown values that might be errors.
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
*
|
|
150
|
+
* ```typescript
|
|
151
|
+
* try {
|
|
152
|
+
* throw new TypeError('Something went wrong');
|
|
153
|
+
* } catch (err) {
|
|
154
|
+
* if (isError(err)) {
|
|
155
|
+
* // err is now typed as Error
|
|
156
|
+
* console.log(err.message);
|
|
157
|
+
* }
|
|
158
|
+
* }
|
|
159
|
+
* ```
|
|
160
|
+
*
|
|
161
|
+
* @param value - Value to test
|
|
162
|
+
* @returns `true` if the value is an Error instance, `false` otherwise
|
|
163
|
+
*/
|
|
99
164
|
export declare const isError: (value: unknown) => value is Error;
|
|
165
|
+
/**
|
|
166
|
+
* Type guard for {@link ExpectItExecutor} functions.
|
|
167
|
+
*
|
|
168
|
+
* This function checks if a value is an {@link ExpectItExecutor} function
|
|
169
|
+
* created by {@link bupkis!expect.it | expect.it()}. {@link ExpectItExecutor}
|
|
170
|
+
* functions are special functions that contain assertion logic and are marked
|
|
171
|
+
* with an internal symbol for identification. They are used in nested
|
|
172
|
+
* assertions within "to satisfy" patterns and other complex assertion
|
|
173
|
+
* scenarios.
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
*
|
|
177
|
+
* ```typescript
|
|
178
|
+
* const executor = expect.it('to be a string');
|
|
179
|
+
* if (isExpectItExecutor(executor)) {
|
|
180
|
+
* // executor is now typed as ExpectItExecutor
|
|
181
|
+
* // Can be used in satisfaction patterns
|
|
182
|
+
* }
|
|
183
|
+
* ```
|
|
184
|
+
*
|
|
185
|
+
* @template Subject - The subject type that the executor function operates on
|
|
186
|
+
* @param value - Value to test
|
|
187
|
+
* @returns `true` if the value is an ExpectItExecutor function, `false`
|
|
188
|
+
* otherwise
|
|
189
|
+
*/
|
|
190
|
+
export declare const isExpectItExecutor: <Subject extends z.ZodType = z.ZodUnknown>(value: unknown) => value is ExpectItExecutor<Subject>;
|
|
100
191
|
//# sourceMappingURL=guards.d.ts.map
|
package/dist/esm/guards.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAO3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAO3B,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI5E;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,UAAU,EAClD,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,CAAC,GACN,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAC1B;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC;AAkB9D;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAAW,CAAC,MAAM,CAEpE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,CAAC,CAAC,UAC5B,CAAC;AAE9B;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CACb,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,GAAI,IAAI,OAAO,KAAG,EAAE,IAAI,WAYnD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OACxB,CAAC;AAE7B;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAC5C,CAAC;AA6B9B;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MACxB,CAAC;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MACb,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,IAAI,GAAG,SACtB,CAAC;AAyB9C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,WAAW,EACvC,OAAO,OAAO,EACd,MAAM,CAAC,KACN,KAAK,IAAI,YAAY,CAAC,CAAC,CAEzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,KAA0B,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,EACzE,OAAO,OAAO,KACb,KAAK,IAAI,gBAAgB,CAAC,OAAO,CAEnC,CAAC"}
|
package/dist/esm/guards.js
CHANGED
|
@@ -16,40 +16,42 @@
|
|
|
16
16
|
* @packageDocumentation
|
|
17
17
|
*/
|
|
18
18
|
import { z } from 'zod/v4';
|
|
19
|
+
import { kExpectIt } from './constant.js';
|
|
20
|
+
export function isZodType(value, type) {
|
|
21
|
+
const isValid = isObject(value) &&
|
|
22
|
+
'def' in value &&
|
|
23
|
+
!!value.def &&
|
|
24
|
+
typeof value.def === 'object' &&
|
|
25
|
+
'type' in value.def;
|
|
26
|
+
if (!isValid)
|
|
27
|
+
return false;
|
|
28
|
+
if (type === undefined)
|
|
29
|
+
return true;
|
|
30
|
+
return value.def.type === type;
|
|
31
|
+
}
|
|
19
32
|
/**
|
|
20
|
-
*
|
|
21
|
-
* the presence of an internal {@link z.core.$ZodTypeDef} field.
|
|
22
|
-
*
|
|
23
|
-
* Note: This relies on Zod's internal shape and is intended for runtime
|
|
24
|
-
* discrimination within this library.
|
|
33
|
+
* Type guard for a plain object.
|
|
25
34
|
*
|
|
26
|
-
* @
|
|
27
|
-
* @
|
|
28
|
-
* @returns Whether the value is `ZodType`-like
|
|
35
|
+
* @param value Value to test
|
|
36
|
+
* @returns `true` if the value is a plain object, `false` otherwise
|
|
29
37
|
*/
|
|
30
|
-
export const
|
|
31
|
-
typeof value === 'object' &&
|
|
32
|
-
|
|
33
|
-
value.def &&
|
|
34
|
-
typeof value.def === 'object' &&
|
|
35
|
-
'type' in value.def);
|
|
38
|
+
export const isObject = (value) => {
|
|
39
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
40
|
+
};
|
|
36
41
|
/**
|
|
37
|
-
* Returns true if the given value is a {@link z.ZodPromise} schema.
|
|
42
|
+
* Returns `true` if the given value is a {@link z.ZodPromise} schema.
|
|
38
43
|
*
|
|
39
44
|
* @param value - Value to test
|
|
40
45
|
* @returns `true` if the value is a `ZodPromise` schema; `false` otherwise
|
|
41
46
|
*/
|
|
42
|
-
export const isZodPromise = (value) => isZodType(value
|
|
47
|
+
export const isZodPromise = (value) => isZodType(value, 'promise');
|
|
43
48
|
/**
|
|
44
49
|
* Checks if a value is "promise-like", meaning it is a "thenable" object.
|
|
45
50
|
*
|
|
46
51
|
* @param value - Value to test
|
|
47
52
|
* @returns `true` if the value is promise-like, `false` otherwise
|
|
48
53
|
*/
|
|
49
|
-
export const isPromiseLike = (value) =>
|
|
50
|
-
typeof value === 'object' &&
|
|
51
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
52
|
-
typeof value.then === 'function');
|
|
54
|
+
export const isPromiseLike = (value) => isObject(value) && 'then' in value && isFunction(value.then);
|
|
53
55
|
/**
|
|
54
56
|
* Returns `true` if the given value is a constructable function (i.e., a
|
|
55
57
|
* class).
|
|
@@ -65,7 +67,7 @@ export const isPromiseLike = (value) => !!(value &&
|
|
|
65
67
|
* @param fn - Function to test
|
|
66
68
|
* @returns Whether the function is constructable
|
|
67
69
|
*/
|
|
68
|
-
export const
|
|
70
|
+
export const isConstructible = (fn) => {
|
|
69
71
|
if (fn === Symbol || fn === BigInt) {
|
|
70
72
|
return false;
|
|
71
73
|
}
|
|
@@ -153,8 +155,83 @@ export const isPhraseLiteralChoice = (value) => Array.isArray(value) && value.ev
|
|
|
153
155
|
* @internal
|
|
154
156
|
*/
|
|
155
157
|
export const isPhraseLiteral = (value) => isString(value) && !value.startsWith('not ');
|
|
158
|
+
/**
|
|
159
|
+
* Generic type guard for instanceof checks.
|
|
160
|
+
*
|
|
161
|
+
* This function provides a type-safe way to check if a value is an instance of
|
|
162
|
+
* a given constructor, with proper type narrowing for TypeScript. It combines
|
|
163
|
+
* the null/object check with instanceof to ensure the value is a valid object
|
|
164
|
+
* before performing the instance check.
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
*
|
|
168
|
+
* ```typescript
|
|
169
|
+
* const obj = new Date();
|
|
170
|
+
* if (isA(obj, Date)) {
|
|
171
|
+
* // obj is now typed as Date
|
|
172
|
+
* console.log(obj.getTime());
|
|
173
|
+
* }
|
|
174
|
+
* ```
|
|
175
|
+
*
|
|
176
|
+
* @template T - The constructor type to check against
|
|
177
|
+
* @param value - Value to test
|
|
178
|
+
* @param ctor - Constructor function to check instanceof
|
|
179
|
+
* @returns `true` if the value is an instance of the constructor, `false`
|
|
180
|
+
* otherwise
|
|
181
|
+
*/
|
|
156
182
|
export const isA = (value, ctor) => {
|
|
157
183
|
return isNonNullObject(value) && value instanceof ctor;
|
|
158
184
|
};
|
|
185
|
+
/**
|
|
186
|
+
* Type guard for Error instances.
|
|
187
|
+
*
|
|
188
|
+
* This function checks if a value is an instance of the Error class or any of
|
|
189
|
+
* its subclasses. It's useful for error handling and type narrowing when
|
|
190
|
+
* working with unknown values that might be errors.
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
*
|
|
194
|
+
* ```typescript
|
|
195
|
+
* try {
|
|
196
|
+
* throw new TypeError('Something went wrong');
|
|
197
|
+
* } catch (err) {
|
|
198
|
+
* if (isError(err)) {
|
|
199
|
+
* // err is now typed as Error
|
|
200
|
+
* console.log(err.message);
|
|
201
|
+
* }
|
|
202
|
+
* }
|
|
203
|
+
* ```
|
|
204
|
+
*
|
|
205
|
+
* @param value - Value to test
|
|
206
|
+
* @returns `true` if the value is an Error instance, `false` otherwise
|
|
207
|
+
*/
|
|
159
208
|
export const isError = (value) => isA(value, Error);
|
|
209
|
+
/**
|
|
210
|
+
* Type guard for {@link ExpectItExecutor} functions.
|
|
211
|
+
*
|
|
212
|
+
* This function checks if a value is an {@link ExpectItExecutor} function
|
|
213
|
+
* created by {@link bupkis!expect.it | expect.it()}. {@link ExpectItExecutor}
|
|
214
|
+
* functions are special functions that contain assertion logic and are marked
|
|
215
|
+
* with an internal symbol for identification. They are used in nested
|
|
216
|
+
* assertions within "to satisfy" patterns and other complex assertion
|
|
217
|
+
* scenarios.
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
*
|
|
221
|
+
* ```typescript
|
|
222
|
+
* const executor = expect.it('to be a string');
|
|
223
|
+
* if (isExpectItExecutor(executor)) {
|
|
224
|
+
* // executor is now typed as ExpectItExecutor
|
|
225
|
+
* // Can be used in satisfaction patterns
|
|
226
|
+
* }
|
|
227
|
+
* ```
|
|
228
|
+
*
|
|
229
|
+
* @template Subject - The subject type that the executor function operates on
|
|
230
|
+
* @param value - Value to test
|
|
231
|
+
* @returns `true` if the value is an ExpectItExecutor function, `false`
|
|
232
|
+
* otherwise
|
|
233
|
+
*/
|
|
234
|
+
export const isExpectItExecutor = (value) => {
|
|
235
|
+
return isFunction(value) && kExpectIt in value && value[kExpectIt] === true;
|
|
236
|
+
};
|
|
160
237
|
//# sourceMappingURL=guards.js.map
|
package/dist/esm/guards.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAS3B
|
|
1
|
+
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/guards.ts"],"names":[],"mappings":"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"}
|