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