Class NumberShape

The shape of a number value.

Hierarchy (view full)

Constructors

Properties

_options: undefined | IssueOptions | Message

The type issue options or the type issue message.

annotations: Dict<any> = {}

The dictionary of shape annotations.

inputs: readonly unknown[]

The array of unique input types and values that are accepted by the shape.

isAsync: boolean

true if the shape allows only Shape.parseAsync and throws an error if Shape.parse is called, or false if the shape can be used in both sync and async contexts.

isCoercing: boolean = false

true if this shape coerces input values to the required type during parsing, or false otherwise.

operations: readonly Operation[] = []

The array of operations that are applied to the shape output.

Methods

  • Synchronously parses the input.

    Parameters

    • input: any

      The shape input to parse.

    • options: ParseOptions

      Parsing options.

    • _nonce: number

      The globally unique number that identifies the parsing process.

    Returns Result<number>

    null if input matches the output, Ok that wraps the output, or an array of captured issues.

  • Asynchronously parses the input.

    Parameters

    • input: unknown

      The shape input to parse.

    • options: ParseOptions

      Parsing options.

    • nonce: number

      The globally unique number that identifies the parsing process.

    Returns Promise<Result<number>>

    null if input matches the output, Ok that wraps the output, or an array of captured issues.

  • Returns input types and literal values that this shape can accept as an input.

    Returns readonly unknown[]

  • Must return true if the shape must be used in async context only, otherwise the shape can be used in both sync and async contexts. Override this method to implement a custom shape.

    Returns boolean

  • Returns true if the shape accepts given input type or value, or false otherwise.

    Parameters

    • input: unknown

      The type or value that must be checked.

    Returns boolean

  • Adds an asynchronous operation to the shape.

    Type Parameters

    • Param

      The param that is passed to the operation when it is applied.

    Parameters

    Returns this

    The clone of the shape.

  • Adds an asynchronous operation to the shape.

    Parameters

    • cb: OperationCallback<PromiseLike<Result<number>>, number>

      The callback that asynchronously applies an operation to the shape output value.

    • Optionaloptions: OperationOptions

      The operation options.

    Returns this

    The clone of the shape.

  • Adds a synchronous operation to the shape.

    Type Parameters

    • Param

      The param that is passed to the operation when it is applied.

    Parameters

    Returns this

    The clone of the shape.

  • Adds a synchronous operation to the shape.

    Parameters

    Returns this

    The clone of the shape.

  • Adds annotations to the shape.

    Parameters

    • annotations: ReadonlyDict<any>

      Annotations to add.

    Returns this

    The clone of the shape with the updated annotations.

  • Returns a sub-shape that describes a value associated with the given property name, or null if there's no such sub-shape.

    Parameters

    • _key: unknown

      The key for which the sub-shape must be retrieved.

    Returns null | AnyShape

    The sub-shape or null if there's no such key in the shape.

  • Adds a synchronous operation that checks that the shape output satisfies a requirement.

    The callback must return null or undefined if value is valid, or an issue or an array of issues if value is invalid. If a callback returns an empty array, it is considered that no issues have occurred.

    Type Parameters

    • Param

      The param that is passed to the operation when it is applied.

    Parameters

    Returns this

    The clone of the shape.

  • Adds a synchronous operation that checks that the shape output satisfies a requirement.

    The callback must return null or undefined if value is valid, or an issue or an array of issues if value is invalid. If a callback returns an empty array, it is considered that no issues have occurred.

    Parameters

    Returns this

    The clone of the shape.

  • Adds an asynchronous operation that checks that the shape output satisfies a requirement.

    The callback must return a promise that is resolved with null or undefined if value is valid, or an issue or an array of issues if value is invalid. If promise resolves with an empty array, it is considered that no issues have occurred.

    Type Parameters

    • Param

      The param that is passed to the operation when it is applied.

    Parameters

    Returns this

    The clone of the shape.

  • Adds an asynchronous operation that checks that the shape output satisfies a requirement.

    The callback must return a promise that is resolved with null or undefined if value is valid, or an issue or an array of issues if value is invalid. If promise resolves with an empty array, it is considered that no issues have occurred.

    Parameters

    Returns this

    The clone of the shape.

  • Enables an input value coercion.

    Returns this

    The clone of the shape.

  • Synchronously parses the value.

    Parameters

    • input: unknown

      The value to parse.

    • Optionaloptions: ParseOptions

      Parsing options.

    Returns number

    The value that conforms the output type of the shape.

    Error if the shape doesn't support the sync parsing, see Shape.isAsync.

    ValidationError if any issues occur during parsing.

  • Asynchronously parses the value.

    Parameters

    • input: unknown

      The value to parse.

    • Optionaloptions: ParseOptions

      Parsing options.

    Returns Promisify<number>

    The promise that resolves with the value that conforms the output type of the shape, or rejects with a ValidationError if any issues occur during parsing.

  • Synchronously parses the value and returns undefined if parsing fails.

    Parameters

    • input: unknown

      The value to parse.

    Returns undefined | number

    The value that conforms the output type of the shape.

    Error if the shape doesn't support the sync parsing, see Shape.isAsync.

  • Synchronously parses the value and returns the default value if parsing fails.

    Type Parameters

    • DefaultValue

      The default value that is returned if parsing fails.

    Parameters

    • input: unknown

      The value to parse.

    • defaultValue: DefaultValue

      The default value that is returned if parsing fails.

    • Optionaloptions: ParseOptions

      Parsing options.

    Returns number | DefaultValue

    The value that conforms the output type of the shape.

    Error if the shape doesn't support the sync parsing, see Shape.isAsync.

  • Asynchronously parses the value and returns undefined value if parsing fails.

    Parameters

    • input: unknown

      The value to parse.

    Returns Promisify<undefined | number>

    The value that conforms the output type of the shape.

  • Asynchronously parses the value and returns the default value if parsing fails.

    Type Parameters

    • DefaultValue

      The default value that is returned if parsing fails.

    Parameters

    • input: unknown

      The value to parse.

    • defaultValue: DefaultValue

      The default value that is returned if parsing fails.

    • Optionaloptions: ParseOptions

      Parsing options.

    Returns Promisify<number | DefaultValue>

    The value that conforms the output type of the shape.

  • Synchronously parses the value and returns Ok or Err object that wraps the result.

    Parameters

    • input: unknown

      The value to parse.

    • Optionaloptions: ParseOptions

      Parsing options.

    Returns Err | Ok<number>

    The Ok instance if parsing has succeeded or Err if parsing has failed.

    Error if the shape doesn't support the sync parsing, see Shape.isAsync.

  • Asynchronously parses the value and returns Ok or Err object that wraps the result.

    Parameters

    • input: unknown

      The value to parse.

    • Optionaloptions: ParseOptions

      Parsing options.

    Returns Promise<Err | Ok<number>>

    The Ok instance if parsing has succeeded or Err if parsing has failed.

Plugin Methods

  • Constrains the number to be between the inclusive minimum and maximum.

    Parameters

    • minValue: number

      The inclusive minimum value.

    • maxValue: number

      The inclusive maximum value.

    • Optionaloptions: IssueOptions | Message

      The issue options or the issue message.

    Returns this

    The clone of the shape.

  • Constrains the number to be a finite number.

    Parameters

    Returns this

    The clone of the shape.

  • Constrains the number to be greater than the value.

    Parameters

    • value: number

      The exclusive minimum value.

    • Optionaloptions: IssueOptions | Message

      The issue options or the issue message.

    Returns this

    The clone of the shape.

  • Constrains the number to be greater than or equal to the value.

    Parameters

    • value: number

      The inclusive minimum value.

    • Optionaloptions: IssueOptions | Message

      The issue options or the issue message.

    Returns this

    The clone of the shape.

  • Constrains the number to be an integer.

    Parameters

    Returns this

    The clone of the shape.

  • Constrains the number to be less than the value.

    Parameters

    • value: number

      The exclusive maximum value.

    • Optionaloptions: IssueOptions | Message

      The issue options or the issue message.

    Returns this

    The clone of the shape.

  • Constrains the number to be less than or equal to the value.

    Parameters

    • value: number

      The inclusive maximum value.

    • Optionaloptions: IssueOptions | Message

      The issue options or the issue message.

    Returns this

    The clone of the shape.

  • Constrains the number to be less than or equal to the value.

    Parameters

    • value: number

      The inclusive maximum value.

    • Optionaloptions: IssueOptions | Message

      The issue options or the issue message.

    Returns this

    The clone of the shape.

  • Constrains the number to be greater than or equal to the value.

    Parameters

    • value: number

      The inclusive minimum value.

    • Optionaloptions: IssueOptions | Message

      The issue options or the issue message.

    Returns this

    The clone of the shape.

  • Constrains the number to be a multiple of the divisor.

    Parameters

    • divisor: number

      The positive number by which the input should be divisible without a remainder.

    • Optionaloptions: Message | MultipleOfOptions

      The check options or the issue message.

    Returns this

    The clone of the shape.

  • Constrains the number to be less than zero.

    Parameters

    Returns this

    The clone of the shape.

  • Constrains the number to be greater or equal to zero.

    Parameters

    Returns this

    The clone of the shape.

  • Constrains the number to be less or equal to zero.

    Parameters

    Returns this

    The clone of the shape.

  • Constrains the number to be greater than zero.

    Parameters

    Returns this

    The clone of the shape.

  • Number must be between Number.MIN_SAFE_INTEGER and Number.MAX_SAFE_INTEGER.

    Parameters

    Returns this

    The clone of the shape.