{"mappings":";AAsBO,SAASA,EAAMC,EAAO,CAE3B,IAAMC,EAAS,CAAC,EACVC,EAAQ,OAAOF,GAAS,EAAE,EAC5BG,EAAQD,EAAM,QAAQ,GAAG,EACzBE,EAAQ,EAERC,EAAM,GAEV,KAAO,CAACA,GAAK,CACPF,IAAU,KACZA,EAAQD,EAAM,OACdG,EAAM,IAGR,IAAMC,EAAQJ,EAAM,MAAME,EAAOD,CAAK,EAAE,KAAK,GAEzCG,GAAS,CAACD,IACZJ,EAAO,KAAKK,CAAK,EAGnBF,EAAQD,EAAQ,EAChBA,EAAQD,EAAM,QAAQ,IAAKE,CAAK,CAClC,CAEA,OAAOH,CACT,CAYO,SAASM,EAAUC,EAAQC,EAAS,CACzC,IAAMC,EAAWD,GAAW,CAAC,EAK7B,OAFcD,EAAOA,EAAO,OAAS,CAAC,IAAM,GAAK,CAAC,GAAGA,EAAQ,EAAE,EAAIA,GAGhE,MACEE,EAAS,SAAW,IAAM,IACzB,KACCA,EAAS,UAAY,GAAQ,GAAK,IACvC,EACC,KAAK,CACV","names":["parse","value","tokens","input","index","start","end","token","stringify","values","options","settings"],"sources":["../esm/npm/comma-separated-tokens@2.0.3/node_modules/comma-separated-tokens/index.js"],"sourcesContent":["/**\n * @typedef Options\n *   Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n *   Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n *   Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n *   Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n *   Comma-separated tokens.\n * @returns {Array\u003cstring\u003e}\n *   List of tokens.\n */\nexport function parse(value) {\n  /** @type {Array\u003cstring\u003e} */\n  const tokens = []\n  const input = String(value || '')\n  let index = input.indexOf(',')\n  let start = 0\n  /** @type {boolean} */\n  let end = false\n\n  while (!end) {\n    if (index === -1) {\n      index = input.length\n      end = true\n    }\n\n    const token = input.slice(start, index).trim()\n\n    if (token || !end) {\n      tokens.push(token)\n    }\n\n    start = index + 1\n    index = input.indexOf(',', start)\n  }\n\n  return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array\u003cstring|number\u003e} values\n *   List of tokens.\n * @param {Options} [options]\n *   Configuration for `stringify` (optional).\n * @returns {string}\n *   Comma-separated tokens.\n */\nexport function stringify(values, options) {\n  const settings = options || {}\n\n  // Ensure the last empty entry is seen.\n  const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n  return input\n    .join(\n      (settings.padRight ? ' ' : '') +\n        ',' +\n        (settings.padLeft === false ? '' : ' ')\n    )\n    .trim()\n}\n"],"version":3}
