(iterator)
| 228 | } |
| 229 | |
| 230 | function hookRunnerGenerator (iterator) { |
| 231 | return function hookRunner (functions, request, reply, cb) { |
| 232 | let i = 0 |
| 233 | |
| 234 | function next (err) { |
| 235 | if (err || i === functions.length) { |
| 236 | cb(err, request, reply) |
| 237 | return |
| 238 | } |
| 239 | |
| 240 | let result |
| 241 | try { |
| 242 | result = iterator(functions[i++], request, reply, next) |
| 243 | } catch (error) { |
| 244 | cb(error, request, reply) |
| 245 | return |
| 246 | } |
| 247 | if (result && typeof result.then === 'function') { |
| 248 | result.then(handleResolve, handleReject) |
| 249 | } |
| 250 | } |
| 251 | |
| 252 | function handleResolve () { |
| 253 | next() |
| 254 | } |
| 255 | |
| 256 | function handleReject (err) { |
| 257 | if (!err) { |
| 258 | err = new FST_ERR_SEND_UNDEFINED_ERR() |
| 259 | } |
| 260 | |
| 261 | cb(err, request, reply) |
| 262 | } |
| 263 | |
| 264 | next() |
| 265 | } |
| 266 | } |
| 267 | |
| 268 | function onResponseHookIterator (fn, request, reply, next) { |
| 269 | return fn(request, reply, next) |
no test coverage detected