@design-edito/tools 0.1.31 → 0.1.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. package/agnostic/css/index.js +3 -3
  2. package/agnostic/errors/index.js +2 -2
  3. package/agnostic/html/index.js +11 -11
  4. package/agnostic/html/sanitize/index.js +4 -4
  5. package/agnostic/html/selector-to-element/index.js +4 -4
  6. package/agnostic/html/string-to-nodes/index.js +5 -5
  7. package/agnostic/misc/index.js +7 -7
  8. package/agnostic/misc/lorem-ipsum/index.js +2 -2
  9. package/agnostic/numbers/index.js +3 -3
  10. package/agnostic/optim/index.js +3 -3
  11. package/agnostic/strings/index.js +3 -3
  12. package/agnostic/time/index.js +3 -3
  13. package/chunks/{chunk-EVOTJ7SU.js → chunk-COLNKMBN.js} +1 -1
  14. package/chunks/{chunk-NWFX6TEY.js → chunk-EX7FS6IR.js} +2 -2
  15. package/chunks/{chunk-CB52KVOZ.js → chunk-UDY37VIJ.js} +1 -1
  16. package/chunks/{chunk-WABWQCFE.js → chunk-WXXW6YLW.js} +1 -1
  17. package/package.json +1 -2
  18. package/agnostic/html/hyper-json/crossenv/index.d.ts +0 -13
  19. package/agnostic/html/hyper-json/crossenv/index.js +0 -6
  20. package/agnostic/misc/crossenv/get-document/index.d.ts +0 -2
  21. package/agnostic/misc/crossenv/get-document/index.js +0 -7
  22. package/agnostic/misc/crossenv/get-window/browser.d.ts +0 -2
  23. package/agnostic/misc/crossenv/get-window/index.d.ts +0 -2
  24. package/agnostic/misc/crossenv/get-window/index.js +0 -6
  25. package/agnostic/misc/crossenv/types.d.ts +0 -3
  26. package/chunks/chunk-2DMWYLFG.js +0 -16
  27. package/chunks/chunk-2PI5AZIL.js +0 -211
  28. package/chunks/chunk-2UYTYTX4.js +0 -31
  29. package/chunks/chunk-3KQRMKQJ.js +0 -27
  30. package/chunks/chunk-3LVR6KZH.js +0 -22
  31. package/chunks/chunk-3PHPA25U.js +0 -18
  32. package/chunks/chunk-3PM7GZ6B.js +0 -33
  33. package/chunks/chunk-3SQJEEBK.js +0 -642
  34. package/chunks/chunk-3UURICGY.js +0 -211
  35. package/chunks/chunk-3X6RXJBR.js +0 -37
  36. package/chunks/chunk-4F7ZVE7T.js +0 -332
  37. package/chunks/chunk-4GUDL44X.js +0 -13
  38. package/chunks/chunk-4QQBKBYH.js +0 -59
  39. package/chunks/chunk-4RDW62CU.js +0 -36
  40. package/chunks/chunk-5IR2PWO6.js +0 -211
  41. package/chunks/chunk-6CM2SWSX.js +0 -35
  42. package/chunks/chunk-6EYBQHJS.js +0 -33
  43. package/chunks/chunk-6NZCBAT4.js +0 -19
  44. package/chunks/chunk-6R54C426.js +0 -35
  45. package/chunks/chunk-6V23XMYE.js +0 -982
  46. package/chunks/chunk-73V5RDSG.js +0 -13
  47. package/chunks/chunk-7IGZP4TV.js +0 -30
  48. package/chunks/chunk-7QMAYGNV.js +0 -25
  49. package/chunks/chunk-7YW5HL6N.js +0 -168
  50. package/chunks/chunk-AFFLZUW5.js +0 -33
  51. package/chunks/chunk-AMS3FB24.js +0 -85
  52. package/chunks/chunk-APWPG7BU.js +0 -647
  53. package/chunks/chunk-AXMPRLPI.js +0 -35
  54. package/chunks/chunk-B2O7PFSF.js +0 -1108
  55. package/chunks/chunk-B6CSCX7J.js +0 -278
  56. package/chunks/chunk-B74HAAS6.js +0 -35
  57. package/chunks/chunk-BDHNULU7.js +0 -211
  58. package/chunks/chunk-BEJSITDG.js +0 -31
  59. package/chunks/chunk-BNB7LEMQ.js +0 -35
  60. package/chunks/chunk-CECF6UZV.js +0 -29
  61. package/chunks/chunk-DBAJ66BR.js +0 -18
  62. package/chunks/chunk-DGQLPQS2.js +0 -33
  63. package/chunks/chunk-DLLTITVO.js +0 -33
  64. package/chunks/chunk-DMDOCC72.js +0 -18
  65. package/chunks/chunk-DRH7Q4FL.js +0 -127
  66. package/chunks/chunk-DRNK3RLE.js +0 -64
  67. package/chunks/chunk-EAY65ZP6.js +0 -22
  68. package/chunks/chunk-EW46EXFB.js +0 -8
  69. package/chunks/chunk-F5YMP5WU.js +0 -18
  70. package/chunks/chunk-F7EVMWVG.js +0 -27
  71. package/chunks/chunk-F7XWUG2V.js +0 -18
  72. package/chunks/chunk-FFOATPL4.js +0 -211
  73. package/chunks/chunk-FSCSFZOD.js +0 -647
  74. package/chunks/chunk-FWHUASVA.js +0 -22
  75. package/chunks/chunk-G2NZXHW6.js +0 -21
  76. package/chunks/chunk-GDYVCEWA.js +0 -38
  77. package/chunks/chunk-GNBIAWSY.js +0 -278
  78. package/chunks/chunk-GQSPY2CV.js +0 -19
  79. package/chunks/chunk-HDALT7XM.js +0 -620
  80. package/chunks/chunk-HEJV6JIO.js +0 -133
  81. package/chunks/chunk-HENMQK5Y.js +0 -647
  82. package/chunks/chunk-HFEOHBYG.js +0 -647
  83. package/chunks/chunk-HGECIEKD.js +0 -35
  84. package/chunks/chunk-HUKHWFVL.js +0 -19
  85. package/chunks/chunk-IGD53YL5.js +0 -870
  86. package/chunks/chunk-ILEM73XB.js +0 -981
  87. package/chunks/chunk-IPB3U2PD.js +0 -278
  88. package/chunks/chunk-JAST3E5G.js +0 -647
  89. package/chunks/chunk-JY3QZ2YO.js +0 -211
  90. package/chunks/chunk-K3OQEJI3.js +0 -33
  91. package/chunks/chunk-KN4RZPDY.js +0 -211
  92. package/chunks/chunk-KXBKJ3GS.js +0 -642
  93. package/chunks/chunk-L7SL3MND.js +0 -35
  94. package/chunks/chunk-LCFDDWJR.js +0 -278
  95. package/chunks/chunk-LFUY5AWK.js +0 -1108
  96. package/chunks/chunk-LGECI2WL.js +0 -306
  97. package/chunks/chunk-LGUEB5L5.js +0 -211
  98. package/chunks/chunk-LI6QDZCA.js +0 -211
  99. package/chunks/chunk-LYMZZ4BB.js +0 -22
  100. package/chunks/chunk-MDEDNPU5.js +0 -38
  101. package/chunks/chunk-MQHKEGP4.js +0 -33
  102. package/chunks/chunk-NF5ACCXZ.js +0 -211
  103. package/chunks/chunk-NFUY7SLX.js +0 -211
  104. package/chunks/chunk-NK557MKV.js +0 -35
  105. package/chunks/chunk-NWMEWFTK.js +0 -33
  106. package/chunks/chunk-O5OTBN22.js +0 -35
  107. package/chunks/chunk-O7MDUYEF.js +0 -211
  108. package/chunks/chunk-OO5SJJDW.js +0 -35
  109. package/chunks/chunk-OVG5RGI3.js +0 -29
  110. package/chunks/chunk-OWRQ3QBI.js +0 -211
  111. package/chunks/chunk-PO3V3I57.js +0 -23
  112. package/chunks/chunk-PXB7U2DH.js +0 -31
  113. package/chunks/chunk-Q52UJOBC.js +0 -18
  114. package/chunks/chunk-QFEF4EET.js +0 -211
  115. package/chunks/chunk-QHSVCGLD.js +0 -280
  116. package/chunks/chunk-QO64L4KB.js +0 -97
  117. package/chunks/chunk-R6KCN6CK.js +0 -40
  118. package/chunks/chunk-RHYLRLKT.js +0 -211
  119. package/chunks/chunk-RJ5E22H5.js +0 -15
  120. package/chunks/chunk-RWUPHV54.js +0 -25
  121. package/chunks/chunk-S2757FI3.js +0 -36
  122. package/chunks/chunk-S42P73SC.js +0 -30
  123. package/chunks/chunk-S5XDYLJH.js +0 -18
  124. package/chunks/chunk-S7MJLTCR.js +0 -211
  125. package/chunks/chunk-SCM6NACT.js +0 -15
  126. package/chunks/chunk-SFV2NYY4.js +0 -211
  127. package/chunks/chunk-SH3Y2I5P.js +0 -18
  128. package/chunks/chunk-SMLKMOAX.js +0 -18
  129. package/chunks/chunk-SQZGZ3VT.js +0 -15
  130. package/chunks/chunk-T5CGXYST.js +0 -647
  131. package/chunks/chunk-TATRVKBS.js +0 -211
  132. package/chunks/chunk-TRB6DPKJ.js +0 -35
  133. package/chunks/chunk-UFKH5WD2.js +0 -21
  134. package/chunks/chunk-UODQZRY2.js +0 -620
  135. package/chunks/chunk-UOULDS6J.js +0 -33
  136. package/chunks/chunk-UPHVZROF.js +0 -35
  137. package/chunks/chunk-UUDXUSI5.js +0 -211
  138. package/chunks/chunk-UWAMSJ2X.js +0 -28
  139. package/chunks/chunk-UZUXLD2Q.js +0 -35
  140. package/chunks/chunk-VA6HXRX4.js +0 -211
  141. package/chunks/chunk-VRUJR6WR.js +0 -39
  142. package/chunks/chunk-W6YBEEZM.js +0 -211
  143. package/chunks/chunk-WECTUHS5.js +0 -127
  144. package/chunks/chunk-YE5HI3RK.js +0 -211
  145. package/chunks/chunk-YEBOL67V.js +0 -32
  146. package/chunks/chunk-YRGOY5YU.js +0 -1108
  147. package/chunks/chunk-YYE2MVZO.js +0 -211
  148. package/chunks/chunk-ZB73RE7P.js +0 -35
  149. package/chunks/chunk-ZONKYNKA.js +0 -28
  150. package/chunks/{chunk-GPWFYPER.js → chunk-5HWYTIYR.js} +3 -3
  151. package/chunks/{chunk-MUGIN5OW.js → chunk-MZSIKE3H.js} +3 -3
@@ -1,211 +0,0 @@
1
- import {
2
- Random
3
- } from "./chunk-R6KCN6CK.js";
4
- import {
5
- isArrayOf
6
- } from "./chunk-6RGDWX4A.js";
7
- import {
8
- findDuplicates
9
- } from "./chunk-YS6WMSWC.js";
10
- import {
11
- RANDOM_PICK_ERR_SYMBOL,
12
- randomPick
13
- } from "./chunk-FCU6IHKD.js";
14
- import {
15
- make
16
- } from "./chunk-RLAZR3NL.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
- };
@@ -1,37 +0,0 @@
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/ref/index.ts
12
- var ref = (callerTagName, ...args) => {
13
- return Utils.toNamedTransformer(callerTagName, (_, callerTree) => {
14
- const [refPathStrRaw] = args;
15
- const { Text } = Crossenv.getWindow();
16
- if (typeof refPathStrRaw !== "string" && !(refPathStrRaw instanceof Text)) return Utils.makeTransformerError({
17
- message: "PathString must be of type string or Text",
18
- input: refPathStrRaw !== void 0 ? refPathStrRaw : "<undefined>"
19
- });
20
- const refPathStr = Cast.toString(refPathStrRaw);
21
- const refPath = Utils.pathStringToPath(Cast.toString(refPathStrRaw));
22
- const foundTree = callerTree.resolve(refPath);
23
- if (foundTree === void 0) return Utils.makeTransformerError({
24
- message: "Referenced value has not been found",
25
- input: refPathStr
26
- });
27
- const evaluated = foundTree.evaluate();
28
- return {
29
- action: "MERGE",
30
- value: evaluated
31
- };
32
- });
33
- };
34
-
35
- export {
36
- ref
37
- };
@@ -1,332 +0,0 @@
1
- import {
2
- Types
3
- } from "./chunk-3KQRMKQJ.js";
4
- import {
5
- Serialize
6
- } from "./chunk-DRNK3RLE.js";
7
- import {
8
- Cast
9
- } from "./chunk-AMS3FB24.js";
10
- import {
11
- Crossenv
12
- } from "./chunk-3LVR6KZH.js";
13
- import {
14
- isRecord
15
- } from "./chunk-YDIBNEGA.js";
16
-
17
- // src/agnostic/html/hyper-json/tree/index.ts
18
- var getWindow = Crossenv.getWindow;
19
- var isElement = (node) => node.nodeType === getWindow().Node.ELEMENT_NODE;
20
- var isText = (node) => node.nodeType === getWindow().Node.TEXT_NODE;
21
- var Tree = class _Tree {
22
- node;
23
- name;
24
- parent;
25
- root;
26
- isRoot;
27
- path;
28
- pathString;
29
- tagName;
30
- attributes;
31
- subtrees = /* @__PURE__ */ new Map();
32
- children;
33
- type;
34
- generators;
35
- constructor(node, generatorsOrParent, pathFromParent) {
36
- this.resolve = this.resolve.bind(this);
37
- this.getGenerator = this.getGenerator.bind(this);
38
- this.initValue = this.initValue.bind(this);
39
- this.mergeValues = this.mergeValues.bind(this);
40
- this.getInnerValue = this.getInnerValue.bind(this);
41
- this.wrapInnerValue = this.wrapInnerValue.bind(this);
42
- this.setCache = this.setCache.bind(this);
43
- this.getPerfCounters = this.getPerfCounters.bind(this);
44
- this.printPerfCounters = this.printPerfCounters.bind(this);
45
- this.pushToEvalCallStack = this.pushToEvalCallStack.bind(this);
46
- this.flushEvalCallStack = this.flushEvalCallStack.bind(this);
47
- this.evaluate = this.evaluate.bind(this);
48
- let parent;
49
- let generators;
50
- if (pathFromParent === void 0) {
51
- parent = null;
52
- generators = generatorsOrParent;
53
- } else {
54
- parent = generatorsOrParent;
55
- generators = /* @__PURE__ */ new Map();
56
- }
57
- this.node = node;
58
- this.name = this.node instanceof getWindow().Element ? this.node.getAttribute("_name") : null;
59
- this.parent = parent;
60
- this.root = this.parent === null ? this : this.parent.root;
61
- this.isRoot = this.root === this;
62
- this.generators = this.isRoot ? generators : this.root.generators;
63
- if (this.parent === null) this.path = [];
64
- else if (pathFromParent === void 0) {
65
- this.path = [...this.parent.path, 0];
66
- } else {
67
- this.path = [...this.parent.path, pathFromParent];
68
- }
69
- this.pathString = `/${this.path.join("/")}`;
70
- this.tagName = node instanceof getWindow().Element ? node.tagName.toLowerCase() : null;
71
- this.attributes = isElement(node) ? Array.from(node.attributes) : null;
72
- const { childNodes } = node;
73
- let positionnedChildrenCount = 0;
74
- const mutableSubtrees = /* @__PURE__ */ new Map();
75
- Array.from(childNodes).filter((node2, _, nodes) => {
76
- if (isElement(node2)) return true;
77
- if (isText(node2)) {
78
- const hasContent = (node2.textContent ?? "").trim() !== "";
79
- if (hasContent) return true;
80
- if (nodes.some((n) => n instanceof getWindow().Element)) return false;
81
- return true;
82
- }
83
- return false;
84
- }).forEach((childNode) => {
85
- if (childNode instanceof getWindow().Text) {
86
- mutableSubtrees.set(
87
- positionnedChildrenCount,
88
- new _Tree(childNode, this, positionnedChildrenCount)
89
- );
90
- positionnedChildrenCount += 1;
91
- } else {
92
- const propertyName = childNode.getAttribute("_name");
93
- if (propertyName === null) {
94
- mutableSubtrees.set(
95
- positionnedChildrenCount,
96
- new _Tree(childNode, this, positionnedChildrenCount)
97
- );
98
- positionnedChildrenCount += 1;
99
- } else {
100
- mutableSubtrees.set(
101
- propertyName,
102
- new _Tree(childNode, this, propertyName)
103
- );
104
- }
105
- }
106
- });
107
- this.subtrees = mutableSubtrees;
108
- this.children = Array.from(this.subtrees.values());
109
- if (this.tagName === null) {
110
- this.type = "text";
111
- } else if (this.tagName === Types.TyperTagName.NULL) {
112
- this.type = "null";
113
- } else if (this.tagName === Types.TyperTagName.BOOLEAN) {
114
- this.type = "boolean";
115
- } else if (this.tagName === Types.TyperTagName.NUMBER) {
116
- this.type = "number";
117
- } else if (this.tagName === Types.TyperTagName.STRING) {
118
- this.type = "string";
119
- } else if (this.tagName === Types.TyperTagName.TEXT) {
120
- this.type = "text";
121
- } else if (this.tagName === Types.TyperTagName.NODELIST) {
122
- this.type = "nodelist";
123
- } else if (this.tagName === Types.TyperTagName.ARRAY) {
124
- this.type = "array";
125
- } else if (this.tagName === Types.TyperTagName.RECORD) {
126
- this.type = "record";
127
- } else if (this.getGenerator(this.tagName) !== void 0) {
128
- this.type = "transformer";
129
- } else {
130
- this.type = "element";
131
- }
132
- }
133
- resolve = function(path) {
134
- let currentTree = this.root;
135
- for (const chunk of path) {
136
- const { subtrees } = currentTree;
137
- const foundSubtree = subtrees.get(chunk);
138
- if (foundSubtree === void 0) return void 0;
139
- currentTree = foundSubtree;
140
- }
141
- return currentTree;
142
- };
143
- getGenerator(name) {
144
- return this.generators.get(name);
145
- }
146
- initValue() {
147
- const { type } = this;
148
- let currentValue;
149
- if (type === "null") {
150
- currentValue = null;
151
- } else if (type === "boolean") {
152
- currentValue = false;
153
- } else if (type === "number") {
154
- currentValue = 0;
155
- } else if (type === "string") {
156
- currentValue = "";
157
- } else if (type === "text") {
158
- currentValue = this.node.textContent;
159
- } else if (type === "element") {
160
- currentValue = getWindow().document.createDocumentFragment().childNodes;
161
- } else if (type === "nodelist") {
162
- currentValue = getWindow().document.createDocumentFragment().childNodes;
163
- } else if (type === "array") {
164
- currentValue = [];
165
- } else if (type === "record") {
166
- currentValue = {};
167
- } else if (type === "transformer") {
168
- currentValue = [];
169
- } else {
170
- currentValue = null;
171
- }
172
- return currentValue;
173
- }
174
- mergeValues(currentValue, incomingValue, mergeKey) {
175
- const { Element, Text, NodeList, document } = getWindow();
176
- if (typeof incomingValue === "function") {
177
- const evaluated = incomingValue(currentValue, { resolver: this.resolve });
178
- if (evaluated.action === null) return currentValue;
179
- if (evaluated.action === "REPLACE") return evaluated.value;
180
- return this.mergeValues(currentValue, evaluated.value, mergeKey);
181
- }
182
- if (Array.isArray(currentValue)) {
183
- if (typeof mergeKey === "string") return currentValue;
184
- return [...currentValue, incomingValue];
185
- }
186
- if (currentValue === null || typeof currentValue === "boolean" || typeof currentValue === "number" || typeof currentValue === "string" || typeof currentValue === "function" || currentValue instanceof Text || currentValue instanceof Element) {
187
- if (incomingValue === null || typeof incomingValue === "boolean" || typeof incomingValue === "number" || typeof incomingValue === "string" || Array.isArray(incomingValue) || isRecord(incomingValue)) {
188
- return incomingValue;
189
- }
190
- const frag = document.createDocumentFragment();
191
- if (currentValue instanceof Element || currentValue instanceof Text) frag.append(currentValue.cloneNode(true));
192
- else frag.append(`${currentValue}`);
193
- if (incomingValue instanceof Element || incomingValue instanceof Text) {
194
- frag.append(incomingValue.cloneNode(true));
195
- return frag.childNodes;
196
- }
197
- frag.append(...Array.from(incomingValue).map((e) => e.cloneNode(true)));
198
- return frag.childNodes;
199
- }
200
- if (currentValue instanceof NodeList) {
201
- if (incomingValue instanceof Element || incomingValue instanceof Text) {
202
- const frag = document.createDocumentFragment();
203
- frag.append(...Array.from(currentValue).map((e) => e.cloneNode(true)), incomingValue);
204
- return frag.childNodes;
205
- }
206
- if (incomingValue instanceof NodeList) {
207
- const frag = document.createDocumentFragment();
208
- frag.append(
209
- ...Array.from(currentValue).map((e) => e.cloneNode(true)),
210
- ...Array.from(incomingValue).map((e) => e.cloneNode(true))
211
- );
212
- return frag.childNodes;
213
- }
214
- if (incomingValue === null || typeof incomingValue === "string" || typeof incomingValue === "number" || typeof incomingValue === "boolean") {
215
- const frag = document.createDocumentFragment();
216
- frag.append(...Array.from(currentValue).map((e) => e.cloneNode(true)), `${incomingValue}`);
217
- return frag.childNodes;
218
- }
219
- if (Array.isArray(incomingValue)) return [
220
- ...Array.from(currentValue),
221
- ...incomingValue
222
- ];
223
- return { ...incomingValue };
224
- }
225
- if (typeof mergeKey === "number") return currentValue;
226
- return {
227
- ...currentValue,
228
- [mergeKey]: incomingValue
229
- };
230
- }
231
- getInnerValue(initialValue) {
232
- const { subtrees } = this;
233
- const innerValue = Array.from(subtrees.entries()).reduce((currentValue, [subpath, subtree]) => this.mergeValues(
234
- currentValue,
235
- subtree.evaluate(),
236
- subpath
237
- ), initialValue);
238
- return innerValue;
239
- }
240
- wrapInnerValue(innerValue) {
241
- const { type } = this;
242
- if (type === "transformer") {
243
- const transformerName = this.tagName;
244
- if (transformerName === null) return innerValue;
245
- const generator = this.getGenerator(transformerName);
246
- if (generator === void 0) return innerValue;
247
- const transformer = Array.isArray(innerValue) ? generator(...innerValue) : generator(innerValue);
248
- return transformer;
249
- }
250
- if (type === "null") return Cast.toNull();
251
- if (type === "boolean") return Cast.toBoolean(innerValue);
252
- if (type === "number") return Cast.toNumber(innerValue);
253
- if (type === "string") return Cast.toString(innerValue);
254
- if (type === "array") return Cast.toArray(innerValue);
255
- if (type === "record") return Cast.toRecord(innerValue);
256
- if (type === "text") return Cast.toText(innerValue);
257
- if (type === "element") return Cast.toElement(innerValue);
258
- if (type === "nodelist") return Cast.toNodeList(innerValue);
259
- return Cast.toNull();
260
- }
261
- cache = void 0;
262
- setCache(value) {
263
- this.cache = Serialize.serialize(value);
264
- }
265
- perfCounters = {
266
- computed: 0,
267
- computeTime: 0,
268
- computeTimeAvg: 0,
269
- cached: 0,
270
- cacheTime: 0,
271
- cacheTimeAvg: 0,
272
- totalTime: 0
273
- };
274
- getPerfCounters() {
275
- const { subtrees } = this;
276
- const subCounters = [];
277
- subCounters.push([this.pathString, this.perfCounters]);
278
- subtrees.forEach((subtree) => subCounters.push(...subtree.getPerfCounters()));
279
- return subCounters;
280
- }
281
- printPerfCounters() {
282
- const perfCounters = this.getPerfCounters().sort((a, b) => b[1].totalTime - a[1].totalTime).map((e) => ({
283
- path: e[0],
284
- totalMs: e[1].totalTime,
285
- computeMs: e[1].computeTime,
286
- cacheMs: e[1].cacheTime,
287
- ops: `${e[1].computed}/${e[1].cached}`
288
- }));
289
- console.table(perfCounters);
290
- }
291
- callstack = [];
292
- pushToEvalCallStack(path) {
293
- this.callstack.push(path);
294
- this.parent?.pushToEvalCallStack(path);
295
- }
296
- flushEvalCallStack() {
297
- this.callstack.length = 0;
298
- }
299
- evaluate() {
300
- const start = Date.now();
301
- const circularPatternDetected = this.callstack.some((p) => p.startsWith(this.pathString));
302
- if (circularPatternDetected) throw new Error(`Circular reference pattern detected @ ${this.pathString}`);
303
- this.pushToEvalCallStack(this.pathString);
304
- const { perfCounters, cache } = this;
305
- if (cache !== void 0) {
306
- const deserialized = Serialize.deserialize(cache);
307
- const end2 = Date.now();
308
- const time2 = end2 - start;
309
- perfCounters.cached++;
310
- perfCounters.cacheTime += time2;
311
- perfCounters.cacheTimeAvg = perfCounters.cacheTime / perfCounters.cached;
312
- perfCounters.totalTime = perfCounters.computeTime + perfCounters.cacheTime;
313
- return deserialized;
314
- }
315
- const init = this.initValue();
316
- const inner = this.getInnerValue(init);
317
- const wrapped = this.wrapInnerValue(inner);
318
- this.setCache(wrapped);
319
- const end = Date.now();
320
- const time = end - start;
321
- perfCounters.computed++;
322
- perfCounters.computeTime += time;
323
- perfCounters.computeTimeAvg = perfCounters.computeTime / perfCounters.computed;
324
- perfCounters.totalTime = perfCounters.computeTime + perfCounters.cacheTime;
325
- this.flushEvalCallStack();
326
- return wrapped;
327
- }
328
- };
329
-
330
- export {
331
- Tree
332
- };
@@ -1,13 +0,0 @@
1
- // src/agnostic/misc/crossenv/get-window/index.ts
2
- async function getWindow() {
3
- if (window !== void 0) return window;
4
- else {
5
- const { JSDOM } = await import("jsdom");
6
- const dom = new JSDOM("<!DOCTYPE html><html><body></body></html>");
7
- return dom.window;
8
- }
9
- }
10
-
11
- export {
12
- getWindow
13
- };
@@ -1,59 +0,0 @@
1
- import {
2
- isFalsy
3
- } from "./chunk-QXAJXTXV.js";
4
-
5
- // src/agnostic/misc/cast/index.ts
6
- var Cast;
7
- ((Cast2) => {
8
- function toBoolean(value) {
9
- if (typeof value === "boolean") return value;
10
- if (typeof value === "string") {
11
- if (value.toLowerCase().trim() === "true") return true;
12
- return false;
13
- }
14
- return !isFalsy(value);
15
- }
16
- Cast2.toBoolean = toBoolean;
17
- function toNumber(value) {
18
- if (typeof value === "number") return value;
19
- if (typeof value === "string") return parseFloat(value);
20
- return 0;
21
- }
22
- Cast2.toNumber = toNumber;
23
- function toString(value) {
24
- if (typeof value === "string") return value;
25
- return String(value);
26
- }
27
- Cast2.toString = toString;
28
- function toNull(_value) {
29
- return null;
30
- }
31
- Cast2.toNull = toNull;
32
- function toArray(value) {
33
- if (Array.isArray(value)) return value;
34
- if (typeof value === "object" && value !== null) return Object.entries(value).map((key, value2) => ({ key, value: value2 }));
35
- return [value];
36
- }
37
- Cast2.toArray = toArray;
38
- function toNumberArr(value) {
39
- const arrValue = toArray(value);
40
- return arrValue.map((val) => toNumber(val));
41
- }
42
- Cast2.toNumberArr = toNumberArr;
43
- function toRecord(value) {
44
- const record = {};
45
- try {
46
- Object.keys(value).forEach((key) => {
47
- record[key] = value[key];
48
- });
49
- } catch (err) {
50
- return record;
51
- }
52
- return record;
53
- }
54
- Cast2.toRecord = toRecord;
55
- })(Cast || (Cast = {}));
56
-
57
- export {
58
- Cast
59
- };
@@ -1,36 +0,0 @@
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/toRef/index.ts
12
- var toRef = (callerTagName) => {
13
- return Utils.toNamedTransformer(callerTagName, (currentValue, callerTree) => {
14
- const { Text } = Crossenv.getWindow();
15
- if (typeof currentValue !== "string" && !(currentValue instanceof Text)) return Utils.makeTransformerError({
16
- message: "Current value must be string or Text",
17
- input: currentValue
18
- });
19
- const refPathStr = Cast.toString(currentValue);
20
- const refPath = Utils.pathStringToPath(refPathStr);
21
- const foundTree = callerTree.resolve(refPath);
22
- if (foundTree === void 0) return Utils.makeTransformerError({
23
- message: "Referenced value has not been found",
24
- input: refPathStr
25
- });
26
- const evaluated = foundTree.evaluate();
27
- return {
28
- action: "REPLACE",
29
- value: evaluated
30
- };
31
- });
32
- };
33
-
34
- export {
35
- toRef
36
- };