function createShimFromType({ type, agent, moduleName, resolvedName, shimName, pkgVersion }) {
  let shim = null
  if (properties.hasOwn(SHIM_TYPE_MAP, type)) {
    const ShimClass = SHIM_TYPE_MAP[type]
    shim = new ShimClass(agent, moduleName, resolvedName, shimName, pkgVersion)
  } else {
    shim = new Shim(agent, moduleName, resolvedName, shimName, pkgVersion)
  }
  return shim
}
@param {object} params input params
@param {string} params.type shim type
@param {Agent} params.agent instance of agent
@param {string} params.moduleName module name
@param {string} params.resolvedName fully resolved name of module
@param {string} params.shimName name of shim, used to associate multiple shim instances
@param {string} params.pkgVersion version of pkg
@returns {Shim} shim instance