{
  "version": 3,
  "sources": ["../../src/transforms.ts"],
  "sourcesContent": ["import type {IntermediateRepresentation} from '@code-like-a-carpenter/foundation-intermediate-representation';\n\nimport type {Config} from './config.ts';\nimport type {ServerlessApplicationModel} from './types.ts';\n\nexport type NestedStackTemplates = Map<string, ServerlessApplicationModel>;\nexport type Transform = (\n  ir: IntermediateRepresentation,\n  template: ServerlessApplicationModel,\n  nestedTemplates: NestedStackTemplates\n) => void | Promise<void>;\n\nexport async function applyTransforms(\n  config: Config,\n  ir: IntermediateRepresentation,\n  template: ServerlessApplicationModel,\n  nestedTemplates: NestedStackTemplates\n): Promise<void> {\n  for (const transformModule of config.cloudformationTransforms) {\n    const transform = await loadTransform(transformModule);\n    await transform(ir, template, nestedTemplates);\n  }\n}\n\n/**\n * Deals with the possibility that this code may run in commonjs or esm mode.\n */\nasync function loadTransform(transformModule: string): Promise<Transform> {\n  const mod = await import(transformModule);\n  if (mod.default) {\n    return mod.default.transform;\n  }\n\n  return mod.transform;\n}\n"],
  "mappings": ";AAYA,eAAsB,gBACpB,QACA,IACA,UACA,iBACe;AACf,aAAW,mBAAmB,OAAO,0BAA0B;AAC7D,UAAM,YAAY,MAAM,cAAc,eAAe;AACrD,UAAM,UAAU,IAAI,UAAU,eAAe;AAAA,EAC/C;AACF;AAKA,eAAe,cAAc,iBAA6C;AACxE,QAAM,MAAM,MAAM,OAAO;AACzB,MAAI,IAAI,SAAS;AACf,WAAO,IAAI,QAAQ;AAAA,EACrB;AAEA,SAAO,IAAI;AACb;",
  "names": []
}
