@e-mc/types
Interface
import type { LogArguments } from "./lib/logger";
import type { ErrorCode, HighResolutionTime } from "./lib/node";
import type { BinaryLike, BinaryToTextEncoding, 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 isError(err: unknown, ...name: string[]): err is Error;
function isErrorCode(err: unknown, ...code: unknown[]): err is Required<ErrorCode>;
function asFunction(value: unknown, sync?: boolean): ((...args: unknown[]) => Promise<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(data: unknown, deepIgnore: WeakMap<object, object>): unknown;
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 getAlgorithm(value: unknown, fallback?: string): string | undefined;
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): boolean;
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, cause: unknown): Error;
function errorValue(value: string, hint?: string, cause?: unknown): Error;
function errorMessage(title: number | string, value: string, cause: unknown): Error;
function errorMessage(title: number | string, value: string, hint?: string, cause?: unknown): 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;
function manageGlobalObject(value: object): boolean;
function freeGlobalObject(value: object): boolean;
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;
USER: 131072;
}
interface LOG_STATE {
STDIN: 0;
STDOUT: 1;
STDERR: 2;
}
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;
LOGGER_METER_INCREMENT: number;
}
const IMPORT_MAP: StringMap;
Changelog
Added in version 0.14.1:
function manageGlobalObject | freeGlobalObject for releasing cached memory was created.
Changed in version 0.14.1:
BREAKINGfunction purgeMemory unimplemented argument percent was replaced with type as 0 | 1.
Added in version 0.14.0:
function getAlgorithm for validating a supported hash algorithm was created.
function isError for detecting a native Error instance was created.
function asExt for extracting only the extension name was created.
enum LOG_STATE with USER for authenticated sessions was created.
Changed in version 0.14.0:
BREAKINGfunction hashKey argument algorithm default value was changed from “md5” to “sha256”.function setTempDir argument lock as boolean can be used at initialization to prevent unauthorized modification.
Removed in version 0.14.0:
global types in object were deleted:
Point
Dimension
AuthValue
ErrorCode
HighResolutionTime
MinMax
KeyValue
Deprecated since version 0.14.0:
function escapePattern | randomString will be removed when the baseline release is
NodeJS 24.
Added in version 0.13.9:
function requireESM for extracting a default export was created.
function errorValue | errorMessage argument cause as unknown was implemented.
Note
Backported: 0.12.16
Changed in version 0.13.4:
BREAKINGfunction cloneObject uses a WeakMap<object, object> internally for reference tracking.
Note
Backported: 0.12.11
Added in version 0.13.0:
function isErrorCode for checking Error properties was imported from @e-mc/module.
Changed in version 0.13.0:
function parseTime argument epoch as true for starting the interval from Unix or Epoch time.
function parseTime argument negative as false for including plus and minus operators.
function parseExpires argument epoch as true for starting the interval from Unix or Epoch time.
Changed in version 0.12.5:
function importESM argument options as ImportAttributes was implemented.
Changed in version 0.12.4:
function getTempDir argument create as boolean using fs.mkdtemp was implemented.
Changed in version 0.12.2:
function sanitizeCmd optionally concatenates arguments without altering the supplied values.
Added in version 0.12.0:
function sanitizeCmd | sanitizeArgs for escaping shell characters were imported from @e-mc/module.
interface CloneObjectOptions property structured for using the native structuredClone was implemented.
Changed in version 0.12.0:
function getTempDir optionally concatenates path segments (path.join) without creating any directories.
Deprecated since version 0.12.0:
global types in object were relocated:
lib/image: Point | Dimension
lib/http: AuthValue
lib/node: ErrorCode | HighResolutionTime
lib/settings: MinMax
lib/squared: KeyValue
Removed in version 0.12.0:
function generateUUID was an alias for crypto.randomUUID.
global types in types:
Undef
Null
NumString
TupleOf
Changed in version 0.11.7:
BREAKINGMethod decryptUTF8 did not consistently reproduce data output from encryptUTF8.
Added in version 0.11.2:
interface THRESHOLD property LOGGER_METER_INCREMENT was created.
Changed in version 0.11.1:
BREAKINGfunction escapePattern argument lookBehind was replaced with symbols as boolean:\x26 &
\x21 !
\x23 #
\x25 %
\x2c ,
\x3a :
\x3b ;
\x3c <
\x3d =
\x3e >
\x40 @
\x60 `
\x7e ~
\x22 “ (0.13.8)
function supported argument lts as boolean can be used as the patch argument.
Changed in version 0.11.0:
type HighResolutionTime in object with bigint primitive was implemented.
Removed in version 0.11.0:
interface AsSourceFileOptions property persist in document was never implemented.
Deprecated since version 0.10.2:
type TupleOf as a shorter alias does not convey explicit intent.
interface OpenOptions property follow_redirect in request was renamed followRedirect.
Added in version 0.10.0:
function hashKey for single-pass encoding was created.
function supported for NodeJS versioning was imported from @e-mc/module.
function importESM for dynamic module loading was created.
Changed in version 0.10.0:
function createAbortError uses native DOMException with name “AbortError” and code 20.
function formatTime with argument char as “:” displays using digital clock format.
interface CloneObjectOptions in module was relocated to types.
type Writeable was renamed Writable.
interface GetTempDirOptions in module was renamed TempDirOptions.
Removed in version 0.10.0:
interface AsHashOptions property minLength in module.
type NormalizeFlags in module.
export definitions in squared:
FinalizedElement
ConditionProperty
CssConditionData
ControllerSettingsDirectoryUI
Deprecated since version 0.9.2:
function generateUUID is a reference to crypto.randomUUID.
type NumString as a union is not a standard convention.
Added in version 0.9.0:
enum LOG_STATE for queuing console output was created.
Changed in version 0.9.0:
type StringOfArray was renamed ArrayOf<string>.
type BufferContent was renamed Bufferable.
interface PoolConfig in db was relocated to settings.
interface LoggerFormat in logger was relocated to settings.
interface AddEventListenerOptions in dom was relocated to core.
Added in version 0.8.4:
function alignSize for byte memory alignment was created.