# HyperExpress.Session: High Performance Cookie Sessions Middleware
#### Built for [`HyperExpress`](https://github.com/kartikk221/hyper-express)

<div align="left">

[![NPM version](https://img.shields.io/npm/v/hyper-express-session.svg?style=flat)](https://www.npmjs.com/package/hyper-express-session)
[![NPM downloads](https://img.shields.io/npm/dm/hyper-express-session.svg?style=flat)](https://www.npmjs.com/package/hyper-express-session)
[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/kartikk221/hyper-express-session.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/kartikk221/hyper-express-session/context:javascript)
[![GitHub issues](https://img.shields.io/github/issues/kartikk221/hyper-express-session)](https://github.com/kartikk221/hyper-express-session/issues)
[![GitHub stars](https://img.shields.io/github/stars/kartikk221/hyper-express-session)](https://github.com/kartikk221/hyper-express-session/stargazers)
[![GitHub license](https://img.shields.io/github/license/kartikk221/hyper-express-session)](https://github.com/kartikk221/hyper-express-session/blob/master/LICENSE)

</div>

## Motivation
HyperExpress.Session aims to provide a simple middleware that implements a session engine with high flexibility while being performant. This middleware is unopinionated and can be used with any storage mechanism of your choice. This middleware ships with TypeScript types out of the box, so both vanilla Javascript and TypeScript projects are welcome.

## Installation
HyperExpress and HyperExpressWS can both be installed using node package manager (`npm`)
```
npm i hyper-express-session
```

## Documentation
- See [`> [Examples & Snippets]`](./docs/Examples.md) for small and **easy-to-use snippets** with HyperExpress.Session.
- See [`> [SessionEngine]`](./docs/SessionEngine.md) for creating a session engine and working with the **SessionEngine** component.
- See [`> [Session]`](./docs/Session.md) for working with the **Session** component to manipulate request sessions.

## License
[MIT](./LICENSE)
