yaschema
    Preparing search index...

    Interface NullSchema

    A generic schema

    interface NullSchema {
        allowNull: () => Schema<null>;
        clone: () => NullSchema;
        cloneValue: SyncCloner<null>;
        cloneValueAsync: AsyncCloner<null>;
        description?: string;
        deserialize: SyncDeserializer<null>;
        deserializeAsync: AsyncDeserializer<null>;
        estimatedValidationTimeComplexity: number;
        example?: string;
        isContainerType: boolean;
        isOrContainsObjectPotentiallyNeedingUnknownKeyRemoval: boolean;
        isYaSchema: true;
        not: <ExcludeT>(
            notSchema: Schema<ExcludeT>,
            options?: { expectedTypeName?: string },
        ) => Schema<Exclude<null, ExcludeT>>;
        optional: () => Schema<undefined | null>;
        parse: SyncParser<null>;
        parseAsync: AsyncParser<null>;
        preferredValidationMode: SchemaPreferredValidationMode;
        schemaType: "null";
        serialize: SyncSerializer<null>;
        serializeAsync: AsyncSerializer<null>;
        setDescription: (description?: string) => this;
        setExample: (example?: string) => this;
        setPreferredValidationMode: (
            validationMode: SchemaPreferredValidationMode,
        ) => this;
        stringify: SyncStringifier<null>;
        stringifyAsync: AsyncStringifier<null>;
        toString: () => string;
        usesCustomSerDes: boolean;
        validate: SyncValidator;
        validateAsync: AsyncValidator;
        valueType: null;
    }

    Hierarchy (View Summary)

    Index

    Properties

    allowNull: () => Schema<null>

    Returns a new schema that requires that either this schema is satisfied or that the value is null.

    clone: () => NullSchema
    cloneValue: SyncCloner<null>

    Deeply clones a value

    if the schema requires async cloning

    cloneValueAsync: AsyncCloner<null>

    Deeply clones a value

    description?: string

    A description, which can be used by code generation tools to generate documentation

    deserialize: SyncDeserializer<null>

    Deserialize (and validate) a value

    if the schema requires async deserialization

    deserializeAsync: AsyncDeserializer<null>

    Deserialize (and validate) a value

    estimatedValidationTimeComplexity: number

    An estimate of the time complexity for validating this element, which should be on the same order of the number of items to be validated

    example?: string

    An example, which can be used by code generation tools to generate documentation

    isContainerType: boolean

    If true, "shallow" ancestor validation mode preferences won't be used when this schemas validation mode preference is "inherit", like other built-in container types

    isOrContainsObjectPotentiallyNeedingUnknownKeyRemoval: boolean

    If true, this schema or any sub-elements have the potential to represent an object value that might need unknown-key removal

    isYaSchema: true

    A marker that can be used for testing if this is a YaSchema schema

    not: <ExcludeT>(
        notSchema: Schema<ExcludeT>,
        options?: { expectedTypeName?: string },
    ) => Schema<Exclude<null, ExcludeT>>

    Returns a new schema that requires that this schema is satisfied but that the specified schema cannot be satisfied.

    optional: () => Schema<undefined | null>

    Returns a new schema that requires that either this schema is satisfied or that the value is undefined.

    parse: SyncParser<null>

    Parse and deserialize a value from a JSON string

    with a DeserializationResult<T> & { error: string } if parsing fails

    if the schema requires async deserialization

    parseAsync: AsyncParser<null>

    Parse and deserialize a value from a JSON string

    with a DeserializationResult<T> & { error: string } if parsing fails

    preferredValidationMode: SchemaPreferredValidationMode

    The preferred validation mode for this schema.

    The lesser level of the preferred validation mode, which will be applied recursively depending on the depth parameter / unless further re-specified, and the specified validation mode, will be used, where the order is none < soft < hard.

    Special Values:

    • "initial" - use the initially specified validation mode for the current operation (ex. the validation field of the options parameter to deserialize).
    • "inherit" - use the closet applicable mode from an ancestor schema level.
    schemaType: "null"

    The type of schema

    serialize: SyncSerializer<null>

    Serialize (and validate) a value

    if the schema requires async serialization

    serializeAsync: AsyncSerializer<null>

    Serialize (and validate) a value

    setDescription: (description?: string) => this

    Sets (replaces) the description metadata for this schema and returns the same schema

    setExample: (example?: string) => this

    Sets (replaces) the example metadata for this schema and returns the same schema

    setPreferredValidationMode: (
        validationMode: SchemaPreferredValidationMode,
    ) => this

    Sets (replaces) the preferred validation mode for this schema and returns the same schema.

    The lesser level of the preferred validation mode, which will be applied recursively depending on the depth parameter / unless further re-specified, and the specified validation mode, will be used, where the order is none < soft < hard.

    Type declaration

      • (validationMode: SchemaPreferredValidationMode): this
      • Parameters

        • validationMode: SchemaPreferredValidationMode

          The preferred validation mode for this schema Special Values:

          • "initial" - use the initially specified validation mode for the current operation (ex. the validation field of the options parameter to deserialize).
          • "inherit" - use the closet applicable mode from an ancestor schema level.

        Returns this

    stringify: SyncStringifier<null>

    Serialize (and validate) and stringify a value

    with a SerializationResult<T> & { error: string } if stringification fails

    if the schema requires async serialization

    stringifyAsync: AsyncStringifier<null>

    Serialize (and validate) and stringify a value

    with a SerializationResult<T> & { error: string } if stringification fails

    toString: () => string

    Makes a string representation of this schema, mostly for debugging

    usesCustomSerDes: boolean

    If true, this schema or any sub-elements have a custom serializer-deserializer

    validate: SyncValidator

    Validate a value. This throws if the schema requires async validation.

    validateAsync: AsyncValidator

    Validate a value

    valueType: null

    The actual value of this field is always undefined, but this should be used for determining the value type represented by this schema, ex. typeof someSchema.valueType