From cd876c0026bf59831c0322946f0d73a8328c1b3f Mon Sep 17 00:00:00 2001
From: jsteuer <jan.niklas.steuer@gmail.com>
Date: Sat, 21 Dec 2019 13:27:11 +0100
Subject: [PATCH] fix argument validation

---
 src/Helpers.ts |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/Helpers.ts b/src/Helpers.ts
index e0dccb0..83fc07f 100644
--- a/src/Helpers.ts
+++ b/src/Helpers.ts
@@ -65,13 +65,16 @@
         const traceMethod = (method: string, args?: any[]) => console.log(["[MC MOCK API]", " ", method, "(", (args ? args : [""]).join(","), ")"].join(""));
         const runtimeCheck = (errorMessage: string, isInvalid: (param: any) => boolean) => {
             return (paramName: string, value: any, optional: boolean = false) => {
-                if (!optional && (value === null || value === undefined)) {
-                    throw new Error(`parameter '${paramName}' is null or undefined`);
-                } else {
-                    if (isInvalid(value)) {
-                        throw new Error(`parameter '${paramName}' is invalid: ${errorMessage}`);
+                if (value === undefined) {
+                    if (optional) {
+                        return;
+                    } else {
+                        throw new Error(`missing parameter '${paramName}'`);
                     }
                 }
+                if (isInvalid(value)) {
+                    throw new Error(`parameter '${paramName}' is invalid: ${errorMessage}`);
+                }
             }
         }
         const runtimeCheckString = runtimeCheck("not a string", v => typeof v !== "string");

--
Gitblit v1.10.0-SNAPSHOT