Class ReplaceShape<BaseShape, InputValue, OutputValue>

The shape that replaces an input value with an output value.

Type Parameters

  • BaseShape extends AnyShape

    The shape that parses the input without the replaced value.

  • InputValue

    The input value to replace.

  • OutputValue

    The output value that is used as the replacement for an input value.

Hierarchy (view full)

Implements

Constructors

Properties

annotations: Dict<any> = {}

The dictionary of shape annotations.

baseShape: BaseShape

The shape that parses the input without the replaced value.

inputs: readonly unknown[]

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

inputValue: InputValue

The input value to replace.

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.

operations: readonly Operation[] = []

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

outputValue: OutputValue

The output value that is returned if an inputValue is received.

Methods

  • 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 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.