{"version":3,"file":"d3-decompose.mjs","sources":["../src/d3-decompose.js"],"sourcesContent":["/**\n * Decomposes transform attribute in an object\n * @param {string} input Transform string to decompose\n * @param {boolean=true} asString Return the values as arrays (false) or transform strings (true)\n * @returns {}\n */\nexport default function decompose(input = '', asString = true) {\n  let transform = {};\n\n  if(!input || input === '') return transform;\n\n  const typeRegex = /(\\w+\\([\\w+., -]*\\))/g;\n  const valuesRegex = /([-\\d.]+)[, ]?/g;\n\n  let t = null;\n\n  while (t = typeRegex.exec(input)) {\n    const typeValuesRegex = /(\\w+)\\(([^\\)]+)\\)/g;\n    let tv = typeValuesRegex.exec(t[1]);\n\n    const key = tv[1];\n    const valueString = tv[2];\n    let values = [];\n\n    let v = null;\n    while (v = valuesRegex.exec(valueString)) {\n      values.push(v[1]);\n    }\n\n    transform[key] = asString === true ? `${key}(${values.join(',')})` : values;\n  }\n\n  return transform;\n}"],"names":["decompose","input","asString","transform","typeRegex","valuesRegex","t","exec","typeValuesRegex","tv","key","valueString","values","v","push","join"],"mappings":"AAAA;;;;;;AAMA,AAAe,SAASA,SAAT,GAAgD;MAA7BC,KAA6B,uEAArB,EAAqB;MAAjBC,QAAiB,uEAAN,IAAM;;MACzDC,YAAY,EAAhB;;MAEG,CAACF,KAAD,IAAUA,UAAU,EAAvB,EAA2B,OAAOE,SAAP;;MAErBC,YAAY,sBAAlB;MACMC,cAAc,iBAApB;;MAEIC,IAAI,IAAR;;SAEOA,IAAIF,UAAUG,IAAV,CAAeN,KAAf,CAAX,EAAkC;QAC1BO,kBAAkB,oBAAxB;QACIC,KAAKD,gBAAgBD,IAAhB,CAAqBD,EAAE,CAAF,CAArB,CAAT;;QAEMI,MAAMD,GAAG,CAAH,CAAZ;QACME,cAAcF,GAAG,CAAH,CAApB;QACIG,SAAS,EAAb;;QAEIC,IAAI,IAAR;WACOA,IAAIR,YAAYE,IAAZ,CAAiBI,WAAjB,CAAX,EAA0C;aACjCG,IAAP,CAAYD,EAAE,CAAF,CAAZ;;;cAGQH,GAAV,IAAiBR,aAAa,IAAb,GAAuBQ,GAAvB,SAA8BE,OAAOG,IAAP,CAAY,GAAZ,CAA9B,SAAoDH,MAArE;;;SAGKT,SAAP;;;"}