efront 4.0.28 → 4.0.30

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.
@@ -163,7 +163,7 @@ var readFile = function (names, then) {
163
163
 
164
164
  };
165
165
  var createFunction = function (name, body, args, isAsync, isYield) {
166
- return window.eval(`[${isAsync ? 'async ' : ''}function${isYield ? "*" : ""}/*${name}*/(${args || ''}){\r\n${body}\r\n}][0]`, name);
166
+ return window.eval(`[${isAsync ? 'async ' : ''}function${isYield ? "*" : ""}/*${name}*/(${args || ''}){${body}\r\n}][0]`, name);
167
167
  };
168
168
 
169
169
  var FILE_NAME_REG = /^https?\:|\.(html?|css|asp|jsp|php)$/i;
@@ -613,7 +613,7 @@ var removeExport = function (c, i, code) {
613
613
  var nn = n.next;
614
614
  var d = nn.text;
615
615
  if (used[d]) used[d].forEach(a => {
616
- if (!a.kind) a.text = `exports.${d}`;
616
+ if (!a.kind) a.text = `exports.` + a.text;
617
617
  });
618
618
  delete used[d];
619
619
  delete envs[d];
@@ -535,7 +535,7 @@ class Program {
535
535
  if (!this.classstrap_reg.test(m)) queue.inExpress = this.transive_reg.test(m);
536
536
  else {
537
537
  var last = queue.last;
538
- if (!last) queue.inExpress = false;
538
+ if (!last);
539
539
  else if (last.type === STAMP) {
540
540
  queue.inExpress = !/^(;|\+\+|\-\-)$/.test(last.text);
541
541
  }
@@ -344,11 +344,12 @@ var snapExpressHead = function (o) {
344
344
  var snapExpressFoot = function (o) {
345
345
  while (o && o.next) {
346
346
  var n = null;
347
+ var isExpress = o.isExpress;
347
348
  if (o.type & STRAP) {
348
349
  n = o;
349
350
  if (n.text === 'new') n = n.next;
350
351
  if (n.text === 'function') {
351
- while (n && n.type !== SCOPED || n.entry !== '{') n = n.next;
352
+ while (n && (n.type !== SCOPED || n.entry !== '{')) n = n.next;
352
353
  }
353
354
  else if (n.text === 'class') {
354
355
  var n = o;
@@ -357,12 +358,13 @@ var snapExpressFoot = function (o) {
357
358
  }
358
359
  else break;
359
360
  o = n;
361
+ n = o && o.next;
360
362
  }
361
363
  else if (o.type & (EXPRESS | QUOTED | VALUE | SCOPED)) {
362
364
  n = o.next;
363
365
  }
364
366
  if (!n) break;
365
- if (n.type === SCOPED && (o.entry !== '{' || o.isObject)
367
+ if (n.type === SCOPED && (o.entry !== '{' || isExpress)
366
368
  || /\.$/.test(o.text) && !o.isdigit
367
369
  || n.type === EXPRESS && /^\??\.[^\.]/.test(n.text)
368
370
  || n.type === QUOTED && (n.length || /^\`/.test(n.text))
@@ -339,7 +339,9 @@ var killdec = function (queue, i, getobjname, _var = 'var', killobj, islet) {
339
339
  splice(queue, i, 0, { type: EXPRESS, text: tmpname }, { type: STAMP, text: "=" });
340
340
  i += 2;
341
341
  var i2 = skipAssignment(queue, i);
342
+ var n = queue[i2];
342
343
  killobj(queue.slice(i, i = i2));
344
+ if (hasnext) splice(queue, i, 1);
343
345
  index++;
344
346
  }
345
347
  for (var o0 of objs) {
@@ -9,6 +9,7 @@ assert = function (a, b) {
9
9
  var innerJs = new Javascript;
10
10
  innerJs.defaultType = common.STRAP;
11
11
  // 声明及解构
12
+ assert(downLevel(`var [data, args, strs] = breakcode(data, occurs), strs = []`), 'var _ = breakcode(data, occurs), data = _[0], args = _[1], strs = _[2], strs = []\r\nvar _');
12
13
  assert(downLevel(`var [name, type, options] = piece, key, repeat;`), 'var name = piece[0], type = piece[1], options = piece[2], key, repeat;');
13
14
  assert(downLevel(`var [] = piece, key,[]= repeat;`), 'var key;');
14
15
  assert(downLevel(`var [] = piece, key,[]`), 'var key');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efront",
3
- "version": "4.0.28",
3
+ "version": "4.0.30",
4
4
  "description": "简化前端开发,优化web性能",
5
5
  "main": "public/efront.js",
6
6
  "directories": {