mirror of
https://github.com/denoland/deno.git
synced 2024-11-23 15:16:54 -05:00
34 lines
773 B
TypeScript
34 lines
773 B
TypeScript
|
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
|
||
|
|
||
|
export interface ReadOptions {
|
||
|
encoding?: string;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Read file synchronously and output it as a string.
|
||
|
*
|
||
|
* @param filename File to read
|
||
|
* @param opts Read options
|
||
|
*/
|
||
|
export function readFileStrSync(
|
||
|
filename: string,
|
||
|
opts: ReadOptions = {}
|
||
|
): string {
|
||
|
const decoder = new TextDecoder(opts.encoding);
|
||
|
return decoder.decode(Deno.readFileSync(filename));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Read file and output it as a string.
|
||
|
*
|
||
|
* @param filename File to read
|
||
|
* @param opts Read options
|
||
|
*/
|
||
|
export async function readFileStr(
|
||
|
filename: string,
|
||
|
opts: ReadOptions = {}
|
||
|
): Promise<string> {
|
||
|
const decoder = new TextDecoder(opts.encoding);
|
||
|
return decoder.decode(await Deno.readFile(filename));
|
||
|
}
|