Home / File/ toolkit.js — fastify Source File

toolkit.js — fastify Source File

Architecture documentation for toolkit.js, a javascript file in the fastify codebase.

Entity Profile

Relationship Graph

Source Code

'use strict'

exports.waitForCb = function (options) {
  let count = null
  let done = false
  let iResolve
  let iReject

  function stepIn () {
    if (done) {
      iReject(new Error('Unexpected done call'))
      return
    }

    if (--count) {
      return
    }

    done = true
    iResolve()
  }

  const patience = new Promise((resolve, reject) => {
    iResolve = resolve
    iReject = reject
  })

  count = options.steps || 1
  done = false

  return { stepIn, patience }
}

exports.partialDeepStrictEqual = function partialDeepStrictEqual (actual, expected) {
  if (typeof expected !== 'object' || expected === null) {
    return actual === expected
  }

  if (typeof actual !== 'object' || actual === null) {
    return false
  }

  if (Array.isArray(expected)) {
    if (!Array.isArray(actual)) return false
    if (expected.length > actual.length) return false

    for (let i = 0; i < expected.length; i++) {
      if (!partialDeepStrictEqual(actual[i], expected[i])) {
        return false
      }
    }
    return true
  }

  for (const key of Object.keys(expected)) {
    if (!(key in actual)) return false
    if (!partialDeepStrictEqual(actual[key], expected[key])) {
      return false
    }
  }

  return true
}

Domain

Subdomains

Functions

Frequently Asked Questions

What does toolkit.js do?
toolkit.js is a source file in the fastify codebase, written in javascript. It belongs to the CoreKernel domain, LifecycleManager subdomain.
What functions are defined in toolkit.js?
toolkit.js defines 1 function(s): exports.
Where is toolkit.js in the architecture?
toolkit.js is located at test/toolkit.js (domain: CoreKernel, subdomain: LifecycleManager, directory: test).

Analyze Your Own Codebase

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

Try Supermodel Free