ENGLISH·COURSE API
    Preparing search index...
    • One course's standing within its catalog.

      Parameters

      • catalog: readonly {
            id: string & $brand<"CourseId">;
            slug: string & $brand<"Slug">;
            title: string;
            description: string;
            language: string;
            lessonCount: number;
            moduleCount: number;
            sequence: number;
            track: "level" | "reference";
            outcomes?: string[];
            audience?: string;
            highlights?: string[];
            sounds?: { vowels: string[]; consonants: string[] };
            translations?: Record<
                string,
                {
                    description?: string;
                    outcomes?: string[];
                    audience?: string;
                    highlights?: string[];
                },
            >;
        }[]

        The catalog the course belongs to

      • course: {
            id: string & $brand<"CourseId">;
            slug: string & $brand<"Slug">;
            title: string;
            description: string;
            language: string;
            lessonCount: number;
            moduleCount: number;
            sequence: number;
            track: "level" | "reference";
            outcomes?: string[];
            audience?: string;
            highlights?: string[];
            sounds?: { vowels: string[]; consonants: string[] };
            translations?: Record<
                string,
                {
                    description?: string;
                    outcomes?: string[];
                    audience?: string;
                    highlights?: string[];
                },
            >;
        }

        The course to stand

        • id: string & $brand<"CourseId">
        • slug: string & $brand<"Slug">
        • title: string
        • description: string
        • language: string
        • lessonCount: number
        • moduleCount: number
        • sequence: number

          The course's place in the catalog, 1-based like Module.sequence. CourseRepository.listAvailable orders on it, so catalog order is data rather than the order an adapter happened to return rows in. It orders level and reference courses alike and is never a level number — that is derived by courseStandings.

        • track: "level" | "reference"
        • Optionaloutcomes?: string[]

          Absent when the course declares none; a surface then shows no outcomes section.

        • Optionalaudience?: string

          Absent when the course declares none; a surface then shows no audience line.

        • Optionalhighlights?: string[]

          Absent when the course declares none; a surface then shows no highlights.

        • Optionalsounds?: { vowels: string[]; consonants: string[] }

          Absent for courses that are not about single sounds.

        • Optionaltranslations?: Record<
              string,
              {
                  description?: string;
                  outcomes?: string[];
                  audience?: string;
                  highlights?: string[];
              },
          >

          The course's prose in other languages; absent when the course declares none.

      Returns CourseStanding

      Its derived standing

      The course is placed among the catalog by its sequence even when the catalog omits it, so a caller holding a single course never has to guess whether it is a level.