Genotype API Documentation - v0.1.0
    Preparing search index...

    Type Alias dna

    dna: <T extends string>(
        template: TemplateStringsArray,
        ...substitutions: string[],
    ) => ValidDNAString<T> extends never ? never : DNASequence<T>

    Template literal tag for standard DNA sequences

    Creates validated DNA sequences that can only contain A, C, G, T. Provides beautiful syntax with full type safety and automatic string widening.

    Type Declaration

      • <T extends string>(
            template: TemplateStringsArray,
            ...substitutions: string[],
        ): ValidDNAString<T> extends never ? never : DNASequence<T>
      • Type Parameters

        • T extends string

        Parameters

        • template: TemplateStringsArray

          Template strings array from template literal

        • ...substitutions: string[]

          Any interpolated values

        Returns ValidDNAString<T> extends never ? never : DNASequence<T>

        Branded DNA sequence that widens to string

    const seq = dna`ATCGATCG`;        // ✅ Valid standard DNA
    const mixed = dna`ATCGatcg`; // ✅ Mixed case OK
    const invalid = dna`ATCGXYZ`; // ❌ Runtime error - X,Y,Z invalid
    const withU = dna`ATCGU`; // ❌ Runtime error - U not in DNA alphabet

    // Automatic string widening
    processSequence(seq); // Works with any function expecting string