utiller 1.0.295 → 1.0.297
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/lib/utiller/index.js +79 -33
- package/package.json +1 -1
- package/template/sample.package.json +1 -1
package/lib/utiller/index.js
CHANGED
|
@@ -2029,6 +2029,33 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
2029
2029
|
})();
|
|
2030
2030
|
}
|
|
2031
2031
|
|
|
2032
|
+
/**
|
|
2033
|
+
* Merge multiple arrays of objects based on a specific identifier key.
|
|
2034
|
+
* If objects have the same identifier, they will be merged,
|
|
2035
|
+
* with properties from later arrays overwriting earlier ones.
|
|
2036
|
+
*
|
|
2037
|
+
* const list1 = [{ id: '123', name: 'david' }];
|
|
2038
|
+
* const list2 = [{ id: '123', age: 13 }];
|
|
2039
|
+
* const list3 = [{ id: '456', name: 'alice' }];
|
|
2040
|
+
* console.log(mergeArrayBy('id', list1, list2, list3)); //[ { href: '123', name: 'david', age: 13 },{ href: '456', name: 'alice' } ]
|
|
2041
|
+
*
|
|
2042
|
+
* @param {string} identifier - The object property used to identify and merge items. Default is 'id'.
|
|
2043
|
+
* @param {...Array<Object>} array - Multiple arrays containing objects to merge.
|
|
2044
|
+
* @returns {Array<Object>} A new array with merged objects based on the identifier.
|
|
2045
|
+
*/
|
|
2046
|
+
}, {
|
|
2047
|
+
key: "mergeArrayBy",
|
|
2048
|
+
value: function mergeArrayBy() {
|
|
2049
|
+
var identifier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "id";
|
|
2050
|
+
for (var _len22 = arguments.length, array = new Array(_len22 > 1 ? _len22 - 1 : 0), _key26 = 1; _key26 < _len22; _key26++) {
|
|
2051
|
+
array[_key26 - 1] = arguments[_key26];
|
|
2052
|
+
}
|
|
2053
|
+
return Object.values(array.flat().reduce(function (acc, item) {
|
|
2054
|
+
if (item[identifier]) acc[item[identifier]] = _objectSpread(_objectSpread({}, acc[item[identifier]] || {}), item);
|
|
2055
|
+
return acc;
|
|
2056
|
+
}, {}));
|
|
2057
|
+
}
|
|
2058
|
+
|
|
2032
2059
|
/**
|
|
2033
2060
|
* rootName : /free_marker/src/exam/web
|
|
2034
2061
|
* pathName : /free_marker/src/exam/web/src/base/AlertDialog.js
|
|
@@ -2301,8 +2328,8 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
2301
2328
|
key: "toObjectMap",
|
|
2302
2329
|
value: function toObjectMap(array) {
|
|
2303
2330
|
var newbies = [];
|
|
2304
|
-
for (var
|
|
2305
|
-
rules[
|
|
2331
|
+
for (var _len23 = arguments.length, rules = new Array(_len23 > 1 ? _len23 - 1 : 0), _key27 = 1; _key27 < _len23; _key27++) {
|
|
2332
|
+
rules[_key27 - 1] = arguments[_key27];
|
|
2306
2333
|
}
|
|
2307
2334
|
var _iterator9 = _createForOfIteratorHelper(array),
|
|
2308
2335
|
_step9;
|
|
@@ -2347,8 +2374,8 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
2347
2374
|
}, {
|
|
2348
2375
|
key: "exeAll",
|
|
2349
2376
|
value: function exeAll(collection) {
|
|
2350
|
-
for (var
|
|
2351
|
-
funcs[
|
|
2377
|
+
for (var _len24 = arguments.length, funcs = new Array(_len24 > 1 ? _len24 - 1 : 0), _key28 = 1; _key28 < _len24; _key28++) {
|
|
2378
|
+
funcs[_key28 - 1] = arguments[_key28];
|
|
2352
2379
|
}
|
|
2353
2380
|
if (_lodash["default"].isArray(collection)) {
|
|
2354
2381
|
var _iterator11 = _createForOfIteratorHelper(collection),
|
|
@@ -2403,9 +2430,9 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
2403
2430
|
return true;
|
|
2404
2431
|
};
|
|
2405
2432
|
var collection = {};
|
|
2406
|
-
for (var
|
|
2407
|
-
if (predicate(major, minor,
|
|
2408
|
-
collection[
|
|
2433
|
+
for (var _key29 in major) {
|
|
2434
|
+
if (predicate(major, minor, _key29)) {
|
|
2435
|
+
collection[_key29] = major[_key29];
|
|
2409
2436
|
}
|
|
2410
2437
|
}
|
|
2411
2438
|
return collection;
|
|
@@ -2452,8 +2479,8 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
2452
2479
|
key: "isObjectContainAndEqual",
|
|
2453
2480
|
value: function isObjectContainAndEqual(targetObject, mainObject) {
|
|
2454
2481
|
var equal = true;
|
|
2455
|
-
for (var
|
|
2456
|
-
if (mainObject[
|
|
2482
|
+
for (var _key30 in targetObject) {
|
|
2483
|
+
if (mainObject[_key30] === undefined || mainObject[_key30] !== targetObject[_key30]) {
|
|
2457
2484
|
equal = false;
|
|
2458
2485
|
break;
|
|
2459
2486
|
}
|
|
@@ -2531,8 +2558,8 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
2531
2558
|
}, {
|
|
2532
2559
|
key: "getStateOfStringContainsSign",
|
|
2533
2560
|
value: function getStateOfStringContainsSign(string) {
|
|
2534
|
-
for (var
|
|
2535
|
-
signs[
|
|
2561
|
+
for (var _len25 = arguments.length, signs = new Array(_len25 > 1 ? _len25 - 1 : 0), _key31 = 1; _key31 < _len25; _key31++) {
|
|
2562
|
+
signs[_key31 - 1] = arguments[_key31];
|
|
2536
2563
|
}
|
|
2537
2564
|
for (var _i14 = 0, _signs = signs; _i14 < _signs.length; _i14++) {
|
|
2538
2565
|
var sign = _signs[_i14];
|
|
@@ -2554,8 +2581,8 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
2554
2581
|
key: "constraintOfParam",
|
|
2555
2582
|
value: function constraintOfParam(collection, type) {
|
|
2556
2583
|
var result = false;
|
|
2557
|
-
for (var
|
|
2558
|
-
others[
|
|
2584
|
+
for (var _len26 = arguments.length, others = new Array(_len26 > 2 ? _len26 - 2 : 0), _key32 = 2; _key32 < _len26; _key32++) {
|
|
2585
|
+
others[_key32 - 2] = arguments[_key32];
|
|
2559
2586
|
}
|
|
2560
2587
|
var validOfOthersCondition = _lodash["default"].isEmpty(others) ? true : this.and.apply(this, (0, _toConsumableArray2["default"])(others.map(function (each) {
|
|
2561
2588
|
return each.logic;
|
|
@@ -2704,8 +2731,8 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
2704
2731
|
_step15;
|
|
2705
2732
|
try {
|
|
2706
2733
|
for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
|
|
2707
|
-
var
|
|
2708
|
-
checkValue += "".concat(
|
|
2734
|
+
var _key33 = _step15.value;
|
|
2735
|
+
checkValue += "".concat(_key33, "=").concat(clone[_key33], "&");
|
|
2709
2736
|
}
|
|
2710
2737
|
} catch (err) {
|
|
2711
2738
|
_iterator15.e(err);
|
|
@@ -2799,10 +2826,10 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
2799
2826
|
throw new _exceptioner["default"](9999, "".concat(idOfError, " ATTRIBUTE:'").concat(rule, "' is not Exist"));
|
|
2800
2827
|
}
|
|
2801
2828
|
} else if (_lodash["default"].isObject(rule)) {
|
|
2802
|
-
var
|
|
2829
|
+
var _key34 = this.getObjectKey(rule);
|
|
2803
2830
|
var predicate = this.getObjectValue(rule);
|
|
2804
|
-
if (!predicate(content[
|
|
2805
|
-
throw new _exceptioner["default"](9999, "".concat(idOfError, " ATTRIBUTE:'").concat(
|
|
2831
|
+
if (!predicate(content[_key34])) {
|
|
2832
|
+
throw new _exceptioner["default"](9999, "".concat(idOfError, " ATTRIBUTE:'").concat(_key34, "' is not valid of custom rule"));
|
|
2806
2833
|
}
|
|
2807
2834
|
}
|
|
2808
2835
|
}
|
|
@@ -2836,11 +2863,11 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
2836
2863
|
try {
|
|
2837
2864
|
for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
|
|
2838
2865
|
var item = _step18.value;
|
|
2839
|
-
var
|
|
2840
|
-
if (obj[
|
|
2841
|
-
obj[
|
|
2866
|
+
var _key36 = item[keyOfId];
|
|
2867
|
+
if (obj[_key36] !== undefined) {
|
|
2868
|
+
obj[_key36] = obj[_key36] + item[keyOfSum];
|
|
2842
2869
|
} else {
|
|
2843
|
-
obj[
|
|
2870
|
+
obj[_key36] = item[keyOfSum];
|
|
2844
2871
|
}
|
|
2845
2872
|
}
|
|
2846
2873
|
} catch (err) {
|
|
@@ -2849,10 +2876,10 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
2849
2876
|
_iterator18.f();
|
|
2850
2877
|
}
|
|
2851
2878
|
var items = [];
|
|
2852
|
-
for (var
|
|
2879
|
+
for (var _key35 in obj) {
|
|
2853
2880
|
var _obj = {};
|
|
2854
|
-
_obj[keyOfId] =
|
|
2855
|
-
_obj[keyOfSum] = obj[
|
|
2881
|
+
_obj[keyOfId] = _key35;
|
|
2882
|
+
_obj[keyOfSum] = obj[_key35];
|
|
2856
2883
|
items.push(_obj);
|
|
2857
2884
|
}
|
|
2858
2885
|
return items;
|
|
@@ -3201,9 +3228,9 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
3201
3228
|
var _fetchElementAttributes = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(dom, stringOfTrait) {
|
|
3202
3229
|
var defaultValue,
|
|
3203
3230
|
element,
|
|
3204
|
-
|
|
3231
|
+
_len27,
|
|
3205
3232
|
attributes,
|
|
3206
|
-
|
|
3233
|
+
_key37,
|
|
3207
3234
|
_args10 = arguments;
|
|
3208
3235
|
return _regenerator["default"].wrap(function _callee9$(_context10) {
|
|
3209
3236
|
while (1) switch (_context10.prev = _context10.next) {
|
|
@@ -3217,8 +3244,8 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
3217
3244
|
_context10.next = 16;
|
|
3218
3245
|
break;
|
|
3219
3246
|
}
|
|
3220
|
-
for (
|
|
3221
|
-
attributes[
|
|
3247
|
+
for (_len27 = _args10.length, attributes = new Array(_len27 > 3 ? _len27 - 3 : 0), _key37 = 3; _key37 < _len27; _key37++) {
|
|
3248
|
+
attributes[_key37 - 3] = _args10[_key37];
|
|
3222
3249
|
}
|
|
3223
3250
|
_context10.prev = 6;
|
|
3224
3251
|
_context10.next = 9;
|
|
@@ -3259,9 +3286,9 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
3259
3286
|
value: (function () {
|
|
3260
3287
|
var _writeElementAttributes = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10(dom, stringOfTrait) {
|
|
3261
3288
|
var element,
|
|
3262
|
-
|
|
3289
|
+
_len28,
|
|
3263
3290
|
attributes,
|
|
3264
|
-
|
|
3291
|
+
_key38,
|
|
3265
3292
|
_args11 = arguments;
|
|
3266
3293
|
return _regenerator["default"].wrap(function _callee10$(_context11) {
|
|
3267
3294
|
while (1) switch (_context11.prev = _context11.next) {
|
|
@@ -3270,8 +3297,8 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
3270
3297
|
return dom.$(stringOfTrait);
|
|
3271
3298
|
case 2:
|
|
3272
3299
|
element = _context11.sent;
|
|
3273
|
-
for (
|
|
3274
|
-
attributes[
|
|
3300
|
+
for (_len28 = _args11.length, attributes = new Array(_len28 > 2 ? _len28 - 2 : 0), _key38 = 2; _key38 < _len28; _key38++) {
|
|
3301
|
+
attributes[_key38 - 2] = _args11[_key38];
|
|
3275
3302
|
}
|
|
3276
3303
|
if (this.isUndefinedNullEmpty(element)) {
|
|
3277
3304
|
_context11.next = 9;
|
|
@@ -3350,6 +3377,25 @@ var Utiller = /*#__PURE__*/function () {
|
|
|
3350
3377
|
return Array.from(new Set(array));
|
|
3351
3378
|
}
|
|
3352
3379
|
}
|
|
3380
|
+
|
|
3381
|
+
/**
|
|
3382
|
+
* Extract unique values of a specific key from an array of objects.
|
|
3383
|
+
* array = [ { valueOfType: 1 }, { valueOfType: 7, valueOfSubType: 6 }, { valueOfType: 1 } ];
|
|
3384
|
+
console.log(getUniqueValuesBy(array, 'valueOfType')); //[1, 7]
|
|
3385
|
+
*
|
|
3386
|
+
* @param {Array<Object>} array - The array of objects to process.
|
|
3387
|
+
* @param {string} key - The key to extract values from. Default is 'valueOfType'.
|
|
3388
|
+
* @returns {Array<any>} A deduplicated array of the extracted values.
|
|
3389
|
+
*/
|
|
3390
|
+
}, {
|
|
3391
|
+
key: "getUniqueValuesBy",
|
|
3392
|
+
value: function getUniqueValuesBy(array) {
|
|
3393
|
+
var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "valueOfType";
|
|
3394
|
+
return _lodash["default"].uniq(array.map(function (item) {
|
|
3395
|
+
return item[key];
|
|
3396
|
+
}));
|
|
3397
|
+
}
|
|
3398
|
+
/* 測試資料 */
|
|
3353
3399
|
}]);
|
|
3354
3400
|
}();
|
|
3355
3401
|
var _default = exports["default"] = Utiller;
|
package/package.json
CHANGED