UNPKG

angular-cached-resource

Version:

An AngularJS module to interact with RESTful resources, even when browser is offline

74 lines (63 loc) 2.44 kB
// Generated by CoffeeScript 1.7.1 var $cachedResourceFactory, $cachedResourceProvider, app, debugMode, localStoragePrefix, resourceManagerListener, __slice = [].slice; resourceManagerListener = null; debugMode = false; localStoragePrefix = null; if (typeof module !== "undefined" && module !== null) { module.exports = app = angular.module('ngCachedResource', ['ngResource']); } app.provider('$cachedResource', $cachedResourceProvider = (function() { function $cachedResourceProvider() { this.$get = $cachedResourceFactory; localStoragePrefix = 'cachedResource://'; } $cachedResourceProvider.prototype.setDebugMode = function(newSetting) { if (newSetting == null) { newSetting = true; } return debugMode = newSetting; }; $cachedResourceProvider.prototype.setLocalStoragePrefix = function(prefix) { return localStoragePrefix = prefix; }; return $cachedResourceProvider; })()); $cachedResourceFactory = [ '$resource', '$timeout', '$q', '$log', function($resource, $timeout, $q, $log) { var $cachedResource, CachedResourceManager, bindLogFunction, fn, providerParams, resourceManager, _i, _len, _ref; bindLogFunction = function(logFunction) { return function() { var message; message = 1 <= arguments.length ? __slice.call(arguments, 0) : []; message.unshift('ngCachedResource'); return $log[logFunction].apply($log, message); }; }; providerParams = { localStoragePrefix: localStoragePrefix, $log: { debug: debugMode ? bindLogFunction('debug') : (function() {}), error: bindLogFunction('error') } }; CachedResourceManager = require('./cached_resource_manager')(providerParams); resourceManager = new CachedResourceManager($resource, $timeout, $q); if (resourceManagerListener) { document.removeEventListener('online', resourceManagerListener); } resourceManagerListener = function(event) { return resourceManager.flushQueues(); }; document.addEventListener('online', resourceManagerListener); $cachedResource = function() { return resourceManager.add.apply(resourceManager, arguments); }; _ref = ['clearCache', 'clearUndefined']; for (_i = 0, _len = _ref.length; _i < _len; _i++) { fn = _ref[_i]; $cachedResource[fn] = angular.bind(resourceManager, resourceManager[fn]); } return $cachedResource; } ];