{
  "version": 3,
  "sources": ["../../../../src/evaluator/concatenation/concatenate.ts"],
  "sourcesContent": [
    "import type { ArethmeticEvaluator } from \"../../core/types.cjs\";\nimport { FormulaError } from \"../../core/types.cjs\";\n\n/**\n * Concatenation operator (&) - Concatenates two values as strings\n * Works with numbers and strings only\n */\nexport const concatenate: ArethmeticEvaluator = (left, right, context) => {\n  // Convert each value to string based on type\n  let leftStr: string;\n  let rightStr: string;\n\n  // Handle left operand\n  switch (left.type) {\n    case \"string\":\n      leftStr = left.value;\n      break;\n    case \"number\":\n      leftStr = left.value.toString();\n      break;\n    default:\n      return {\n        type: \"error\",\n        err: FormulaError.VALUE,\n        message: `Cannot concatenate ${left.type} - only numbers and strings are supported`,\n        errAddress: context.dependencyNode,\n      };\n  }\n\n  // Handle right operand\n  switch (right.type) {\n    case \"string\":\n      rightStr = right.value;\n      break;\n    case \"number\":\n      rightStr = right.value.toString();\n      break;\n    default:\n      return {\n        type: \"error\",\n        err: FormulaError.VALUE,\n        message: `Cannot concatenate ${right.type} - only numbers and strings are supported`,\n        errAddress: context.dependencyNode,\n      };\n  }\n\n  return { type: \"string\", value: leftStr + rightStr };\n};\n"
  ],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAC6B,IAA7B;AAMO,IAAM,cAAmC,CAAC,MAAM,OAAO,YAAY;AAAA,EAExE,IAAI;AAAA,EACJ,IAAI;AAAA,EAGJ,QAAQ,KAAK;AAAA,SACN;AAAA,MACH,UAAU,KAAK;AAAA,MACf;AAAA,SACG;AAAA,MACH,UAAU,KAAK,MAAM,SAAS;AAAA,MAC9B;AAAA;AAAA,MAEA,OAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,0BAAa;AAAA,QAClB,SAAS,sBAAsB,KAAK;AAAA,QACpC,YAAY,QAAQ;AAAA,MACtB;AAAA;AAAA,EAIJ,QAAQ,MAAM;AAAA,SACP;AAAA,MACH,WAAW,MAAM;AAAA,MACjB;AAAA,SACG;AAAA,MACH,WAAW,MAAM,MAAM,SAAS;AAAA,MAChC;AAAA;AAAA,MAEA,OAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,0BAAa;AAAA,QAClB,SAAS,sBAAsB,MAAM;AAAA,QACrC,YAAY,QAAQ;AAAA,MACtB;AAAA;AAAA,EAGJ,OAAO,EAAE,MAAM,UAAU,OAAO,UAAU,SAAS;AAAA;",
  "debugId": "1B4AC84B2404EF2664756E2164756E21",
  "names": []
}