{"version":3,"file":"createStringVariations.mjs","sources":["../../../src/assets/utils/createStringVariations.ts"],"sourcesContent":["function processX(base: string, ids: string[][], depth: number, result: string[], tags: string[])\n{\n    const id = ids[depth];\n\n    for (let i = 0; i < id.length; i++)\n    {\n        const value = id[i];\n\n        if (depth < ids.length - 1)\n        {\n            processX(base.replace(result[depth], value), ids, depth + 1, result, tags);\n        }\n        else\n        {\n            tags.push(base.replace(result[depth], value));\n        }\n    }\n}\n\n/**\n * Creates a list of all possible combinations of the given strings.\n * @example\n * const out2 = createStringVariations('name is {chicken,wolf,sheep}');\n * console.log(out2); // [ 'name is chicken', 'name is wolf', 'name is sheep' ]\n * @param string - The string to process\n * @internal\n */\nexport function createStringVariations(string: string): string[]\n{\n    const regex = /\\{(.*?)\\}/g;\n\n    const result = string.match(regex);\n\n    const tags: string[] = [];\n\n    if (result)\n    {\n        const ids: string[][] = [];\n\n        result.forEach((vars) =>\n        {\n            // first remove the brackets...\n            const split = vars.substring(1, vars.length - 1).split(',');\n\n            ids.push(split);\n        });\n\n        processX(string, ids, 0, result, tags);\n    }\n    else\n    {\n        tags.push(string);\n    }\n\n    return tags;\n}\n"],"names":[],"mappings":";AAAA,SAAS,QAAA,CAAS,IAAA,EAAc,GAAA,EAAiB,KAAA,EAAe,QAAkB,IAAA,EAClF;AACI,EAAA,MAAM,EAAA,GAAK,IAAI,KAAK,CAAA;AAEpB,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,EAAA,CAAG,QAAQ,CAAA,EAAA,EAC/B;AACI,IAAA,MAAM,KAAA,GAAQ,GAAG,CAAC,CAAA;AAElB,IAAA,IAAI,KAAA,GAAQ,GAAA,CAAI,MAAA,GAAS,CAAA,EACzB;AACI,MAAA,QAAA,CAAS,IAAA,CAAK,OAAA,CAAQ,MAAA,CAAO,KAAK,CAAA,EAAG,KAAK,CAAA,EAAG,GAAA,EAAK,KAAA,GAAQ,CAAA,EAAG,MAAA,EAAQ,IAAI,CAAA;AAAA,IAC7E,CAAA,MAEA;AACI,MAAA,IAAA,CAAK,KAAK,IAAA,CAAK,OAAA,CAAQ,OAAO,KAAK,CAAA,EAAG,KAAK,CAAC,CAAA;AAAA,IAChD;AAAA,EACJ;AACJ;AAUO,SAAS,uBAAuB,MAAA,EACvC;AACI,EAAA,MAAM,KAAA,GAAQ,YAAA;AAEd,EAAA,MAAM,MAAA,GAAS,MAAA,CAAO,KAAA,CAAM,KAAK,CAAA;AAEjC,EAAA,MAAM,OAAiB,EAAC;AAExB,EAAA,IAAI,MAAA,EACJ;AACI,IAAA,MAAM,MAAkB,EAAC;AAEzB,IAAA,MAAA,CAAO,OAAA,CAAQ,CAAC,IAAA,KAChB;AAEI,MAAA,MAAM,KAAA,GAAQ,KAAK,SAAA,CAAU,CAAA,EAAG,KAAK,MAAA,GAAS,CAAC,CAAA,CAAE,KAAA,CAAM,GAAG,CAAA;AAE1D,MAAA,GAAA,CAAI,KAAK,KAAK,CAAA;AAAA,IAClB,CAAC,CAAA;AAED,IAAA,QAAA,CAAS,MAAA,EAAQ,GAAA,EAAK,CAAA,EAAG,MAAA,EAAQ,IAAI,CAAA;AAAA,EACzC,CAAA,MAEA;AACI,IAAA,IAAA,CAAK,KAAK,MAAM,CAAA;AAAA,EACpB;AAEA,EAAA,OAAO,IAAA;AACX;;;;"}