From 5d8ccdff25478ba7355c501808c6c7daf392df0c Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sun, 13 Mar 2022 11:41:39 +0100 Subject: [PATCH] add silent flag to asNumber --- strudel.mjs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/strudel.mjs b/strudel.mjs index 5e3f94a6..4659d2f6 100644 --- a/strudel.mjs +++ b/strudel.mjs @@ -468,8 +468,8 @@ class Pattern { return this.fmap(func).appLeft(reify(other)) } - _asNumber() { - return this._withEvent(event => { + _asNumber(silent = false) { + return this._withEvent((event) => { const asNumber = Number(event.value); if (!isNaN(asNumber)) { return event.withValue(() => asNumber); @@ -485,8 +485,11 @@ class Pattern { // set context type to midi to let the player know its meant as midi number and not as frequency return new Hap(event.whole, event.part, toMidi(event.value), { ...event.context, type: 'midi' }); } - throw new Error('cannot parse as number: "' + event.value + '"'); - }); + if (!silent) { + throw new Error('cannot parse as number: "' + event.value + '"'); + } + return event.withValue(() => undefined); // silent error + })._removeUndefineds(); } add(other) {