@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,211 @@
1
+ import {
2
+ Random
3
+ } from "./chunk-R6KCN6CK.js";
4
+ import {
5
+ findDuplicates
6
+ } from "./chunk-YS6WMSWC.js";
7
+ import {
8
+ make
9
+ } from "./chunk-RLAZR3NL.js";
10
+ import {
11
+ isArrayOf
12
+ } from "./chunk-6RGDWX4A.js";
13
+ import {
14
+ RANDOM_PICK_ERR_SYMBOL,
15
+ randomPick
16
+ } from "./chunk-FCU6IHKD.js";
17
+
18
+ // src/agnostic/arrays/index.tsx
19
+ var Arrays;
20
+ ((Arrays2) => {
21
+ Arrays2.findDuplicates = findDuplicates;
22
+ Arrays2.isArrayOf = isArrayOf;
23
+ Arrays2.make = make;
24
+ Arrays2.RANDOM_PICK_ERR_SYMBOL = RANDOM_PICK_ERR_SYMBOL;
25
+ Arrays2.randomPick = randomPick;
26
+ })(Arrays || (Arrays = {}));
27
+
28
+ // src/agnostic/misc/lorem-ipsum/index.ts
29
+ var LoremIpsum;
30
+ ((LoremIpsum2) => {
31
+ LoremIpsum2.words = [
32
+ "a",
33
+ "ac",
34
+ "accumsan",
35
+ "adipiscing",
36
+ "aenean",
37
+ "aliquam",
38
+ "aliquet",
39
+ "amet",
40
+ "ante",
41
+ "arcu",
42
+ "at",
43
+ "auctor",
44
+ "augue",
45
+ "bibendum",
46
+ "blandit",
47
+ "condimentum",
48
+ "consectetur",
49
+ "consequat",
50
+ "convallis",
51
+ "cras",
52
+ "curabitur",
53
+ "cursus",
54
+ "dapibus",
55
+ "diam",
56
+ "dictum",
57
+ "dictumst",
58
+ "dignissim",
59
+ "dolor",
60
+ "donec",
61
+ "dui",
62
+ "duis",
63
+ "efficitur",
64
+ "egestas",
65
+ "eget",
66
+ "eleifend",
67
+ "elementum",
68
+ "elit",
69
+ "enim",
70
+ "erat",
71
+ "eros",
72
+ "est",
73
+ "et",
74
+ "eu",
75
+ "euismod",
76
+ "ex",
77
+ "facilisis",
78
+ "faucibus",
79
+ "felis",
80
+ "feugiat",
81
+ "finibus",
82
+ "fringilla",
83
+ "fusce",
84
+ "gravida",
85
+ "habitasse",
86
+ "hac",
87
+ "hendrerit",
88
+ "iaculis",
89
+ "id",
90
+ "imperdiet",
91
+ "in",
92
+ "integer",
93
+ "interdum",
94
+ "ipsum",
95
+ "justo",
96
+ "lacinia",
97
+ "lacus",
98
+ "laoreet",
99
+ "lectus",
100
+ "leo",
101
+ "libero",
102
+ "ligula",
103
+ "lobortis",
104
+ "lorem",
105
+ "luctus",
106
+ "maecenas",
107
+ "magna",
108
+ "malesuada",
109
+ "massa",
110
+ "mattis",
111
+ "mauris",
112
+ "maximus",
113
+ "metus",
114
+ "mi",
115
+ "molestie",
116
+ "mollis",
117
+ "morbi",
118
+ "nam",
119
+ "nec",
120
+ "neque",
121
+ "nibh",
122
+ "nisi",
123
+ "nisl",
124
+ "non",
125
+ "nulla",
126
+ "nullam",
127
+ "nunc",
128
+ "odio",
129
+ "orci",
130
+ "ornare",
131
+ "pellentesque",
132
+ "pharetra",
133
+ "phasellus",
134
+ "placerat",
135
+ "platea",
136
+ "porta",
137
+ "porttitor",
138
+ "posuere",
139
+ "praesent",
140
+ "pulvinar",
141
+ "purus",
142
+ "quam",
143
+ "quis",
144
+ "quisque",
145
+ "risus",
146
+ "rutrum",
147
+ "sagittis",
148
+ "sapien",
149
+ "sed",
150
+ "sem",
151
+ "semper",
152
+ "sit",
153
+ "sodales",
154
+ "sollicitudin",
155
+ "suscipit",
156
+ "suspendisse",
157
+ "tellus",
158
+ "tempor",
159
+ "tempus",
160
+ "tincidunt",
161
+ "tortor",
162
+ "tristique",
163
+ "turpis",
164
+ "ultrices",
165
+ "ultricies",
166
+ "urna",
167
+ "ut",
168
+ "vehicula",
169
+ "vel",
170
+ "velit",
171
+ "venenatis",
172
+ "vestibulum",
173
+ "vitae",
174
+ "vivamus",
175
+ "viverra",
176
+ "volutpat",
177
+ "vulputate"
178
+ ];
179
+ LoremIpsum2.generateSentence = (wordCount) => {
180
+ const resultArr = [];
181
+ let currentWordCound = wordCount;
182
+ for (let i = 0; i < currentWordCound; i++) {
183
+ const picked = Arrays.randomPick(LoremIpsum2.words);
184
+ if (typeof picked === "string") resultArr.push(picked);
185
+ else {
186
+ currentWordCound += 1;
187
+ }
188
+ }
189
+ const [firstWord, ...otherWords] = resultArr;
190
+ if (firstWord === void 0) return "";
191
+ const capFirstLetter = firstWord?.charAt(0).toUpperCase();
192
+ const restOfFirstWord = firstWord?.slice(1);
193
+ const sentence = [
194
+ `${capFirstLetter}${restOfFirstWord}`,
195
+ ...otherWords
196
+ ].join(" ");
197
+ return `${sentence}.`;
198
+ };
199
+ LoremIpsum2.generateSentences = (sentencesCount, maxSentenceLength = 12, minSentenceLength = 4) => {
200
+ const sentences = [];
201
+ for (let i = 0; i < sentencesCount; i++) {
202
+ const length = Random.randomInt(maxSentenceLength, minSentenceLength) ?? 8;
203
+ sentences.push((0, LoremIpsum2.generateSentence)(length));
204
+ }
205
+ return sentences;
206
+ };
207
+ })(LoremIpsum || (LoremIpsum = {}));
208
+
209
+ export {
210
+ LoremIpsum
211
+ };
@@ -0,0 +1,127 @@
1
+ import {
2
+ register
3
+ } from "./chunk-EAY65ZP6.js";
4
+
5
+ // src/agnostic/html/sanitize/index.ts
6
+ var Sanitize;
7
+ ((Sanitize2) => {
8
+ Sanitize2.defaultOptions = { depth: 20 };
9
+ function sanitize(inputStr, options = Sanitize2.defaultOptions) {
10
+ const actualDocument = options.documentObj ?? window.document;
11
+ if (actualDocument === null) throw register.getError("no-window-document-on-runtime-please-provide" /* NO_DOCUMENT_PLEASE_PROVIDE */, "See documentObj in the options object");
12
+ const wrapperDiv = actualDocument.createElement("div");
13
+ const { inputFreeTransform } = options;
14
+ wrapperDiv.innerHTML = inputFreeTransform !== void 0 ? inputFreeTransform(inputStr) : inputStr;
15
+ const sanitizedWrapper = sanitizeElement(wrapperDiv, options);
16
+ const returned = sanitizedWrapper?.innerHTML;
17
+ return returned ?? "";
18
+ }
19
+ Sanitize2.sanitize = sanitize;
20
+ function sanitizeElement(element, options = Sanitize2.defaultOptions) {
21
+ const actualDocument = options.documentObj ?? window.document;
22
+ if (actualDocument === null) throw register.getError("no-window-document-on-runtime-please-provide" /* NO_DOCUMENT_PLEASE_PROVIDE */, "See documentObj in the options object");
23
+ const { tagName, attributes, childNodes } = element;
24
+ const {
25
+ allowedTags = [],
26
+ allowedAttributes = {},
27
+ forbiddenTags = [],
28
+ forbiddenAttributes = {},
29
+ depth = 20,
30
+ verbose = false
31
+ } = options;
32
+ if (depth <= 0) {
33
+ console.warn("Max depth reached");
34
+ return null;
35
+ }
36
+ const normalizedTagName = tagName.toLowerCase().trim();
37
+ const tagIsInForbidden = forbiddenTags.includes("*") || forbiddenTags.includes(normalizedTagName);
38
+ if (tagIsInForbidden) {
39
+ if (verbose === true) console.warn(tagName, "tag is forbidden");
40
+ return null;
41
+ }
42
+ const tagIsInAllowed = allowedTags.includes("*") || allowedTags.includes(normalizedTagName);
43
+ if (!tagIsInAllowed) {
44
+ if (verbose === true) console.warn(tagName, "tag is not allowed");
45
+ return null;
46
+ }
47
+ const returnedElement = actualDocument.createElement(tagName);
48
+ const returnedAttributes = Array.from(attributes).filter(({ name: attributeName, value: attributeValue }) => {
49
+ const allTagsForbiddenAttributes = forbiddenAttributes["*"] ?? [];
50
+ const thisTagForbiddenAttributes = forbiddenAttributes[normalizedTagName] ?? [];
51
+ const mergedForbiddenAttributes = [...allTagsForbiddenAttributes, ...thisTagForbiddenAttributes];
52
+ const isInForbidden = mergedForbiddenAttributes.some(({
53
+ attributeName: nameTester,
54
+ attributeValues: valTesters
55
+ }) => {
56
+ if (typeof nameTester === "string" && nameTester !== "*" && attributeName !== nameTester) return false;
57
+ if (typeof nameTester !== "string" && !nameTester.test(attributeName)) return false;
58
+ if (valTesters === void 0) {
59
+ if (verbose === true) console.warn(attributeName, "attribute on", tagName, "tag is forbidden");
60
+ return true;
61
+ }
62
+ if (valTesters.includes("*")) {
63
+ if (verbose === true) console.warn(attributeName, "attribute on", tagName, "tag is forbidden");
64
+ return true;
65
+ }
66
+ return valTesters.some((valTester) => {
67
+ if (typeof valTester === "string" && attributeValue === valTester) {
68
+ if (verbose === true) console.warn(attributeValue, "value for", attributeName, "attribute on", tagName, "tag is forbidden. Rule:", valTester);
69
+ return true;
70
+ }
71
+ if (typeof valTester !== "string" && valTester.test(attributeValue)) {
72
+ if (verbose === true) console.warn(attributeValue, "value for", attributeName, "attribute on", tagName, "tag is forbidden. Rule:", valTester);
73
+ return true;
74
+ }
75
+ return false;
76
+ });
77
+ });
78
+ if (isInForbidden) return false;
79
+ const allTagsAllowedAttributes = allowedAttributes["*"] ?? [];
80
+ const thisTagAllowedAttributes = allowedAttributes[normalizedTagName] ?? [];
81
+ const mergedAllowedAttributes = [...allTagsAllowedAttributes, ...thisTagAllowedAttributes];
82
+ let latestNotAllowedReason = [tagName, "has no allowed attributes"];
83
+ const isInAllowed = mergedAllowedAttributes.some(({
84
+ attributeName: nameTester,
85
+ attributeValues: valTesters
86
+ }) => {
87
+ if (typeof nameTester === "string" && nameTester !== "*" && attributeName !== nameTester) {
88
+ latestNotAllowedReason = [attributeName, "attribute on", tagName, "tag is not allowed"];
89
+ return false;
90
+ }
91
+ if (typeof nameTester !== "string" && !nameTester.test(attributeName)) {
92
+ latestNotAllowedReason = [attributeName, "attribute on", tagName, "tag is not allowed"];
93
+ return false;
94
+ }
95
+ if (valTesters === void 0) return true;
96
+ if (valTesters.includes("*")) return true;
97
+ return valTesters.some((valTester) => {
98
+ if (typeof valTester === "string" && attributeValue === valTester) return true;
99
+ if (typeof valTester !== "string" && valTester.test(attributeValue)) return true;
100
+ latestNotAllowedReason = [attributeValue, "value for", attributeName, "attribute on", tagName, "tag is not allowed"];
101
+ return false;
102
+ });
103
+ });
104
+ if (!isInAllowed) {
105
+ if (verbose === true) console.warn(...latestNotAllowedReason);
106
+ return false;
107
+ }
108
+ return true;
109
+ });
110
+ returnedAttributes.forEach(({ name, value }) => {
111
+ returnedElement.setAttribute(name, value);
112
+ });
113
+ const sanitizedChildNodes = Array.from(childNodes).map((node) => {
114
+ if (node.nodeType === Node.ELEMENT_NODE) return sanitizeElement(node, { ...options, depth: depth - 1 });
115
+ else if (node.nodeType === Node.TEXT_NODE) return node;
116
+ else if (options.keepComments === true && node.nodeType === Node.COMMENT_NODE) return node;
117
+ return null;
118
+ }).filter((elt) => elt !== null);
119
+ returnedElement.replaceChildren(...sanitizedChildNodes);
120
+ return returnedElement;
121
+ }
122
+ Sanitize2.sanitizeElement = sanitizeElement;
123
+ })(Sanitize || (Sanitize = {}));
124
+
125
+ export {
126
+ Sanitize
127
+ };
@@ -0,0 +1,211 @@
1
+ import {
2
+ RANDOM_PICK_ERR_SYMBOL,
3
+ randomPick
4
+ } from "./chunk-FCU6IHKD.js";
5
+ import {
6
+ findDuplicates
7
+ } from "./chunk-YS6WMSWC.js";
8
+ import {
9
+ isArrayOf
10
+ } from "./chunk-6RGDWX4A.js";
11
+ import {
12
+ make
13
+ } from "./chunk-RLAZR3NL.js";
14
+ import {
15
+ Random
16
+ } from "./chunk-R6KCN6CK.js";
17
+
18
+ // src/agnostic/arrays/index.tsx
19
+ var Arrays;
20
+ ((Arrays2) => {
21
+ Arrays2.findDuplicates = findDuplicates;
22
+ Arrays2.isArrayOf = isArrayOf;
23
+ Arrays2.make = make;
24
+ Arrays2.RANDOM_PICK_ERR_SYMBOL = RANDOM_PICK_ERR_SYMBOL;
25
+ Arrays2.randomPick = randomPick;
26
+ })(Arrays || (Arrays = {}));
27
+
28
+ // src/agnostic/misc/lorem-ipsum/index.ts
29
+ var LoremIpsum;
30
+ ((LoremIpsum2) => {
31
+ LoremIpsum2.words = [
32
+ "a",
33
+ "ac",
34
+ "accumsan",
35
+ "adipiscing",
36
+ "aenean",
37
+ "aliquam",
38
+ "aliquet",
39
+ "amet",
40
+ "ante",
41
+ "arcu",
42
+ "at",
43
+ "auctor",
44
+ "augue",
45
+ "bibendum",
46
+ "blandit",
47
+ "condimentum",
48
+ "consectetur",
49
+ "consequat",
50
+ "convallis",
51
+ "cras",
52
+ "curabitur",
53
+ "cursus",
54
+ "dapibus",
55
+ "diam",
56
+ "dictum",
57
+ "dictumst",
58
+ "dignissim",
59
+ "dolor",
60
+ "donec",
61
+ "dui",
62
+ "duis",
63
+ "efficitur",
64
+ "egestas",
65
+ "eget",
66
+ "eleifend",
67
+ "elementum",
68
+ "elit",
69
+ "enim",
70
+ "erat",
71
+ "eros",
72
+ "est",
73
+ "et",
74
+ "eu",
75
+ "euismod",
76
+ "ex",
77
+ "facilisis",
78
+ "faucibus",
79
+ "felis",
80
+ "feugiat",
81
+ "finibus",
82
+ "fringilla",
83
+ "fusce",
84
+ "gravida",
85
+ "habitasse",
86
+ "hac",
87
+ "hendrerit",
88
+ "iaculis",
89
+ "id",
90
+ "imperdiet",
91
+ "in",
92
+ "integer",
93
+ "interdum",
94
+ "ipsum",
95
+ "justo",
96
+ "lacinia",
97
+ "lacus",
98
+ "laoreet",
99
+ "lectus",
100
+ "leo",
101
+ "libero",
102
+ "ligula",
103
+ "lobortis",
104
+ "lorem",
105
+ "luctus",
106
+ "maecenas",
107
+ "magna",
108
+ "malesuada",
109
+ "massa",
110
+ "mattis",
111
+ "mauris",
112
+ "maximus",
113
+ "metus",
114
+ "mi",
115
+ "molestie",
116
+ "mollis",
117
+ "morbi",
118
+ "nam",
119
+ "nec",
120
+ "neque",
121
+ "nibh",
122
+ "nisi",
123
+ "nisl",
124
+ "non",
125
+ "nulla",
126
+ "nullam",
127
+ "nunc",
128
+ "odio",
129
+ "orci",
130
+ "ornare",
131
+ "pellentesque",
132
+ "pharetra",
133
+ "phasellus",
134
+ "placerat",
135
+ "platea",
136
+ "porta",
137
+ "porttitor",
138
+ "posuere",
139
+ "praesent",
140
+ "pulvinar",
141
+ "purus",
142
+ "quam",
143
+ "quis",
144
+ "quisque",
145
+ "risus",
146
+ "rutrum",
147
+ "sagittis",
148
+ "sapien",
149
+ "sed",
150
+ "sem",
151
+ "semper",
152
+ "sit",
153
+ "sodales",
154
+ "sollicitudin",
155
+ "suscipit",
156
+ "suspendisse",
157
+ "tellus",
158
+ "tempor",
159
+ "tempus",
160
+ "tincidunt",
161
+ "tortor",
162
+ "tristique",
163
+ "turpis",
164
+ "ultrices",
165
+ "ultricies",
166
+ "urna",
167
+ "ut",
168
+ "vehicula",
169
+ "vel",
170
+ "velit",
171
+ "venenatis",
172
+ "vestibulum",
173
+ "vitae",
174
+ "vivamus",
175
+ "viverra",
176
+ "volutpat",
177
+ "vulputate"
178
+ ];
179
+ LoremIpsum2.generateSentence = (wordCount) => {
180
+ const resultArr = [];
181
+ let currentWordCound = wordCount;
182
+ for (let i = 0; i < currentWordCound; i++) {
183
+ const picked = Arrays.randomPick(LoremIpsum2.words);
184
+ if (typeof picked === "string") resultArr.push(picked);
185
+ else {
186
+ currentWordCound += 1;
187
+ }
188
+ }
189
+ const [firstWord, ...otherWords] = resultArr;
190
+ if (firstWord === void 0) return "";
191
+ const capFirstLetter = firstWord?.charAt(0).toUpperCase();
192
+ const restOfFirstWord = firstWord?.slice(1);
193
+ const sentence = [
194
+ `${capFirstLetter}${restOfFirstWord}`,
195
+ ...otherWords
196
+ ].join(" ");
197
+ return `${sentence}.`;
198
+ };
199
+ LoremIpsum2.generateSentences = (sentencesCount, maxSentenceLength = 12, minSentenceLength = 4) => {
200
+ const sentences = [];
201
+ for (let i = 0; i < sentencesCount; i++) {
202
+ const length = Random.randomInt(maxSentenceLength, minSentenceLength) ?? 8;
203
+ sentences.push((0, LoremIpsum2.generateSentence)(length));
204
+ }
205
+ return sentences;
206
+ };
207
+ })(LoremIpsum || (LoremIpsum = {}));
208
+
209
+ export {
210
+ LoremIpsum
211
+ };
@@ -0,0 +1,32 @@
1
+ // src/agnostic/html/hyper-json/utils/index.ts
2
+ var Utils;
3
+ ((Utils2) => {
4
+ Utils2.pathStringToPath = (pathString) => {
5
+ let cleanPathString = pathString;
6
+ while (cleanPathString.startsWith("/")) {
7
+ cleanPathString = cleanPathString.slice(1);
8
+ }
9
+ while (cleanPathString.endsWith("/")) {
10
+ cleanPathString = cleanPathString.slice(0, -1);
11
+ }
12
+ return cleanPathString.split("/").map((e) => {
13
+ const parsed = parseInt(e);
14
+ if (Number.isNaN(parsed)) return e;
15
+ return parsed;
16
+ });
17
+ };
18
+ Utils2.pathToPathString = (path) => `/${path.map((e) => `${e}`).join("/")}`;
19
+ Utils2.makeTransformerError = (value) => ({
20
+ action: "ERROR",
21
+ value
22
+ });
23
+ Utils2.toNamedTransformer = (name, anonymous) => {
24
+ const named = anonymous;
25
+ named.transformerName = name;
26
+ return named;
27
+ };
28
+ })(Utils || (Utils = {}));
29
+
30
+ export {
31
+ Utils
32
+ };
@@ -0,0 +1,15 @@
1
+ // src/agnostic/arrays/find-duplicates/index.ts
2
+ function findDuplicates(arr, stopAtFirst = false) {
3
+ const seen = /* @__PURE__ */ new Set();
4
+ const duplicates = /* @__PURE__ */ new Set();
5
+ for (const item of arr) {
6
+ if (seen.has(item) && stopAtFirst) return [item];
7
+ if (seen.has(item)) duplicates.add(item);
8
+ seen.add(item);
9
+ }
10
+ return Array.from(duplicates);
11
+ }
12
+
13
+ export {
14
+ findDuplicates
15
+ };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  wait
3
- } from "../../../chunks/chunk-DQNJQBC6.js";
3
+ } from "./chunk-4CIS3R7T.js";
4
4
 
5
- // src/agnostic/misc/web-crawler/index.ts
6
- var WebCrawler;
7
- ((WebCrawler2) => {
5
+ // src/agnostic/misc/crawler/index.ts
6
+ var Crawler;
7
+ ((Crawler2) => {
8
8
  function create(options) {
9
9
  let ops = 0;
10
10
  const waitlist = [];
@@ -35,8 +35,9 @@ var WebCrawler;
35
35
  flush
36
36
  };
37
37
  }
38
- WebCrawler2.create = create;
39
- })(WebCrawler || (WebCrawler = {}));
38
+ Crawler2.create = create;
39
+ })(Crawler || (Crawler = {}));
40
+
40
41
  export {
41
- WebCrawler
42
+ Crawler
42
43
  };