diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5e9af4a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "eslint.enable": false +} \ No newline at end of file diff --git a/index.js b/index.js index 0606489..d2c66d4 100644 --- a/index.js +++ b/index.js @@ -161,6 +161,9 @@ class Fuse extends FuseItem { * @returns {Fuse} Returns new FuseItem instance */ else(consequent) { + /* If a resolve exists, just pass on the instance + until .resolve() is called */ + if (this.resolved) return this; return new FuseItem(this.value, consequent); } diff --git a/spec/Fuse-spec.js b/spec/Fuse-spec.js index 5a24ebb..ce8a0b1 100644 --- a/spec/Fuse-spec.js +++ b/spec/Fuse-spec.js @@ -94,4 +94,14 @@ describe("Fuse", () => { expect(result.resolve()).toBe('default'); }); + + it(`Should return 'true'`, () => { + const a = 'ExpectedString'; + + const result = new Fuse(a) + .is('ExpectedString', () => true) + .else(() => 'default'); + + expect(result.resolve()).toBe(true); + }); });