- Install:
npm install metautil - Require:
const metautil = require('metautil')
timeout(msec: number, signal?: AbortSignal): Promise<void>delay(msec: number, signal?: AbortSignal): Promise<void>toBool = [() => true, () => false]- Example:
const created = await mkdir(path).then(...toBool);
- Example:
cryptoRandom(): numbergenerateUUID(): stringgenerateKey(length: number, possible: string): stringcrcToken(secret: string, key: string): stringgenerateToken(secret: string, characters: string, length: number): stringvalidateToken(secret: string, token: string): booleanserializeHash(hash: Buffer, salt: Buffer): stringdeserializeHash(phcString: string): HashInfohashPassword(password: string): Promise<string>validatePassword(password: string, serHash: string): Promise<boolean>md5(fileName: string): Promise<string>getX509(cert: X509Certificate): Strings
duration(s: string | number): numbernowDate(date?: Date): stringnowDateTimeUTC(date?: Date, timeSep?: string): stringparseMonth(s: string): numberparseDay(s: string): numberparseEvery(s: string): EverynextEvent(every: Every, date?: Date): number
- Class
Errorconstructor(message: string, code: number)
isError(instance: object): boolean
directoryExists(path: string): Promise<boolean>ensureDirectory(path: string): Promise<boolean>
parseHost(host?: string): stringparseParams(params: string): CookiesparseCookies(cookie: string): HeadersparseRange(range: string): StreamRange
fetch(url: string, options?: FetchOptions): Promise<Response>receiveBody(stream: IncomingMessage): Promise<Buffer | null>ipToInt(ip?: string): numberhttpApiCall(url: string, options: ApiOptions): Promise<object>
makePrivate(instance: object): objectprotect(allowMixins: Strings, ...namespaces: Namespaces): voidjsonParse(buffer: Buffer): Dictionary | nullisHashObject(o: string | number | boolean | object): booleanflatObject(source: Dictionary, fields: Strings): DictionaryunflatObject(source: Dictionary, fields: Strings): DictionarygetSignature(method: Function): StringsnamespaceByPath(namespace: Dictionary, path: string): Dictionary | nullserializeArguments(fields: Strings, args: Dictionary): string
constructor(options: { timeout?: number })items: Array<unknown>free: Array<boolean>queue: Array<unknown>current: numbersize: numberavailable: numbertimeout: numbernext(): Promise<unknown>add(item: unknown): voidcapture(): Promise<unknown>release(item: unknown): voidisFree(item: unknown): boolean
random(min: number, max?: number): numbersample(array: Array<unknown>): unknown
constructor(concurrency: number, size?: number, timeout?: number)concurrency: numbercounter: numbertimeout: numbersize: numberempty: booleanqueue: Array<QueueElement>enter(): Promise<void>leave(): void
replace(str: string, substr: string, newstr: string): stringbetween(s: string, prefix: string, suffix: string): stringsplit(s: string, separator: string): [string, string]isFirstUpper(s: string): booleanisFirstLower(s: string): booleanisFirstLetter(s: string): booleantoLowerCamel(s: string): stringtoUpperCamel(s: string): stringtoLower(s: string): stringtoCamel(separator: string): (s: string) => stringspinalToCamel(s: string): stringsnakeToCamel(s: string): stringisConstant(s: string): booleanfileExt(fileName: string): stringparsePath(relPath: string): StringstrimLines(s: string): string
bytesToSize(bytes: number): stringsizeToBytes(size: string): number
Copyright (c) 2017-2023 Metarhia contributors.
Metautil is MIT licensed.
Metautil is a part of Metarhia technology stack.