UNPKG

@gati-framework/cli

Version:

CLI tool for Gati framework - create, develop, build and deploy cloud-native applications

77 lines 2.32 kB
/** * @file phase1-copy.ts * @description Readonly copy of Phase 1 branded types from packages/types/src/index.ts * * MAINTENANCE STRATEGY: Manual sync with event listener queue * * When Phase 1 types change in packages/types/src/index.ts: * 1. Manually update type definitions below to match * 2. Event listener queue tracks test completions for future auto-sync * 3. Run tests to verify extraction still works * * Event Queue System: * - Tests emit completion events with filename on afterEach * - Listener accumulates events during test run * - Provides foundation for automated sync validation * * WHY READONLY COPY: * - Avoids Windows file locking issues on packages/types/src/index.ts * - Enables parallel test execution without conflicts * - Test-only fixture doesn't affect production code * * Last synced: 2025-11-18 (Initial Phase 1 implementation) */ export type EmailString = string & { __pattern: '^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$'; } & { __brand: 'email'; }; export type UUID = string & { __pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'; } & { __brand: 'uuid'; }; export type URLString = string & { __brand: 'url'; }; export type TimestampString = string & { __brand: 'timestamp'; }; export type CUID = string & { __pattern: '^c[a-z0-9]{23}$'; } & { __brand: 'cuid'; }; export type Email = EmailString; export type Timestamp = TimestampString; export type PasswordString = string & { __minLen: 8; }; export type PhoneString = string & { __brand: 'phone'; }; export type HexString = string & { __pattern: '^[0-9a-fA-F]+$'; }; export type Base64String = string & { __brand: 'base64'; }; export type PositiveNumber = number & { __min: 0; }; export type NegativeNumber = number & { __max: 0; }; export type IntegerNumber = number & { __integer: true; }; export type PortNumber = number & { __min: 1; } & { __max: 65535; } & { __integer: true; }; export declare const PHASE1_TYPES: readonly ["EmailString", "UUID", "URLString", "TimestampString", "CUID", "PasswordString", "PhoneString", "HexString", "Base64String", "PositiveNumber", "NegativeNumber", "IntegerNumber", "PortNumber"]; export type Phase1TypeName = typeof PHASE1_TYPES[number]; //# sourceMappingURL=phase1-copy.d.ts.map