@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.
Files changed (219) hide show
  1. package/agnostic/arrays/find-duplicates/index.d.ts +1 -0
  2. package/agnostic/arrays/find-duplicates/index.js +6 -0
  3. package/agnostic/arrays/index.d.ts +8 -7
  4. package/agnostic/arrays/make/index.d.ts +3 -0
  5. package/agnostic/arrays/make/index.js +6 -0
  6. package/agnostic/arrays/random-pick/index.d.ts +2 -0
  7. package/agnostic/arrays/random-pick/index.js +8 -0
  8. package/agnostic/css/index.js +10 -10
  9. package/agnostic/errors/index.js +2 -2
  10. package/agnostic/html/hyper-json/cast/index.d.ts +18 -0
  11. package/agnostic/html/hyper-json/cast/index.js +11 -0
  12. package/agnostic/html/hyper-json/crossenv/index.d.ts +13 -0
  13. package/agnostic/html/hyper-json/crossenv/index.js +6 -0
  14. package/agnostic/html/hyper-json/index.d.ts +14 -43
  15. package/agnostic/html/hyper-json/index.js +32 -2
  16. package/agnostic/html/hyper-json/serialize/index.d.ts +5 -0
  17. package/agnostic/html/hyper-json/serialize/index.js +7 -0
  18. package/agnostic/html/hyper-json/transformers/append/index.d.ts +2 -0
  19. package/agnostic/html/hyper-json/transformers/append/index.js +12 -0
  20. package/agnostic/html/hyper-json/transformers/classList/index.d.ts +2 -0
  21. package/agnostic/html/hyper-json/transformers/classList/index.js +12 -0
  22. package/agnostic/html/hyper-json/transformers/index.d.ts +4 -0
  23. package/agnostic/html/hyper-json/transformers/index.js +39 -0
  24. package/agnostic/html/hyper-json/transformers/join/index.d.ts +2 -0
  25. package/agnostic/html/hyper-json/transformers/join/index.js +12 -0
  26. package/agnostic/html/hyper-json/transformers/length/index.d.ts +2 -0
  27. package/agnostic/html/hyper-json/transformers/length/index.js +8 -0
  28. package/agnostic/html/hyper-json/transformers/print/index.d.ts +2 -0
  29. package/agnostic/html/hyper-json/transformers/print/index.js +7 -0
  30. package/agnostic/html/hyper-json/transformers/push/index.d.ts +2 -0
  31. package/agnostic/html/hyper-json/transformers/push/index.js +7 -0
  32. package/agnostic/html/hyper-json/transformers/querySelector/index.d.ts +2 -0
  33. package/agnostic/html/hyper-json/transformers/querySelector/index.js +12 -0
  34. package/agnostic/html/hyper-json/transformers/ref/index.d.ts +2 -0
  35. package/agnostic/html/hyper-json/transformers/ref/index.js +12 -0
  36. package/agnostic/html/hyper-json/transformers/replace/index.d.ts +2 -0
  37. package/agnostic/html/hyper-json/transformers/replace/index.js +13 -0
  38. package/agnostic/html/hyper-json/transformers/split/index.d.ts +2 -0
  39. package/agnostic/html/hyper-json/transformers/split/index.js +12 -0
  40. package/agnostic/html/hyper-json/transformers/toArray/index.d.ts +2 -0
  41. package/agnostic/html/hyper-json/transformers/toArray/index.js +12 -0
  42. package/agnostic/html/hyper-json/transformers/toBoolean/index.d.ts +2 -0
  43. package/agnostic/html/hyper-json/transformers/toBoolean/index.js +12 -0
  44. package/agnostic/html/hyper-json/transformers/toElement/index.d.ts +2 -0
  45. package/agnostic/html/hyper-json/transformers/toElement/index.js +12 -0
  46. package/agnostic/html/hyper-json/transformers/toNodeList/index.d.ts +2 -0
  47. package/agnostic/html/hyper-json/transformers/toNodeList/index.js +12 -0
  48. package/agnostic/html/hyper-json/transformers/toNull/index.d.ts +2 -0
  49. package/agnostic/html/hyper-json/transformers/toNull/index.js +7 -0
  50. package/agnostic/html/hyper-json/transformers/toNumber/index.d.ts +2 -0
  51. package/agnostic/html/hyper-json/transformers/toNumber/index.js +12 -0
  52. package/agnostic/html/hyper-json/transformers/toRecord/index.d.ts +2 -0
  53. package/agnostic/html/hyper-json/transformers/toRecord/index.js +12 -0
  54. package/agnostic/html/hyper-json/transformers/toRef/index.d.ts +2 -0
  55. package/agnostic/html/hyper-json/transformers/toRef/index.js +12 -0
  56. package/agnostic/html/hyper-json/transformers/toString/index.d.ts +2 -0
  57. package/agnostic/html/hyper-json/transformers/toString/index.js +12 -0
  58. package/agnostic/html/hyper-json/transformers/toText/index.d.ts +2 -0
  59. package/agnostic/html/hyper-json/transformers/toText/index.js +12 -0
  60. package/agnostic/html/hyper-json/transformers/toTransformer/index.d.ts +2 -0
  61. package/agnostic/html/hyper-json/transformers/toTransformer/index.js +12 -0
  62. package/agnostic/html/hyper-json/transformers/transformSelected/index.d.ts +2 -0
  63. package/agnostic/html/hyper-json/transformers/transformSelected/index.js +39 -0
  64. package/agnostic/html/hyper-json/transformers/trim/index.d.ts +2 -0
  65. package/agnostic/html/hyper-json/transformers/trim/index.js +12 -0
  66. package/agnostic/html/hyper-json/tree/index.d.ts +56 -0
  67. package/agnostic/html/hyper-json/tree/index.js +39 -0
  68. package/agnostic/html/hyper-json/types/index.d.ts +86 -0
  69. package/agnostic/html/hyper-json/types/index.js +6 -0
  70. package/agnostic/html/hyper-json/utils/index.d.ts +10 -0
  71. package/agnostic/html/hyper-json/utils/index.js +6 -0
  72. package/agnostic/html/index.js +51 -19
  73. package/agnostic/html/replace-in-element/index.d.ts +1 -0
  74. package/agnostic/html/replace-in-element/index.js +6 -0
  75. package/agnostic/html/sanitize/index.js +7 -5
  76. package/agnostic/html/selector-to-element/index.js +7 -5
  77. package/agnostic/html/string-to-nodes/index.js +8 -6
  78. package/agnostic/index.d.ts +0 -2
  79. package/agnostic/misc/{web-crawler → crawler}/index.d.ts +1 -1
  80. package/agnostic/misc/crawler/index.js +7 -0
  81. package/agnostic/misc/crossenv/get-document/index.d.ts +2 -0
  82. package/agnostic/misc/crossenv/get-document/index.js +7 -0
  83. package/agnostic/misc/crossenv/get-window/browser.d.ts +2 -0
  84. package/agnostic/misc/crossenv/get-window/index.d.ts +2 -0
  85. package/agnostic/misc/crossenv/get-window/index.js +6 -0
  86. package/agnostic/misc/crossenv/index.d.ts +4 -1
  87. package/agnostic/misc/crossenv/index.js +3 -1
  88. package/agnostic/misc/crossenv/types.d.ts +3 -0
  89. package/agnostic/misc/index.d.ts +3 -1
  90. package/agnostic/misc/index.js +24 -14
  91. package/agnostic/misc/lorem-ipsum/index.js +5 -2
  92. package/agnostic/numbers/index.js +3 -3
  93. package/agnostic/objects/index.js +10 -10
  94. package/agnostic/optim/index.js +3 -3
  95. package/agnostic/random/index.js +6 -0
  96. package/agnostic/strings/index.js +9 -9
  97. package/agnostic/time/duration/index.d.ts +26 -0
  98. package/agnostic/time/duration/index.js +6 -0
  99. package/agnostic/time/index.d.ts +8 -7
  100. package/agnostic/time/index.js +17 -28
  101. package/agnostic/time/timeout/index.d.ts +1 -0
  102. package/agnostic/time/timeout/index.js +6 -0
  103. package/agnostic/time/transitions/index.js +7 -0
  104. package/agnostic/time/wait/index.js +6 -0
  105. package/chunks/chunk-2DMWYLFG.js +16 -0
  106. package/chunks/chunk-2KT7AKRW.js +17 -0
  107. package/chunks/{chunk-UCV2AZZV.js → chunk-2PI5AZIL.js} +14 -25
  108. package/chunks/chunk-3KQRMKQJ.js +27 -0
  109. package/chunks/chunk-3LVR6KZH.js +22 -0
  110. package/chunks/chunk-3PHPA25U.js +18 -0
  111. package/chunks/chunk-3PM7GZ6B.js +33 -0
  112. package/chunks/chunk-3SQJEEBK.js +642 -0
  113. package/chunks/chunk-3UURICGY.js +211 -0
  114. package/chunks/chunk-3X6RXJBR.js +37 -0
  115. package/chunks/{chunk-DQNJQBC6.js → chunk-4CIS3R7T.js} +1 -1
  116. package/chunks/chunk-4F7ZVE7T.js +332 -0
  117. package/chunks/chunk-4GUDL44X.js +13 -0
  118. package/chunks/chunk-4RDW62CU.js +36 -0
  119. package/chunks/chunk-5IR2PWO6.js +211 -0
  120. package/chunks/chunk-6CM2SWSX.js +35 -0
  121. package/chunks/chunk-6EYBQHJS.js +33 -0
  122. package/chunks/chunk-6NYUQXJT.js +109 -0
  123. package/chunks/chunk-6NZCBAT4.js +19 -0
  124. package/chunks/chunk-6V23XMYE.js +982 -0
  125. package/chunks/chunk-73V5RDSG.js +13 -0
  126. package/chunks/chunk-7IGZP4TV.js +30 -0
  127. package/chunks/chunk-7QMAYGNV.js +25 -0
  128. package/chunks/chunk-7YW5HL6N.js +168 -0
  129. package/chunks/chunk-AFFLZUW5.js +33 -0
  130. package/chunks/chunk-AMS3FB24.js +85 -0
  131. package/chunks/chunk-AXMPRLPI.js +35 -0
  132. package/chunks/chunk-B6CSCX7J.js +278 -0
  133. package/chunks/chunk-BDHNULU7.js +211 -0
  134. package/chunks/chunk-BNB7LEMQ.js +35 -0
  135. package/chunks/chunk-CECF6UZV.js +29 -0
  136. package/chunks/chunk-DBAJ66BR.js +18 -0
  137. package/chunks/chunk-DGQLPQS2.js +33 -0
  138. package/chunks/chunk-DLLTITVO.js +33 -0
  139. package/chunks/chunk-DMDOCC72.js +18 -0
  140. package/chunks/{chunk-IFT6HLDW.js → chunk-DRH7Q4FL.js} +3 -6
  141. package/chunks/chunk-DRNK3RLE.js +64 -0
  142. package/chunks/chunk-EAY65ZP6.js +22 -0
  143. package/chunks/{chunk-4GDNHUCZ.js → chunk-ENMBK6H7.js} +2 -2
  144. package/chunks/chunk-F5YMP5WU.js +18 -0
  145. package/chunks/chunk-F7EVMWVG.js +27 -0
  146. package/chunks/chunk-F7XWUG2V.js +18 -0
  147. package/chunks/chunk-FCU6IHKD.js +15 -0
  148. package/chunks/chunk-FFOATPL4.js +211 -0
  149. package/chunks/chunk-FWHUASVA.js +22 -0
  150. package/chunks/chunk-GBMHGF7P.js +20 -0
  151. package/chunks/{chunk-GJOU3UAL.js → chunk-GDYVCEWA.js} +8 -6
  152. package/chunks/chunk-GNBIAWSY.js +278 -0
  153. package/chunks/chunk-GQSPY2CV.js +19 -0
  154. package/chunks/chunk-HDALT7XM.js +620 -0
  155. package/chunks/chunk-HUKHWFVL.js +19 -0
  156. package/chunks/chunk-IGD53YL5.js +870 -0
  157. package/chunks/chunk-ILEM73XB.js +981 -0
  158. package/chunks/{chunk-DMGR57KA.js → chunk-IPB3U2PD.js} +20 -18
  159. package/chunks/chunk-JY3QZ2YO.js +211 -0
  160. package/chunks/chunk-K3OQEJI3.js +33 -0
  161. package/chunks/chunk-KXBKJ3GS.js +642 -0
  162. package/chunks/chunk-LCFDDWJR.js +278 -0
  163. package/chunks/chunk-LGECI2WL.js +306 -0
  164. package/chunks/chunk-LGUEB5L5.js +211 -0
  165. package/chunks/chunk-LI6QDZCA.js +211 -0
  166. package/chunks/{chunk-ZMHKLIP2.js → chunk-LYMZZ4BB.js} +1 -1
  167. package/chunks/chunk-MDEDNPU5.js +38 -0
  168. package/chunks/chunk-MQHKEGP4.js +33 -0
  169. package/chunks/chunk-NF5ACCXZ.js +211 -0
  170. package/chunks/chunk-NK557MKV.js +35 -0
  171. package/chunks/chunk-NWMEWFTK.js +33 -0
  172. package/chunks/chunk-O5OTBN22.js +35 -0
  173. package/chunks/chunk-O7MDUYEF.js +211 -0
  174. package/chunks/{chunk-LI5KVXAJ.js → chunk-OO5SJJDW.js} +2 -5
  175. package/chunks/chunk-Q52UJOBC.js +18 -0
  176. package/chunks/chunk-QFEF4EET.js +211 -0
  177. package/chunks/chunk-QHSVCGLD.js +280 -0
  178. package/chunks/chunk-QO64L4KB.js +97 -0
  179. package/chunks/{chunk-WLL3FNVL.js → chunk-R6KCN6CK.js} +1 -1
  180. package/chunks/chunk-RJ5E22H5.js +15 -0
  181. package/chunks/chunk-RLAZR3NL.js +8 -0
  182. package/chunks/chunk-RWUPHV54.js +25 -0
  183. package/chunks/chunk-S2757FI3.js +36 -0
  184. package/chunks/chunk-S42P73SC.js +30 -0
  185. package/chunks/chunk-S5XDYLJH.js +18 -0
  186. package/chunks/chunk-SCM6NACT.js +15 -0
  187. package/chunks/chunk-SH3Y2I5P.js +18 -0
  188. package/chunks/chunk-SMLKMOAX.js +18 -0
  189. package/chunks/chunk-TATRVKBS.js +211 -0
  190. package/chunks/chunk-UODQZRY2.js +620 -0
  191. package/chunks/chunk-UOULDS6J.js +33 -0
  192. package/chunks/chunk-UUDXUSI5.js +211 -0
  193. package/chunks/{chunk-GL23YDEH.js → chunk-UWAMSJ2X.js} +3 -6
  194. package/chunks/chunk-UZUXLD2Q.js +35 -0
  195. package/chunks/chunk-VA6HXRX4.js +211 -0
  196. package/chunks/chunk-VRUJR6WR.js +39 -0
  197. package/chunks/chunk-W6YBEEZM.js +211 -0
  198. package/chunks/chunk-WECTUHS5.js +127 -0
  199. package/chunks/chunk-YE5HI3RK.js +211 -0
  200. package/chunks/chunk-YEBOL67V.js +32 -0
  201. package/chunks/chunk-YS6WMSWC.js +15 -0
  202. package/{agnostic/misc/web-crawler/index.js → chunks/chunk-YUP434IY.js} +8 -7
  203. package/chunks/chunk-YYE2MVZO.js +211 -0
  204. package/chunks/chunk-Z7ZDDBV5.js +18 -0
  205. package/chunks/chunk-ZB73RE7P.js +35 -0
  206. package/chunks/chunk-ZONKYNKA.js +28 -0
  207. package/node/files/index.js +3 -3
  208. package/package.json +4 -1
  209. package/agnostic/async/index.d.ts +0 -8
  210. package/agnostic/async/index.js +0 -20
  211. package/agnostic/async/timeout-call/index.d.ts +0 -1
  212. package/agnostic/async/timeout-call/index.js +0 -6
  213. package/agnostic/async/transitions/index.js +0 -7
  214. package/agnostic/async/wait/index.js +0 -6
  215. package/agnostic/misc/random/index.js +0 -6
  216. package/chunks/chunk-4VC5PT5T.js +0 -13
  217. /package/agnostic/{misc/random → random}/index.d.ts +0 -0
  218. /package/agnostic/{async → time}/transitions/index.d.ts +0 -0
  219. /package/agnostic/{async → time}/wait/index.d.ts +0 -0
@@ -0,0 +1,280 @@
1
+ import {
2
+ isRecord
3
+ } from "./chunk-YDIBNEGA.js";
4
+ import {
5
+ isInEnum
6
+ } from "./chunk-E6MSDKON.js";
7
+ import {
8
+ isFalsy
9
+ } from "./chunk-QXAJXTXV.js";
10
+
11
+ // src/agnostic/html/hyper-json/index.ts
12
+ var HyperJson;
13
+ ((HyperJson2) => {
14
+ const crossenvWindow = window;
15
+ const document = crossenvWindow.document;
16
+ const Element = crossenvWindow.Element;
17
+ const Text = crossenvWindow.Text;
18
+ const Node = crossenvWindow.Node;
19
+ const isElement = (node) => node.nodeType === Node.ELEMENT_NODE;
20
+ const isText = (node) => node.nodeType === Node.TEXT_NODE;
21
+ let TyperTagName;
22
+ ((TyperTagName2) => {
23
+ TyperTagName2["NULL"] = "null";
24
+ TyperTagName2["BOOLEAN"] = "boolean";
25
+ TyperTagName2["NUMBER"] = "number";
26
+ TyperTagName2["STRING"] = "string";
27
+ TyperTagName2["TEXT"] = "text";
28
+ TyperTagName2["NODELIST"] = "nodelist";
29
+ TyperTagName2["ARRAY"] = "array";
30
+ TyperTagName2["RECORD"] = "record";
31
+ })(TyperTagName = HyperJson2.TyperTagName || (HyperJson2.TyperTagName = {}));
32
+ let TransformerTagName;
33
+ ((TransformerTagName2) => {
34
+ TransformerTagName2["MAP"] = "map";
35
+ TransformerTagName2["REF"] = "ref";
36
+ TransformerTagName2["ADD"] = "add";
37
+ TransformerTagName2["MULT"] = "mult";
38
+ TransformerTagName2["APPEND"] = "append";
39
+ })(TransformerTagName = HyperJson2.TransformerTagName || (HyperJson2.TransformerTagName = {}));
40
+ class Tree {
41
+ node;
42
+ name;
43
+ parent;
44
+ root;
45
+ path;
46
+ pathString;
47
+ tagName;
48
+ attributes;
49
+ subtrees = /* @__PURE__ */ new Map();
50
+ children;
51
+ type;
52
+ constructor(node, parent, pathFromParent) {
53
+ this.initValue = this.initValue.bind(this);
54
+ this.getInnerValue = this.getInnerValue.bind(this);
55
+ this.wrapInnerValue = this.wrapInnerValue.bind(this);
56
+ this.evaluate = this.evaluate.bind(this);
57
+ this.node = node;
58
+ this.name = this.node instanceof Element ? this.node.getAttribute("_name") : null;
59
+ this.parent = parent ?? null;
60
+ this.root = this.parent === null ? this : this.parent.root;
61
+ if (this.parent === null) this.path = [];
62
+ else if (pathFromParent === void 0) {
63
+ this.path = [...this.parent.path, 0];
64
+ } else {
65
+ this.path = [...this.parent.path, pathFromParent];
66
+ }
67
+ this.pathString = `/${this.path.join("/")}`;
68
+ this.tagName = node instanceof Element ? node.tagName.toLowerCase() : null;
69
+ this.attributes = isElement(node) ? Array.from(node.attributes) : null;
70
+ const { childNodes } = node;
71
+ let positionnedChildrenCount = 0;
72
+ const mutableSubtrees = /* @__PURE__ */ new Map();
73
+ Array.from(childNodes).filter((node2) => {
74
+ if (isElement(node2)) return true;
75
+ if (isText(node2)) return true;
76
+ return false;
77
+ }).forEach((childNode) => {
78
+ if (childNode instanceof Text) {
79
+ mutableSubtrees.set(
80
+ positionnedChildrenCount,
81
+ new Tree(childNode, this, positionnedChildrenCount)
82
+ );
83
+ positionnedChildrenCount += 1;
84
+ } else {
85
+ const propertyName = childNode.getAttribute("_name");
86
+ if (propertyName === null) {
87
+ mutableSubtrees.set(
88
+ positionnedChildrenCount,
89
+ new Tree(childNode, this, positionnedChildrenCount)
90
+ );
91
+ positionnedChildrenCount += 1;
92
+ } else {
93
+ mutableSubtrees.set(
94
+ propertyName,
95
+ new Tree(childNode, this, propertyName)
96
+ );
97
+ }
98
+ }
99
+ });
100
+ this.subtrees = mutableSubtrees;
101
+ this.children = Array.from(this.subtrees.values());
102
+ if (this.tagName === null) {
103
+ this.type = "text";
104
+ } else if (this.tagName === "null" /* NULL */) {
105
+ this.type = "null";
106
+ } else if (this.tagName === "boolean" /* BOOLEAN */) {
107
+ this.type = "boolean";
108
+ } else if (this.tagName === "number" /* NUMBER */) {
109
+ this.type = "number";
110
+ } else if (this.tagName === "string" /* STRING */) {
111
+ this.type = "string";
112
+ } else if (this.tagName === "text" /* TEXT */) {
113
+ this.type = "text";
114
+ } else if (this.tagName === "nodelist" /* NODELIST */) {
115
+ this.type = "nodelist";
116
+ } else if (this.tagName === "array" /* ARRAY */) {
117
+ this.type = "array";
118
+ } else if (this.tagName === "record" /* RECORD */) {
119
+ this.type = "record";
120
+ } else if (isInEnum(TransformerTagName, this.tagName)) {
121
+ this.type = "transformer";
122
+ } else {
123
+ this.type = "element";
124
+ }
125
+ console.log(this);
126
+ }
127
+ initValue() {
128
+ const { type } = this;
129
+ let currentValue;
130
+ if (type === "null") {
131
+ currentValue = null;
132
+ } else if (type === "boolean") {
133
+ currentValue = false;
134
+ } else if (type === "number") {
135
+ currentValue = 0;
136
+ } else if (type === "string") {
137
+ currentValue = "";
138
+ } else if (type === "text") {
139
+ currentValue = this.node.textContent;
140
+ } else if (type === "element") {
141
+ currentValue = document.createDocumentFragment().childNodes;
142
+ } else if (type === "nodelist") {
143
+ currentValue = document.createDocumentFragment().childNodes;
144
+ } else if (type === "array") {
145
+ currentValue = [];
146
+ } else if (type === "record") {
147
+ currentValue = {};
148
+ } else if (type === "transformer") {
149
+ currentValue = [];
150
+ } else {
151
+ currentValue = null;
152
+ }
153
+ return currentValue;
154
+ }
155
+ getInnerValue(initialValue) {
156
+ const { subtrees } = this;
157
+ console.log("---", this, subtrees);
158
+ const innerValue = Array.from(subtrees.entries()).reduce((currentValue, [subpath, subTree]) => {
159
+ if (subTree.type === "transformer") {
160
+ const evaluated = subTree.evaluate();
161
+ return evaluated(currentValue);
162
+ }
163
+ if (currentValue === null || typeof currentValue === "boolean" || typeof currentValue === "number" || typeof currentValue === "string" || currentValue instanceof Text || currentValue instanceof Element) {
164
+ const evaluated = subTree.evaluate();
165
+ if (evaluated === null || typeof evaluated === "boolean" || typeof evaluated === "number" || typeof evaluated === "string" || Array.isArray(evaluated) || isRecord(evaluated)) {
166
+ return evaluated;
167
+ }
168
+ const frag = document.createDocumentFragment();
169
+ frag.append(`${currentValue}`);
170
+ if (evaluated instanceof Element || evaluated instanceof Text) {
171
+ frag.append(evaluated);
172
+ return frag.childNodes;
173
+ }
174
+ frag.append(...Array.from(evaluated));
175
+ return frag.childNodes;
176
+ }
177
+ if (Array.isArray(currentValue)) {
178
+ if (typeof subpath === "string") return currentValue;
179
+ return [...currentValue, subTree.evaluate()];
180
+ }
181
+ if (currentValue instanceof NodeList) {
182
+ const evaluated = subTree.evaluate();
183
+ if (evaluated instanceof Element || evaluated instanceof Text) {
184
+ const frag = document.createDocumentFragment();
185
+ frag.append(...Array.from(currentValue), evaluated);
186
+ return frag.childNodes;
187
+ }
188
+ if (evaluated instanceof NodeList) {
189
+ const frag = document.createDocumentFragment();
190
+ frag.append(
191
+ ...Array.from(currentValue),
192
+ ...Array.from(evaluated)
193
+ );
194
+ return frag.childNodes;
195
+ }
196
+ if (evaluated === null || typeof evaluated === "string" || typeof evaluated === "number" || typeof evaluated === "boolean") {
197
+ const frag = document.createDocumentFragment();
198
+ frag.append(...Array.from(currentValue), `${evaluated}`);
199
+ return frag.childNodes;
200
+ }
201
+ if (Array.isArray(evaluated)) return [...Array.from(currentValue), ...evaluated];
202
+ return { ...evaluated };
203
+ }
204
+ if (typeof subpath === "number") return currentValue;
205
+ return {
206
+ ...currentValue,
207
+ [subpath]: subTree.evaluate()
208
+ };
209
+ }, initialValue);
210
+ return innerValue;
211
+ }
212
+ wrapInnerValue(innerValue) {
213
+ const { type, node } = this;
214
+ if (type === "transformer") return (contextValue) => {
215
+ console.log(`I am a transformer. My name is ${this.tagName}.`);
216
+ console.log("I have this innerValue (these are my params):");
217
+ console.log(innerValue);
218
+ console.log("And this context value:");
219
+ console.log(contextValue);
220
+ return contextValue;
221
+ };
222
+ if (type === "null") return null;
223
+ if (type === "boolean") return !isFalsy(innerValue);
224
+ if (type === "number") return parseFloat(`${innerValue}`);
225
+ if (type === "string") return `${innerValue}`;
226
+ if (type === "array") {
227
+ if (Array.isArray(innerValue)) return innerValue;
228
+ if (innerValue instanceof NodeList) {
229
+ return [...Array.from(innerValue)];
230
+ }
231
+ return [innerValue];
232
+ }
233
+ if (type === "record") {
234
+ if (isRecord(innerValue)) return innerValue;
235
+ return {};
236
+ }
237
+ if (type === "text") return document.createTextNode(`${innerValue}`);
238
+ if (type === "element") {
239
+ const wrapper = node.cloneNode();
240
+ if (innerValue instanceof NodeList) {
241
+ wrapper.append(...Array.from(innerValue));
242
+ return wrapper;
243
+ }
244
+ if (innerValue instanceof Element || innerValue instanceof Text || typeof innerValue === "string") {
245
+ wrapper.append(innerValue);
246
+ return wrapper;
247
+ }
248
+ if (innerValue === null || typeof innerValue === "number" || typeof innerValue === "boolean") {
249
+ wrapper.append(`${innerValue}`);
250
+ return wrapper;
251
+ }
252
+ return wrapper;
253
+ }
254
+ if (innerValue instanceof NodeList) return innerValue;
255
+ if (innerValue instanceof Element || innerValue instanceof Text || typeof innerValue === "string") {
256
+ const frag2 = document.createDocumentFragment();
257
+ frag2.append(innerValue);
258
+ return frag2.childNodes;
259
+ }
260
+ if (innerValue === null || typeof innerValue === "string" || typeof innerValue === "number" || typeof innerValue === "boolean") {
261
+ const frag2 = document.createDocumentFragment();
262
+ frag2.append(`${innerValue}`);
263
+ return frag2.childNodes;
264
+ }
265
+ const frag = document.createDocumentFragment();
266
+ return frag.childNodes;
267
+ }
268
+ evaluate() {
269
+ const init = this.initValue();
270
+ const inner = this.getInnerValue(init);
271
+ const wrapped = this.wrapInnerValue(inner);
272
+ return wrapped;
273
+ }
274
+ }
275
+ HyperJson2.Tree = Tree;
276
+ })(HyperJson || (HyperJson = {}));
277
+
278
+ export {
279
+ HyperJson
280
+ };
@@ -0,0 +1,97 @@
1
+ import {
2
+ Crossenv
3
+ } from "./chunk-3LVR6KZH.js";
4
+ import {
5
+ Utils
6
+ } from "./chunk-YEBOL67V.js";
7
+ import {
8
+ isRecord
9
+ } from "./chunk-YDIBNEGA.js";
10
+ import {
11
+ isFalsy
12
+ } from "./chunk-QXAJXTXV.js";
13
+
14
+ // src/agnostic/html/hyper-json/cast/index.ts
15
+ var getWindow = Crossenv.getWindow;
16
+ var Cast;
17
+ ((Cast2) => {
18
+ Cast2.toNull = () => null;
19
+ Cast2.toBoolean = (input) => !isFalsy(input);
20
+ Cast2.toNumber = (input) => {
21
+ const { Text } = getWindow();
22
+ if (typeof input === "number") return input;
23
+ if (typeof input === "string") return parseFloat(`${input}`);
24
+ if (input instanceof Text) return parseFloat(`${input.textContent}`);
25
+ return 0;
26
+ };
27
+ Cast2.toString = (input) => {
28
+ if (typeof input === "string") return input;
29
+ if (typeof input === "number" || typeof input === "boolean" || input === null) return `${input}`;
30
+ const { Element, Text, NodeList } = getWindow();
31
+ if (input instanceof Element) return input.outerHTML;
32
+ if (input instanceof Text) return input.textContent ?? "";
33
+ if (input instanceof NodeList) return Array.from(input).map((e) => {
34
+ if (e instanceof Element) return e.outerHTML;
35
+ return e.textContent;
36
+ }).join("");
37
+ return input.toString();
38
+ };
39
+ Cast2.toText = (input) => {
40
+ const { Text, document } = getWindow();
41
+ if (input instanceof Text) return input.cloneNode(true);
42
+ return document.createTextNode((0, Cast2.toString)(input));
43
+ };
44
+ Cast2.toElement = (input) => {
45
+ const { Element, Text, NodeList, document } = getWindow();
46
+ if (input instanceof Element) return input.cloneNode(true);
47
+ const elt = document.createElement("div");
48
+ if (input instanceof Text) {
49
+ elt.append(input.cloneNode(true));
50
+ return elt;
51
+ }
52
+ if (input instanceof NodeList) {
53
+ elt.append(...Array.from(input).map((e) => e.cloneNode(true)));
54
+ return elt;
55
+ }
56
+ if (Array.isArray(input)) return elt;
57
+ if (isRecord(input)) return elt;
58
+ elt.append(`${input}`);
59
+ return elt;
60
+ };
61
+ Cast2.toNodeList = (input) => {
62
+ const { Element, Text, NodeList, document } = getWindow();
63
+ const elt = document.createElement("div");
64
+ if (input instanceof NodeList) {
65
+ elt.append(...Array.from(input).map((i) => i.cloneNode(true)));
66
+ return elt.childNodes;
67
+ }
68
+ if (input instanceof Element || input instanceof Text) {
69
+ elt.append(input.cloneNode(true));
70
+ return elt.childNodes;
71
+ }
72
+ if (Array.isArray(input)) return elt.childNodes;
73
+ if (isRecord(input)) return elt.childNodes;
74
+ elt.innerHTML = `${input}`;
75
+ return elt.childNodes;
76
+ };
77
+ Cast2.toArray = (input) => {
78
+ const { NodeList } = getWindow();
79
+ if (Array.isArray(input)) return [...input];
80
+ if (input instanceof NodeList) return Array.from(input);
81
+ return [input];
82
+ };
83
+ Cast2.toRecord = (input) => {
84
+ if (isRecord(input)) return { ...input };
85
+ return {};
86
+ };
87
+ Cast2.toTransformer = (input) => {
88
+ return Utils.toNamedTransformer("utils/Cast.toTransformer", () => ({
89
+ action: "REPLACE",
90
+ value: input
91
+ }));
92
+ };
93
+ })(Cast || (Cast = {}));
94
+
95
+ export {
96
+ Cast
97
+ };
@@ -1,4 +1,4 @@
1
- // src/agnostic/misc/random/index.ts
1
+ // src/agnostic/random/index.ts
2
2
  var Random;
3
3
  ((Random2) => {
4
4
  function random(bound1 = 1, bound2) {
@@ -0,0 +1,15 @@
1
+ import {
2
+ Utils
3
+ } from "./chunk-YEBOL67V.js";
4
+
5
+ // src/agnostic/html/hyper-json/transformers/toNull/index.ts
6
+ var toNull = (callerTagName) => {
7
+ return Utils.toNamedTransformer(callerTagName, (currentValue) => ({
8
+ action: "REPLACE",
9
+ value: null
10
+ }));
11
+ };
12
+
13
+ export {
14
+ toNull
15
+ };
@@ -0,0 +1,8 @@
1
+ // src/agnostic/arrays/make/index.ts
2
+ function make(filler, length) {
3
+ return new Array(length).fill(null).map((_, pos) => filler(pos));
4
+ }
5
+
6
+ export {
7
+ make
8
+ };
@@ -0,0 +1,25 @@
1
+ import {
2
+ Cast
3
+ } from "./chunk-QO64L4KB.js";
4
+ import {
5
+ Utils
6
+ } from "./chunk-YEBOL67V.js";
7
+
8
+ // src/agnostic/html/hyper-json/transformers/join/index.ts
9
+ var join = (callerTagName, ...args) => {
10
+ return Utils.toNamedTransformer(callerTagName, (currentValue) => {
11
+ const joiner = Cast.toString(args.at(0) ?? ",");
12
+ if (!Array.isArray(currentValue)) return Utils.makeTransformerError({
13
+ message: `Current value must be an array`,
14
+ input: currentValue
15
+ });
16
+ return {
17
+ action: "REPLACE",
18
+ value: currentValue.join(joiner)
19
+ };
20
+ });
21
+ };
22
+
23
+ export {
24
+ join
25
+ };
@@ -0,0 +1,36 @@
1
+ import {
2
+ Cast
3
+ } from "./chunk-AMS3FB24.js";
4
+
5
+ // src/agnostic/html/hyper-json/transformers/ref/index.ts
6
+ var pathsStack = [];
7
+ var ref = (...args) => {
8
+ return (_, { resolver }) => {
9
+ const [refPathStrRaw] = args;
10
+ let refPathStr = Cast.toString(refPathStrRaw ?? "");
11
+ while (refPathStr.startsWith("/")) {
12
+ refPathStr = refPathStr.slice(1);
13
+ }
14
+ while (refPathStr.endsWith("/")) {
15
+ refPathStr = refPathStr.slice(0, -1);
16
+ }
17
+ const refPath = refPathStr.split("/").map((e) => {
18
+ const parsed = parseInt(e);
19
+ if (Number.isNaN(parsed)) return e;
20
+ return parsed;
21
+ });
22
+ pathsStack.push(refPath.join("/"));
23
+ const foundTree = resolver(refPath);
24
+ if (foundTree === void 0) return { action: null };
25
+ console.log(pathsStack);
26
+ const evaluated = foundTree.evaluate();
27
+ return {
28
+ action: "MERGE",
29
+ value: evaluated
30
+ };
31
+ };
32
+ };
33
+
34
+ export {
35
+ ref
36
+ };
@@ -0,0 +1,30 @@
1
+ import {
2
+ Crossenv
3
+ } from "./chunk-3LVR6KZH.js";
4
+ import {
5
+ Utils
6
+ } from "./chunk-YEBOL67V.js";
7
+
8
+ // src/agnostic/html/hyper-json/transformers/length/index.ts
9
+ var length = (callerTagName) => {
10
+ return Utils.toNamedTransformer(callerTagName, (currentValue) => {
11
+ const { Element, NodeList, Text } = Crossenv.getWindow();
12
+ if (typeof currentValue === "string" || Array.isArray(currentValue) || currentValue instanceof NodeList) return {
13
+ action: "REPLACE",
14
+ value: currentValue.length
15
+ };
16
+ if (currentValue instanceof Element) return {
17
+ action: "REPLACE",
18
+ value: Array.from(currentValue.childNodes).length
19
+ };
20
+ if (currentValue instanceof Text) return {
21
+ action: "REPLACE",
22
+ value: currentValue.data.length
23
+ };
24
+ return Utils.makeTransformerError(`Current value must be of type string, Array, NodeList, Element or Text`);
25
+ });
26
+ };
27
+
28
+ export {
29
+ length
30
+ };
@@ -0,0 +1,18 @@
1
+ import {
2
+ Cast
3
+ } from "./chunk-QO64L4KB.js";
4
+ import {
5
+ Utils
6
+ } from "./chunk-YEBOL67V.js";
7
+
8
+ // src/agnostic/html/hyper-json/transformers/toElement/index.ts
9
+ var toElement = (callerTagName) => {
10
+ return Utils.toNamedTransformer(callerTagName, (currentValue) => ({
11
+ action: "REPLACE",
12
+ value: Cast.toElement(currentValue)
13
+ }));
14
+ };
15
+
16
+ export {
17
+ toElement
18
+ };
@@ -0,0 +1,15 @@
1
+ import {
2
+ ref
3
+ } from "./chunk-NWMEWFTK.js";
4
+
5
+ // src/agnostic/html/hyper-json/transformers/index.ts
6
+ var Transformers;
7
+ ((Transformers2) => {
8
+ Transformers2.defaultGeneratorsMap = /* @__PURE__ */ new Map([
9
+ ["ref", ref]
10
+ ]);
11
+ })(Transformers || (Transformers = {}));
12
+
13
+ export {
14
+ Transformers
15
+ };
@@ -0,0 +1,18 @@
1
+ import {
2
+ Cast
3
+ } from "./chunk-QO64L4KB.js";
4
+ import {
5
+ Utils
6
+ } from "./chunk-YEBOL67V.js";
7
+
8
+ // src/agnostic/html/hyper-json/transformers/toBoolean/index.ts
9
+ var toBoolean = (callerTagName) => {
10
+ return Utils.toNamedTransformer(callerTagName, (currentValue) => ({
11
+ action: "REPLACE",
12
+ value: Cast.toBoolean(currentValue)
13
+ }));
14
+ };
15
+
16
+ export {
17
+ toBoolean
18
+ };
@@ -0,0 +1,18 @@
1
+ import {
2
+ Cast
3
+ } from "./chunk-QO64L4KB.js";
4
+ import {
5
+ Utils
6
+ } from "./chunk-YEBOL67V.js";
7
+
8
+ // src/agnostic/html/hyper-json/transformers/toTransformer/index.ts
9
+ var toTransformer = (callerTagName) => {
10
+ return Utils.toNamedTransformer(callerTagName, (currentValue) => ({
11
+ action: "REPLACE",
12
+ value: Cast.toTransformer(currentValue)
13
+ }));
14
+ };
15
+
16
+ export {
17
+ toTransformer
18
+ };