/** * * @callback CloneFilterFn * @param {string} name * @param {any} value * @returns {any} return value if include */ /** * Clone own properties from src to dest * * @param {object} dest * @param {object} src * @param {CloneFilterFn} filter * @returns {object} the dest object */ export function _clone(dest: object, src: object, filter: CloneFilterFn): object; /** * Clone the constructor(static members) to dest * * **Note**: 'length', 'name', 'arguments', 'caller', 'prototype', 'super_', '__super__' members are not cloned. * @param {Function} dest * @param {Function} src * @param {Function} [filter] */ export function cloneCtor(dest: Function, src: Function, filter?: Function): void; /** * Clone the constructor's prototype to dest * * **Note**: 'Class', 'constructor' members are not cloned. * @param {Function} dest * @param {Function} src * @param {Function} [filter] */ export function clonePrototype(dest: Function, src: Function, filter?: Function): void; export default _clone; export type CloneFilterFn = (name: string, value: any) => any;