bupkis 0.1.2 → 0.3.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 +28 -0
- package/README.md +16 -16
- 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 +39 -84
- 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/create.d.ts +5 -33
- package/dist/commonjs/assertion/create.d.ts.map +1 -1
- package/dist/commonjs/assertion/create.js +17 -6
- package/dist/commonjs/assertion/create.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 +114 -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-esoteric.js +1 -1
- package/dist/commonjs/assertion/impl/sync-esoteric.js.map +1 -1
- package/dist/commonjs/assertion/impl/sync-parametric.d.ts +37 -34
- package/dist/commonjs/assertion/impl/sync-parametric.d.ts.map +1 -1
- package/dist/commonjs/assertion/impl/sync-parametric.js +32 -47
- package/dist/commonjs/assertion/impl/sync-parametric.js.map +1 -1
- package/dist/commonjs/assertion/impl/sync.d.ts +105 -58
- 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 +199 -85
- package/dist/commonjs/bootstrap.d.ts.map +1 -1
- package/dist/commonjs/bootstrap.js +19 -10
- package/dist/commonjs/bootstrap.js.map +1 -1
- package/dist/commonjs/constant.js +7 -1
- package/dist/commonjs/constant.js.map +1 -1
- package/dist/commonjs/error.d.ts +32 -5
- package/dist/commonjs/error.d.ts.map +1 -1
- package/dist/commonjs/error.js +60 -5
- package/dist/commonjs/error.js.map +1 -1
- package/dist/commonjs/expect.d.ts +130 -3
- package/dist/commonjs/expect.d.ts.map +1 -1
- package/dist/commonjs/expect.js +116 -1
- package/dist/commonjs/expect.js.map +1 -1
- package/dist/commonjs/guards.d.ts +45 -20
- package/dist/commonjs/guards.d.ts.map +1 -1
- package/dist/commonjs/guards.js +56 -40
- package/dist/commonjs/guards.js.map +1 -1
- package/dist/commonjs/index.d.ts +241 -86
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +44 -42
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/metadata.d.ts +1 -27
- package/dist/commonjs/metadata.d.ts.map +1 -1
- package/dist/commonjs/metadata.js +16 -15
- package/dist/commonjs/metadata.js.map +1 -1
- package/dist/commonjs/schema.d.ts +76 -33
- package/dist/commonjs/schema.d.ts.map +1 -1
- package/dist/commonjs/schema.js +77 -34
- package/dist/commonjs/schema.js.map +1 -1
- package/dist/commonjs/types.d.ts +480 -39
- package/dist/commonjs/types.d.ts.map +1 -1
- package/dist/commonjs/types.js +12 -2
- package/dist/commonjs/types.js.map +1 -1
- package/dist/commonjs/util.d.ts +72 -49
- package/dist/commonjs/util.d.ts.map +1 -1
- package/dist/commonjs/util.js +175 -155
- 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 +309 -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 +39 -84
- 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/create.d.ts +5 -33
- package/dist/esm/assertion/create.d.ts.map +1 -1
- package/dist/esm/assertion/create.js +14 -4
- package/dist/esm/assertion/create.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 +113 -89
- 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-esoteric.js +2 -2
- package/dist/esm/assertion/impl/sync-esoteric.js.map +1 -1
- package/dist/esm/assertion/impl/sync-parametric.d.ts +37 -34
- package/dist/esm/assertion/impl/sync-parametric.d.ts.map +1 -1
- package/dist/esm/assertion/impl/sync-parametric.js +32 -47
- package/dist/esm/assertion/impl/sync-parametric.js.map +1 -1
- package/dist/esm/assertion/impl/sync.d.ts +105 -58
- 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 +199 -85
- package/dist/esm/bootstrap.d.ts.map +1 -1
- package/dist/esm/bootstrap.js +19 -10
- package/dist/esm/bootstrap.js.map +1 -1
- package/dist/esm/constant.js +6 -0
- package/dist/esm/constant.js.map +1 -1
- package/dist/esm/error.d.ts +32 -5
- package/dist/esm/error.d.ts.map +1 -1
- package/dist/esm/error.js +59 -5
- package/dist/esm/error.js.map +1 -1
- package/dist/esm/expect.d.ts +130 -3
- package/dist/esm/expect.d.ts.map +1 -1
- package/dist/esm/expect.js +117 -2
- package/dist/esm/expect.js.map +1 -1
- package/dist/esm/guards.d.ts +45 -20
- package/dist/esm/guards.d.ts.map +1 -1
- package/dist/esm/guards.js +48 -31
- package/dist/esm/guards.js.map +1 -1
- package/dist/esm/index.d.ts +241 -86
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +46 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/metadata.d.ts +1 -27
- package/dist/esm/metadata.d.ts.map +1 -1
- package/dist/esm/metadata.js +2 -1
- package/dist/esm/metadata.js.map +1 -1
- package/dist/esm/schema.d.ts +76 -33
- package/dist/esm/schema.d.ts.map +1 -1
- package/dist/esm/schema.js +77 -34
- package/dist/esm/schema.js.map +1 -1
- package/dist/esm/types.d.ts +480 -39
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +12 -2
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/util.d.ts +72 -49
- package/dist/esm/util.d.ts.map +1 -1
- package/dist/esm/util.js +159 -153
- 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 +305 -0
- package/dist/esm/value-to-schema.js.map +1 -0
- package/package.json +94 -17
- package/src/assertion/assertion-async.ts +113 -3
- package/src/assertion/assertion-sync.ts +5 -2
- package/src/assertion/assertion-types.ts +52 -45
- package/src/assertion/assertion.ts +2 -17
- package/src/assertion/create.ts +16 -65
- package/src/assertion/impl/async.ts +132 -92
- package/src/assertion/impl/callback.ts +882 -0
- package/src/assertion/impl/index.ts +1 -1
- package/src/assertion/impl/sync-esoteric.ts +2 -2
- package/src/assertion/impl/sync-parametric.ts +41 -49
- package/src/assertion/impl/sync.ts +3 -0
- package/src/bootstrap.ts +21 -11
- package/src/constant.ts +8 -0
- package/src/error.ts +75 -4
- package/src/expect.ts +275 -20
- package/src/guards.ts +74 -69
- package/src/index.ts +72 -11
- package/src/metadata.ts +3 -4
- package/src/schema.ts +80 -36
- package/src/types.ts +625 -72
- package/src/util.ts +174 -222
- package/src/value-to-schema.ts +464 -0
- package/dist/commonjs/api.d.ts +0 -93
- package/dist/commonjs/api.d.ts.map +0 -1
- package/dist/commonjs/api.js +0 -8
- package/dist/commonjs/api.js.map +0 -1
- package/dist/esm/api.d.ts +0 -93
- package/dist/esm/api.d.ts.map +0 -1
- package/dist/esm/api.js +0 -7
- package/dist/esm/api.js.map +0 -1
- package/src/api.ts +0 -149
- package/src/schema.md +0 -15
package/src/api.ts
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Contains the main API types
|
|
3
|
-
*
|
|
4
|
-
* @packageDocumentation
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import type { TupleToUnion, UnionToIntersection } from 'type-fest';
|
|
8
|
-
|
|
9
|
-
import type {
|
|
10
|
-
AnyAsyncAssertion,
|
|
11
|
-
AnyAsyncAssertions,
|
|
12
|
-
AnySyncAssertion,
|
|
13
|
-
AnySyncAssertions,
|
|
14
|
-
BuiltinAsyncAssertions,
|
|
15
|
-
BuiltinSyncAssertions,
|
|
16
|
-
} from './assertion/assertion-types.js';
|
|
17
|
-
import type {
|
|
18
|
-
createAssertion,
|
|
19
|
-
createAsyncAssertion,
|
|
20
|
-
} from './assertion/create.js';
|
|
21
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
22
|
-
import type { expect, expectAsync } from './bootstrap.js';
|
|
23
|
-
|
|
24
|
-
import {
|
|
25
|
-
type InferredExpectSlots,
|
|
26
|
-
type MutableOrReadonly,
|
|
27
|
-
type UseFn,
|
|
28
|
-
} from './types.js';
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Base set of properties included in both {@link Expect} and {@link ExpectAsync}.
|
|
32
|
-
*/
|
|
33
|
-
export interface BaseExpect {
|
|
34
|
-
/**
|
|
35
|
-
* Creates a new synchronous assertion.
|
|
36
|
-
*/
|
|
37
|
-
createAssertion: typeof createAssertion;
|
|
38
|
-
/**
|
|
39
|
-
* Creates a new asynchronous assertion.
|
|
40
|
-
*/
|
|
41
|
-
createAsyncAssertion: typeof createAsyncAssertion;
|
|
42
|
-
/**
|
|
43
|
-
* Fails immediately with optional `reason`.
|
|
44
|
-
*
|
|
45
|
-
* @param reason Reason for failure
|
|
46
|
-
* @throws {AssertionError}
|
|
47
|
-
*/
|
|
48
|
-
fail(this: void, reason?: string): never;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* The main synchronous assertion function.
|
|
53
|
-
*
|
|
54
|
-
* Contains properties in {@link ExpectSyncProps}.
|
|
55
|
-
*
|
|
56
|
-
* @template T All synchronous assertions available
|
|
57
|
-
* @template U All asynchronous assertions available; for use in
|
|
58
|
-
* {@link ExpectSyncProps.use}
|
|
59
|
-
* @useDeclaredType
|
|
60
|
-
* @see {@link expect}
|
|
61
|
-
*/
|
|
62
|
-
|
|
63
|
-
export type Expect<
|
|
64
|
-
T extends AnySyncAssertions = BuiltinSyncAssertions,
|
|
65
|
-
U extends AnyAsyncAssertions = BuiltinAsyncAssertions,
|
|
66
|
-
> = ExpectFunction<T> & ExpectSyncProps<T, U>;
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* The main asynchronous assertion function.
|
|
70
|
-
*
|
|
71
|
-
* Contains properties in {@link ExpectSyncProps}.
|
|
72
|
-
*
|
|
73
|
-
* @useDeclaredType
|
|
74
|
-
* @see {@link expectAsync}
|
|
75
|
-
*/
|
|
76
|
-
|
|
77
|
-
export type ExpectAsync<
|
|
78
|
-
T extends AnyAsyncAssertions = BuiltinAsyncAssertions,
|
|
79
|
-
U extends AnySyncAssertions = BuiltinSyncAssertions,
|
|
80
|
-
> = ExpectAsyncFunction<T> & ExpectAsyncProps<T, U>;
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* All function overloads for `expectAsync()`; part of {@link ExpectAsync}.
|
|
84
|
-
*/
|
|
85
|
-
|
|
86
|
-
export type ExpectAsyncFunction<
|
|
87
|
-
T extends AnyAsyncAssertions = BuiltinAsyncAssertions,
|
|
88
|
-
> = UnionToIntersection<
|
|
89
|
-
TupleToUnion<{
|
|
90
|
-
[K in keyof T]: T[K] extends AnyAsyncAssertion
|
|
91
|
-
? (
|
|
92
|
-
...args: MutableOrReadonly<InferredExpectSlots<T[K]['parts']>>
|
|
93
|
-
) => Promise<void>
|
|
94
|
-
: never;
|
|
95
|
-
}>
|
|
96
|
-
>;
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Properties available on `expectAsync()`; part of {@link ExpectAsync}.
|
|
100
|
-
*/
|
|
101
|
-
|
|
102
|
-
export interface ExpectAsyncProps<
|
|
103
|
-
T extends AnyAsyncAssertions,
|
|
104
|
-
U extends AnySyncAssertions,
|
|
105
|
-
> extends BaseExpect {
|
|
106
|
-
/**
|
|
107
|
-
* Tuple of all assertions available in this `expect()`.
|
|
108
|
-
*/
|
|
109
|
-
assertions: T;
|
|
110
|
-
/**
|
|
111
|
-
* Function to add more assertions to this `expect()`, returning a new
|
|
112
|
-
* `expect()` and `expectAsync()` pair with the combined assertions.
|
|
113
|
-
*/
|
|
114
|
-
use: UseFn<U, T>;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* All function overloads for `expect()`; part of {@link Expect}.
|
|
119
|
-
*
|
|
120
|
-
* @useDeclaredType
|
|
121
|
-
*/
|
|
122
|
-
export type ExpectFunction<
|
|
123
|
-
T extends AnySyncAssertions = BuiltinSyncAssertions,
|
|
124
|
-
> = UnionToIntersection<
|
|
125
|
-
TupleToUnion<{
|
|
126
|
-
[K in keyof T]: T[K] extends AnySyncAssertion
|
|
127
|
-
? (...args: MutableOrReadonly<InferredExpectSlots<T[K]['parts']>>) => void
|
|
128
|
-
: never;
|
|
129
|
-
}>
|
|
130
|
-
>;
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Properties for `expect()`; part of {@link Expect}.
|
|
134
|
-
*/
|
|
135
|
-
export interface ExpectSyncProps<
|
|
136
|
-
T extends AnySyncAssertions,
|
|
137
|
-
U extends AnyAsyncAssertions,
|
|
138
|
-
> extends BaseExpect {
|
|
139
|
-
/**
|
|
140
|
-
* Tuple of all assertions available in this `expect()`.
|
|
141
|
-
*/
|
|
142
|
-
assertions: T;
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Function to add more assertions to this `expect()`, returning a new
|
|
146
|
-
* `expect()` and `expectAsync()` pair with the combined assertions.
|
|
147
|
-
*/
|
|
148
|
-
use: UseFn<T, U>;
|
|
149
|
-
}
|
package/src/schema.md
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: About Schemas
|
|
3
|
-
group: Documents
|
|
4
|
-
category: 'For Developers'
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# About Schemas
|
|
8
|
-
|
|
9
|
-
The schemas located in [schema.ts](./schema.ts) are used internally, but will be helpful for anyone implementing custom assertions.
|
|
10
|
-
|
|
11
|
-
These contain workarounds for where Zod's concepts and scope conflict with the aim of _BUPKIS_.
|
|
12
|
-
|
|
13
|
-
For example, we have a `FunctionSchema` which accepts any function, regardless of its signature. Zod v4's `z.function()` is no longer a `ZodType` and acts differently, but this schema allows us to validate "is a function" assertions and perform assertion matching.
|
|
14
|
-
|
|
15
|
-
Likewise, `z.promise()` does not parse a `Promise` instance, but rather the resolved value of a promise. This is not what we want for "is a Promise" assertions, so we have `PromiseSchema` to handle that.
|