From bf0007ff3a99629e129c2c4847451f454b47a133 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Sat, 27 May 2017 03:21:55 +0200 Subject: [PATCH] fix deep add --- dist/smartscaf.helpers.js | 11 ++++++++++- test/test_output/defaults.yml | 4 +++- test/test_output/template1.md | 4 ++-- test/test_template/defaults.yml | 4 +++- test/test_template/template1.md | 4 ++-- ts/smartscaf.helpers.ts | 7 +++++++ 6 files changed, 27 insertions(+), 7 deletions(-) diff --git a/dist/smartscaf.helpers.js b/dist/smartscaf.helpers.js index 1b309d9..e323210 100644 --- a/dist/smartscaf.helpers.js +++ b/dist/smartscaf.helpers.js @@ -24,13 +24,22 @@ exports.deepAddToObject = (objectArg, varStringArg, valueArg) => __awaiter(this, return null; })(); // build the tree in suppliedVariables + console.log(referencePointer); + console.log(varName); if (!referencePointer[varName] && !varNameNext) { referencePointer[varName] = valueArg; + referencePointer = null; } else if (!referencePointer[varName] && varNameNext) { referencePointer[varName] = {}; referencePointer = referencePointer[varName]; } + else if (referencePointer[varName] && varNameNext) { + referencePointer = referencePointer[varName]; + } + else { + throw new Error('Something is strange!'); + } } }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzY2FmLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydHNjYWYuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBRUE7O0dBRUc7QUFDUSxRQUFBLGVBQWUsR0FBRyxDQUFPLFNBQVMsRUFBRSxZQUFvQixFQUFFLFFBQWdCO0lBQ25GLElBQUksYUFBYSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDM0MsSUFBSSxnQkFBZ0IsR0FBRyxTQUFTLENBQUE7SUFDaEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDaEQsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTlCLDZCQUE2QjtRQUM3QixJQUFJLFdBQVcsR0FBVyxDQUFDO1lBQ3pCLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUM3QixDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQTtRQUNiLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFFSixzQ0FBc0M7UUFDdEMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDL0MsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFBO1FBQ3RDLENBQUM7UUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3JELGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQTtZQUM5QixnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM5QyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQSxDQUFBIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzY2FmLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydHNjYWYuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBRUE7O0dBRUc7QUFDUSxRQUFBLGVBQWUsR0FBRyxDQUFPLFNBQVMsRUFBRSxZQUFvQixFQUFFLFFBQWdCO0lBQ25GLElBQUksYUFBYSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDM0MsSUFBSSxnQkFBZ0IsR0FBRyxTQUFTLENBQUE7SUFDaEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDaEQsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTlCLDZCQUE2QjtRQUM3QixJQUFJLFdBQVcsR0FBVyxDQUFDO1lBQ3pCLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUM3QixDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQTtRQUNiLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFFSixzQ0FBc0M7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDcEIsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDL0MsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFBO1lBQ3BDLGdCQUFnQixHQUFHLElBQUksQ0FBQTtRQUN6QixDQUFDO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNyRCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUE7WUFDOUIsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDOUMsQ0FBQztRQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3BELGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzlDLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUMxQyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQSxDQUFBIn0= \ No newline at end of file diff --git a/test/test_output/defaults.yml b/test/test_output/defaults.yml index 8034e5d..8303136 100644 --- a/test/test_output/defaults.yml +++ b/test/test_output/defaults.yml @@ -1,2 +1,4 @@ templateVar1: from default yaml -templateVar2: this is another value from yml \ No newline at end of file +templateVar2: this is another value from yml +templateObject.value1: wow +templateObject.value2: here \ No newline at end of file diff --git a/test/test_output/template1.md b/test/test_output/template1.md index 3009a6c..d69a7aa 100644 --- a/test/test_output/template1.md +++ b/test/test_output/template1.md @@ -1,3 +1,3 @@ -# this is a from default yaml -# this is a this is another value from yml +# this is a wow +# this is a here # this is a undefined variable diff --git a/test/test_template/defaults.yml b/test/test_template/defaults.yml index 8034e5d..8303136 100644 --- a/test/test_template/defaults.yml +++ b/test/test_template/defaults.yml @@ -1,2 +1,4 @@ templateVar1: from default yaml -templateVar2: this is another value from yml \ No newline at end of file +templateVar2: this is another value from yml +templateObject.value1: wow +templateObject.value2: here \ No newline at end of file diff --git a/test/test_template/template1.md b/test/test_template/template1.md index d9ff40c..9389b7f 100644 --- a/test/test_template/template1.md +++ b/test/test_template/template1.md @@ -1,3 +1,3 @@ -# this is a {{templateVar1}} -# this is a {{templateVar2}} +# this is a {{templateObject.value1}} +# this is a {{templateObject.value2}} # this is a {{templateVar3}} diff --git a/ts/smartscaf.helpers.ts b/ts/smartscaf.helpers.ts index 76c79f8..46e3ab5 100644 --- a/ts/smartscaf.helpers.ts +++ b/ts/smartscaf.helpers.ts @@ -18,11 +18,18 @@ export let deepAddToObject = async (objectArg, varStringArg: string, valueArg: s })() // build the tree in suppliedVariables + console.log(referencePointer) + console.log(varName) if (!referencePointer[varName] && !varNameNext) { referencePointer[varName] = valueArg + referencePointer = null } else if (!referencePointer[varName] && varNameNext) { referencePointer[varName] = {} referencePointer = referencePointer[varName] + } else if (referencePointer[varName] && varNameNext) { + referencePointer = referencePointer[varName] + } else { + throw new Error('Something is strange!') } } }