node-os-utils
Version:
Advanced cross-platform operating system monitoring utilities with TypeScript support
135 lines • 2.55 kB
TypeScript
import { MonitorError } from './errors';
/**
* 监控结果统一返回类型
*/
export type MonitorResult<T> = {
success: true;
data: T;
timestamp: number;
cached: boolean;
platform: string;
} | {
success: false;
error: MonitorError;
platform: string;
timestamp: number;
};
/**
* 数据单位处理类
*/
export declare class DataSize {
readonly bytes: number;
constructor(bytes: number);
/**
* 获取字节数
*/
toBytes(): number;
/**
* 转换为 KB
*/
toKB(): number;
/**
* 转换为 MB
*/
toMB(): number;
/**
* 转换为 GB
*/
toGB(): number;
/**
* 转换为 TB
*/
toTB(): number;
/**
* 自动选择合适的单位并格式化
*/
toString(unit?: 'auto' | 'B' | 'KB' | 'MB' | 'GB' | 'TB'): string;
/**
* 创建 DataSize 实例的静态方法
*/
static fromBytes(bytes: number): DataSize;
static fromKB(kb: number): DataSize;
static fromMB(mb: number): DataSize;
static fromGB(gb: number): DataSize;
}
/**
* 时间戳处理类
*/
export declare class Timestamp {
private readonly time;
constructor(time?: number);
/**
* 距离现在多久(毫秒)
*/
ago(): number;
/**
* 格式化为 ISO 字符串
*/
format(): string;
/**
* 格式化为本地时间字符串
*/
toLocalString(): string;
/**
* 获取原始时间戳
*/
valueOf(): number;
/**
* 创建当前时间戳
*/
static now(): Timestamp;
/**
* 从特定时间创建时间戳
*/
static from(time: number | Date): Timestamp;
}
/**
* 监控订阅接口
*/
export interface MonitorSubscription {
/**
* 取消订阅
*/
unsubscribe(): void;
/**
* 检查是否仍然活跃
*/
isActive(): boolean;
/**
* 暂停监控
*/
pause(): void;
/**
* 恢复监控
*/
resume(): void;
/**
* 获取订阅状态
*/
getStatus(): 'active' | 'paused' | 'stopped';
}
/**
* 百分比类型
*/
export type Percentage = number;
/**
* 频率类型(Hz)
*/
export type Frequency = number;
/**
* 温度类型(摄氏度)
*/
export type Temperature = number;
/**
* 支持的平台类型
*/
export type Platform = 'linux' | 'darwin' | 'win32';
/**
* 监控间隔类型(毫秒)
*/
export type Interval = number;
/**
* 进程 ID 类型
*/
export type ProcessId = number;
//# sourceMappingURL=common.d.ts.map