aboutsummaryrefslogtreecommitdiffstats
path: root/src/service/cookies.js
diff options
context:
space:
mode:
authorMisko Hevery2011-11-02 16:32:46 -0700
committerMisko Hevery2011-11-14 16:39:33 -0800
commitbd04316a89a0909e7a4e483839d573ce857f7622 (patch)
tree0378c33976ba524b7090a3665cd7729638f1545e /src/service/cookies.js
parented36b9da3be338fe9eb36f3eeea901d6f51cd768 (diff)
downloadangular.js-bd04316a89a0909e7a4e483839d573ce857f7622.tar.bz2
refactor(services): migrate angular.service -> module
Diffstat (limited to 'src/service/cookies.js')
-rw-r--r--src/service/cookies.js122
1 files changed, 62 insertions, 60 deletions
diff --git a/src/service/cookies.js b/src/service/cookies.js
index 2cd2b9d6..16e14847 100644
--- a/src/service/cookies.js
+++ b/src/service/cookies.js
@@ -13,80 +13,82 @@
*
* @example
*/
-angularServiceInject('$cookies', function($rootScope, $browser) {
- var cookies = {},
- lastCookies = {},
- lastBrowserCookies,
- runEval = false;
+function $CookiesProvider() {
+ this.$get = ['$rootScope', '$browser', function ($rootScope, $browser) {
+ var cookies = {},
+ lastCookies = {},
+ lastBrowserCookies,
+ runEval = false;
- //creates a poller fn that copies all cookies from the $browser to service & inits the service
- $browser.addPollFn(function() {
- var currentCookies = $browser.cookies();
- if (lastBrowserCookies != currentCookies) { //relies on browser.cookies() impl
- lastBrowserCookies = currentCookies;
- copy(currentCookies, lastCookies);
- copy(currentCookies, cookies);
- if (runEval) $rootScope.$apply();
- }
- })();
+ //creates a poller fn that copies all cookies from the $browser to service & inits the service
+ $browser.addPollFn(function() {
+ var currentCookies = $browser.cookies();
+ if (lastBrowserCookies != currentCookies) { //relies on browser.cookies() impl
+ lastBrowserCookies = currentCookies;
+ copy(currentCookies, lastCookies);
+ copy(currentCookies, cookies);
+ if (runEval) $rootScope.$apply();
+ }
+ })();
- runEval = true;
+ runEval = true;
- //at the end of each eval, push cookies
- //TODO: this should happen before the "delayed" watches fire, because if some cookies are not
- // strings or browser refuses to store some cookies, we update the model in the push fn.
- $rootScope.$watch(push);
+ //at the end of each eval, push cookies
+ //TODO: this should happen before the "delayed" watches fire, because if some cookies are not
+ // strings or browser refuses to store some cookies, we update the model in the push fn.
+ $rootScope.$watch(push);
- return cookies;
+ return cookies;
- /**
- * Pushes all the cookies from the service to the browser and verifies if all cookies were stored.
- */
- function push() {
- var name,
- value,
- browserCookies,
- updated;
+ /**
+ * Pushes all the cookies from the service to the browser and verifies if all cookies were stored.
+ */
+ function push() {
+ var name,
+ value,
+ browserCookies,
+ updated;
- //delete any cookies deleted in $cookies
- for (name in lastCookies) {
- if (isUndefined(cookies[name])) {
- $browser.cookies(name, undefined);
+ //delete any cookies deleted in $cookies
+ for (name in lastCookies) {
+ if (isUndefined(cookies[name])) {
+ $browser.cookies(name, undefined);
+ }
}
- }
- //update all cookies updated in $cookies
- for(name in cookies) {
- value = cookies[name];
- if (!isString(value)) {
- if (isDefined(lastCookies[name])) {
- cookies[name] = lastCookies[name];
- } else {
- delete cookies[name];
+ //update all cookies updated in $cookies
+ for(name in cookies) {
+ value = cookies[name];
+ if (!isString(value)) {
+ if (isDefined(lastCookies[name])) {
+ cookies[name] = lastCookies[name];
+ } else {
+ delete cookies[name];
+ }
+ } else if (value !== lastCookies[name]) {
+ $browser.cookies(name, value);
+ updated = true;
}
- } else if (value !== lastCookies[name]) {
- $browser.cookies(name, value);
- updated = true;
}
- }
- //verify what was actually stored
- if (updated){
- updated = false;
- browserCookies = $browser.cookies();
+ //verify what was actually stored
+ if (updated){
+ updated = false;
+ browserCookies = $browser.cookies();
- for (name in cookies) {
- if (cookies[name] !== browserCookies[name]) {
- //delete or reset all cookies that the browser dropped from $cookies
- if (isUndefined(browserCookies[name])) {
- delete cookies[name];
- } else {
- cookies[name] = browserCookies[name];
+ for (name in cookies) {
+ if (cookies[name] !== browserCookies[name]) {
+ //delete or reset all cookies that the browser dropped from $cookies
+ if (isUndefined(browserCookies[name])) {
+ delete cookies[name];
+ } else {
+ cookies[name] = browserCookies[name];
+ }
+ updated = true;
}
- updated = true;
}
}
}
- }
-}, ['$rootScope', '$browser']);
+ }];
+}