async-connect-flash
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

async-connect-flash

this package is a better and async version of connect-flash with more features.

why async-connect-flash?

because you can set your flash messages with async options! you can use the promise base or callback base of this package. it solves the problem of not saving flash messages immediately. it even has more features.

Installation

using npm:

  npm i async-connect-flash
  cd flash-project

how to configure it?

it is really easy to configure this package. first you need to choose the promise version or callback version of this package. then you need to configure it like the example:

  • this is important to install express-session package! if you didnt, you will get an error. configuring promise version:
import express from "express"
import expressSession from "express-session";
//import promiseConnectFlash
import { promiseConnectFlash } from "async-connect-flash";

const server = express();

server.use(
    expressSession({
      secret: "secret",
      saveUninitialized: false,
      resave: false
    })
  );

//execute it
server.use(promiseConnectFlash());

server.listen(3000)

configuring callback version:

import express from "express"
import expressSession from "express-session";
// import callbackConnectFlash
import { callbackConnectFlash } from "async-connect-flash";

const server = express();

server.use(
    expressSession({
      secret: "secret",
      saveUninitialized: false,
      resave: false
    })
  );

//execute it
server.use(callbackConnectFlash());

server.listen(3000)

how to use this package?

after you configured async-connect-flash, you can use it in middlewares. look at the examples.
using promise version:

server.get("/test-flash", async (req, res) => {
    try {
        //setting the flash message
        await req.setFlash("flash?", "yes! flash!");

        res.redirect("/display-flash");
    } catch(error) {
        console.log(error)
    }
})

server.get("/display-flash", async (req, res) => {
    try {
        //getting the flash message
        const data = await req.getFlash("flash?");
        res.send(data);
    } catch(error) {
        console.log(error)
    }
})

using callback version:

server.get("/test-flash", (req, res) => {
    //setting the flash message
    req.setFlash("flash?", "yes! flash!", (err) => {
        if(!err) res.redirect("/display-flash");
        else console.log(err)
    });
})

server.get("/display-flash", (req, res) => {
    //getting the flash message
    req.getFlash("flash?", (err, data) => {
        if(!err) res.send(data);
        else console.log(err)
    });
})

other configs

promiseConnectFlash and callbackConnectFlash also accepts a config object.

server.use(callbackConnectFlash({configs}));
config description type
storeProperty you can choose the property name of flash messages store string / undefined

Authors

Feedback

If you have any feedback, please reach out to me at samanahrari@yahoo.com

🔗 Links

npm

/async-connect-flash/

    Package Sidebar

    Install

    npm i async-connect-flash

    Weekly Downloads

    186

    Version

    1.0.5

    License

    ISC

    Unpacked Size

    18 kB

    Total Files

    16

    Last publish

    Collaborators

    • saman138