Files
windmill/frontend/src/lib/path.ts

26 lines
585 B
TypeScript

import { get } from 'svelte/store'
import { ScriptService } from './gen'
import { workspaceStore } from './stores'
export async function findNextAvailablePath(path: string): Promise<string> {
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
}
}