Member Junction
    Preparing search index...
    ParamMatcher:
        | { kind: "exact"; value: unknown }
        | { kind: "nonEmptyString" }
        | { kind: "nonEmpty" }
        | { kind: "containsIgnoreCase"; value: string }
        | { kind: "oneOf"; values: unknown[] }
        | { flags?: string; kind: "regex"; pattern: string }
        | { kind: "numberRange"; max?: number; min?: number }
        | {
            kind: "typeOf";
            type: "string" | "number" | "boolean" | "object" | "array";
        }
        | { kind: "absent" }

    One check against one parameter value.

    Type Declaration

    • { kind: "exact"; value: unknown }

      Deep equality against a literal. For enums, ids, booleans, numbers.

    • { kind: "nonEmptyString" }

      The value is a string with non-whitespace content. The weakest useful check.

    • { kind: "nonEmpty" }
    • { kind: "containsIgnoreCase"; value: string }

      Case-insensitive substring. For free text where a keyword must appear.

    • { kind: "oneOf"; values: unknown[] }

      Membership in a fixed set. For value-list parameters.

    • { flags?: string; kind: "regex"; pattern: string }

      A regular expression, supplied as a string with optional flags.

    • { kind: "numberRange"; max?: number; min?: number }

      Numeric bound, either end optional.

    • { kind: "typeOf"; type: "string" | "number" | "boolean" | "object" | "array" }

      The value's JSON type. For asserting shape without asserting content.

    • { kind: "absent" }

      The parameter must be absent or null — for asserting a default was left alone.