Sanity Library Reference Docs
    Preparing search index...

    Rendering seams — how a host wires its own vocabulary and dialect into the generic templates. Everything is optional; with an empty context the renderer still phrases every solvable shape, just with $var spellings.

    interface DescribeContext {
        atomPatterns?: readonly (
            (
                atom: ConditionAtom,
                ctx: DescribeContext,
            ) => InsightPhrase | undefined
        )[];
        nowParam?: string;
        renderRead?: (read: ConditionRead) => InsightPhrase | undefined;
        renderRequirement?: (
            requirement: AtomRequirement,
        ) => InsightPhrase | undefined;
    }
    Index

    Properties

    atomPatterns?: readonly (
        (atom: ConditionAtom, ctx: DescribeContext) => InsightPhrase | undefined
    )[]

    Extra atom recognizers tried BEFORE the built-ins — the host's canonical desugar shapes.

    nowParam?: string

    Param name whose ordered comparisons phrase as past/future ($now-style clock reads); temporal phrasing is off when absent.

    renderRead?: (read: ConditionRead) => InsightPhrase | undefined

    First-chance read rendering (field titles, var labels); undefined falls through to the generic $var (path) spelling.

    renderRequirement?: (requirement: AtomRequirement) => InsightPhrase | undefined

    First-chance whole-requirement phrasing (domain specials); undefined falls through to the requirement templates.