@lucania/schema 2.0.1 → 2.0.2
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/build/builder.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ export declare namespace Schema {
|
|
|
42
42
|
function OrSet<MemberSchemas extends BaseSchemaAny[]>(subschema: TypedMembers<MemberSchemas>): OrSetSchema<MemberSchemas, true, undefined>;
|
|
43
43
|
function OrSet<MemberSchemas extends BaseSchemaAny[], Required extends boolean>(subschema: TypedMembers<MemberSchemas>, required: Required): OrSetSchema<MemberSchemas, Required, undefined>;
|
|
44
44
|
function OrSet<MemberSchemas extends BaseSchemaAny[], Required extends boolean, Default extends DefaultValue<OrSetSchemaSource<MemberSchemas>>>(subschema: TypedMembers<MemberSchemas>, required: Required, defaultValue: Default): OrSetSchema<MemberSchemas, Required, Default>;
|
|
45
|
+
function Members<Members extends string[]>(...members: Members): TypedMembers<Members>;
|
|
45
46
|
function Members<Members extends any[]>(...members: Members): TypedMembers<Members>;
|
|
46
47
|
type Model<Schema extends BaseSchemaAny> = Schema extends BaseSchema<infer Source, infer Model, infer Require, infer Default> ? (ModelValue<Source, Model, Require, Default>) : never;
|
|
47
48
|
type Source<Schema extends BaseSchemaAny> = Schema extends BaseSchema<infer Source, any, infer Require, infer Default> ? (SourceValue<Source, Require, Default>) : never;
|
package/build/index.js
CHANGED
|
@@ -109,6 +109,9 @@
|
|
|
109
109
|
});
|
|
110
110
|
return this;
|
|
111
111
|
}
|
|
112
|
+
isRequired() {
|
|
113
|
+
return this._required;
|
|
114
|
+
}
|
|
112
115
|
hasDefault() {
|
|
113
116
|
return this._default !== undefined && this._default !== null;
|
|
114
117
|
}
|
|
@@ -610,7 +613,7 @@
|
|
|
610
613
|
}
|
|
611
614
|
Schema.Array = Array;
|
|
612
615
|
function Enumeration(members, required = true, defaultValue = undefined) {
|
|
613
|
-
return new EnumerationSchema(members
|
|
616
|
+
return new EnumerationSchema(members.$members, required, defaultValue);
|
|
614
617
|
}
|
|
615
618
|
Schema.Enumeration = Enumeration;
|
|
616
619
|
function DynamicObject(subschema, required = true, defaultValue = undefined) {
|
|
@@ -618,11 +621,11 @@
|
|
|
618
621
|
}
|
|
619
622
|
Schema.DynamicObject = DynamicObject;
|
|
620
623
|
function OrSet(members, required = true, defaultValue = undefined) {
|
|
621
|
-
return new OrSetSchema(members
|
|
624
|
+
return new OrSetSchema(members.$members, required, defaultValue);
|
|
622
625
|
}
|
|
623
626
|
Schema.OrSet = OrSet;
|
|
624
627
|
function Members(...members) {
|
|
625
|
-
return {
|
|
628
|
+
return { $members: members };
|
|
626
629
|
}
|
|
627
630
|
Schema.Members = Members;
|
|
628
631
|
})(exports.Schema || (exports.Schema = {}));
|
|
@@ -12,6 +12,7 @@ export declare abstract class BaseSchema<Source, Model, Required extends boolean
|
|
|
12
12
|
custom(additionalValidator: AdditionalValidator<Model>, type: AdditionalValidatorAfterType): this;
|
|
13
13
|
custom(additionalValidator: AdditionalValidator<Model>): this;
|
|
14
14
|
ensure(ensureValidator: EnsureValidator<Model>, message?: string): this;
|
|
15
|
+
isRequired(): Required;
|
|
15
16
|
hasDefault(): boolean;
|
|
16
17
|
isDefaultRuntimeEvaluated(): this is {
|
|
17
18
|
_default: Function;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { BaseSchema } from "../schema/BaseSchema";
|
|
2
|
+
import { ObjectSchema } from "../schema/ObjectSchema";
|
|
2
3
|
import { DefaultValue } from "./toolbox";
|
|
3
4
|
export type BaseSchemaAny = BaseSchema<any, any, boolean, DefaultValue<any>>;
|
|
5
|
+
export type ObjectSchemaAny = ObjectSchema<any, boolean, DefaultValue<any>>;
|
|
@@ -7,7 +7,7 @@ export type ModelRequirement<Layout extends BaseSchemaAny> = (Layout extends Bas
|
|
|
7
7
|
export type ModelValue<Source, Model, Required extends boolean, Default extends DefaultValue<Source>> = (Required extends true ? Model : Default extends undefined ? Model | undefined : Model);
|
|
8
8
|
export type DefaultValue<Type> = undefined | Type | ((pass: ValidationPass) => Type);
|
|
9
9
|
export type TypedMembers<Members> = {
|
|
10
|
-
|
|
10
|
+
$members: Members;
|
|
11
11
|
};
|
|
12
12
|
export type AdditionalValidatorBeforeType = ("beforeAll" | "beforeDefault" | "afterDefault");
|
|
13
13
|
export type AdditionalValidatorAfterType = ("beforeConversion" | "afterConversion" | "afterAll");
|