rising
Version:
rising is a framework targeted for new programmers.
121 lines (106 loc) • 2.37 kB
JavaScript
const child_process = require('child_process')
const readline = require('readline')
const http = require('http')
const util = require('util')
const os = require('os')
const fs = require('fs')
const args = process.argv
const argc = args.length
const rising = {
print: print, // write to stdout; print out a message
println: println, // write to stdout; print out a message + new line
execute: execute, // execute a (shell) command
exec: execute, // 'execute' alias
fopen: fopen, // open up a file
fread: fread, // read from file
freadline: freadline, // read a line from a file
freadl: freadline, // 'freadline' alias
fappend: fappend, // append file contents
args: args, // get command-line arguments
argc: argc // get command-line arguments length
}
var fdata = null
var fname = null
var fopened = false
/**
* Print out a message.
*
* @param String msg Your message.
*/
function print(msg) {
process.stdout.write(msg, 'utf88')
}
/**
* Print out a message.
* Automatically adds a new line.
*
* @param String msg Your message.
*/
function println(msg) {
process.stdout.write(util.format('%s\n', msg), 'utf8')
}
/**
* Execute a (shell) command.
*
* @param String cmd Your command.
*/
function execute(cmd) {
child_process.exec(cmd)
}
/**
* Execute a (shell) command.
*
* @param String cmd Your command.
* @param Function cb Your callback.
*/
function execute(cmd, cb) {
child_process.exec(cmd, cb)
}
/**
* Open up a file.
*
* @param String fnew Your file name.
*/
function fopen(fnew) {
fname = fnew
fopened = false
}
/**
* Read the selected file.
* Before using this method,
* the 'open' function has to be called.
*
*/
function fread() {
fs.readFile(fname, (err, data) => {
if (err) throw err
fdata = data
})
return fdata
}
function freadline(line) {
var fin = fs.createReadStream(fname)
var fout = new (require('stream'))()
var frl = readline.createInterface(fin, fout)
return frl
}
/**
* Append file content.
*
* @param String data Your file data.
*/
function fappend(data) {
fs.appendFile(fname, data, (err) => {
if (err) throw err;
})
}
/**
* Close a file.
*
*/
function fclose() {
fname = null
fdata = null
fopened = false
}
module.exports = rising