anux-common
Version:
[](https://travis-ci.com/Anupheaus/anux-common) [](https://www.codacy.com/app/Anuphea
52 lines (51 loc) • 2.7 kB
TypeScript
import './object';
export declare enum PropertyAccess {
CanRead = 0,
CanWrite = 1
}
declare global {
namespace Reflect {
interface IEndOfPathAction {
value: unknown;
shouldContinue: boolean;
}
interface ITypeOf<T = object> {
type: string;
isArray: boolean;
isObject: boolean;
isPrototype: boolean;
isInstance: boolean;
isNull: boolean;
isUndefined: boolean;
isNullOrUndefined: boolean;
isBoolean: boolean;
isNumber: boolean;
isString: boolean;
isPrimitive: boolean;
isFunction: boolean;
isDate: boolean;
value: T;
}
function isOrDerivesFrom(source: unknown, derivesFrom: unknown): boolean;
function className(instance: unknown): string;
function getDefinition(target: unknown, memberKey: PropertyKey): PropertyDescriptor;
function getAllDefinitionsForMember(target: unknown, memberName: string): PropertyDescriptor[];
function getAllDefinitions(target: unknown): PropertyDescriptorMap;
function getProperty<T>(target: unknown, propertyName: string): T;
function getProperty<T>(target: unknown, propertyName: string, defaultValue: T): T;
function getProperty<T>(target: unknown, propertyName: string, defaultValue: T, addIfNotExists: boolean): T;
function setProperty<T>(target: unknown, propertyName: string, value: T): void;
function checkPropertyAccess(target: unknown, propertyName: string, access: PropertyAccess): boolean;
function getAllPrototypesOf(target: unknown): Object[];
function invokeAll(target: unknown, name: string, ...args: unknown[]): unknown[];
function getAndCombineAll<T extends {}>(target: unknown, propertyName: string): T;
function parameterNames(func: Function): string[];
function areDeepEqual(source: unknown, target: unknown): boolean;
function areDeepEqual(source: unknown, target: unknown, customComparer: (objA: unknown, objB: unknown) => boolean | void): boolean;
function areShallowEqual(source: unknown, target: unknown): boolean;
function areShallowEqual(source: unknown, target: unknown, customComparer: (objA: unknown, objB: unknown) => boolean | void): boolean;
function wrapMethod<T extends Function, R>(target: object, method: T, delegate: (originalFunc: T, args: unknown[]) => R): R;
function hashesOf(target: unknown): number[];
function typeOf<T = object>(value: T): ITypeOf<T>;
}
}