UNPKG

2.44 kBJavaScriptView Raw
1// Generated by CoffeeScript 1.8.0
2var $cachedResourceFactory, $cachedResourceProvider, app, debugMode, localStoragePrefix, resourceManagerListener,
3 __slice = [].slice;
4
5resourceManagerListener = null;
6
7debugMode = false;
8
9localStoragePrefix = null;
10
11if (typeof module !== "undefined" && module !== null) {
12 module.exports = app = angular.module('ngCachedResource', ['ngResource']);
13}
14
15app.provider('$cachedResource', $cachedResourceProvider = (function() {
16 function $cachedResourceProvider() {
17 this.$get = $cachedResourceFactory;
18 localStoragePrefix = 'cachedResource://';
19 }
20
21 $cachedResourceProvider.prototype.setDebugMode = function(newSetting) {
22 if (newSetting == null) {
23 newSetting = true;
24 }
25 return debugMode = newSetting;
26 };
27
28 $cachedResourceProvider.prototype.setLocalStoragePrefix = function(prefix) {
29 return localStoragePrefix = prefix;
30 };
31
32 return $cachedResourceProvider;
33
34})());
35
36$cachedResourceFactory = [
37 '$resource', '$timeout', '$q', '$log', function($resource, $timeout, $q, $log) {
38 var $cachedResource, CachedResourceManager, bindLogFunction, fn, providerParams, resourceManager, _i, _len, _ref;
39 bindLogFunction = function(logFunction) {
40 return function() {
41 var message;
42 message = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
43 message.unshift('ngCachedResource');
44 return $log[logFunction].apply($log, message);
45 };
46 };
47 providerParams = {
48 localStoragePrefix: localStoragePrefix,
49 $log: {
50 debug: debugMode ? bindLogFunction('debug') : (function() {}),
51 error: bindLogFunction('error')
52 }
53 };
54 CachedResourceManager = require('./cached_resource_manager')(providerParams);
55 resourceManager = new CachedResourceManager($resource, $timeout, $q);
56 if (resourceManagerListener) {
57 document.removeEventListener('online', resourceManagerListener);
58 }
59 resourceManagerListener = function(event) {
60 return resourceManager.flushQueues();
61 };
62 document.addEventListener('online', resourceManagerListener);
63 $cachedResource = function() {
64 return resourceManager.add.apply(resourceManager, arguments);
65 };
66 _ref = ['clearCache', 'clearUndefined'];
67 for (_i = 0, _len = _ref.length; _i < _len; _i++) {
68 fn = _ref[_i];
69 $cachedResource[fn] = angular.bind(resourceManager, resourceManager[fn]);
70 }
71 return $cachedResource;
72 }
73];