@mxfb/tools 0.0.38 → 0.1.1
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/agnostic/_WIP_tennis/index.js +62 -0
- package/agnostic/arrays/index.d.ts +11 -0
- package/{utils/agnostic → agnostic/arrays}/is-array-of/index.d.ts +2 -2
- package/agnostic/arrays/is-array-of/index.js +23 -0
- package/agnostic/async/index.d.ts +8 -0
- package/agnostic/async/index.js +20 -0
- package/agnostic/async/timeout-call/index.d.ts +1 -0
- package/agnostic/async/timeout-call/index.js +6 -0
- package/agnostic/async/transitions/index.d.ts +41 -0
- package/agnostic/async/transitions/index.js +7 -0
- package/agnostic/async/wait/index.d.ts +1 -0
- package/agnostic/async/wait/index.js +6 -0
- package/agnostic/booleans/index.d.ts +8 -0
- package/agnostic/booleans/index.js +17 -0
- package/{utils/agnostic → agnostic/booleans}/is-falsy/index.d.ts +1 -2
- package/agnostic/booleans/is-falsy/index.js +11 -0
- package/agnostic/css/bem/index.d.ts +7 -0
- package/agnostic/css/bem/index.js +9 -0
- package/{utils/agnostic → agnostic/css}/generate-nice-color/index.d.ts +0 -1
- package/agnostic/css/generate-nice-color/index.js +8 -0
- package/agnostic/css/index.d.ts +14 -0
- package/agnostic/css/index.js +177 -0
- package/agnostic/css/is-valid-css-class-name/index.d.ts +2 -0
- package/agnostic/css/is-valid-css-class-name/index.js +8 -0
- package/agnostic/css/styles-set/index.d.ts +37 -0
- package/agnostic/errors/index.d.ts +30 -0
- package/agnostic/errors/index.js +6 -0
- package/agnostic/html/get-node-ancestors/index.d.ts +1 -0
- package/agnostic/html/get-node-ancestors/index.js +6 -0
- package/agnostic/html/get-position-inside-parent/index.d.ts +1 -0
- package/agnostic/html/get-position-inside-parent/index.js +6 -0
- package/agnostic/html/index.d.ts +17 -0
- package/agnostic/html/index.js +39 -0
- package/agnostic/html/insert-node/index.d.ts +2 -0
- package/agnostic/html/insert-node/index.js +6 -0
- package/agnostic/html/placeholders/index.d.ts +9 -0
- package/agnostic/html/placeholders/index.js +6 -0
- package/agnostic/html/sanitize/index.d.ts +24 -0
- package/agnostic/html/sanitize/index.js +9 -0
- package/agnostic/html/selector-to-element/index.d.ts +1 -0
- package/agnostic/html/selector-to-element/index.js +9 -0
- package/agnostic/html/string-to-nodes/index.d.ts +7 -0
- package/agnostic/html/string-to-nodes/index.js +10 -0
- package/agnostic/index.d.ts +26 -0
- package/agnostic/misc/assert/index.d.ts +5 -0
- package/agnostic/misc/assert/index.js +6 -0
- package/agnostic/misc/cast/index.d.ts +9 -0
- package/agnostic/misc/cast/index.js +8 -0
- package/agnostic/misc/crossenv/index.d.ts +13 -0
- package/agnostic/misc/crossenv/index.js +6 -0
- package/agnostic/misc/get-current-downlink/index.d.ts +1 -0
- package/agnostic/misc/get-current-downlink/index.js +6 -0
- package/agnostic/misc/index.d.ts +22 -0
- package/agnostic/misc/index.js +45 -0
- package/{utils/agnostic → agnostic/misc}/is-constructor-function/index.d.ts +1 -1
- package/agnostic/misc/is-constructor-function/index.js +6 -0
- package/{utils/agnostic → agnostic/misc}/is-nullish/index.d.ts +0 -1
- package/agnostic/misc/is-nullish/index.js +10 -0
- package/agnostic/misc/logs/index.d.ts +55 -0
- package/agnostic/misc/logs/index.js +6 -0
- package/agnostic/misc/random/index.d.ts +10 -0
- package/agnostic/misc/random/index.js +6 -0
- package/agnostic/numbers/absolute-modulo/index.d.ts +1 -0
- package/agnostic/numbers/absolute-modulo/index.js +6 -0
- package/agnostic/numbers/clamp/index.d.ts +1 -0
- package/agnostic/numbers/clamp/index.js +6 -0
- package/agnostic/numbers/index.d.ts +13 -0
- package/agnostic/numbers/index.js +30 -0
- package/agnostic/numbers/interpolate/index.d.ts +1 -0
- package/agnostic/numbers/interpolate/index.js +6 -0
- package/agnostic/numbers/responsive-harmonics/index.js +9 -0
- package/agnostic/numbers/round/index.d.ts +1 -0
- package/agnostic/numbers/round/index.js +6 -0
- package/agnostic/objects/enums/index.d.ts +4 -0
- package/agnostic/objects/enums/index.js +7 -0
- package/{utils/agnostic → agnostic/objects/enums}/is-in-enum/index.d.ts +1 -1
- package/agnostic/objects/enums/is-in-enum/index.js +6 -0
- package/agnostic/objects/flatten-getters/index.d.ts +1 -0
- package/agnostic/objects/flatten-getters/index.js +9 -0
- package/agnostic/objects/index.d.ts +12 -0
- package/agnostic/objects/index.js +32 -0
- package/agnostic/objects/is-object/index.d.ts +1 -0
- package/agnostic/objects/is-object/index.js +6 -0
- package/agnostic/objects/is-record/index.d.ts +1 -0
- package/agnostic/objects/is-record/index.js +6 -0
- package/agnostic/objects/record-format/index.js +16 -0
- package/agnostic/objects/validation/index.d.ts +3 -0
- package/agnostic/objects/validation/index.js +6 -0
- package/agnostic/optim/index.d.ts +7 -0
- package/agnostic/optim/index.js +18 -0
- package/{utils/agnostic → agnostic/optim}/memoize/index.d.ts +1 -1
- package/agnostic/optim/memoize/index.js +6 -0
- package/agnostic/optim/throttle-debounce/index.js +8 -0
- package/{utils/agnostic → agnostic/optim}/throttle-debounce/types.d.ts +0 -1
- package/agnostic/regexps/index.d.ts +23 -0
- package/agnostic/regexps/index.js +89 -0
- package/agnostic/strings/char-codes/index.d.ts +17 -0
- package/agnostic/strings/char-codes/index.js +6 -0
- package/agnostic/strings/index.d.ts +14 -0
- package/agnostic/strings/index.js +32 -0
- package/agnostic/strings/matches/index.d.ts +3 -0
- package/agnostic/strings/matches/index.js +10 -0
- package/agnostic/strings/normalize-indent/index.d.ts +1 -0
- package/agnostic/strings/normalize-indent/index.js +6 -0
- package/{utils/agnostic → agnostic/strings}/replace-all/index.d.ts +1 -1
- package/agnostic/strings/replace-all/index.js +6 -0
- package/agnostic/strings/to-alphanum/index.d.ts +1 -0
- package/agnostic/strings/to-alphanum/index.js +6 -0
- package/chunks/chunk-32IRF4OP.js +9 -0
- package/chunks/chunk-34U4HX4V.js +73 -0
- package/chunks/chunk-4GDNHUCZ.js +162 -0
- package/chunks/chunk-4QQBKBYH.js +59 -0
- package/chunks/chunk-4VC5PT5T.js +13 -0
- package/chunks/chunk-5LNUCDQ6.js +132 -0
- package/chunks/chunk-7AWTHZLY.js +12 -0
- package/chunks/chunk-7DBNMU6N.js +14 -0
- package/chunks/chunk-7YW5HL6N.js +168 -0
- package/chunks/chunk-COVPTTAD.js +10 -0
- package/chunks/chunk-DNIOWD7K.js +8 -0
- package/chunks/chunk-DQNJQBC6.js +10 -0
- package/chunks/chunk-E6MSDKON.js +13 -0
- package/chunks/chunk-EDVNAV3G.js +72 -0
- package/chunks/chunk-EW46EXFB.js +8 -0
- package/chunks/chunk-FPEW3A27.js +14 -0
- package/chunks/chunk-GJOU3UAL.js +36 -0
- package/chunks/chunk-HC6ZOHCS.js +14 -0
- package/chunks/chunk-HGCG2J77.js +122 -0
- package/chunks/chunk-IFD7GSGK.js +130 -0
- package/chunks/chunk-JQXNEJAP.js +18 -0
- package/chunks/chunk-JWBDZPQG.js +18 -0
- package/chunks/chunk-K37RALUX.js +8 -0
- package/chunks/chunk-KQT5CTGF.js +21 -0
- package/chunks/chunk-LEXQ6E6L.js +31 -0
- package/chunks/chunk-LQFKUNVQ.js +19 -0
- package/chunks/chunk-MF56TTC5.js +15 -0
- package/chunks/chunk-MT74WIQR.js +41 -0
- package/chunks/chunk-NRITRUZW.js +10 -0
- package/chunks/chunk-NRJQKVQV.js +31 -0
- package/chunks/chunk-OSAXBA7G.js +10 -0
- package/chunks/chunk-PO3V3I57.js +23 -0
- package/chunks/chunk-QXAJXTXV.js +19 -0
- package/chunks/chunk-RCO57B6F.js +9 -0
- package/chunks/chunk-SQZGZ3VT.js +15 -0
- package/chunks/chunk-UYTXXUU7.js +54 -0
- package/chunks/chunk-VTPRO4NJ.js +10 -0
- package/chunks/chunk-VYW4IADX.js +35 -0
- package/chunks/chunk-VZDUZTW6.js +113 -0
- package/chunks/chunk-W5A2TON3.js +10 -0
- package/chunks/chunk-W7YBGJ4H.js +28 -0
- package/chunks/chunk-WLL3FNVL.js +40 -0
- package/chunks/chunk-WOAYU6LB.js +13 -0
- package/chunks/chunk-XA4HVHJ4.js +18 -0
- package/chunks/chunk-XN3PZIVL.js +38 -0
- package/chunks/chunk-YDIBNEGA.js +9 -0
- package/components/index.d.ts +4 -0
- package/index.d.ts +3 -0
- package/node/files/index.d.ts +9 -0
- package/node/files/index.js +21 -0
- package/node/files/is-in-directory/index.d.ts +1 -0
- package/node/files/is-in-directory/index.js +6 -0
- package/node/files/read-write/index.d.ts +9 -0
- package/node/files/read-write/index.js +6 -0
- package/node/files/subpaths/index.d.ts +34 -0
- package/node/files/subpaths/index.js +7 -0
- package/node/image/index.d.ts +9 -0
- package/node/image/index.js +74 -0
- package/node/index.d.ts +6 -0
- package/node/mxfb-cli-config/index.js +113 -0
- package/node/process/index.d.ts +8 -0
- package/node/process/index.js +20 -0
- package/{utils/node/process-exit → node/process/on-exit}/index.d.ts +1 -1
- package/node/process/on-exit/index.js +14 -0
- package/package.json +18 -12
- package/shared/errors/index.d.ts +14 -0
- package/shared/index.d.ts +0 -0
- package/chunks/chunk-BEZTX3QU.js +0 -1
- package/chunks/chunk-BW5CY5YB.js +0 -1
- package/chunks/chunk-DIPJ73JH.js +0 -1
- package/chunks/chunk-EFFU6KXJ.js +0 -1
- package/chunks/chunk-KNE7WIIW.js +0 -1
- package/chunks/chunk-LCLAV6Q2.js +0 -1
- package/chunks/chunk-PCAKH6ZJ.js +0 -1
- package/chunks/chunk-QQRJPDR7.js +0 -1
- package/chunks/chunk-WZBNXYN3.js +0 -1
- package/chunks/chunk-XCKXCF4A.js +0 -1
- package/chunks/chunk-ZVJO36JU.js +0 -1
- package/components/Comp/index.js +0 -1
- package/index.js +0 -100
- package/utils/agnostic/_WIP_tennis/index.js +0 -1
- package/utils/agnostic/absolute-modulo/index.d.ts +0 -1
- package/utils/agnostic/absolute-modulo/index.js +0 -1
- package/utils/agnostic/array/index.d.ts +0 -7
- package/utils/agnostic/array/index.js +0 -1
- package/utils/agnostic/assert/index.d.ts +0 -3
- package/utils/agnostic/assert/index.js +0 -1
- package/utils/agnostic/await-timeout/index.d.ts +0 -2
- package/utils/agnostic/await-timeout/index.js +0 -1
- package/utils/agnostic/bem/index.d.ts +0 -5
- package/utils/agnostic/bem/index.js +0 -1
- package/utils/agnostic/cast/index.d.ts +0 -7
- package/utils/agnostic/cast/index.js +0 -1
- package/utils/agnostic/charcode-string/index.d.ts +0 -2
- package/utils/agnostic/charcode-string/index.js +0 -1
- package/utils/agnostic/clamp/index.d.ts +0 -1
- package/utils/agnostic/clamp/index.js +0 -1
- package/utils/agnostic/clientside-html-sanitizer/index.d.ts +0 -22
- package/utils/agnostic/clientside-html-sanitizer/index.js +0 -1
- package/utils/agnostic/crossenv/index.d.ts +0 -11
- package/utils/agnostic/crossenv/index.js +0 -1
- package/utils/agnostic/flatten-getters/index.d.ts +0 -1
- package/utils/agnostic/flatten-getters/index.js +0 -1
- package/utils/agnostic/generate-html-placeholders/index.d.ts +0 -7
- package/utils/agnostic/generate-html-placeholders/index.js +0 -5
- package/utils/agnostic/generate-nice-color/index.js +0 -1
- package/utils/agnostic/insert-node/index.d.ts +0 -2
- package/utils/agnostic/insert-node/index.js +0 -1
- package/utils/agnostic/interpolate/index.d.ts +0 -3
- package/utils/agnostic/interpolate/index.js +0 -1
- package/utils/agnostic/is-array-of/index.js +0 -1
- package/utils/agnostic/is-constructor-function/index.js +0 -1
- package/utils/agnostic/is-falsy/index.js +0 -1
- package/utils/agnostic/is-in-enum/index.js +0 -1
- package/utils/agnostic/is-nullish/index.js +0 -1
- package/utils/agnostic/is-object/index.d.ts +0 -1
- package/utils/agnostic/is-object/index.js +0 -1
- package/utils/agnostic/is-record/index.d.ts +0 -1
- package/utils/agnostic/is-record/index.js +0 -1
- package/utils/agnostic/is-valid-css-class-name/index.d.ts +0 -2
- package/utils/agnostic/is-valid-css-class-name/index.js +0 -1
- package/utils/agnostic/memoize/index.js +0 -1
- package/utils/agnostic/object-validate-from-partial/index.d.ts +0 -1
- package/utils/agnostic/object-validate-from-partial/index.js +0 -1
- package/utils/agnostic/random/index.d.ts +0 -9
- package/utils/agnostic/random/index.js +0 -1
- package/utils/agnostic/record-format/index.js +0 -1
- package/utils/agnostic/regexp/index.d.ts +0 -21
- package/utils/agnostic/regexp/index.js +0 -1
- package/utils/agnostic/replace-all/index.js +0 -1
- package/utils/agnostic/responsive-harmonics/index.js +0 -1
- package/utils/agnostic/round-numbers/index.d.ts +0 -1
- package/utils/agnostic/round-numbers/index.js +0 -1
- package/utils/agnostic/selector-to-element/index.d.ts +0 -1
- package/utils/agnostic/selector-to-element/index.js +0 -1
- package/utils/agnostic/silent-log/index.d.ts +0 -53
- package/utils/agnostic/silent-log/index.js +0 -9
- package/utils/agnostic/str-to-nodes/index.d.ts +0 -7
- package/utils/agnostic/str-to-nodes/index.js +0 -1
- package/utils/agnostic/string-matches/index.d.ts +0 -4
- package/utils/agnostic/string-matches/index.js +0 -1
- package/utils/agnostic/string-normalize-indent/index.d.ts +0 -1
- package/utils/agnostic/string-normalize-indent/index.js +0 -3
- package/utils/agnostic/throttle-debounce/index.js +0 -1
- package/utils/agnostic/to-alphanum/index.d.ts +0 -1
- package/utils/agnostic/to-alphanum/index.js +0 -1
- package/utils/agnostic/transition/index.d.ts +0 -39
- package/utils/agnostic/transition/index.js +0 -1
- package/utils/agnostic/wait/index.d.ts +0 -1
- package/utils/agnostic/wait/index.js +0 -1
- package/utils/browser/dynamic-css/index.d.ts +0 -4
- package/utils/browser/dynamic-css/index.js +0 -2
- package/utils/browser/get-current-downlink/index.d.ts +0 -1
- package/utils/browser/get-current-downlink/index.js +0 -1
- package/utils/browser/get-node-ancestors/index.d.ts +0 -1
- package/utils/browser/get-node-ancestors/index.js +0 -1
- package/utils/node/is-in-directory/index.d.ts +0 -1
- package/utils/node/is-in-directory/index.js +0 -1
- package/utils/node/list-subpaths/index.d.ts +0 -33
- package/utils/node/list-subpaths/index.js +0 -1
- package/utils/node/mxfb-cli-config/index.js +0 -2
- package/utils/node/process-exit/index.js +0 -1
- package/utils/node/read-write-file/index.d.ts +0 -12
- package/utils/node/read-write-file/index.js +0 -1
- /package/{utils/agnostic → agnostic}/_WIP_tennis/index.d.ts +0 -0
- /package/{utils/agnostic → agnostic/css}/bem/BEM.d.ts +0 -0
- /package/{utils/agnostic → agnostic/css}/bem/getNamesArr.d.ts +0 -0
- /package/{utils/agnostic → agnostic/numbers}/responsive-harmonics/index.d.ts +0 -0
- /package/{utils/agnostic → agnostic/objects}/record-format/index.d.ts +0 -0
- /package/{utils/agnostic → agnostic/optim}/throttle-debounce/index.d.ts +0 -0
- /package/{utils/node → node}/mxfb-cli-config/index.d.ts +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// src/agnostic/misc/assert/index.ts
|
|
2
|
+
var Assert;
|
|
3
|
+
((Assert2) => {
|
|
4
|
+
function makeSuccess(label) {
|
|
5
|
+
console.info(`\u2705 SUCCESS: "${label}"`);
|
|
6
|
+
}
|
|
7
|
+
function makeFailure(label) {
|
|
8
|
+
throw new Error(`\u{1F6AB} FAILURE: "${label}""`);
|
|
9
|
+
}
|
|
10
|
+
function assert(label, assertion) {
|
|
11
|
+
if (Array.isArray(assertion)) assertion.forEach((innerAssertion, pos) => assert(`${label} (${pos})`, innerAssertion));
|
|
12
|
+
else if (typeof assertion === "function") {
|
|
13
|
+
try {
|
|
14
|
+
const result = assertion();
|
|
15
|
+
if (result === false) makeFailure(label);
|
|
16
|
+
else makeSuccess(label);
|
|
17
|
+
} catch (err) {
|
|
18
|
+
makeFailure(`${err}`);
|
|
19
|
+
}
|
|
20
|
+
} else if (assertion === false) makeFailure(label);
|
|
21
|
+
else makeSuccess(label);
|
|
22
|
+
}
|
|
23
|
+
Assert2.assert = assert;
|
|
24
|
+
})(Assert || (Assert = {}));
|
|
25
|
+
|
|
26
|
+
export {
|
|
27
|
+
Assert
|
|
28
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// src/agnostic/misc/random/index.ts
|
|
2
|
+
var Random;
|
|
3
|
+
((Random2) => {
|
|
4
|
+
function random(bound1 = 1, bound2) {
|
|
5
|
+
const min = bound2 === void 0 ? 0 : bound1;
|
|
6
|
+
const max = bound2 === void 0 ? bound1 : bound2;
|
|
7
|
+
if (min === max || min > max) return void 0;
|
|
8
|
+
const range = max - min;
|
|
9
|
+
return Math.random() * range + min;
|
|
10
|
+
}
|
|
11
|
+
Random2.random = random;
|
|
12
|
+
function randomInt(...args) {
|
|
13
|
+
const rand = random(...args);
|
|
14
|
+
return rand !== void 0 ? Math.floor(rand) : void 0;
|
|
15
|
+
}
|
|
16
|
+
Random2.randomInt = randomInt;
|
|
17
|
+
Random2.hexChars = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
|
|
18
|
+
function randomHexChar() {
|
|
19
|
+
const nbr = Math.floor(Math.random() * 16);
|
|
20
|
+
const char = Random2.hexChars[nbr];
|
|
21
|
+
return char;
|
|
22
|
+
}
|
|
23
|
+
Random2.randomHexChar = randomHexChar;
|
|
24
|
+
function randomHash(length = 4) {
|
|
25
|
+
return new Array(length).fill(null).map(randomHexChar).join("");
|
|
26
|
+
}
|
|
27
|
+
Random2.randomHash = randomHash;
|
|
28
|
+
function randomHashPattern(pattern, joiner = "-") {
|
|
29
|
+
return pattern.map(randomHash).join(joiner);
|
|
30
|
+
}
|
|
31
|
+
Random2.randomHashPattern = randomHashPattern;
|
|
32
|
+
function randomUUID() {
|
|
33
|
+
return randomHashPattern([8, 4, 4, 4, 12]);
|
|
34
|
+
}
|
|
35
|
+
Random2.randomUUID = randomUUID;
|
|
36
|
+
})(Random || (Random = {}));
|
|
37
|
+
|
|
38
|
+
export {
|
|
39
|
+
Random
|
|
40
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// src/agnostic/html/insert-node/index.ts
|
|
2
|
+
function insertNode(node, position, reference) {
|
|
3
|
+
if (position === "after") {
|
|
4
|
+
if (reference.nextSibling !== null) reference.parentNode?.insertBefore(node, reference.nextSibling);
|
|
5
|
+
else reference.parentNode?.appendChild(node);
|
|
6
|
+
} else if (position === "before") {
|
|
7
|
+
reference.parentNode?.insertBefore(node, reference);
|
|
8
|
+
} else if (position === "startof") {
|
|
9
|
+
if (reference.firstChild !== null) reference.insertBefore(node, reference.firstChild);
|
|
10
|
+
else reference.appendChild(node);
|
|
11
|
+
} else {
|
|
12
|
+
reference.appendChild(node);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
insertNode
|
|
18
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import {
|
|
2
|
+
register
|
|
3
|
+
} from "./chunk-KQT5CTGF.js";
|
|
4
|
+
import {
|
|
5
|
+
Crossenv
|
|
6
|
+
} from "./chunk-GJOU3UAL.js";
|
|
7
|
+
|
|
8
|
+
// src/agnostic/html/selector-to-element/index.ts
|
|
9
|
+
function selectorToElement(selector, documentObj) {
|
|
10
|
+
const actualDocument = documentObj ?? Crossenv.getDocument();
|
|
11
|
+
if (actualDocument === null) throw register.getError("no-window-document-on-runtime-please-provide" /* NO_DOCUMENT_PLEASE_PROVIDE */, "The optional second parameter expects a Document object");
|
|
12
|
+
const tagRegexp = /^[A-Za-z]+/;
|
|
13
|
+
const idRegexp = /#[A-Za-z]+[\w\-\:]*/;
|
|
14
|
+
const classRegexp = /\.[A-Za-z]+[\w\-]*/;
|
|
15
|
+
const attributeRegexp = /\[[A-Za-z]+[\w\-]*(="[\w\-]+")?\]/;
|
|
16
|
+
const matchedTags = selector.match(tagRegexp) ?? [];
|
|
17
|
+
const matchedIds = selector.match(idRegexp) ?? [];
|
|
18
|
+
const matchedClasses = selector.match(classRegexp) ?? [];
|
|
19
|
+
const matchedAttrs = selector.match(attributeRegexp) ?? [];
|
|
20
|
+
const tag = matchedTags[matchedTags.length - 1] ?? "div";
|
|
21
|
+
const id = matchedIds[matchedIds.length - 1] ?? null;
|
|
22
|
+
const classes = matchedClasses.map((matchedClass) => matchedClass.replace(/^\./, ""));
|
|
23
|
+
const attributes = matchedAttrs.map((matchedAttr) => matchedAttr.replace(/^\[/, "").replace(/\]$/, "").split("="));
|
|
24
|
+
const element = actualDocument.createElement(tag);
|
|
25
|
+
if (id !== null) {
|
|
26
|
+
element.id = id;
|
|
27
|
+
}
|
|
28
|
+
element.classList.add(...classes);
|
|
29
|
+
attributes.forEach(([name, value = ""]) => {
|
|
30
|
+
if (name === void 0) return;
|
|
31
|
+
element.setAttribute(name, value);
|
|
32
|
+
});
|
|
33
|
+
return element;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export {
|
|
37
|
+
selectorToElement
|
|
38
|
+
};
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { isInDirectory as isInDirectoryFunc } from './is-in-directory';
|
|
2
|
+
import { ReadWriteEditorFunc as ReadWriteEditorFuncType, readWrite as readWriteFunc } from './read-write';
|
|
3
|
+
import { Subpaths as SubpathsNamespace } from './subpaths';
|
|
4
|
+
export declare namespace Files {
|
|
5
|
+
const isInDirectory: typeof isInDirectoryFunc;
|
|
6
|
+
type ReadWriteEditorFunc = ReadWriteEditorFuncType;
|
|
7
|
+
const readWrite: typeof readWriteFunc;
|
|
8
|
+
export import Subpaths = SubpathsNamespace;
|
|
9
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isInDirectory
|
|
3
|
+
} from "../../chunks/chunk-NRITRUZW.js";
|
|
4
|
+
import {
|
|
5
|
+
readWrite
|
|
6
|
+
} from "../../chunks/chunk-7DBNMU6N.js";
|
|
7
|
+
import {
|
|
8
|
+
Subpaths
|
|
9
|
+
} from "../../chunks/chunk-HGCG2J77.js";
|
|
10
|
+
import "../../chunks/chunk-LQFKUNVQ.js";
|
|
11
|
+
|
|
12
|
+
// src/node/files/index.ts
|
|
13
|
+
var Files;
|
|
14
|
+
((Files2) => {
|
|
15
|
+
Files2.isInDirectory = isInDirectory;
|
|
16
|
+
Files2.readWrite = readWrite;
|
|
17
|
+
Files2.Subpaths = Subpaths;
|
|
18
|
+
})(Files || (Files = {}));
|
|
19
|
+
export {
|
|
20
|
+
Files
|
|
21
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isInDirectory(childPath: string, parentPath: string): boolean;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { promises as fs } from 'node:fs';
|
|
2
|
+
type Path = Parameters<typeof fs.writeFile>[0];
|
|
3
|
+
type ReadFileData = Awaited<ReturnType<typeof fs.readFile>>;
|
|
4
|
+
type WriteFileData = Parameters<typeof fs.writeFile>[1];
|
|
5
|
+
type ReadOptions = Parameters<typeof fs.readFile>[1];
|
|
6
|
+
type WriteOptions = Parameters<typeof fs.writeFile>[2];
|
|
7
|
+
export type ReadWriteEditorFunc = (curr: ReadFileData) => WriteFileData;
|
|
8
|
+
export declare function readWrite(path: Path, editor: ReadWriteEditorFunc, ...options: [ReadOptions?, WriteOptions?]): Promise<string | NodeJS.ArrayBufferView | Iterable<string | NodeJS.ArrayBufferView> | AsyncIterable<string | NodeJS.ArrayBufferView> | import("stream").Stream>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Stats } from 'node:fs';
|
|
2
|
+
export declare namespace Subpaths {
|
|
3
|
+
export type ChildType = 'file' | 'directory' | 'symlink';
|
|
4
|
+
export type ChildDetails = {
|
|
5
|
+
type: ChildType;
|
|
6
|
+
hidden: boolean;
|
|
7
|
+
realPath: string;
|
|
8
|
+
};
|
|
9
|
+
export type ListContext = {
|
|
10
|
+
depth?: number;
|
|
11
|
+
lstats?: Stats | null;
|
|
12
|
+
rootPath?: string | null;
|
|
13
|
+
};
|
|
14
|
+
export const defaultListContext: Required<ListContext>;
|
|
15
|
+
export const fillListContext: (input: ListContext) => Required<ListContext>;
|
|
16
|
+
export type ListOptions = {
|
|
17
|
+
directories?: boolean;
|
|
18
|
+
files?: boolean;
|
|
19
|
+
symlinks?: boolean;
|
|
20
|
+
hidden?: boolean;
|
|
21
|
+
followSimlinks?: boolean;
|
|
22
|
+
dedupeSimlinksContents?: boolean;
|
|
23
|
+
maxDepth?: number;
|
|
24
|
+
returnRelative?: boolean;
|
|
25
|
+
exclude?: RegExp | string | (RegExp | string)[] | null;
|
|
26
|
+
include?: RegExp | string | (RegExp | string)[] | null;
|
|
27
|
+
filter?: ((path: string, details: ChildDetails) => boolean | Promise<boolean>);
|
|
28
|
+
};
|
|
29
|
+
export const defaultListOptions: Required<ListOptions>;
|
|
30
|
+
export const fillOptions: (input: ListOptions) => Required<ListOptions>;
|
|
31
|
+
export function list(...args: Parameters<typeof listAbsoluteSubpaths>): Promise<string[]>;
|
|
32
|
+
function listAbsoluteSubpaths(inputPath: string, _options?: ListOptions, __private_context?: ListContext): Promise<string[]>;
|
|
33
|
+
export {};
|
|
34
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function getImageColorsFromUrl(url: string): Promise<string[]>;
|
|
2
|
+
export declare const compressorExtensions: {
|
|
3
|
+
jpgExtensions: string[];
|
|
4
|
+
pngExtensions: string[];
|
|
5
|
+
webpExtensions: string[];
|
|
6
|
+
avifExtensions: string[];
|
|
7
|
+
heifExtensions: string[];
|
|
8
|
+
};
|
|
9
|
+
export declare function compressImages(src: string, preExtension: string, sizes?: number[], qualities?: number[] | number): Promise<void>;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// src/node/image/index.ts
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import fetch from "node-fetch";
|
|
4
|
+
import getColors from "get-image-colors";
|
|
5
|
+
import fse from "fs-extra";
|
|
6
|
+
import sharp from "sharp";
|
|
7
|
+
async function getImageColorsFromUrl(url) {
|
|
8
|
+
const data = await fetch(url);
|
|
9
|
+
const blob = await data.blob();
|
|
10
|
+
const arrayBuffer = await blob.arrayBuffer();
|
|
11
|
+
const buffer = Buffer.from(arrayBuffer);
|
|
12
|
+
const colors = await getColors(buffer, blob.type);
|
|
13
|
+
const result = colors.map((color) => color.hex());
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
var compressorExtensions = {
|
|
17
|
+
jpgExtensions: [".jpg", ".jpeg"],
|
|
18
|
+
pngExtensions: [".png"],
|
|
19
|
+
webpExtensions: [".wepb"],
|
|
20
|
+
avifExtensions: [".avif", ".avifs"],
|
|
21
|
+
heifExtensions: [".heif", ".heifs", ".hif"]
|
|
22
|
+
};
|
|
23
|
+
async function compressImages(src, preExtension, sizes = [], qualities = 100) {
|
|
24
|
+
if (!path.isAbsolute(src)) throw new Error("Source path must be absolute.");
|
|
25
|
+
const files = await fse.readdir(src);
|
|
26
|
+
const {
|
|
27
|
+
jpgExtensions,
|
|
28
|
+
pngExtensions,
|
|
29
|
+
webpExtensions,
|
|
30
|
+
avifExtensions,
|
|
31
|
+
heifExtensions
|
|
32
|
+
} = compressorExtensions;
|
|
33
|
+
const allowedExtensions = [
|
|
34
|
+
...jpgExtensions,
|
|
35
|
+
...pngExtensions,
|
|
36
|
+
...webpExtensions,
|
|
37
|
+
...avifExtensions,
|
|
38
|
+
...heifExtensions
|
|
39
|
+
].flat();
|
|
40
|
+
for (const file of files) {
|
|
41
|
+
const filePath = path.join(src, file);
|
|
42
|
+
const isDirectory = (await fse.stat(filePath)).isDirectory();
|
|
43
|
+
if (isDirectory) continue;
|
|
44
|
+
const ext = path.extname(file);
|
|
45
|
+
const extIsAllowed = allowedExtensions.includes(ext.toLowerCase());
|
|
46
|
+
if (!extIsAllowed) continue;
|
|
47
|
+
const nameWithPreExt = file.replace(new RegExp(`${ext}$`), "");
|
|
48
|
+
let matchedPreExt = nameWithPreExt.split(".").slice(1).slice(-1)[0] ?? "";
|
|
49
|
+
const preExt = matchedPreExt === "" ? matchedPreExt : `.${matchedPreExt}`;
|
|
50
|
+
if (preExt === preExtension) continue;
|
|
51
|
+
const name = nameWithPreExt.replace(new RegExp(`${preExtension}$`), "");
|
|
52
|
+
for (const sizePos in sizes) {
|
|
53
|
+
const size = sizes[sizePos];
|
|
54
|
+
const dstFile = `${name}.${size}${preExtension}${ext}`;
|
|
55
|
+
const dstFilePath = path.join(src, dstFile);
|
|
56
|
+
const quality = Array.isArray(qualities) ? qualities[sizePos] ?? qualities.slice(-1)[0] ?? 100 : qualities;
|
|
57
|
+
const resized = sharp(filePath).withMetadata().resize(size, size, { fit: "inside", withoutEnlargement: true });
|
|
58
|
+
if (jpgExtensions.includes(ext)) await resized.jpeg({ quality }).toFile(dstFilePath);
|
|
59
|
+
if (pngExtensions.includes(ext)) await resized.png({ quality }).toFile(dstFilePath);
|
|
60
|
+
if (webpExtensions.includes(ext)) await resized.webp({ quality }).toFile(dstFilePath);
|
|
61
|
+
if (avifExtensions.includes(ext)) await resized.avif({ quality }).toFile(dstFilePath);
|
|
62
|
+
if (heifExtensions.includes(ext)) await resized.heif({ quality }).toFile(dstFilePath);
|
|
63
|
+
console.log(dstFilePath);
|
|
64
|
+
console.log("size", size);
|
|
65
|
+
console.log("quality", quality);
|
|
66
|
+
console.log("poids", (await fse.stat(dstFilePath)).size);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export {
|
|
71
|
+
compressImages,
|
|
72
|
+
compressorExtensions,
|
|
73
|
+
getImageColorsFromUrl
|
|
74
|
+
};
|
package/node/index.d.ts
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
// src/node/mxfb-cli-config/index.ts
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import { promises as fs } from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
var homeDirPath = os.homedir();
|
|
6
|
+
var mxfbConfigDirPath = path.join(homeDirPath, ".config/mxfb-cli");
|
|
7
|
+
var mxfbConfigFilePath = path.join(mxfbConfigDirPath, "config.json");
|
|
8
|
+
var emptyConfigObj = {};
|
|
9
|
+
async function createConfigFile(force = false) {
|
|
10
|
+
await fs.mkdir(mxfbConfigDirPath, { recursive: true });
|
|
11
|
+
try {
|
|
12
|
+
await fs.stat(mxfbConfigFilePath);
|
|
13
|
+
if (force === true) throw "create anyway";
|
|
14
|
+
return true;
|
|
15
|
+
} catch (err) {
|
|
16
|
+
try {
|
|
17
|
+
await fs.writeFile(
|
|
18
|
+
mxfbConfigFilePath,
|
|
19
|
+
`${JSON.stringify(emptyConfigObj, null, 2)}
|
|
20
|
+
`,
|
|
21
|
+
{ encoding: "utf-8" }
|
|
22
|
+
);
|
|
23
|
+
return true;
|
|
24
|
+
} catch (err2) {
|
|
25
|
+
if (err2 instanceof Error) return err2;
|
|
26
|
+
if (typeof err2 === "string") return new Error(err2);
|
|
27
|
+
return new Error(`${err2}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
var deletionSecurityPhrase = "THIS IS A DESTRUCTIVE AND DEFINITIVE ACTION";
|
|
32
|
+
async function deleteConfigDir(security) {
|
|
33
|
+
if (security !== deletionSecurityPhrase) return new Error("You must provide the security phrase");
|
|
34
|
+
await fs.rm(mxfbConfigDirPath, { recursive: true, force: true });
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
async function deleteConfigFile(security) {
|
|
38
|
+
if (security !== deletionSecurityPhrase) return new Error("You must provide the security phrase");
|
|
39
|
+
await fs.rm(mxfbConfigDirPath);
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
async function ensureConfigFile() {
|
|
43
|
+
try {
|
|
44
|
+
await fs.stat(mxfbConfigFilePath);
|
|
45
|
+
return true;
|
|
46
|
+
} catch (err) {
|
|
47
|
+
try {
|
|
48
|
+
const created = await createConfigFile();
|
|
49
|
+
if (created instanceof Error) throw created;
|
|
50
|
+
return true;
|
|
51
|
+
} catch (err2) {
|
|
52
|
+
if (err2 instanceof Error) return err2;
|
|
53
|
+
if (typeof err2 === "string") return new Error(err2);
|
|
54
|
+
return new Error(`${err2}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async function getConfigFile() {
|
|
59
|
+
try {
|
|
60
|
+
const fileContents = await fs.readFile(mxfbConfigFilePath, { encoding: "utf-8" });
|
|
61
|
+
return fileContents;
|
|
62
|
+
} catch (err) {
|
|
63
|
+
if (err instanceof Error) return err;
|
|
64
|
+
if (typeof err === "string") return new Error(err);
|
|
65
|
+
return new Error(`${err}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function validateConfigObj(configObj) {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
function parseConfigFile(fileContents) {
|
|
72
|
+
try {
|
|
73
|
+
const parsed = JSON.parse(fileContents);
|
|
74
|
+
const validated = validateConfigObj(parsed);
|
|
75
|
+
if (!validated) throw new Error(`Invalid config file shape: ${fileContents}`);
|
|
76
|
+
return parsed;
|
|
77
|
+
} catch (err) {
|
|
78
|
+
if (err instanceof Error) return err;
|
|
79
|
+
if (typeof err === "string") return new Error(err);
|
|
80
|
+
return new Error(`${err}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async function getConfig(create = false) {
|
|
84
|
+
if (create) {
|
|
85
|
+
const created = await ensureConfigFile();
|
|
86
|
+
if (created !== true) return created;
|
|
87
|
+
}
|
|
88
|
+
const configStr = await getConfigFile();
|
|
89
|
+
if (configStr instanceof Error) return configStr;
|
|
90
|
+
const parsed = parseConfigFile(configStr);
|
|
91
|
+
if (parsed instanceof Error) return parsed;
|
|
92
|
+
return parsed;
|
|
93
|
+
}
|
|
94
|
+
async function updateConfig(updater, create = false) {
|
|
95
|
+
const currentConfig = await getConfig(create);
|
|
96
|
+
if (currentConfig instanceof Error) return currentConfig;
|
|
97
|
+
const updatedConfig = typeof updater === "function" ? updater(currentConfig) : { ...currentConfig, ...updater };
|
|
98
|
+
const stringified = JSON.stringify(updatedConfig, null, 2);
|
|
99
|
+
await fs.writeFile(mxfbConfigFilePath, stringified, { encoding: "utf-8" });
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
export {
|
|
103
|
+
createConfigFile,
|
|
104
|
+
deleteConfigDir,
|
|
105
|
+
deleteConfigFile,
|
|
106
|
+
emptyConfigObj,
|
|
107
|
+
ensureConfigFile,
|
|
108
|
+
getConfig,
|
|
109
|
+
getConfigFile,
|
|
110
|
+
parseConfigFile,
|
|
111
|
+
updateConfig,
|
|
112
|
+
validateConfigObj
|
|
113
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { beforeForcedExit as beforeForcedExitFunc, beforeExit as beforeExitFunc, onExit as onExitFunc, onAllExits as onAllExitsFunc } from './on-exit';
|
|
2
|
+
export declare namespace Process {
|
|
3
|
+
const forceExitEvents: string[];
|
|
4
|
+
const beforeForcedExit: typeof beforeForcedExitFunc;
|
|
5
|
+
const beforeExit: typeof beforeExitFunc;
|
|
6
|
+
const onExit: typeof onExitFunc;
|
|
7
|
+
const onAllExits: typeof onAllExitsFunc;
|
|
8
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
beforeExit,
|
|
3
|
+
beforeForcedExit,
|
|
4
|
+
forceExitEvents,
|
|
5
|
+
onAllExits,
|
|
6
|
+
onExit
|
|
7
|
+
} from "../../chunks/chunk-LEXQ6E6L.js";
|
|
8
|
+
|
|
9
|
+
// src/node/process/index.ts
|
|
10
|
+
var Process;
|
|
11
|
+
((Process2) => {
|
|
12
|
+
Process2.forceExitEvents = forceExitEvents;
|
|
13
|
+
Process2.beforeForcedExit = beforeForcedExit;
|
|
14
|
+
Process2.beforeExit = beforeExit;
|
|
15
|
+
Process2.onExit = onExit;
|
|
16
|
+
Process2.onAllExits = onAllExits;
|
|
17
|
+
})(Process || (Process = {}));
|
|
18
|
+
export {
|
|
19
|
+
Process
|
|
20
|
+
};
|
|
@@ -2,4 +2,4 @@ export declare const forceExitEvents: string[];
|
|
|
2
2
|
export declare function beforeForcedExit(callback: () => void | Promise<void>): void;
|
|
3
3
|
export declare function beforeExit(callback: () => void | Promise<void>): void;
|
|
4
4
|
export declare function onExit(callback: () => void | Promise<void>): void;
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function onAllExits(callback: () => void | Promise<void>): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mxfb/tools",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Maxime Fabas",
|
|
6
6
|
"license": "ISC",
|
|
@@ -13,23 +13,29 @@
|
|
|
13
13
|
"module": "index.js",
|
|
14
14
|
"peerDependencies": {
|
|
15
15
|
"chalk": "^5.3.0",
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
16
|
+
"fs-extra": "^11.2.0",
|
|
17
|
+
"get-image-colors": "^4.0.1",
|
|
18
|
+
"jsdom": "^24.1.1",
|
|
19
|
+
"node-fetch": "^3.3.2",
|
|
20
|
+
"react": "^18.3.1",
|
|
21
|
+
"react-dom": "^18.3.1",
|
|
22
|
+
"sharp": "^0.33.3"
|
|
19
23
|
},
|
|
20
24
|
"devDependencies": {
|
|
21
25
|
"@types/chalk": "^2.2.0",
|
|
22
|
-
"@types/
|
|
23
|
-
"@types/
|
|
26
|
+
"@types/fs-extra": "^11.0.4",
|
|
27
|
+
"@types/get-image-colors": "^4.0.5",
|
|
28
|
+
"@types/jsdom": "^21.1.7",
|
|
29
|
+
"@types/node": "^22.1.0",
|
|
24
30
|
"@types/prompts": "^2.4.9",
|
|
25
|
-
"@types/react": "^18.
|
|
26
|
-
"@types/react-dom": "^18.
|
|
31
|
+
"@types/react": "^18.3.3",
|
|
32
|
+
"@types/react-dom": "^18.3.0",
|
|
27
33
|
"@types/semver": "^7.5.8",
|
|
28
34
|
"camelcase": "^8.0.0",
|
|
29
|
-
"esbuild": "^0.
|
|
35
|
+
"esbuild": "^0.23.0",
|
|
30
36
|
"prompts": "^2.4.2",
|
|
31
|
-
"semver": "^7.6.
|
|
32
|
-
"simple-git": "^3.
|
|
33
|
-
"typescript": "^5.
|
|
37
|
+
"semver": "^7.6.3",
|
|
38
|
+
"simple-git": "^3.25.0",
|
|
39
|
+
"typescript": "^5.5.4"
|
|
34
40
|
}
|
|
35
41
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Errors } from '~/agnostic/errors';
|
|
2
|
+
export declare enum Codes {
|
|
3
|
+
NO_DOCUMENT = "no-window-document-on-runtime",
|
|
4
|
+
NO_DOCUMENT_PLEASE_PROVIDE = "no-window-document-on-runtime-please-provide"
|
|
5
|
+
}
|
|
6
|
+
export declare const register: Errors.Register<{
|
|
7
|
+
"no-window-document-on-runtime": {
|
|
8
|
+
message: string;
|
|
9
|
+
};
|
|
10
|
+
"no-window-document-on-runtime-please-provide": {
|
|
11
|
+
message: string;
|
|
12
|
+
makeDetails: (tips?: string) => string | undefined;
|
|
13
|
+
};
|
|
14
|
+
}>;
|
|
File without changes
|
package/chunks/chunk-BEZTX3QU.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as o}from"./chunk-XCKXCF4A.js";function f(r){return typeof r=="boolean"?r:typeof r=="string"?r.toLowerCase().trim()==="true":!o(r)}function e(r){return typeof r=="number"?r:typeof r=="string"?parseFloat(r):0}function c(r){return typeof r=="string"?r:String(r)}function p(r){return null}function u(r){return Array.isArray(r)?r:typeof r=="object"&&r!==null?Object.entries(r).map((t,n)=>({key:t,value:n})):[r]}function s(r){return u(r).map(n=>e(n))}function y(r){let t={};try{Object.keys(r).forEach(n=>{t[n]=r[n]})}catch{return t}return t}export{f as a,e as b,c,p as d,u as e,s as f,y as g};
|
package/chunks/chunk-BW5CY5YB.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function t(u,n){let r=Math.pow(10,n);return Math.round(u*r)/r}export{t as a};
|
package/chunks/chunk-DIPJ73JH.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function t(n){return typeof n!="function"?!1:"prototype"in n&&"constructor"in n.prototype}export{t as a};
|
package/chunks/chunk-EFFU6KXJ.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as N}from"./chunk-LCLAV6Q2.js";var E={depth:20};async function z(d,o=E){let l=(o.documentObj??await N()).createElement("div"),{inputFreeTransform:a}=o;return l.innerHTML=a!==void 0?a(d):d,y(l,o)?.innerHTML??""}function y(d,o=E){let{tagName:e,attributes:l,childNodes:a}=d,{allowedTags:g=[],allowedAttributes:b={},forbiddenTags:m=[],forbiddenAttributes:A={},depth:w=20,verbose:s=!1}=o;if(w<=0)return console.warn("Max depth reached"),null;let f=e.toLowerCase().trim();if(m.includes("*")||m.includes(f))return s===!0&&console.warn(e,"tag is forbidden"),null;if(!(g.includes("*")||g.includes(f)))return s===!0&&console.warn(e,"tag is not allowed"),null;let p=document.createElement(e);Array.from(l).filter(({name:t,value:i})=>{let I=A["*"]??[],O=A[f]??[];if([...I,...O].some(({attributeName:r,attributeValues:u})=>typeof r=="string"&&r!=="*"&&t!==r||typeof r!="string"&&!r.test(t)?!1:u===void 0||u.includes("*")?(s===!0&&console.warn(t,"attribute on",e,"tag is forbidden"),!0):u.some(n=>typeof n=="string"&&i===n||typeof n!="string"&&n.test(i)?(s===!0&&console.warn(i,"value for",t,"attribute on",e,"tag is forbidden. Rule:",n),!0):!1)))return!1;let F=b["*"]??[],P=b[f]??[],x=[...F,...P],c=[e,"has no allowed attributes"];return x.some(({attributeName:r,attributeValues:u})=>typeof r=="string"&&r!=="*"&&t!==r?(c=[t,"attribute on",e,"tag is not allowed"],!1):typeof r!="string"&&!r.test(t)?(c=[t,"attribute on",e,"tag is not allowed"],!1):u===void 0||u.includes("*")?!0:u.some(n=>typeof n=="string"&&i===n||typeof n!="string"&&n.test(i)?!0:(c=[i,"value for",t,"attribute on",e,"tag is not allowed"],!1)))?!0:(s===!0&&console.warn(...c),!1)}).forEach(({name:t,value:i})=>{p.setAttribute(t,i)});let h=Array.from(a).map(t=>t.nodeType===Node.ELEMENT_NODE?y(t,{...o,depth:w-1}):t.nodeType===Node.TEXT_NODE||o.keepComments===!0&&t.nodeType===Node.COMMENT_NODE?t:null).filter(t=>t!==null);return p.replaceChildren(...h),p}export{E as a,z as b,y as c};
|
package/chunks/chunk-KNE7WIIW.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(n,r){return typeof r=="string"?n===r:n.match(r)!==null}function g(n,r){return Array.isArray(r)?r.some(t=>e(n,t)):e(n,r)}function i(n,r){return Array.isArray(r)?r.every(t=>e(n,t)):e(n,r)}export{e as a,g as b,i as c};
|
package/chunks/chunk-LCLAV6Q2.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var t=(e=>(e.NODE="Node.js",e.BROWSER="Browser",e.DENO="Deno",e.REACT_NATIVE="React Native",e.ELECTRON="Electron",e.CLOUDFLARE="Cloudflare Workers",e.AWS_LAMBDA="AWS Lambda",e))(t||{});function o(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"?"Node.js":typeof window<"u"&&typeof window.document<"u"?"Browser":typeof Deno<"u"?"Deno":typeof process<"u"&&typeof navigator.userAgent=="string"&&/ReactNative/.test(navigator.userAgent)?"React Native":typeof process<"u"&&typeof process.versions<"u"&&typeof process.version.electron<"u"?"Electron":typeof self<"u"&&typeof self.addEventListener=="function"&&typeof Headers<"u"?"Cloudflare Workers":typeof AWS<"u"&&typeof AWS.Lambda<"u"?"AWS Lambda":null}async function u(){let n=o();return["Browser","Electron"].includes(n)?window.document:new(await import("jsdom")).JSDOM().window.document}export{t as a,o as b,u as c};
|
package/chunks/chunk-PCAKH6ZJ.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
async function n(e){return new Promise(t=>{setTimeout(()=>t(!0),e)})}export{n as a};
|
package/chunks/chunk-QQRJPDR7.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(t){return typeof t=="object"&&t!==null}export{e as a};
|
package/chunks/chunk-WZBNXYN3.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var t=/^-?[_a-zA-Z]+[_a-zA-Z0-9-]*$/;function a(e){return t.test(e)}export{t as a,a as b};
|
package/chunks/chunk-XCKXCF4A.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as s}from"./chunk-ZVJO36JU.js";var t=[...s,!1,"",0,-0,NaN];typeof BigInt=="function"&&t.push(BigInt(0));function a(l){return t.includes(l)}function o(l){return!a(l)}var u=a;export{t as a,a as b,o as c,u as d};
|
package/chunks/chunk-ZVJO36JU.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=[null,void 0];function u(l){return e.includes(l)}function i(l){return!u(l)}var n=u;export{e as a,u as b,i as c,n as d};
|