efront 4.35.7 → 4.36.0

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.
@@ -40,6 +40,9 @@
40
40
  - zh-CN: 禁用
41
41
  en: Disable
42
42
 
43
+ - zh-CN: "不要在后端代码中使用相对路径\r\n 文件:$1"
44
+ en: "Do not use relative paths in backend code\nFile: $1"
45
+
43
46
  - zh-CN: 代码结构错误
44
47
  en: Code structure error
45
48
 
@@ -4,7 +4,7 @@ var ASN1 = function (tag) { // tag=tagClass|type|composed_flag
4
4
  for (var cx = 1, dx = arguments.length; cx < dx; cx++) {
5
5
  var bytes = arguments[cx];
6
6
  if (bytes.constructor !== Array) {
7
- bytes = Array.apply(null, bytes);
7
+ bytes = bytes.length !== 1 ? Array.apply(null, bytes) : [bytes[0]];
8
8
  }
9
9
  bytesarr.push(bytes);
10
10
  length += bytes.length;
@@ -104,7 +104,7 @@ function stringify(memery, preload, hasDulp = true) {
104
104
  noDulp = preload === false || hasDulp === false;
105
105
  if (isArrayLike(hasDulp)) preload = hasDulp;
106
106
  if (isArrayLike(preload)) {
107
- preload = Array.apply(null, preload);
107
+ preload = preload.length !== 1 ? Array.apply(null, preload) : [preload[0]];
108
108
  var i = preload.indexOf(memery) + 1;
109
109
  if (i > 0) return i + ',';
110
110
  preload.unshift(memery);
@@ -244,7 +244,7 @@ function scanblock(string, index, preload, obj) {
244
244
  return reg.lastIndex;
245
245
  }
246
246
  function parse(string, preload) {
247
- if (isArrayLike(preload)) preload = Array.apply(null, preload);
247
+ if (isArrayLike(preload)) preload = preload.length !== 1 ? Array.apply(null, preload) : [preload[0]];
248
248
  else preload = [];
249
249
  isjsam = false;
250
250
  preload.unshift(void 0);
@@ -237,7 +237,7 @@ class Matrix extends Array {
237
237
  }
238
238
  toDOMString() {
239
239
  if (this.size()[1] === 2) return `matrix(${this.getTransform()})`;
240
- return `matrix(${this})`;
240
+ return `matrix3d(${this})`;
241
241
  }
242
242
  }
243
243
 
@@ -2,10 +2,12 @@ var _dict = [];
2
2
  var _prefix = [];
3
3
  var _buff = [];
4
4
  var _bitDeep = 9;
5
+ var _bitInit = 9;
6
+ var _dictSize = 258;
5
7
  var _half = 0;
6
8
  var _addLength = 0;
7
9
  function _clear() {
8
- _bitDeep = 9;
10
+ _bitDeep = _bitInit;
9
11
  _dict = [];
10
12
  }
11
13
 
@@ -57,9 +59,9 @@ function _readFrom1(buff, cx) {
57
59
  function _addDict(d) {
58
60
  if (d.length > 1) {
59
61
  var dict = _dict;
60
- d.index = dict.length + 258;
62
+ d.index = dict.length + _dictSize;
61
63
  dict.push(d);
62
- if (1 << _bitDeep <= dict.length + 258 + _addLength) {
64
+ if (1 << _bitDeep <= dict.length + _dictSize + _addLength) {
63
65
  if (!_addLength && _bitDeep >= 12) return;
64
66
  _bitDeep++;
65
67
  }
@@ -69,12 +71,12 @@ function _writeTo(dist, b) {
69
71
  var prefix = _prefix;
70
72
  var dict = _dict;
71
73
  var end = false;
72
- if (b < 256) {
74
+ if (b < _dictSize - 2) {
73
75
  prefix.push(b);
74
76
  _addDict(prefix);
75
77
  prefix = [b];
76
- } else if (b >= 258) {
77
- var d = dict[b - 258];
78
+ } else if (b >= _dictSize) {
79
+ var d = dict[b - _dictSize];
78
80
  if (!d) {
79
81
  prefix.push(prefix[0]);
80
82
  _addDict(prefix);
@@ -84,10 +86,10 @@ function _writeTo(dist, b) {
84
86
  _addDict(prefix);
85
87
  prefix = d.slice(0);
86
88
  }
87
- } else if (b === 256) {
89
+ } else if (b === _dictSize - 2) {
88
90
  _clear();
89
91
  prefix = [];
90
- } else if (b === 257) {
92
+ } else if (b === _dictSize - 1) {
91
93
  end = true;
92
94
  prefix = [];
93
95
  }
@@ -100,16 +102,18 @@ function _pass(buff) {
100
102
  var dict = _dict;
101
103
  var half = _half;
102
104
  var end = false;
103
- if (dict.length) {
104
- var dist = [];
105
- if (half) {
106
- var [b, cx] = _readFrom(_buff.concat(buff[0], buff[1]), 0);
107
- if (_writeTo(dist, b)) end = true;
108
- }
109
- cx = cx - 1;
110
- } else {
111
- cx = 0;
112
- var dist = [];
105
+ var dist = [];
106
+ var cx = 0;
107
+ if (_buff.length) {
108
+ var bl = _buff.length;
109
+ do {
110
+ var [b, cx] = _readFrom(_buff.concat(buff[0], buff[1]), cx);
111
+ if (_writeTo(dist, b)) {
112
+ end = true;
113
+ break;
114
+ }
115
+ } while (cx < bl);
116
+ cx = cx - bl;
113
117
  }
114
118
  if (!end) while (cx + 1 < buff.length) {
115
119
  if (cx + 2 === buff.length) {
@@ -119,6 +123,8 @@ function _pass(buff) {
119
123
  if (_writeTo(dist, b)) break;
120
124
  }
121
125
  _buff = buff.slice(cx);
126
+ if (_buff.length === 1) _buff = [_buff[0]];
127
+ else _buff = Array.apply(null, _buff);
122
128
  return dist;
123
129
  }
124
130
  function _end() {
@@ -127,15 +133,22 @@ function _end() {
127
133
  _buff = [];
128
134
  _half = 0;
129
135
  _bitDeep = 9;
136
+ _bitInit = 9;
130
137
  return [];
131
138
  }
132
139
 
133
- function decodeLZW(buff, isBigEndStart) {
134
- if (isBigEndStart !== false) _readFrom = _readFrom1, _addLength = 1;
135
- else _readFrom = _readFrom2, _addLength = 0;
140
+ function decodeLZW(buff, isBigEndStart, lzw_size) {
141
+ open(isBigEndStart, lzw_size);
136
142
  var decoded = _pass(buff);
137
143
  _end();
138
144
  return decoded;
139
145
  }
140
-
146
+ var open = decodeLZW.open = function (isBigEndStart, lzw_size = 8) {
147
+ if (isBigEndStart !== false) _readFrom = _readFrom1, _addLength = 1;
148
+ else _readFrom = _readFrom2, _addLength = 0;
149
+ _dictSize = (1 << lzw_size) + 2;
150
+ _bitDeep = _bitInit = lzw_size + 1;
151
+ };
152
+ decodeLZW.pass = _pass;
153
+ decodeLZW.close = _end;
141
154
  module.exports = decodeLZW;
@@ -8,7 +8,7 @@ var mi = s => `<mi>${s}</mi>`;
8
8
  var mn = s => `<mn>${s}</mn>`;
9
9
  var mi2 = (s, a, n) => {
10
10
  s = n ? `<msup><mi>${s}</mi>${n}</msup>` : `<mi>${s}</mi>`;
11
- return s + `<ms>&thinsp;</ms>` + a;
11
+ return s + `<ms>&thinsp;</ms>` + a + `<ms>&thinsp;</ms>`;
12
12
  }
13
13
  var mrow = (a, quote, deep) => {
14
14
  if (deep === 2) var tag = 'mtd';
@@ -19,7 +19,9 @@ var mrow = (a, quote, deep) => {
19
19
  return a;
20
20
  }
21
21
  var series =/*级数*/(通项, neq, to) =>
22
- `<munderover><mo>∑</mo>${neq}${to}</munderover>${通项}`;
22
+ `<munderover><mo movablelimits=false>∑</mo>${neq}${to}</munderover>${通项}`;
23
+ var Series =/*级数*/(通项, neq, to) =>
24
+ `<math display="block"><munderover><mo>∑</mo>${neq}${to}</munderover>${通项}</math>`;
23
25
  var msub = (a, n) => `<msub>${a}${n}</msub>`;
24
26
  var qt = (t, a, args) => {
25
27
  var b = args.shift();
@@ -34,6 +36,9 @@ var qt = (t, a, args) => {
34
36
 
35
37
  var 三角函数 = {
36
38
  "sin"(a, n) {
39
+ if (!a && n instanceof Array) {
40
+ [a, n] = n;
41
+ }
37
42
  return mi2("sin", a, n);
38
43
  },
39
44
  "cos"(a, n) {
@@ -82,7 +87,7 @@ var toRoman = function (n) {
82
87
  d = ["", "M", "MM", "MMM"][d];
83
88
  return d + c + b + a;
84
89
  };
85
- var circles = "①②③④⑤⑥⑦⑧⑨⑩";
90
+ var circles = "①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚㉛㉜㉝㉞㉟㊱㊲㊳㊴㊵㊶㊷㊸㊹㊺㊻㊼㊽㊾㊿";
86
91
 
87
92
  var tabs = {
88
93
  roman(...args) {
@@ -94,12 +99,22 @@ var tabs = {
94
99
  circle(...args) {
95
100
  return args.map(n => circles.charAt(n - 1)).map(a => `<mn>${a}</mn>`).join('');
96
101
  }
102
+ };
103
+ tabs["@"] = tabs.circle;
104
+ tabs["$"] = tabs.roman;
105
+ var mtable = function (args, prefix, postfix) {
106
+ if (prefix) prefix = `<mo>${prefix}</mo>`;
107
+ if (postfix) postfix = `<mo>${postfix}</mo>`;
108
+ if (args.length === 1) return [prefix, args[0], postfix].join('');
109
+ return `${prefix}<mtable><mtr>${args.join("</mtr><mtr>")}</mtr></mtable>${postfix}`;
97
110
  }
98
-
99
111
  var funcmap = {
100
112
  "+"(...args) {
101
113
  return mo3("+", args);
102
114
  },
115
+ "+."(a, ...args) {
116
+ return a + args.join('<mo>+</mo>');
117
+ },
103
118
  "-"(...args) {
104
119
  return mo3("–", args);
105
120
  },
@@ -134,8 +149,17 @@ var funcmap = {
134
149
  Mul(...args) {
135
150
  return mo3("·", args);
136
151
  },
137
- abs(a) {
138
- return `<mo>|</mo>${a}<mo>|</mo>`;
152
+ conj(A) {
153
+ var m = document.createElementNS('http://www.w3.org/1998/Math/MathML', 'math');
154
+ m.innerHTML = A;
155
+ css(m, 'opacition:0;position:absolute:left-10px;top:-10px;pointer-events:none;z-index:-10');
156
+ document.documentElement.appendChild(m);
157
+ var sp = Array(2 + (m.clientWidth / 6 | 0)).join("\u23bc");
158
+ remove(m);
159
+ return `<mover>${A}<mo stretchy=true symmetric=true fence=true accent=true>${sp}</mo></mover>`
160
+ },
161
+ abs(...args) {
162
+ return mtable(args, "|", "|");
139
163
  },
140
164
  log(x, n) {
141
165
  return `<msub><mo>log</mo>${n}</msub>${x}`
@@ -159,9 +183,16 @@ var funcmap = {
159
183
  return `<munder><ms>limit</ms><mrow>${x}<mo>→</mo>${n}</mrow></munder>${a}`
160
184
  },
161
185
  sigma: series,
186
+ Sigma: Series,
187
+ Series,
162
188
  series,
163
- group(...args) {
164
- return `<mo>{</mo><mtable><mtr><mtd>${args.join("</mtd></mtr><mtr><mtd>")}</mtd></mtr></mtable>`
189
+ "{"(...args) {
190
+ return mtable(args, '{', '');
191
+ // return `<mo>{</mo><mtable columnalign="left"><mtr><mtd>${args.join("</mtd></mtr><mtr><mtd>")}</mtd></mtr></mtable>`
192
+ },
193
+ "["(...args) {
194
+ return mtable(args, '[', ']');
195
+ // return `<mo>[</mo><mtable><mtr>${args.join("</mtr><mtr>")}</mtr></mtable><mo>]</mo>`;
165
196
  },
166
197
  '!='(...args) {
167
198
  return mo3("≉", args);
@@ -172,19 +203,23 @@ var funcmap = {
172
203
  "~="(...args) {
173
204
  return mo3("≈", args);
174
205
  },
175
- "integral"(a, b = '', c = '') {
206
+ integral(a, b = '', c = '') {
176
207
  return `<msubsup><mo>∫</mo>${b}${c}</msubsup>${a}`;
177
208
  },
209
+ Integral(a, b = '', c = '') {
210
+ return `<math display="block"><msubsup><mo>∫</mo>${b}${c}</msubsup>${a}</math>`;
211
+ },
178
212
  "'"(...args) {
179
213
  var b = args.pop();
180
- if (!args.length) return `<msup>${b}<mo>'</mo></msup>`;// 转置
214
+ if (!args.length) return `<msup>${b}<mo>T</mo></msup>`;
181
215
  // 导数
182
- return args.map((a) => `${a}<mo>'</mo>`).join('') + `<mi>(</mi>${b}<mi>)</mi>`;
216
+ return args.map((a) => `${a}<mo>&apos;</mo>`).join('') + `<mi>(</mi>${b}<mi>)</mi>`;
183
217
  },
184
218
  "!"(...args) {
185
219
  return args.map(a => a + `<mo>!</mo>`).join('');
186
220
  }
187
221
  };
222
+ funcmap["^|"] = funcmap.abs;
188
223
  var unary = (u, a) => `<ms>${u}</ms>${a}`;
189
224
  var unarymap = {
190
225
  "+"(a) {
@@ -250,6 +285,7 @@ var puncmap = {
250
285
  // ">=": "≥",
251
286
  // "<=": '≤',
252
287
  };
288
+ puncmap["^*"] = puncmap["**"];
253
289
  var pmap = {};
254
290
 
255
291
  [
@@ -298,23 +334,30 @@ var br = function () {
298
334
  lineBroken = true;
299
335
  return '</mtd></mtr><mtr><mtd>';
300
336
  };
337
+ var Number_isFinite = Number.isFinite;
338
+ var isPostFinite = function (n) {
339
+ return /[^\d]$/.test(n[n.length - 1]);
340
+ }
341
+ var isFinite = function (n, post) {
342
+ if (Number_isFinite(n)) return true;
343
+ if (!n) return false;
344
+ if (n["/"]) return true;
345
+ if (n["+."]) return true;
346
+ if (n["."]) return !post || isPostFinite(n);
347
+ if (n[".."]) return !post || isPostFinite(n);
348
+ return false;
349
+ }
301
350
  function toString(obj, p, deep) {
302
351
  if (obj instanceof Array) {
303
- if (deep == 1 && obj.length === 2 && obj[1].tab) {
304
- return toString(obj[0], 0, deep) + "</mtd><mtd>" + obj.slice(1, obj.length).map(a => toString(a, 0, 0)).join("</mtd><mtd>");
305
- }
306
352
  deep++;
307
353
  var args = obj.map(a => toString(a, deep > 1 ? 0 : p, deep));
308
354
  deep--;
309
355
  if (args instanceof Array) {
310
- if (deep > 2) {
356
+ if (deep >= 2) {
311
357
  if (args.length > 1) args = `<mrow><mo>(</mo>${args.join('<mo>,</mo>')}<mo>)</mo></mrow>`;
312
358
  }
313
- else if (deep === 2) {
314
- args = `<mtd>${args.join('</mtd><mtd>')}</mtd>`;
315
- }
316
359
  else if (deep === 1) {
317
- args = `<mrow><mo>[</mo><mtable><mtr>${args.join("</mtr><mtr>")}</mtr></mtable><mo>]</mo></mrow>`;
360
+ args = args.join('');
318
361
  }
319
362
  }
320
363
  return args;
@@ -324,8 +367,12 @@ function toString(obj, p, deep) {
324
367
  for (var k in obj) break;
325
368
  if (!k) return '';
326
369
  var origin = obj[k];
327
- if (k === '..') {
328
- var [prefix, rep, dots, e] = origin;
370
+ if (k === '.' || k === '..') {
371
+ if (k === '.') {
372
+ var [prefix, e, s] = origin;
373
+ if (/[^\d]$/.test(e)) s = e, e = '';
374
+ }
375
+ else var [prefix, rep, dots, e, s] = origin;
329
376
  prefix = String(prefix).replace(/^\-/, '–');
330
377
  if (typeof rep === 'number') rep = String(rep);
331
378
  if (rep && !/\./.test(prefix)) prefix += '.';
@@ -342,8 +389,25 @@ function toString(obj, p, deep) {
342
389
  else dots = '';
343
390
  if (e) e = `<mo>×</mo><msup><mn>10</mn><mn>${String(e).replace(/^\-/, '–')}</mn></msup>`;
344
391
  else e = '';
392
+ if (s) s = `<mi>${s}</mi>`;
393
+ else s = '';
345
394
  prefix = mn(prefix);
346
- return mrow([prefix, rep, dots, e].join(''), e ? p >= pmap["*"] : false, deep);
395
+ return mrow([prefix, rep, dots, e, s].join(''), e ? p >= pmap["*"] : false, deep);
396
+ }
397
+ if (k === '**') {
398
+ if (origin instanceof Array) {
399
+ var [left, right] = origin;
400
+ if (left instanceof Object && !(left instanceof Array)) {
401
+ for (var k1 in left) break;
402
+ if (!(left[k1] instanceof Array)) {
403
+ var obj = mi2(k1, toString(left[k1], pmap["*"], 0), toString(right));
404
+ return mrow(obj, p >= pmap["**"], deep);
405
+ }
406
+ }
407
+ }
408
+ }
409
+ if (k === '@' || k === '$') {
410
+ return mrow(tabs[k](origin), -1, deep);
347
411
  }
348
412
  if (k === 'tab') {
349
413
  k = origin.shift();
@@ -354,13 +418,24 @@ function toString(obj, p, deep) {
354
418
  return mrow(tabs[k](...origin), -1, deep);
355
419
  }
356
420
  if (k in 三角函数) {
357
- var args = origin.map(a => toString(a, pmap["*"], 0));
358
- obj = 三角函数[k](...args);
359
- return mrow(三角函数[k](...args), p >= pmap["**"], deep);
421
+ if (origin instanceof Array) {
422
+ var args = origin.map(a => toString(a, pmap["*"], 0));
423
+ obj = 三角函数[k](...args);
424
+ }
425
+ else {
426
+ obj = 三角函数[k](toString(origin, pmap["*"], 0));
427
+ }
428
+ return mrow(obj, p >= pmap["**"], deep);
429
+ }
430
+ if (k === '+.') {
431
+ var args = toString(origin, pmap[k], -1);
360
432
  }
361
- var args = toString(origin, pmap[k], 0);
433
+ else var args = toString(origin, k === '/' ? 0 : pmap[k], 0);
362
434
  var addqt = pmap[k] < p && p < pmap["**"];
363
435
  if (args instanceof Array) {
436
+ if (k === "'" && args.length === 1 && !origin[0]["["]) {
437
+ return mrow(args[0] + `<mo>&apos;</mo>`, p > pmap["**"], 0);
438
+ }
364
439
  var f = funcmap[k];
365
440
  if (!f) {
366
441
  addqt = -1;
@@ -372,14 +447,16 @@ function toString(obj, p, deep) {
372
447
  return mrow(`<mi>${希腊[k] || k}</mi>${mrow(args instanceof Array ? args.join('<mo>,</mo>') : args, true)}`, false, deep);
373
448
  }
374
449
  if (args instanceof Array) {
375
-
376
450
  if (k === '*') {
377
- var allnum = true;
378
- var bx = 1;
451
+ var bx = 0;
379
452
  var simple = true;
380
- for (var cx = 0, dx = args.length; cx < dx; cx++) {
381
- if (typeof origin[cx] !== 'number') {
382
- allnum = false;
453
+ var pisnum = isFinite(origin[0], true);
454
+ var allnum = pisnum;
455
+ for (var cx = 1, dx = args.length; cx < dx; cx++) {
456
+ var o = origin[cx];
457
+ var isnum = isFinite(o);
458
+ if (!isnum) allnum = false;
459
+ if (!pisnum && isnum) {
383
460
  if (cx > bx) {
384
461
  while (bx < cx) {
385
462
  args[bx] = args[bx] + "<mo>·</mo>";
@@ -388,6 +465,7 @@ function toString(obj, p, deep) {
388
465
  }
389
466
  bx = cx;
390
467
  }
468
+ pisnum = isnum && isPostFinite(o);
391
469
  }
392
470
  if (allnum) {
393
471
  return mrow(funcmap.mul(...args), false, deep);