diff options
Diffstat (limited to 'src/ng/cookieStore.js')
| -rw-r--r-- | src/ng/cookieStore.js | 64 | 
1 files changed, 64 insertions, 0 deletions
| diff --git a/src/ng/cookieStore.js b/src/ng/cookieStore.js new file mode 100644 index 00000000..e6b7cd21 --- /dev/null +++ b/src/ng/cookieStore.js @@ -0,0 +1,64 @@ +'use strict'; + +/** + * @ngdoc object + * @name angular.module.ng.$cookieStore + * @requires $cookies + * + * @description + * Provides a key-value (string-object) storage, that is backed by session cookies. + * Objects put or retrieved from this storage are automatically serialized or + * deserialized by angular's toJson/fromJson. + * @example + */ +function $CookieStoreProvider(){ +  this.$get = ['$cookies', function($cookies) { + +    return { +      /** +       * @ngdoc method +       * @name angular.module.ng.$cookieStore#get +       * @methodOf angular.module.ng.$cookieStore +       * +       * @description +       * Returns the value of given cookie key +       * +       * @param {string} key Id to use for lookup. +       * @returns {Object} Deserialized cookie value. +       */ +      get: function(key) { +        return fromJson($cookies[key]); +      }, + +      /** +       * @ngdoc method +       * @name angular.module.ng.$cookieStore#put +       * @methodOf angular.module.ng.$cookieStore +       * +       * @description +       * Sets a value for given cookie key +       * +       * @param {string} key Id for the `value`. +       * @param {Object} value Value to be stored. +       */ +      put: function(key, value) { +        $cookies[key] = toJson(value); +      }, + +      /** +       * @ngdoc method +       * @name angular.module.ng.$cookieStore#remove +       * @methodOf angular.module.ng.$cookieStore +       * +       * @description +       * Remove given cookie +       * +       * @param {string} key Id of the key-value pair to delete. +       */ +      remove: function(key) { +        delete $cookies[key]; +      } +    }; + +  }]; +} | 
