@dpkit/file
Version:
Fast TypeScript data management framework built on top of the Data Package standard and Polars DataFrames
18 lines • 2.44 kB
JavaScript
import { isRemotePath } from "@dpkit/core";
import { copyFile } from "./copy.js";
import { getTempFilePath } from "./temp.js";
export async function prefetchFiles(path) {
if (!path)
return [];
const paths = Array.isArray(path) ? path : [path];
const newPaths = await Promise.all(paths.map(prefetchFile));
return newPaths;
}
export async function prefetchFile(path) {
if (!isRemotePath(path))
return path;
const newPath = getTempFilePath();
await copyFile({ sourcePath: path, targetPath: newPath });
return newPath;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9maWxlL2ZldGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRTNDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsYUFBYSxDQUFDLElBQXdCO0lBQzFELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFDcEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2pELE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUE7SUFDM0QsT0FBTyxRQUFRLENBQUE7QUFDakIsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWSxDQUFDLElBQVk7SUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUNwQyxNQUFNLE9BQU8sR0FBRyxlQUFlLEVBQUUsQ0FBQTtJQUNqQyxNQUFNLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDekQsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUmVtb3RlUGF0aCB9IGZyb20gXCJAZHBraXQvY29yZVwiXG5pbXBvcnQgeyBjb3B5RmlsZSB9IGZyb20gXCIuL2NvcHkudHNcIlxuaW1wb3J0IHsgZ2V0VGVtcEZpbGVQYXRoIH0gZnJvbSBcIi4vdGVtcC50c1wiXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcmVmZXRjaEZpbGVzKHBhdGg/OiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICBpZiAoIXBhdGgpIHJldHVybiBbXVxuICBjb25zdCBwYXRocyA9IEFycmF5LmlzQXJyYXkocGF0aCkgPyBwYXRoIDogW3BhdGhdXG4gIGNvbnN0IG5ld1BhdGhzID0gYXdhaXQgUHJvbWlzZS5hbGwocGF0aHMubWFwKHByZWZldGNoRmlsZSkpXG4gIHJldHVybiBuZXdQYXRoc1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJlZmV0Y2hGaWxlKHBhdGg6IHN0cmluZykge1xuICBpZiAoIWlzUmVtb3RlUGF0aChwYXRoKSkgcmV0dXJuIHBhdGhcbiAgY29uc3QgbmV3UGF0aCA9IGdldFRlbXBGaWxlUGF0aCgpXG4gIGF3YWl0IGNvcHlGaWxlKHsgc291cmNlUGF0aDogcGF0aCwgdGFyZ2V0UGF0aDogbmV3UGF0aCB9KVxuICByZXR1cm4gbmV3UGF0aFxufVxuIl19