UNPKG

@justgage/reason-cookie

Version:

a simple way to use cross-browser cookies that contain JSON.

73 lines (46 loc) 1.66 kB
![Reason Cookie Logo](https://raw.githubusercontent.com/justgage/reason-cookie/master/logo.png) # 🍪 ReasonCookie a simple way to use cross-browser cookies that contain JSON. Note this wrapps [js-cookie](https://github.com/js-cookie/js-cookie) # Is it ready for prime time? These are just some simple bindings to the library it wraps. I've used it on some side projects but it should be _reasonably_ good. The Underlying library is pretty battle tested and can even work in older browsers. # Install ``` npm install --save @justgage/reason-cookie ``` Then in your `bsconfig.json`. ``` "bs-dependencies": ["@justgage/reason-cookie"], ``` # API 😋 ### Working with string values ```reason open JustgageReasonCookie; Cookie.getAsString("hello") /* None */ Cookie.setString("hello", "test"); Cookie.getAsString("hello") /* Some("test") */ ``` ### working with JSON ```reason open JustgageReasonCookie; let obj = Js.Dict.empty(); Js.Dict.set(obj, "a", Js.Json.number(2.)); let obj = Js.Json.object_(obj); Cookie.setJson("hello", obj); let maybeCookie = Cookie.getAsJson("hello"); ``` ### set path/expiry * **expires**: number of days till it's gone. * **path**: this scopes it to a page on your website (note: haven't used this personally) (see [js-cookie](https://github.com/js-cookie/js-cookie) for more uses) ```reason open JustgageReasonCookie; Cookie.setJsonConfig( "hello", obj, Cookie.makeConfig(~path="", ~expires=2, ()), ); ``` # Contribute? Best thing somone can do is just use it and find any problems it has. Absolutely! Just make an issue. Please note that I usually ask people to make the changes themselves.