From d3d8e99769476c8b3cb6546afa0e6ac73d47368f Mon Sep 17 00:00:00 2001 From: sabualha Date: Sun, 31 Aug 2025 16:06:45 +0300 Subject: [PATCH 1/7] fixing fibRoutes issue --- src/fibRoute.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/fibRoute.ts b/src/fibRoute.ts index 2d41ca5..5a49e20 100644 --- a/src/fibRoute.ts +++ b/src/fibRoute.ts @@ -1,12 +1,13 @@ // Endpoint for querying the fibonacci numbers -const fibonacci = require("./fib"); +import { fibonacci } from "./fib"; +import { Request, Response } from "express"; -export default (req, res) => { - const { num } = req.params; +export default (req: Request, res: Response): void => { + const num: number = parseInt(req.params.num, 10); - const fibN = fibonacci(parseInt(num)); - let result = `fibonacci(${num}) is ${fibN}`; + const fibN: number = fibonacci(num); + let result: string = `fibonacci(${num}) is ${fibN}`; if (fibN < 0) { result = `fibonacci(${num}) is undefined`; From b0126fe9780f6970c4545aa150f25c17e141819d Mon Sep 17 00:00:00 2001 From: sabualha Date: Sun, 31 Aug 2025 16:13:05 +0300 Subject: [PATCH 2/7] trying again --- src/fibRoute.ts | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/fibRoute.ts b/src/fibRoute.ts index 5a49e20..2294360 100644 --- a/src/fibRoute.ts +++ b/src/fibRoute.ts @@ -1,17 +1,14 @@ -// Endpoint for querying the fibonacci numbers +// src/fibRoute.ts +import fibonacci from "./fib"; // matches the default export -import { fibonacci } from "./fib"; +// Example: if using Express import { Request, Response } from "express"; -export default (req: Request, res: Response): void => { - const num: number = parseInt(req.params.num, 10); +export default (req: Request, res: Response) => { + const { num } = req.params; - const fibN: number = fibonacci(num); - let result: string = `fibonacci(${num}) is ${fibN}`; + const n = parseInt(num); + const fibN = fibonacci(n); - if (fibN < 0) { - result = `fibonacci(${num}) is undefined`; - } - - res.send(result); + res.send(`fibonacci(${n}) is ${fibN}`); }; From 1178ade9fa075b47a9042cb300d4e298c7aa6859 Mon Sep 17 00:00:00 2001 From: sabualha Date: Sun, 31 Aug 2025 16:17:21 +0300 Subject: [PATCH 3/7] im changing tamer's --- src/fib.ts | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/fib.ts b/src/fib.ts index 8dc8ddd..043f024 100644 --- a/src/fib.ts +++ b/src/fib.ts @@ -1,12 +1,15 @@ -// util function that computes the fibonacci numbers -module.exports = function fibonacci(n) { - if (n < 0) { - return -1; - } else if (n == 0) { - return 0; - } else if (n == 1) { - return 1; - } - return fibonacci(n - 1) + fibonacci(n - 2); -}; + +export default function fibonacci(n: number): number { + if (n < 0) return -1; // handle invalid input + if (n === 0) return 0; + if (n === 1) return 1; + + let a = 0, b = 1; + for (let i = 2; i <= n; i++) { + const temp = a + b; + a = b; + b = temp; + } + return b; +} From d88da43b58c5d32e1e35f5e8cfbad6cbd6334253 Mon Sep 17 00:00:00 2001 From: sabualha Date: Sun, 31 Aug 2025 23:06:30 +0300 Subject: [PATCH 4/7] trying again --- src/fibRoute.ts | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/fibRoute.ts b/src/fibRoute.ts index 2294360..4855748 100644 --- a/src/fibRoute.ts +++ b/src/fibRoute.ts @@ -1,14 +1,25 @@ -// src/fibRoute.ts -import fibonacci from "./fib"; // matches the default export +import type { Request, Response } from "express"; +import { fibonacci } from "./fib"; -// Example: if using Express -import { Request, Response } from "express"; +export default function fibRoute(req: Request, res: Response): void { + const numParam: string | undefined = req.params?.num; -export default (req: Request, res: Response) => { - const { num } = req.params; + if (typeof numParam !== "string") { + res.status(400).send("Missing route parameter 'num'"); + return; + } - const n = parseInt(num); - const fibN = fibonacci(n); + const n = Number.parseInt(numParam, 10); + if (Number.isNaN(n)) { + res.status(400).send(`Invalid number: "${numParam}"`); + return; + } - res.send(`fibonacci(${n}) is ${fibN}`); -}; + const fibN = fibonacci(n); + const result = + fibN < 0 + ? `fibonacci(${n}) is undefined` + : `fibonacci(${n}) is ${fibN}`; + + res.send(result); +} \ No newline at end of file From ef13a14631640fb8c4c8e0e951fc8d244333fe2a Mon Sep 17 00:00:00 2001 From: sabualha Date: Sun, 31 Aug 2025 23:15:25 +0300 Subject: [PATCH 5/7] trying again --- src/fib.ts | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/fib.ts b/src/fib.ts index 043f024..d410bb9 100644 --- a/src/fib.ts +++ b/src/fib.ts @@ -1,15 +1,14 @@ +export function fibonacci(n: number): number { + if (n < 0) return -1; + if (n === 0) return 0; + if (n === 1) return 1; - -export default function fibonacci(n: number): number { - if (n < 0) return -1; // handle invalid input - if (n === 0) return 0; - if (n === 1) return 1; - - let a = 0, b = 1; - for (let i = 2; i <= n; i++) { - const temp = a + b; - a = b; - b = temp; - } - return b; -} + let a = 0; + let b = 1; + for (let i = 2; i <= n; i++) { + const next = a + b; + a = b; + b = next; + } + return b; +} \ No newline at end of file From 9a38a41c7256de903ed436d8640ce25185259a2f Mon Sep 17 00:00:00 2001 From: sabualha Date: Sun, 31 Aug 2025 23:22:50 +0300 Subject: [PATCH 6/7] trying again --- src/fib.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fib.ts b/src/fib.ts index d410bb9..1901e89 100644 --- a/src/fib.ts +++ b/src/fib.ts @@ -1,4 +1,4 @@ -export function fibonacci(n: number): number { +export default function fibonacci(n: number): number { if (n < 0) return -1; if (n === 0) return 0; if (n === 1) return 1; From bb5993fe37cc42c541bdb1133b6e62b5d6ced21d Mon Sep 17 00:00:00 2001 From: sabualha Date: Mon, 1 Sep 2025 11:51:33 +0300 Subject: [PATCH 7/7] trying --- src/fib.ts | 3 ++- src/fibRoute.ts | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fib.ts b/src/fib.ts index 1901e89..3d68b3e 100644 --- a/src/fib.ts +++ b/src/fib.ts @@ -1,4 +1,5 @@ -export default function fibonacci(n: number): number { +// src/fib.ts +export function fibonacci(n: number): number { if (n < 0) return -1; if (n === 0) return 0; if (n === 1) return 1; diff --git a/src/fibRoute.ts b/src/fibRoute.ts index 4855748..e29c157 100644 --- a/src/fibRoute.ts +++ b/src/fibRoute.ts @@ -1,3 +1,4 @@ +// src/fibRoute.ts import type { Request, Response } from "express"; import { fibonacci } from "./fib";