efront 4.35.4 → 4.35.6

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.
Files changed (84) hide show
  1. package/apps/_index.html +41 -41
  2. package/apps/blank/index.html +20 -20
  3. package/apps/noice/index.html +42 -42
  4. package/apps/pay/paypal.jsp +0 -0
  5. package/apps/pay/wxpay.jsp +32 -0
  6. package/apps/pivot/dht/rent.html +14 -0
  7. package/apps/pivot/dht/rent.js +148 -0
  8. package/apps/pivot/dht/rent.less +46 -0
  9. package/apps/pivot/home/desktop.xht +0 -0
  10. package/apps/pivot/menu.yml +6 -1
  11. package/apps/pivot/shop/goods/list.xht +183 -0
  12. package/apps/pivot/shop/home.xht +20 -0
  13. package/apps/pivot/shop/mind/list.xht +1 -0
  14. package/apps/pivot/shop/order/create.xht +49 -0
  15. package/apps/pivot/shop/order/list.xht +1 -0
  16. package/apps/pivot/shop/paypal.jsp +23 -0
  17. package/apps/pivot/soft/list.html +0 -0
  18. package/apps/pivot/soft/list.js +9 -0
  19. package/apps/pivot/soft/list.less +0 -0
  20. package/apps/pivot//344/270/273/351/241/265.html +42 -42
  21. package/coms/7z_temp/Java.js +93 -0
  22. package/coms/7z_temp/LzmaBench.java +392 -0
  23. package/coms/7z_temp/read-from-java-code.js +28 -0
  24. package/coms/7z_temp//350/257/264/346/230/216.md +1 -0
  25. package/coms/basic/JSAM.js +259 -259
  26. package/coms/basic/JSAM_test.js +3 -5
  27. package/coms/basic/check.js +42 -42
  28. package/coms/basic/color.js +696 -696
  29. package/coms/basic/crc.js +39 -39
  30. package/coms/basic/getIndexFromOrderedArray.js +39 -39
  31. package/coms/basic/isObject.js +3 -3
  32. package/coms/basic/keys.js +4 -4
  33. package/coms/basic/lazy.js +78 -78
  34. package/coms/basic/math.js +7 -1
  35. package/coms/basic/math.md +11 -0
  36. package/coms/basic/refilm.js +96 -96
  37. package/coms/basic/saveToOrderedArray.js +11 -11
  38. package/coms/basic/strings.js +7 -5
  39. package/coms/basic_/&pget.js +1 -0
  40. package/coms/basic_/&pset.js +1 -0
  41. package/coms/basic_/Proxy.js +6 -0
  42. package/coms/basic_/Reflect.js +55 -0
  43. package/coms/compile/Html.js +15 -7
  44. package/coms/compile/Program.js +3 -1
  45. package/coms/compile/autoeval.js +26 -7
  46. package/coms/compile/autoeval_test.js +9 -0
  47. package/coms/compile/bracket.js +51 -0
  48. package/coms/compile/bracket_test.js +9 -0
  49. package/coms/compile/createvm.js +35 -0
  50. package/coms/compile/createvm_test.js +7 -0
  51. package/coms/compile/scanner.js +653 -653
  52. package/coms/compile/scanner2.js +24 -1
  53. package/coms/compile//347/264/240/351/246/250.js +4 -4
  54. package/coms/docs/getMimeData_test.js +19 -19
  55. package/coms/docs/md5.js +173 -173
  56. package/coms/frame/top.less +190 -190
  57. package/coms/pivot/DB.js +9 -0
  58. package/coms/pivot/paypal-var.js +1 -0
  59. package/coms/pivot//345/225/206/345/223/201.js +1 -0
  60. package/coms/zimoli/AudioContext_test.html +5 -5
  61. package/coms/zimoli/AudioContext_test.js +92 -92
  62. package/coms/zimoli/AudioContext_test.less +114 -114
  63. package/coms/zimoli/alert_test.js +11 -11
  64. package/coms/zimoli/dispatch.js +50 -50
  65. package/coms/zimoli/extendTouchEvent.js +8 -8
  66. package/coms/zimoli/fullscreen.js +52 -52
  67. package/coms/zimoli/gallery.less +13 -13
  68. package/coms/zimoli/gallery_test.html +2 -2
  69. package/coms/zimoli/gallery_test.js +14 -14
  70. package/coms/zimoli/gallery_test.less +17 -17
  71. package/coms/zimoli/getChanged.js +7 -7
  72. package/coms/zimoli/getChanges.js +13 -13
  73. package/coms/zimoli/lattice.js +109 -109
  74. package/coms/zimoli/lattice_test.less +23 -23
  75. package/coms/zimoli/picture.less +71 -71
  76. package/coms/zimoli/refilm_test.html +41 -41
  77. package/coms/zimoli/refilm_test.less +102 -102
  78. package/coms/zimoli/xml.js +131 -131
  79. package/data/keystore/cross-cert.pem +21 -21
  80. package/data/keystore/cross-key.pem +27 -27
  81. package/package.json +1 -1
  82. package/public/efront.js +1 -1
  83. package/public//346/226/207/344/273/266/347/263/273/347/273/237//344/270/273/351/241/265.jsp +2 -2
  84. /package/apps/pivot/{tick → ticket}/list.js +0 -0
@@ -0,0 +1,55 @@
1
+ class Descriptor {// 不要导出此类,保持私有
2
+ constructor(desc) {
3
+ extend(this, desc);
4
+ }
5
+ }
6
+ return this.Reflect || class Reflect {
7
+ static apply(method, context, argsList) {
8
+ return method.apply(context, argsList);
9
+ }
10
+ static construct(method, argsList) {
11
+ return method.apply(Object.create(method.prototype), argsList);
12
+ }
13
+ static get(o, k, t = o) {
14
+ if (o instanceof Proxy) {
15
+ if (o.handler) {
16
+ var g = o.handler.get;
17
+ if (g) return g.call(o.target, o, k, t);
18
+ }
19
+ return o[k];
20
+ }
21
+ var g = o[k];
22
+ if (g instanceof Descriptor) {
23
+ var get = g.get;
24
+ if (get) g = get.call(t, k);
25
+ else if ("value" in g) g = g.value;
26
+ }
27
+ return g;
28
+ }
29
+ static set(o, k, v, t = o) {
30
+ if (o instanceof Proxy) {
31
+ if (o.handler) {
32
+ var s = o.handler.set;
33
+ if (s) return s.call(o.target, o, k, v, t);
34
+ }
35
+ return t[k] = v;
36
+ }
37
+ var s = o[k];
38
+ if (s instanceof Descriptor) {
39
+ var set = s.set;
40
+ if (set) s = set.call(t, k, v);
41
+ else if ("value" in s) s = s.value;
42
+ }
43
+ return s;
44
+ }
45
+ static has(o, k) {
46
+ return k in o;
47
+ }
48
+ static defineProperty(o, k, d) {
49
+ o[k] = new Descriptor(d);
50
+ return k in o;
51
+ }
52
+ static deleteProperty(o, k) {
53
+ return delete o[k];
54
+ }
55
+ }
@@ -133,7 +133,7 @@ class Html extends Javascript {
133
133
  }
134
134
  var property = new Program;
135
135
  property.stamps = "=".split('');
136
- var p = new Javascript;
136
+ var progExp = new Javascript;
137
137
  var replaceISO8859 = function (data) {
138
138
  return String(data).replace(/<\!--([\s\S]*)--\>$/g, '$1').replace(/&\w+;/g, a => iso8859[a] || a).replace(/&#(\d+);/g, (_, a) => String.fromCodePoint(a))
139
139
  };
@@ -142,8 +142,8 @@ var parseExpress = function (data, mayberepeat) {
142
142
  data = `for(var ${data});`;
143
143
  }
144
144
  else data = "=" + replaceISO8859(data);
145
- p.lastIndex = 0;
146
- return p.exec(data);
145
+ progExp.lastIndex = 0;
146
+ return progExp.exec(data);
147
147
  };
148
148
 
149
149
  var toCamelCase = function (a) {
@@ -151,8 +151,12 @@ var toCamelCase = function (a) {
151
151
  }
152
152
 
153
153
  var isDynamic = a => /^(on|@|\-|_|\.|#|\:|\+|\*|\?|&|\$|\S+\-)|(@|\-|_|\.|#|\:|\+|\*|\?|&|\$)$/i.test(a);
154
-
154
+ var decode = strings.decode;
155
+ var decode2 = function (s) {
156
+ return decode(s, true);
157
+ }
155
158
  Html.prototype.createScoped = function (code) {
159
+ progExp.mindpath = this.mindpath;
156
160
  var used = Object.create(null);
157
161
  var vars = Object.create(null);
158
162
  var rootvars = vars;
@@ -197,7 +201,7 @@ Html.prototype.createScoped = function (code) {
197
201
  var nn = c.next.next;
198
202
  if (!nn || nn.length > 0) return;
199
203
  if (nn.type === EXPRESS || nn.type === QUOTED) {
200
- rootvars[strings.decode(createString([nn]))] = true;
204
+ rootvars[decode(createString([nn]))] = true;
201
205
  }
202
206
  }
203
207
  }
@@ -219,12 +223,14 @@ Html.prototype.createScoped = function (code) {
219
223
  break;
220
224
  }
221
225
  if (noTag || !c.text) break;
222
- var t = strings.decode(c.text);
226
+ var t = decode2(c.text);
223
227
  if (color.isColor(t)) break;
224
228
  var p = c.prev;
225
229
  var pp = p && p.prev;
226
230
  if (pp && isDynamic(pp.text)) {
227
231
  var mayberepeat = p && pp && p.type === STAMP && p.text === "=" && /[\:\-\_@\&\*\?\#\+\.\$](src|repeat|for|each|foreach)$/i.test(pp.text)
232
+ progExp.col = c.col;
233
+ progExp.row = c.row;
228
234
  t = parseExpress(t, mayberepeat);
229
235
  var s = createScoped(t);
230
236
  var envs = s.envs;
@@ -242,6 +248,8 @@ Html.prototype.createScoped = function (code) {
242
248
  if (inScript || noTag) break;
243
249
  if (c.queue.type === QUOTED) break;
244
250
  var t = c.text;
251
+ progExp.col = c.col;
252
+ progExp.row = c.row;
245
253
  t = parseExpress(t);
246
254
  var s = createScoped(t);
247
255
  var envs = s.envs;
@@ -301,7 +309,7 @@ Html.prototype.createScoped = function (code) {
301
309
  scoped.envs = envs;
302
310
  scoped.vars = vars;
303
311
  scoped.used = used;
304
-
312
+ delete progExp.mindpath;
305
313
  return scoped;
306
314
  };
307
315
  Html.prototype.createString = common.createString;
@@ -179,6 +179,8 @@ class Program {
179
179
  lbtype = false;
180
180
  keepspace = false;
181
181
  lastIndex = 0
182
+ col = 1;
183
+ row = 1;
182
184
  detectLabel(o) {
183
185
  var queue = o.queue;
184
186
  var last = queue.last;
@@ -413,7 +415,7 @@ class Program {
413
415
  }
414
416
  queue.push(scope);
415
417
  };
416
- var row = 1, colstart = -1;
418
+ var row = this.row, colstart = -this.col;
417
419
  var cache_stamp = null;
418
420
  var powermap = this.powermap;
419
421
  var push_stamp = function () {
@@ -21,7 +21,7 @@ var punc_2 = {
21
21
  return +n + s;
22
22
  },
23
23
  "/"(n, s) {
24
- if (!n) return;
24
+ if (!n || s) return;
25
25
  return 1 / n + s;
26
26
  }
27
27
  };
@@ -51,10 +51,7 @@ var punc_3 = {
51
51
  return (n1 >> n2) + s;
52
52
  },
53
53
  "<<"(n1, n2, s) {
54
- if (s && n1.length + +n2 > 15) {
55
- return BigInt(n1) << BigInt(n2) + s;
56
- }
57
- return (n2 << n1) + s;
54
+ return (n1 << n2) + s;
58
55
  },
59
56
  ">"(n1, n2, s) {
60
57
  return String(+n1 > +n2);
@@ -84,7 +81,7 @@ var punc_3 = {
84
81
  return (n1 & n2) + s;
85
82
  },
86
83
  "||"(n1, n2, s) {
87
- return (+n2 || +n1) + s;
84
+ return (+n1 || +n2) + s;
88
85
  },
89
86
  "&&"(n1, n2, s) {
90
87
  return (+n1 && + n2) + s;
@@ -99,6 +96,7 @@ function calc_(arg1, punc, arg2) {
99
96
  var [, n, s] = match;
100
97
  var f = punc_s && punc in punc_s ? punc_s[punc] : punc_2[punc];
101
98
  if (!f) return;
99
+ if (s === 'n' && n.length > 15) n = BigInt(n);
102
100
  return f(n, s, arg2);
103
101
  }
104
102
  var match1 = nreg.exec(arg1);
@@ -138,7 +136,12 @@ function calc_(arg1, punc, arg2) {
138
136
  s = 'i'; s2 = '';
139
137
  break a;
140
138
  }
141
- if (s === s2) return f(n1, n2, s);
139
+ if (s === s2) {
140
+ if (s === 'n') {
141
+ if (n1.length + n2.length > 15) n1 = BigInt(n1), n2 = BigInt(n2);
142
+ }
143
+ return f(n1, n2, s);
144
+ }
142
145
  return;
143
146
  }
144
147
  return f(n1, n2, s || s2);
@@ -147,6 +150,10 @@ function calc_(arg1, punc, arg2) {
147
150
  // 除法不考虑虚数
148
151
  if (s === s2) {
149
152
  if (/^[lmnuf]+$/i.test(s)) {
153
+ if (/^[lnu]+$/.test(s)) {
154
+ n1 = BigInt(n1);
155
+ n2 = BigInt(n2);
156
+ }
150
157
  return f(n1, n2, s);
151
158
  }
152
159
  return f(n1, n2, "");
@@ -156,6 +163,18 @@ function calc_(arg1, punc, arg2) {
156
163
  return f(n1, n2, s);
157
164
  }
158
165
  if (s !== s2) return;
166
+ if (s === 'n') {
167
+ switch (punc) {
168
+ case "**":
169
+ if (n1.length * n2 > 15) n1 = BigInt(n1), n2 = BigInt(n2);
170
+ break;
171
+ case "<<":
172
+ if (n1.length + +n2 > 15) n1 = BigInt(n1), n2 = BigInt(n2);
173
+ break;
174
+ default:
175
+ if (n1.length > 15 || n2.length > 15) n1 = BigInt(n1), n2 = BigInt(n2);
176
+ }
177
+ }
159
178
  return f(n1, n2, s);
160
179
  }
161
180
 
@@ -86,3 +86,12 @@ tc("Math.log(f) / Math.LN2 / 10 | 0", "Math.log(f) * 0.14426950408889633 | 0");
86
86
  tc("Math.log(f) / Math.LN2 / 10 * 10 | 0", "Math.log(f) * 1.4426950408889634 | 0");
87
87
  tc("Math.log(f) / Math.LN2 / 10 ** 2 | 0", "Math.log(f) * 0.014426950408889633 | 0");
88
88
  // tf(path.join(__dirname, "../zimoli/spacechar_test.js"))
89
+ t("1<<0", '1');
90
+ t("1<<3", '8');
91
+ t("(1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)",'1335')
92
+ t("(1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)","7973")
93
+ t("(1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)","21522")
94
+ t('1n<<32n','4294967296n');
95
+ t('4294967296n*4294967296n','18446744073709551616n');
96
+ t('4294967296n*2147483648n','9223372036854775808n');
97
+ t('0x20000000n*0x1000000n','9007199254740992n');
@@ -0,0 +1,51 @@
1
+ var { SCOPED, STAMP, STRAP, COMMENT, SPACE, EXPRESS, rehead, snapExpressFoot } = require("./common");
2
+ var powermap = require("./powermap");
3
+ var wrapb = function (t) {
4
+ var t = cache.pop();
5
+ if (t.length > 2) {
6
+ t.entry = '(';
7
+ t.leave = ')';
8
+ t.type = SCOPED;
9
+ var e = t.pop();
10
+ rehead(t), t = [t, e];
11
+ }
12
+ return t;
13
+ }
14
+ function b(body) {
15
+ var result = [];
16
+ var cache = [];
17
+ var pp = 0;
18
+ var q = [];
19
+ var bx = body.indexOf(body.first);
20
+ if (bx < 0) return;
21
+ for (var cx = bx, dx = body.length; cx < dx; cx++) {
22
+ var o = body[cx];
23
+ if (o.type & (COMMENT | SPACE)) continue;
24
+ if (o.type & (STRAP | STAMP) && o.text in powermap) {
25
+ var p = powermap[o.text];
26
+ if (o.unary) p = powermap["!"];
27
+ var b = body.slice(bx, cx + 1);
28
+ b = wrapb(b);
29
+ bx = cx + 1;
30
+ b.deep = cache.length;
31
+ if (p > cache[cache.length - 1] || p >= powermap["!"]) {
32
+ cache.push(b, p);
33
+ continue;
34
+ }
35
+ q.push(...b);
36
+ var pb = b.pop();
37
+ while (cache.length && cache[cache.length - 1] >= p) {
38
+ var p0 = cache.pop();
39
+ var t = cache.pop();
40
+ }
41
+ }
42
+ }
43
+ return result;
44
+ }
45
+ function c(exp) {
46
+
47
+ }
48
+ function bracket(exp) {
49
+ exp = b(exp);
50
+ return exp;
51
+ }
@@ -0,0 +1,9 @@
1
+ var test = function (a, e) {
2
+ var c = scanner2(a);
3
+ var b = bracket(c);
4
+ var d = common.createString(b);
5
+ assert(d, e);
6
+ };
7
+ test('a', 'a')
8
+ test('a+b', 'a + b')
9
+ test('a+b*c', 'a + (b * c)')
@@ -0,0 +1,35 @@
1
+ import { COMMENT, SPACE, EXPRESS, createExpressList, equal_reg } from "./common";
2
+ function createvm(code) {
3
+ var argNames = [];
4
+ var envs = code.envs;
5
+ var vars = code.vars;
6
+ var queue = unstruct(code, function (i) {
7
+ var name = i > 0 ? "@" + i : "@";
8
+ if (i >= argNames.length) argNames[i] = name;
9
+ return name;
10
+ }, true);
11
+ var splitName = function (name) {
12
+ var m = /[\.\[]/.exec(name);
13
+ if (m) {
14
+ var res = [name.slice(0, m.index)];
15
+ name = name.slice(m.index + m.length);
16
+ }
17
+ return [name];
18
+ }
19
+ var data = queue.map(q => {
20
+ for (var o of q) {
21
+ if (/^@/.test(o.text)) continue;
22
+ if (o.type === EXPRESS && !/^\./.test(o.text)) {
23
+ var n = o.next;
24
+ if (n && n.equal_reg.test(n.text)) {
25
+ var expname = splitName(o.text);
26
+ o.text = `get@(${expname.pop()})`;
27
+ o.rest = expname;
28
+ }
29
+ }
30
+ }
31
+ return `function (get@,){${createString(q)}}`;
32
+ })
33
+ var vm = scanner2(`var ${argNames.concat(Object.keys(vars)).join(',')};\r\n#async()`);
34
+
35
+ }
@@ -0,0 +1,7 @@
1
+ var test = function (data) {
2
+ var code = scanner2(data);
3
+ code = createvm(code);
4
+ console.log(code.toString());
5
+ }
6
+ test('a');
7
+ test('a=b');