import { ValueObject } from '@globalart/ddd';
import { z } from 'zod';

export const {{camelCase name}}Schema = z.string().trim().min(1);

export class {{pascalCase name}} extends ValueObject<string> {
  private constructor(value: string) {
    super({
      value,
    });
  }

  static create(value: string): {{pascalCase name}} {
    return new this({{camelCase name}}Schema.parse(value));
  }

  get value(): string {
    return this.props.value;
  }
}