Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SMX-LTD/re-frame-cookie-fx
Om nom nom nom.
https://github.com/SMX-LTD/re-frame-cookie-fx
re-frame
Last synced: 3 months ago
JSON representation
Om nom nom nom.
- Host: GitHub
- URL: https://github.com/SMX-LTD/re-frame-cookie-fx
- Owner: SMX-LTD
- Created: 2016-08-16T00:54:03.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-10-31T20:12:02.000Z (about 7 years ago)
- Last Synced: 2024-06-29T06:35:06.498Z (4 months ago)
- Topics: re-frame
- Language: HTML
- Size: 10.7 KB
- Stars: 20
- Watchers: 2
- Forks: 8
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
- awesome-re-frame - re-frame-cookie-fx
README
# Cookies Effects Handler for re-frame
> Om Nom Nom Nom - Cookie Monster, Sesame Street
Herein a re-frame ["Effects Handler"](https://github.com/Day8/re-frame/wiki/Effectful-Event-Handlers),
which enables various [cookie](https://en.wikipedia.org/wiki/HTTP_cookie)
operations using [goog.net.Cookies](http://google.github.io/closure-library/api/goog.net.Cookies.html).## Quick Start
### 1. Add Dependency
[![Clojars Project](https://img.shields.io/clojars/v/com.smxemail/re-frame-cookie-fx.svg)](https://clojars.org/com.smxemail/re-frame-cookie-fx)
### 2. Registration & Use
In the namespace where you register your event handlers, prehaps called
`handlers.cljs`, you have two things to do:First, add this `require` to the `ns`:
```clj
(ns app.handlers
(:require
...
[com.smxemail.re-frame-cookie-fx] ;; <-- add this
...))
```Second, write an event handler which uses this effect:
```clj
(reg-event-fx
:handler-with-cookies
(fn [{:keys [db]} _]
{:cookie/set {:name "cookie-monster-says"
:value "Om Nom Nom Nom!"}}))
```Other supported effects include the below which are documented in the source:
- `:cookie/remove`
- `:cookie/clear`To use a coeffect:
```clj
(reg-event-fx
:handler-with-cookie-cofx
[(inject-cofx :cookie/get [:cookie-monster-says])]
(fn [{db :db cookies :cookie/get} _]
...
```Other supported coeffects include the below which are documented in the source:
- `:cookie/enabled?`
- `:cookie/empty?`
- `:cookie/keys`
- `:cookie/values`
- `:cookie/count`## Authors
- [Isaac Johnston](@superstructor)
- [Abhishek Reddy](@arbscht)## License
Copyright © 2016 SMX Ltd.
Distributed under the Eclipse Public License, the same as Clojure.