efront 4.0.39 → 4.0.40

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.
@@ -75,7 +75,7 @@ class Table extends Array {
75
75
  var [p, m] = mark.power(name, searchtext);
76
76
  power += p;
77
77
  if (p >= searchtext.length) this.coverCount++;
78
- if (isString(f.key)) o[f.key] = m;
78
+ if (!isEmpty(f.key)) o[f.key] = m;
79
79
  else o.name = m, o.toString = returnName, o.valueOf = returnName;
80
80
  }
81
81
  o.power = power;
@@ -8,12 +8,12 @@ var couple = function (source, marker, pinyin) {
8
8
  if (im) {
9
9
  if (pinyin.py(s).indexOf(m.toLowerCase()) < 0) return false;
10
10
  var py = pinyin.pinyin(s).split('|');
11
- var i = 2;
11
+ var i = 1;
12
12
  var t = c2 + ct;
13
13
  for (var p of py) {
14
- while (i + t <= marker.length && p.indexOf(marker.slice(t, i + t).toLowerCase()) === 0) i++;
14
+ if (p.length + t <= marker.length && p.indexOf(marker.slice(t, p.length + t).toLowerCase()) === 0) i = p.length;
15
15
  }
16
- c2 += i - 2;
16
+ c2 += i - 1;
17
17
  dt = setDt();
18
18
  return true;
19
19
  }
@@ -8,6 +8,7 @@ var seek = function (object, seeker) {
8
8
  if (seeker instanceof Function) {
9
9
  return seeker(object);
10
10
  }
11
+ if (typeof seeker === 'number') return object[seeker];
11
12
  if (typeof seeker === "string") {
12
13
  if (/^(['"`])[\s\S]*$/i.test(seeker)) return seeker.replace(/^(['"`])([\s\S*])\1?$/, "$2");
13
14
  if (seeker === '' || seeker === ".") return object;
@@ -441,7 +441,7 @@ var createScoped = function (parsed, wash) {
441
441
  break;
442
442
  }
443
443
  case VALUE:
444
- if (o.isdigit) break;
444
+ if (o.isdigit || /^(null|false|true)$/.test(o.text)) break;
445
445
  case EXPRESS:
446
446
  // if (o.text === 'readFileAsync') console.log(o)
447
447
  if (o.prev && o.prev.type === EXPRESS) {
@@ -771,7 +771,7 @@ var createScoped = function (parsed, wash) {
771
771
  var envs = Object.create(null);
772
772
  for (var u in used) {
773
773
  if (!(u in vars)) {
774
- if (!/^(true|false|null|this|arguments)$/.test(u)) envs[u] = true;
774
+ if (!/^(this|arguments)$/.test(u)) envs[u] = true;
775
775
  }
776
776
  }
777
777
  if (vars.yield) scoped.yield = false;
@@ -31,6 +31,7 @@ var helps = [
31
31
  ["z", i18n`格式化代码`, "format MODULE_PATH TARGET_PATH TABSIZE"],
32
32
  ["z", i18n`导出与指定的对象路径关联的代码`, "pick MODULE_PATH TARGET_PATH KEYPATH"],
33
33
  ["z", i18n`清理代码,删除已声明未使用的代码`, "wash MODULE_PATH TARGET_PATH"],
34
+ ["z", i18n`从网络下载文件,类似unix中的wget`, "get WEB_PATH ALIAS", "wget WEB_PATH ALIAS"],
34
35
  ["k", i18n`设置环境变量`, "setenv --NAME1=VALUE1 --NAME2=VALUE2", "setenv NAME VALUE", "set --NAME1=VALUE1", "set --NAME="],
35
36
  ["k", i18n`列出已配置的环境变量`, "listenv", "env"],
36
37
  ["-", i18n`创建国际化文案表`, "translate APPNAME"],
@@ -0,0 +1,24 @@
1
+ function decodeHttpResponse(response) {
2
+ var zlib = require("zlib");
3
+ var headers = response.headers;
4
+ var decoder = null;
5
+ switch (headers["content-encoding"]) {
6
+ case "gzip":
7
+ decoder = zlib.createGunzip();
8
+ break;
9
+ case "br":
10
+ decoder = zlib.createBrotliDecompress();
11
+ break;
12
+ case "deflate":
13
+ decoder = zlib.createInflate();
14
+ break;
15
+ case null:
16
+ case "":
17
+ case undefined:
18
+ break;
19
+ default:
20
+ console.warn("内容格式不支持:", response.headers["content-encoding"]);
21
+ }
22
+ if (decoder) response = response.pipe(decoder);
23
+ return response;
24
+ }
@@ -1,7 +1,7 @@
1
1
  function marker(e) {
2
2
  if (!e) e = document.createElement("marker");
3
3
  on("changes")(e, function () {
4
- e.innerHTML = mark(this.source, this.search);
4
+ e.innerHTML = isEmpty(this.source) ? "" : mark(this.source, this.search);
5
5
  });
6
6
  return e;
7
7
  }
@@ -44,7 +44,7 @@
44
44
  if (!v) i = 0;
45
45
  else v = v * Math.pow(2, 23 - i) - (1 << 23), i = i + 127;
46
46
  v = s << 31 | i << 23 | v & 0x7fffff;
47
- return [v >> 24 & 0xff, v >> 16 & 0xff, v >> 8 & 0xff, v >> 0xff].map(hex).join('');
47
+ return [v >> 24 & 0xff, v >> 16 & 0xff, v >> 8 & 0xff, v & 0xff].map(hex).join('');
48
48
  },
49
49
  set 浮点数机器码(v) {
50
50
  v = parseInt(v, 16);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efront",
3
- "version": "4.0.39",
3
+ "version": "4.0.40",
4
4
  "description": "简化前端开发,优化web性能",
5
5
  "main": "public/efront.js",
6
6
  "directories": {