Skip to content

Class: Field

Abstract class representing a subset of any primitive value type, herein referred to as a fieldtype. For example, a hypothetical class Email extends Field would represent a subset of string (i.e. strings that are valid email addresses). A class which extends Field should define the requirements of its fieldtype by overriding Field.prototype.parse. Instances of Field are used to validate values and compose Schemas.

Hierarchy

  • Field

Text

Number

Index

Constructors

Properties

Methods

Object literals

Constructors

constructor

+ new Field(defaultVal: any, flags: number): Field

Defined in lib/Field.ts:19

Parameters:

Name Type Default Description
defaultVal any undefined A default value.
flags number null A bit field.

Returns: Field

Properties

default

default: any

Defined in lib/Field.ts:13

The value to be returned from Field.prototype.parse when invoked with undefined or null. Note that providing a defualt value effectively renders the field optional.


flags

flags: number

Defined in lib/Field.ts:16

A bit field representing a set of boolean flags.


lastError

lastError: string

Defined in lib/Field.ts:19

The error message produced by the last call to Field.prototype.parse, if it was unsuccessful.

Methods

clone

clone(): Field

Defined in lib/Field.ts:39

Returns a copy of the Field instance.

Returns: Field


hasFlag

hasFlag(flag: number): boolean

Defined in lib/Field.ts:34

Checks if the specified flag is set on Field.prototype.flags.

Parameters:

Name Type Description
flag number A bit mask.

Returns: boolean

A boolean determining whether or not the flag is present.


parse

parse(value: any): Promise‹any›

Defined in lib/Field.ts:48

(async) Checks if the input value is, or can be converted to, a valid case of the instance's fieldtype. If the input is null or undefined, uses the default value in its place.

Parameters:

Name Type Description
value any The value to be parsed.

Returns: Promise‹any›

The parsed value, or undefined if the input was invalid.

Object literals

Static Flags

Flags: object

Defined in lib/Field.ts:5

OPT

OPT: number = 1

Defined in lib/Field.ts:7

OPTIONAL denotes that a field should have a default value of null.

PRV

PRV: number = 2

Defined in lib/Field.ts:9

PRIVATE denotes that a field should not be exposed.