From 14d591caa1abb2e11f58b8ff61e1253a2292251f Mon Sep 17 00:00:00 2001 From: d98762625 Date: Mon, 11 Mar 2019 09:47:58 +0000 Subject: [PATCH] more debugging --- src/core/Dish.mjs | 16 ++++++++++++++++ src/core/Utils.mjs | 2 +- src/core/dishTranslationTypes/DishFile.mjs | 2 ++ src/node/api.mjs | 8 +++++--- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/core/Dish.mjs b/src/core/Dish.mjs index 452be80d..3e2aa651 100755 --- a/src/core/Dish.mjs +++ b/src/core/Dish.mjs @@ -44,6 +44,10 @@ class Dish { if (dishOrInput && dishOrInput.hasOwnProperty("value") && dishOrInput.hasOwnProperty("type")) { + console.log('first setting'); + console.log(dishOrInput); + console.log(dishOrInput.constructor.name); + console.log(dishOrInput.value); this.set(dishOrInput.value, dishOrInput.type); // input and type defined separately } else if (dishOrInput && type) { @@ -99,6 +103,8 @@ class Dish { * @returns {string} The data type as a string. */ static enumLookup(typeEnum) { + console.trace('enumLookup'); + console.log('type ' + typeEnum); switch (typeEnum) { case Dish.BYTE_ARRAY: return "byteArray"; @@ -174,11 +180,16 @@ class Dish { type = Dish.typeEnum(type); } + console.log('Dish setting:'); + console.log(value); + console.log(type); + log.debug("Dish type: " + Dish.enumLookup(type)); this.value = value; this.type = type; if (!this.valid()) { + console.log('invalid!'); const sample = Utils.truncate(JSON.stringify(this.value), 13); throw new DishError(`Data is not a valid ${Dish.enumLookup(type)}: ${sample}`); } @@ -220,6 +231,8 @@ class Dish { // All values can be serialised in some manner, so we return true in all cases return true; case Dish.FILE: + console.log("Validating on file"); + console.log(this.value instanceof File); return this.value instanceof File; case Dish.LIST_FILE: return this.value instanceof Array && @@ -336,6 +349,8 @@ class Dish { // Node environment => translate is sync if (Utils.isNode()) { + console.log('_translate toType:'); + console.log(toType); this._toByteArray(); this._fromByteArray(toType, notUTF8); @@ -389,6 +404,7 @@ class Dish { }; try { + console.log("_tyByteArray this.type: " + this.type); return toByteArrayFuncs[Utils.isNode() && "node" || "browser"][this.type](); } catch (err) { throw new DishError(`Error translating from ${Dish.enumLookup(this.type)} to byteArray: ${err}`); diff --git a/src/core/Utils.mjs b/src/core/Utils.mjs index 934186ab..3b44b60e 100755 --- a/src/core/Utils.mjs +++ b/src/core/Utils.mjs @@ -967,7 +967,7 @@ class Utils { throw new TypeError("Browser environment cannot support readFileSync"); } - return Buffer.from(file).buffer; + return Buffer.from(file.data).buffer; } diff --git a/src/core/dishTranslationTypes/DishFile.mjs b/src/core/dishTranslationTypes/DishFile.mjs index 11a9c871..edf38b97 100644 --- a/src/core/dishTranslationTypes/DishFile.mjs +++ b/src/core/dishTranslationTypes/DishFile.mjs @@ -19,6 +19,8 @@ class DishFile extends DishTranslationType { static toByteArray() { DishFile.checkForValue(this.value); if (Utils.isNode()) { + console.log("valie: "); + console.log(this.value); this.value = Array.prototype.slice.call(Utils.readFileSync(this.value)); } else { return new Promise((resolve, reject) => { diff --git a/src/node/api.mjs b/src/node/api.mjs index e44a1752..dcc7eef3 100644 --- a/src/node/api.mjs +++ b/src/node/api.mjs @@ -140,7 +140,7 @@ function prepareOp(opInstance, input, args) { function createArgOptions(op) { const result = {}; op.args.forEach((a) => { - if (a.type === "option") { + if (a.type === "option" || a.type === "editableOption") { result[sentenceToCamelCase(a.name)] = removeSubheadingsFromArray(a.value); } else if (a.type === "toggleString") { result[sentenceToCamelCase(a.name)] = removeSubheadingsFromArray(a.toggleValues); @@ -183,7 +183,7 @@ export function wrap(OpClass) { const result = await opInstance.run(transformedInput, transformedArgs); return new NodeDish({ value: result, - type: opInstance.outputType + type: opInstance.outputType, }); }; } else { @@ -197,9 +197,11 @@ export function wrap(OpClass) { wrapped = (input, args=null) => { const {transformedInput, transformedArgs} = prepareOp(opInstance, input, args); const result = opInstance.run(transformedInput, transformedArgs); + console.log('Result:'); + console.log(result); return new NodeDish({ value: result, - type: opInstance.outputType + type: opInstance.outputType, }); }; }