Skip to content

Commit f86848c

Browse files
committed
Release 0.13.27
1 parent 7985f3c commit f86848c

3 files changed

Lines changed: 16 additions & 10 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "pave",
33
"type": "module",
4-
"version": "0.13.26",
4+
"version": "0.13.27",
55
"author": "Casey Foster <c@sey.me>",
66
"license": "MIT",
77
"repository": {

src/index.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@
99
*/
1010

1111
/**
12-
* @template {{
12+
* @typedef {{
1313
* context?: any;
1414
* extensions?: { [K: string]: any };
1515
* typeName?: string;
16-
* }} [A={}]
17-
* Default is `{}`
16+
* }} SchemaOptions
17+
*/
18+
19+
/**
20+
* @template {SchemaOptions} [A={}] Default is `{}`
1821
* @template [_Context=A['context'] extends undefined ? unknown: A['context']]
1922
* Default is `A['context'] extends undefined ? unknown: A['context']`
2023
* @template [_Extensions=A['extensions'] extends undefined ? {} : A['extensions']]
@@ -43,10 +46,11 @@
4346
* : never} SchemaTypeName
4447
*/
4548

49+
/** @typedef {{ input?: any; object?: any; resolvedValue?: {}; value?: any }} TypeOptions */
50+
4651
/**
4752
* @template {Schema<any>} [S=Schema] Default is `Schema`
48-
* @template {{ input?: any; object?: any; resolvedValue?: {}; value?: any }} [A={}]
49-
* Default is `{}`
53+
* @template {TypeOptions} [A={}] Default is `{}`
5054
* @template [Input=A['input'] extends undefined ? unknown : A['input']]
5155
* Default is `A['input'] extends undefined ? unknown : A['input']`
5256
* @template [Object=A['object'] extends undefined ? unknown : A['object']]

types/index.d.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,24 @@ export { validateSchema } from "#types/validate-schema.js";
1111
export { validateValue } from "#types/validate-value.js";
1212
export type Recursive<T> = T | RecursiveArray<T>;
1313
export type RecursiveArray<T> = Recursive<T>[];
14-
export type Schema<A extends {
14+
export type SchemaOptions = {
1515
context?: any;
1616
extensions?: {
1717
[K: string]: any;
1818
};
1919
typeName?: string;
20-
} = {}, _Context = A["context"] extends undefined ? unknown : A["context"], _Extensions = A["extensions"] extends undefined ? {} : A["extensions"], TypeName = A["typeName"] extends undefined ? never : A["typeName"]> = { [K in TypeName extends string ? TypeName : never]: Type<Schema<A>, any>; };
20+
};
21+
export type Schema<A extends SchemaOptions = {}, _Context = A["context"] extends undefined ? unknown : A["context"], _Extensions = A["extensions"] extends undefined ? {} : A["extensions"], TypeName = A["typeName"] extends undefined ? never : A["typeName"]> = { [K in TypeName extends string ? TypeName : never]: Type<Schema<A>, any>; };
2122
export type SchemaContext<S extends Schema<any>> = S extends Schema<infer _, infer Context> ? Context : never;
2223
export type SchemaExtensions<S extends Schema<any>> = S extends Schema<infer _, infer __, infer Extensions> ? Extensions : never;
2324
export type SchemaTypeName<S extends Schema<any>> = S extends Schema<infer _, infer __, infer ___, infer TypeName> ? TypeName : never;
24-
export type Type<S extends Schema<any> = Schema<{}, unknown, unknown, unknown>, A extends {
25+
export type TypeOptions = {
2526
input?: any;
2627
object?: any;
2728
resolvedValue?: {};
2829
value?: any;
29-
} = {}, Input = A["input"] extends undefined ? unknown : A["input"], Object = A["object"] extends undefined ? unknown : A["object"], ResolvedValue = A["resolvedValue"] extends undefined ? {} : A["resolvedValue"], Value = A["value"] extends undefined ? undefined : A["value"]> = Recursive<SchemaTypeName<S> | (({
30+
};
31+
export type Type<S extends Schema<any> = Schema<{}, unknown, unknown, unknown>, A extends TypeOptions = {}, Input = A["input"] extends undefined ? unknown : A["input"], Object = A["object"] extends undefined ? unknown : A["object"], ResolvedValue = A["resolvedValue"] extends undefined ? {} : A["resolvedValue"], Value = A["value"] extends undefined ? undefined : A["value"]> = Recursive<SchemaTypeName<S> | (({
3032
optional: Type<S, any>;
3133
} | {
3234
nullable: Type<S, any>;

0 commit comments

Comments
 (0)