mirror of
https://github.com/gchq/CyberChef.git
synced 2025-04-23 00:06:17 -04:00
Improve use of files as input. Add dish to repl
This commit is contained in:
parent
431f1d4be0
commit
25e0585742
4 changed files with 19 additions and 12 deletions
|
@ -23,6 +23,14 @@ class SyncDish extends Dish {
|
|||
* @param {String|Number} - The dish type, as enum or string
|
||||
*/
|
||||
constructor(inputOrDish=null, type=null) {
|
||||
|
||||
// Allow `fs` file input:
|
||||
// Any node fs Buffers transformed to array buffer
|
||||
// NOT Buffer.buff, as this makes a buffer of the whole object.
|
||||
if (Buffer.isBuffer(inputOrDish)) {
|
||||
inputOrDish = new Uint8Array(inputOrDish).buffer;
|
||||
}
|
||||
|
||||
super(inputOrDish, type);
|
||||
|
||||
// Add operations to make it composable
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
|
||||
/*eslint no-console: ["off"] */
|
||||
|
||||
|
||||
import Dish from "../core/Dish";
|
||||
import SyncDish from "./SyncDish";
|
||||
import NodeRecipe from "./NodeRecipe";
|
||||
import OperationConfig from "./config/OperationConfig.json";
|
||||
|
@ -107,15 +105,11 @@ function ensureIsDish(input) {
|
|||
return new SyncDish();
|
||||
}
|
||||
|
||||
let dish;
|
||||
if (input instanceof SyncDish) {
|
||||
dish = input;
|
||||
return input;
|
||||
} else {
|
||||
dish = new SyncDish();
|
||||
const type = Dish.typeEnum(input.constructor.name);
|
||||
dish.set(input, type);
|
||||
return new SyncDish(input);
|
||||
}
|
||||
return dish;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -126,10 +120,6 @@ function ensureIsDish(input) {
|
|||
* @param args - operation args
|
||||
*/
|
||||
function prepareOp(opInstance, input, args) {
|
||||
// convert any Buffers into ArrayBuffers.
|
||||
if (input instanceof Buffer) {
|
||||
input = input.buffer;
|
||||
}
|
||||
const dish = ensureIsDish(input);
|
||||
let transformedArgs;
|
||||
// Transform object-style args to original args array
|
||||
|
|
|
@ -34,3 +34,4 @@ operations.forEach((op) => {
|
|||
|
||||
replServer.context.help = chef.help;
|
||||
replServer.context.bake = chef.bake;
|
||||
replServer.context.Dish = chef.Dish;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue