{"version":3,"sources":["../src/index.ts","../src/quotes.ts","../src/config.ts"],"sourcesContent":["import { getQuote } from './quotes';\nimport { getConfig, setConfig, type TariffConfig } from './config';\n\nconst delay = (ms: number): Promise<void> => new Promise((resolve) => setTimeout(resolve, ms));\n\nexport async function imposeTariff(pkgName: string): Promise<any> {\n  const config = getConfig();\n  const policy = config.policies?.[pkgName];\n\n  if (!policy) return require(pkgName);\n\n  const { action, tariffRate = 10 } = policy;\n  const quote = getQuote({ pkg: pkgName, action, rate: tariffRate });\n\n  if (action === 'block') {\n    throw new Error(`🛑 Import Blocked: \"${pkgName}\"\\n${quote}`);\n  }\n\n  if (action === 'delay') {\n    const time = tariffRate * 10;\n    console.log(`${quote}\\n⏳ Holding import for ${time}ms...`);\n    await delay(time);\n  }\n\n  if (action === 'log') {\n    console.warn(quote);\n  }\n\n  return require(pkgName);\n}\n\nexport { setConfig, type TariffConfig };\nexport default { imposeTariff, setConfig };\n","interface QuoteParams {\n  pkg: string;\n  action: 'block' | 'delay' | 'log';\n  rate?: number;\n}\n\nexport function getQuote({ pkg, action, rate }: QuoteParams): string {\n  const blockPhrases = [\n    `The way \"${pkg}\" treats us is horrible. Just horrible.`,\n    `\"${pkg}\"? Disaster. Sad. We're gonna fix it.`,\n    `\"${pkg}\" has been taking advantage of us for years. Not anymore.`,\n  ];\n\n  const delayPhrases = [\n    `\"${pkg}\"? Total joke. We're gonna delay it until it's great again.`,\n    `It's not a delay. It's a negotiation tactic. Very strong.`,\n  ];\n\n  const logPhrases = [\n    `We're putting a big, beautiful tariff on \"${pkg}\" – maybe the biggest ever. People are talking.`,\n    `Nobody knows \"${pkg}\" better than me. And it needs a tariff. Believe me.`,\n    `Tremendous tariff on \"${pkg}\". It's going to be so fair, you won't believe it.`,\n    `We used to import \"${pkg}\" for free. Can you believe that! Not anymore!`,\n    `I talked to many smart people — they all agree \"${pkg}\" needs a tariff.`,\n  ];\n\n  const phrases =\n    action === 'block' ? blockPhrases : action === 'delay' ? delayPhrases : logPhrases;\n\n  const intros = [\n    `🚨 Tariff Alert!`,\n    `📢 Presidential Import Tax in Effect:`,\n    `🇺🇸 Making Imports Great Again...`,\n    `🧱 Building a firewall against \"${pkg}\"...`,\n    `🕵️ Evaluating \"${pkg}\" for national import security...`,\n  ];\n\n  const outro = rate ? `This will be a ${rate}% tariff. Historic.` : `No free rides here, folks.`;\n\n  const random = <T>(arr: T[]): T => arr[Math.floor(Math.random() * arr.length)];\n\n  return `${random(intros)}\\n🗣️ ${random(phrases)}\\n📊 ${outro}`;\n}\n\nexport default { getQuote };\n","export interface TariffPolicy {\n  tariffRate?: number;\n  action: 'block' | 'delay' | 'log';\n}\n\nexport interface TariffConfig {\n  policies: Record<string, TariffPolicy>;\n  mode?: string;\n}\n\nexport const defaultConfig: TariffConfig = {\n  policies: {},\n  mode: 'MakeImportsGreatAgain',\n};\n\nlet userConfig: TariffConfig = defaultConfig;\n\nexport function setConfig(config: Partial<TariffConfig>) {\n  userConfig = {\n    ...defaultConfig,\n    ...config,\n    policies: {\n      ...defaultConfig.policies,\n      ...config.policies,\n    },\n  };\n}\n\nexport function getConfig(): TariffConfig {\n  return userConfig;\n}\n"],"mappings":"4dAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,iBAAAC,EAAA,cAAAC,IAAA,eAAAC,EAAAL,GCMO,SAASM,EAAS,CAAE,IAAAC,EAAK,OAAAC,EAAQ,KAAAC,CAAK,EAAwB,CACnE,IAAMC,EAAe,CACnB,YAAYH,CAAG,0CACf,IAAIA,CAAG,wCACP,IAAIA,CAAG,2DACT,EAEMI,EAAe,CACnB,IAAIJ,CAAG,8DACP,2DACF,EAEMK,EAAa,CACjB,6CAA6CL,CAAG,uDAChD,iBAAiBA,CAAG,uDACpB,yBAAyBA,CAAG,qDAC5B,sBAAsBA,CAAG,iDACzB,wDAAmDA,CAAG,mBACxD,EAEMM,EACJL,IAAW,QAAUE,EAAeF,IAAW,QAAUG,EAAeC,EAEpEE,EAAS,CACb,0BACA,+CACA,mDACA,0CAAmCP,CAAG,OACtC,+BAAmBA,CAAG,mCACxB,EAEMQ,EAAQN,EAAO,kBAAkBA,CAAI,sBAAwB,6BAE7DO,EAASC,EAAIC,GAAgBA,EAAI,KAAK,MAAM,KAAK,OAAO,EAAIA,EAAI,MAAM,CAAC,EAA9D,UAEf,MAAO,GAAGF,EAAOF,CAAM,CAAC;AAAA,kBAASE,EAAOH,CAAO,CAAC;AAAA,YAAQE,CAAK,EAC/D,CApCgBE,EAAAX,EAAA,YCIT,IAAMa,EAA8B,CACzC,SAAU,CAAC,EACX,KAAM,uBACR,EAEIC,EAA2BD,EAExB,SAASE,EAAUC,EAA+B,CACvDF,EAAa,CACX,GAAGD,EACH,GAAGG,EACH,SAAU,CACR,GAAGH,EAAc,SACjB,GAAGG,EAAO,QACZ,CACF,CACF,CATgBC,EAAAF,EAAA,aAWT,SAASG,GAA0B,CACxC,OAAOJ,CACT,CAFgBG,EAAAC,EAAA,aFzBhB,IAAMC,EAAQC,EAACC,GAA8B,IAAI,QAASC,GAAY,WAAWA,EAASD,CAAE,CAAC,EAA/E,SAEd,eAAsBE,EAAaC,EAA+B,CAEhE,IAAMC,EADSC,EAAU,EACH,WAAWF,CAAO,EAExC,GAAI,CAACC,EAAQ,OAAO,QAAQD,CAAO,EAEnC,GAAM,CAAE,OAAAG,EAAQ,WAAAC,EAAa,EAAG,EAAIH,EAC9BI,EAAQC,EAAS,CAAE,IAAKN,EAAS,OAAAG,EAAQ,KAAMC,CAAW,CAAC,EAEjE,GAAID,IAAW,QACb,MAAM,IAAI,MAAM,8BAAuBH,CAAO;AAAA,EAAMK,CAAK,EAAE,EAG7D,GAAIF,IAAW,QAAS,CACtB,IAAMI,EAAOH,EAAa,GAC1B,QAAQ,IAAI,GAAGC,CAAK;AAAA,4BAA0BE,CAAI,OAAO,EACzD,MAAMZ,EAAMY,CAAI,CAClB,CAEA,OAAIJ,IAAW,OACb,QAAQ,KAAKE,CAAK,EAGb,QAAQL,CAAO,CACxB,CAxBsBJ,EAAAG,EAAA,gBA2BtB,IAAOS,EAAQ,CAAE,aAAAC,EAAc,UAAAC,CAAU","names":["index_exports","__export","index_default","imposeTariff","setConfig","__toCommonJS","getQuote","pkg","action","rate","blockPhrases","delayPhrases","logPhrases","phrases","intros","outro","random","__name","arr","defaultConfig","userConfig","setConfig","config","__name","getConfig","delay","__name","ms","resolve","imposeTariff","pkgName","policy","getConfig","action","tariffRate","quote","getQuote","time","index_default","imposeTariff","setConfig"]}