anux-common
Version:
[](https://travis-ci.com/Anupheaus/anux-common) [](https://www.codacy.com/app/Anuphea
20 lines (19 loc) • 1.08 kB
TypeScript
import { Disposable } from './global';
declare global {
interface ObjectConstructor {
addMethods(target: object, methods: Function[]): void;
extendPrototype(targetPrototype: object, extensionPrototype: object): void;
merge<T1, T2>(target: T1, extension: T2): T1 & T2;
merge<T1, T2, T3>(target: T1, extension1: T2, extension2: T3): T1 & T2 & T3;
merge<T1, T2, T3, T4>(target: T1, extension1: T2, extension2: T3, extension3: T4): T1 & T2 & T3 & T4;
merge<T>(target: Partial<T>, ...extensions: Partial<T>[]): T;
clone<T>(target: T): T;
hash(target: object): number;
remove<T, P>(value: T, removeProps: (propsToRemove: T) => P): P;
values<T = unknown>(target: object): T[];
getValueOf<R>(delegate: () => R, defaultValue: R): R;
getValueOf<T, R>(target: T, delegate: (target: T) => R, defaultValue: R): R;
mixin(destinationClass: Function, sourceClass: Function): void;
using<T extends Disposable, R>(object: T, use: (object: T) => R): R;
}
}