mirror of
https://github.com/leporello-js/leporello-js
synced 2026-01-13 13:04:30 -08:00
Fix display error thrown from consice fn
This commit is contained in:
@@ -496,9 +496,12 @@ const get_value_explorer = (state, index) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(frame.type == 'function_expr' && frame.body.type != 'do') {
|
if(frame.type == 'function_expr' && frame.body.type != 'do') {
|
||||||
|
const result = frame.children[1].result
|
||||||
return {
|
return {
|
||||||
index: frame.children[1].index,
|
index: frame.children[1].index,
|
||||||
result: frame.children[1].result
|
result: result.ok
|
||||||
|
? result
|
||||||
|
: find_error_origin_node(frame.children[1]).result
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
16
test/test.js
16
test/test.js
@@ -1794,6 +1794,22 @@ const y = x()`
|
|||||||
assert_equal(s2.effects.type, 'unembed_value_explorer')
|
assert_equal(s2.effects.type, 'unembed_value_explorer')
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
test_only('move_cursor concise fn throws', () => {
|
||||||
|
const code = `
|
||||||
|
const throws = () => {
|
||||||
|
throw new Error('boom')
|
||||||
|
}
|
||||||
|
|
||||||
|
const x = () => 2 * (throws() + 1)
|
||||||
|
|
||||||
|
x()
|
||||||
|
`
|
||||||
|
const s1 = test_initial_state(code)
|
||||||
|
const {effects} = COMMANDS.move_cursor(s1, code.indexOf('throws()'))
|
||||||
|
assert_equal(effects.args[0].result.error.message, 'boom')
|
||||||
|
}),
|
||||||
|
|
||||||
|
|
||||||
test('frame follows cursor toplevel', () => {
|
test('frame follows cursor toplevel', () => {
|
||||||
const code = `
|
const code = `
|
||||||
const x = () => {
|
const x = () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user