@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 +13 -0
- package/dist/calc.js +22 -0
- package/dist/index.cjs.js +42 -21
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -0
- package/package.json +1 -1
- package/sub_storage/offline.cjs.js +0 -1
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
|
|
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,
|
|
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,
|
|
108
|
-
} else if (!(0,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
1900
|
+
constructor(key, formatter2) {
|
|
1880
1901
|
this.key = key;
|
|
1881
|
-
this.formatter =
|
|
1902
|
+
this.formatter = formatter2;
|
|
1882
1903
|
}
|
|
1883
1904
|
#data = {};
|
|
1884
1905
|
#options = {};
|
package/dist/index.d.ts
CHANGED
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