Course: ZodObject<
{
id: $ZodBranded<ZodUUID, "CourseId", "out">;
slug: $ZodBranded<ZodString, "Slug", "out">;
title: ZodString;
description: ZodString;
language: ZodString;
lessonCount: ZodNumber;
moduleCount: ZodNumber;
sequence: ZodNumber;
track: ZodEnum<{ level: "level"; reference: "reference" }>;
outcomes: ZodOptional<ZodArray<ZodString>>;
audience: ZodOptional<ZodString>;
highlights: ZodOptional<ZodArray<ZodString>>;
sounds: ZodOptional<
ZodObject<
{ vowels: ZodArray<ZodString>; consonants: ZodArray<ZodString> },
$strip,
>,
>;
translations: ZodOptional<
ZodRecord<
ZodString,
ZodObject<
{
description: ZodOptional<ZodString>;
outcomes: ZodOptional<ZodArray<ZodString>>;
audience: ZodOptional<ZodString>;
highlights: ZodOptional<ZodArray<ZodString>>;
},
$strip,
>,
>,
>;
},
$strip,
> = ...
A course in the platform. The hexágono does not know the subject —
languageis data, not behavior. A "course" of cooking would satisfy the same schema.