Current Behavior
My function
export async function getAccount(provider: Provider): Promise<string | null> {
try {
const accounts: string[] = await provider.send('eth_accounts'); // 1. provider.send returns undefined
return accounts[0] || null; // 2. throw error 'Cannot read property '0' of undefined'
} catch {
warning('Some text'); // 3. log warning
}
return 'fallback account'; // 4. return 'fallback account'
}
compiled to
var getAccount = function getAccount(provider) {
try {
var _exit2 = false;
var _temp2 = _catch(function () {
return Promise.resolve(provider.send('eth_accounts')).then(function (accounts) { // 1. accounts === undefined
_exit2 = true;
return accounts[0] || null; // 2. throw error 'Cannot read property '0' of undefined'
});
}, function () {
process.env.NODE_ENV !== "production" ? warning('Some text') : void 0; // 3. log warning
});
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function (_result) {
return _exit2 ? _result : 'fallback account'; // 4. return undefined because _exit2 === true and _result === undefined
}) : _exit2 ? _temp2 : 'fallback account');
} catch (e) {
return Promise.reject(e);
}
};
Expected behavior
compiled to
var getAccount = function getAccount(provider) {
try {
var _exit2 = false;
var _temp2 = _catch(function () {
return Promise.resolve(provider.send('eth_accounts')).then(function (accounts) { // 1. accounts === undefined
- _exit2 = true;
return accounts[0] || null; // 2. throw error 'Cannot read property '0' of undefined'
+ }).then(function () {
+ _exit2 = true;
});
}, function () {
process.env.NODE_ENV !== "production" ? warning('Some text') : void 0; // 3. log warning
});
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function (_result) {
- return _exit2 ? _result : 'fallback account'; // 4. return undefined because _exit2 === true and _result === undefined
+ return _exit2 ? _result : 'fallback account'; // 4. return 'fallback account' because _exit2 === false
}) : _exit2 ? _temp2 : 'fallback account');
} catch (e) {
return Promise.reject(e);
}
};
Your environment
| Software |
Version(s) |
| TSDX |
0.12.0 |
| TypeScript |
3.7.2 |
| npm/Yarn |
npm 6.12.0/yarn 1.21.1 |
| Node |
v10.15.0 |
| Operating System |
macOS Catalina 10.15.2 |
Current Behavior
My function
compiled to
Expected behavior
compiled to
var getAccount = function getAccount(provider) { try { var _exit2 = false; var _temp2 = _catch(function () { return Promise.resolve(provider.send('eth_accounts')).then(function (accounts) { // 1. accounts === undefined - _exit2 = true; return accounts[0] || null; // 2. throw error 'Cannot read property '0' of undefined' + }).then(function () { + _exit2 = true; }); }, function () { process.env.NODE_ENV !== "production" ? warning('Some text') : void 0; // 3. log warning }); return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function (_result) { - return _exit2 ? _result : 'fallback account'; // 4. return undefined because _exit2 === true and _result === undefined + return _exit2 ? _result : 'fallback account'; // 4. return 'fallback account' because _exit2 === false }) : _exit2 ? _temp2 : 'fallback account'); } catch (e) { return Promise.reject(e); } };Your environment