// Generated by bynkc — do not edit by hand.
// context commerce.orders

import { Ok, Err, Some, None, type Result, type Option, type ValidationError } from "../runtime.js";

import { CustomerId as __CommonsCustomerId, OrderId as __CommonsOrderId } from "./identifiers.js";
import { Money as __CommonsMoney } from "./money.js";

export type CustomerId = __CommonsCustomerId & { readonly __ctxBrand: "commerce.orders" };
export const CustomerId = {
  of(value: string): Result<CustomerId, ValidationError> { return __CommonsCustomerId.of(value) as unknown as Result<CustomerId, ValidationError>; },
  unsafe(value: string): CustomerId { return __CommonsCustomerId.unsafe(value) as unknown as CustomerId; },
};
export type Money = __CommonsMoney & { readonly __ctxBrand: "commerce.orders" };
export type OrderId = __CommonsOrderId & { readonly __ctxBrand: "commerce.orders" };
export const OrderId = {
  of(value: string): Result<OrderId, ValidationError> { return __CommonsOrderId.of(value) as unknown as Result<OrderId, ValidationError>; },
  unsafe(value: string): OrderId { return __CommonsOrderId.unsafe(value) as unknown as OrderId; },
};

export interface Order {
  readonly id: OrderId;
  readonly customer: CustomerId;
  readonly total: Money;
}

export const Order = {
};

