@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
TypeScript
/**
* 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;