From 1bbe934f6910130b019088bbb085a6742991a97d Mon Sep 17 00:00:00 2001
From: Xavier Van de Woestyne <xavier.vandewoestyne@margo.com>
Date: Tue, 16 Jul 2019 14:16:58 +0200
Subject: [PATCH] Safe version of and/or

---
 desktop/sources/scripts/library.js | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/desktop/sources/scripts/library.js b/desktop/sources/scripts/library.js
index e5c57bb..e88fb6e 100644
--- a/desktop/sources/scripts/library.js
+++ b/desktop/sources/scripts/library.js
@@ -57,12 +57,24 @@ function Library (ronin) {
     return a === b
   }
 
-  this.and = (...args) => {
-    return args.every((x) => x)
+  this.and = (a, b, ...rest) => {
+    let args = [a, b].concat(rest)
+    for (let i = 0; i < args.length; i++) {
+      if (!args[i]) {
+        return args[i]
+      }
+    }
+    return args[args.length - 1]
   }
 
-  this.or = (...args) => {
-    return args.some((x) => x)
+  this.or = (a, b, ...rest) => {
+    let args = [a, b].concat(rest)
+    for (let i = 0; i < args.length; i++) {
+      if (args[i]) {
+        return args[i]
+      }
+    }
+    return args[args.length - 1]
   }
 
   // Arrays