import * as fs from 'fs'; import * as util from 'util'; import * as tmp from 'tmp'; tmp.setGracefulCleanup(); export const readFile: (filename: string) => Promise = util.promisify(fs.readFile); export const readFileAsString = (filename: string): Promise => readFile(filename).then((c) => c.toString()); export const writeFile: (filename: string, contents: string) => Promise = util.promisify(fs.writeFile); export const exists: (filename: string) => Promise = util.promisify(fs.exists); export const tempFolder = (options: tmp.DirOptions = { keep: false, prefix: 'beehive-flow', unsafeCleanup: true }): Promise => { const tf: (o?: tmp.DirOptions) => Promise = util.promisify(tmp.dir); return tf(options); };