Skip to main content
Deno 2 is finally here 🎉️
Learn more

flash

Flash is a framework to build REST APIs with Denoflare (Deno and Cloudflare Workers).

⚠️ Do not use Flash for production use yet, unless you are a contributor to the framework.

Usage

Create a worker module file:

// index.ts
import { rest } from "https://deno.land/x/flash/mod.ts";

export default rest({
  "/": {
    // [200 OK] "Welcome to flash!"
    GET: "Welcome to flash!",
  },

  "/resources": {
    POST: async ({ request }) => {
      const resource = await createResouce(request.body);

      // [500 Internal Server Error] { message: "Failed in creating a resource." }
      if (!resource) return { 500: "Failed in creating a resource." };

      // [201 Created] { name: "flash", foo: 1, bar: 2 }
      return { 201: resource };
    },
  },

  "/resources/:name": {
    GET: async ({ params }) => {
      const resource = await findResource(params.name);

      // [404 Not Found] { message: "'deno' was not found." }
      if (!resource) return { 404: `'${params.name}' was not found.` };

      // [200 OK] { name: "flare", foo: 1, bar: 2 }
      return resource;
    },
  },
});

And run with Denoflare!

$ denoflare serve index.ts

Acknowledgment

Development of Flash is supported by Active Connector Inc..