@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.
@@ -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.data, required, defaultValue);
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.data, required, defaultValue);
624
+ return new OrSetSchema(members.$members, required, defaultValue);
622
625
  }
623
626
  Schema.OrSet = OrSet;
624
627
  function Members(...members) {
625
- return { data: members };
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
- data: Members;
10
+ $members: Members;
11
11
  };
12
12
  export type AdditionalValidatorBeforeType = ("beforeAll" | "beforeDefault" | "afterDefault");
13
13
  export type AdditionalValidatorAfterType = ("beforeConversion" | "afterConversion" | "afterAll");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucania/schema",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "A schema module for compile-time and runtime type checking.",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",