/* * @license Apache-2.0 * * Copyright (c) 2025 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // TypeScript Version: 4.1 /** * Copies own enumerable and inherited properties from one or more source objects to a target object. * * ## Notes * * - If a property key is present in multiple sources, the property from the last source that defines the key prevails. * - The target object is mutated. * - Both string and symbol properties are copied. * * @param target - target object * @param source - source object * @throws first argument must not be null or undefined * @returns target object * * @example * function Foo() { * this.a = 1; * return this; * } * * Foo.prototype.b = 2; * * function Bar() { * this.c = 3; * return this; * } * * Bar.prototype.d = 4; * * var out = assignIn( {}, new Foo(), new Bar() ); * // returns { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } */ declare function assignIn( target: T, source: U ): T & U; /** * Copies own and inherited enumerable properties from one or more source objects to a target object. * * ## Notes * * - If a property key is present in multiple sources, the property from the last source that defines the key prevails. * - The target object is mutated. * - Both string and symbol properties are copied. * * @param target - target object * @param source1 - first source object * @param source2 - second source object * @throws first argument must not be null or undefined * @returns target object * * @example * function Foo() { * this.a = 1; * return this; * } * * Foo.prototype.b = 2; * * function Bar() { * this.c = 3; * return this; * } * * Bar.prototype.d = 4; * * var beep = { * 'e': 5 * }; * * var out = assignIn( {}, new Foo(), new Bar(), beep ); * // returns { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5 } */ declare function assignIn( target: T, source1: U, source2: V ): T & U & V; /** * Copies own and inherited enumerable properties from one or more source objects to a target object. * * ## Notes * * - If a property key is present in multiple sources, the property from the last source that defines the key prevails. * - The target object is mutated. * - Both string and symbol properties are copied. * * @param target - target object * @param source1 - first source object * @param source2 - second source object * @param source3 - third source object * @throws first argument must not be null or undefined * @returns target object * * @example * function Foo() { * this.a = 1; * return this; * } * * Foo.prototype.b = 2; * * function Bar() { * this.c = 3; * return this; * } * * Bar.prototype.d = 4; * * var beep = { * 'e': 5 * }; * * var boop = { * 'f': 6 * }; * * var out = assignIn( {}, new Foo(), new Bar(), beep, boop ); * // returns { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6 } */ declare function assignIn( target: T, source1: U, source2: V, source3: W ): T & U & V & W; /** * Copies own and inherited enumerable properties from one or more source objects to a target object. * * ## Notes * * - If a property key is present in multiple sources, the property from the last source that defines the key prevails. * - The target object is mutated. * - Both string and symbol properties are copied. * * @param target - target object * @param source - source object(s) * @throws first argument must not be null or undefined * @returns target object * * @example * function Foo() { * this.a = 1; * return this; * } * * Foo.prototype.b = 2; * * function Bar() { * this.c = 3; * return this; * } * * Bar.prototype.d = 4; * * var out = assignIn( {}, new Foo(), new Bar() ); * // returns { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } */ declare function assignIn( target: object, ...source: Array ): object; // EXPORTS // export = assignIn;