@thestarweb/star-framework-app-web 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.js +8 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/cli/dev-server.js +64 -0
- package/dist/cli/dev-server.js.map +1 -0
- package/dist/cli/index.js +117 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/types.js +2 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli-helper.js +2 -0
- package/dist/cli-helper.js.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/interceptor/index.js +26 -0
- package/dist/interceptor/index.js.map +1 -0
- package/dist/interceptor/middleware-to-interceptor/index.js +32 -0
- package/dist/interceptor/middleware-to-interceptor/index.js.map +1 -0
- package/dist/interceptor/middleware-to-interceptor/mock-res.js +241 -0
- package/dist/interceptor/middleware-to-interceptor/mock-res.js.map +1 -0
- package/dist/interceptor/middleware-to-interceptor/mook-req.js +180 -0
- package/dist/interceptor/middleware-to-interceptor/mook-req.js.map +1 -0
- package/dist/interceptor/types.js +6 -0
- package/dist/interceptor/types.js.map +1 -0
- package/dist/params/index.js +10 -0
- package/dist/params/index.js.map +1 -0
- package/dist/request/index.js +46 -0
- package/dist/request/index.js.map +1 -0
- package/dist/return-types/index.js +2 -0
- package/dist/return-types/index.js.map +1 -0
- package/dist/return-types/response-with-meta.js +25 -0
- package/dist/return-types/response-with-meta.js.map +1 -0
- package/dist/route/index.js +20 -0
- package/dist/route/index.js.map +1 -0
- package/dist/route/types.js +17 -0
- package/dist/route/types.js.map +1 -0
- package/dist/runtime/index.js +84 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/type.js +11 -0
- package/dist/runtime/type.js.map +1 -0
- package/dist/server/body/helper.js +118 -0
- package/dist/server/body/helper.js.map +1 -0
- package/dist/server/body/json.js +211 -0
- package/dist/server/body/json.js.map +1 -0
- package/dist/server/body/types.js +6 -0
- package/dist/server/body/types.js.map +1 -0
- package/dist/server/dump-api-type.js +59 -0
- package/dist/server/dump-api-type.js.map +1 -0
- package/dist/server/index.js +103 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/types.js +8 -0
- package/dist/server/types.js.map +1 -0
- package/dist/server/utils/pass-through-readable.js +13 -0
- package/dist/server/utils/pass-through-readable.js.map +1 -0
- package/dist/view/const.js +2 -0
- package/dist/view/const.js.map +1 -0
- package/dist/view/data-context/conetext.js +70 -0
- package/dist/view/data-context/conetext.js.map +1 -0
- package/dist/view/data-context/index.js +13 -0
- package/dist/view/data-context/index.js.map +1 -0
- package/dist/view/html/create-element.js +20 -0
- package/dist/view/html/create-element.js.map +1 -0
- package/dist/view/html/index.js +4 -0
- package/dist/view/html/index.js.map +1 -0
- package/dist/view/html/parse-html-to-v-dom.js +317 -0
- package/dist/view/html/parse-html-to-v-dom.js.map +1 -0
- package/dist/view/html/render-v-dom-to-string.js +46 -0
- package/dist/view/html/render-v-dom-to-string.js.map +1 -0
- package/dist/view/html/types.js +21 -0
- package/dist/view/html/types.js.map +1 -0
- package/dist/view/index.js +7 -0
- package/dist/view/index.js.map +1 -0
- package/dist/view/layout.js +24 -0
- package/dist/view/layout.js.map +1 -0
- package/dist/view/render/html-render.js +21 -0
- package/dist/view/render/html-render.js.map +1 -0
- package/dist/view/render/index.js +3 -0
- package/dist/view/render/index.js.map +1 -0
- package/dist/view/render/render.js +183 -0
- package/dist/view/render/render.js.map +1 -0
- package/dist/view/render/sf-v-dom-render.js +40 -0
- package/dist/view/render/sf-v-dom-render.js.map +1 -0
- package/dist/view/types.js +10 -0
- package/dist/view/types.js.map +1 -0
- package/dist/view/utils/find-route-dom.js +22 -0
- package/dist/view/utils/find-route-dom.js.map +1 -0
- package/dist/view/utils/get-render/client.js +77 -0
- package/dist/view/utils/get-render/client.js.map +1 -0
- package/dist/view/utils/get-render/common.js +87 -0
- package/dist/view/utils/get-render/common.js.map +1 -0
- package/dist/view/utils/get-render/index.js +4 -0
- package/dist/view/utils/get-render/index.js.map +1 -0
- package/dist/view/utils/get-render/server.js +60 -0
- package/dist/view/utils/get-render/server.js.map +1 -0
- package/dist/view/utils/index.js +3 -0
- package/dist/view/utils/index.js.map +1 -0
- package/dist/view/view.js +10 -0
- package/dist/view/view.js.map +1 -0
- package/package.json +41 -0
- package/resource/default-index.html +11 -0
- package/src/browser/index.ts +7 -0
- package/src/cli/dev-server.ts +66 -0
- package/src/cli/index.ts +122 -0
- package/src/cli/types.ts +7 -0
- package/src/cli-helper.ts +5 -0
- package/src/index.ts +24 -0
- package/src/interceptor/index.ts +26 -0
- package/src/interceptor/middleware-to-interceptor/index.ts +29 -0
- package/src/interceptor/middleware-to-interceptor/mock-res.ts +255 -0
- package/src/interceptor/middleware-to-interceptor/mook-req.ts +218 -0
- package/src/interceptor/types.ts +7 -0
- package/src/params/index.ts +12 -0
- package/src/request/index.ts +65 -0
- package/src/return-types/index.ts +1 -0
- package/src/return-types/response-with-meta.ts +17 -0
- package/src/route/index.ts +43 -0
- package/src/route/types.ts +11 -0
- package/src/server/body/helper.ts +110 -0
- package/src/server/body/json.ts +217 -0
- package/src/server/body/types.ts +6 -0
- package/src/server/dump-api-type.ts +64 -0
- package/src/server/index.ts +113 -0
- package/src/server/types.ts +11 -0
- package/src/server/utils/pass-through-readable.ts +10 -0
- package/src/view/const.ts +1 -0
- package/src/view/data-context/conetext.ts +59 -0
- package/src/view/data-context/index.ts +18 -0
- package/src/view/html/create-element.ts +20 -0
- package/src/view/html/index.ts +3 -0
- package/src/view/html/parse-html-to-v-dom.ts +348 -0
- package/src/view/html/render-v-dom-to-string.ts +79 -0
- package/src/view/html/types.ts +32 -0
- package/src/view/index.ts +6 -0
- package/src/view/layout.ts +20 -0
- package/src/view/render/html-render.ts +21 -0
- package/src/view/render/index.ts +2 -0
- package/src/view/render/render.ts +225 -0
- package/src/view/render/sf-v-dom-render.ts +34 -0
- package/src/view/types.ts +18 -0
- package/src/view/utils/find-route-dom.ts +19 -0
- package/src/view/utils/get-render/client.ts +76 -0
- package/src/view/utils/get-render/common.ts +113 -0
- package/src/view/utils/get-render/index.ts +3 -0
- package/src/view/utils/get-render/server.ts +71 -0
- package/src/view/utils/index.ts +2 -0
- package/src/view/view.ts +7 -0
- package/test/body.test.ts +29 -0
- package/tsconfig.build.json +9 -0
- package/tsconfig.json +8 -0
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
/*@ts-ignore*/
|
|
2
|
+
import { __ΩHTMLVElement } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* 基于txml根据需要进行调整
|
|
5
|
+
*/
|
|
6
|
+
import { VNodeType } from "./types.js";
|
|
7
|
+
const openBracket = "<";
|
|
8
|
+
/**
|
|
9
|
+
* <
|
|
10
|
+
*/
|
|
11
|
+
const openBracketCC = "<".charCodeAt(0);
|
|
12
|
+
const closeBracket = ">";
|
|
13
|
+
/**
|
|
14
|
+
* >
|
|
15
|
+
*/
|
|
16
|
+
const closeBracketCC = ">".charCodeAt(0);
|
|
17
|
+
const minusCC = "-".charCodeAt(0);
|
|
18
|
+
/**
|
|
19
|
+
* /
|
|
20
|
+
*/
|
|
21
|
+
const slashCC = "/".charCodeAt(0);
|
|
22
|
+
/**
|
|
23
|
+
* ?
|
|
24
|
+
*/
|
|
25
|
+
const questionMarkCC = "?".charCodeAt(0);
|
|
26
|
+
/**
|
|
27
|
+
* !
|
|
28
|
+
*/
|
|
29
|
+
const exclamationCC = "!".charCodeAt(0);
|
|
30
|
+
/**
|
|
31
|
+
* '
|
|
32
|
+
*/
|
|
33
|
+
const singleQuoteCC = "'".charCodeAt(0);
|
|
34
|
+
/**
|
|
35
|
+
* "
|
|
36
|
+
*/
|
|
37
|
+
const doubleQuoteCC = '"'.charCodeAt(0);
|
|
38
|
+
/**
|
|
39
|
+
* =
|
|
40
|
+
*/
|
|
41
|
+
const equalSignCC = "=".charCodeAt(0);
|
|
42
|
+
/**
|
|
43
|
+
* [
|
|
44
|
+
*/
|
|
45
|
+
const openCornerBracketCC = "[".charCodeAt(0);
|
|
46
|
+
/**
|
|
47
|
+
* ]
|
|
48
|
+
*/
|
|
49
|
+
const closeCornerBracketCC = "]".charCodeAt(0);
|
|
50
|
+
/**
|
|
51
|
+
* ?
|
|
52
|
+
*/
|
|
53
|
+
const questionCC = "?".charCodeAt(0);
|
|
54
|
+
const nameSpacer = "\r\n\t>/= ";
|
|
55
|
+
const noChildTag = ["script", "style"];
|
|
56
|
+
const SelfClosingTags = ["img", "br", "input", "meta", "link", "hr"];
|
|
57
|
+
export function parseHtmlToVDom(html, { keepWhitespace = false } = {}) {
|
|
58
|
+
var pos = 0;
|
|
59
|
+
function parseChildren(tagName) {
|
|
60
|
+
var children = [];
|
|
61
|
+
while (html[pos]) {
|
|
62
|
+
if (html.charCodeAt(pos) == openBracketCC) {
|
|
63
|
+
// 检查是标签
|
|
64
|
+
if (html.charCodeAt(pos + 1) === slashCC) {
|
|
65
|
+
// 检查是否是关闭标签
|
|
66
|
+
var closeStart = pos + 2;
|
|
67
|
+
pos = html.indexOf(closeBracket, pos);
|
|
68
|
+
var closeTag = html.substring(closeStart, pos);
|
|
69
|
+
if (closeTag.indexOf(tagName) == -1) {
|
|
70
|
+
// 如果不是关闭当前标签则报错
|
|
71
|
+
var parsedText = html.substring(0, pos).split("\n");
|
|
72
|
+
throw new Error("Unexpected close tag\nLine: " +
|
|
73
|
+
(parsedText.length - 1) +
|
|
74
|
+
"\nColumn: " +
|
|
75
|
+
(parsedText[parsedText.length - 1].length + 1) +
|
|
76
|
+
"\nChar: " +
|
|
77
|
+
html[pos]);
|
|
78
|
+
}
|
|
79
|
+
if (pos + 1)
|
|
80
|
+
pos += 1;
|
|
81
|
+
return children;
|
|
82
|
+
}
|
|
83
|
+
else if (html.charCodeAt(pos + 1) === exclamationCC) {
|
|
84
|
+
if (html.charCodeAt(pos + 2) == minusCC &&
|
|
85
|
+
html.charCodeAt(pos + 3) == minusCC) {
|
|
86
|
+
// 评论
|
|
87
|
+
const startCommentPos = pos;
|
|
88
|
+
do {
|
|
89
|
+
pos = html.indexOf(closeBracket, pos + 1);
|
|
90
|
+
} while (pos !== -1 &&
|
|
91
|
+
!(html.charCodeAt(pos) === closeBracketCC &&
|
|
92
|
+
html.charCodeAt(pos - 1) == minusCC &&
|
|
93
|
+
html.charCodeAt(pos - 2) == minusCC &&
|
|
94
|
+
pos != -1));
|
|
95
|
+
children.push({
|
|
96
|
+
type: VNodeType.Comment,
|
|
97
|
+
conetnt: html.substring(startCommentPos + 4, pos === -1 ? undefined : pos - 3),
|
|
98
|
+
});
|
|
99
|
+
if (pos === -1) {
|
|
100
|
+
pos = html.length;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else if (html.charCodeAt(pos + 2) === openCornerBracketCC &&
|
|
104
|
+
html.charCodeAt(pos + 8) === openCornerBracketCC &&
|
|
105
|
+
html.substring(pos + 3, pos + 8).toLowerCase() === "cdata") {
|
|
106
|
+
// cdata
|
|
107
|
+
var cdataEndIndex = html.indexOf("]]>", pos);
|
|
108
|
+
if (cdataEndIndex == -1) {
|
|
109
|
+
// children.push(html.substring(pos + 9));
|
|
110
|
+
pos = html.length;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
// children.push(html.substring(pos + 9, cdataEndIndex));
|
|
114
|
+
pos = cdataEndIndex + 3;
|
|
115
|
+
}
|
|
116
|
+
console.warn("cdata is not support now, it will be ignore.");
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
// doctype
|
|
121
|
+
const startDoctype = pos;
|
|
122
|
+
pos += 2;
|
|
123
|
+
var encapsuled = false;
|
|
124
|
+
while ((html.charCodeAt(pos) !== closeBracketCC ||
|
|
125
|
+
encapsuled === true) &&
|
|
126
|
+
html[pos]) {
|
|
127
|
+
if (html.charCodeAt(pos) === openCornerBracketCC) {
|
|
128
|
+
encapsuled = true;
|
|
129
|
+
}
|
|
130
|
+
else if (encapsuled === true &&
|
|
131
|
+
html.charCodeAt(pos) === closeCornerBracketCC) {
|
|
132
|
+
encapsuled = false;
|
|
133
|
+
}
|
|
134
|
+
pos++;
|
|
135
|
+
}
|
|
136
|
+
children.push({
|
|
137
|
+
type: VNodeType.Outher,
|
|
138
|
+
text: html.substring(startDoctype, pos + 1),
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
pos++;
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
var node = parseNode();
|
|
145
|
+
// XML能力,暂时不保留
|
|
146
|
+
// if (skipXmlDeclaration && isXmlDeclarationTag(node.tagName)) {
|
|
147
|
+
// continue;
|
|
148
|
+
// }
|
|
149
|
+
children.push(node);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
var text = parseText();
|
|
153
|
+
if (keepWhitespace) {
|
|
154
|
+
if (text.length > 0) {
|
|
155
|
+
children.push(text);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
var trimmed = text.trim();
|
|
160
|
+
if (trimmed.length > 0) {
|
|
161
|
+
children.push(trimmed);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
pos++;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return children;
|
|
168
|
+
}
|
|
169
|
+
parseChildren.__type = ['tagName', 'parseChildren', 'P&2!"/"'];
|
|
170
|
+
function parseName() {
|
|
171
|
+
var start = pos;
|
|
172
|
+
while (nameSpacer.indexOf(html[pos]) === -1 && html[pos]) {
|
|
173
|
+
pos++;
|
|
174
|
+
}
|
|
175
|
+
return html.slice(start, pos);
|
|
176
|
+
}
|
|
177
|
+
parseName.__type = ['parseName', 'P"/!'];
|
|
178
|
+
function parseString() {
|
|
179
|
+
var startChar = html[pos];
|
|
180
|
+
var startpos = pos + 1;
|
|
181
|
+
pos = html.indexOf(startChar, startpos);
|
|
182
|
+
var value = html.slice(startpos, pos);
|
|
183
|
+
return value;
|
|
184
|
+
}
|
|
185
|
+
parseString.__type = ['parseString', 'P"/!'];
|
|
186
|
+
function parseNode() {
|
|
187
|
+
pos++;
|
|
188
|
+
const tagName = parseName();
|
|
189
|
+
const isProcessingInstruction = tagName[0] === "?";
|
|
190
|
+
const instructionContentStart = pos;
|
|
191
|
+
const attributes = {};
|
|
192
|
+
let children = [];
|
|
193
|
+
// parsing attributes
|
|
194
|
+
while (html[pos] &&
|
|
195
|
+
html.charCodeAt(pos) !== closeBracketCC &&
|
|
196
|
+
!(isProcessingInstruction &&
|
|
197
|
+
html.charCodeAt(pos) === questionMarkCC &&
|
|
198
|
+
html.charCodeAt(pos + 1) === closeBracketCC)) {
|
|
199
|
+
var c = html.charCodeAt(pos);
|
|
200
|
+
if ((c > 64 && c < 91) || (c > 96 && c < 123)) {
|
|
201
|
+
var name = parseName();
|
|
202
|
+
var value = null;
|
|
203
|
+
// Skip whitespace after the attribute name.
|
|
204
|
+
while (html.charCodeAt(pos) === 32 ||
|
|
205
|
+
html.charCodeAt(pos) === 9 ||
|
|
206
|
+
html.charCodeAt(pos) === 10 ||
|
|
207
|
+
html.charCodeAt(pos) === 13) {
|
|
208
|
+
pos++;
|
|
209
|
+
}
|
|
210
|
+
if (html.charCodeAt(pos) === equalSignCC) {
|
|
211
|
+
pos++;
|
|
212
|
+
// Skip whitespace after '='.
|
|
213
|
+
while (html.charCodeAt(pos) === 32 ||
|
|
214
|
+
html.charCodeAt(pos) === 9 ||
|
|
215
|
+
html.charCodeAt(pos) === 10 ||
|
|
216
|
+
html.charCodeAt(pos) === 13) {
|
|
217
|
+
pos++;
|
|
218
|
+
}
|
|
219
|
+
var code = html.charCodeAt(pos);
|
|
220
|
+
if (code === singleQuoteCC || code === doubleQuoteCC) {
|
|
221
|
+
value = parseString();
|
|
222
|
+
if (pos === -1) {
|
|
223
|
+
return {
|
|
224
|
+
type: VNodeType.Element,
|
|
225
|
+
tagName,
|
|
226
|
+
attributes,
|
|
227
|
+
children,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
else if (code && code !== closeBracketCC) {
|
|
232
|
+
// HTML-style unquoted attribute value: read until whitespace, '/', or '>'.
|
|
233
|
+
var valueStart = pos;
|
|
234
|
+
while (html[pos] && nameSpacer.indexOf(html[pos]) === -1) {
|
|
235
|
+
pos++;
|
|
236
|
+
}
|
|
237
|
+
value = html.slice(valueStart, pos);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
attributes[name] = value;
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
pos++;
|
|
244
|
+
}
|
|
245
|
+
const isExplicitSelfClosed = !isProcessingInstruction && html.charCodeAt(pos - 1) === slashCC;
|
|
246
|
+
if (isProcessingInstruction) {
|
|
247
|
+
var instructionContent = html.slice(instructionContentStart, pos).trim();
|
|
248
|
+
if (instructionContent.length > 0 &&
|
|
249
|
+
Object.keys(attributes).length === 0) {
|
|
250
|
+
children = [instructionContent];
|
|
251
|
+
}
|
|
252
|
+
if (html.charCodeAt(pos) === questionMarkCC &&
|
|
253
|
+
html.charCodeAt(pos + 1) === closeBracketCC) {
|
|
254
|
+
pos += 2;
|
|
255
|
+
}
|
|
256
|
+
else if (html.charCodeAt(pos) === closeBracketCC) {
|
|
257
|
+
pos += 1;
|
|
258
|
+
}
|
|
259
|
+
return {
|
|
260
|
+
type: VNodeType.Element,
|
|
261
|
+
tagName,
|
|
262
|
+
attributes,
|
|
263
|
+
children,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
// optional parsing of children
|
|
267
|
+
if (html.charCodeAt(pos - 1) !== slashCC &&
|
|
268
|
+
html.charCodeAt(pos - 1) !== questionCC) {
|
|
269
|
+
if (noChildTag.includes(tagName)) {
|
|
270
|
+
// TODO: 这里其实要检查是否在字符串中
|
|
271
|
+
const endTag = `</${tagName}>`;
|
|
272
|
+
var start = pos + 1;
|
|
273
|
+
pos = html.indexOf(endTag, pos);
|
|
274
|
+
children = [html.slice(start, pos)];
|
|
275
|
+
pos += endTag.length;
|
|
276
|
+
}
|
|
277
|
+
else if (SelfClosingTags.indexOf(tagName) === -1) {
|
|
278
|
+
pos++;
|
|
279
|
+
children = parseChildren(tagName);
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
pos++;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
pos++;
|
|
287
|
+
}
|
|
288
|
+
const node = {
|
|
289
|
+
type: VNodeType.Element,
|
|
290
|
+
tagName,
|
|
291
|
+
attributes,
|
|
292
|
+
children,
|
|
293
|
+
};
|
|
294
|
+
if (isExplicitSelfClosed) {
|
|
295
|
+
Object.defineProperty(node, "selfClosed", {
|
|
296
|
+
value: true,
|
|
297
|
+
enumerable: false,
|
|
298
|
+
writable: true,
|
|
299
|
+
configurable: true,
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
return node;
|
|
303
|
+
}
|
|
304
|
+
parseNode.__type = [() => __ΩHTMLVElement, 'parseNode', 'Pn!/"'];
|
|
305
|
+
function parseText() {
|
|
306
|
+
var start = pos;
|
|
307
|
+
pos = html.indexOf(openBracket, pos) - 1;
|
|
308
|
+
if (pos === -2)
|
|
309
|
+
pos = html.length;
|
|
310
|
+
var text = html.slice(start, pos + 1);
|
|
311
|
+
return text;
|
|
312
|
+
}
|
|
313
|
+
parseText.__type = ['parseText', 'P"/!'];
|
|
314
|
+
return parseChildren("");
|
|
315
|
+
}
|
|
316
|
+
parseHtmlToVDom.__type = ['html', 'param1', 'parseHtmlToVDom', 'P&2!"2""/#'];
|
|
317
|
+
//# sourceMappingURL=parse-html-to-v-dom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-html-to-v-dom.js","sourceRoot":"","sources":["../../../src/view/html/parse-html-to-v-dom.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
function __assignType(fn, args) {
|
|
2
|
+
fn.__type = args;
|
|
3
|
+
return fn;
|
|
4
|
+
}
|
|
5
|
+
/*@ts-ignore*/
|
|
6
|
+
import { __ΩHTMLVNode, __ΩHTMLVElement } from "./types.js";
|
|
7
|
+
import { VNodeType } from "./types.js";
|
|
8
|
+
renderVDomToString.__type = [() => __ΩHTMLVNode, () => __ΩHTMLVNode, 'vDom', () => __ΩHTMLVNode, 'dom', () => __ΩHTMLVNode, '', 'customizeRender', () => __ΩHTMLVElement, () => __ΩHTMLVElement, 'raw', 'customizeChildrenRender', 'config', 'renderVDomToString', 'PPn!n"FJ2#PPn$2%P,-Pn&2%&/\'J/\'4(8Pn)2%P,-Pn*2%P&/\'2+&/\'J/\'4,8M2-8&/.'];
|
|
9
|
+
renderVDomToString.__type = [() => __ΩHTMLVNode, () => __ΩHTMLVNode, 'vDom', () => __ΩHTMLVNode, 'dom', () => __ΩHTMLVNode, '', 'customizeRender', () => __ΩHTMLVElement, () => __ΩHTMLVElement, 'raw', 'customizeChildrenRender', 'config', 'renderVDomToString', 'PPn!n"FJ2#PPn$2%P,-Pn&2%P&&`J/\'J/\'4(8Pn)2%P,-Pn*2%PP&&`J/\'2+P&&`J/\'J/\'4,8M2-P&&`J/.'];
|
|
10
|
+
export function renderVDomToString(vDom, config = {}) {
|
|
11
|
+
if (Array.isArray(vDom)) {
|
|
12
|
+
const allDom = vDom.map(__assignType((d) => renderVDomToString(d, config), ['d', '', 'P"2!"/"']));
|
|
13
|
+
const render = __assignType((res) => res.join(""), ['res', '', 'P&F2!"/"']);
|
|
14
|
+
if (allDom.some(__assignType((i) => i instanceof Promise, ['i', '', 'P"2!"/"'])))
|
|
15
|
+
return Promise.all(allDom).then(render);
|
|
16
|
+
return render(allDom);
|
|
17
|
+
}
|
|
18
|
+
const customizeRender = config.customizeRender?.(vDom);
|
|
19
|
+
if (customizeRender)
|
|
20
|
+
return customizeRender(vDom);
|
|
21
|
+
if (typeof vDom === "string")
|
|
22
|
+
return vDom;
|
|
23
|
+
switch (vDom.type) {
|
|
24
|
+
case VNodeType.Element:
|
|
25
|
+
const attt = Object.entries(vDom.attributes)
|
|
26
|
+
.map(__assignType(([k, v]) => ` ${k}=${JSON.stringify(v)}`, ['param0', '', 'P"2!"/"']))
|
|
27
|
+
.join("");
|
|
28
|
+
const customizeChildrenRender = config.customizeChildrenRender?.(vDom);
|
|
29
|
+
const children = customizeChildrenRender
|
|
30
|
+
? customizeChildrenRender(vDom, () => renderVDomToString(vDom.children, config))
|
|
31
|
+
: renderVDomToString(vDom.children, config);
|
|
32
|
+
const render = __assignType((children) => `<${vDom.tagName}${attt}>${children}</${vDom.tagName}>`, ['children', '', 'P&2!"/"']);
|
|
33
|
+
if (children instanceof Promise) {
|
|
34
|
+
return children.then(render);
|
|
35
|
+
}
|
|
36
|
+
return render(children);
|
|
37
|
+
case VNodeType.Comment:
|
|
38
|
+
return `<!--${vDom.conetnt}-->`;
|
|
39
|
+
case VNodeType.Text:
|
|
40
|
+
return vDom.conetnt;
|
|
41
|
+
case VNodeType.Outher:
|
|
42
|
+
return vDom.text;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
renderVDomToString.__type = [() => __ΩHTMLVNode, () => __ΩHTMLVNode, 'vDom', () => __ΩHTMLVNode, 'dom', () => __ΩHTMLVNode, '', 'customizeRender', () => __ΩHTMLVElement, () => __ΩHTMLVElement, 'raw', 'customizeChildrenRender', 'config', () => ({}), 'renderVDomToString', 'PPn!n"FJ2#PPn$2%P,-Pn&2%P&&`J/\'J/\'4(8Pn)2%P,-Pn*2%P"/\'2+P&&`J/\'J/\'4,8M2->.P&&`J//'];
|
|
46
|
+
//# sourceMappingURL=render-v-dom-to-string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-v-dom-to-string.js","sourceRoot":"","sources":["../../../src/view/html/render-v-dom-to-string.ts"],"names":[],"mappings":";;;;;8CAAmD,YAAY;AAA/D,OAAO,EAA2B,SAAS,EAAE,MAAM,YAAY,CAAC;;;AA8BhE,MAAM,UAAU,kBAAkB,CACjC,IAA6B,EAC7B,SAUI,EAAE;IAEN,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,cAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,wBAAC,CAAC;QAC9D,MAAM,MAAM,gBAAG,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,0BAAA,CAAC;QAC/C,IAAI,MAAM,CAAC,IAAI,cAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,OAAO,wBAAC;YAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,MAAkB,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,eAAe;QAAE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS,CAAC,OAAO;YACrB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;iBAC1C,GAAG,cAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,6BAAC;iBAC7C,IAAI,CAAC,EAAE,CAAC,CAAC;YACX,MAAM,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,uBAAuB;gBACvC,CAAC,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,CACnC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CACzC;gBACF,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,MAAM,gBAAG,CAAC,QAAgB,EAAE,EAAE,CACnC,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,OAAO,GAAG,8BAAA,CAAC;YACzD,IAAI,QAAQ,YAAY,OAAO,EAAE,CAAC;gBACjC,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzB,KAAK,SAAS,CAAC,OAAO;YACrB,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,CAAC;QACjC,KAAK,SAAS,CAAC,IAAI;YAClB,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,KAAK,SAAS,CAAC,MAAM;YACpB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const __ΩRecord = ['K', 'T', 'Record', 'l\'e#"Rb!b"Pde"!N#!w#y'];
|
|
2
|
+
const __ΩVNodeType = ['Element', () => 1, 'Comment', () => 2, 'Text', () => 3, 'Outher', () => 999, 'VNodeType', 'PC!>"C#>$C%>&C\'>(Bw)'];
|
|
3
|
+
export { __ΩVNodeType as __ΩVNodeType };
|
|
4
|
+
export var VNodeType;
|
|
5
|
+
(function (VNodeType) {
|
|
6
|
+
VNodeType[VNodeType["Element"] = 1] = "Element";
|
|
7
|
+
VNodeType[VNodeType["Comment"] = 2] = "Comment";
|
|
8
|
+
VNodeType[VNodeType["Text"] = 3] = "Text";
|
|
9
|
+
VNodeType[VNodeType["Outher"] = 999] = "Outher";
|
|
10
|
+
})(VNodeType || (VNodeType = {}));
|
|
11
|
+
const __ΩHTMLVElement = [1, 'type', 'tagName', () => __ΩRecord, 'attributes', () => __ΩHTMLVNode, 'children', 'HTMLVElement', 'Pa!4"&4#&"o$#4%n&F4\'Mw(y'];
|
|
12
|
+
export { __ΩHTMLVElement as __ΩHTMLVElement };
|
|
13
|
+
const __ΩHTMLVComment = [2, 'type', 'conetnt', 'HTMLVComment', 'Pa!4"&4#Mw$y'];
|
|
14
|
+
export { __ΩHTMLVComment as __ΩHTMLVComment };
|
|
15
|
+
const __ΩHTMLVText = [3, 'type', 'conetnt', 'HTMLVText', 'Pa!4"&4#Mw$y'];
|
|
16
|
+
export { __ΩHTMLVText as __ΩHTMLVText };
|
|
17
|
+
const __ΩOtherVElement = [999, 'type', 'text', 'OtherVElement', 'Pa!4"&4#Mw$y'];
|
|
18
|
+
export { __ΩOtherVElement as __ΩOtherVElement };
|
|
19
|
+
const __ΩHTMLVNode = [() => __ΩOtherVElement, () => __ΩHTMLVElement, () => __ΩHTMLVComment, () => __ΩHTMLVText, 'HTMLVNode', 'Pn!n"n#n$&Jw%y'];
|
|
20
|
+
export { __ΩHTMLVNode as __ΩHTMLVNode };
|
|
21
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/view/html/types.ts"],"names":[],"mappings":";;;AAAA,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACpB,+CAAW,CAAA;IACX,+CAAW,CAAA;IACX,yCAAQ,CAAA;IACR,+CAAY,CAAA;AACb,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/view/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
function __assignType(fn, args) {
|
|
2
|
+
fn.__type = args;
|
|
3
|
+
return fn;
|
|
4
|
+
}
|
|
5
|
+
import { getMetadata, initMetadata } from "@thestarweb/star-framework-utils";
|
|
6
|
+
/*@ts-ignore*/
|
|
7
|
+
import { __ΩIRender } from "./render/render.js";
|
|
8
|
+
/*@ts-ignore*/
|
|
9
|
+
import { __ΩViewInfo, __ΩViewMeta } from "./types.js";
|
|
10
|
+
const mateKey = "$sf:app-web:view:layout";
|
|
11
|
+
export function Layout(render, meta) {
|
|
12
|
+
return __assignType(function (target) {
|
|
13
|
+
(initMetadata.Ω = [[() => __ΩViewInfo, () => __ΩViewMeta, 'n"o!"F']], initMetadata(target, mateKey, undefined, [])).push({
|
|
14
|
+
render,
|
|
15
|
+
meta,
|
|
16
|
+
});
|
|
17
|
+
}, ['target', '', 'P"2!"/"']);
|
|
18
|
+
}
|
|
19
|
+
Layout.__type = [() => __ΩIRender, 'render', () => __ΩViewInfo, () => __ΩViewMeta, "meta", 'meta', 'Layout', 'Pn!2"n$o#".%f2&8!/\''];
|
|
20
|
+
export function getLayots(target) {
|
|
21
|
+
return (getMetadata.Ω = [[() => __ΩViewInfo, () => __ΩViewMeta, 'n"o!"F']], getMetadata(target, mateKey, undefined, []));
|
|
22
|
+
}
|
|
23
|
+
getLayots.__type = ['target', 'getLayots', 'P"2!"/"'];
|
|
24
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/view/layout.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;;2BACrD,oBAAoB;;yCACT,YAAY;AAE/C,MAAM,OAAO,GAAG,yBAAyB,CAAC;AAE1C,MAAM,UAAU,MAAM,CACrB,MAAe,EACf,IAAiC;IAEjC,oBAAO,UAAU,MAAM;QACtB,CAAA,YAAY,yDAAZ,YAAY,CAAuB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,EAAC,IAAI,CAAC;YACvE,MAAM;YACN,IAAI;SACJ,CAAC,CAAC;IACJ,CAAC,6BAAC;AACH,CAAC;;AACD,MAAM,UAAU,SAAS,CAAC,MAAW;IACpC,QAAO,WAAW,yDAAX,WAAW,CAAuB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,EAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { parseHtmlToVDom } from "../html/index.js";
|
|
2
|
+
import { SFVDomRender } from "./sf-v-dom-render.js";
|
|
3
|
+
export class HTMLRender extends SFVDomRender {
|
|
4
|
+
htmlFn;
|
|
5
|
+
constructor(htmlFn) {
|
|
6
|
+
super(async () => {
|
|
7
|
+
if (typeof this.htmlFn === "function") {
|
|
8
|
+
const res = await this.htmlFn();
|
|
9
|
+
this.html = typeof res === "string" ? res : res.default;
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
this.html = this.htmlFn;
|
|
13
|
+
}
|
|
14
|
+
return parseHtmlToVDom(this.html);
|
|
15
|
+
});
|
|
16
|
+
this.htmlFn = htmlFn;
|
|
17
|
+
}
|
|
18
|
+
html = "";
|
|
19
|
+
static __type = [() => SFVDomRender, 'default', '', 'htmlFn', 'constructor', 'html', function () { return ""; }, 'HTMLRender', 'P7!PP&PP&P&4"MJ`/#J2$;9"0%&3&;>\'5w('];
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=html-render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-render.js","sourceRoot":"","sources":["../../../src/view/render/html-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,OAAO,UAAW,SAAQ,YAAY;IAEzB;IADlB,YACkB,MAE+B;QAEhD,KAAK,CAAC,KAAK,IAAI,EAAE;YAChB,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,CAAC;YACD,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAZc,WAAM,GAAN,MAAM,CAEyB;IAWjD,CAAC;IACO,IAAI,GAAG,EAAE,CAAC;8GAAH,EAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/view/render/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"}
|