global.stdin = () => { const fs = require('fs') const out = fs.readFileSync(0).toString() return out.tryParseJSON() } Object.prototype.map = function(cb) { return cb(this) } String.prototype.lines = function() { let res = this.split("\n") return res.at(-1) === '' ? res.slice(0, -1) : res } String.prototype.reverse = function() { return this.split('').reverse().join('') } String.prototype.tryParseJSON = function() { const str = this.trim() if ( (str.at(0) === '{' && str.at(-1) === '}') || (str.at(0) === '[' && str.at(-1) === ']') ) { try { return JSON.parse(str) } catch (err) { return this.toString() } } return this.toString() } Buffer.prototype.tryParseJSON = function() { const out = this.toString().tryParseJSON() if (typeof out === 'string') { return this } else { return out } } global.exec = (command, args, options) => { const child_process = require('child_process') const res = child_process.spawnSync(command, args, options) res.stdout = res.stdout.tryParseJSON() res.stderr = res.stderr.tryParseJSON() return res }