@baseplate-dev/sync
Version:
Library for syncing Baseplate descriptions
31 lines • 1.06 kB
JavaScript
import { handleFileNotFoundError } from '@baseplate-dev/utils/node';
import fs from 'node:fs/promises';
import path from 'node:path';
import { fileExists } from '#src/utils/fs.js';
/**
* Create a codebase file reader from a directory
*
* @param directory - Directory to read files from
* @returns Codebase file reader
*/
export function createCodebaseFileReaderFromDirectory(directory) {
return {
fileExists: (relativePath) => fileExists(path.join(directory, relativePath)),
readFile: (relativePath) => fs
.readFile(path.join(directory, relativePath))
.catch(handleFileNotFoundError),
};
}
/**
* Create a codebase file reader from a map of files
*
* @param files - Map of files to read
* @returns Codebase file reader
*/
export function createCodebaseReaderFromMemory(files) {
return {
fileExists: (relativePath) => Promise.resolve(files.has(relativePath)),
readFile: (relativePath) => Promise.resolve(files.get(relativePath)),
};
}
//# sourceMappingURL=codebase-file-reader.js.map