Curated articles, resources, tips and trends from the DevOps World.
Summary: This is a summary of an article originally published by the source. Read the full original article here →
https://deno.land/ is a V8-based, Rust-built runtime for JavaScript and TypeScript. Moreover, it supports (and encourages) development in TypeScript out of the box, https://www.typescriptlang.org/ and makes it easier to catch errors while developing.
This means the runtime can't access the environment variables, the file system, or the network without the developer giving explicit permission.
In your tasks.ts file, add the following method below your getAllTasks method: export const createTask: HandlerFunc = async (ctx: Context) => { const { description } = (await ctx.body) as Task; const newTask: Task = { id: crypto.randomUUID(), description, createdDate: new Date(), complete: false, completedDate: null }; const tasks = JSON.parse(await Deno.readTextFile("./tasks.json")) as Task[]; const newTasks = [...tasks, newTask]; await Deno.writeTextFile("./tasks.json", JSON.stringify(tasks)); return ctx.json(newTask, 200); }
To add the functionality previously listed to the module, add the following code to your tasks.ts file: export const completeTask: HandlerFunc = async (ctx: Context) => { const { id } = ctx.params; const { complete } = (await ctx.body) as Task; const tasks = await readTasks(); const index = tasks.findIndex(t => t.id == id); if (index === -1) { return ctx.json({ message: "Task not found"}, 404); } tasks[index].complete = complete; tasks[index].completedDate = complete ?
Made with pure grit © 2024 Jetpack Labs Inc. All rights reserved. www.jetpacklabs.com