@design-edito/tools 0.1.21 → 0.1.22
Sign up to get free protection for your applications and to get access to all the features.
- package/agnostic/arrays/find-duplicates/index.d.ts +1 -0
- package/agnostic/arrays/find-duplicates/index.js +6 -0
- package/agnostic/arrays/index.d.ts +8 -7
- package/agnostic/arrays/make/index.d.ts +3 -0
- package/agnostic/arrays/make/index.js +6 -0
- package/agnostic/arrays/random-pick/index.d.ts +2 -0
- package/agnostic/arrays/random-pick/index.js +8 -0
- package/agnostic/css/index.js +10 -10
- package/agnostic/errors/index.js +2 -2
- package/agnostic/html/hyper-json/cast/index.d.ts +18 -0
- package/agnostic/html/hyper-json/cast/index.js +11 -0
- package/agnostic/html/hyper-json/crossenv/index.d.ts +13 -0
- package/agnostic/html/hyper-json/crossenv/index.js +6 -0
- package/agnostic/html/hyper-json/index.d.ts +14 -43
- package/agnostic/html/hyper-json/index.js +32 -2
- package/agnostic/html/hyper-json/serialize/index.d.ts +5 -0
- package/agnostic/html/hyper-json/serialize/index.js +7 -0
- package/agnostic/html/hyper-json/transformers/append/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/append/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/classList/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/classList/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/index.d.ts +4 -0
- package/agnostic/html/hyper-json/transformers/index.js +39 -0
- package/agnostic/html/hyper-json/transformers/join/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/join/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/length/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/length/index.js +8 -0
- package/agnostic/html/hyper-json/transformers/print/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/print/index.js +7 -0
- package/agnostic/html/hyper-json/transformers/push/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/push/index.js +7 -0
- package/agnostic/html/hyper-json/transformers/querySelector/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/querySelector/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/ref/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/ref/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/replace/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/replace/index.js +13 -0
- package/agnostic/html/hyper-json/transformers/split/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/split/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/toArray/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/toArray/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/toBoolean/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/toBoolean/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/toElement/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/toElement/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/toNodeList/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/toNodeList/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/toNull/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/toNull/index.js +7 -0
- package/agnostic/html/hyper-json/transformers/toNumber/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/toNumber/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/toRecord/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/toRecord/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/toRef/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/toRef/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/toString/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/toString/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/toText/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/toText/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/toTransformer/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/toTransformer/index.js +12 -0
- package/agnostic/html/hyper-json/transformers/transformSelected/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/transformSelected/index.js +39 -0
- package/agnostic/html/hyper-json/transformers/trim/index.d.ts +2 -0
- package/agnostic/html/hyper-json/transformers/trim/index.js +12 -0
- package/agnostic/html/hyper-json/tree/index.d.ts +56 -0
- package/agnostic/html/hyper-json/tree/index.js +39 -0
- package/agnostic/html/hyper-json/types/index.d.ts +86 -0
- package/agnostic/html/hyper-json/types/index.js +6 -0
- package/agnostic/html/hyper-json/utils/index.d.ts +10 -0
- package/agnostic/html/hyper-json/utils/index.js +6 -0
- package/agnostic/html/index.js +51 -19
- package/agnostic/html/replace-in-element/index.d.ts +1 -0
- package/agnostic/html/replace-in-element/index.js +6 -0
- package/agnostic/html/sanitize/index.js +7 -5
- package/agnostic/html/selector-to-element/index.js +7 -5
- package/agnostic/html/string-to-nodes/index.js +8 -6
- package/agnostic/index.d.ts +0 -2
- package/agnostic/misc/{web-crawler → crawler}/index.d.ts +1 -1
- package/agnostic/misc/crawler/index.js +7 -0
- package/agnostic/misc/crossenv/get-document/index.d.ts +2 -0
- package/agnostic/misc/crossenv/get-document/index.js +7 -0
- package/agnostic/misc/crossenv/get-window/browser.d.ts +2 -0
- package/agnostic/misc/crossenv/get-window/index.d.ts +2 -0
- package/agnostic/misc/crossenv/get-window/index.js +6 -0
- package/agnostic/misc/crossenv/index.d.ts +4 -1
- package/agnostic/misc/crossenv/index.js +3 -1
- package/agnostic/misc/crossenv/types.d.ts +3 -0
- package/agnostic/misc/index.d.ts +3 -1
- package/agnostic/misc/index.js +24 -14
- package/agnostic/misc/lorem-ipsum/index.js +5 -2
- package/agnostic/numbers/index.js +3 -3
- package/agnostic/objects/index.js +10 -10
- package/agnostic/optim/index.js +3 -3
- package/agnostic/random/index.js +6 -0
- package/agnostic/strings/index.js +9 -9
- package/agnostic/time/duration/index.d.ts +26 -0
- package/agnostic/time/duration/index.js +6 -0
- package/agnostic/time/index.d.ts +8 -7
- package/agnostic/time/index.js +17 -28
- package/agnostic/time/timeout/index.d.ts +1 -0
- package/agnostic/time/timeout/index.js +6 -0
- package/agnostic/time/transitions/index.js +7 -0
- package/agnostic/time/wait/index.js +6 -0
- package/chunks/chunk-2DMWYLFG.js +16 -0
- package/chunks/chunk-2KT7AKRW.js +17 -0
- package/chunks/{chunk-UCV2AZZV.js → chunk-2PI5AZIL.js} +14 -25
- package/chunks/chunk-3KQRMKQJ.js +27 -0
- package/chunks/chunk-3LVR6KZH.js +22 -0
- package/chunks/chunk-3PHPA25U.js +18 -0
- package/chunks/chunk-3PM7GZ6B.js +33 -0
- package/chunks/chunk-3SQJEEBK.js +642 -0
- package/chunks/chunk-3UURICGY.js +211 -0
- package/chunks/chunk-3X6RXJBR.js +37 -0
- package/chunks/{chunk-DQNJQBC6.js → chunk-4CIS3R7T.js} +1 -1
- package/chunks/chunk-4F7ZVE7T.js +332 -0
- package/chunks/chunk-4GUDL44X.js +13 -0
- package/chunks/chunk-4RDW62CU.js +36 -0
- package/chunks/chunk-5IR2PWO6.js +211 -0
- package/chunks/chunk-6CM2SWSX.js +35 -0
- package/chunks/chunk-6EYBQHJS.js +33 -0
- package/chunks/chunk-6NYUQXJT.js +109 -0
- package/chunks/chunk-6NZCBAT4.js +19 -0
- package/chunks/chunk-6V23XMYE.js +982 -0
- package/chunks/chunk-73V5RDSG.js +13 -0
- package/chunks/chunk-7IGZP4TV.js +30 -0
- package/chunks/chunk-7QMAYGNV.js +25 -0
- package/chunks/chunk-7YW5HL6N.js +168 -0
- package/chunks/chunk-AFFLZUW5.js +33 -0
- package/chunks/chunk-AMS3FB24.js +85 -0
- package/chunks/chunk-AXMPRLPI.js +35 -0
- package/chunks/chunk-B6CSCX7J.js +278 -0
- package/chunks/chunk-BDHNULU7.js +211 -0
- package/chunks/chunk-BNB7LEMQ.js +35 -0
- package/chunks/chunk-CECF6UZV.js +29 -0
- package/chunks/chunk-DBAJ66BR.js +18 -0
- package/chunks/chunk-DGQLPQS2.js +33 -0
- package/chunks/chunk-DLLTITVO.js +33 -0
- package/chunks/chunk-DMDOCC72.js +18 -0
- package/chunks/{chunk-IFT6HLDW.js → chunk-DRH7Q4FL.js} +3 -6
- package/chunks/chunk-DRNK3RLE.js +64 -0
- package/chunks/chunk-EAY65ZP6.js +22 -0
- package/chunks/{chunk-4GDNHUCZ.js → chunk-ENMBK6H7.js} +2 -2
- package/chunks/chunk-F5YMP5WU.js +18 -0
- package/chunks/chunk-F7EVMWVG.js +27 -0
- package/chunks/chunk-F7XWUG2V.js +18 -0
- package/chunks/chunk-FCU6IHKD.js +15 -0
- package/chunks/chunk-FFOATPL4.js +211 -0
- package/chunks/chunk-FWHUASVA.js +22 -0
- package/chunks/chunk-GBMHGF7P.js +20 -0
- package/chunks/{chunk-GJOU3UAL.js → chunk-GDYVCEWA.js} +8 -6
- package/chunks/chunk-GNBIAWSY.js +278 -0
- package/chunks/chunk-GQSPY2CV.js +19 -0
- package/chunks/chunk-HDALT7XM.js +620 -0
- package/chunks/chunk-HUKHWFVL.js +19 -0
- package/chunks/chunk-IGD53YL5.js +870 -0
- package/chunks/chunk-ILEM73XB.js +981 -0
- package/chunks/{chunk-DMGR57KA.js → chunk-IPB3U2PD.js} +20 -18
- package/chunks/chunk-JY3QZ2YO.js +211 -0
- package/chunks/chunk-K3OQEJI3.js +33 -0
- package/chunks/chunk-KXBKJ3GS.js +642 -0
- package/chunks/chunk-LCFDDWJR.js +278 -0
- package/chunks/chunk-LGECI2WL.js +306 -0
- package/chunks/chunk-LGUEB5L5.js +211 -0
- package/chunks/chunk-LI6QDZCA.js +211 -0
- package/chunks/{chunk-ZMHKLIP2.js → chunk-LYMZZ4BB.js} +1 -1
- package/chunks/chunk-MDEDNPU5.js +38 -0
- package/chunks/chunk-MQHKEGP4.js +33 -0
- package/chunks/chunk-NF5ACCXZ.js +211 -0
- package/chunks/chunk-NK557MKV.js +35 -0
- package/chunks/chunk-NWMEWFTK.js +33 -0
- package/chunks/chunk-O5OTBN22.js +35 -0
- package/chunks/chunk-O7MDUYEF.js +211 -0
- package/chunks/{chunk-LI5KVXAJ.js → chunk-OO5SJJDW.js} +2 -5
- package/chunks/chunk-Q52UJOBC.js +18 -0
- package/chunks/chunk-QFEF4EET.js +211 -0
- package/chunks/chunk-QHSVCGLD.js +280 -0
- package/chunks/chunk-QO64L4KB.js +97 -0
- package/chunks/{chunk-WLL3FNVL.js → chunk-R6KCN6CK.js} +1 -1
- package/chunks/chunk-RJ5E22H5.js +15 -0
- package/chunks/chunk-RLAZR3NL.js +8 -0
- package/chunks/chunk-RWUPHV54.js +25 -0
- package/chunks/chunk-S2757FI3.js +36 -0
- package/chunks/chunk-S42P73SC.js +30 -0
- package/chunks/chunk-S5XDYLJH.js +18 -0
- package/chunks/chunk-SCM6NACT.js +15 -0
- package/chunks/chunk-SH3Y2I5P.js +18 -0
- package/chunks/chunk-SMLKMOAX.js +18 -0
- package/chunks/chunk-TATRVKBS.js +211 -0
- package/chunks/chunk-UODQZRY2.js +620 -0
- package/chunks/chunk-UOULDS6J.js +33 -0
- package/chunks/chunk-UUDXUSI5.js +211 -0
- package/chunks/{chunk-GL23YDEH.js → chunk-UWAMSJ2X.js} +3 -6
- package/chunks/chunk-UZUXLD2Q.js +35 -0
- package/chunks/chunk-VA6HXRX4.js +211 -0
- package/chunks/chunk-VRUJR6WR.js +39 -0
- package/chunks/chunk-W6YBEEZM.js +211 -0
- package/chunks/chunk-WECTUHS5.js +127 -0
- package/chunks/chunk-YE5HI3RK.js +211 -0
- package/chunks/chunk-YEBOL67V.js +32 -0
- package/chunks/chunk-YS6WMSWC.js +15 -0
- package/{agnostic/misc/web-crawler/index.js → chunks/chunk-YUP434IY.js} +8 -7
- package/chunks/chunk-YYE2MVZO.js +211 -0
- package/chunks/chunk-Z7ZDDBV5.js +18 -0
- package/chunks/chunk-ZB73RE7P.js +35 -0
- package/chunks/chunk-ZONKYNKA.js +28 -0
- package/node/files/index.js +3 -3
- package/package.json +4 -1
- package/agnostic/async/index.d.ts +0 -8
- package/agnostic/async/index.js +0 -20
- package/agnostic/async/timeout-call/index.d.ts +0 -1
- package/agnostic/async/timeout-call/index.js +0 -6
- package/agnostic/async/transitions/index.js +0 -7
- package/agnostic/async/wait/index.js +0 -6
- package/agnostic/misc/random/index.js +0 -6
- package/chunks/chunk-4VC5PT5T.js +0 -13
- /package/agnostic/{misc/random → random}/index.d.ts +0 -0
- /package/agnostic/{async → time}/transitions/index.d.ts +0 -0
- /package/agnostic/{async → time}/wait/index.d.ts +0 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
import {
|
2
|
+
Cast
|
3
|
+
} from "./chunk-QO64L4KB.js";
|
4
|
+
import {
|
5
|
+
Crossenv
|
6
|
+
} from "./chunk-3LVR6KZH.js";
|
7
|
+
import {
|
8
|
+
Utils
|
9
|
+
} from "./chunk-YEBOL67V.js";
|
10
|
+
|
11
|
+
// src/agnostic/html/hyper-json/transformers/trim/index.ts
|
12
|
+
var trim = (callerTagName) => {
|
13
|
+
return Utils.toNamedTransformer(callerTagName, (currentValue) => {
|
14
|
+
const { Text } = Crossenv.getWindow();
|
15
|
+
if (typeof currentValue !== "string" && !(currentValue instanceof Text)) return Utils.makeTransformerError({
|
16
|
+
message: "Current value must be of type string or Text",
|
17
|
+
input: currentValue
|
18
|
+
});
|
19
|
+
const inputStr = Cast.toString(currentValue);
|
20
|
+
const trimmed = inputStr.trim();
|
21
|
+
return {
|
22
|
+
action: "REPLACE",
|
23
|
+
value: currentValue instanceof Text ? Cast.toText(trimmed) : trimmed
|
24
|
+
};
|
25
|
+
});
|
26
|
+
};
|
27
|
+
|
28
|
+
export {
|
29
|
+
trim
|
30
|
+
};
|
@@ -0,0 +1,25 @@
|
|
1
|
+
// src/agnostic/html/hyper-json/types/index.ts
|
2
|
+
var Types;
|
3
|
+
((Types2) => {
|
4
|
+
let TyperTagName;
|
5
|
+
((TyperTagName2) => {
|
6
|
+
TyperTagName2["NULL"] = "null";
|
7
|
+
TyperTagName2["BOOLEAN"] = "boolean";
|
8
|
+
TyperTagName2["NUMBER"] = "number";
|
9
|
+
TyperTagName2["STRING"] = "string";
|
10
|
+
TyperTagName2["TEXT"] = "text";
|
11
|
+
TyperTagName2["NODELIST"] = "nodelist";
|
12
|
+
TyperTagName2["ARRAY"] = "array";
|
13
|
+
TyperTagName2["RECORD"] = "record";
|
14
|
+
})(TyperTagName = Types2.TyperTagName || (Types2.TyperTagName = {}));
|
15
|
+
let ReductionAction;
|
16
|
+
((ReductionAction2) => {
|
17
|
+
ReductionAction2["APPEND"] = "append";
|
18
|
+
ReductionAction2["PREPEND"] = "prepend";
|
19
|
+
ReductionAction2["REPLACE"] = "replace";
|
20
|
+
})(ReductionAction = Types2.ReductionAction || (Types2.ReductionAction = {}));
|
21
|
+
})(Types || (Types = {}));
|
22
|
+
|
23
|
+
export {
|
24
|
+
Types
|
25
|
+
};
|
@@ -0,0 +1,168 @@
|
|
1
|
+
import {
|
2
|
+
isFalsy
|
3
|
+
} from "./chunk-QXAJXTXV.js";
|
4
|
+
import {
|
5
|
+
isValidClassName
|
6
|
+
} from "./chunk-W5A2TON3.js";
|
7
|
+
|
8
|
+
// src/agnostic/css/bem/getNamesArr.ts
|
9
|
+
function getNamesArr(arg) {
|
10
|
+
const returned = [];
|
11
|
+
if (typeof arg === "string") {
|
12
|
+
arg.trim().split(/\s+/gm).forEach((name) => {
|
13
|
+
if (isValidClassName(name)) returned.push(name);
|
14
|
+
});
|
15
|
+
} else if (Array.isArray(arg)) {
|
16
|
+
arg.forEach((elt) => returned.push(...getNamesArr(elt)));
|
17
|
+
} else if (typeof arg === "object" && arg !== null) {
|
18
|
+
Object.entries(arg).forEach(([key, val]) => {
|
19
|
+
if (!isFalsy(val)) returned.push(...getNamesArr(key));
|
20
|
+
});
|
21
|
+
}
|
22
|
+
return returned;
|
23
|
+
}
|
24
|
+
var getNamesArr_default = getNamesArr;
|
25
|
+
|
26
|
+
// src/agnostic/css/bem/BEM.ts
|
27
|
+
var BEM = class _BEM {
|
28
|
+
constructor() {
|
29
|
+
this.findBlockByName = this.findBlockByName.bind(this);
|
30
|
+
this.addBlock = this.addBlock.bind(this);
|
31
|
+
this.addElement = this.addElement.bind(this);
|
32
|
+
this.addModifier = this.addModifier.bind(this);
|
33
|
+
this.copy = this.copy.bind(this);
|
34
|
+
this.block = this.block.bind(this);
|
35
|
+
this.element = this.element.bind(this);
|
36
|
+
this.modifier = this.modifier.bind(this);
|
37
|
+
this.blk = this.blk.bind(this);
|
38
|
+
this.elt = this.elt.bind(this);
|
39
|
+
this.mod = this.mod.bind(this);
|
40
|
+
this.cp = this.cp.bind(this);
|
41
|
+
this.addSingleBlock = this.addSingleBlock.bind(this);
|
42
|
+
this.addSingleElement = this.addSingleElement.bind(this);
|
43
|
+
this.addSingleModifier = this.addSingleModifier.bind(this);
|
44
|
+
this.setCurrentBlockByName = this.setCurrentBlockByName.bind(this);
|
45
|
+
this.createBlockByName = this.createBlockByName.bind(this);
|
46
|
+
this.getCurrentBlock = this.getCurrentBlock.bind(this);
|
47
|
+
}
|
48
|
+
addBlock(blockNameArg) {
|
49
|
+
const blocksNames = getNamesArr_default(blockNameArg);
|
50
|
+
blocksNames.forEach(this.addSingleBlock);
|
51
|
+
return this;
|
52
|
+
}
|
53
|
+
addElement(elementNameArg) {
|
54
|
+
const elementsNames = getNamesArr_default(elementNameArg);
|
55
|
+
elementsNames.forEach(this.addSingleElement);
|
56
|
+
return this;
|
57
|
+
}
|
58
|
+
addModifier(modifierNameArg) {
|
59
|
+
const currentBlock = this.getCurrentBlock();
|
60
|
+
if (currentBlock === void 0) return this;
|
61
|
+
const modifiersNames = getNamesArr_default(modifierNameArg);
|
62
|
+
modifiersNames.forEach(this.addSingleModifier);
|
63
|
+
return this;
|
64
|
+
}
|
65
|
+
copy() {
|
66
|
+
const copy = new _BEM();
|
67
|
+
this.blocks.forEach((block) => {
|
68
|
+
copy.addBlock(block.name);
|
69
|
+
block.modifiers.forEach(copy.addModifier);
|
70
|
+
});
|
71
|
+
return copy;
|
72
|
+
}
|
73
|
+
block(blockNameArg) {
|
74
|
+
return this.copy().addBlock(blockNameArg);
|
75
|
+
}
|
76
|
+
element(elementNameArg) {
|
77
|
+
return this.copy().addElement(elementNameArg);
|
78
|
+
}
|
79
|
+
modifier(modifierNameArg) {
|
80
|
+
return this.copy().addModifier(modifierNameArg);
|
81
|
+
}
|
82
|
+
blk(blockNameArg) {
|
83
|
+
return this.block(blockNameArg);
|
84
|
+
}
|
85
|
+
elt(elementNameArg) {
|
86
|
+
return this.element(elementNameArg);
|
87
|
+
}
|
88
|
+
mod(modifierNameArg) {
|
89
|
+
return this.modifier(modifierNameArg);
|
90
|
+
}
|
91
|
+
cp() {
|
92
|
+
return this.copy();
|
93
|
+
}
|
94
|
+
get value() {
|
95
|
+
return this.blocks.map((block) => {
|
96
|
+
return [block.name, ...block.modifiers.map((modifier) => {
|
97
|
+
return `${block.name}_${modifier}`;
|
98
|
+
})].join(" ");
|
99
|
+
}).join(" ");
|
100
|
+
}
|
101
|
+
get val() {
|
102
|
+
return this.value;
|
103
|
+
}
|
104
|
+
blocks = [];
|
105
|
+
findBlockByName(name) {
|
106
|
+
return this.blocks.find((block) => block.name === name);
|
107
|
+
}
|
108
|
+
addSingleBlock(blockName) {
|
109
|
+
if (this.findBlockByName(blockName) !== void 0) {
|
110
|
+
this.setCurrentBlockByName(blockName);
|
111
|
+
} else {
|
112
|
+
const block = this.createBlockByName(blockName);
|
113
|
+
this.blocks.push(block);
|
114
|
+
}
|
115
|
+
return this;
|
116
|
+
}
|
117
|
+
addSingleElement(elementName) {
|
118
|
+
const currentBlock = this.getCurrentBlock();
|
119
|
+
if (currentBlock === void 0) this.addBlock(elementName);
|
120
|
+
else {
|
121
|
+
currentBlock.name = currentBlock.name + "__" + elementName;
|
122
|
+
}
|
123
|
+
return this;
|
124
|
+
}
|
125
|
+
addSingleModifier(modifierName) {
|
126
|
+
const currentBlock = this.getCurrentBlock();
|
127
|
+
if (currentBlock !== void 0) {
|
128
|
+
currentBlock.modifiers.push(modifierName);
|
129
|
+
}
|
130
|
+
return this;
|
131
|
+
}
|
132
|
+
setCurrentBlockByName(blockName) {
|
133
|
+
const block = this.findBlockByName(blockName);
|
134
|
+
if (block !== void 0) {
|
135
|
+
const blockPos = this.blocks.indexOf(block);
|
136
|
+
this.blocks = [
|
137
|
+
...this.blocks.slice(0, blockPos),
|
138
|
+
...this.blocks.slice(blockPos + 1),
|
139
|
+
block
|
140
|
+
];
|
141
|
+
}
|
142
|
+
return this;
|
143
|
+
}
|
144
|
+
createBlockByName(blockName) {
|
145
|
+
return { name: blockName, modifiers: [] };
|
146
|
+
}
|
147
|
+
getCurrentBlock() {
|
148
|
+
return this.blocks.slice(-1)[0];
|
149
|
+
}
|
150
|
+
};
|
151
|
+
var BEM_default = BEM;
|
152
|
+
|
153
|
+
// src/agnostic/css/bem/index.ts
|
154
|
+
var Bem;
|
155
|
+
((Bem2) => {
|
156
|
+
Bem2.BEM = BEM_default;
|
157
|
+
function bem(blockNameArg) {
|
158
|
+
const bem2 = new BEM_default();
|
159
|
+
if (blockNameArg instanceof BEM_default) return blockNameArg.copy();
|
160
|
+
return bem2.addBlock(blockNameArg);
|
161
|
+
}
|
162
|
+
Bem2.bem = bem;
|
163
|
+
Bem2.getNamesArr = getNamesArr_default;
|
164
|
+
})(Bem || (Bem = {}));
|
165
|
+
|
166
|
+
export {
|
167
|
+
Bem
|
168
|
+
};
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import {
|
2
|
+
Tree
|
3
|
+
} from "./chunk-4F7ZVE7T.js";
|
4
|
+
import {
|
5
|
+
Types
|
6
|
+
} from "./chunk-3KQRMKQJ.js";
|
7
|
+
import {
|
8
|
+
Serialize
|
9
|
+
} from "./chunk-DRNK3RLE.js";
|
10
|
+
import {
|
11
|
+
Transformers
|
12
|
+
} from "./chunk-SCM6NACT.js";
|
13
|
+
import {
|
14
|
+
Cast
|
15
|
+
} from "./chunk-AMS3FB24.js";
|
16
|
+
import {
|
17
|
+
Crossenv
|
18
|
+
} from "./chunk-3LVR6KZH.js";
|
19
|
+
|
20
|
+
// src/agnostic/html/hyper-json/index.ts
|
21
|
+
var HyperJson;
|
22
|
+
((HyperJson2) => {
|
23
|
+
HyperJson2.Crossenv = Crossenv;
|
24
|
+
HyperJson2.Cast = Cast;
|
25
|
+
HyperJson2.Serialize = Serialize;
|
26
|
+
HyperJson2.Transformers = Transformers;
|
27
|
+
HyperJson2.Tree = Tree;
|
28
|
+
HyperJson2.Types = Types;
|
29
|
+
})(HyperJson || (HyperJson = {}));
|
30
|
+
|
31
|
+
export {
|
32
|
+
HyperJson
|
33
|
+
};
|
@@ -0,0 +1,85 @@
|
|
1
|
+
import {
|
2
|
+
Crossenv
|
3
|
+
} from "./chunk-3LVR6KZH.js";
|
4
|
+
import {
|
5
|
+
isRecord
|
6
|
+
} from "./chunk-YDIBNEGA.js";
|
7
|
+
import {
|
8
|
+
isFalsy
|
9
|
+
} from "./chunk-QXAJXTXV.js";
|
10
|
+
|
11
|
+
// src/agnostic/html/hyper-json/cast/index.ts
|
12
|
+
var getWindow = Crossenv.getWindow;
|
13
|
+
var Cast;
|
14
|
+
((Cast2) => {
|
15
|
+
Cast2.toNull = () => null;
|
16
|
+
Cast2.toBoolean = (input) => !isFalsy(input);
|
17
|
+
Cast2.toNumber = (input) => {
|
18
|
+
if (typeof input === "number") return input;
|
19
|
+
if (typeof input === "string") return parseFloat(`${input}`);
|
20
|
+
if (input instanceof getWindow().Text) return parseFloat(`${input.textContent}`);
|
21
|
+
return 0;
|
22
|
+
};
|
23
|
+
Cast2.toString = (input) => {
|
24
|
+
if (typeof input === "string") return input;
|
25
|
+
if (typeof input === "number" || typeof input === "boolean" || input === null) return `${input}`;
|
26
|
+
if (input instanceof getWindow().Element) return input.outerHTML;
|
27
|
+
if (input instanceof getWindow().Text) return input.textContent ?? "";
|
28
|
+
if (input instanceof getWindow().NodeList) return Array.from(input).map((e) => {
|
29
|
+
if (e instanceof getWindow().Element) return e.outerHTML;
|
30
|
+
return e.textContent;
|
31
|
+
}).join("");
|
32
|
+
return input.toString();
|
33
|
+
};
|
34
|
+
Cast2.toText = (input) => {
|
35
|
+
if (input instanceof getWindow().Text) return input;
|
36
|
+
return getWindow().document.createTextNode((0, Cast2.toString)(input));
|
37
|
+
};
|
38
|
+
Cast2.toElement = (input) => {
|
39
|
+
if (input instanceof getWindow().Element) return input;
|
40
|
+
const elt = getWindow().document.createElement("div");
|
41
|
+
if (input instanceof getWindow().Text) {
|
42
|
+
elt.append(input.cloneNode(true));
|
43
|
+
return elt;
|
44
|
+
}
|
45
|
+
if (input instanceof getWindow().NodeList) {
|
46
|
+
elt.append(...Array.from(input).map((e) => e.cloneNode(true)));
|
47
|
+
return elt;
|
48
|
+
}
|
49
|
+
if (Array.isArray(input)) return elt;
|
50
|
+
if (isRecord(input)) return elt;
|
51
|
+
elt.append(`${input}`);
|
52
|
+
return elt;
|
53
|
+
};
|
54
|
+
Cast2.toNodeList = (input) => {
|
55
|
+
if (input instanceof getWindow().NodeList) return input;
|
56
|
+
const frag = getWindow().document.createDocumentFragment();
|
57
|
+
if (input instanceof getWindow().Element || input instanceof getWindow().Text) {
|
58
|
+
frag.append(input.cloneNode(true));
|
59
|
+
return frag.childNodes;
|
60
|
+
}
|
61
|
+
if (Array.isArray(input)) return frag.childNodes;
|
62
|
+
if (isRecord(input)) return frag.childNodes;
|
63
|
+
frag.append(`${input}`);
|
64
|
+
return frag.childNodes;
|
65
|
+
};
|
66
|
+
Cast2.toArray = (input) => {
|
67
|
+
if (Array.isArray(input)) return input;
|
68
|
+
if (input instanceof getWindow().NodeList) return Array.from(input);
|
69
|
+
return [input];
|
70
|
+
};
|
71
|
+
Cast2.toRecord = (input) => {
|
72
|
+
if (isRecord(input)) return input;
|
73
|
+
return {};
|
74
|
+
};
|
75
|
+
Cast2.toTransformer = (input) => {
|
76
|
+
return () => ({
|
77
|
+
action: "REPLACE",
|
78
|
+
value: input
|
79
|
+
});
|
80
|
+
};
|
81
|
+
})(Cast || (Cast = {}));
|
82
|
+
|
83
|
+
export {
|
84
|
+
Cast
|
85
|
+
};
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import {
|
2
|
+
Transformers,
|
3
|
+
Tree
|
4
|
+
} from "./chunk-3SQJEEBK.js";
|
5
|
+
import {
|
6
|
+
Cast
|
7
|
+
} from "./chunk-QO64L4KB.js";
|
8
|
+
import {
|
9
|
+
Serialize
|
10
|
+
} from "./chunk-DRNK3RLE.js";
|
11
|
+
import {
|
12
|
+
Crossenv
|
13
|
+
} from "./chunk-3LVR6KZH.js";
|
14
|
+
import {
|
15
|
+
Utils
|
16
|
+
} from "./chunk-YEBOL67V.js";
|
17
|
+
import {
|
18
|
+
Types
|
19
|
+
} from "./chunk-7QMAYGNV.js";
|
20
|
+
|
21
|
+
// src/agnostic/html/hyper-json/index.ts
|
22
|
+
var HyperJson;
|
23
|
+
((HyperJson2) => {
|
24
|
+
HyperJson2.Cast = Cast;
|
25
|
+
HyperJson2.Crossenv = Crossenv;
|
26
|
+
HyperJson2.Serialize = Serialize;
|
27
|
+
HyperJson2.Transformers = Transformers;
|
28
|
+
HyperJson2.Tree = Tree;
|
29
|
+
HyperJson2.Types = Types;
|
30
|
+
HyperJson2.Utils = Utils;
|
31
|
+
})(HyperJson || (HyperJson = {}));
|
32
|
+
|
33
|
+
export {
|
34
|
+
HyperJson
|
35
|
+
};
|
@@ -0,0 +1,278 @@
|
|
1
|
+
import {
|
2
|
+
Serialize
|
3
|
+
} from "./chunk-DRNK3RLE.js";
|
4
|
+
import {
|
5
|
+
Transformers
|
6
|
+
} from "./chunk-HUKHWFVL.js";
|
7
|
+
import {
|
8
|
+
Types
|
9
|
+
} from "./chunk-3KQRMKQJ.js";
|
10
|
+
import {
|
11
|
+
Cast
|
12
|
+
} from "./chunk-AMS3FB24.js";
|
13
|
+
import {
|
14
|
+
Crossenv
|
15
|
+
} from "./chunk-3LVR6KZH.js";
|
16
|
+
import {
|
17
|
+
isInEnum
|
18
|
+
} from "./chunk-E6MSDKON.js";
|
19
|
+
import {
|
20
|
+
isRecord
|
21
|
+
} from "./chunk-YDIBNEGA.js";
|
22
|
+
|
23
|
+
// src/agnostic/html/hyper-json/tree/index.ts
|
24
|
+
var getWindow = Crossenv.getWindow;
|
25
|
+
var isElement = (node) => node.nodeType === getWindow().Node.ELEMENT_NODE;
|
26
|
+
var isText = (node) => node.nodeType === getWindow().Node.TEXT_NODE;
|
27
|
+
var Tree = class _Tree {
|
28
|
+
node;
|
29
|
+
name;
|
30
|
+
parent;
|
31
|
+
root;
|
32
|
+
path;
|
33
|
+
pathString;
|
34
|
+
pathFromParent;
|
35
|
+
tagName;
|
36
|
+
attributes;
|
37
|
+
subtrees = /* @__PURE__ */ new Map();
|
38
|
+
children;
|
39
|
+
type;
|
40
|
+
constructor(node, parent, pathFromParent) {
|
41
|
+
this.resolve = this.resolve.bind(this);
|
42
|
+
this.initValue = this.initValue.bind(this);
|
43
|
+
this.mergeValues = this.mergeValues.bind(this);
|
44
|
+
this.getInnerValue = this.getInnerValue.bind(this);
|
45
|
+
this.wrapInnerValue = this.wrapInnerValue.bind(this);
|
46
|
+
this.printEvaluationsCounters = this.printEvaluationsCounters.bind(this);
|
47
|
+
this.evaluate = this.evaluate.bind(this);
|
48
|
+
this.setCache = this.setCache.bind(this);
|
49
|
+
this.node = node;
|
50
|
+
this.name = this.node instanceof getWindow().Element ? this.node.getAttribute("_name") : null;
|
51
|
+
this.parent = parent ?? null;
|
52
|
+
this.root = this.parent === null ? this : this.parent.root;
|
53
|
+
if (this.parent === null) this.path = [];
|
54
|
+
else if (pathFromParent === void 0) {
|
55
|
+
this.path = [...this.parent.path, 0];
|
56
|
+
} else {
|
57
|
+
this.path = [...this.parent.path, pathFromParent];
|
58
|
+
}
|
59
|
+
this.pathString = `/${this.path.join("/")}`;
|
60
|
+
this.pathFromParent = pathFromParent ?? this.name ?? 0;
|
61
|
+
this.tagName = node instanceof getWindow().Element ? node.tagName.toLowerCase() : null;
|
62
|
+
this.attributes = isElement(node) ? Array.from(node.attributes) : null;
|
63
|
+
const { childNodes } = node;
|
64
|
+
let positionnedChildrenCount = 0;
|
65
|
+
const mutableSubtrees = /* @__PURE__ */ new Map();
|
66
|
+
Array.from(childNodes).filter((node2, _, nodes) => {
|
67
|
+
if (isElement(node2)) return true;
|
68
|
+
if (isText(node2)) {
|
69
|
+
const hasContent = (node2.textContent ?? "").trim() !== "";
|
70
|
+
if (hasContent) return true;
|
71
|
+
if (nodes.some((n) => n instanceof getWindow().Element)) return false;
|
72
|
+
return true;
|
73
|
+
}
|
74
|
+
return false;
|
75
|
+
}).forEach((childNode) => {
|
76
|
+
if (childNode instanceof getWindow().Text) {
|
77
|
+
mutableSubtrees.set(
|
78
|
+
positionnedChildrenCount,
|
79
|
+
new _Tree(childNode, this, positionnedChildrenCount)
|
80
|
+
);
|
81
|
+
positionnedChildrenCount += 1;
|
82
|
+
} else {
|
83
|
+
const propertyName = childNode.getAttribute("_name");
|
84
|
+
if (propertyName === null) {
|
85
|
+
mutableSubtrees.set(
|
86
|
+
positionnedChildrenCount,
|
87
|
+
new _Tree(childNode, this, positionnedChildrenCount)
|
88
|
+
);
|
89
|
+
positionnedChildrenCount += 1;
|
90
|
+
} else {
|
91
|
+
mutableSubtrees.set(
|
92
|
+
propertyName,
|
93
|
+
new _Tree(childNode, this, propertyName)
|
94
|
+
);
|
95
|
+
}
|
96
|
+
}
|
97
|
+
});
|
98
|
+
this.subtrees = mutableSubtrees;
|
99
|
+
this.children = Array.from(this.subtrees.values());
|
100
|
+
if (this.tagName === null) {
|
101
|
+
this.type = "text";
|
102
|
+
} else if (this.tagName === Types.TyperTagName.NULL) {
|
103
|
+
this.type = "null";
|
104
|
+
} else if (this.tagName === Types.TyperTagName.BOOLEAN) {
|
105
|
+
this.type = "boolean";
|
106
|
+
} else if (this.tagName === Types.TyperTagName.NUMBER) {
|
107
|
+
this.type = "number";
|
108
|
+
} else if (this.tagName === Types.TyperTagName.STRING) {
|
109
|
+
this.type = "string";
|
110
|
+
} else if (this.tagName === Types.TyperTagName.TEXT) {
|
111
|
+
this.type = "text";
|
112
|
+
} else if (this.tagName === Types.TyperTagName.NODELIST) {
|
113
|
+
this.type = "nodelist";
|
114
|
+
} else if (this.tagName === Types.TyperTagName.ARRAY) {
|
115
|
+
this.type = "array";
|
116
|
+
} else if (this.tagName === Types.TyperTagName.RECORD) {
|
117
|
+
this.type = "record";
|
118
|
+
} else if (isInEnum(Types.TransformerTagName, this.tagName)) {
|
119
|
+
this.type = "transformer";
|
120
|
+
} else {
|
121
|
+
this.type = "element";
|
122
|
+
}
|
123
|
+
}
|
124
|
+
resolve = function(path) {
|
125
|
+
let currentTree = this.root;
|
126
|
+
for (const chunk of path) {
|
127
|
+
const { subtrees } = currentTree;
|
128
|
+
const foundSubtree = subtrees.get(chunk);
|
129
|
+
if (foundSubtree === void 0) return void 0;
|
130
|
+
currentTree = foundSubtree;
|
131
|
+
}
|
132
|
+
return currentTree;
|
133
|
+
};
|
134
|
+
initValue() {
|
135
|
+
const { type } = this;
|
136
|
+
let currentValue;
|
137
|
+
if (type === "null") {
|
138
|
+
currentValue = null;
|
139
|
+
} else if (type === "boolean") {
|
140
|
+
currentValue = false;
|
141
|
+
} else if (type === "number") {
|
142
|
+
currentValue = 0;
|
143
|
+
} else if (type === "string") {
|
144
|
+
currentValue = "";
|
145
|
+
} else if (type === "text") {
|
146
|
+
currentValue = this.node.textContent;
|
147
|
+
} else if (type === "element") {
|
148
|
+
currentValue = getWindow().document.createDocumentFragment().childNodes;
|
149
|
+
} else if (type === "nodelist") {
|
150
|
+
currentValue = getWindow().document.createDocumentFragment().childNodes;
|
151
|
+
} else if (type === "array") {
|
152
|
+
currentValue = [];
|
153
|
+
} else if (type === "record") {
|
154
|
+
currentValue = {};
|
155
|
+
} else if (type === "transformer") {
|
156
|
+
currentValue = [];
|
157
|
+
} else {
|
158
|
+
currentValue = null;
|
159
|
+
}
|
160
|
+
return currentValue;
|
161
|
+
}
|
162
|
+
mergeValues(currentValue, incomingValue, mergeKey) {
|
163
|
+
const { Element, Text, NodeList, document } = getWindow();
|
164
|
+
if (typeof incomingValue === "function") {
|
165
|
+
const evaluated = incomingValue(currentValue, { resolver: this.resolve });
|
166
|
+
if (evaluated.action === null) return currentValue;
|
167
|
+
if (evaluated.action === "REPLACE") return evaluated.value;
|
168
|
+
return this.mergeValues(currentValue, evaluated.value, mergeKey);
|
169
|
+
}
|
170
|
+
if (Array.isArray(currentValue)) {
|
171
|
+
if (typeof mergeKey === "string") return currentValue;
|
172
|
+
return [...currentValue, incomingValue];
|
173
|
+
}
|
174
|
+
if (currentValue === null || typeof currentValue === "boolean" || typeof currentValue === "number" || typeof currentValue === "string" || typeof currentValue === "function" || currentValue instanceof Text || currentValue instanceof Element) {
|
175
|
+
if (incomingValue === null || typeof incomingValue === "boolean" || typeof incomingValue === "number" || typeof incomingValue === "string" || Array.isArray(incomingValue) || isRecord(incomingValue)) {
|
176
|
+
return incomingValue;
|
177
|
+
}
|
178
|
+
const frag = document.createDocumentFragment();
|
179
|
+
if (currentValue instanceof Element || currentValue instanceof Text) frag.append(currentValue.cloneNode(true));
|
180
|
+
else frag.append(`${currentValue}`);
|
181
|
+
if (incomingValue instanceof Element || incomingValue instanceof Text) {
|
182
|
+
frag.append(incomingValue.cloneNode(true));
|
183
|
+
return frag.childNodes;
|
184
|
+
}
|
185
|
+
frag.append(...Array.from(incomingValue).map((e) => e.cloneNode(true)));
|
186
|
+
return frag.childNodes;
|
187
|
+
}
|
188
|
+
if (currentValue instanceof NodeList) {
|
189
|
+
if (incomingValue instanceof Element || incomingValue instanceof Text) {
|
190
|
+
const frag = document.createDocumentFragment();
|
191
|
+
frag.append(...Array.from(currentValue).map((e) => e.cloneNode(true)), incomingValue);
|
192
|
+
return frag.childNodes;
|
193
|
+
}
|
194
|
+
if (incomingValue instanceof NodeList) {
|
195
|
+
const frag = document.createDocumentFragment();
|
196
|
+
frag.append(
|
197
|
+
...Array.from(currentValue).map((e) => e.cloneNode(true)),
|
198
|
+
...Array.from(incomingValue).map((e) => e.cloneNode(true))
|
199
|
+
);
|
200
|
+
return frag.childNodes;
|
201
|
+
}
|
202
|
+
if (incomingValue === null || typeof incomingValue === "string" || typeof incomingValue === "number" || typeof incomingValue === "boolean") {
|
203
|
+
const frag = document.createDocumentFragment();
|
204
|
+
frag.append(...Array.from(currentValue).map((e) => e.cloneNode(true)), `${incomingValue}`);
|
205
|
+
return frag.childNodes;
|
206
|
+
}
|
207
|
+
if (Array.isArray(incomingValue)) return [
|
208
|
+
...Array.from(currentValue),
|
209
|
+
...incomingValue
|
210
|
+
];
|
211
|
+
return { ...incomingValue };
|
212
|
+
}
|
213
|
+
if (typeof mergeKey === "number") return currentValue;
|
214
|
+
return {
|
215
|
+
...currentValue,
|
216
|
+
[mergeKey]: incomingValue
|
217
|
+
};
|
218
|
+
}
|
219
|
+
getInnerValue(initialValue) {
|
220
|
+
const { subtrees } = this;
|
221
|
+
const innerValue = Array.from(subtrees.entries()).reduce((currentValue, [subpath, subtree]) => this.mergeValues(
|
222
|
+
currentValue,
|
223
|
+
subtree.evaluate(),
|
224
|
+
subpath
|
225
|
+
), initialValue);
|
226
|
+
return innerValue;
|
227
|
+
}
|
228
|
+
wrapInnerValue(innerValue) {
|
229
|
+
const { type, pathFromParent } = this;
|
230
|
+
if (type === "transformer") {
|
231
|
+
const transformerName = this.tagName;
|
232
|
+
const generator = Transformers.get(transformerName);
|
233
|
+
if (generator === void 0) return innerValue;
|
234
|
+
const transformer = Array.isArray(innerValue) ? generator(pathFromParent, ...innerValue) : generator(pathFromParent, innerValue);
|
235
|
+
return transformer;
|
236
|
+
}
|
237
|
+
if (type === "null") return Cast.toNull();
|
238
|
+
if (type === "boolean") return Cast.toBoolean(innerValue);
|
239
|
+
if (type === "number") return Cast.toNumber(innerValue);
|
240
|
+
if (type === "string") return Cast.toString(innerValue);
|
241
|
+
if (type === "array") return Cast.toArray(innerValue);
|
242
|
+
if (type === "record") return Cast.toRecord(innerValue);
|
243
|
+
if (type === "text") return Cast.toText(innerValue);
|
244
|
+
if (type === "element") return Cast.toElement(innerValue);
|
245
|
+
if (type === "nodelist") return Cast.toNodeList(innerValue);
|
246
|
+
return Cast.toNull();
|
247
|
+
}
|
248
|
+
evaluationsCounter = {
|
249
|
+
computed: 0,
|
250
|
+
cached: 0
|
251
|
+
};
|
252
|
+
printEvaluationsCounters() {
|
253
|
+
const { subtrees, evaluationsCounter } = this;
|
254
|
+
const { computed, cached } = evaluationsCounter;
|
255
|
+
console.log(this.pathString, `computed: ${computed}, cached: ${cached}`);
|
256
|
+
subtrees.forEach((subtree) => subtree.printEvaluationsCounters());
|
257
|
+
}
|
258
|
+
cache = void 0;
|
259
|
+
setCache(value) {
|
260
|
+
this.cache = Serialize.serialize(value);
|
261
|
+
}
|
262
|
+
evaluate() {
|
263
|
+
if (this.cache !== void 0) {
|
264
|
+
this.evaluationsCounter.cached++;
|
265
|
+
return Serialize.deserialize(this.cache);
|
266
|
+
}
|
267
|
+
const init = this.initValue();
|
268
|
+
const inner = this.getInnerValue(init);
|
269
|
+
const wrapped = this.wrapInnerValue(inner);
|
270
|
+
this.setCache(wrapped);
|
271
|
+
this.evaluationsCounter.computed++;
|
272
|
+
return wrapped;
|
273
|
+
}
|
274
|
+
};
|
275
|
+
|
276
|
+
export {
|
277
|
+
Tree
|
278
|
+
};
|