UNPKG

cypress

Version:

Cypress is a next generation front end testing tool built for the modern web

1,263 lines 95.3 kB
import _ = require("../index"); declare module "../index" { interface LoDashStatic { /** * Assigns own enumerable properties of source objects to the destination * object. Source objects are applied from left to right. Subsequent sources * overwrite property assignments of previous sources. * * **Note:** This method mutates `object` and is loosely based on * [`Object.assign`](https://mdn.io/Object/assign). * * @category Object * @param object The destination object. * @param [sources] The source objects. * @returns Returns `object`. * @example * * function Foo() { * this.c = 3; * } * * function Bar() { * this.e = 5; * } * * Foo.prototype.d = 4; * Bar.prototype.f = 6; * * _.assign({ 'a': 1 }, new Foo, new Bar); * // => { 'a': 1, 'c': 3, 'e': 5 } */ assign<TObject, TSource>(object: TObject, source: TSource): TObject & TSource; /** * @see _.assign */ assign<TObject, TSource1, TSource2>(object: TObject, source1: TSource1, source2: TSource2): TObject & TSource1 & TSource2; /** * @see _.assign */ assign<TObject, TSource1, TSource2, TSource3>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3): TObject & TSource1 & TSource2 & TSource3; /** * @see _.assign */ assign<TObject, TSource1, TSource2, TSource3, TSource4>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4): TObject & TSource1 & TSource2 & TSource3 & TSource4; /** * @see _.assign */ assign<TObject>(object: TObject): TObject; /** * @see _.assign */ assign(object: any, ...otherArgs: any[]): any; } interface Object<T> { /** * @see _.assign */ assign<TSource>(source: TSource): Object<T & TSource>; /** * @see _.assign */ assign<TSource1, TSource2>(source1: TSource1, source2: TSource2): Object<T & TSource1 & TSource2>; /** * @see _.assign */ assign<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3): Object<T & TSource1 & TSource2 & TSource3>; /** * @see _.assign */ assign<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4): Object<T & TSource1 & TSource2 & TSource3 & TSource4>; /** * @see _.assign */ assign(): Object<T>; /** * @see _.assign */ assign(...otherArgs: any[]): Object<any>; } interface ObjectChain<T> { /** * @see _.assign */ assign<TSource>(source: TSource): ObjectChain<T & TSource>; /** * @see _.assign */ assign<TSource1, TSource2>(source1: TSource1, source2: TSource2): ObjectChain<T & TSource1 & TSource2>; /** * @see _.assign */ assign<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3): ObjectChain<T & TSource1 & TSource2 & TSource3>; /** * @see _.assign */ assign<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4): ObjectChain<T & TSource1 & TSource2 & TSource3 & TSource4>; /** * @see _.assign */ assign(): ObjectChain<T>; /** * @see _.assign */ assign(...otherArgs: any[]): ObjectChain<any>; } interface LoDashStatic { /** * This method is like `_.assign` except that it iterates over own and * inherited source properties. * * **Note:** This method mutates `object`. * * @alias extend * @category Object * @param object The destination object. * @param [sources] The source objects. * @returns Returns `object`. * @example * * function Foo() { * this.b = 2; * } * * function Bar() { * this.d = 4; * } * * Foo.prototype.c = 3; * Bar.prototype.e = 5; * * _.assignIn({ 'a': 1 }, new Foo, new Bar); * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5 } */ assignIn<TObject, TSource>(object: TObject, source: TSource): TObject & TSource; /** * @see _.assignIn */ assignIn<TObject, TSource1, TSource2>(object: TObject, source1: TSource1, source2: TSource2): TObject & TSource1 & TSource2; /** * @see _.assignIn */ assignIn<TObject, TSource1, TSource2, TSource3>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3): TObject & TSource1 & TSource2 & TSource3; /** * @see _.assignIn */ assignIn<TObject, TSource1, TSource2, TSource3, TSource4>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4): TObject & TSource1 & TSource2 & TSource3 & TSource4; /** * @see _.assignIn */ assignIn<TObject>(object: TObject): TObject; /** * @see _.assignIn */ assignIn<TResult>(object: any, ...otherArgs: any[]): TResult; } interface Object<T> { /** * @see _.assignIn */ assignIn<TSource>(source: TSource): Object<T & TSource>; /** * @see _.assignIn */ assignIn<TSource1, TSource2>(source1: TSource1, source2: TSource2): Object<T & TSource1 & TSource2>; /** * @see _.assignIn */ assignIn<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3): Object<T & TSource1 & TSource2 & TSource3>; /** * @see _.assignIn */ assignIn<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4): Object<T & TSource1 & TSource2 & TSource3 & TSource4>; /** * @see _.assignIn */ assignIn(): Object<T>; /** * @see _.assignIn */ assignIn<TResult>(...otherArgs: any[]): Object<TResult>; } interface ObjectChain<T> { /** * @see _.assignIn */ assignIn<TSource>(source: TSource): ObjectChain<T & TSource>; /** * @see _.assignIn */ assignIn<TSource1, TSource2>(source1: TSource1, source2: TSource2): ObjectChain<T & TSource1 & TSource2>; /** * @see _.assignIn */ assignIn<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3): ObjectChain<T & TSource1 & TSource2 & TSource3>; /** * @see _.assignIn */ assignIn<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4): ObjectChain<T & TSource1 & TSource2 & TSource3 & TSource4>; /** * @see _.assignIn */ assignIn(): ObjectChain<T>; /** * @see _.assignIn */ assignIn(...otherArgs: any[]): ObjectChain<any>; } type AssignCustomizer = (objectValue: any, sourceValue: any, key?: string, object?: {}, source?: {}) => any; interface LoDashStatic { /** * This method is like `_.assignIn` except that it accepts `customizer` which * is invoked to produce the assigned values. If `customizer` returns `undefined` * assignment is handled by the method instead. The `customizer` is invoked * with five arguments: (objValue, srcValue, key, object, source). * * **Note:** This method mutates `object`. * * @alias extendWith * @category Object * @param object The destination object. * @param sources The source objects. * @param [customizer] The function to customize assigned values. * @returns Returns `object`. * @example * * function customizer(objValue, srcValue) { * return _.isUndefined(objValue) ? srcValue : objValue; * } * * var defaults = _.partialRight(_.assignInWith, customizer); * * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); * // => { 'a': 1, 'b': 2 } */ assignInWith<TObject, TSource>(object: TObject, source: TSource, customizer: AssignCustomizer): TObject & TSource; /** * @see _.assignInWith */ assignInWith<TObject, TSource1, TSource2>(object: TObject, source1: TSource1, source2: TSource2, customizer: AssignCustomizer): TObject & TSource1 & TSource2; /** * @see _.assignInWith */ assignInWith<TObject, TSource1, TSource2, TSource3>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3, customizer: AssignCustomizer): TObject & TSource1 & TSource2 & TSource3; /** * @see _.assignInWith */ assignInWith<TObject, TSource1, TSource2, TSource3, TSource4>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4, customizer: AssignCustomizer): TObject & TSource1 & TSource2 & TSource3 & TSource4; /** * @see _.assignInWith */ assignInWith<TObject>(object: TObject): TObject; /** * @see _.assignInWith */ assignInWith<TResult>(object: any, ...otherArgs: any[]): TResult; } interface Object<T> { /** * @see _.assignInWith */ assignInWith<TSource>(source: TSource, customizer: AssignCustomizer): Object<T & TSource>; /** * @see _.assignInWith */ assignInWith<TSource1, TSource2>(source1: TSource1, source2: TSource2, customizer: AssignCustomizer): Object<T & TSource1 & TSource2>; /** * @see _.assignInWith */ assignInWith<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3, customizer: AssignCustomizer): Object<T & TSource1 & TSource2 & TSource3>; /** * @see _.assignInWith */ assignInWith<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4, customizer: AssignCustomizer): Object<T & TSource1 & TSource2 & TSource3 & TSource4>; /** * @see _.assignInWith */ assignInWith(): Object<T>; /** * @see _.assignInWith */ assignInWith<TResult>(...otherArgs: any[]): Object<TResult>; } interface ObjectChain<T> { /** * @see _.assignInWith */ assignInWith<TSource>(source: TSource, customizer: AssignCustomizer): ObjectChain<T & TSource>; /** * @see _.assignInWith */ assignInWith<TSource1, TSource2>(source1: TSource1, source2: TSource2, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2>; /** * @see _.assignInWith */ assignInWith<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2 & TSource3>; /** * @see _.assignInWith */ assignInWith<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2 & TSource3 & TSource4>; /** * @see _.assignInWith */ assignInWith(): ObjectChain<T>; /** * @see _.assignInWith */ assignInWith(...otherArgs: any[]): ObjectChain<any>; } interface LoDashStatic { /** * This method is like `_.assign` except that it accepts `customizer` which * is invoked to produce the assigned values. If `customizer` returns `undefined` * assignment is handled by the method instead. The `customizer` is invoked * with five arguments: (objValue, srcValue, key, object, source). * * **Note:** This method mutates `object`. * * @category Object * @param object The destination object. * @param sources The source objects. * @param [customizer] The function to customize assigned values. * @returns Returns `object`. * @example * * function customizer(objValue, srcValue) { * return _.isUndefined(objValue) ? srcValue : objValue; * } * * var defaults = _.partialRight(_.assignWith, customizer); * * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); * // => { 'a': 1, 'b': 2 } */ assignWith<TObject, TSource>(object: TObject, source: TSource, customizer: AssignCustomizer): TObject & TSource; /** * @see _.assignWith */ assignWith<TObject, TSource1, TSource2>(object: TObject, source1: TSource1, source2: TSource2, customizer: AssignCustomizer): TObject & TSource1 & TSource2; /** * @see _.assignWith */ assignWith<TObject, TSource1, TSource2, TSource3>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3, customizer: AssignCustomizer): TObject & TSource1 & TSource2 & TSource3; /** * @see _.assignWith */ assignWith<TObject, TSource1, TSource2, TSource3, TSource4>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4, customizer: AssignCustomizer): TObject & TSource1 & TSource2 & TSource3 & TSource4; /** * @see _.assignWith */ assignWith<TObject>(object: TObject): TObject; /** * @see _.assignWith */ assignWith<TResult>(object: any, ...otherArgs: any[]): TResult; } interface Object<T> { /** * @see _.assignWith */ assignWith<TSource>(source: TSource, customizer: AssignCustomizer): Object<T & TSource>; /** * @see _.assignWith */ assignWith<TSource1, TSource2>(source1: TSource1, source2: TSource2, customizer: AssignCustomizer): Object<T & TSource1 & TSource2>; /** * @see _.assignWith */ assignWith<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3, customizer: AssignCustomizer): Object<T & TSource1 & TSource2 & TSource3>; /** * @see _.assignWith */ assignWith<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4, customizer: AssignCustomizer): Object<T & TSource1 & TSource2 & TSource3 & TSource4>; /** * @see _.assignWith */ assignWith(): Object<T>; /** * @see _.assignWith */ assignWith<TResult>(...otherArgs: any[]): Object<TResult>; } interface ObjectChain<T> { /** * @see _.assignWith */ assignWith<TSource>(source: TSource, customizer: AssignCustomizer): ObjectChain<T & TSource>; /** * @see _.assignWith */ assignWith<TSource1, TSource2>(source1: TSource1, source2: TSource2, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2>; /** * @see _.assignWith */ assignWith<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2 & TSource3>; /** * @see _.assignWith */ assignWith<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2 & TSource3 & TSource4>; /** * @see _.assignWith */ assignWith(): ObjectChain<T>; /** * @see _.assignWith */ assignWith(...otherArgs: any[]): ObjectChain<any>; } interface LoDashStatic { /** * Creates an array of elements corresponding to the given keys, or indexes, of collection. Keys may be * specified as individual arguments or as arrays of keys. * * @param object The object to iterate over. * @param props The property names or indexes of elements to pick, specified individually or in arrays. * @return Returns the new array of picked elements. */ at<T>(object: Dictionary<T> | NumericDictionary<T> | null | undefined, ...props: PropertyPath[]): T[]; /** * @see _.at */ at<T extends object>(object: T | null | undefined, ...props: Array<Many<keyof T>>): Array<T[keyof T]>; } interface Object<T> { /** * @see _.at */ at(...props: Array<Many<keyof T>>): Collection<T[keyof T]>; } interface Collection<T> { /** * @see _.at */ at(...props: PropertyPath[]): Collection<T>; } interface ObjectChain<T> { /** * @see _.at */ at(...props: Array<Many<keyof T>>): CollectionChain<T[keyof T]>; } interface CollectionChain<T> { /** * @see _.at */ at(...props: PropertyPath[]): CollectionChain<T>; } interface LoDashStatic { /** * Creates an object that inherits from the given prototype object. If a properties object is provided its own * enumerable properties are assigned to the created object. * * @param prototype The object to inherit from. * @param properties The properties to assign to the object. * @return Returns the new object. */ create<T extends object, U extends object>(prototype: T, properties?: U): T & U; } interface Object<T> { /** * @see _.create */ create<U extends object>(properties?: U): Object<T & U>; } interface ObjectChain<T> { /** * @see _.create */ create<U extends object>(properties?: U): ObjectChain<T & U>; } interface LoDashStatic { /** * Assigns own enumerable properties of source object(s) to the destination object for all destination * properties that resolve to undefined. Once a property is set, additional values of the same property are * ignored. * * Note: This method mutates object. * * @param object The destination object. * @param sources The source objects. * @return The destination object. */ defaults<TObject, TSource>(object: TObject, source: TSource): NonNullable<TSource & TObject>; /** * @see _.defaults */ defaults<TObject, TSource1, TSource2>(object: TObject, source1: TSource1, source2: TSource2): NonNullable<TSource2 & TSource1 & TObject>; /** * @see _.defaults */ defaults<TObject, TSource1, TSource2, TSource3>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3): NonNullable<TSource3 & TSource2 & TSource1 & TObject>; /** * @see _.defaults */ defaults<TObject, TSource1, TSource2, TSource3, TSource4>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4): NonNullable<TSource4 & TSource3 & TSource2 & TSource1 & TObject>; /** * @see _.defaults */ defaults<TObject>(object: TObject): NonNullable<TObject>; /** * @see _.defaults */ defaults(object: any, ...sources: any[]): any; } interface Object<T> { /** * @see _.defaults */ defaults<TSource>(source: TSource): Object<NonNullable<TSource & T>>; /** * @see _.defaults */ defaults<TSource1, TSource2>(source1: TSource1, source2: TSource2): Object<NonNullable<TSource2 & TSource1 & T>>; /** * @see _.defaults */ defaults<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3): Object<NonNullable<TSource3 & TSource2 & TSource1 & T>>; /** * @see _.defaults */ defaults<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4): Object<NonNullable<TSource4 & TSource3 & TSource2 & TSource1 & T>>; /** * @see _.defaults */ defaults(): Object<NonNullable<T>>; /** * @see _.defaults */ defaults(...sources: any[]): Object<any>; } interface ObjectChain<T> { /** * @see _.defaults */ defaults<TSource>(source: TSource): ObjectChain<NonNullable<TSource & T>>; /** * @see _.defaults */ defaults<TSource1, TSource2>(source1: TSource1, source2: TSource2): ObjectChain<NonNullable<TSource2 & TSource1 & T>>; /** * @see _.defaults */ defaults<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3): ObjectChain<NonNullable<TSource3 & TSource2 & TSource1 & T>>; /** * @see _.defaults */ defaults<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4): ObjectChain<NonNullable<TSource4 & TSource3 & TSource2 & TSource1 & T>>; /** * @see _.defaults */ defaults(): ObjectChain<NonNullable<T>>; /** * @see _.defaults */ defaults(...sources: any[]): ObjectChain<any>; } interface LoDashStatic { /** * This method is like _.defaults except that it recursively assigns default properties. * @param object The destination object. * @param sources The source objects. * @return Returns object. */ defaultsDeep(object: any, ...sources: any[]): any; } interface Object<T> { /** * @see _.defaultsDeep */ defaultsDeep(...sources: any[]): Object<any>; } interface ObjectChain<T> { /** * @see _.defaultsDeep */ defaultsDeep(...sources: any[]): ObjectChain<any>; } interface LoDashStatic { /** * @see _.toPairs */ entries<T>(object?: Dictionary<T> | NumericDictionary<T>): Array<[string, T]>; /** * @see _.entries */ entries(object?: object): Array<[string, any]>; } interface Object<T> { /** * @see _.entries */ entries(): Collection<[string, T[keyof T]]>; } interface LoDashImplicitWrapper<TValue> { /** * @see _.entries */ entries(): Collection<[string, any]>; } interface ObjectChain<T> { /** * @see _.entries */ entries(): CollectionChain<[string, T[keyof T]]>; } interface LoDashExplicitWrapper<TValue> { /** * @see _.entries */ entries(): CollectionChain<[string, any]>; } interface LoDashStatic { /** * @see _.entriesIn */ entriesIn<T>(object?: Dictionary<T> | NumericDictionary<T>): Array<[string, T]>; /** * @see _.entriesIn */ entriesIn(object?: object): Array<[string, any]>; } interface Object<T> { /** * @see _.entriesIn */ entriesIn(): Collection<[string, T[keyof T]]>; } interface LoDashImplicitWrapper<TValue> { /** * @see _.entriesIn */ entriesIn(): Collection<[string, any]>; } interface ObjectChain<T> { /** * @see _.entriesIn */ entriesIn(): CollectionChain<[string, T[keyof T]]>; } interface LoDashExplicitWrapper<TValue> { /** * @see _.entriesIn */ entriesIn(): CollectionChain<[string, any]>; } interface LoDashStatic { /** * @see _.extend */ extend<TObject, TSource>(object: TObject, source: TSource): TObject & TSource; /** * @see _.extend */ extend<TObject, TSource1, TSource2>(object: TObject, source1: TSource1, source2: TSource2): TObject & TSource1 & TSource2; /** * @see _.extend */ extend<TObject, TSource1, TSource2, TSource3>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3): TObject & TSource1 & TSource2 & TSource3; /** * @see _.extend */ extend<TObject, TSource1, TSource2, TSource3, TSource4>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4): TObject & TSource1 & TSource2 & TSource3 & TSource4; /** * @see _.extend */ extend<TObject>(object: TObject): TObject; /** * @see _.extend */ extend<TResult>(object: any, ...otherArgs: any[]): TResult; } interface Object<T> { /** * @see _.extend */ extend<TSource>(source: TSource): Object<T & TSource>; /** * @see _.extend */ extend<TSource1, TSource2>(source1: TSource1, source2: TSource2): Object<T & TSource1 & TSource2>; /** * @see _.extend */ extend<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3): Object<T & TSource1 & TSource2 & TSource3>; /** * @see _.extend */ extend<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4): Object<T & TSource1 & TSource2 & TSource3 & TSource4>; /** * @see _.extend */ extend(): Object<T>; /** * @see _.extend */ extend(...otherArgs: any[]): Object<any>; } interface ObjectChain<T> { /** * @see _.extend */ extend<TSource>(source: TSource): ObjectChain<T & TSource>; /** * @see _.extend */ extend<TSource1, TSource2>(source1: TSource1, source2: TSource2): ObjectChain<T & TSource1 & TSource2>; /** * @see _.extend */ extend<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3): ObjectChain<T & TSource1 & TSource2 & TSource3>; /** * @see _.extend */ extend<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4): ObjectChain<T & TSource1 & TSource2 & TSource3 & TSource4>; /** * @see _.extend */ extend(): ObjectChain<T>; /** * @see _.extend */ extend(...otherArgs: any[]): ObjectChain<any>; } interface LoDashStatic { /** * @see _.extendWith */ extendWith<TObject, TSource>(object: TObject, source: TSource, customizer: AssignCustomizer): TObject & TSource; /** * @see _.extendWith */ extendWith<TObject, TSource1, TSource2>(object: TObject, source1: TSource1, source2: TSource2, customizer: AssignCustomizer): TObject & TSource1 & TSource2; /** * @see _.extendWith */ extendWith<TObject, TSource1, TSource2, TSource3>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3, customizer: AssignCustomizer): TObject & TSource1 & TSource2 & TSource3; /** * @see _.extendWith */ extendWith<TObject, TSource1, TSource2, TSource3, TSource4>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4, customizer: AssignCustomizer): TObject & TSource1 & TSource2 & TSource3 & TSource4; /** * @see _.extendWith */ extendWith<TObject>(object: TObject): TObject; /** * @see _.extendWith */ extendWith<TResult>(object: any, ...otherArgs: any[]): TResult; } interface Object<T> { /** * @see _.extendWith */ extendWith<TSource>(source: TSource, customizer: AssignCustomizer): Object<T & TSource>; /** * @see _.extendWith */ extendWith<TSource1, TSource2>(source1: TSource1, source2: TSource2, customizer: AssignCustomizer): Object<T & TSource1 & TSource2>; /** * @see _.extendWith */ extendWith<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3, customizer: AssignCustomizer): Object<T & TSource1 & TSource2 & TSource3>; /** * @see _.extendWith */ extendWith<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4, customizer: AssignCustomizer): Object<T & TSource1 & TSource2 & TSource3 & TSource4>; /** * @see _.extendWith */ extendWith(): Object<T>; /** * @see _.extendWith */ extendWith(...otherArgs: any[]): Object<any>; } interface ObjectChain<T> { /** * @see _.extendWith */ extendWith<TSource>(source: TSource, customizer: AssignCustomizer): ObjectChain<T & TSource>; /** * @see _.extendWith */ extendWith<TSource1, TSource2>(source1: TSource1, source2: TSource2, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2>; /** * @see _.extendWith */ extendWith<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2 & TSource3>; /** * @see _.extendWith */ extendWith<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2 & TSource3 & TSource4>; /** * @see _.extendWith */ extendWith(): ObjectChain<T>; /** * @see _.extendWith */ extendWith(...otherArgs: any[]): ObjectChain<any>; } interface LoDashStatic { /** * This method is like _.find except that it returns the key of the first element predicate returns truthy for * instead of the element itself. * * @param object The object to search. * @param predicate The function invoked per iteration. * @return Returns the key of the matched element, else undefined. */ findKey<T>(object: T | null | undefined, predicate?: ObjectIteratee<T>): string | undefined; } interface LoDashImplicitWrapper<TValue> { /** * @see _.findKey */ findKey(predicate?: ObjectIteratee<TValue>): string | undefined; } interface LoDashExplicitWrapper<TValue> { /** * @see _.findKey */ findKey(predicate?: ObjectIteratee<TValue>): StringNullableChain; } interface LoDashStatic { /** * This method is like _.findKey except that it iterates over elements of a collection in the opposite order. * * @param object The object to search. * @param predicate The function invoked per iteration. * @return Returns the key of the matched element, else undefined. */ findLastKey<T>(object: T | null | undefined, predicate?: ObjectIteratee<T>): string | undefined; } interface LoDashImplicitWrapper<TValue> { /** * @see _.findLastKey */ findLastKey(predicate?: ObjectIteratee<TValue>): string | undefined; } interface LoDashExplicitWrapper<TValue> { /** * @see _.findLastKey */ findLastKey(predicate?: ObjectIteratee<TValue>): StringNullableChain; } interface LoDashStatic { /** * Iterates over own and inherited enumerable properties of an object invoking iteratee for each property. The * iteratee is invoked with three arguments: (value, key, object). Iteratee functions may * exit iteration early by explicitly returning false. * * @param object The object to iterate over. * @param iteratee The function invoked per iteration. * @return Returns object. */ forIn<T>(object: T, iteratee?: ObjectIterator<T, any>): T; /** * @see _.forIn */ forIn<T>(object: T | null | undefined, iteratee?: ObjectIterator<T, any>): T | null | undefined; } interface LoDashImplicitWrapper<TValue> { /** * @see _.forIn */ forIn(iteratee?: ObjectIterator<TValue, any>): this; } interface LoDashExplicitWrapper<TValue> { /** * @see _.forIn */ forIn(iteratee?: ObjectIterator<TValue, any>): this; } interface LoDashStatic { /** * This method is like _.forIn except that it iterates over properties of object in the opposite order. * * @param object The object to iterate over. * @param iteratee The function invoked per iteration. * @return Returns object. */ forInRight<T>(object: T, iteratee?: ObjectIterator<T, any>): T; /** * @see _.forInRight */ forInRight<T>(object: T | null | undefined, iteratee?: ObjectIterator<T, any>): T | null | undefined; } interface LoDashImplicitWrapper<TValue> { /** * @see _.forInRight */ forInRight(iteratee?: ObjectIterator<TValue, any>): this; } interface LoDashExplicitWrapper<TValue> { /** * @see _.forInRight */ forInRight(iteratee?: ObjectIterator<TValue, any>): this; } interface LoDashStatic { /** * Iterates over own enumerable properties of an object invoking iteratee for each property. The iteratee is * invoked with three arguments: (value, key, object). Iteratee functions may exit * iteration early by explicitly returning false. * * @param object The object to iterate over. * @param iteratee The function invoked per iteration. * @return Returns object. */ forOwn<T>(object: T, iteratee?: ObjectIterator<T, any>): T; /** * @see _.forOwn */ forOwn<T>(object: T | null | undefined, iteratee?: ObjectIterator<T, any>): T | null | undefined; } interface LoDashImplicitWrapper<TValue> { /** * @see _.forOwn */ forOwn(iteratee?: ObjectIterator<TValue, any>): this; } interface LoDashExplicitWrapper<TValue> { /** * @see _.forOwn */ forOwn(iteratee?: ObjectIterator<TValue, any>): this; } interface LoDashStatic { /** * This method is like _.forOwn except that it iterates over properties of object in the opposite order. * * @param object The object to iterate over. * @param iteratee The function invoked per iteration. * @return Returns object. */ forOwnRight<T>(object: T, iteratee?: ObjectIterator<T, any>): T; /** * @see _.forOwnRight */ forOwnRight<T>(object: T | null | undefined, iteratee?: ObjectIterator<T, any>): T | null | undefined; } interface LoDashImplicitWrapper<TValue> { /** * @see _.forOwnRight */ forOwnRight(iteratee?: ObjectIterator<TValue, any>): this; } interface LoDashExplicitWrapper<TValue> { /** * @see _.forOwnRight */ forOwnRight(iteratee?: ObjectIterator<TValue, any>): this; } interface LoDashStatic { /** * Creates an array of function property names from own enumerable properties * of `object`. * * @category Object * @param object The object to inspect. * @returns Returns the new array of property names. * @example * * function Foo() { * this.a = _.constant('a'); * this.b = _.constant('b'); * } * * Foo.prototype.c = _.constant('c'); * * _.functions(new Foo); * // => ['a', 'b'] */ functions(object: any): string[]; } interface LoDashImplicitWrapper<TValue> { /** * @see _.functions */ functions(): Collection<string>; } interface LoDashExplicitWrapper<TValue> { /** * @see _.functions */ functions(): CollectionChain<string>; } interface LoDashStatic { /** * Creates an array of function property names from own and inherited * enumerable properties of `object`. * * @category Object * @param object The object to inspect. * @returns Returns the new array of property names. * @example * * function Foo() { * this.a = _.constant('a'); * this.b = _.constant('b'); * } * * Foo.prototype.c = _.constant('c'); * * _.functionsIn(new Foo); * // => ['a', 'b', 'c'] */ functionsIn<T extends {}>(object: any): string[]; } interface LoDashImplicitWrapper<TValue> { /** * @see _.functionsIn */ functionsIn(): Collection<string>; } interface LoDashExplicitWrapper<TValue> { /** * @see _.functionsIn */ functionsIn(): CollectionChain<string>; } interface LoDashStatic { /** * Gets the property value at path of object. If the resolved value is undefined the defaultValue is used * in its place. * * @param object The object to query. * @param path The path of the property to get. * @param defaultValue The value returned if the resolved value is undefined. * @return Returns the resolved value. */ get<TObject extends object, TKey extends keyof TObject>(object: TObject, path: TKey | [TKey]): TObject[TKey]; /** * @see _.get */ get<TObject extends object, TKey extends keyof TObject>(object: TObject | null | undefined, path: TKey | [TKey]): TObject[TKey] | undefined; /** * @see _.get */ get<TObject extends object, TKey extends keyof TObject, TDefault>(object: TObject | null | undefined, path: TKey | [TKey], defaultValue: TDefault): Exclude<TObject[TKey], undefined> | TDefault; /** * @see _.get */ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(object: TObject, path: [TKey1, TKey2]): TObject[TKey1][TKey2]; /** * @see _.get */ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1]>(object: TObject | null | undefined, path: [TKey1, TKey2]): TObject[TKey1][TKey2] | undefined; /** * @see _.get */ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TDefault>(object: TObject | null | undefined, path: [TKey1, TKey2], defaultValue: TDefault): Exclude<TObject[TKey1][TKey2], undefined> | TDefault; /** * @see _.get */ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(object: TObject, path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3]; /** * @see _.get */ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2]>(object: TObject | null | undefined, path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3] | undefined; /** * @see _.get */ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TDefault>(object: TObject | null | undefined, path: [TKey1, TKey2, TKey3], defaultValue: TDefault): Exclude<TObject[TKey1][TKey2][TKey3], undefined> | TDefault; /** * @see _.get */ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(object: TObject, path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4]; /** * @see _.get */ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3]>(object: TObject | null | undefined, path: [TKey1, TKey2, TKey3, TKey4]): TObject[TKey1][TKey2][TKey3][TKey4] | undefined; /** * @see _.get */ get<TObject extends object, TKey1 extends keyof TObject, TKey2 extends keyof TObject[TKey1], TKey3 extends keyof TObject[TKey1][TKey2], TKey4 extends keyof TObject[TKey1][TKey2][TKey3], TDefault>(object: TObject | null | undefined, path: [TKey1, TKey2, TKey3, TKey4], defaultValue: TDefault): Exclude<TObject[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault; /** * @see _.get */ get<T>(object: NumericDictionary<T>, path: number): T; /** * @see _.get */ get<T>(object: NumericDictionary<T> | null | undefined, path: number): T | undefined; /** * @see _.get */ get<T, TDefault>(object: NumericDictionary<T> | null | undefined, path: number, defaultValue: TDefault): T | TDefault; /** * @see _.get */ get<TDefault>(object: null | undefined, path: PropertyPath, defaultValue: TDefault): TDefault; /** * @see _.get */ get(object: null | undefined, path: PropertyPath): undefined; /** * @see _.get */ get(object: any, path: PropertyPath, defaultValue?: any): any; } interface String { /** * @see _.get */ get(path: number | number[]): string; /** * @see _.get */ get(path: number | number[], defaultValue: string): string; } interface Object<T> { /** * @see _.get */ get<TKey extends keyof T>(path: TKey | [TKey]): T[TKey]; /** * @see _.get */ get<TKey extends keyof T, TDefault>(path: TKey | [TKey], defaultValue: TDefault): Exclude<T[TKey], undefined> | TDefault; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1]>(path: [TKey1, TKey2]): T[TKey1][TKey2]; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TDefault>(path: [TKey1, TKey2], defaultValue: TDefault): Exclude<T[TKey1][TKey2], undefined> | TDefault; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): T[TKey1][TKey2][TKey3]; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TDefault>(path: [TKey1, TKey2, TKey3], defaultValue: TDefault): Exclude<T[TKey1][TKey2][TKey3], undefined> | TDefault; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TKey4 extends keyof T[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): T[TKey1][TKey2][TKey3][TKey4]; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TKey4 extends keyof T[TKey1][TKey2][TKey3], TDefault>(path: [TKey1, TKey2, TKey3, TKey4], defaultValue: TDefault): Exclude<T[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault; /** * @see _.get */ get(path: PropertyPath, defaultValue?: any): any; } interface Collection<T> { /** * @see _.get */ get(path: number): T; /** * @see _.get */ get<TDefault>(path: number, defaultValue: TDefault): T | TDefault; } interface StringChain { /** * @see _.get */ get(path: number | number[]): StringChain; /** * @see _.get */ get(path: number | number[], defaultValue: string): StringChain; } interface StringNullableChain { /** * @see _.get */ get(path: number | number[]): StringNullableChain; /** * @see _.get */ get(path: number | number[], defaultValue: string): StringChain; } interface ObjectChain<T> { /** * @see _.get */ get<TKey extends keyof T>(path: TKey | [TKey]): ExpChain<T[TKey]>; /** * @see _.get */ get<TKey extends keyof T>(path: TKey | [TKey], defaultValue: never[]): T[TKey] extends any[] ? ExpChain<Exclude<T[TKey], undefined>> : ExpChain<Exclude<T[TKey], undefined> | never[]>; /** * @see _.get */ get<TKey extends keyof T, TDefault>(path: TKey | [TKey], defaultValue: TDefault): ExpChain<Exclude<T[TKey], undefined> | TDefault>; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1]>(path: [TKey1, TKey2]): ExpChain<T[TKey1][TKey2]>; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1]>(path: [TKey1, TKey2], defaultValue: never[]): T[TKey1][TKey2] extends any[] ? ExpChain<Exclude<T[TKey1][TKey2], undefined>> : ExpChain<Exclude<T[TKey1][TKey2], undefined> | never[]>; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TDefault>(path: [TKey1, TKey2], defaultValue: TDefault): ExpChain<Exclude<T[TKey1][TKey2], undefined> | TDefault>; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3]): ExpChain<T[TKey1][TKey2][TKey3]>; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2]>(path: [TKey1, TKey2, TKey3], defaultValue: never[]): T[TKey1][TKey2][TKey3] extends any[] ? ExpChain<Exclude<T[TKey1][TKey2][TKey3], undefined>> : ExpChain<Exclude<T[TKey1][TKey2][TKey3], undefined> | never[]>; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TDefault>(path: [TKey1, TKey2, TKey3], defaultValue: TDefault): ExpChain<Exclude<T[TKey1][TKey2][TKey3], undefined> | TDefault>; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TKey4 extends keyof T[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4]): ExpChain<T[TKey1][TKey2][TKey3][TKey4]>; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TKey4 extends keyof T[TKey1][TKey2][TKey3]>(path: [TKey1, TKey2, TKey3, TKey4], defaultValue: never[]): T[TKey1][TKey2][TKey3][TKey4] extends any[] ? ExpChain<Exclude<T[TKey1][TKey2][TKey3][TKey4], undefined>> : ExpChain<Exclude<T[TKey1][TKey2][TKey3][TKey4], undefined> | never[]>; /** * @see _.get */ get<TKey1 extends keyof T, TKey2 extends keyof T[TKey1], TKey3 extends keyof T[TKey1][TKey2], TKey4 extends keyof T[TKey1][TKey2][TKey3], TDefault>(path: [TKey1, TKey2, TKey3, TKey4], defaultValue: TDefault): ExpChain<Exclude<T[TKey1][TKey2][TKey3][TKey4], undefined> | TDefault>; /** * @see _.get */ get(path: PropertyPath, defaultValue?: any): LoDashExplicitWrapper<any>; } interface CollectionChain<T> { /** * @see _.get */ get(path: number): ExpChain<T>; /** * @see _.get */ get<TDefault>(path: number, defaultValue: TDefault): ExpChain<T | TDefault>; } interface LoDashStatic { /** * Checks if `path` is a direct property of `object`. * * @category Object * @param object The object to query. * @param path The path to check. * @returns Returns `true` if `path` exists, else `false`. * @example * * var object = { 'a': { 'b': { 'c': 3 } } }; * var other = _.create({ 'a': _.create({ 'b': _.create({ 'c': 3 }) }) }); * * _.has(object, 'a'); * // => true * * _.has(object, 'a.b.c'); * // => true * * _.ha