bupkis
    Preparing search index...

    Type Alias AssertionSlots<Parts>

    AssertionSlots: Parts extends readonly [
        infer First extends AssertionPart,
        ...(infer _ extends AssertionParts),
    ]
        ? First extends PhraseLiteral
        | PhraseLiteralChoice
            ? NoNeverTuple<
                readonly [z.ZodUnknown, ...AssertionPartsToSlots<Parts>],
            >
            : NoNeverTuple<AssertionPartsToSlots<Parts>>
        : never

    Tuple type representing all validation slots derived from assertion parts.

    This type processes assertion parts to create a tuple of Zod schemas that can be used for runtime argument validation. If the first part is a phrase, a subject slot (z.ZodUnknown) is automatically prepended to accept the assertion subject.

    The resulting tuple:

    1. Has never entries filtered out to maintain proper tuple structure
    2. Will include an implicit subject slot AssertionParts with a PhraseLiteral/PhraseLiteralChoice in the first position.
    3. Contains branded slots for PhraseLiterals/PhraseLiteralChoices to enable phrase matching; differentiates from a user-created ZodLiteral.

    Type Parameters

    // Phrase-first assertion gets subject slot
    type Slots1 = AssertionSlots<['to be a string']>;
    // Result: [z.ZodUnknown, PhraseLiteralSlot<'to be a string'>]

    // Schema-first assertion preserves structure
    type Slots2 = AssertionSlots<[z.string(), 'to match', z.regexp()]>;
    // Result: [z.ZodString, PhraseLiteralSlot<'to match'>, z.ZodRegExp]