mlld
Version:
mlld: llm scripting language
1 lines • 3.39 kB
Source Map (JSON)
{"version":3,"sources":["../core/utils/locationFormatter.ts"],"names":["formatLocation","location","display","filePath","parts","push","line","undefined","column","join","file","formatLocationForError"],"mappings":";;;AASO,SAASA,eAAeC,QAA+D,EAAA;AAC5F,EAAA,IAAI,CAACA,QAAU,EAAA;AACb,IAAO,OAAA;MAAEC,OAAS,EAAA;AAAmB,KAAA;AACvC;AAEA,EAAI,IAAA,UAAA,IAAcD,QAAYA,IAAAA,QAAAA,CAASE,QAAU,EAAA;AAC/C,IAAA,MAAMC,QAAkB,EAAA;AAExB,IAAA,IAAIH,SAASE,QAAU,EAAA;AACrBC,MAAMC,KAAAA,CAAAA,IAAAA,CAAKJ,SAASE,QAAQ,CAAA;AAC9B;AAEA,IAAIF,IAAAA,QAAAA,CAASK,SAASC,MAAW,EAAA;AAC/B,MAAIN,IAAAA,QAAAA,CAASO,WAAWD,MAAW,EAAA;AACjCH,QAAAA,KAAAA,CAAMC,KAAK,CAAGJ,EAAAA,QAAAA,CAASK,IAAI,CAAIL,CAAAA,EAAAA,QAAAA,CAASO,MAAM,CAAE,CAAA,CAAA;OAC3C,MAAA;AACLJ,QAAAA,KAAAA,CAAMC,IAAK,CAAA,CAAA,KAAA,EAAQJ,QAASK,CAAAA,IAAI,CAAE,CAAA,CAAA;AACpC;AACF;AAEA,IAAO,OAAA;MACLJ,OAASE,EAAAA,KAAAA,CAAMK,KAAK,GAAA,CAAA;AACpBC,MAAAA,IAAAA,EAAMT,QAASE,CAAAA,QAAAA;AACfG,MAAAA,IAAAA,EAAML,QAASK,CAAAA,IAAAA;AACfE,MAAAA,MAAAA,EAAQP,QAASO,CAAAA;AACnB,KAAA;AACF;AAEA,EAAA,IAAI,MAAUP,IAAAA,QAAAA,IAAYA,QAASK,CAAAA,IAAAA,KAASC,MAAW,EAAA;AACrD,IAAA,MAAMH,QAAkB,EAAA;AAExB,IAAIH,IAAAA,QAAAA,CAASO,WAAWD,MAAW,EAAA;AACjCH,MAAAA,KAAAA,CAAMC,KAAK,CAAQJ,KAAAA,EAAAA,QAAAA,CAASK,IAAI,CAAYL,SAAAA,EAAAA,QAAAA,CAASO,MAAM,CAAE,CAAA,CAAA;KACxD,MAAA;AACLJ,MAAAA,KAAAA,CAAMC,IAAK,CAAA,CAAA,KAAA,EAAQJ,QAASK,CAAAA,IAAI,CAAE,CAAA,CAAA;AACpC;AAEA,IAAO,OAAA;MACLJ,OAASE,EAAAA,KAAAA,CAAMK,KAAK,EAAA,CAAA;AACpBH,MAAAA,IAAAA,EAAML,QAASK,CAAAA,IAAAA;AACfE,MAAAA,MAAAA,EAAQP,QAASO,CAAAA;AACnB,KAAA;AACF;AAEA,EAAO,OAAA;IAAEN,OAAS,EAAA;AAAmB,GAAA;AACvC;AA7CgBF,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AA+CT,SAASW,uBAAuBV,QAA+D,EAAA;AACpG,EAAOD,OAAAA,cAAAA,CAAeC,QAAAA,CAAUC,CAAAA,OAAAA;AAClC;AAFgBS,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA","file":"chunk-AGM4RHIX.mjs","sourcesContent":["import type { InterpreterLocation, ErrorSourceLocation } from '@core/types';\n\nexport interface FormattedLocation {\n readonly display: string;\n readonly file?: string;\n readonly line?: number;\n readonly column?: number;\n}\n\nexport function formatLocation(location: InterpreterLocation | ErrorSourceLocation | undefined): FormattedLocation {\n if (!location) {\n return { display: 'unknown location' };\n }\n\n if ('filePath' in location && location.filePath) {\n const parts: string[] = [];\n \n if (location.filePath) {\n parts.push(location.filePath);\n }\n \n if (location.line !== undefined) {\n if (location.column !== undefined) {\n parts.push(`${location.line}:${location.column}`);\n } else {\n parts.push(`line ${location.line}`);\n }\n }\n \n return {\n display: parts.join(':'),\n file: location.filePath,\n line: location.line,\n column: location.column\n };\n }\n\n if ('line' in location && location.line !== undefined) {\n const parts: string[] = [];\n \n if (location.column !== undefined) {\n parts.push(`line ${location.line}, column ${location.column}`);\n } else {\n parts.push(`line ${location.line}`);\n }\n \n return {\n display: parts.join(''),\n line: location.line,\n column: location.column\n };\n }\n\n return { display: 'unknown location' };\n}\n\nexport function formatLocationForError(location: InterpreterLocation | ErrorSourceLocation | undefined): string {\n return formatLocation(location).display;\n}"]}