ut2 1.14.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/index.js CHANGED
@@ -90,6 +90,7 @@ export { default as invert } from './invert.js';
90
90
  export { default as keys } from './keys.js';
91
91
  export { default as keysIn } from './keysIn.js';
92
92
  export { default as merge } from './merge.js';
93
+ export { default as mergeObject } from './mergeObject.js';
93
94
  export { default as omit } from './omit.js';
94
95
  export { default as omitBy } from './omitBy.js';
95
96
  export { default as pick } from './pick.js';
@@ -2,7 +2,7 @@ import isObjectLike from '../isObjectLike.js';
2
2
  import getTag from './getTag.js';
3
3
  import { argumentsTag, stringUndefined, functionProtoToString } from './native.js';
4
4
 
5
- var VERSION = "1.14.0";
5
+ var VERSION = "1.15.0";
6
6
  var isBrowser = typeof window !== stringUndefined && isObjectLike(window) && typeof document !== stringUndefined && isObjectLike(document) && window.document === document;
7
7
  var supportedArgumentsType = getTag((function () { return arguments; })()) === argumentsTag;
8
8
  var FUNC_ERROR_TEXT = 'Expected a function';
@@ -0,0 +1,17 @@
1
+ import { __read, __spreadArray } from 'tslib';
2
+ import merge from './merge.js';
3
+
4
+ var mergeObject = function (object, source) {
5
+ var args = [];
6
+ for (var _i = 2; _i < arguments.length; _i++) {
7
+ args[_i - 2] = arguments[_i];
8
+ }
9
+ if (args.length > 0) {
10
+ var _a = __read(args), arg1 = _a[0], restArgs = _a.slice(1);
11
+ var obj = merge(object, source, merge.NOT_MERGE_ARRAYS);
12
+ return mergeObject.apply(void 0, __spreadArray([obj, arg1], __read(restArgs), false));
13
+ }
14
+ return merge(object, source, merge.NOT_MERGE_ARRAYS);
15
+ };
16
+
17
+ export { mergeObject as default };
package/lib/index.js CHANGED
@@ -92,6 +92,7 @@ var invert = require('./invert.js');
92
92
  var keys = require('./keys.js');
93
93
  var keysIn = require('./keysIn.js');
94
94
  var merge = require('./merge.js');
95
+ var mergeObject = require('./mergeObject.js');
95
96
  var omit = require('./omit.js');
96
97
  var omitBy = require('./omitBy.js');
97
98
  var pick = require('./pick.js');
@@ -234,6 +235,7 @@ exports.invert = invert;
234
235
  exports.keys = keys;
235
236
  exports.keysIn = keysIn;
236
237
  exports.merge = merge;
238
+ exports.mergeObject = mergeObject;
237
239
  exports.omit = omit;
238
240
  exports.omitBy = omitBy;
239
241
  exports.pick = pick;
@@ -4,7 +4,7 @@ var isObjectLike = require('../isObjectLike.js');
4
4
  var getTag = require('./getTag.js');
5
5
  var native = require('./native.js');
6
6
 
7
- var VERSION = "1.14.0";
7
+ var VERSION = "1.15.0";
8
8
  var isBrowser = typeof window !== native.stringUndefined && isObjectLike(window) && typeof document !== native.stringUndefined && isObjectLike(document) && window.document === document;
9
9
  var supportedArgumentsType = getTag((function () { return arguments; })()) === native.argumentsTag;
10
10
  var FUNC_ERROR_TEXT = 'Expected a function';
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var merge = require('./merge.js');
5
+
6
+ var mergeObject = function (object, source) {
7
+ var args = [];
8
+ for (var _i = 2; _i < arguments.length; _i++) {
9
+ args[_i - 2] = arguments[_i];
10
+ }
11
+ if (args.length > 0) {
12
+ var _a = tslib.__read(args), arg1 = _a[0], restArgs = _a.slice(1);
13
+ var obj = merge(object, source, merge.NOT_MERGE_ARRAYS);
14
+ return mergeObject.apply(void 0, tslib.__spreadArray([obj, arg1], tslib.__read(restArgs), false));
15
+ }
16
+ return merge(object, source, merge.NOT_MERGE_ARRAYS);
17
+ };
18
+
19
+ module.exports = mergeObject;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ut2",
3
- "version": "1.14.0",
3
+ "version": "1.15.0",
4
4
  "author": "caijf",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",
@@ -7,6 +7,8 @@ interface FromPairs {
7
7
  *
8
8
  * 与 [Object.entries](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/entries) 正好相反。
9
9
  *
10
+ * @deprecated 即将废弃,请使用 `Object.fromEntries` 替代。
11
+ * @private
10
12
  * @alias module:Array.fromPairs
11
13
  * @since 1.0.0
12
14
  * @param {Array} array 键值对数组。
package/types/index.d.ts CHANGED
@@ -132,6 +132,7 @@ export { default as invert } from './invert';
132
132
  export { default as keys } from './keys';
133
133
  export { default as keysIn } from './keysIn';
134
134
  export { default as merge } from './merge';
135
+ export { default as mergeObject } from './mergeObject';
135
136
  export { default as omit } from './omit';
136
137
  export { default as omitBy } from './omitBy';
137
138
  export { default as pick } from './pick';
@@ -0,0 +1,41 @@
1
+ interface MergeObject {
2
+ <T1, T2>(t1: T1, t2: T2): T1 & T2;
3
+ <T1, T2, T3>(t1: T1, t2: T2, t3: T3): T1 & T2 & T3;
4
+ <T1, T2, T3, T4>(t1: T1, t2: T2, t3: T3, t4: T4): T1 & T2 & T3 & T4;
5
+ <T1, T2, T3, T4, T5>(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): T1 & T2 & T3 & T4 & T5;
6
+ <T1, T2, T3, T4, T5, T6>(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6): T1 & T2 & T3 & T4 & T5 & T6;
7
+ <T1, T2, T3, T4, T5, T6, T7>(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7): T1 & T2 & T3 & T4 & T5 & T6 & T7;
8
+ <T1, T2, T3, T4, T5, T6, T7, T8>(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8): T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8;
9
+ <T1, T2, T3, T4, T5, T6, T7, T8, T9>(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, t9: T9): T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8 & T9;
10
+ <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, t9: T9, t10: T10): T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8 & T9 & T10;
11
+ <T1, T2, T>(t1: T1, t2: T2, ...args: T[]): T1 & T2 & T;
12
+ }
13
+ /**
14
+ * 递归合并 `source` 来源对象自身的可枚举属性(包含 `Symbol` 属性)到 `object` 目标对象。
15
+ *
16
+ * 与 `merge` 方法的区别:
17
+ *
18
+ * 1. 不合并数组,如果只传入 `2` 个参数,同 `merge(obj, src, merge.NOT_MERGE_ARRAYS)`
19
+ * 2. 不支持自定义赋值函数和获取对象键,但支持多个来源对象参数
20
+ *
21
+ * @alias module:Object.mergeObject
22
+ * @since 1.15.0
23
+ * @param {Object | Array} object 目标对象。
24
+ * @param {...object} args 展开的来源对象。
25
+ * @returns 目标对象。
26
+ * @example
27
+ *
28
+ * mergeObject({c: 3}, {e: 5}); // { c: 3, e: 5 }
29
+ * mergeObject({ a: 1 }, { a: undefined, b: undefined }); // { a: 1, b: undefined }
30
+ * mergeObject({ a: 1 }, { a: undefined, b: undefined }, {c:'x'}); // { a: 1, b: undefined, c: 'x' }
31
+ *
32
+ * const source = {
33
+ * a: [{b: 2}, {d: 4}]
34
+ * }
35
+ * const otherSource = {
36
+ * a: [{c: 3},{e: 5}]
37
+ * }
38
+ * mergeObject({}, source, otherSource); // { a: [{c: 3}, {e: 5}] }
39
+ */
40
+ declare const mergeObject: MergeObject;
41
+ export default mergeObject;