From 1154e755f1195d89fd5af7943c0281f6e2d3df7a Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Wed, 2 Oct 2019 19:39:23 +0200 Subject: luci-base: luci.js: add resolveDefault() helper Signed-off-by: Jo-Philipp Wich --- .../luci-base/htdocs/luci-static/resources/luci.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/modules/luci-base/htdocs/luci-static/resources/luci.js b/modules/luci-base/htdocs/luci-static/resources/luci.js index cad720853..3f4707d4e 100644 --- a/modules/luci-base/htdocs/luci-static/resources/luci.js +++ b/modules/luci-base/htdocs/luci-static/resources/luci.js @@ -1852,6 +1852,27 @@ return s.split(/\s+/); }, + /** + * Returns a promise resolving with either the given value or or with + * the given default in case the input value is a rejecting promise. + * + * @instance + * @memberof LuCI + * + * @param {*} value + * The value to resolve the promise with. + * + * @param {*} defvalue + * The default value to resolve the promise with in case the given + * input value is a rejecting promise. + * + * @returns {Promise<*>} + * Returns a new promise resolving either to the given input value or + * to the given default value on error. + */ + resolveDefault: function(value, defvalue) { + return Promise.resolve(value).catch(function() { return defvalue }); + }, /** * The request callback function is invoked whenever an HTTP -- cgit v1.2.3