declare const brand: unique symbol;
type NonEmptyString = string & { readonly [brand]: 'NonEmptyString' };
// the ONLY non-cast way to produce one
export function nonEmptyString(s: string): NonEmptyString | undefined {
return s.length > 0 ? (s as NonEmptyString) : undefined;
}
export type { NonEmptyString };
They'll also have a fun time drawing the line. What if someone uses agents to generate boilerplate like tests? Are a few files out of hundreds enough for a ban? If not, are they going to force users to write the code manually? How are they going to verify that?
It's a big can of worms.