Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ivpusic/angular-cookie
Lightweight Angular module for access to cookies
https://github.com/ivpusic/angular-cookie
Last synced: about 2 months ago
JSON representation
Lightweight Angular module for access to cookies
- Host: GitHub
- URL: https://github.com/ivpusic/angular-cookie
- Owner: ivpusic
- License: mit
- Created: 2013-09-09T03:10:16.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2018-01-15T19:42:30.000Z (almost 7 years ago)
- Last Synced: 2024-11-03T05:07:11.579Z (2 months ago)
- Language: JavaScript
- Size: 85.9 KB
- Stars: 265
- Watchers: 13
- Forks: 68
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-web-storage - AngularJS Cookies
README
angular-cookie [![Build Status](https://travis-ci.org/ivpusic/angular-cookie.png?branch=master)](https://travis-ci.org/ivpusic/angular-cookie)
==============Lightweight Angular module for access to cookies
Installation
------------You can install ``angular-cookie`` via bower
```
bower install angular-cookie
```Other way to install ``angular-cookie`` is to clone this repo into your project with this command
```
git clone [email protected]:ivpusic/angular-cookie.git
```Then you need to include ``angular-cookie.js`` script into your project
```
```
or include `beautified` version with
```
```
To rebuild `min.js` version run
```
grunt build
```Run example
-----------To run example execute following commands
```
git clone [email protected]:ivpusic/angular-cookie.git
cd angular-cookie
npm -g install bower
npm -g install grunt
npm install
bower install
grunt
```After this, go at ``127.0.0.1:9001/example`` in your browser, and you will see running example of ``angular-cookie``.
Usage
-----First you need to inject ``ipCookie`` into your angular module.
```
var myApp = angular.module('myApp', ['ipCookie']);
```
And now, for example if you want to use it from your controller```
myApp.controller('cookieController', ['$scope', 'ipCookie', function($scope, ipCookie) {
// your code here
}]);
```General signature of main function is
```
ipCookie(key, value, options);
```#### Set
To create a cookie use
```
ipCookie(key, value);
```The `value` supports strings, numbers, booleans, arrays and objects and will be automatically serialized into the cookie.
You can also set some additional options, like number of day when a cookie expires
```
ipCookie(key, value, { expires: 21 });
```If you want to specify a cookie path use
```
ipCookie(key, value, { path: '/some/path' });
```If you want to set the encode or decode functions use
```
ipCookie(key, value, { encode: function (value) { return value; } });
```#### Get
To get all cookies use
```
ipCookie();
```If you want to get a cookie with a specific key use
```
ipCookie(key);
```If any cookie was not found, function returns ``undefined``.
The returned value will be automatically deserialized.
If you want to pass an options object, you will need to also pass 'undefined' as the second parameter:
```
ipCookie(key, undefined, {decode: function (value) { return value; }};
```#### Remove
And if you want to remove a cookie use
```
ipCookie.remove(key);
```To remove a cookie on a specific path use
```
ipCookie.remove(key, { path: '/some/path/' });
```Options
-------#### Domain
```
domain: 'example.com'
```The domain tells the browser to which domain the cookie should be sent.
If you don't specify it, it becomes the domain of the page that sets the cookie.#### Path
```
path: '/'
```The path gives you the chance to specify a directory where the cookie is active.
#### Expires
```
expires: 21
```Each cookie has an expiry date after which it is trashed.
If you don't specify the expiry date the cookie is trashed when you close the browser.#### Expiration Unit
```
expirationUnit: 'minutes'
```Allows you to set the expiration time in ``hours``, ``minutes``, ``seconds``, or ``milliseconds`.
If this is not specified, any expiration time specified will default to days.#### Secure
```
secure: true
```The Secure attribute is meant to keep cookie communication limited to encrypted transmission,
directing browsers to use cookies only via secure/encrypted connections.#### Encode function
```
encode: function (value) { return value; }
```The method that will be used to encode the cookie value (should be passed when using Set).
Default: encodeURIComponent.
#### Decode function
```
decode: function (value) { return value; }
```The method that will be used to decode extracted cookie values (should be passed when using Get).
Default: decodeURIComponent.
## Notes
- String (only digits) encoding -> [check this PR](https://github.com/ivpusic/angular-cookie/pull/29)TODO
----- Add tests