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.
@@ -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) return;
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) {
@@ -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
+ };
@@ -411,6 +411,7 @@ function parse(piece) {
411
411
  name = is(name);
412
412
  key = is(key);
413
413
  }
414
+ if (typeof size === 'string') size = parseFloat(size);
414
415
  var field = {
415
416
  name, type, key, value, comment, options,
416
417
  size, unit, ratio,
@@ -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 = imports;
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;
@@ -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) {
@@ -277,6 +277,11 @@ function snapSentenceHead(o) {
277
277
  }
278
278
  break;
279
279
  }
280
+ while (o) {
281
+ var p = o.prev;
282
+ if (!p || p.type !== LABEL) break;
283
+ o = p;
284
+ }
280
285
  return o;
281
286
  }
282
287
  var getStrapHead = function (o) {
@@ -6,12 +6,13 @@ btn {
6
6
  height: 100%;
7
7
  }
8
8
 
9
- btn{
9
+ btn {
10
10
  margin-right: 6px;
11
11
  }
12
+
12
13
  table {
13
14
 
14
- td {
15
+ tbody td {
15
16
 
16
17
  >[type=text] {
17
18
  white-space: pre-wrap;
@@ -230,7 +230,7 @@ function enrichField(f) {
230
230
  }
231
231
  }
232
232
  if (width > 600) width = 600;
233
- f.width = width + 60;
233
+ f.width = parseFloat(width) + 60;
234
234
  if (!f.key && f.options && isEmpty(f.fixed)) {
235
235
  f.fixed = true;
236
236
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efront",
3
- "version": "4.1.5",
3
+ "version": "4.1.8",
4
4
  "description": "简化前端开发,优化web性能",
5
5
  "main": "public/efront.js",
6
6
  "directories": {