Files
2026-06-30 16:31:03 +08:00

27 lines
778 B
TypeScript

import path from "node:path";
const audioPathPrefix = "/audio";
export function getAudioDirectory() {
return process.env.AUDIO_DIRECTORY || path.join(/*turbopackIgnore: true*/ process.cwd(), "public", "audio");
}
export function getAudioPublicPath(fileName: string) {
return `${audioPathPrefix}/${fileName}`;
}
export function getAudioFilePath(...segments: string[]) {
return path.join(getAudioDirectory(), ...segments);
}
export function resolveAudioFilePath(segments: string[]) {
const audioDirectory = path.resolve(/*turbopackIgnore: true*/ getAudioDirectory());
const filePath = path.resolve(audioDirectory, ...segments);
if (filePath !== audioDirectory && !filePath.startsWith(`${audioDirectory}${path.sep}`)) {
return null;
}
return filePath;
}