code: function getIt (config) {
    if (!config) return it
  
    const _it = (name, impl) => {
      if (Array.isArray(config.skip)) {
        const skip = config.skip
          .map((s) => isObject(s) ? s : { name: s })
          .find((s) => s.name === name)
  
        if (skip) {
          if (skip.reason) name = `${name} (${skip.reason})`
          return it.skip(name, impl)
        }
      }
  
      if (Array.isArray(config.only)) {
        const only = config.only
          .map((o) => isObject(o) ? o : { name: o })
          .find((o) => o.name === name)
  
        if (only) {
          if (only.reason) name = `${name} (${only.reason})`
          return it.only(name, impl) // eslint-disable-line no-only-tests/no-only-tests
        }
      }
  
      it(name, impl)
    }
  
    _it.skip = it.skip
    _it.only = it.only // eslint-disable-line no-only-tests/no-only-tests
  
    return _it
  }
docs: Get an "it" function that is optionally 'skipped' or 'onlyed' If skip/only is an array, then we _might_ want to skip/only the specific test if one of the items in the array is the same as the test name or if one of the items in the array is an object with a name property that is the same as the test name.