efront 4.27.0 → 4.28.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.
- package/coms/basic/$split.js +16 -6
- package/coms/basic/removeFromList.js +2 -1
- package/coms/basic/strings.js +1 -1
- package/coms/compile/Javascript.js +30 -13
- package/coms/compile/auto-const.js +192 -0
- package/coms/compile/common.js +35 -13
- package/coms/compile/getMaped.js +36 -0
- package/coms/compile/patchname.js +2 -1
- package/coms/zimoli/alert.js +6 -0
- package/package.json +1 -1
- package/public/efront.js +1 -1
package/coms/basic/$split.js
CHANGED
|
@@ -1,13 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
var split = function (reg, p) {
|
|
2
2
|
var s = [];
|
|
3
|
+
reg.lastIndex = 0;
|
|
4
|
+
var lastIndex = 0;
|
|
3
5
|
while (p) {
|
|
4
|
-
|
|
5
|
-
reg.lastIndex = 1;
|
|
6
|
+
reg.lastIndex++;
|
|
6
7
|
var m = reg.exec(p);
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
if (!m) {
|
|
9
|
+
s.push(p.slice(lastIndex, p.length));
|
|
10
|
+
break;
|
|
11
|
+
}
|
|
12
|
+
s.push(p.slice(lastIndex, m.index));
|
|
13
|
+
lastIndex = m.index + m.length;
|
|
10
14
|
}
|
|
11
15
|
if (m) s.push('');
|
|
12
16
|
return s;
|
|
17
|
+
|
|
18
|
+
}
|
|
19
|
+
module.exports = function (p) {
|
|
20
|
+
var s = split(/[\\\/]/g, p);
|
|
21
|
+
if (s.length > 1) return s;
|
|
22
|
+
return split(/\$/g, p);
|
|
13
23
|
}
|
package/coms/basic/strings.js
CHANGED
|
@@ -3,6 +3,8 @@ var strings = require("../basic/strings");
|
|
|
3
3
|
var Program = require("./Program");
|
|
4
4
|
var backEach = require("../basic/backEach");
|
|
5
5
|
var parseNumber = require('../basic/parseNumber');
|
|
6
|
+
var removeFromList = require("../basic/removeFromList");
|
|
7
|
+
var patchname = require("./patchname");
|
|
6
8
|
const {
|
|
7
9
|
/* 1 */COMMENT,
|
|
8
10
|
/* 2 */SPACE,
|
|
@@ -713,6 +715,7 @@ var removeExport = function (c, i, code) {
|
|
|
713
715
|
}
|
|
714
716
|
var o = n.first;
|
|
715
717
|
var allexports = [];
|
|
718
|
+
var exports = used.exports;
|
|
716
719
|
while (o) {
|
|
717
720
|
var name = o, prop = o.text;
|
|
718
721
|
if (from) {
|
|
@@ -734,6 +737,15 @@ var removeExport = function (c, i, code) {
|
|
|
734
737
|
o = n && n.next;
|
|
735
738
|
var exp = scan(`\r\nexports.${prop}=`);
|
|
736
739
|
exp.push(name);
|
|
740
|
+
var exported = exp.first;
|
|
741
|
+
var u0 = used[name.tack][0];
|
|
742
|
+
var kind = u0.kind;
|
|
743
|
+
exports.push(exported);
|
|
744
|
+
if (kind === "const") {
|
|
745
|
+
exported.tack = 'exports';
|
|
746
|
+
exported.origin = name.tack;
|
|
747
|
+
exported.kind = kind;;
|
|
748
|
+
}
|
|
737
749
|
name.isExpress = true;
|
|
738
750
|
allexports.push(exp);
|
|
739
751
|
}
|
|
@@ -743,10 +755,10 @@ var removeExport = function (c, i, code) {
|
|
|
743
755
|
i = ni;
|
|
744
756
|
}
|
|
745
757
|
else {
|
|
746
|
-
|
|
758
|
+
splice(code, i, ni - i);
|
|
747
759
|
}
|
|
748
760
|
for (var exp of allexports) {
|
|
749
|
-
|
|
761
|
+
splice(code, i, 0, ...exp);
|
|
750
762
|
}
|
|
751
763
|
if (!allexports.length) code.exportEmpty = true;
|
|
752
764
|
return;
|
|
@@ -809,14 +821,17 @@ var removeExport = function (c, i, code) {
|
|
|
809
821
|
}
|
|
810
822
|
}
|
|
811
823
|
var oi = code.indexOf(nn, i);
|
|
812
|
-
|
|
813
|
-
|
|
824
|
+
var exportDecs = code.exportDecs;
|
|
825
|
+
if (!exportDecs) {
|
|
826
|
+
exportDecs = code.exportDecs = [];
|
|
814
827
|
}
|
|
828
|
+
var kind = n.text;
|
|
815
829
|
dec.forEach(function rm(d) {
|
|
816
830
|
if (d instanceof Array) return d.forEach(rm);
|
|
817
831
|
for (var a of used[d]) {
|
|
818
832
|
if (a.kind && a.kind !== 'export') continue;
|
|
819
|
-
|
|
833
|
+
a.kind = kind;
|
|
834
|
+
if (!a.export) exportDecs.push(a), a.export = true;
|
|
820
835
|
}
|
|
821
836
|
});
|
|
822
837
|
dec.forEach(d => {
|
|
@@ -906,22 +921,24 @@ Javascript.prototype.fix = function (code) {
|
|
|
906
921
|
}
|
|
907
922
|
if (code.exportDecs) {
|
|
908
923
|
var exportDecs = code.exportDecs;
|
|
909
|
-
delete code.exportDecs;
|
|
910
|
-
var exports = code.used.exports;
|
|
911
924
|
var used = code.used;
|
|
925
|
+
var exports = used.exports;
|
|
912
926
|
var envs = code.envs;
|
|
913
927
|
if (!exports) {
|
|
914
|
-
exports =
|
|
928
|
+
exports = used.exports = [];
|
|
915
929
|
}
|
|
916
930
|
exportDecs.forEach(e => {
|
|
917
931
|
e.text = 'exports.' + e.text;
|
|
918
932
|
exports.push(e);
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
933
|
+
var tack = e.tack;
|
|
934
|
+
var u = used[tack];
|
|
935
|
+
if (u[0].kind === 'const') e.kind = 'const';
|
|
936
|
+
removeFromList(u, e);
|
|
937
|
+
if (!used[tack].length) {
|
|
938
|
+
delete used[tack];
|
|
939
|
+
delete envs[tack];
|
|
923
940
|
}
|
|
924
|
-
e.origin =
|
|
941
|
+
e.origin = tack;
|
|
925
942
|
e.tack = 'exports';
|
|
926
943
|
if (e.needEqual) {
|
|
927
944
|
var n = e.next;
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
var isConst = a => a.kind === 'const';
|
|
2
|
+
var autoiota = require("./autoiota");
|
|
3
|
+
var autoenum = require("./autoenum");
|
|
4
|
+
var scanner2 = require("./scanner2");
|
|
5
|
+
var strings = require("../basic/strings");
|
|
6
|
+
var split = require("../basic/$split");
|
|
7
|
+
var path = require("path");
|
|
8
|
+
var fs = require('fs');
|
|
9
|
+
var { STAMP, QUOTED, SCOPED, EXPRESS, COMMENT, pickArgument, remove, splice, insertBefore, VALUE, pickAssignment, createString } = require("./common");
|
|
10
|
+
var getExported = function (code) {
|
|
11
|
+
var used = code.used;
|
|
12
|
+
var exports = used.exports;
|
|
13
|
+
if (!exports) {
|
|
14
|
+
if (used.module || code.return) return;
|
|
15
|
+
var consts = [];
|
|
16
|
+
for (var k in used) {
|
|
17
|
+
var u = used[k];
|
|
18
|
+
var o = u[0];
|
|
19
|
+
if (isConst(o)) {
|
|
20
|
+
o.name = o.text;
|
|
21
|
+
consts.push(o);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return consts;
|
|
25
|
+
}
|
|
26
|
+
var consts = [];
|
|
27
|
+
for (var a of exports) {
|
|
28
|
+
if (isConst(a)) {
|
|
29
|
+
a.name = a.origin;
|
|
30
|
+
consts.push(a);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return consts;
|
|
34
|
+
};
|
|
35
|
+
var getAssignedConst = function (a, used) {
|
|
36
|
+
var exp = pickAssignment(a);
|
|
37
|
+
var n = a.next;
|
|
38
|
+
if (!n || n.type !== STAMP || n.text !== "=") return;
|
|
39
|
+
var nn = n.next;
|
|
40
|
+
if (!nn) return;
|
|
41
|
+
if (nn !== exp[exp.length - 1]) return;
|
|
42
|
+
if (nn.type === EXPRESS) {
|
|
43
|
+
var a = nn.text;
|
|
44
|
+
if (/[\.\[]/.test(a)) return;
|
|
45
|
+
var u0 = used[a][0];
|
|
46
|
+
if (u0.kind === 'const') {
|
|
47
|
+
return getAssignedConst(u0, used);
|
|
48
|
+
}
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (nn.type !== QUOTED && !nn.isdigit) return;
|
|
52
|
+
return nn;
|
|
53
|
+
|
|
54
|
+
}
|
|
55
|
+
var findConsts = function (text) {
|
|
56
|
+
var code = scanner2(text);
|
|
57
|
+
code.fix();
|
|
58
|
+
var consts = getExported(code);
|
|
59
|
+
if (!consts) return;
|
|
60
|
+
autoiota(code);
|
|
61
|
+
var used = code.used;
|
|
62
|
+
var vmap = Object.create(null);
|
|
63
|
+
for (var a of consts) {
|
|
64
|
+
var name = a.name;
|
|
65
|
+
if (/[\.\[]/.test(name)) continue;
|
|
66
|
+
var c = getAssignedConst(a, used);
|
|
67
|
+
if (c) vmap[name] = c;
|
|
68
|
+
}
|
|
69
|
+
return vmap;
|
|
70
|
+
};
|
|
71
|
+
var setEnvDefinedConsts = function (used, k, v) {
|
|
72
|
+
for (var a of used[k]) {
|
|
73
|
+
var t = a.text;
|
|
74
|
+
var dots = /^\.+/.exec(t);
|
|
75
|
+
if (dots) t = t.slice(dots[0].length);
|
|
76
|
+
t = t.slice(a.tack.length);
|
|
77
|
+
var comment = { type: COMMENT, text: `/*${k}*/` };
|
|
78
|
+
// if (t) {
|
|
79
|
+
// insertBefore(a, comment, { type: EXPRESS, text: t });
|
|
80
|
+
// }
|
|
81
|
+
// else {
|
|
82
|
+
// insertBefore(a, comment);
|
|
83
|
+
// }
|
|
84
|
+
// a.type = v.type;
|
|
85
|
+
// a.text = v.text;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
var setMapDefinedConsts = function (u, m) {
|
|
89
|
+
|
|
90
|
+
};
|
|
91
|
+
var getMaped = require("./getMaped");
|
|
92
|
+
var maped = Object.create(null);
|
|
93
|
+
var loadConsts = function (fullpath) {
|
|
94
|
+
if (fullpath in maped) return maped[fullpath];
|
|
95
|
+
var data = fs.readFileSync(fullpath);
|
|
96
|
+
var consts = findConsts(String(data));
|
|
97
|
+
maped[fullpath] = consts;
|
|
98
|
+
return consts;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
var getOnlyString = function (q) {
|
|
103
|
+
var f = q.first;
|
|
104
|
+
if (f !== q.last || f?.type !== QUOTED || f.length) return;
|
|
105
|
+
var t = strings.decode(f.text);
|
|
106
|
+
return t;
|
|
107
|
+
};
|
|
108
|
+
var getCopy = function (o) {
|
|
109
|
+
return { type: o.type, text: o.text };
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
var setRequiredConsts = function (code, fullpath, commap) {
|
|
113
|
+
var mmap = commap["?"]
|
|
114
|
+
if (!mmap) return code;
|
|
115
|
+
var url = mmap[fullpath];
|
|
116
|
+
var upath = split(url);
|
|
117
|
+
var requires = code.used.require;
|
|
118
|
+
if (!requires) return code;
|
|
119
|
+
for (var r of requires) {
|
|
120
|
+
var q = r.next;
|
|
121
|
+
if (q?.type !== SCOPED || q.entry !== '(') continue;
|
|
122
|
+
var t = getOnlyString(q);
|
|
123
|
+
if (!t) continue;
|
|
124
|
+
var p = getMaped(upath, commap, t);
|
|
125
|
+
if (!p) continue;
|
|
126
|
+
var consts = loadConsts(p);
|
|
127
|
+
if (!consts) continue;
|
|
128
|
+
var exp = pickAssignment(r);
|
|
129
|
+
var e = exp[exp.length - 1];
|
|
130
|
+
if (e !== q) {
|
|
131
|
+
if (e.prev !== q) continue;
|
|
132
|
+
var t = null;
|
|
133
|
+
switch (e.type) {
|
|
134
|
+
default: continue;
|
|
135
|
+
case EXPRESS:
|
|
136
|
+
t = e.text;
|
|
137
|
+
t = t.replace(/^\./, '');
|
|
138
|
+
if (/[\.\[]/.test(t)) continue;
|
|
139
|
+
break;
|
|
140
|
+
case SCOPED:
|
|
141
|
+
if (e.entry !== "[" || e.first !== e.last) continue;
|
|
142
|
+
var t = getOnlyString(e);
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
if (!t || !(t in consts)) continue;
|
|
146
|
+
insertBefore(r, getCopy(consts[t]), { type: STAMP, text: ',' });
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
var f = exp[0];
|
|
150
|
+
if (f.type === EXPRESS) {
|
|
151
|
+
setMapDefinedConsts(f.text, consts);
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
if (f.type === SCOPED && f.entry === "{") {
|
|
155
|
+
var o = f.first;
|
|
156
|
+
var collected = [];
|
|
157
|
+
while (o) {
|
|
158
|
+
var exp = pickArgument(o);
|
|
159
|
+
var e = exp[exp.length - 1].next;
|
|
160
|
+
if (exp.length === 1) a: {
|
|
161
|
+
var t = o.text;
|
|
162
|
+
if (/[\.\[]/.test(t)) break a;
|
|
163
|
+
if (!(t in consts)) break a;
|
|
164
|
+
remove(o, e);
|
|
165
|
+
collected.push(o, { type: STAMP, text: '=' }, getCopy(consts[t]), { type: STAMP, text: ',' });
|
|
166
|
+
}
|
|
167
|
+
if (e?.type === STAMP && e.text === ',') e = e.next;
|
|
168
|
+
o = e;
|
|
169
|
+
}
|
|
170
|
+
insertBefore(f, ...collected);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return code;
|
|
174
|
+
}
|
|
175
|
+
var autoConst = function (code, fullpath) {
|
|
176
|
+
var vmap = this?.["&"];
|
|
177
|
+
var { envs, used } = code;
|
|
178
|
+
if (!vmap) return setRequiredConsts(code, fullpath, this);
|
|
179
|
+
var p = path.dirname(fullpath);
|
|
180
|
+
var mp = vmap[p];
|
|
181
|
+
if (!mp) return setRequiredConsts(code, fullpath, this);
|
|
182
|
+
for (var k in envs) {
|
|
183
|
+
if (k === 'require') {
|
|
184
|
+
setRequiredConsts(code, fullpath, this);
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
if (k in mp) setEnvDefinedConsts(used, k, mp[k]);
|
|
188
|
+
}
|
|
189
|
+
return code;
|
|
190
|
+
};
|
|
191
|
+
autoConst.findConsts = findConsts;
|
|
192
|
+
module.exports = autoConst;
|
package/coms/compile/common.js
CHANGED
|
@@ -299,7 +299,7 @@ var getFunctionHeadBeforeScoped = function (p) {
|
|
|
299
299
|
}
|
|
300
300
|
if (p.isprop) return p;
|
|
301
301
|
}
|
|
302
|
-
function
|
|
302
|
+
function snapAssignmentHead(o) {
|
|
303
303
|
// 只检查一级
|
|
304
304
|
while (o && getprev(o)) {
|
|
305
305
|
var p = getprev(o);
|
|
@@ -358,7 +358,7 @@ function snapSentenceHead(o) {
|
|
|
358
358
|
break;
|
|
359
359
|
}
|
|
360
360
|
if (p.type === STRAP) {
|
|
361
|
-
if (/^(?:new|void|typeof|delete|await|
|
|
361
|
+
if (/^(?:new|void|typeof|delete|await|class|function|async)$/.test(p.text)) {
|
|
362
362
|
o = p;
|
|
363
363
|
continue;
|
|
364
364
|
}
|
|
@@ -383,7 +383,7 @@ function snapSentenceHead(o) {
|
|
|
383
383
|
break;
|
|
384
384
|
}
|
|
385
385
|
if (p.type === STAMP) {
|
|
386
|
-
if (
|
|
386
|
+
if (/^(=>|;|,)$/.test(p.text)) {
|
|
387
387
|
break;
|
|
388
388
|
}
|
|
389
389
|
if (/^[\?\:]$/.test(p.text)) {
|
|
@@ -408,11 +408,6 @@ function snapSentenceHead(o) {
|
|
|
408
408
|
}
|
|
409
409
|
break;
|
|
410
410
|
}
|
|
411
|
-
while (o) {
|
|
412
|
-
var p = getprev(o);
|
|
413
|
-
if (!p || p.type !== LABEL) break;
|
|
414
|
-
o = p;
|
|
415
|
-
}
|
|
416
411
|
return o;
|
|
417
412
|
}
|
|
418
413
|
var getStrapHead = function (o) {
|
|
@@ -1228,7 +1223,7 @@ var mapDeclared = function (map, declared) {
|
|
|
1228
1223
|
}
|
|
1229
1224
|
return map;
|
|
1230
1225
|
};
|
|
1231
|
-
|
|
1226
|
+
import { uncode } from "../basic/strings.js";
|
|
1232
1227
|
var saveTo = function (used, k, o) {
|
|
1233
1228
|
k = uncode(k);
|
|
1234
1229
|
if (!(used[k] instanceof Array)) used[k] = [];
|
|
@@ -1593,7 +1588,7 @@ var createExpressList = function (code) {
|
|
|
1593
1588
|
if (/^[,;]$/.test(c.text)) {
|
|
1594
1589
|
ex++;
|
|
1595
1590
|
}
|
|
1596
|
-
else if (c.text === ':' && !c.isExpress && c
|
|
1591
|
+
else if (c.text === ':' && !c.isExpress && getprev(c)?.type !== PROPERTY) {
|
|
1597
1592
|
ex++;
|
|
1598
1593
|
}
|
|
1599
1594
|
}
|
|
@@ -1655,11 +1650,13 @@ var remove = function (o, end) {
|
|
|
1655
1650
|
var i = q.indexOf(o);
|
|
1656
1651
|
var length = 1;
|
|
1657
1652
|
if (arguments.length === 2) {
|
|
1658
|
-
|
|
1659
|
-
if (
|
|
1653
|
+
var e = q.indexOf(end, i);
|
|
1654
|
+
if (e < 0) end = end ? i : q.length;
|
|
1655
|
+
else end = e + 1;
|
|
1660
1656
|
length = end - i;
|
|
1661
1657
|
}
|
|
1662
1658
|
if (i >= 0) splice(q, i, length);
|
|
1659
|
+
return length;
|
|
1663
1660
|
};
|
|
1664
1661
|
var replace = function (o, ...args) {
|
|
1665
1662
|
var queue = o.queue;
|
|
@@ -1739,6 +1736,29 @@ var pickArgument = function (o) {
|
|
|
1739
1736
|
}
|
|
1740
1737
|
return res;
|
|
1741
1738
|
};
|
|
1739
|
+
var snapSentenceHead = function (o) {
|
|
1740
|
+
while (o) {
|
|
1741
|
+
o = snapAssignmentHead(o)
|
|
1742
|
+
var p = getprev(o);
|
|
1743
|
+
if (p?.type === STAMP && p.text === ',') {
|
|
1744
|
+
var pp = getprev(p);
|
|
1745
|
+
if (!pp) break;
|
|
1746
|
+
o = pp;
|
|
1747
|
+
continue;
|
|
1748
|
+
}
|
|
1749
|
+
break;
|
|
1750
|
+
}
|
|
1751
|
+
var p = getprev(o);
|
|
1752
|
+
if (p?.type === STRAP && /^(var|let|const)$/.test(p.text)) {
|
|
1753
|
+
o = p;
|
|
1754
|
+
}
|
|
1755
|
+
while (o) {
|
|
1756
|
+
var p = getprev(o);
|
|
1757
|
+
if (!p || p.type !== LABEL) break;
|
|
1758
|
+
o = p;
|
|
1759
|
+
}
|
|
1760
|
+
return o;
|
|
1761
|
+
};
|
|
1742
1762
|
var pickSentence = function (o) {
|
|
1743
1763
|
if (!o) return [];
|
|
1744
1764
|
if (o && o.type & (SPACE | COMMENT) && getprev(o)) o = getprev(o);
|
|
@@ -1775,6 +1795,7 @@ var pickExpress = function (o) {
|
|
|
1775
1795
|
return os;
|
|
1776
1796
|
};
|
|
1777
1797
|
var pickAssignment = function (n) {
|
|
1798
|
+
n = snapAssignmentHead(n);
|
|
1778
1799
|
var e = skipAssignment(n);
|
|
1779
1800
|
var values = [];
|
|
1780
1801
|
while (n && n !== e) {
|
|
@@ -1905,7 +1926,7 @@ var isDeclareOnly = function (o) {
|
|
|
1905
1926
|
return false;
|
|
1906
1927
|
}
|
|
1907
1928
|
|
|
1908
|
-
|
|
1929
|
+
export {
|
|
1909
1930
|
/* 1 */COMMENT,
|
|
1910
1931
|
/* 2 */SPACE,
|
|
1911
1932
|
/* 4 */STRAP,
|
|
@@ -1937,6 +1958,7 @@ module.exports = {
|
|
|
1937
1958
|
pickArgument,
|
|
1938
1959
|
pickSentence,
|
|
1939
1960
|
pickExpress,
|
|
1961
|
+
snapAssignmentHead,
|
|
1940
1962
|
pickAssignment,
|
|
1941
1963
|
snapExpressHead,
|
|
1942
1964
|
snapExpressFoot,
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var split = require("../basic/$split");
|
|
2
|
+
function getMaped(refpath, mmap, m) {
|
|
3
|
+
var refs = refpath.slice();
|
|
4
|
+
refs.pop();
|
|
5
|
+
var a = split(m);
|
|
6
|
+
for (var cx = 0; cx < a.length; cx++) switch (a[cx]) {
|
|
7
|
+
case "..":
|
|
8
|
+
if (cx > 0) {
|
|
9
|
+
a.splice(cx - 1, 2);
|
|
10
|
+
cx -= 2;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
refs.pop();
|
|
14
|
+
}
|
|
15
|
+
break;
|
|
16
|
+
case ".":
|
|
17
|
+
case "":
|
|
18
|
+
a.splice(cx, 1);
|
|
19
|
+
cx--;
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
while (refs.length) {
|
|
23
|
+
var tmp = refs.concat(a);
|
|
24
|
+
var r = tmp.join("$");
|
|
25
|
+
if (r in mmap) {
|
|
26
|
+
r = mmap[r];
|
|
27
|
+
return r;
|
|
28
|
+
}
|
|
29
|
+
refs.pop();
|
|
30
|
+
}
|
|
31
|
+
if (m in mmap) {
|
|
32
|
+
var r = mmap[m];
|
|
33
|
+
return r;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
module.exports = getMaped;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var { QUOTED, unshort } = common;
|
|
1
|
+
var { QUOTED, unshort } = require("./common");
|
|
2
2
|
var patchname = function (prefix, node, alias) {
|
|
3
3
|
if (node.isprop && node.short) {
|
|
4
4
|
unshort(node);
|
|
@@ -11,3 +11,4 @@ var patchname = function (prefix, node, alias) {
|
|
|
11
11
|
if (hasdot) t = "..." + t;
|
|
12
12
|
node.text = t;
|
|
13
13
|
};
|
|
14
|
+
module.exports = patchname;
|
package/coms/zimoli/alert.js
CHANGED