@e-mc/types

中文文档
0.14.7发布于 2026/10/02BSD-3-ClauseTypeScriptCommonJS近 30 天下载 7065

E-mc 的类型定义.

中文使用文档
文档目录4 节
  1. 一般使用
  2. 接口
  3. 参考资料
  4. 自由主义

@e-mc/类型

  • 节点JS 20(最少18个)
  • ES2022 (英语)

一般使用

接口

import type { LogArguments } from "./lib/logger";
import type { ErrorCode, HighResolutionTime } from "./lib/node";

import type { BinaryLike, CipherGCMTypes, Encoding } from "node:crypto";
import type { BytesOptions } from "bytes";

function createAbortError(reject: true): Promise<never>;
function createAbortError(): DOMException;
function hasBit(value: unknown, flags: number): boolean;
function ignoreFlag(value: unknown): boolean;
function cloneFlag(value: unknown): boolean;
function usingFlag(value: unknown): boolean;
function watchFlag(value: unknown): boolean;
function modifiedFlag(value: unknown): boolean;
function processFlag(value: unknown): boolean;
function mainFlag(value: unknown): boolean;
function existsFlag(value: unknown): boolean;
function getLogCurrent(): LogArguments | null;
function setLogCurrent(value: LogArguments): void;
function setTempDir(value: string, lock?: boolean): boolean;
function getTempDir(create: true, prefix?: string): string;
function getTempDir(...values: string[]): string;
function isArray(value: unknown): value is unknown[];
function isObject(value: unknown): value is object;
function isPlainObject(value: unknown): value is Record<string | number | symbol, unknown>;
function isString(value: unknown): value is string;
function isEmpty(value: unknown): boolean;
function isFunction(value: unknown, cjs: boolean): value is Function;
function isFunction(value: unknown, type?: string): value is Function;
function isError(err: unknown, ...name: string[]): err is Error;
function isErrorCode(err: unknown, ...code: unknown[]): err is Required<ErrorCode>;
function asFunction(value: unknown, sync?: boolean, cjs?: boolean): ((...args: unknown[]) => unknown) | null;
function asExt(value: string): string;
function parseTime(value: number | string, epoch: true): number;
function parseTime(value: number | string, negative: false): number;
function parseTime(value: number | string, start?: number): number;
function parseExpires(value: number | string, epoch: true): number;
function parseExpires(value: number | string, start?: number | boolean): number;
function formatTime(value: number, char: string): string;
function formatTime(value: number, elapsed?: boolean, char?: string): string;
function convertTime(value: number | string): number;
function convertTime(value: HighResolutionTime, format: true): string;
function convertTime(value: HighResolutionTime, format?: boolean): number;
function hasGlob(value: string): boolean;
/** @deprecated RegExp.escape */
function escapePattern(value: unknown, symbols?: boolean): string;
function renameExt(value: string, ext: string, when?: string): string;
function formatSize(value: string): number;
function formatSize(value: number, options?: BytesOptions): string;
function alignSize(value: unknown, kb?: number, factor?: number): number;
function cascadeObject(data: object, query: string, fallback?: unknown): unknown;
function cloneObject(data: unknown, deep: boolean): unknown;
function cloneObject<T>(data: T, deepIgnore: WeakMap<object, object>): T;
function cloneObject(data: unknown, options?: CloneObjectOptions<unknown>): unknown;
function coerceObject(data: unknown, cache: boolean): unknown;
function coerceObject(data: unknown, parseString?: (...args: [string]) => unknown, cache?: boolean): unknown;
function getEncoding(value: unknown, fallback?: BufferEncoding): BufferEncoding;
function encryptUTF8(algorithm: CipherGCMTypes, key: BinaryLike, iv: BinaryLike, data: string, encoding?: Encoding): string | undefined;
function decryptUTF8(algorithm: CipherGCMTypes, key: BinaryLike, iv: BinaryLike, data: string, encoding?: Encoding): string | undefined;
function hashKey(data: BinaryLike, algorithm?: string, encoding?: BinaryToTextEncoding): string;
function incrementUUID(restart?: boolean): string;
function validateUUID(value: unknown): value is string;
function sanitizeCmd(value: string, ...args: unknown[]): string;
function sanitizeArgs(value: string, doubleQuote?: boolean): string;
function sanitizeArgs(values: string[], doubleQuote?: boolean): string[];
/** @deprecated crypto.randomUUID */
function randomString(format: string, dictionary?: string): string;
function errorValue(value: string, hint?: string): Error;
function errorMessage(title: number | string, value: string, hint?: string): Error;
function supported(major: number, minor: number, lts: boolean): boolean;
function supported(major: number, minor?: number, patch?: number, lts?: boolean): boolean;
function importESM(name: string | URL, isDefault: boolean, fromPath?: boolean): Promise<unknown>;
function importESM(name: string | URL, options?: ImportAttributes, fromPath?: boolean): Promise<unknown>;
function requireESM(name: string, url?: string | URL, expect?: string): unknown;
function purgeMemory(type: 1, exclude?: unknown[]): number;
function purgeMemory(type: 0): number;
function purgeMemory(type?: number, exclude?: unknown[]): number;

interface LOG_TYPE {
    UNKNOWN: 0;
    SYSTEM: 1;
    NODE: 2;
    PROCESS: 4;
    COMPRESS: 8;
    WATCH: 16;
    FILE: 32;
    CLOUD: 64;
    TIME_ELAPSED: 128;
    TIME_PROCESS: 256;
    FAIL: 512;
    HTTP: 1024;
    IMAGE: 2048;
    EXEC: 4096;
    PERMISSION: 8192;
    TIMEOUT: 16384;
    STDOUT: 32768;
    DB: 65536;
}

interface STATUS_TYPE {
    UNKNOWN: 0;
    FATAL: 1;
    ERROR: 2;
    WARN: 3;
    INFO: 4;
    DEBUG: 5;
    ASSERT: 6;
    TRACE: 7;
}

interface ASSET_FLAG {
    NONE: 0;
    IGNORE: 1;
    CLONE: 2;
    USING: 4;
    WATCH: 8;
    MODIFIED: 16;
    PROCESS: 32;
    MAIN: 64;
    EXISTS: 128;
}

interface FILE_TYPE {
    UNKNOWN: 0;
    ASSET: 1;
    TRANSFORM: 2;
    COMPRESSED: 4;
    SOURCEMAP: 8;
    TORRENT: 16;
}

interface ACTION_FLAG {
    NONE: 0;
    IGNORE: 1;
}

interface ERR_CODE {
    MODULE_NOT_FOUND: "MODULE_NOT_FOUND";
    ERR_MODULE_NOT_FOUND: "ERR_MODULE_NOT_FOUND";
}

interface DOWNLOAD_TYPE {
    HTTP: 0;
    DISK: 1;
    CACHE: 2;
}

interface FETCH_TYPE {
    UNKNOWN: 0;
    HTTP: 1;
    TORRENT: 2;
    FTP: 3;
    UNIX_SOCKET: 4;
}

interface DB_TYPE {
    SQL: 1;
    NOSQL: 2;
    DOCUMENT: 4;
    KEYVALUE: 8;
}

interface DB_TRANSACTION {
    ACTIVE: 1;
    PARTIAL: 2;
    COMMIT: 4;
    TERMINATE: 8;
    ABORT: 16;
    FAIL: 32;
    AUTH: 64;
    CACHE: 128;
}

interface TRANSFER_TYPE {
    DISK: 1;
    STREAM: 2;
    CHUNK: 4;
}

interface WATCH_EVENT {
    MODIFIED: "modified";
    BROADCAST: "broadcast";
    CLOSE: "close";
    ERROR: "error";
}

interface READDIR_SORT {
    FILE: number;
    DIRECTORY: number;
    DESCENDING: number;
}

interface THRESHOLD {
    FILEMANAGER_INTERVAL: number;
    WATCH_INTERVAL: number;
    WATCH_CHANGE: number;
}

const IMPORT_MAP: Record<string, string | undefined>;

参考资料

自由主义

BSD 三层

版本与发布记录

@e-mc/types 共发布 230 个版本,首次发布于 2023/03/03;过去 12 个月发布了 57 个版本。

版本发布日期距今
0.14.7latest2026/10/021 个月前
0.14.62026/08/312 个月前
0.13.122026/08/302 个月前
0.12.182026/08/302 个月前
0.11.192026/08/302 个月前
0.10.222026/08/252 个月前

其他发布通道:50-more-years-of-shrimp-dick → 0.12.10,LEO_XI → 0.9.24,LEO_XII → 0.10.16,LEO_XIII → 0.11.12,LEO_XIV → 0.12.12,SQL_INJECTION_ATTACK → 0.9.25。

关于 @e-mc/types 的常见问题

@e-mc/types 是什么?

E-mc 的类型定义.

如何安装 @e-mc/types?

在项目目录运行 npm install @e-mc/types,或使用 pnpm add / yarn add / bun add。

@e-mc/types 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@e-mc/types 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@e-mc/types 可以商用吗?

@e-mc/types 使用 BSD-3-Clause 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。另外不得用原作者名义为衍生产品背书。以上为概括,不构成法律意见,请以许可原文为准。

@e-mc/types 的下载量有多少?

根据 npm 官方下载统计,@e-mc/types 在 2026/10/13 – 2026/11/11 这 30 天内被下载 7,065 次,日均约 236 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@e-mc/types 还在维护吗?

最新版本 0.14.7 发布于 2026/10/02(1 个月前);至今共发布 230 个版本,其中过去 12 个月发布了 57 个;首次发布于 2023/03/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。