@metreeca/qest - v0.10.0
    Preparing search index...

    Type Alias TransformSignature

    Static typing profile of a Transform.

    Captures how a transform derives its output shape from the input path shape: its aggregation kind, the input domain it accepts, and the output processing type it produces. The Transforms table assigns one signature to each Transform, driving both input validation and the cardinality and type of the resulting pipe.

    Transforms for the per-transform signature assignments

    type TransformSignature = {
        aggregate: false | "partial" | "total";
        accepts: "any" | "literal" | "numeric" | "temporal" | "string";
        returns: "same" | "integer" | "decimal" | "string";
    }
    Index

    Properties

    aggregate: false | "partial" | "total"

    The transform's aggregation kind.

    • false — a scalar transform; preserves maxCount from the path
    • "partial" — an aggregate (min, max, avg) that yields undefined on the empty set; sets maxCount to 1 and leaves a non-empty pipe's minCount undefined
    • "total" — an aggregate (count, sum) that always yields a value (0 on the empty set); sets maxCount to 1 and pins a non-empty pipe's minCount to 1
    accepts: "any" | "literal" | "numeric" | "temporal" | "string"

    The transform's input domain.

    A pipe whose input type is wholly outside the domain (references and resources included) is rejected; over a union-typed input, values on the branches outside the domain drop to undefined rather than erroring.

    • "any" — every shape, references and resources included (count)
    • "literal" — the boolean, numeric, string, and temporal processing types (min, max)
    • "numeric" — the numeric processing type only (sum, avg, abs, floor, ceil, round)
    • "string" — the string processing type only (lower, upper, length)
    • "temporal" — the temporal processing type only (yearseconds)
    returns: "same" | "integer" | "decimal" | "string"

    The transform's output processing type.

    • "same" — preserves the input shape (min, max, sum, and the scalar numeric and string transforms)
    • "integer" — fixes the output to an integer (count, length, and the integral temporal components)
    • "decimal" — fixes the output to a decimal (avg, seconds)
    • "string" — fixes the output to a string