@bbn/bbn 1.0.137 → 1.0.139
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/dist/fn/misc/analyzeFunction.d.ts +1 -0
- package/dist/fn/misc/analyzeFunction.js +25 -2
- package/dist/fn.d.ts +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +25 -2
- package/package.json +1 -1
|
@@ -31,13 +31,14 @@ var analyzeFunction = function (fn) {
|
|
|
31
31
|
var isComment = false;
|
|
32
32
|
var isCommentLine = false;
|
|
33
33
|
var isDestructuring = false;
|
|
34
|
+
var returnType = "";
|
|
34
35
|
for (var i = 0; i < all.length; i++) {
|
|
35
36
|
// Handle string literals
|
|
36
37
|
if (!isComment && all[i] === "/" && all[i + 1] === "*") {
|
|
37
38
|
isComment = true;
|
|
38
39
|
exp = "";
|
|
39
40
|
}
|
|
40
|
-
else if (all[i] === "
|
|
41
|
+
else if (all[i] === "/" && all[i - 1] === "*") {
|
|
41
42
|
isComment = false;
|
|
42
43
|
}
|
|
43
44
|
else if (!isCommentLine && all[i] === "/" && all[i + 1] === "/") {
|
|
@@ -70,6 +71,10 @@ var analyzeFunction = function (fn) {
|
|
|
70
71
|
}
|
|
71
72
|
else if (exp.trim() !== "async") {
|
|
72
73
|
name = exp.trim();
|
|
74
|
+
var tmp = name.match(/^([a-zA-Z0-9_]+)<[a-zA-Z0-9_]+>$/);
|
|
75
|
+
if (tmp) {
|
|
76
|
+
name = tmp[1];
|
|
77
|
+
}
|
|
73
78
|
}
|
|
74
79
|
exp = "";
|
|
75
80
|
}
|
|
@@ -91,6 +96,18 @@ var analyzeFunction = function (fn) {
|
|
|
91
96
|
}
|
|
92
97
|
parClosed++;
|
|
93
98
|
}
|
|
99
|
+
else if (isDestructuring && all[i] !== "}") {
|
|
100
|
+
exp += all[i];
|
|
101
|
+
}
|
|
102
|
+
else if (parOpened && parOpened === parClosed && all[i] === ":") {
|
|
103
|
+
var matches = all.substring(i + 1).trim().match(/^\s*([a-zA-Z0-9_]+)\s*\{/);
|
|
104
|
+
if (!matches) {
|
|
105
|
+
throw Error("Unexpected ':' while parsing function");
|
|
106
|
+
}
|
|
107
|
+
returnType = matches[1];
|
|
108
|
+
body = all.substring(i + matches[0].length).trim();
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
94
111
|
else if (all[i] === "=" && all[i + 1] === ">") {
|
|
95
112
|
if (exp.trim() !== "" && parOpened === parClosed) {
|
|
96
113
|
currentArg["name"] = exp.trim();
|
|
@@ -159,7 +176,12 @@ var analyzeFunction = function (fn) {
|
|
|
159
176
|
if (exp.trim() === "async") {
|
|
160
177
|
isAsync = true;
|
|
161
178
|
}
|
|
162
|
-
|
|
179
|
+
if (parOpened > parClosed) {
|
|
180
|
+
exp += all[i];
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
exp = "";
|
|
184
|
+
}
|
|
163
185
|
}
|
|
164
186
|
}
|
|
165
187
|
else {
|
|
@@ -187,6 +209,7 @@ var analyzeFunction = function (fn) {
|
|
|
187
209
|
name: name,
|
|
188
210
|
isAsync: isAsync,
|
|
189
211
|
hash: hash,
|
|
212
|
+
returnType: returnType
|
|
190
213
|
};
|
|
191
214
|
};
|
|
192
215
|
export { analyzeFunction };
|
package/dist/fn.d.ts
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1608,6 +1608,7 @@ declare module "fn/misc/analyzeFunction" {
|
|
|
1608
1608
|
name: string;
|
|
1609
1609
|
isAsync: boolean;
|
|
1610
1610
|
hash: string;
|
|
1611
|
+
returnType: string;
|
|
1611
1612
|
};
|
|
1612
1613
|
export { analyzeFunction };
|
|
1613
1614
|
}
|
|
@@ -4693,6 +4694,7 @@ declare module "fn" {
|
|
|
4693
4694
|
name: string;
|
|
4694
4695
|
isAsync: boolean;
|
|
4695
4696
|
hash: string;
|
|
4697
|
+
returnType: string;
|
|
4696
4698
|
};
|
|
4697
4699
|
animateCss: (ele: any, animationName: any, callback: any) => void;
|
|
4698
4700
|
arrayBuffer2String: (buf: any) => any;
|
package/dist/index.js
CHANGED
|
@@ -3348,13 +3348,14 @@
|
|
|
3348
3348
|
var isComment = false;
|
|
3349
3349
|
var isCommentLine = false;
|
|
3350
3350
|
var isDestructuring = false;
|
|
3351
|
+
var returnType = "";
|
|
3351
3352
|
for (var i = 0; i < all.length; i++) {
|
|
3352
3353
|
// Handle string literals
|
|
3353
3354
|
if (!isComment && all[i] === "/" && all[i + 1] === "*") {
|
|
3354
3355
|
isComment = true;
|
|
3355
3356
|
exp = "";
|
|
3356
3357
|
}
|
|
3357
|
-
else if (all[i] === "
|
|
3358
|
+
else if (all[i] === "/" && all[i - 1] === "*") {
|
|
3358
3359
|
isComment = false;
|
|
3359
3360
|
}
|
|
3360
3361
|
else if (!isCommentLine && all[i] === "/" && all[i + 1] === "/") {
|
|
@@ -3387,6 +3388,10 @@
|
|
|
3387
3388
|
}
|
|
3388
3389
|
else if (exp.trim() !== "async") {
|
|
3389
3390
|
name = exp.trim();
|
|
3391
|
+
var tmp = name.match(/^([a-zA-Z0-9_]+)<[a-zA-Z0-9_]+>$/);
|
|
3392
|
+
if (tmp) {
|
|
3393
|
+
name = tmp[1];
|
|
3394
|
+
}
|
|
3390
3395
|
}
|
|
3391
3396
|
exp = "";
|
|
3392
3397
|
}
|
|
@@ -3408,6 +3413,18 @@
|
|
|
3408
3413
|
}
|
|
3409
3414
|
parClosed++;
|
|
3410
3415
|
}
|
|
3416
|
+
else if (isDestructuring && all[i] !== "}") {
|
|
3417
|
+
exp += all[i];
|
|
3418
|
+
}
|
|
3419
|
+
else if (parOpened && parOpened === parClosed && all[i] === ":") {
|
|
3420
|
+
var matches = all.substring(i + 1).trim().match(/^\s*([a-zA-Z0-9_]+)\s*\{/);
|
|
3421
|
+
if (!matches) {
|
|
3422
|
+
throw Error("Unexpected ':' while parsing function");
|
|
3423
|
+
}
|
|
3424
|
+
returnType = matches[1];
|
|
3425
|
+
body = all.substring(i + matches[0].length).trim();
|
|
3426
|
+
break;
|
|
3427
|
+
}
|
|
3411
3428
|
else if (all[i] === "=" && all[i + 1] === ">") {
|
|
3412
3429
|
if (exp.trim() !== "" && parOpened === parClosed) {
|
|
3413
3430
|
currentArg["name"] = exp.trim();
|
|
@@ -3476,7 +3493,12 @@
|
|
|
3476
3493
|
if (exp.trim() === "async") {
|
|
3477
3494
|
isAsync = true;
|
|
3478
3495
|
}
|
|
3479
|
-
|
|
3496
|
+
if (parOpened > parClosed) {
|
|
3497
|
+
exp += all[i];
|
|
3498
|
+
}
|
|
3499
|
+
else {
|
|
3500
|
+
exp = "";
|
|
3501
|
+
}
|
|
3480
3502
|
}
|
|
3481
3503
|
}
|
|
3482
3504
|
else {
|
|
@@ -3504,6 +3526,7 @@
|
|
|
3504
3526
|
name: name,
|
|
3505
3527
|
isAsync: isAsync,
|
|
3506
3528
|
hash: hash,
|
|
3529
|
+
returnType: returnType
|
|
3507
3530
|
};
|
|
3508
3531
|
};
|
|
3509
3532
|
exports.analyzeFunction = analyzeFunction;
|