mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 16:23:44 +00:00
32 lines
1.0 KiB
TypeScript
32 lines
1.0 KiB
TypeScript
import * as program from 'commander';
|
|
|
|
import { Response } from '../models/response';
|
|
import { StringResponse } from '../models/response/stringResponse';
|
|
|
|
export class EncodeCommand {
|
|
run(cmd: program.Command): Promise<Response> {
|
|
if (process.stdin == null || process.stdin.isTTY) {
|
|
return Promise.resolve(Response.badRequest('No stdin was piped in.'));
|
|
}
|
|
|
|
return new Promise((resolve, reject) => {
|
|
let input: string = '';
|
|
process.stdin.setEncoding('utf8');
|
|
process.stdin.on('readable', () => {
|
|
while (true) {
|
|
const chunk = process.stdin.read();
|
|
if (chunk == null) {
|
|
break;
|
|
}
|
|
input += chunk;
|
|
}
|
|
});
|
|
process.stdin.on('end', () => {
|
|
const b64 = new Buffer(input, 'utf8').toString('base64');
|
|
var res = new StringResponse(b64);
|
|
resolve(Response.success(res));
|
|
});
|
|
});
|
|
}
|
|
}
|