Files
test/tools/tool.ts
Jan Rabcan 58653e89e7
Some checks failed
internetmastercz/test/pipeline/head There was a failure building this commit
add website.
2021-10-20 02:39:36 +02:00

60 lines
1.3 KiB
TypeScript

import { walk } from "https://deno.land/std/fs/mod.ts";
/**
*
* @param path
*/
async function readFile( path : string ) : Promise<string> {
console.log( `${ path }: Loading...` );
const file = await Deno.open( path );
const decoder = new TextDecoder( "utf-8" );
const text = decoder.decode( await Deno.readAll( file ) );
console.log( `${ path }: Loaded` );
return text;
}
/**
*
* @param path
*/
async function readFileRaw( path : string ) : Promise<Uint8Array> {
console.log( `${ path }: Loading...` );
const raw = await Deno.readFile(path);
console.log( `${ path }: Loaded` );
return raw;
}
/**
*
* @param sourcePath
* @param destinationPath
*/
async function copyFile( sourcePath : string, destinationPath : string ) {
console.log( `${ sourcePath } -> ${ destinationPath }: Copying assets` );
await Deno.copyFile( sourcePath, destinationPath );
console.log( `${ sourcePath } -> ${ destinationPath }: Copied` );
}
/**
*
* @param directoryPath
*/
async function getFileList( directoryPath : string ) {
const fileNames = [];
for await ( const entry of walk( directoryPath ) ) {
const fileName = entry.path.substr( directoryPath.length - 1 );
if ( entry.isFile ) {
fileNames.push( {path: fileName, absolutePath: entry.path} );
}
}
return fileNames;
}
export {
readFileRaw,
readFile,
copyFile,
getFileList
};