@metreeca/qest - v0.12.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.

    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, applied value by value: the pipe yields as many values as the path resolves
    • "partial" — an aggregate (min, max, avg) summarising the input set into a single value, undefined over an empty set
    • "total" — an aggregate (count, sum) summarising the input set into a single value, defined over an empty set too (0)
    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 (year … seconds)
    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