From 537448501439aaa68485e2ac436941656d7250e8 Mon Sep 17 00:00:00 2001
From: "(quasar) nebula" <qznebula@protonmail.com>
Date: Sat, 15 Jul 2023 19:46:30 -0300
Subject: data: split arrayOf validator into {strict,sparse}ArrayOf

---
 src/data/things/validators.js | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

(limited to 'src/data/things')

diff --git a/src/data/things/validators.js b/src/data/things/validators.js
index 14092102..1754adf3 100644
--- a/src/data/things/validators.js
+++ b/src/data/things/validators.js
@@ -195,10 +195,20 @@ export function validateArrayItems(itemValidator) {
   };
 }
 
-export function arrayOf(itemValidator) {
+export function strictArrayOf(itemValidator) {
   return validateArrayItems(itemValidator);
 }
 
+export function sparseArrayOf(itemValidator) {
+  return validateArrayItems(item => {
+    if (item === false || item === null) {
+      return true;
+    }
+
+    return itemValidator(item);
+  });
+}
+
 export function validateInstanceOf(constructor) {
   return (object) => isInstance(object, constructor);
 }
-- 
cgit 1.3.0-6-gf8a5