mirror of
https://github.com/samiyev/puaros.git
synced 2025-12-27 23:06:54 +05:00
Add @puaros/guardian package v0.1.0 - code quality guardian for vibe coders and enterprise teams. Features: - Hardcode detection (magic numbers, magic strings) - Circular dependency detection - Naming convention enforcement (Clean Architecture) - Architecture violation detection - CLI tool with comprehensive reporting - 159 tests with 80%+ coverage - Smart suggestions for fixes - Built for AI-assisted development Built with Clean Architecture and DDD principles. Works with Claude, GPT, Copilot, Cursor, and any AI coding assistant.
36 lines
790 B
TypeScript
36 lines
790 B
TypeScript
import { ValueObject } from "../../../../src/domain/value-objects/ValueObject"
|
|
import { v4 as uuidv4, validate as uuidValidate } from "uuid"
|
|
|
|
interface OrderIdProps {
|
|
readonly value: string
|
|
}
|
|
|
|
/**
|
|
* OrderId Value Object
|
|
*
|
|
* Type safety: cannot mix with UserId
|
|
*/
|
|
export class OrderId extends ValueObject<OrderIdProps> {
|
|
private constructor(props: OrderIdProps) {
|
|
super(props)
|
|
}
|
|
|
|
public static create(id?: string): OrderId {
|
|
const value = id ?? uuidv4()
|
|
|
|
if (!uuidValidate(value)) {
|
|
throw new Error(`Invalid OrderId format: ${value}`)
|
|
}
|
|
|
|
return new OrderId({ value })
|
|
}
|
|
|
|
public get value(): string {
|
|
return this.props.value
|
|
}
|
|
|
|
public toString(): string {
|
|
return this.props.value
|
|
}
|
|
}
|