@bemedev/types
Version:
Type definitions for Bemedev projects
89 lines • 6.31 kB
TypeScript
import { isPlainObject } from '../utils.js';
import type { AllowedNamesLow, DeepNotReadonly, DeepOmit, DeepReadonly, DeepRequired, Keys, KeyTypes, KeyTypesFrom, NotReadonly, NotSubType, Primitive2, PrimitiveObjectMap, Ra, Ru, SubType } from '../types/types';
export declare const objects: import("../utils.js").FnBasic<(arg: object) => object, {
readonly trueObject: import("../utils.js").FnBasic<(arg: import("../types/objects.types").TrueObject) => import("../types/objects.types").TrueObject, {
readonly is: typeof isPlainObject;
} & {
readonly forceCast: (arg: unknown) => import("../types/objects.types").TrueObject;
readonly dynamic: <U extends import("../types/objects.types").TrueObject>(arg: U) => U;
}>;
readonly type: ObjectConstructor;
readonly keysOf: <T extends object>(object: T) => (keyof T)[];
readonly values: <T extends object>(object: T) => T[keyof T][];
readonly entries: <T extends object>(object: T) => [keyof T, T[keyof T]][];
readonly byKey: <T extends object, K extends keyof T>(object: T, key: K) => T[K];
readonly hasKeys: import("../utils.js").FnBasic<(<K extends Keys[]>(object: object, ...keys: K) => object is Record<K[number], unknown>), {
readonly typings: <K extends KeyTypes>(object: object, keys: K) => object is KeyTypesFrom<K>;
readonly all: import("../utils.js").FnBasic<(<K extends Keys[]>(object: object, ...keys: K) => object is Record<K[number], unknown>), {
readonly typings: <K extends KeyTypes>(object: object, keys: K) => object is KeyTypesFrom<K>;
}>;
}>;
readonly omit: import("../utils.js").FnBasic<(<T extends PrimitiveObjectMap, K extends any[]>(object: T, ...keys: K) => Omit<T, K[number]>), {
readonly strict: import("../utils.js").FnBasic<(<T extends object, K extends (keyof T)[]>(object: T, ...keys: K) => Omit<T, K[number]>), {
readonly is: <T extends object, K extends (keyof T)[]>(object: T, ...keys: K) => boolean;
}>;
readonly const: import("../utils.js").FnBasic<(<const T extends object, K extends (keyof T)[]>(object: T, ...keys: K) => Omit<T, K[number]>), {
readonly is: <const T extends object, K extends (keyof T)[]>(object: T, ...keys: K) => boolean;
}>;
readonly is: <K extends Keys[]>(object: PrimitiveObjectMap, ...keys: K) => boolean;
readonly by: import("../utils.js").FnBasic<(<T extends object, K extends any[]>(object: T, ...values: K) => SubType<T, K[number]>), {
readonly is: (object: PrimitiveObjectMap, ...valuesOrKeys: any[]) => boolean;
}>;
readonly deep: import("../utils.js").FnBasic<(<T extends PrimitiveObjectMap, K extends Keys[]>(object: T, ...keys: K) => DeepOmit<T, K[number]>), {
readonly by: import("../utils.js").FnBasic<(<T extends PrimitiveObjectMap, K extends Keys[]>(object: T, ...values: K) => NotSubType<T, K[number]>), {
readonly is: (object: object, ...valuesOrKeys: Primitive2[]) => boolean;
}>;
readonly is: (object: PrimitiveObjectMap, ...keys: Keys[]) => boolean;
}>;
}>;
readonly reverse: <T extends Record<Keys, Keys>>(object: T) => { [K in keyof T as T[K]]: K; };
readonly readonly: import("../utils.js").FnBasic<(<T extends object>(object: T) => Readonly<T>), {
readonly forceCast: <T extends object>(object: unknown) => Readonly<T>;
readonly dynamic: <U extends object>(object: U) => Readonly<U>;
readonly is: <T>(object: T) => object is Readonly<T>;
readonly not: <const T extends object>(object: T) => NotReadonly<T>;
readonly deep: import("../utils.js").FnBasic<(<T extends object>(object: T) => DeepReadonly<T>), {
readonly not: <T extends object>(object: T) => DeepNotReadonly<T>;
}>;
}>;
readonly freeze: import("../utils.js").FnBasic<(<T extends object>(object: T) => Readonly<T>), {
readonly forceCast: <T extends object>(object: unknown) => Readonly<T>;
readonly dynamic: <U extends object>(object: U) => Readonly<U>;
readonly is: <T>(object: T) => object is Readonly<T>;
readonly not: <const T extends object>(object: T) => NotReadonly<T>;
readonly deep: import("../utils.js").FnBasic<(<T extends object>(object: T) => DeepReadonly<T>), {
readonly not: <T extends object>(object: T) => DeepNotReadonly<T>;
}>;
}>;
readonly require: import("../utils.js").FnBasic<(<T extends object>(object: T, requires: object) => T), {
readonly strict: <T extends object, K extends AllowedNamesLow<T, undefined>>(object: T, requires: Pick<T, K>) => T;
readonly const: <const T extends object, K extends AllowedNamesLow<T, undefined>>(object: T, requires: Pick<T, K>) => T;
readonly is: import("../utils.js").FnBasic<(<T extends object>(object: T) => object is Required<T>), {
readonly deep: (object: any) => object is DeepRequired<any>;
}>;
}>;
readonly pick: import("../utils.js").FnBasic<(<T extends object, K extends any[]>(object: T, ...keys: K) => Pick<T, K[number]>), {
readonly deep: import("../utils.js").FnBasic<(object: object, ...valuesOrKeys: any[]) => any, {
readonly by: (object: object, ...valuesOrKeys: any[]) => any;
}>;
readonly by: <T extends object, K extends any[]>(object: T, ...keys: K) => SubType<T, K[number]>;
}>;
readonly ru: import("../utils.js").FnBasic<(arg: Ru) => Ru, object & {
readonly forceCast: (arg: unknown) => Ru;
readonly dynamic: <U extends Ru>(arg: U) => U;
}>;
readonly ra: import("../utils.js").FnBasic<(arg: Ra) => Ra, object & {
readonly forceCast: (arg: unknown) => Ra;
readonly dynamic: <U extends Ra>(arg: U) => U;
}>;
readonly primitive: import("../utils.js").FnBasic<(arg: PrimitiveObjectMap) => PrimitiveObjectMap, {
readonly is: (object: unknown) => object is PrimitiveObjectMap;
} & {
readonly forceCast: (arg: unknown) => PrimitiveObjectMap;
readonly dynamic: <U extends PrimitiveObjectMap>(arg: U) => U;
}>;
} & {
readonly forceCast: (arg: unknown) => object;
readonly dynamic: <U extends object>(arg: U) => U;
}>;
//# sourceMappingURL=objects.d.ts.map