27 lines
778 B
TypeScript
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;
|
|
}
|