efront 4.1.5 → 4.1.8
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/coms/basic/#loader.js +7 -2
- package/coms/basic/refilm.js +74 -1
- package/coms/basic/refilm_decode.js +1 -0
- package/coms/compile/Javascript.js +1 -1
- package/coms/compile/autoenum.js +11 -1
- package/coms/compile/common.js +5 -0
- package/coms/frame/list.less +3 -2
- package/coms/zimoli/table.js +1 -1
- package/package.json +1 -1
- package/public/efront.js +1 -1
package/coms/basic/#loader.js
CHANGED
|
@@ -279,6 +279,7 @@ var loadModule = function (url, then, prebuilds = {}) {
|
|
|
279
279
|
var data = responseTree[url];
|
|
280
280
|
if (typeof data === "function") {
|
|
281
281
|
var mod = data;
|
|
282
|
+
mod.noenv = true;
|
|
282
283
|
flushTree(loadedModules, key, mod);
|
|
283
284
|
return;
|
|
284
285
|
}
|
|
@@ -494,7 +495,6 @@ var createModule = function (exec, originNames, compiledNames, prebuilds = {}) {
|
|
|
494
495
|
if (created) return result;
|
|
495
496
|
return promise;
|
|
496
497
|
});
|
|
497
|
-
|
|
498
498
|
var _this = isModuleInit ? exports : window;
|
|
499
499
|
var argsPromises = argsList.filter(isThenable);
|
|
500
500
|
argsList = argsList.concat(exec.strs);
|
|
@@ -609,7 +609,12 @@ var init = function (url, then, prebuilds) {
|
|
|
609
609
|
if (error) return crack(error);
|
|
610
610
|
|
|
611
611
|
var module = loadedModules[key];
|
|
612
|
-
if (!module)
|
|
612
|
+
if (!module || module.noenv) {
|
|
613
|
+
// <!--
|
|
614
|
+
undefinedModules[key] = true;
|
|
615
|
+
// -->
|
|
616
|
+
return then();
|
|
617
|
+
}
|
|
613
618
|
var args = module.args || [];
|
|
614
619
|
|
|
615
620
|
if (!args || !args.length) {
|
package/coms/basic/refilm.js
CHANGED
|
@@ -1,4 +1,77 @@
|
|
|
1
1
|
function refilm(str) {
|
|
2
2
|
if (str.raw) str = str.raw;
|
|
3
3
|
return refilm_decode.apply(null, [str].concat([].slice.call(arguments, 1)));
|
|
4
|
-
}
|
|
4
|
+
}
|
|
5
|
+
var patchOffset = refilm.patchOffset = function (fields, offset = fields.offset || 0) {
|
|
6
|
+
fields.offset = offset;
|
|
7
|
+
fields.forEach(f => {
|
|
8
|
+
f.offset = offset;
|
|
9
|
+
fields[f.key] = f;
|
|
10
|
+
offset += f.size * f.ratio;
|
|
11
|
+
});
|
|
12
|
+
fields.size = offset - fields.offset;
|
|
13
|
+
return offset;
|
|
14
|
+
};
|
|
15
|
+
refilm.createFromFields = function (fields, values) {
|
|
16
|
+
if (!fields.size) patchOffset(fields);
|
|
17
|
+
var size = fields.size;
|
|
18
|
+
var data = new Uint8Array(size);
|
|
19
|
+
if (!values) values = Object.create(null);
|
|
20
|
+
for (var f of fields) {
|
|
21
|
+
if (f.key in values || !f.value) continue;
|
|
22
|
+
values[f.key] = f.value;
|
|
23
|
+
}
|
|
24
|
+
writeFields(data, fields, values, 0);
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
var writeField = refilm.writeField = function (data, field, value, offset = field.offset, byteLimit = field.size * field.ratio) {
|
|
28
|
+
if (isArrayLike(value));
|
|
29
|
+
else if (typeof value === "string") {
|
|
30
|
+
value = encodeUTF8(value);
|
|
31
|
+
}
|
|
32
|
+
else if (typeof value === "number") {
|
|
33
|
+
var v = [];
|
|
34
|
+
var limit = byteLimit;
|
|
35
|
+
while (limit-- > 0) {
|
|
36
|
+
v.push(value & 0xff);
|
|
37
|
+
value = value >>> 8;
|
|
38
|
+
}
|
|
39
|
+
if (value) throw new Error("数据过大");
|
|
40
|
+
value = v;
|
|
41
|
+
}
|
|
42
|
+
else value = [value | 0];
|
|
43
|
+
if (value.length > byteLimit) {
|
|
44
|
+
throw new Error("数据超出大小限制!");
|
|
45
|
+
}
|
|
46
|
+
var offset = field.offset;
|
|
47
|
+
while (value.length) data[offset++] = value.shift();
|
|
48
|
+
};
|
|
49
|
+
var writeFields = refilm.writeFields = function (data, fields, values, offset = fields.offset) {
|
|
50
|
+
for (var f of fields) {
|
|
51
|
+
var size = f.size * f.ratio;
|
|
52
|
+
if (f.key in values) writeField(data, f, values[f.key], offset, size);
|
|
53
|
+
offset += size;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
var toint = function (buf) {
|
|
57
|
+
var n = 0;
|
|
58
|
+
for (var cx = 0, dx = buf.length; cx < dx; cx++) {
|
|
59
|
+
n += buf[cx] << (cx << 3);
|
|
60
|
+
}
|
|
61
|
+
return n;
|
|
62
|
+
};
|
|
63
|
+
var readField = refilm.readField = function (data, field, offset = field.offset, size = field.size * field.ratio) {
|
|
64
|
+
return data.slice(offset, offset + size);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
refilm.readFields = function (data, fields, offset = fields.offset || 0) {
|
|
68
|
+
var res = Object.create(null);
|
|
69
|
+
for (var f of fields) {
|
|
70
|
+
var size = f.size * f.ratio;
|
|
71
|
+
var v = readField(data, f, offset, size);
|
|
72
|
+
if (size <= 4) v = toint(v);
|
|
73
|
+
res[f.key] = v;
|
|
74
|
+
offset += size;
|
|
75
|
+
}
|
|
76
|
+
return res;
|
|
77
|
+
};
|
|
@@ -853,7 +853,7 @@ Javascript.prototype.fix = function (code) {
|
|
|
853
853
|
});
|
|
854
854
|
delete code.used.import;
|
|
855
855
|
delete code.envs.import;
|
|
856
|
-
if (imports.length) code.used.import_meta =
|
|
856
|
+
if (imports.length) code.used["import_meta"] = imports, code.envs["import_meta"] = true;
|
|
857
857
|
}
|
|
858
858
|
if (code.exportDecs) {
|
|
859
859
|
var exportDecs = code.exportDecs;
|
package/coms/compile/autoenum.js
CHANGED
|
@@ -91,9 +91,13 @@ var maplist = function (u) {
|
|
|
91
91
|
}
|
|
92
92
|
if (enumtype & (REFSTRC | REFMOVE)) {
|
|
93
93
|
if (o.property) o[ignore] = true;
|
|
94
|
-
else m.wcount++;
|
|
94
|
+
else if (o.equal) m.enumref = o.enumref, m.wcount++;
|
|
95
|
+
else if (enumtype & REFMOVE) m.wcount++;
|
|
95
96
|
}
|
|
96
97
|
}
|
|
98
|
+
else if (enumtype & REFSTRC) {
|
|
99
|
+
if (o.enumref && o.enumref !== m.enumref) m.wcount++, m.enumref = o.enumref;
|
|
100
|
+
}
|
|
97
101
|
if (o.called) m.ccount++;
|
|
98
102
|
}
|
|
99
103
|
return map;
|
|
@@ -220,6 +224,12 @@ function enumref(refitem, scoped) {
|
|
|
220
224
|
}
|
|
221
225
|
}
|
|
222
226
|
}
|
|
227
|
+
else if (o.enumref) {
|
|
228
|
+
if (enumtype & REFSTRC) {
|
|
229
|
+
em = o.enumref;
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
223
233
|
else {
|
|
224
234
|
if (enumtype & REFTYPE) {
|
|
225
235
|
if (tp) {
|
package/coms/compile/common.js
CHANGED
package/coms/frame/list.less
CHANGED
package/coms/zimoli/table.js
CHANGED