UNPKG

@ioris/core

Version:

This package provides the core functionality for the [@ioris](https://www.npmjs.com/search?q=%40ioris) ecosystem for managing music lyrics with time synchronization.

35 lines (34 loc) 1 kB
/** * Result type definitions * Used as return values for factory functions and validation functions */ export type ValidationError = { readonly code: string; readonly message: string; readonly details?: Record<string, unknown>; }; export type Success<T> = { readonly success: true; readonly data: T; }; export type Failure = { readonly success: false; readonly error: ValidationError; }; export type ValidationResult<T> = Success<T> | Failure; /** * Create a success result */ export declare function success<T>(data: T): Success<T>; /** * Create a failure result */ export declare function failure(code: string, message: string, details?: Record<string, unknown>): Failure; /** * Check if the result is a success (type guard) */ export declare function isSuccess<T>(result: ValidationResult<T>): result is Success<T>; /** * Check if the result is a failure (type guard) */ export declare function isFailure<T>(result: ValidationResult<T>): result is Failure;