@vope/utils 1.6.2 → 1.6.3

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/calc.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ type Ls = `${string}(${string})` | `${number}${string}`;
2
+ type Lv = Ls | number;
3
+ export declare namespace Calc {
4
+ type Value = Lv;
5
+ }
6
+ declare const formatter: (value: Lv) => 0 | Ls;
7
+ interface Calc {
8
+ (...list: Lv[]): 0 | Ls;
9
+ formatter: typeof formatter;
10
+ }
11
+ export declare const isCalc: (value: Ls) => value is `calc(${string})`;
12
+ declare const calc: Calc;
13
+ export { calc, };
package/dist/calc.js ADDED
@@ -0,0 +1,22 @@
1
+ import { isNumber } from "lodash-es";
2
+ const formatter = (value) => isNumber(value) ? value && `${value}px` : value;
3
+ const isCalc = (value) => value.slice(0, 5) === "calc(" && value.slice(-1) === ")";
4
+ const calc = (...list) => {
5
+ const size = list.length;
6
+ if (size === 0) return 0;
7
+ if (size === 1) return formatter(list[1]);
8
+ const value = list.reduce((caches, value2) => {
9
+ let tmp = formatter(value2);
10
+ if (tmp === 0) return caches;
11
+ if (isCalc(tmp)) {
12
+ tmp = tmp.slice(4);
13
+ }
14
+ return caches ? `${caches} + ${tmp}` : tmp;
15
+ }, "");
16
+ return value === "" ? 0 : `calc(${value})`;
17
+ };
18
+ calc.formatter = formatter;
19
+ export {
20
+ calc,
21
+ isCalc
22
+ };
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -36,6 +35,7 @@ __export(index_exports, {
36
35
  Union: () => Union,
37
36
  WeekLastValue: () => WeekLastValue,
38
37
  WildcardValue: () => WildcardValue,
38
+ calc: () => calc,
39
39
  clamp: () => clamp,
40
40
  classnames: () => classnames,
41
41
  compareVersion: () => compareVersion,
@@ -66,6 +66,7 @@ __export(index_exports, {
66
66
  hash8object: () => hash8object,
67
67
  hash8strings: () => hash8strings,
68
68
  inputRegex: () => inputRegex,
69
+ isCalc: () => isCalc,
69
70
  isClass: () => isClass,
70
71
  isDayLastValue: () => isDayLastValue,
71
72
  isDigitsValue: () => isDigitsValue,
@@ -87,6 +88,26 @@ __export(index_exports, {
87
88
  });
88
89
  module.exports = __toCommonJS(index_exports);
89
90
 
91
+ // src/calc.ts
92
+ var import_lodash_es = require("lodash-es");
93
+ var formatter = (value) => (0, import_lodash_es.isNumber)(value) ? value && `${value}px` : value;
94
+ var isCalc = (value) => value.slice(0, 5) === "calc(" && value.slice(-1) === ")";
95
+ var calc = (...list) => {
96
+ const size = list.length;
97
+ if (size === 0) return 0;
98
+ if (size === 1) return formatter(list[1]);
99
+ const value = list.reduce((caches, value2) => {
100
+ let tmp = formatter(value2);
101
+ if (tmp === 0) return caches;
102
+ if (isCalc(tmp)) {
103
+ tmp = tmp.slice(4);
104
+ }
105
+ return caches ? `${caches} + ${tmp}` : tmp;
106
+ }, "");
107
+ return value === "" ? 0 : `calc(${value})`;
108
+ };
109
+ calc.formatter = formatter;
110
+
90
111
  // src/clamp.ts
91
112
  var clamp = (value, min, max) => {
92
113
  if (min > max) {
@@ -98,14 +119,14 @@ var clamp = (value, min, max) => {
98
119
  };
99
120
 
100
121
  // src/classnames.ts
101
- var import_lodash_es = require("lodash-es");
122
+ var import_lodash_es2 = require("lodash-es");
102
123
  var add = (a, b) => a ? a + " " + b : b;
103
124
  var classnames = (...list) => list.reduce((caches, data) => {
104
- if ((0, import_lodash_es.isString)(data)) {
125
+ if ((0, import_lodash_es2.isString)(data)) {
105
126
  data && (caches = add(caches, data));
106
127
  } else if (Array.isArray(data)) {
107
- data.forEach((value) => value && (0, import_lodash_es.isString)(value) && (caches = add(caches, value)));
108
- } else if (!(0, import_lodash_es.isBoolean)(data)) {
128
+ data.forEach((value) => value && (0, import_lodash_es2.isString)(value) && (caches = add(caches, value)));
129
+ } else if (!(0, import_lodash_es2.isBoolean)(data)) {
109
130
  for (const key in data) {
110
131
  key && data[key] && (caches = add(caches, key));
111
132
  }
@@ -177,7 +198,7 @@ var hash8object = (list, key) => list.reduce((caches, data) => {
177
198
  }, /* @__PURE__ */ new Map());
178
199
 
179
200
  // src/cron.ts
180
- var import_lodash_es2 = require("lodash-es");
201
+ var import_lodash_es3 = require("lodash-es");
181
202
  var {
182
203
  parseInt,
183
204
  isInteger,
@@ -493,7 +514,7 @@ var DigitsValue = class {
493
514
  if (Array.isArray(values)) {
494
515
  tmp = values.reduce((caches, data) => {
495
516
  let tmp2;
496
- if ((0, import_lodash_es2.isNumber)(data)) {
517
+ if ((0, import_lodash_es3.isNumber)(data)) {
497
518
  tmp2 = `${data}`;
498
519
  } else {
499
520
  tmp2 = data.text();
@@ -557,7 +578,7 @@ var formaterDigits = (value, min, max) => {
557
578
  value.some((data) => {
558
579
  if (validate(data, min, max)) {
559
580
  tmp.push(
560
- (0, import_lodash_es2.isNumber)(data) ? data : new RangeValue(data[0], data[1])
581
+ (0, import_lodash_es3.isNumber)(data) ? data : new RangeValue(data[0], data[1])
561
582
  );
562
583
  return false;
563
584
  } else {
@@ -577,7 +598,7 @@ var formaterLastDigits = (value, min, max, prototype) => {
577
598
  const tmp = [];
578
599
  const list = Array.isArray(value) ? value : [value];
579
600
  list.some((data) => {
580
- if ((0, import_lodash_es2.isString)(data)) {
601
+ if ((0, import_lodash_es3.isString)(data)) {
581
602
  const result = parseDigits(data);
582
603
  if (result.length === 1 && result[0] instanceof prototype && validate(result[0].value, min, max - 1)) {
583
604
  tmp.push(result[0]);
@@ -585,7 +606,7 @@ var formaterLastDigits = (value, min, max, prototype) => {
585
606
  }
586
607
  } else if (validate(data, min, max)) {
587
608
  tmp.push(
588
- (0, import_lodash_es2.isNumber)(data) ? data : new RangeValue(data[0], data[1])
609
+ (0, import_lodash_es3.isNumber)(data) ? data : new RangeValue(data[0], data[1])
589
610
  );
590
611
  return false;
591
612
  }
@@ -823,7 +844,7 @@ var Cron = class {
823
844
  };
824
845
 
825
846
  // src/desens.ts
826
- var import_lodash_es3 = require("lodash-es");
847
+ var import_lodash_es4 = require("lodash-es");
827
848
  var desensEncrypt = (plaintext, encrypt) => {
828
849
  const rules = [];
829
850
  let point = -1;
@@ -862,7 +883,7 @@ var desensReplace = (ciphertext, rules, replacer = "*") => {
862
883
  return rules.reduce((cache, { range: [start, stop], modify }) => {
863
884
  const part = ciphertext.slice(start + offset, start + offset + modify);
864
885
  const size = stop + 1 - start;
865
- const replaceValue = (0, import_lodash_es3.isString)(replacer) ? replacer.repeat(size) : replacer[Symbol.replace](part, size);
886
+ const replaceValue = (0, import_lodash_es4.isString)(replacer) ? replacer.repeat(size) : replacer[Symbol.replace](part, size);
866
887
  cache += ciphertext.slice(from, start + offset) + replaceValue;
867
888
  from = start + offset + modify;
868
889
  offset += modify - size;
@@ -1612,11 +1633,11 @@ var once = (func, thisArg) => {
1612
1633
  };
1613
1634
 
1614
1635
  // src/parse/num.ts
1615
- var import_lodash_es4 = require("lodash-es");
1636
+ var import_lodash_es5 = require("lodash-es");
1616
1637
  var pow = Math.floor(Math.log10(Number.MAX_SAFE_INTEGER));
1617
1638
  var re_num2 = /^([-+]?)0*(\d+)(?:(n)|(?:\.(\d+))?(?:[Ee]([-+]?)(\d+))?)$/;
1618
1639
  var parseNum = (num) => {
1619
- if ((0, import_lodash_es4.isNumber)(num) || typeof num === "bigint") return num;
1640
+ if ((0, import_lodash_es5.isNumber)(num) || typeof num === "bigint") return num;
1620
1641
  const match = num.match(re_num2);
1621
1642
  if (!match) return Number.NaN;
1622
1643
  const [, valueSymbol, integer, bigint, decimal, powSymbol, powValue] = match;
@@ -1645,7 +1666,7 @@ var parseNum = (num) => {
1645
1666
  var rotateAngle = (from, angle, visit) => rotateRad(from, angle / 180 * Math.PI, visit);
1646
1667
 
1647
1668
  // src/serialize/url-params.ts
1648
- var import_lodash_es5 = require("lodash-es");
1669
+ var import_lodash_es6 = require("lodash-es");
1649
1670
  var cubes = {
1650
1671
  string: (text) => text,
1651
1672
  boolean: (text) => text === "true",
@@ -1670,7 +1691,7 @@ var cubeURLParams = (text, serializes) => {
1670
1691
  for (const [key, value] of params) {
1671
1692
  const serialize = serializes[key];
1672
1693
  if (!serialize) continue;
1673
- if ((0, import_lodash_es5.isString)(serialize) && isKey(serialize, cubes)) {
1694
+ if ((0, import_lodash_es6.isString)(serialize) && isKey(serialize, cubes)) {
1674
1695
  result[key] = cubes[serialize](value);
1675
1696
  } else {
1676
1697
  result[key] = serialize.cube(value);
@@ -1688,21 +1709,21 @@ var flatURLParams = (data, serializes) => {
1688
1709
  if (!serialize) continue;
1689
1710
  params.append(
1690
1711
  key,
1691
- (0, import_lodash_es5.isString)(serialize) && isKey(serialize, flats) ? flats[serialize](value) : serialize.flat(value)
1712
+ (0, import_lodash_es6.isString)(serialize) && isKey(serialize, flats) ? flats[serialize](value) : serialize.flat(value)
1692
1713
  );
1693
1714
  }
1694
1715
  return params.toString();
1695
1716
  };
1696
1717
 
1697
1718
  // src/style/css.ts
1698
- var import_lodash_es6 = require("lodash-es");
1719
+ var import_lodash_es7 = require("lodash-es");
1699
1720
  var hump = /[A-Z]/g;
1700
1721
  var css = (...args) => {
1701
1722
  const list = [];
1702
1723
  for (let i = 0; i < args.length; i++) {
1703
1724
  const data = args[i];
1704
1725
  if (!data) continue;
1705
- if ((0, import_lodash_es6.isString)(data)) {
1726
+ if ((0, import_lodash_es7.isString)(data)) {
1706
1727
  list.push(data);
1707
1728
  } else if (Array.isArray(data)) {
1708
1729
  const result = css(...data);
@@ -1876,9 +1897,9 @@ var FlexTable = class {
1876
1897
 
1877
1898
  // src/union.ts
1878
1899
  var Union = class {
1879
- constructor(key, formatter) {
1900
+ constructor(key, formatter2) {
1880
1901
  this.key = key;
1881
- this.formatter = formatter;
1902
+ this.formatter = formatter2;
1882
1903
  }
1883
1904
  #data = {};
1884
1905
  #options = {};
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { type Calc, isCalc, calc } from './calc';
1
2
  export { clamp } from './clamp';
2
3
  export { classnames } from './classnames';
3
4
  export { compareVersion } from './compare/version';
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { isCalc, calc } from "./calc";
1
2
  import { clamp } from "./clamp";
2
3
  import { classnames } from "./classnames";
3
4
  import { compareVersion } from "./compare/version";
@@ -50,6 +51,7 @@ export {
50
51
  Union,
51
52
  WeekLastValue,
52
53
  WildcardValue,
54
+ calc,
53
55
  clamp,
54
56
  classnames,
55
57
  compareVersion,
@@ -80,6 +82,7 @@ export {
80
82
  hash8object,
81
83
  hash8strings,
82
84
  inputRegex,
85
+ isCalc,
83
86
  isClass,
84
87
  isDayLastValue,
85
88
  isDigitsValue,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vope/utils",
3
- "version": "1.6.2",
3
+ "version": "1.6.3",
4
4
  "description": "",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;