import { Schema } from "@effect/schema" import * as Model from "./Model.js" import { DateTime } from "effect" export const GroupId = Schema.Number.pipe(Schema.brand("GroupId")) export class Group extends Model.Class("Group")({ id: Model.PrimaryKey(GroupId), name: Schema.NonEmptyTrimmedString, createdAt: Model.CreatedAt, updatedAt: Model.UpdatedAt, }) {} const group = Group.make({ id: GroupId.make(1), name: "Group 1", createdAt: DateTime.unsafeNow(), updatedAt: DateTime.unsafeNow(), }) console.log(Schema.encodeSync(Group.json)(group))