import { get } from 'svelte/store' import { ScriptService } from './gen' import { workspaceStore } from './stores' export async function findNextAvailablePath(path: string): Promise { try { await ScriptService.getScriptByPath({ workspace: get(workspaceStore)!, path }) const [_, version] = path.split(/.*_([0-9]*)/) if (version.length > 0) { path = path.slice(0, -(version.length + 1)) } path = `${path}_${Number(version) + 1}` return findNextAvailablePath(path) } catch (e) { // Catching an error means the path is available return path } }