{"version":3,"file":"utils.cjs","sources":["../../../src/transform/utils.ts"],"sourcesContent":["import { types } from 'recast'\n\nconst b = types.builders\n\nexport function ensureStringArgument(\n  callExpression: types.namedTypes.CallExpression,\n  value: string,\n  preferredQuote?: \"'\" | '\"',\n) {\n  const argument = callExpression.arguments[0]\n  if (!argument) {\n    let stringLiteral: types.namedTypes.StringLiteral\n    if (!preferredQuote) {\n      stringLiteral = b.stringLiteral.from({ value })\n    } else {\n      stringLiteral = b.stringLiteral.from({\n        value,\n        extra: {\n          rawValue: value,\n          raw: `${preferredQuote}${value}${preferredQuote}`,\n        },\n      })\n    }\n    callExpression.arguments.push(stringLiteral)\n    return true\n  } else if (argument.type === 'StringLiteral') {\n    if (argument.value !== value) {\n      argument.value = value\n      return true\n    }\n  } else if (argument.type === 'TemplateLiteral') {\n    if (\n      argument.quasis.length === 1 &&\n      argument.quasis[0] &&\n      argument.quasis[0].value.raw !== value\n    ) {\n      argument.quasis[0].value.raw = value\n      return true\n    }\n  }\n  return false\n}\n"],"names":["types"],"mappings":";;;AAEA,MAAM,IAAIA,OAAAA,MAAM;AAET,SAAS,qBACd,gBACA,OACA,gBACA;AACA,QAAM,WAAW,eAAe,UAAU,CAAC;AAC3C,MAAI,CAAC,UAAU;AACb,QAAI;AACJ,QAAI,CAAC,gBAAgB;AACnB,sBAAgB,EAAE,cAAc,KAAK,EAAE,OAAO;AAAA,IAChD,OAAO;AACL,sBAAgB,EAAE,cAAc,KAAK;AAAA,QACnC;AAAA,QACA,OAAO;AAAA,UACL,UAAU;AAAA,UACV,KAAK,GAAG,cAAc,GAAG,KAAK,GAAG,cAAc;AAAA,QAAA;AAAA,MACjD,CACD;AAAA,IACH;AACA,mBAAe,UAAU,KAAK,aAAa;AAC3C,WAAO;AAAA,EACT,WAAW,SAAS,SAAS,iBAAiB;AAC5C,QAAI,SAAS,UAAU,OAAO;AAC5B,eAAS,QAAQ;AACjB,aAAO;AAAA,IACT;AAAA,EACF,WAAW,SAAS,SAAS,mBAAmB;AAC9C,QACE,SAAS,OAAO,WAAW,KAC3B,SAAS,OAAO,CAAC,KACjB,SAAS,OAAO,CAAC,EAAE,MAAM,QAAQ,OACjC;AACA,eAAS,OAAO,CAAC,EAAE,MAAM,MAAM;AAC/B,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;;"}