Home / Function/ hookRunnerGenerator() — fastify Function Reference

hookRunnerGenerator() — fastify Function Reference

Architecture documentation for the hookRunnerGenerator() function in hooks.js from the fastify codebase.

Entity Profile

Dependency Diagram

graph TD
  f327b201_3e7d_fc03_19c2_d72e524941e6["hookRunnerGenerator()"]
  57bfad3b_e85a_1ebf_2702_a13bb6484083["hooks.js"]
  f327b201_3e7d_fc03_19c2_d72e524941e6 -->|defined in| 57bfad3b_e85a_1ebf_2702_a13bb6484083
  style f327b201_3e7d_fc03_19c2_d72e524941e6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

lib/hooks.js lines 230–266

function hookRunnerGenerator (iterator) {
  return function hookRunner (functions, request, reply, cb) {
    let i = 0

    function next (err) {
      if (err || i === functions.length) {
        cb(err, request, reply)
        return
      }

      let result
      try {
        result = iterator(functions[i++], request, reply, next)
      } catch (error) {
        cb(error, request, reply)
        return
      }
      if (result && typeof result.then === 'function') {
        result.then(handleResolve, handleReject)
      }
    }

    function handleResolve () {
      next()
    }

    function handleReject (err) {
      if (!err) {
        err = new FST_ERR_SEND_UNDEFINED_ERR()
      }

      cb(err, request, reply)
    }

    next()
  }
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does hookRunnerGenerator() do?
hookRunnerGenerator() is a function in the fastify codebase, defined in lib/hooks.js.
Where is hookRunnerGenerator() defined?
hookRunnerGenerator() is defined in lib/hooks.js at line 230.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free