@noah-libjs/utils 0.0.57 → 0.0.59

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/dist/es.js CHANGED
@@ -1440,6 +1440,29 @@ function object_to_formData(obj) {
1440
1440
  }
1441
1441
  return formData;
1442
1442
  }
1443
+ function object_to_searchparams(obj) {
1444
+ var params = new URLSearchParams();
1445
+ var _loop = function _loop(key) {
1446
+ var value = obj[key];
1447
+ // 过滤 undefined,null 转空字符串
1448
+ if (value === undefined) return 1; // continue
1449
+ if (value === null) value = "";
1450
+ // 数组处理:如 ids: [1,2,3] → ids=1&ids=2&ids=3
1451
+ if (Array.isArray(value)) {
1452
+ value.forEach(function (item) {
1453
+ params.append(key, item);
1454
+ });
1455
+ }
1456
+ // 普通值直接添加
1457
+ else {
1458
+ params.append(key, value);
1459
+ }
1460
+ };
1461
+ for (var key in obj) {
1462
+ if (_loop(key)) continue;
1463
+ }
1464
+ return params;
1465
+ }
1443
1466
  function safe_json_parse(str) {
1444
1467
  var retOnErr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1445
1468
  if (!str) return retOnErr;
@@ -1547,22 +1570,36 @@ function end() {
1547
1570
  }
1548
1571
  function getMomentRange() {
1549
1572
  var m = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : dayjs;
1573
+ var which_quarter = dayjs_quarter(start(m))[1];
1574
+ var quarter_start = dayjs_quarter(start(m).startOf('month'), which_quarter)[0];
1575
+ var quarter_end = quarter_start.add(2, 'month').endOf('month');
1550
1576
  return {
1551
1577
  昨天: [start(m).add(-1, 'day'), end(m).add(-1, 'day')],
1552
1578
  今天: [start(m), end(m)],
1553
1579
  明天: [start(m).add(1, 'day'), end(m).add(1, 'day')],
1554
1580
  上周: [start(m).add(-1, 'week').startOf('week'), end(m).add(-1, 'week').endOf('week')],
1555
- // 这周: [start(m).startOf('week'), end(m).endOf('week')] as DT,
1581
+ 本周: [start(m).startOf('week'), end(m).endOf('week')],
1556
1582
  近一周: [start(m).add(-1, 'week').add(1, 'day'), end(m)],
1557
1583
  下周: [start(m).add(1, 'week').startOf('week'), end(m).add(1, 'week').endOf('week')],
1558
1584
  上月: [start(m).add(-1, 'month').startOf('month'), end(m).add(-1, 'month').endOf('month')],
1559
- // 这月: [start(m).startOf('month'), end(m).endOf('month')] as DT,
1585
+ 本月: [start(m).startOf('month'), end(m).endOf('month')],
1560
1586
  近一月: [start(m).add(-1, 'month').add(1, 'day'), end(m)],
1561
1587
  下月: [start(m).add(1, 'month').startOf('month'), end(m).add(1, 'month').endOf('month')],
1588
+ 本季: [quarter_start, quarter_end],
1589
+ 今年: [start(m).startOf('year'), end(m).endOf('year')],
1562
1590
  近一年: [start(m).add(-1, 'year').add(1, 'day'), end(m)],
1563
1591
  年初至今: [start(m).startOf('year'), end(m)]
1564
1592
  };
1565
1593
  }
1594
+ function presets_range() {
1595
+ var rages = getMomentRange();
1596
+ return listify(rages, function (label, value) {
1597
+ return {
1598
+ label: label,
1599
+ value: value
1600
+ };
1601
+ });
1602
+ }
1566
1603
  function presets_date() {
1567
1604
  return [{
1568
1605
  label: '一月前',
@@ -2736,4 +2773,4 @@ function load_src(items, node) {
2736
2773
  var load_src_ = create_load_src();
2737
2774
  return load_src_(items, node);
2738
2775
  }
2739
- export { ARG_URS1_KEY, ARG_URS2_KEY, EMPTY_PLACEHOLDER, EventEmitter, MyLog, ROMAN_NUMERALS, TOKEN_KEY, all, alphabetical, _assign as assign, base64ToBinary, base64_to_image, boil, cache_fetch, calc_number, callable, camel, capitalize, chain, charToUTF8, charToUnicode, clone, cloneDeep, cluster, compose, confirm_operation, construct, copyText, counting, create_load_src, crush, dash, dayOf, dayjs_quarter, debounce, defer, diff, diff_between, downloadFile, draw, expect_array, filter_obj_to_url_search, first, flat, fork, formatDate, formatDateTime, formatDateTimeNoSecond, formatTime, gen_encoded_char_svg, get, getDictionaries, getDictionariesEnumerations, getDictionaryLabel, getDictionaryValue, getDualModeOptions, getFilledArray, getFuckTimeInterval, getFutureDate, getMomentObj, getMomentRange, getOptionLabel, getOptionValue, getPresetOptions, getSameOptions, getSearchParamsAll, getSearchParamsValue, getSimpleOptions, get_global, group, guard, hasOwn, identity, image_to_base64, inRange, intersects, invert, isArray, isBoolean, isDate, isEmpty, _isEqual as isEqual, isFloat, isFunction, isInt, isMoment, isNil, isNull, isNumber, isObject, isObjectLike, isPrimitive, isPromise, isString, isSymbol, iterate, keys, last, list, listify, load_src, lowerize, map, mapEntries, mapKeys, mapValues, max, memo, merge, merge_dict, merge_preset_options, min, noop, numberLikeCompare, object_to_formData, objectify, omit, optionKey不详, optionKey其他, optionKey否, parallel, partial, partob, pascal, pick, presets_date, proxied, random, randomHex, random_word, range, reduce, replace, replaceOrAppend, retry, safeExec, safeGetFromFuncOrData, safe_async_call, safe_evaluate_context, safe_json_parse, safe_json_parse_arr, safe_json_stringify, safe_number_parse, scrollIntoView, select, series, set, setSearchParamsAll, setSearchParamsValue, shake, shift, shuffle, sift, simple_decrypt, simple_decrypt_str, simple_encrypt, simple_encrypt_str, size, sleep, snake, sort, speculate_on_display, sum, template, text_ellipsis, throttle, title, toFloat, toInt, toString, toggle, trim, tryit as try, tryit, uid, unicodeToChar, unicode_to_UTF8, unique, upperize, uuid, warpBase64Type, zip, zipToObject };
2776
+ export { ARG_URS1_KEY, ARG_URS2_KEY, EMPTY_PLACEHOLDER, EventEmitter, MyLog, ROMAN_NUMERALS, TOKEN_KEY, all, alphabetical, _assign as assign, base64ToBinary, base64_to_image, boil, cache_fetch, calc_number, callable, camel, capitalize, chain, charToUTF8, charToUnicode, clone, cloneDeep, cluster, compose, confirm_operation, construct, copyText, counting, create_load_src, crush, dash, dayOf, dayjs_quarter, debounce, defer, diff, diff_between, downloadFile, draw, expect_array, filter_obj_to_url_search, first, flat, fork, formatDate, formatDateTime, formatDateTimeNoSecond, formatTime, gen_encoded_char_svg, get, getDictionaries, getDictionariesEnumerations, getDictionaryLabel, getDictionaryValue, getDualModeOptions, getFilledArray, getFuckTimeInterval, getFutureDate, getMomentObj, getMomentRange, getOptionLabel, getOptionValue, getPresetOptions, getSameOptions, getSearchParamsAll, getSearchParamsValue, getSimpleOptions, get_global, group, guard, hasOwn, identity, image_to_base64, inRange, intersects, invert, isArray, isBoolean, isDate, isEmpty, _isEqual as isEqual, isFloat, isFunction, isInt, isMoment, isNil, isNull, isNumber, isObject, isObjectLike, isPrimitive, isPromise, isString, isSymbol, iterate, keys, last, list, listify, load_src, lowerize, map, mapEntries, mapKeys, mapValues, max, memo, merge, merge_dict, merge_preset_options, min, noop, numberLikeCompare, object_to_formData, object_to_searchparams, objectify, omit, optionKey不详, optionKey其他, optionKey否, parallel, partial, partob, pascal, pick, presets_date, presets_range, proxied, random, randomHex, random_word, range, reduce, replace, replaceOrAppend, retry, safeExec, safeGetFromFuncOrData, safe_async_call, safe_evaluate_context, safe_json_parse, safe_json_parse_arr, safe_json_stringify, safe_number_parse, scrollIntoView, select, series, set, setSearchParamsAll, setSearchParamsValue, shake, shift, shuffle, sift, simple_decrypt, simple_decrypt_str, simple_encrypt, simple_encrypt_str, size, sleep, snake, sort, speculate_on_display, sum, template, text_ellipsis, throttle, title, toFloat, toInt, toString, toggle, trim, tryit as try, tryit, uid, unicodeToChar, unicode_to_UTF8, unique, upperize, uuid, warpBase64Type, zip, zipToObject };
package/dist/helper.d.ts CHANGED
@@ -11,3 +11,4 @@ export declare function toString(value: any): string;
11
11
  export declare function cloneDeep<T>(value: T): T | null;
12
12
  export declare function hasOwn(obj: AnyObject, key: PropertyKey): boolean;
13
13
  export declare function object_to_formData(obj: AnyObject, formData?: FormData, parentKey?: string): FormData;
14
+ export declare function object_to_searchparams(obj: AnyObject): URLSearchParams;
package/dist/lib.js CHANGED
@@ -1450,6 +1450,29 @@ function object_to_formData(obj) {
1450
1450
  }
1451
1451
  return formData;
1452
1452
  }
1453
+ function object_to_searchparams(obj) {
1454
+ var params = new URLSearchParams();
1455
+ var _loop = function _loop(key) {
1456
+ var value = obj[key];
1457
+ // 过滤 undefined,null 转空字符串
1458
+ if (value === undefined) return 1; // continue
1459
+ if (value === null) value = "";
1460
+ // 数组处理:如 ids: [1,2,3] → ids=1&ids=2&ids=3
1461
+ if (Array.isArray(value)) {
1462
+ value.forEach(function (item) {
1463
+ params.append(key, item);
1464
+ });
1465
+ }
1466
+ // 普通值直接添加
1467
+ else {
1468
+ params.append(key, value);
1469
+ }
1470
+ };
1471
+ for (var key in obj) {
1472
+ if (_loop(key)) continue;
1473
+ }
1474
+ return params;
1475
+ }
1453
1476
  function safe_json_parse(str) {
1454
1477
  var retOnErr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1455
1478
  if (!str) return retOnErr;
@@ -1557,22 +1580,36 @@ function end() {
1557
1580
  }
1558
1581
  function getMomentRange() {
1559
1582
  var m = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : dayjs__default["default"];
1583
+ var which_quarter = dayjs_quarter(start(m))[1];
1584
+ var quarter_start = dayjs_quarter(start(m).startOf('month'), which_quarter)[0];
1585
+ var quarter_end = quarter_start.add(2, 'month').endOf('month');
1560
1586
  return {
1561
1587
  昨天: [start(m).add(-1, 'day'), end(m).add(-1, 'day')],
1562
1588
  今天: [start(m), end(m)],
1563
1589
  明天: [start(m).add(1, 'day'), end(m).add(1, 'day')],
1564
1590
  上周: [start(m).add(-1, 'week').startOf('week'), end(m).add(-1, 'week').endOf('week')],
1565
- // 这周: [start(m).startOf('week'), end(m).endOf('week')] as DT,
1591
+ 本周: [start(m).startOf('week'), end(m).endOf('week')],
1566
1592
  近一周: [start(m).add(-1, 'week').add(1, 'day'), end(m)],
1567
1593
  下周: [start(m).add(1, 'week').startOf('week'), end(m).add(1, 'week').endOf('week')],
1568
1594
  上月: [start(m).add(-1, 'month').startOf('month'), end(m).add(-1, 'month').endOf('month')],
1569
- // 这月: [start(m).startOf('month'), end(m).endOf('month')] as DT,
1595
+ 本月: [start(m).startOf('month'), end(m).endOf('month')],
1570
1596
  近一月: [start(m).add(-1, 'month').add(1, 'day'), end(m)],
1571
1597
  下月: [start(m).add(1, 'month').startOf('month'), end(m).add(1, 'month').endOf('month')],
1598
+ 本季: [quarter_start, quarter_end],
1599
+ 今年: [start(m).startOf('year'), end(m).endOf('year')],
1572
1600
  近一年: [start(m).add(-1, 'year').add(1, 'day'), end(m)],
1573
1601
  年初至今: [start(m).startOf('year'), end(m)]
1574
1602
  };
1575
1603
  }
1604
+ function presets_range() {
1605
+ var rages = getMomentRange();
1606
+ return listify(rages, function (label, value) {
1607
+ return {
1608
+ label: label,
1609
+ value: value
1610
+ };
1611
+ });
1612
+ }
1576
1613
  function presets_date() {
1577
1614
  return [{
1578
1615
  label: '一月前',
@@ -2867,6 +2904,7 @@ exports.min = min;
2867
2904
  exports.noop = noop;
2868
2905
  exports.numberLikeCompare = numberLikeCompare;
2869
2906
  exports.object_to_formData = object_to_formData;
2907
+ exports.object_to_searchparams = object_to_searchparams;
2870
2908
  exports.objectify = objectify;
2871
2909
  exports.omit = omit;
2872
2910
  exports["optionKey不详"] = optionKey不详;
@@ -2878,6 +2916,7 @@ exports.partob = partob;
2878
2916
  exports.pascal = pascal;
2879
2917
  exports.pick = pick;
2880
2918
  exports.presets_date = presets_date;
2919
+ exports.presets_range = presets_range;
2881
2920
  exports.proxied = proxied;
2882
2921
  exports.random = random;
2883
2922
  exports.randomHex = randomHex;
@@ -19,14 +19,22 @@ export declare function getMomentRange(m?: any): {
19
19
  今天: [dayjs.Dayjs, dayjs.Dayjs];
20
20
  明天: [dayjs.Dayjs, dayjs.Dayjs];
21
21
  上周: [dayjs.Dayjs, dayjs.Dayjs];
22
+ 本周: [dayjs.Dayjs, dayjs.Dayjs];
22
23
  近一周: [dayjs.Dayjs, dayjs.Dayjs];
23
24
  下周: [dayjs.Dayjs, dayjs.Dayjs];
24
25
  上月: [dayjs.Dayjs, dayjs.Dayjs];
26
+ 本月: [dayjs.Dayjs, dayjs.Dayjs];
25
27
  近一月: [dayjs.Dayjs, dayjs.Dayjs];
26
28
  下月: [dayjs.Dayjs, dayjs.Dayjs];
29
+ 本季: [dayjs.Dayjs, dayjs.Dayjs];
30
+ 今年: [dayjs.Dayjs, dayjs.Dayjs];
27
31
  近一年: [dayjs.Dayjs, dayjs.Dayjs];
28
32
  年初至今: [dayjs.Dayjs, dayjs.Dayjs];
29
33
  };
34
+ export declare function presets_range(): {
35
+ label: "昨天" | "今天" | "明天" | "上周" | "本周" | "近一周" | "下周" | "上月" | "本月" | "近一月" | "下月" | "本季" | "今年" | "近一年" | "年初至今";
36
+ value: [dayjs.Dayjs, dayjs.Dayjs];
37
+ }[];
30
38
  export declare function presets_date(): {
31
39
  label: string;
32
40
  value: any;
package/dist/typing.d.ts CHANGED
@@ -715,6 +715,7 @@ declare function toString(value: any): string;
715
715
  declare function cloneDeep<T>(value: T): T | null;
716
716
  declare function hasOwn(obj: AnyObject, key: PropertyKey): boolean;
717
717
  declare function object_to_formData(obj: AnyObject, formData?: FormData, parentKey?: string): FormData;
718
+ declare function object_to_searchparams(obj: AnyObject): URLSearchParams;
718
719
 
719
720
  declare function safe_json_parse<T = any>(str?: any, retOnErr?: T | null): T | null;
720
721
  declare function safe_json_stringify(obj?: any): string;
@@ -850,14 +851,22 @@ declare function getMomentRange(m?: any): {
850
851
  今天: [dayjs.Dayjs, dayjs.Dayjs];
851
852
  明天: [dayjs.Dayjs, dayjs.Dayjs];
852
853
  上周: [dayjs.Dayjs, dayjs.Dayjs];
854
+ 本周: [dayjs.Dayjs, dayjs.Dayjs];
853
855
  近一周: [dayjs.Dayjs, dayjs.Dayjs];
854
856
  下周: [dayjs.Dayjs, dayjs.Dayjs];
855
857
  上月: [dayjs.Dayjs, dayjs.Dayjs];
858
+ 本月: [dayjs.Dayjs, dayjs.Dayjs];
856
859
  近一月: [dayjs.Dayjs, dayjs.Dayjs];
857
860
  下月: [dayjs.Dayjs, dayjs.Dayjs];
861
+ 本季: [dayjs.Dayjs, dayjs.Dayjs];
862
+ 今年: [dayjs.Dayjs, dayjs.Dayjs];
858
863
  近一年: [dayjs.Dayjs, dayjs.Dayjs];
859
864
  年初至今: [dayjs.Dayjs, dayjs.Dayjs];
860
865
  };
866
+ declare function presets_range(): {
867
+ label: "昨天" | "今天" | "明天" | "上周" | "本周" | "近一周" | "下周" | "上月" | "本月" | "近一月" | "下月" | "本季" | "今年" | "近一年" | "年初至今";
868
+ value: [dayjs.Dayjs, dayjs.Dayjs];
869
+ }[];
861
870
  declare function presets_date(): {
862
871
  label: string;
863
872
  value: any;
@@ -943,5 +952,5 @@ declare function create_load_src(): (items: TMixOpt | TMixOpt[], node?: HTMLHead
943
952
  declare function load_src(items: TMixOpt, node?: HTMLHeadElement): Promise<Element>;
944
953
  declare function load_src(items: TMixOpt[], node?: HTMLHeadElement): Promise<Element[]>;
945
954
 
946
- export { ARG_URS1_KEY, ARG_URS2_KEY, AggregateError, EMPTY_PLACEHOLDER, EventEmitter, MyLog, ROMAN_NUMERALS, TOKEN_KEY, all, alphabetical, assign, base64ToBinary, base64_to_image, boil, cache_fetch, calc_number, callable, camel, capitalize, chain, charToUTF8, charToUnicode, clone, cloneDeep, cluster, compose, confirm_operation, construct, copyText, counting, create_load_src, crush, dash, dayOf, dayjs_quarter, debounce, defer, diff, diff_between, downloadFile, draw, expect_array, filter_obj_to_url_search, first, flat, fork, formatDate, formatDateTime, formatDateTimeNoSecond, formatTime, gen_encoded_char_svg, get, getDictionaries, getDictionariesEnumerations, getDictionaryLabel, getDictionaryValue, getDualModeOptions, getFilledArray, getFuckTimeInterval, getFutureDate, getMomentObj, getMomentRange, getOptionLabel, getOptionValue, getPresetOptions, getSameOptions, getSearchParamsAll, getSearchParamsValue, getSimpleOptions, get_global, group, guard, hasOwn, identity, image_to_base64, inRange, intersects, invert, isArray, isBoolean, isDate, isEmpty, isEqual, isFloat, isFunction, isInt, isMoment, isNil, isNull, isNumber, isObject, isObjectLike, isPrimitive, isPromise, isString, isSymbol, iterate, keys, last, list, listify, load_src, lowerize, map, mapEntries, mapKeys, mapValues, max, memo, merge, merge_dict, merge_preset_options, min, noop, numberLikeCompare, object_to_formData, objectify, omit, optionKey不详, optionKey其他, optionKey否, parallel, partial, partob, pascal, pick, presets_date, proxied, random, randomHex, random_word, range, reduce, replace, replaceOrAppend, retry, safeExec, safeGetFromFuncOrData, safe_async_call, safe_evaluate_context, safe_json_parse, safe_json_parse_arr, safe_json_stringify, safe_number_parse, scrollIntoView, select, series, set, setSearchParamsAll, setSearchParamsValue, shake, shift, shuffle, sift, simple_decrypt, simple_decrypt_str, simple_encrypt, simple_encrypt_str, size, sleep, snake, sort, speculate_on_display, sum, template, text_ellipsis, throttle, title, toFloat, toInt, toString, toggle, trim, tryit as try, tryit, uid, unicodeToChar, unicode_to_UTF8, unique, upperize, uuid, warpBase64Type, zip, zipToObject };
955
+ export { ARG_URS1_KEY, ARG_URS2_KEY, AggregateError, EMPTY_PLACEHOLDER, EventEmitter, MyLog, ROMAN_NUMERALS, TOKEN_KEY, all, alphabetical, assign, base64ToBinary, base64_to_image, boil, cache_fetch, calc_number, callable, camel, capitalize, chain, charToUTF8, charToUnicode, clone, cloneDeep, cluster, compose, confirm_operation, construct, copyText, counting, create_load_src, crush, dash, dayOf, dayjs_quarter, debounce, defer, diff, diff_between, downloadFile, draw, expect_array, filter_obj_to_url_search, first, flat, fork, formatDate, formatDateTime, formatDateTimeNoSecond, formatTime, gen_encoded_char_svg, get, getDictionaries, getDictionariesEnumerations, getDictionaryLabel, getDictionaryValue, getDualModeOptions, getFilledArray, getFuckTimeInterval, getFutureDate, getMomentObj, getMomentRange, getOptionLabel, getOptionValue, getPresetOptions, getSameOptions, getSearchParamsAll, getSearchParamsValue, getSimpleOptions, get_global, group, guard, hasOwn, identity, image_to_base64, inRange, intersects, invert, isArray, isBoolean, isDate, isEmpty, isEqual, isFloat, isFunction, isInt, isMoment, isNil, isNull, isNumber, isObject, isObjectLike, isPrimitive, isPromise, isString, isSymbol, iterate, keys, last, list, listify, load_src, lowerize, map, mapEntries, mapKeys, mapValues, max, memo, merge, merge_dict, merge_preset_options, min, noop, numberLikeCompare, object_to_formData, object_to_searchparams, objectify, omit, optionKey不详, optionKey其他, optionKey否, parallel, partial, partob, pascal, pick, presets_date, presets_range, proxied, random, randomHex, random_word, range, reduce, replace, replaceOrAppend, retry, safeExec, safeGetFromFuncOrData, safe_async_call, safe_evaluate_context, safe_json_parse, safe_json_parse_arr, safe_json_stringify, safe_number_parse, scrollIntoView, select, series, set, setSearchParamsAll, setSearchParamsValue, shake, shift, shuffle, sift, simple_decrypt, simple_decrypt_str, simple_encrypt, simple_encrypt_str, size, sleep, snake, sort, speculate_on_display, sum, template, text_ellipsis, throttle, title, toFloat, toInt, toString, toggle, trim, tryit as try, tryit, uid, unicodeToChar, unicode_to_UTF8, unique, upperize, uuid, warpBase64Type, zip, zipToObject };
947
956
  export type { AnyObject, Dayjs, DayjsConfigType, ICommonOption, PartialAll, PartialSome, PropertyKey$1 as PropertyKey, TCommonFileType };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noah-libjs/utils",
3
- "version": "0.0.57",
3
+ "version": "0.0.59",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -34,5 +34,5 @@
34
34
  "keywords": [],
35
35
  "author": "",
36
36
  "license": "MIT",
37
- "gitHead": "09002308afa59b067c54feba380fcde3b3c4bd11"
37
+ "gitHead": "84c258ced9f6db911e204b728e9e0e7240674b55"
38
38
  }