From 0cc388233a1979d636f59d2fabd89d27333e2731 Mon Sep 17 00:00:00 2001 From: Raghd Date: Sun, 31 Aug 2025 23:26:18 +0300 Subject: [PATCH] fixing operand error --- src/fib.ts | 4 +--- src/fibRoute.ts | 25 ++++++++++++++++--------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/fib.ts b/src/fib.ts index 7466350..79c57e9 100644 --- a/src/fib.ts +++ b/src/fib.ts @@ -8,6 +8,4 @@ export function fibonacci(n: number): number { return 1; } - return fibonacci(n - 1) + fibonacci(n - 2); -}; - + return fibonacci(n - 1) + fibonacci(n - 2); } \ No newline at end of file diff --git a/src/fibRoute.ts b/src/fibRoute.ts index 2d41ca5..9c823ae 100644 --- a/src/fibRoute.ts +++ b/src/fibRoute.ts @@ -1,16 +1,23 @@ // Endpoint for querying the fibonacci numbers -const fibonacci = require("./fib"); +import { fibonacci } from './fib'; -export default (req, res) => { - const { num } = req.params; +type Req = { params: { num: string } }; +type Res = { send: (body: string) => void }; - const fibN = fibonacci(parseInt(num)); - let result = `fibonacci(${num}) is ${fibN}`; +export default (req: Req, res: Res): void => { const { num } = req.params; const n = Number.parseInt(num, 10); + if (Number.isNaN(n)) { + res.send(`n must be a number, received "${num}"`); + return; + } + + const fibN = fibonacci(n); + let resultRequired = `fibonacci(${n}) is ${fibN}`; + + if (fibN < 0) { - result = `fibonacci(${num}) is undefined`; + resultRequired = `fibonacci(${n}) is undefined`; } - - res.send(result); -}; + res.send(resultRequired); +}; \ No newline at end of file