lifxlan
Version:
TypeScript library for controlling LIFX products over LAN
70 lines • 2.03 kB
TypeScript
/**
* Comprehensive error types for LIFX LAN protocol operations.
*/
/**
* Base class for all LIFX protocol errors.
*/
export declare class LifxError extends Error {
readonly context: Record<string, unknown>;
constructor(message: string, context?: Record<string, unknown>);
toJSON(): {
name: string;
message: string;
context: Record<string, unknown>;
stack: string | undefined;
};
}
/**
* Thrown when a network operation times out.
*/
export declare class TimeoutError extends LifxError {
readonly timeoutMs: number;
readonly operation: string;
constructor(timeoutMs: number, operation?: string);
}
/**
* Thrown when a device returns an unhandled command response.
*/
export declare class UnhandledCommandError extends LifxError {
readonly commandType: number;
readonly deviceSerial: string | undefined;
constructor(commandType: number, deviceSerial?: string);
}
/**
* Thrown when there's a conflict in message routing.
*/
export declare class MessageConflictError extends LifxError {
readonly key: string;
readonly source: number | undefined;
constructor(key: string, source?: number);
}
/**
* Thrown when router runs out of available source IDs.
*/
export declare class SourceExhaustionError extends LifxError {
constructor();
}
/**
* Thrown when attempting to use a disposed client.
*/
export declare class DisposedClientError extends LifxError {
readonly source: number;
constructor(source: number);
}
/**
* Thrown when an operation is aborted via AbortSignal.
*/
export declare class AbortError extends LifxError {
readonly operation: string;
constructor(operation?: string);
}
/**
* Thrown when validation of input parameters fails.
*/
export declare class ValidationError extends LifxError {
readonly parameter: string;
readonly value: unknown;
readonly reason: string | undefined;
constructor(parameter: string, value: unknown, reason?: string);
}
//# sourceMappingURL=errors.d.ts.map