@kadena/kadena-cli
Version:
Kadena CLI tool to interact with the Kadena blockchain (manage keys, transactions, etc.)
31 lines • 1.45 kB
JavaScript
import { parseTemplate } from '@kadena/pactjs-generator';
import { basename, extname, join } from 'path';
import { services } from '../../../services/index.js';
import { log } from '../../../utils/logger.js';
export async function getTemplateFilesPaths(fileOrDirectory) {
const lstat = await services.filesystem.lstat(join(process.cwd(), fileOrDirectory));
if (lstat.isDirectory() === true) {
const filenames = await services.filesystem.readDir(fileOrDirectory);
return filenames.map((filename) => join(process.cwd(), fileOrDirectory, filename));
}
return [fileOrDirectory];
}
export async function getFilesAndContents(filepaths) {
const filesAndContents = await Promise.all(filepaths.map(
// eslint-disable-next-line @typescript-eslint/naming-convention
async (filepath, _, filesArr) => {
log.info(`Parsing template(s) from ${filepath}`);
const name = basename(filepath, extname(filepath));
const isUniqueName = filesArr.filter((f) => basename(f, extname(f)) === name).length === 1;
const template = await services.filesystem.readFile(filepath);
if (template !== null) {
return {
name: isUniqueName ? name : basename(filepath),
template: parseTemplate(template),
};
}
return null;
}));
return filesAndContents.filter((result) => result !== null);
}
//# sourceMappingURL=utils.js.map