Давайте разберём по кусочкам.
.then(({ json }) =>
({ data: {id: json.json[resource].id} })
)
({ json })
-
Деструктуризация входных параметров, то есть в качестве аргумента поступает объект, из которого извлекается свойство json в переменную. json.
как это переписать в обычную функцию, чтоб там можно было поставить точку останова, или вписать debugger
С минимальными изменениями, так:
.then(({ json }) => {
debugger
return { data: { id: json.json[resource].id } } // круглые скобки уже не нужны, так как используется return
})
зачем лишние скобки вокруг аргумента и возврата
На счёт скобок вокруг аргумента разобрали в первом пункте - из-за деструктуризации.
На счёт скобок для возвращаемого значения - если из
стрелочной функции нужно вернуть объект без ключевого слова
return
, то нужно обернуть его в скобки, условно, чтобы движок понимал разницу между телом функции, которое так же открывается через {} скобки и объектом.
То есть
() => { return {} }
тоже самое что
() => ({})
Ну и отвечая на Ваш основной вопрос:
Как переписать короткую функцию в нормальную на javascript
}).then(function(info) {
return { data: { id: info.json.json[resource].id } }
})