(fn)
| 1262 | } |
| 1263 | |
| 1264 | gainResult(fn) { |
| 1265 | return Promise.race([ |
| 1266 | new Promise((resolve) => { |
| 1267 | try { |
| 1268 | const ret = fn((err, result) => { |
| 1269 | if (err) { |
| 1270 | resolve({ |
| 1271 | type: "async", |
| 1272 | error: err.message |
| 1273 | }); |
| 1274 | } else { |
| 1275 | resolve({ |
| 1276 | type: "async", |
| 1277 | value: result |
| 1278 | }); |
| 1279 | } |
| 1280 | }); |
| 1281 | if (ret instanceof Promise) { |
| 1282 | resolve( |
| 1283 | ret.then( |
| 1284 | (res) => ({ |
| 1285 | type: "promise", |
| 1286 | value: res |
| 1287 | }), |
| 1288 | (err) => ({ |
| 1289 | type: "promise", |
| 1290 | error: err.message |
| 1291 | }) |
| 1292 | ) |
| 1293 | ); |
| 1294 | } else if (ret !== undefined) { |
| 1295 | resolve({ |
| 1296 | type: "return", |
| 1297 | value: ret |
| 1298 | }); |
| 1299 | } |
| 1300 | } catch (err) { |
| 1301 | resolve({ |
| 1302 | error: err.message |
| 1303 | }); |
| 1304 | } |
| 1305 | }), |
| 1306 | new Promise((resolve) => { |
| 1307 | setTimeout( |
| 1308 | () => |
| 1309 | resolve({ |
| 1310 | type: "no result" |
| 1311 | }), |
| 1312 | 1000 |
| 1313 | ); |
| 1314 | }) |
| 1315 | ]); |
| 1316 | } |
| 1317 | |
| 1318 | createHook(args, name) { |
| 1319 | try { |
no outgoing calls
no test coverage detected