{"version":3,"sources":["jsdelivr-header.js","/npm/lrc2json@1.0.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,IAAwB,oBAAX,OAAyB,QAAQ,MAAM,IAAM,KAShE,SAAS,SAAS,GAChB,MAAM,EAAQ,EAAK,MAAM,KAEnB,EAAO,GACP,EAAS,GACT,EAAS,CAAC,EAEV,EAAY,qBACZ,EAAe,yCAErB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,QACpB,EAAU,KAAK,EAAM,IADO,IAE9B,EAAK,KAAK,EAAM,IAKpB,EAAM,OAAO,EAAG,EAAK,QAErB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,OAAQ,IAAK,CACpC,MAAM,EAAU,EAAU,KAAK,EAAK,IACpC,GAAI,EAAS,CACX,MAAO,CAAE,EAAK,GAAS,EACvB,EAAO,GAAO,EAAM,MACtB,CACF,CAEA,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CACrC,MAAM,EAAU,EAAa,KAAK,EAAM,IACxC,GAAI,EAAS,CACX,MAAO,CAAE,EAAM,GAAQ,EACvB,EAAO,KAAK,CACV,KAAM,EACN,KAAM,GAEV,CACF,CAIA,OAFA,EAAe,OAAI,EAEZ,CACT,CAEA,OAAO,QAAU","file":"/npm/lrc2json@1.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/lrc2json@1.0.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const EOL = typeof window === 'undefined' ? require('os').EOL : '\\n';\n\n/**\n * \n * @param data\n * @example '[ar: Linkin Park]\\n[04:31.02]I bleed it out\\n'\n * @returns result\n * \n */\nfunction lrc2json(data) {\n  const lines = data.split(EOL);\n\n  const tags = [];\n  const lyrics = [];\n  const result = {};\n\n  const tagRegExp = /\\[([a-z]+)\\:(.*)\\]/; // e.g. [ar: Linkin Park]\n  const lyricsRegExp = /\\[([0-9]{2}\\:[0-9]{2}\\.[0-9]{2})\\](.*)/; // e.g. [04:31.02]I bleed it out\n\n  for (let i = 0; i < lines.length; i++) {\n    if (tagRegExp.test(lines[i])) {\n      tags.push(lines[i]);\n    } else {\n      break;\n    }\n  }\n  lines.splice(0, tags.length);\n\n  for (let i = 0; i < tags.length; i++) {\n    const matches = tagRegExp.exec(tags[i]);\n    if (matches) {\n      const [, key, value] = matches;\n      result[key] = value.trim();\n    }\n  }\n\n  for (let i = 0; i < lines.length; i++) {\n    const matches = lyricsRegExp.exec(lines[i]);\n    if (matches) {\n      const [, time, text] = matches;\n      lyrics.push({\n        time: time,\n        text: text,\n      });\n    }\n  }\n\n  result['lyrics'] = lyrics;\n\n  return result;\n}\n\nmodule.exports = lrc2json;\n"]}