UNPKG

airship-server

Version:

Airship is a framework for Node.JS & TypeScript that helps you to write big, scalable and maintainable API servers.

64 lines (52 loc) 1.64 kB
import {writeFile, readFile, readdir} from "fs"; export default class BaseConsoleApplication { protected env = process.env['NODE_ENV'] || 'development' protected isProduction = this.env == 'production' protected die(error: string) { console.error(error) process.exit() } protected getArgs() { let result: any = { } process.argv.forEach(arg => { let test = arg.split('=') if (test[0] && test[1] && (test[0][0] + test[0][0]) == '--') { result[test[0].replace('--', '')] = test[1] } }) return result } protected async saveToFile(name: string, data: string): Promise<any> { return new Promise((resolve, reject) => { writeFile(name, data, err => { if (err) { reject(err) return } resolve() }) }) } protected async readFile(name: string): Promise<string> { return new Promise<string>((resolve, reject) => { readFile(name, 'utf-8', (err, data) => { if (err) { reject(err) return } resolve(data) }) }) } protected async readDir(dir: string): Promise<string[]> { return new Promise<string[]>((resolve, reject) => { readdir(dir, (err, files) => { if (err) { reject(err) return } resolve(files) }) }) } }