function replaceDeprecatedColor()

in src/rules/no-deprecated-colors.js [153:192]


function replaceDeprecatedColor(
  context,
  node,
  deprecatedName,
  transformName = str => str,
  transformReplacementValue = str => JSON.stringify(str)
) {
  const replacement = deprecations[deprecatedName]

  if (replacement === null) {
    // No replacement
    context.report({
      node,
      message: `"${transformName(
        deprecatedName
      )}" is deprecated. Go to https://primer.style/primitives or reach out in the #primer channel on Slack to find a suitable replacement.`
    })
  } else if (Array.isArray(replacement)) {
    // Multiple possible replacements
    context.report({
      node,
      message: `"${transformName(deprecatedName)}" is deprecated.`,
      suggest: replacement.map(replacementValue => ({
        desc: `Use "${transformName(replacementValue)}" instead.`,
        fix(fixer) {
          return fixer.replaceText(node, transformReplacementValue(transformName(replacementValue)))
        }
      }))
    })
  } else {
    // One replacement
    context.report({
      node,
      message: `"${transformName(deprecatedName)}" is deprecated. Use "${transformName(replacement)}" instead.`,
      fix(fixer) {
        return fixer.replaceText(node, transformReplacementValue(transformName(replacement)))
      }
    })
  }
}