From 6d4af5a1dad65f512050b6132dd61a31be97f3ab Mon Sep 17 00:00:00 2001 From: Shaun Grady Date: Mon, 23 Jan 2017 15:56:48 -0800 Subject: [PATCH] 2.0.15 --- lib/index.js | 6 ++++-- npm-shrinkwrap.json | 2 +- package.json | 2 +- release/angular-http-etag.js | 6 ++++-- release/angular-http-etag.min.js | 4 ++-- release/angular-http-etag.min.js.map | 2 +- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/lib/index.js b/lib/index.js index a8ea796..d1fb8d6 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,5 +1,5 @@ /** - * angular-http-etag v2.0.14 + * angular-http-etag v2.0.15 * Shaun Grady (http://shaungrady.com), 2017 * https://github.com/shaungrady/angular-http-etag * Module Format: CommonJS @@ -736,7 +736,9 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); .config(['$provide', '$httpProvider', function addHttpEtagInterceptor ($provide, $httpProvider) { __WEBPACK_IMPORTED_MODULE_2__httpDecorator__["a" /* default */].useLegacyPromiseExtensions = $httpProvider.useLegacyPromiseExtensions || - function useLegacyPromiseExtensions () { return true } + function useLegacyPromiseExtensions () { + return __WEBPACK_IMPORTED_MODULE_0_angular___default.a.version.major === 1 && __WEBPACK_IMPORTED_MODULE_0_angular___default.a.version.minor < 6 + } $provide.decorator('$http', __WEBPACK_IMPORTED_MODULE_2__httpDecorator__["a" /* default */]) $httpProvider.interceptors.push(__WEBPACK_IMPORTED_MODULE_3__httpInterceptor__["a" /* default */]) }]) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index c774555..a415608 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "angular-http-etag", - "version": "2.0.14", + "version": "2.0.15", "dependencies": { "array-map": { "version": "0.0.0", diff --git a/package.json b/package.json index e9c4631..5f10655 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-http-etag", - "version": "2.0.14", + "version": "2.0.15", "description": "Angular module for easy ETag-based caching of $http responses", "homepage": "https://github.com/shaungrady/angular-http-etag", "author": "Shaun Grady (http://shaungrady.com)", diff --git a/release/angular-http-etag.js b/release/angular-http-etag.js index df12d5f..dd95e99 100644 --- a/release/angular-http-etag.js +++ b/release/angular-http-etag.js @@ -1,5 +1,5 @@ /** - * angular-http-etag v2.0.14 + * angular-http-etag v2.0.15 * Shaun Grady (http://shaungrady.com), 2017 * https://github.com/shaungrady/angular-http-etag * Module Format: Universal Module Definition @@ -1249,7 +1249,9 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); .config(['$provide', '$httpProvider', function addHttpEtagInterceptor ($provide, $httpProvider) { __WEBPACK_IMPORTED_MODULE_2__httpDecorator__["a" /* default */].useLegacyPromiseExtensions = $httpProvider.useLegacyPromiseExtensions || - function useLegacyPromiseExtensions () { return true } + function useLegacyPromiseExtensions () { + return __WEBPACK_IMPORTED_MODULE_0_angular___default.a.version.major === 1 && __WEBPACK_IMPORTED_MODULE_0_angular___default.a.version.minor < 6 + } $provide.decorator('$http', __WEBPACK_IMPORTED_MODULE_2__httpDecorator__["a" /* default */]) $httpProvider.interceptors.push(__WEBPACK_IMPORTED_MODULE_3__httpInterceptor__["a" /* default */]) }]) diff --git a/release/angular-http-etag.min.js b/release/angular-http-etag.min.js index 5d7a50a..8cd6cbf 100644 --- a/release/angular-http-etag.min.js +++ b/release/angular-http-etag.min.js @@ -1,3 +1,3 @@ -// angular-http-etag v2.0.14 -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("angular")):"function"==typeof define&&define.amd?define(["angular"],t):"object"==typeof exports?exports["http-etag"]=t(require("angular")):e["http-etag"]=t(e.angular)}(this,function(e){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=12)}([function(t,n){t.exports=e},function(e,t,n){"use strict";function r(e,t){if("[object Array]"!==o.call(e))throw new TypeError("array must be an Array");var n=void 0,r=void 0,c=void 0;for(n=0,r=e.length;n=0,h=u&&f;if(h){var d=o(e);if(d){var v=t.getItemCache(d.id,d.itemKey);if(!v)throw new Error("No defined ETag caches match specified cache ID");var g=v.info(),m=v.$get(),y=m&&m.etagHeader,b=y&&m.responseData;e.$$_itemCache=v,y&&(e.headers=c.a.extend({},e.headers,{"If-None-Match":y}))}}return i=l.apply(l,arguments),n(i),i}function o(e){var t=e.etagCache,n=typeof t,r={};if("function"===n&&(t=t(e),n=typeof t),"object"===n){var o,c;t.isCache?(o=t.info().id,c=i(e)):t.isItemCache?(o=t.info().id,c=t.info().itemKey):(o=t.id,c=t.itemKey||i(e)),r.id=o,r.itemKey=c}else if("string"===n)r.id=t,r.itemKey=i(e);else{if(t!==!0)return;r.itemKey=i(e)}return r}function i(e){var t=e.url,n=u(e.params),r=n&&t.indexOf("?")>0?"&":"?",o=n&&r+n||"";return t+o}function u(e){return e?f()(a()(e).sort(),function(t){var n=e[t];return c.a.isArray(n)?f()(n.sort(),function(e){return encodeURIComponent(t)+"="+encodeURIComponent(e)}).join("&"):encodeURIComponent(t)+"="+encodeURIComponent(n)}).join("&"):""}function s(e){var t=Array.prototype.slice.call(arguments,1);return function(){for(var n=0,r=0;r0&&!r.call(e,0))for(var h=0;h0)for(var v=0;v=0&&"[object Function]"===r.call(e.callee)),n}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=n.n(r),c=n(5),i=n(3),a=n(4),u=n(2);t.default=o.a.module("http-etag",[]).provider("httpEtag",c.a).config(u.a).config(["$provide","$httpProvider",function(e,t){i.a.useLegacyPromiseExtensions=t.useLegacyPromiseExtensions||function(){return!0},e.decorator("$http",i.a),t.interceptors.push(a.a)}]).name}])}); +// angular-http-etag v2.0.15 +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("angular")):"function"==typeof define&&define.amd?define(["angular"],t):"object"==typeof exports?exports["http-etag"]=t(require("angular")):e["http-etag"]=t(e.angular)}(this,function(e){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=12)}([function(t,n){t.exports=e},function(e,t,n){"use strict";function r(e,t){if("[object Array]"!==o.call(e))throw new TypeError("array must be an Array");var n=void 0,r=void 0,c=void 0;for(n=0,r=e.length;n=0,h=u&&f;if(h){var d=o(e);if(d){var v=t.getItemCache(d.id,d.itemKey);if(!v)throw new Error("No defined ETag caches match specified cache ID");var g=v.info(),m=v.$get(),y=m&&m.etagHeader,b=y&&m.responseData;e.$$_itemCache=v,y&&(e.headers=c.a.extend({},e.headers,{"If-None-Match":y}))}}return i=l.apply(l,arguments),n(i),i}function o(e){var t=e.etagCache,n=typeof t,r={};if("function"===n&&(t=t(e),n=typeof t),"object"===n){var o,c;t.isCache?(o=t.info().id,c=i(e)):t.isItemCache?(o=t.info().id,c=t.info().itemKey):(o=t.id,c=t.itemKey||i(e)),r.id=o,r.itemKey=c}else if("string"===n)r.id=t,r.itemKey=i(e);else{if(t!==!0)return;r.itemKey=i(e)}return r}function i(e){var t=e.url,n=u(e.params),r=n&&t.indexOf("?")>0?"&":"?",o=n&&r+n||"";return t+o}function u(e){return e?f()(a()(e).sort(),function(t){var n=e[t];return c.a.isArray(n)?f()(n.sort(),function(e){return encodeURIComponent(t)+"="+encodeURIComponent(e)}).join("&"):encodeURIComponent(t)+"="+encodeURIComponent(n)}).join("&"):""}function s(e){var t=Array.prototype.slice.call(arguments,1);return function(){for(var n=0,r=0;r0&&!r.call(e,0))for(var h=0;h0)for(var v=0;v=0&&"[object Function]"===r.call(e.callee)),n}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=n.n(r),c=n(5),i=n(3),a=n(4),u=n(2);t.default=o.a.module("http-etag",[]).provider("httpEtag",c.a).config(u.a).config(["$provide","$httpProvider",function(e,t){i.a.useLegacyPromiseExtensions=t.useLegacyPromiseExtensions||function(){return 1===o.a.version.major&&o.a.version.minor<6},e.decorator("$http",i.a),t.interceptors.push(a.a)}]).name}])}); //# sourceMappingURL=angular-http-etag.min.js.map \ No newline at end of file diff --git a/release/angular-http-etag.min.js.map b/release/angular-http-etag.min.js.map index f2d7cff..aa5776c 100644 --- a/release/angular-http-etag.min.js.map +++ b/release/angular-http-etag.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///angular-http-etag.min.js","webpack:///webpack/bootstrap fa82d5cf77160377f704","webpack:///external \"angular\"","webpack:///./~/deepcopy/lib/polyfill.js","webpack:///./src/cacheServiceAdapters.js","webpack:///./src/httpDecorator.js","webpack:///./src/httpInterceptor.js","webpack:///./src/service.js","webpack:///./~/array-map/index.js","webpack:///./~/deepcopy/index.js","webpack:///./~/deepcopy/lib/copy.js","webpack:///./~/deepcopy/lib/index.js","webpack:///./~/object-keys/index.js","webpack:///./~/object-keys/isArguments.js","webpack:///./src/index.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","indexOf","array","toString","TypeError","len","length","isBuffer","Buffer","obj","getKeys","keys","objType","resultKeys","key","push","getSymbols","Symbol","getOwnPropertySymbols","__webpack_exports__","cacheAdaptersConfig","httpEtagProvider","defineCacheServiceAdapter","config","storesDeepCopies","methods","createCache","$cacheFactory","cacheId","options","getCache","setItem","cache","itemKey","put","getItem","removeItem","remove","removeAllItems","removeAll","__WEBPACK_IMPORTED_MODULE_0_angular___default","a","noop","localStorage","JSON","stringify","e","parse","keyPrefix","forEach","sessionStorage","__WEBPACK_IMPORTED_MODULE_0_angular__","$inject","httpEtagHttpDecorator","$delegate","httpEtag","$httpDecorator","httpConfig","httpEtagPromiseFactory","httpPromise","then","success","useLegacyPromiseExtensions","cached","callback","rawCacheData","cacheInfo","cacheResponseData","cachedResponse","undefined","itemCache","Error","ifCached","data","status","headers","successCallback","errorCallback","progressBackCallback","httpEtagSuccessWrapper","response","httpEtagErrorWrapper","thenPromise","apply","partializedCallback","partial","hasConfig","etagCache","isCacheableMethod","cachableHttpMethods","method","isCachable","etagCacheConfig","processHttpConfigEtagValue","getItemCache","id","info","$get","cachedEtag","etagHeader","responseData","$$_itemCache","extend","If-None-Match","$http","arguments","etagValue","etagValueType","isCache","generateCacheItemKey","isItemCache","url","params","stringifyParams","joiner","queryString","__WEBPACK_IMPORTED_MODULE_2_array_map___default","__WEBPACK_IMPORTED_MODULE_1_object_keys___default","sort","val","isArray","val2","encodeURIComponent","join","fn","args","Array","slice","arg","httpMethod","toLowerCase","__WEBPACK_IMPORTED_MODULE_1_object_keys__","__WEBPACK_IMPORTED_MODULE_2_array_map__","httpEtagInterceptorFactory","responseInterceptor","etag","cacheData","$set","serviceAdapterMethods","cacheAdapterMethods","requiredAdapterMethods","concat","cacheAdapters","cacheDefinitions","defaultCacheId","defaultEtagCacheConfig","deepCopy","cacheService","cacheOptions","number","setDefaultCacheConfig","getDefaultCacheConfig","defineCache","serviceName","getCacheServiceAdapter","$injector","processCacheId","type","isDefined","httpEtagService","services","adaptedServices","caches","adaptedCaches","adapter","service","window","adaptedService","bind","adaptedCache","serviceDeepCopies","copy","__WEBPACK_IMPORTED_MODULE_1_deepcopy___default","wrappedMethod","wrappedRawMethod","adapterMethod","cachedData","$getItem","unsetItem","expireItem","$setItem","methodMappings","itemCacheInfo","purgeCaches","__WEBPACK_IMPORTED_MODULE_1_deepcopy__","xs","f","map","res","x","hasOwn","target","customizer","resultValue","copyValue","copyCollection","source","String","test","Function","targetClass","constructor","Date","getTime","regexpText","slashIndex","lastIndexOf","RegExp","_polyfill","buffer","customizerResult","targetType","defaultCustomizer","deepcopy","_copy","resultCollection","clone","visited","reference","recursiveCopy","index","resultCopy","result","ref","has","toStr","isArgs","isEnumerable","propertyIsEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","ctor","excludedKeys","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","k","equalsConstructorPrototypeIfNotBuggy","keysShim","isObject","isFunction","isArguments","isString","theKeys","skipProto","j","skipConstructor","shim","keysWorksWithArguments","originalKeys","str","callee","__WEBPACK_IMPORTED_MODULE_1__service__","__WEBPACK_IMPORTED_MODULE_2__httpDecorator__","__WEBPACK_IMPORTED_MODULE_3__httpInterceptor__","__WEBPACK_IMPORTED_MODULE_4__cacheServiceAdapters__","provider","$provide","$httpProvider","decorator","interceptors"],"mappings":"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","file":"angular-http-etag.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"angular\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"angular\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"http-etag\"] = factory(require(\"angular\"));\n\telse\n\t\troot[\"http-etag\"] = factory(root[\"angular\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"angular\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"angular\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"http-etag\"] = factory(require(\"angular\"));\n\telse\n\t\troot[\"http-etag\"] = factory(root[\"angular\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 12);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nvar toString = Object.prototype.toString;\n\nvar isBuffer = typeof Buffer !== 'undefined' ? function isBuffer(obj) {\n return Buffer.isBuffer(obj);\n} : function isBuffer() {\n // always return false in browsers\n return false;\n};\n\nvar getKeys = typeof Object.keys === 'function' ? function getKeys(obj) {\n return Object.keys(obj);\n} : function getKeys(obj) {\n var objType = typeof obj;\n\n if (obj === null || objType !== 'function' && objType !== 'object') {\n throw new TypeError('obj must be an Object');\n }\n\n var resultKeys = [],\n key = void 0;\n\n for (key in obj) {\n Object.prototype.hasOwnProperty.call(obj, key) && resultKeys.push(key);\n }\n\n return resultKeys;\n};\n\nvar getSymbols = typeof Symbol === 'function' ? function getSymbols(obj) {\n return Object.getOwnPropertySymbols(obj);\n} : function getSymbols() {\n // always return empty Array when Symbol is not supported\n return [];\n};\n\n// NOTE:\n//\n// Array.prototype.indexOf is cannot find NaN (in Chrome)\n// Array.prototype.includes is can find NaN (in Chrome)\n//\n// this function can find NaN, because use SameValue algorithm\nfunction indexOf(array, s) {\n if (toString.call(array) !== '[object Array]') {\n throw new TypeError('array must be an Array');\n }\n\n var i = void 0,\n len = void 0,\n value = void 0;\n\n for (i = 0, len = array.length; i < len; ++i) {\n value = array[i];\n\n // NOTE:\n //\n // it is SameValue algorithm\n // http://stackoverflow.com/questions/27144277/comparing-a-variable-with-itself\n //\n // eslint-disable-next-line no-self-compare\n if (value === s || value !== value && s !== s) {\n return i;\n }\n }\n\n return -1;\n}\n\nexports.getKeys = getKeys;\nexports.getSymbols = getSymbols;\nexports.indexOf = indexOf;\nexports.isBuffer = isBuffer;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_angular__);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = cacheAdaptersConfig;\n\ncacheAdaptersConfig.$inject = ['httpEtagProvider']\n\nfunction cacheAdaptersConfig (httpEtagProvider) {\n httpEtagProvider\n\n .defineCacheServiceAdapter('$cacheFactory', {\n config: {\n storesDeepCopies: false\n },\n methods: {\n createCache: function createCache ($cacheFactory, cacheId, options) {\n $cacheFactory(cacheId, options)\n },\n getCache: function getCache ($cacheFactory, cacheId) {\n return $cacheFactory.get(cacheId)\n },\n setItem: function setItem (cache, itemKey, value) {\n cache.put(itemKey, value)\n },\n getItem: function getItem (cache, itemKey) {\n return cache.get(itemKey)\n },\n removeItem: function removeItem (cache, itemKey) {\n cache.remove(itemKey)\n },\n removeAllItems: function removeAllItems (cache, itemKey) {\n cache.removeAll()\n }\n }\n })\n\n .defineCacheServiceAdapter('localStorage', {\n config: {\n storesDeepCopies: true\n },\n methods: {\n createCache: __WEBPACK_IMPORTED_MODULE_0_angular___default.a.noop,\n getCache: function getCache (localStorage, cacheId) {\n return cacheId\n },\n setItem: function setItem (cacheId, itemKey, value) {\n try {\n itemKey = cacheId + ':' + itemKey\n localStorage.setItem(itemKey, JSON.stringify(value))\n } catch (e) {\n\n }\n },\n getItem: function getItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n return JSON.parse(localStorage.getItem(itemKey))\n },\n removeItem: function removeItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n localStorage.removeItem(itemKey)\n },\n removeAllItems: function removeAllItems (cacheId, itemKey) {\n var keyPrefix = cacheId + ':'\n\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(localStorage, function (value, key) {\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key)\n }\n })\n }\n }\n })\n\n .defineCacheServiceAdapter('sessionStorage', {\n config: {\n storesDeepCopies: true\n },\n methods: {\n createCache: __WEBPACK_IMPORTED_MODULE_0_angular___default.a.noop,\n getCache: function getCache (sessionStorage, cacheId) {\n return cacheId\n },\n setItem: function setItem (cacheId, itemKey, value) {\n try {\n itemKey = cacheId + ':' + itemKey\n sessionStorage.setItem(itemKey, JSON.stringify(value))\n } catch (e) {\n\n }\n },\n getItem: function getItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n return JSON.parse(sessionStorage.getItem(itemKey))\n },\n removeItem: function removeItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n sessionStorage.removeItem(itemKey)\n },\n removeAllItems: function removeAllItems (cacheId, itemKey) {\n var keyPrefix = cacheId + ':'\n\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(sessionStorage, function (value, key) {\n if (key.indexOf(keyPrefix) === 0) {\n sessionStorage.removeItem(key)\n }\n })\n }\n }\n })\n}\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_angular__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_object_keys__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_object_keys___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_object_keys__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_array_map__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_array_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_array_map__);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = httpEtagHttpDecorator;\n\nhttpEtagHttpDecorator.$inject = ['$delegate', 'httpEtag']\n\nfunction httpEtagHttpDecorator ($delegate, httpEtag) {\n var $http = $delegate\n var cachableHttpMethods = [\n 'GET',\n 'JSONP'\n ]\n\n function $httpDecorator (httpConfig) {\n var useLegacyPromiseExtensions = httpEtagHttpDecorator.useLegacyPromiseExtensions()\n var hasConfig = !!httpConfig.etagCache\n var isCacheableMethod = cachableHttpMethods.indexOf(httpConfig.method) >= 0\n var isCachable = hasConfig && isCacheableMethod\n var httpPromise\n\n if (isCachable) {\n var etagCacheConfig = processHttpConfigEtagValue(httpConfig)\n if (etagCacheConfig) {\n var itemCache = httpEtag.getItemCache(etagCacheConfig.id, etagCacheConfig.itemKey)\n if (!itemCache) throw new Error('No defined ETag caches match specified cache ID')\n\n var cacheInfo = itemCache.info()\n var rawCacheData = itemCache.$get()\n var cachedEtag = rawCacheData && rawCacheData.etagHeader\n var cachedResponse = cachedEtag && rawCacheData.responseData\n\n // Allow easy access to cache in interceptor\n httpConfig.$$_itemCache = itemCache\n\n if (cachedEtag) {\n httpConfig.headers = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.extend({}, httpConfig.headers, {\n 'If-None-Match': cachedEtag\n })\n }\n }\n }\n\n httpPromise = $http.apply($http, arguments)\n httpEtagPromiseFactory(httpPromise)\n\n function httpEtagPromiseFactory (httpPromise) {\n var then = httpPromise.then\n var success = httpPromise.success\n\n if (useLegacyPromiseExtensions) {\n httpPromise.cached = function httpEtagPromiseCached (callback) {\n if (rawCacheData && cacheInfo.cacheResponseData) {\n callback(cachedResponse, 'cached', undefined, httpConfig, itemCache)\n }\n return httpPromise\n }\n } else {\n httpPromise.cached = function deprecatedEtagPromiseCached () {\n throw new Error('The method `cached` on the promise returned from `$http` has been disabled in favor of `ifCached`.')\n }\n }\n\n httpPromise.ifCached = function httpEtagPromiseIfCached (callback) {\n if (rawCacheData && cacheInfo.cacheResponseData) {\n callback({\n data: cachedResponse,\n status: 'cached',\n headers: undefined,\n config: httpConfig\n }, itemCache)\n }\n return httpPromise\n }\n\n httpPromise.then = function httpEtagThenWrapper (successCallback, errorCallback, progressBackCallback) {\n var thenPromise = then.apply(httpPromise, [\n successCallback ? httpEtagSuccessWrapper : undefined,\n errorCallback ? httpEtagErrorWrapper : undefined,\n progressBackCallback\n ])\n\n function httpEtagSuccessWrapper (response) {\n return successCallback(response, itemCache)\n }\n\n function httpEtagErrorWrapper (response) {\n return errorCallback(response, itemCache)\n }\n\n return httpEtagPromiseFactory(thenPromise)\n }\n\n if (useLegacyPromiseExtensions && itemCache) {\n httpPromise.success = function httpEtagPromiseSuccess (callback) {\n var partializedCallback = partial(callback, undefined, undefined, undefined, undefined, itemCache)\n return success.apply(httpPromise, [partializedCallback])\n }\n }\n\n return httpPromise\n }\n\n return httpPromise\n }\n\n // Decorate the cachable shortcut methods, too\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(cachableHttpMethods, function (httpMethod) {\n var method = httpMethod.toLowerCase()\n $httpDecorator[method] = function httpEtagHttpShortcutWrapper (url, config) {\n config = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.extend({}, config, {\n method: httpMethod,\n url: url\n })\n\n return $httpDecorator.call($http, config)\n }\n })\n\n // Copy over all other properties and methods\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach($http, function copyHttpPropertyToDectorator (value, key) {\n if (!$httpDecorator[key]) $httpDecorator[key] = value\n })\n\n /**\n * HELPERS\n */\n\n function processHttpConfigEtagValue (httpConfig) {\n var etagValue = httpConfig.etagCache\n var etagValueType = typeof etagValue\n var etagCacheConfig = {}\n\n // Evaluate function first\n if (etagValueType === 'function') {\n etagValue = etagValue(httpConfig)\n etagValueType = typeof etagValue\n }\n\n // Plain, cache, or itemCache objects\n if (etagValueType === 'object') {\n var id, itemKey\n\n if (etagValue.isCache) {\n id = etagValue.info().id\n itemKey = generateCacheItemKey(httpConfig)\n } else if (etagValue.isItemCache) {\n id = etagValue.info().id\n itemKey = etagValue.info().itemKey\n } else {\n id = etagValue.id\n itemKey = etagValue.itemKey || generateCacheItemKey(httpConfig)\n }\n\n etagCacheConfig.id = id\n etagCacheConfig.itemKey = itemKey\n } else if (etagValueType === 'string') {\n etagCacheConfig.id = etagValue\n etagCacheConfig.itemKey = generateCacheItemKey(httpConfig)\n } else if (etagValue === true) {\n // Undefined cacheId will use the default cacheId as defined in provider\n etagCacheConfig.itemKey = generateCacheItemKey(httpConfig)\n } else return\n return etagCacheConfig\n }\n\n function generateCacheItemKey (httpConfig) {\n var url = httpConfig.url\n var params = stringifyParams(httpConfig.params)\n var joiner = ((params && url.indexOf('?') > 0) ? '&' : '?')\n var queryString = (params && joiner + params) || ''\n return url + queryString\n }\n\n // Based on npm package \"query-string\"\n function stringifyParams (obj) {\n return obj ? __WEBPACK_IMPORTED_MODULE_2_array_map___default()(__WEBPACK_IMPORTED_MODULE_1_object_keys___default()(obj).sort(), function (key) {\n var val = obj[key]\n\n if (__WEBPACK_IMPORTED_MODULE_0_angular___default.a.isArray(val)) {\n return __WEBPACK_IMPORTED_MODULE_2_array_map___default()(val.sort(), function (val2) {\n return encodeURIComponent(key) + '=' + encodeURIComponent(val2)\n }).join('&')\n }\n\n return encodeURIComponent(key) + '=' + encodeURIComponent(val)\n }).join('&') : ''\n }\n\n // http://ejohn.org/blog/partial-functions-in-javascript/\n function partial (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n return function () {\n var arg = 0\n for (var i = 0; i < args.length && arg < arguments.length; i++) {\n if (args[i] === undefined) args[i] = arguments[arg++]\n }\n return fn.apply(this, args)\n }\n }\n\n return $httpDecorator\n}\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = httpEtagInterceptorFactory;\n\nfunction httpEtagInterceptorFactory () {\n function responseInterceptor (response) {\n var itemCache = response.config.$$_itemCache\n\n if (itemCache) {\n var cacheInfo = itemCache.info()\n var cacheResponseData = cacheInfo.cacheResponseData\n var etag = response.headers().etag\n var cacheData = {}\n\n if (etag) {\n cacheData.etagHeader = etag\n if (cacheResponseData) cacheData.responseData = response.data\n itemCache.$set(cacheData)\n }\n\n delete response.config.$$_itemCache\n }\n\n return response\n }\n\n return {\n response: responseInterceptor\n }\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_angular__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deepcopy__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deepcopy___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_deepcopy__);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = httpEtagProvider;\n\nfunction httpEtagProvider () {\n var httpEtagProvider = this\n\n var serviceAdapterMethods = [\n 'createCache',\n 'getCache'\n ]\n\n var cacheAdapterMethods = [\n 'setItem',\n 'getItem',\n 'removeItem',\n 'removeAllItems'\n // info method hard-coded\n ]\n\n var requiredAdapterMethods = serviceAdapterMethods.concat(cacheAdapterMethods)\n\n // Built-in adapters defined in ./cacheServiceAdapters.js\n var cacheAdapters = {}\n var cacheDefinitions = {}\n\n // Cache config defaults\n var defaultCacheId = 'httpEtagCache'\n var defaultEtagCacheConfig = {\n deepCopy: false,\n cacheResponseData: true,\n cacheService: '$cacheFactory',\n cacheOptions: {\n number: 25\n }\n }\n\n /**\n * SERVICE PROVIDER\n * .setDefaultCacheConfig(config)\n * .defineCache(cacheId, config)\n * .defineCacheServiceAdapter(serviceName, config)\n * .getCacheServiceAdapter(serviceName)\n */\n\n httpEtagProvider.setDefaultCacheConfig = function httpEtagSetDefaultCacheOptions (config) {\n defaultEtagCacheConfig = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.extend({}, defaultEtagCacheConfig, config)\n return httpEtagProvider\n }\n\n httpEtagProvider.getDefaultCacheConfig = function httpEtagGetDefaultCacheOptions () {\n return defaultEtagCacheConfig\n }\n\n httpEtagProvider.defineCache = function httpEtagDefineCache (cacheId, config) {\n config = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.extend({}, defaultEtagCacheConfig, config, { id: cacheId })\n cacheDefinitions[cacheId] = config\n return httpEtagProvider\n }\n\n httpEtagProvider.defineCacheServiceAdapter = function httpEtagDefineCacheServiceAdapter (serviceName, config) {\n if (!config) throw new Error('Missing cache service adapter configuration')\n if (!config.methods) throw new Error('Missing cache service adapter configuration methods')\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(requiredAdapterMethods, function (method) {\n if (typeof config.methods[method] !== 'function') {\n throw new Error('Expected cache service adapter method \"' + method + '\" to be a function')\n }\n })\n\n cacheAdapters[serviceName] = config\n return httpEtagProvider\n }\n\n httpEtagProvider.getCacheServiceAdapter = function httpEtagGetCacheServiceAdapter (serviceName) {\n return cacheAdapters[serviceName]\n }\n\n /**\n * SERVICE\n * .info()\n * .getCache(acheId)\n * .getItemCache(cacheId, itemKey)\n */\n\n httpEtagProvider.$get = ['$injector', function httpEtagFactory ($injector) {\n var httpEtagService = {}\n\n var services = {}\n var adaptedServices = {}\n var caches = {}\n var adaptedCaches = {}\n\n // Add default cache if not already defined\n if (!cacheDefinitions[defaultCacheId]) httpEtagProvider.defineCache(defaultCacheId)\n\n // Find/inject cache service and create adapted versions\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(cacheAdapters, function adaptCacheService (adapter, serviceName) {\n var service = services[serviceName] = window[serviceName] || $injector.get(serviceName)\n var adaptedService = adaptedServices[serviceName] = {}\n\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(serviceAdapterMethods, function (method) {\n adaptedService[method] = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.bind({}, adapter.methods[method], service)\n })\n })\n\n // Instantiate caches and create adapted versions\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(cacheDefinitions, function adaptCache (config, cacheId) {\n adaptedServices[config.cacheService].createCache(cacheId, config)\n var cache = caches[cacheId] = adaptedServices[config.cacheService].getCache(cacheId)\n var adaptedCache = adaptedCaches[cacheId] = {}\n // Determine whether to perform deepcopying or not\n var serviceDeepCopies = cacheAdapters[config.cacheService].config.storesDeepCopies\n var deepCopy = !serviceDeepCopies && cacheDefinitions[cacheId].deepCopy\n var copy = function (value) {\n return deepCopy ? __WEBPACK_IMPORTED_MODULE_1_deepcopy___default()(value) : value\n }\n\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(cacheAdapterMethods, function (method) {\n var adapterMethod = cacheAdapters[config.cacheService].methods[method]\n var wrappedMethod\n var wrappedRawMethod\n\n // Wrap set/get methods to set/get to the `responseData` property of an\n // object. This is where the $http interceptor stores response data.\n if (method === 'getItem') {\n wrappedMethod = function getCacheItemResponseData (cache, itemKey, options) {\n var cachedData = adapterMethod(cache, itemKey, options)\n return cachedData && copy(cachedData.responseData)\n }\n\n wrappedRawMethod = function getCacheItemData (cache, itemKey, options) {\n return copy(adapterMethod(cache, itemKey, options))\n }\n }\n\n if (method === 'setItem') {\n wrappedMethod = function setCacheItemResponseData (cache, itemKey, value, options) {\n var cachedData = adaptedCache.$getItem(itemKey)\n value = copy(value)\n\n if (cachedData && typeof cachedData === 'object') {\n cachedData.responseData = value\n value = cachedData\n } else value = { responseData: value }\n\n adapterMethod(cache, itemKey, value, options)\n }\n\n wrappedRawMethod = function setCacheItemData (cache, itemKey, value, options) {\n adapterMethod(cache, itemKey, copy(value), options)\n }\n }\n\n adaptedCache[method] = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.bind({}, (wrappedMethod || adapterMethod), cache)\n if (wrappedRawMethod) {\n adaptedCache['$' + method] = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.bind({}, wrappedRawMethod, cache)\n }\n })\n\n adaptedCache.unsetItem = function adaptedCacheUnsetItemCache (itemKey) {\n adaptedCache.setItem(itemKey, undefined)\n }\n adaptedCache.expireItem = function adaptedCacheUnsetItemCache (itemKey) {\n var data = adaptedCache.$getItem(itemKey)\n delete data.etagHeader\n adaptedCache.$setItem(itemKey, data)\n }\n adaptedCache.getItemCache = function adaptedCacheGetItemCache (itemKey) {\n return httpEtagService.getItemCache(cacheId, itemKey)\n }\n adaptedCache.info = function adaptedCacheInfo () {\n return cacheDefinitions[cacheId]\n }\n adaptedCache.isCache = true\n })\n\n httpEtagService.info = function httpEtagServiceInfo () {\n return cacheDefinitions\n }\n\n httpEtagService.getCache = function httpEtagServiceGetCache (cacheId) {\n var cache = adaptedCaches[processCacheId(cacheId)]\n if (cache) return cache\n }\n\n httpEtagService.getItemCache = function httpEtagServiceGeItemCache (cacheId, itemKey) {\n var cache = httpEtagService.getCache(cacheId)\n var itemCache = {}\n if (!cache) return\n\n var methodMappings = [\n ['set', 'setItem'],\n ['get', 'getItem'],\n ['$set', '$setItem'],\n ['$get', '$getItem'],\n ['unset', 'unsetItem'],\n ['expire', 'expireItem'],\n ['remove', 'removeItem']\n ]\n\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(methodMappings, function mapCacheMethdodsToItemCache (methods) {\n itemCache[methods[0]] = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.bind({}, cache[methods[1]], itemKey)\n })\n\n itemCache.info = function itemCacheInfo () {\n var itemCacheInfo = cache.info()\n itemCacheInfo.itemKey = itemKey\n return itemCacheInfo\n }\n\n itemCache.isItemCache = true\n\n return itemCache\n }\n\n httpEtagService.purgeCaches = function httpEtagPurgeCaches () {\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(adaptedCaches, function (cache) {\n cache.removeAllItems()\n })\n }\n\n function processCacheId (cacheId) {\n var type = typeof cacheId\n var isDefined = type === 'number' || (type === 'string' && !!cacheId)\n return isDefined ? cacheId : defaultCacheId\n }\n\n return httpEtagService\n }]\n}\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n var x = xs[i];\n if (hasOwn.call(xs, i)) res.push(f(x, i, xs));\n }\n return res;\n};\n\nvar hasOwn = Object.prototype.hasOwnProperty;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(9);\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.copyValue = exports.copyCollection = exports.copy = void 0;\n\nvar _polyfill = __webpack_require__(1);\n\nvar toString = Object.prototype.toString;\n\nfunction copy(target, customizer) {\n var resultValue = copyValue(target);\n\n if (resultValue !== null) {\n return resultValue;\n }\n\n return copyCollection(target, customizer);\n}\n\nfunction copyCollection(target, customizer) {\n if (typeof customizer !== 'function') {\n throw new TypeError('customizer is must be a Function');\n }\n\n if (typeof target === 'function') {\n var source = String(target);\n\n // NOTE:\n //\n // https://gist.github.com/jdalton/5e34d890105aca44399f\n //\n // - https://gist.github.com/jdalton/5e34d890105aca44399f#gistcomment-1283831\n // - http://es5.github.io/#x15\n //\n // native functions does not have prototype:\n //\n // Object.toString.prototype // => undefined\n // (function() {}).prototype // => {}\n //\n // but cannot detect native constructor:\n //\n // typeof Object // => 'function'\n // Object.prototype // => {}\n //\n // and cannot detect null binded function:\n //\n // String(Math.abs)\n // // => 'function abs() { [native code] }'\n //\n // Firefox, Safari:\n // String((function abs() {}).bind(null))\n // // => 'function abs() { [native code] }'\n //\n // Chrome:\n // String((function abs() {}).bind(null))\n // // => 'function () { [native code] }'\n if (/^\\s*function\\s*\\S*\\([^\\)]*\\)\\s*{\\s*\\[native code\\]\\s*}/.test(source)) {\n // native function\n return target;\n } else {\n // user defined function\n return new Function('return ' + String(source))();\n }\n }\n\n var targetClass = toString.call(target);\n\n if (targetClass === '[object Array]') {\n return [];\n }\n\n if (targetClass === '[object Object]' && target.constructor === Object) {\n return {};\n }\n\n if (targetClass === '[object Date]') {\n // NOTE:\n //\n // Firefox need to convert\n //\n // Firefox:\n // var date = new Date;\n // +date; // 1420909365967\n // +new Date(date); // 1420909365000\n // +new Date(+date); // 1420909365967\n //\n // Chrome:\n // var date = new Date;\n // +date; // 1420909757913\n // +new Date(date); // 1420909757913\n // +new Date(+date); // 1420909757913\n return new Date(target.getTime());\n }\n\n if (targetClass === '[object RegExp]') {\n // NOTE:\n //\n // Chrome, Safari:\n // (new RegExp).source => \"(?:)\"\n //\n // Firefox:\n // (new RegExp).source => \"\"\n //\n // Chrome, Safari, Firefox:\n // String(new RegExp) => \"/(?:)/\"\n var regexpText = String(target),\n slashIndex = regexpText.lastIndexOf('/');\n\n return new RegExp(regexpText.slice(1, slashIndex), regexpText.slice(slashIndex + 1));\n }\n\n if ((0, _polyfill.isBuffer)(target)) {\n var buffer = new Buffer(target.length);\n\n target.copy(buffer);\n\n return buffer;\n }\n\n var customizerResult = customizer(target);\n\n if (customizerResult !== void 0) {\n return customizerResult;\n }\n\n return null;\n}\n\nfunction copyValue(target) {\n var targetType = typeof target;\n\n // copy String, Number, Boolean, undefined and Symbol\n // without null and Function\n if (target !== null && targetType !== 'object' && targetType !== 'function') {\n return target;\n }\n\n return null;\n}\n\nexports.copy = copy;\nexports.copyCollection = copyCollection;\nexports.copyValue = copyValue;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _copy = __webpack_require__(8);\n\nvar _polyfill = __webpack_require__(1);\n\nfunction defaultCustomizer(target) {\n return void 0;\n}\n\nfunction deepcopy(target) {\n var customizer = arguments.length <= 1 || arguments[1] === void 0 ? defaultCustomizer : arguments[1];\n\n if (target === null) {\n // copy null\n return null;\n }\n\n var resultValue = (0, _copy.copyValue)(target);\n\n if (resultValue !== null) {\n // copy some primitive types\n return resultValue;\n }\n\n var resultCollection = (0, _copy.copyCollection)(target, customizer),\n clone = resultCollection !== null ? resultCollection : target;\n\n var visited = [target],\n reference = [clone];\n\n // recursively copy from collection\n return recursiveCopy(target, customizer, clone, visited, reference);\n}\n\nfunction recursiveCopy(target, customizer, clone, visited, reference) {\n if (target === null) {\n // copy null\n return null;\n }\n\n var resultValue = (0, _copy.copyValue)(target);\n\n if (resultValue !== null) {\n // copy some primitive types\n return resultValue;\n }\n\n var keys = (0, _polyfill.getKeys)(target).concat((0, _polyfill.getSymbols)(target));\n\n var i = void 0,\n len = void 0;\n\n var key = void 0,\n value = void 0,\n index = void 0,\n resultCopy = void 0,\n result = void 0,\n ref = void 0;\n\n for (i = 0, len = keys.length; i < len; ++i) {\n key = keys[i];\n value = target[key];\n index = (0, _polyfill.indexOf)(visited, value);\n\n resultCopy = void 0;\n result = void 0;\n ref = void 0;\n\n if (index === -1) {\n resultCopy = (0, _copy.copy)(value, customizer);\n result = resultCopy !== null ? resultCopy : value;\n\n if (value !== null && /^(?:function|object)$/.test(typeof value)) {\n visited.push(value);\n reference.push(result);\n }\n } else {\n // circular reference\n ref = reference[index];\n }\n\n clone[key] = ref || recursiveCopy(value, customizer, result, visited, reference);\n }\n\n return clone;\n}\n\nexports['default'] = deepcopy;\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// modified from https://github.com/es-shims/es5-shim\nvar has = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar slice = Array.prototype.slice;\nvar isArgs = __webpack_require__(11);\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\nvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\nvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\nvar dontEnums = [\n\t'toString',\n\t'toLocaleString',\n\t'valueOf',\n\t'hasOwnProperty',\n\t'isPrototypeOf',\n\t'propertyIsEnumerable',\n\t'constructor'\n];\nvar equalsConstructorPrototype = function (o) {\n\tvar ctor = o.constructor;\n\treturn ctor && ctor.prototype === o;\n};\nvar excludedKeys = {\n\t$console: true,\n\t$external: true,\n\t$frame: true,\n\t$frameElement: true,\n\t$frames: true,\n\t$innerHeight: true,\n\t$innerWidth: true,\n\t$outerHeight: true,\n\t$outerWidth: true,\n\t$pageXOffset: true,\n\t$pageYOffset: true,\n\t$parent: true,\n\t$scrollLeft: true,\n\t$scrollTop: true,\n\t$scrollX: true,\n\t$scrollY: true,\n\t$self: true,\n\t$webkitIndexedDB: true,\n\t$webkitStorageInfo: true,\n\t$window: true\n};\nvar hasAutomationEqualityBug = (function () {\n\t/* global window */\n\tif (typeof window === 'undefined') { return false; }\n\tfor (var k in window) {\n\t\ttry {\n\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\ttry {\n\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}());\nvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t/* global window */\n\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\treturn equalsConstructorPrototype(o);\n\t}\n\ttry {\n\t\treturn equalsConstructorPrototype(o);\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar keysShim = function keys(object) {\n\tvar isObject = object !== null && typeof object === 'object';\n\tvar isFunction = toStr.call(object) === '[object Function]';\n\tvar isArguments = isArgs(object);\n\tvar isString = isObject && toStr.call(object) === '[object String]';\n\tvar theKeys = [];\n\n\tif (!isObject && !isFunction && !isArguments) {\n\t\tthrow new TypeError('Object.keys called on a non-object');\n\t}\n\n\tvar skipProto = hasProtoEnumBug && isFunction;\n\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\ttheKeys.push(String(i));\n\t\t}\n\t}\n\n\tif (isArguments && object.length > 0) {\n\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\ttheKeys.push(String(j));\n\t\t}\n\t} else {\n\t\tfor (var name in object) {\n\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\ttheKeys.push(String(name));\n\t\t\t}\n\t\t}\n\t}\n\n\tif (hasDontEnumBug) {\n\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t}\n\t\t}\n\t}\n\treturn theKeys;\n};\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\treturn (Object.keys(arguments) || '').length === 2;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tvar originalKeys = Object.keys;\n\t\t\tObject.keys = function keys(object) {\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t} else {\n\t\t\t\t\treturn originalKeys(object);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_angular__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__service__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__httpDecorator__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__httpInterceptor__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__cacheServiceAdapters__ = __webpack_require__(2);\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_0_angular___default.a\n .module('http-etag', [])\n .provider('httpEtag', __WEBPACK_IMPORTED_MODULE_1__service__[\"a\" /* default */])\n .config(__WEBPACK_IMPORTED_MODULE_4__cacheServiceAdapters__[\"a\" /* default */])\n .config(['$provide', '$httpProvider', function addHttpEtagInterceptor ($provide, $httpProvider) {\n __WEBPACK_IMPORTED_MODULE_2__httpDecorator__[\"a\" /* default */].useLegacyPromiseExtensions =\n $httpProvider.useLegacyPromiseExtensions ||\n function useLegacyPromiseExtensions () { return true }\n $provide.decorator('$http', __WEBPACK_IMPORTED_MODULE_2__httpDecorator__[\"a\" /* default */])\n $httpProvider.interceptors.push(__WEBPACK_IMPORTED_MODULE_3__httpInterceptor__[\"a\" /* default */])\n }])\n .name;\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// angular-http-etag.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 12);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap fa82d5cf77160377f704","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"angular\"\n// module id = 0\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nvar toString = Object.prototype.toString;\n\nvar isBuffer = typeof Buffer !== 'undefined' ? function isBuffer(obj) {\n return Buffer.isBuffer(obj);\n} : function isBuffer() {\n // always return false in browsers\n return false;\n};\n\nvar getKeys = typeof Object.keys === 'function' ? function getKeys(obj) {\n return Object.keys(obj);\n} : function getKeys(obj) {\n var objType = typeof obj;\n\n if (obj === null || objType !== 'function' && objType !== 'object') {\n throw new TypeError('obj must be an Object');\n }\n\n var resultKeys = [],\n key = void 0;\n\n for (key in obj) {\n Object.prototype.hasOwnProperty.call(obj, key) && resultKeys.push(key);\n }\n\n return resultKeys;\n};\n\nvar getSymbols = typeof Symbol === 'function' ? function getSymbols(obj) {\n return Object.getOwnPropertySymbols(obj);\n} : function getSymbols() {\n // always return empty Array when Symbol is not supported\n return [];\n};\n\n// NOTE:\n//\n// Array.prototype.indexOf is cannot find NaN (in Chrome)\n// Array.prototype.includes is can find NaN (in Chrome)\n//\n// this function can find NaN, because use SameValue algorithm\nfunction indexOf(array, s) {\n if (toString.call(array) !== '[object Array]') {\n throw new TypeError('array must be an Array');\n }\n\n var i = void 0,\n len = void 0,\n value = void 0;\n\n for (i = 0, len = array.length; i < len; ++i) {\n value = array[i];\n\n // NOTE:\n //\n // it is SameValue algorithm\n // http://stackoverflow.com/questions/27144277/comparing-a-variable-with-itself\n //\n // eslint-disable-next-line no-self-compare\n if (value === s || value !== value && s !== s) {\n return i;\n }\n }\n\n return -1;\n}\n\nexports.getKeys = getKeys;\nexports.getSymbols = getSymbols;\nexports.indexOf = indexOf;\nexports.isBuffer = isBuffer;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deepcopy/lib/polyfill.js\n// module id = 1\n// module chunks = 0","import angular from 'angular'\n\nexport default cacheAdaptersConfig\n\ncacheAdaptersConfig.$inject = ['httpEtagProvider']\n\nfunction cacheAdaptersConfig (httpEtagProvider) {\n httpEtagProvider\n\n .defineCacheServiceAdapter('$cacheFactory', {\n config: {\n storesDeepCopies: false\n },\n methods: {\n createCache: function createCache ($cacheFactory, cacheId, options) {\n $cacheFactory(cacheId, options)\n },\n getCache: function getCache ($cacheFactory, cacheId) {\n return $cacheFactory.get(cacheId)\n },\n setItem: function setItem (cache, itemKey, value) {\n cache.put(itemKey, value)\n },\n getItem: function getItem (cache, itemKey) {\n return cache.get(itemKey)\n },\n removeItem: function removeItem (cache, itemKey) {\n cache.remove(itemKey)\n },\n removeAllItems: function removeAllItems (cache, itemKey) {\n cache.removeAll()\n }\n }\n })\n\n .defineCacheServiceAdapter('localStorage', {\n config: {\n storesDeepCopies: true\n },\n methods: {\n createCache: angular.noop,\n getCache: function getCache (localStorage, cacheId) {\n return cacheId\n },\n setItem: function setItem (cacheId, itemKey, value) {\n try {\n itemKey = cacheId + ':' + itemKey\n localStorage.setItem(itemKey, JSON.stringify(value))\n } catch (e) {\n\n }\n },\n getItem: function getItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n return JSON.parse(localStorage.getItem(itemKey))\n },\n removeItem: function removeItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n localStorage.removeItem(itemKey)\n },\n removeAllItems: function removeAllItems (cacheId, itemKey) {\n var keyPrefix = cacheId + ':'\n\n angular.forEach(localStorage, function (value, key) {\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key)\n }\n })\n }\n }\n })\n\n .defineCacheServiceAdapter('sessionStorage', {\n config: {\n storesDeepCopies: true\n },\n methods: {\n createCache: angular.noop,\n getCache: function getCache (sessionStorage, cacheId) {\n return cacheId\n },\n setItem: function setItem (cacheId, itemKey, value) {\n try {\n itemKey = cacheId + ':' + itemKey\n sessionStorage.setItem(itemKey, JSON.stringify(value))\n } catch (e) {\n\n }\n },\n getItem: function getItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n return JSON.parse(sessionStorage.getItem(itemKey))\n },\n removeItem: function removeItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n sessionStorage.removeItem(itemKey)\n },\n removeAllItems: function removeAllItems (cacheId, itemKey) {\n var keyPrefix = cacheId + ':'\n\n angular.forEach(sessionStorage, function (value, key) {\n if (key.indexOf(keyPrefix) === 0) {\n sessionStorage.removeItem(key)\n }\n })\n }\n }\n })\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/cacheServiceAdapters.js\n// module id = 2\n// module chunks = 0","import angular from 'angular'\nimport objectKeys from 'object-keys'\nimport arrayMap from 'array-map'\n\nexport default httpEtagHttpDecorator\n\nhttpEtagHttpDecorator.$inject = ['$delegate', 'httpEtag']\n\nfunction httpEtagHttpDecorator ($delegate, httpEtag) {\n var $http = $delegate\n var cachableHttpMethods = [\n 'GET',\n 'JSONP'\n ]\n\n function $httpDecorator (httpConfig) {\n var useLegacyPromiseExtensions = httpEtagHttpDecorator.useLegacyPromiseExtensions()\n var hasConfig = !!httpConfig.etagCache\n var isCacheableMethod = cachableHttpMethods.indexOf(httpConfig.method) >= 0\n var isCachable = hasConfig && isCacheableMethod\n var httpPromise\n\n if (isCachable) {\n var etagCacheConfig = processHttpConfigEtagValue(httpConfig)\n if (etagCacheConfig) {\n var itemCache = httpEtag.getItemCache(etagCacheConfig.id, etagCacheConfig.itemKey)\n if (!itemCache) throw new Error('No defined ETag caches match specified cache ID')\n\n var cacheInfo = itemCache.info()\n var rawCacheData = itemCache.$get()\n var cachedEtag = rawCacheData && rawCacheData.etagHeader\n var cachedResponse = cachedEtag && rawCacheData.responseData\n\n // Allow easy access to cache in interceptor\n httpConfig.$$_itemCache = itemCache\n\n if (cachedEtag) {\n httpConfig.headers = angular.extend({}, httpConfig.headers, {\n 'If-None-Match': cachedEtag\n })\n }\n }\n }\n\n httpPromise = $http.apply($http, arguments)\n httpEtagPromiseFactory(httpPromise)\n\n function httpEtagPromiseFactory (httpPromise) {\n var then = httpPromise.then\n var success = httpPromise.success\n\n if (useLegacyPromiseExtensions) {\n httpPromise.cached = function httpEtagPromiseCached (callback) {\n if (rawCacheData && cacheInfo.cacheResponseData) {\n callback(cachedResponse, 'cached', undefined, httpConfig, itemCache)\n }\n return httpPromise\n }\n } else {\n httpPromise.cached = function deprecatedEtagPromiseCached () {\n throw new Error('The method `cached` on the promise returned from `$http` has been disabled in favor of `ifCached`.')\n }\n }\n\n httpPromise.ifCached = function httpEtagPromiseIfCached (callback) {\n if (rawCacheData && cacheInfo.cacheResponseData) {\n callback({\n data: cachedResponse,\n status: 'cached',\n headers: undefined,\n config: httpConfig\n }, itemCache)\n }\n return httpPromise\n }\n\n httpPromise.then = function httpEtagThenWrapper (successCallback, errorCallback, progressBackCallback) {\n var thenPromise = then.apply(httpPromise, [\n successCallback ? httpEtagSuccessWrapper : undefined,\n errorCallback ? httpEtagErrorWrapper : undefined,\n progressBackCallback\n ])\n\n function httpEtagSuccessWrapper (response) {\n return successCallback(response, itemCache)\n }\n\n function httpEtagErrorWrapper (response) {\n return errorCallback(response, itemCache)\n }\n\n return httpEtagPromiseFactory(thenPromise)\n }\n\n if (useLegacyPromiseExtensions && itemCache) {\n httpPromise.success = function httpEtagPromiseSuccess (callback) {\n var partializedCallback = partial(callback, undefined, undefined, undefined, undefined, itemCache)\n return success.apply(httpPromise, [partializedCallback])\n }\n }\n\n return httpPromise\n }\n\n return httpPromise\n }\n\n // Decorate the cachable shortcut methods, too\n angular.forEach(cachableHttpMethods, function (httpMethod) {\n var method = httpMethod.toLowerCase()\n $httpDecorator[method] = function httpEtagHttpShortcutWrapper (url, config) {\n config = angular.extend({}, config, {\n method: httpMethod,\n url: url\n })\n\n return $httpDecorator.call($http, config)\n }\n })\n\n // Copy over all other properties and methods\n angular.forEach($http, function copyHttpPropertyToDectorator (value, key) {\n if (!$httpDecorator[key]) $httpDecorator[key] = value\n })\n\n /**\n * HELPERS\n */\n\n function processHttpConfigEtagValue (httpConfig) {\n var etagValue = httpConfig.etagCache\n var etagValueType = typeof etagValue\n var etagCacheConfig = {}\n\n // Evaluate function first\n if (etagValueType === 'function') {\n etagValue = etagValue(httpConfig)\n etagValueType = typeof etagValue\n }\n\n // Plain, cache, or itemCache objects\n if (etagValueType === 'object') {\n var id, itemKey\n\n if (etagValue.isCache) {\n id = etagValue.info().id\n itemKey = generateCacheItemKey(httpConfig)\n } else if (etagValue.isItemCache) {\n id = etagValue.info().id\n itemKey = etagValue.info().itemKey\n } else {\n id = etagValue.id\n itemKey = etagValue.itemKey || generateCacheItemKey(httpConfig)\n }\n\n etagCacheConfig.id = id\n etagCacheConfig.itemKey = itemKey\n } else if (etagValueType === 'string') {\n etagCacheConfig.id = etagValue\n etagCacheConfig.itemKey = generateCacheItemKey(httpConfig)\n } else if (etagValue === true) {\n // Undefined cacheId will use the default cacheId as defined in provider\n etagCacheConfig.itemKey = generateCacheItemKey(httpConfig)\n } else return\n return etagCacheConfig\n }\n\n function generateCacheItemKey (httpConfig) {\n var url = httpConfig.url\n var params = stringifyParams(httpConfig.params)\n var joiner = ((params && url.indexOf('?') > 0) ? '&' : '?')\n var queryString = (params && joiner + params) || ''\n return url + queryString\n }\n\n // Based on npm package \"query-string\"\n function stringifyParams (obj) {\n return obj ? arrayMap(objectKeys(obj).sort(), function (key) {\n var val = obj[key]\n\n if (angular.isArray(val)) {\n return arrayMap(val.sort(), function (val2) {\n return encodeURIComponent(key) + '=' + encodeURIComponent(val2)\n }).join('&')\n }\n\n return encodeURIComponent(key) + '=' + encodeURIComponent(val)\n }).join('&') : ''\n }\n\n // http://ejohn.org/blog/partial-functions-in-javascript/\n function partial (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n return function () {\n var arg = 0\n for (var i = 0; i < args.length && arg < arguments.length; i++) {\n if (args[i] === undefined) args[i] = arguments[arg++]\n }\n return fn.apply(this, args)\n }\n }\n\n return $httpDecorator\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/httpDecorator.js\n// module id = 3\n// module chunks = 0","export default httpEtagInterceptorFactory\n\nfunction httpEtagInterceptorFactory () {\n function responseInterceptor (response) {\n var itemCache = response.config.$$_itemCache\n\n if (itemCache) {\n var cacheInfo = itemCache.info()\n var cacheResponseData = cacheInfo.cacheResponseData\n var etag = response.headers().etag\n var cacheData = {}\n\n if (etag) {\n cacheData.etagHeader = etag\n if (cacheResponseData) cacheData.responseData = response.data\n itemCache.$set(cacheData)\n }\n\n delete response.config.$$_itemCache\n }\n\n return response\n }\n\n return {\n response: responseInterceptor\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/httpInterceptor.js\n// module id = 4\n// module chunks = 0","import angular from 'angular'\nimport deepcopy from 'deepcopy'\n\nexport default httpEtagProvider\n\nfunction httpEtagProvider () {\n var httpEtagProvider = this\n\n var serviceAdapterMethods = [\n 'createCache',\n 'getCache'\n ]\n\n var cacheAdapterMethods = [\n 'setItem',\n 'getItem',\n 'removeItem',\n 'removeAllItems'\n // info method hard-coded\n ]\n\n var requiredAdapterMethods = serviceAdapterMethods.concat(cacheAdapterMethods)\n\n // Built-in adapters defined in ./cacheServiceAdapters.js\n var cacheAdapters = {}\n var cacheDefinitions = {}\n\n // Cache config defaults\n var defaultCacheId = 'httpEtagCache'\n var defaultEtagCacheConfig = {\n deepCopy: false,\n cacheResponseData: true,\n cacheService: '$cacheFactory',\n cacheOptions: {\n number: 25\n }\n }\n\n /**\n * SERVICE PROVIDER\n * .setDefaultCacheConfig(config)\n * .defineCache(cacheId, config)\n * .defineCacheServiceAdapter(serviceName, config)\n * .getCacheServiceAdapter(serviceName)\n */\n\n httpEtagProvider.setDefaultCacheConfig = function httpEtagSetDefaultCacheOptions (config) {\n defaultEtagCacheConfig = angular.extend({}, defaultEtagCacheConfig, config)\n return httpEtagProvider\n }\n\n httpEtagProvider.getDefaultCacheConfig = function httpEtagGetDefaultCacheOptions () {\n return defaultEtagCacheConfig\n }\n\n httpEtagProvider.defineCache = function httpEtagDefineCache (cacheId, config) {\n config = angular.extend({}, defaultEtagCacheConfig, config, { id: cacheId })\n cacheDefinitions[cacheId] = config\n return httpEtagProvider\n }\n\n httpEtagProvider.defineCacheServiceAdapter = function httpEtagDefineCacheServiceAdapter (serviceName, config) {\n if (!config) throw new Error('Missing cache service adapter configuration')\n if (!config.methods) throw new Error('Missing cache service adapter configuration methods')\n angular.forEach(requiredAdapterMethods, function (method) {\n if (typeof config.methods[method] !== 'function') {\n throw new Error('Expected cache service adapter method \"' + method + '\" to be a function')\n }\n })\n\n cacheAdapters[serviceName] = config\n return httpEtagProvider\n }\n\n httpEtagProvider.getCacheServiceAdapter = function httpEtagGetCacheServiceAdapter (serviceName) {\n return cacheAdapters[serviceName]\n }\n\n /**\n * SERVICE\n * .info()\n * .getCache(acheId)\n * .getItemCache(cacheId, itemKey)\n */\n\n httpEtagProvider.$get = ['$injector', function httpEtagFactory ($injector) {\n var httpEtagService = {}\n\n var services = {}\n var adaptedServices = {}\n var caches = {}\n var adaptedCaches = {}\n\n // Add default cache if not already defined\n if (!cacheDefinitions[defaultCacheId]) httpEtagProvider.defineCache(defaultCacheId)\n\n // Find/inject cache service and create adapted versions\n angular.forEach(cacheAdapters, function adaptCacheService (adapter, serviceName) {\n var service = services[serviceName] = window[serviceName] || $injector.get(serviceName)\n var adaptedService = adaptedServices[serviceName] = {}\n\n angular.forEach(serviceAdapterMethods, function (method) {\n adaptedService[method] = angular.bind({}, adapter.methods[method], service)\n })\n })\n\n // Instantiate caches and create adapted versions\n angular.forEach(cacheDefinitions, function adaptCache (config, cacheId) {\n adaptedServices[config.cacheService].createCache(cacheId, config)\n var cache = caches[cacheId] = adaptedServices[config.cacheService].getCache(cacheId)\n var adaptedCache = adaptedCaches[cacheId] = {}\n // Determine whether to perform deepcopying or not\n var serviceDeepCopies = cacheAdapters[config.cacheService].config.storesDeepCopies\n var deepCopy = !serviceDeepCopies && cacheDefinitions[cacheId].deepCopy\n var copy = function (value) {\n return deepCopy ? deepcopy(value) : value\n }\n\n angular.forEach(cacheAdapterMethods, function (method) {\n var adapterMethod = cacheAdapters[config.cacheService].methods[method]\n var wrappedMethod\n var wrappedRawMethod\n\n // Wrap set/get methods to set/get to the `responseData` property of an\n // object. This is where the $http interceptor stores response data.\n if (method === 'getItem') {\n wrappedMethod = function getCacheItemResponseData (cache, itemKey, options) {\n var cachedData = adapterMethod(cache, itemKey, options)\n return cachedData && copy(cachedData.responseData)\n }\n\n wrappedRawMethod = function getCacheItemData (cache, itemKey, options) {\n return copy(adapterMethod(cache, itemKey, options))\n }\n }\n\n if (method === 'setItem') {\n wrappedMethod = function setCacheItemResponseData (cache, itemKey, value, options) {\n var cachedData = adaptedCache.$getItem(itemKey)\n value = copy(value)\n\n if (cachedData && typeof cachedData === 'object') {\n cachedData.responseData = value\n value = cachedData\n } else value = { responseData: value }\n\n adapterMethod(cache, itemKey, value, options)\n }\n\n wrappedRawMethod = function setCacheItemData (cache, itemKey, value, options) {\n adapterMethod(cache, itemKey, copy(value), options)\n }\n }\n\n adaptedCache[method] = angular.bind({}, (wrappedMethod || adapterMethod), cache)\n if (wrappedRawMethod) {\n adaptedCache['$' + method] = angular.bind({}, wrappedRawMethod, cache)\n }\n })\n\n adaptedCache.unsetItem = function adaptedCacheUnsetItemCache (itemKey) {\n adaptedCache.setItem(itemKey, undefined)\n }\n adaptedCache.expireItem = function adaptedCacheUnsetItemCache (itemKey) {\n var data = adaptedCache.$getItem(itemKey)\n delete data.etagHeader\n adaptedCache.$setItem(itemKey, data)\n }\n adaptedCache.getItemCache = function adaptedCacheGetItemCache (itemKey) {\n return httpEtagService.getItemCache(cacheId, itemKey)\n }\n adaptedCache.info = function adaptedCacheInfo () {\n return cacheDefinitions[cacheId]\n }\n adaptedCache.isCache = true\n })\n\n httpEtagService.info = function httpEtagServiceInfo () {\n return cacheDefinitions\n }\n\n httpEtagService.getCache = function httpEtagServiceGetCache (cacheId) {\n var cache = adaptedCaches[processCacheId(cacheId)]\n if (cache) return cache\n }\n\n httpEtagService.getItemCache = function httpEtagServiceGeItemCache (cacheId, itemKey) {\n var cache = httpEtagService.getCache(cacheId)\n var itemCache = {}\n if (!cache) return\n\n var methodMappings = [\n ['set', 'setItem'],\n ['get', 'getItem'],\n ['$set', '$setItem'],\n ['$get', '$getItem'],\n ['unset', 'unsetItem'],\n ['expire', 'expireItem'],\n ['remove', 'removeItem']\n ]\n\n angular.forEach(methodMappings, function mapCacheMethdodsToItemCache (methods) {\n itemCache[methods[0]] = angular.bind({}, cache[methods[1]], itemKey)\n })\n\n itemCache.info = function itemCacheInfo () {\n var itemCacheInfo = cache.info()\n itemCacheInfo.itemKey = itemKey\n return itemCacheInfo\n }\n\n itemCache.isItemCache = true\n\n return itemCache\n }\n\n httpEtagService.purgeCaches = function httpEtagPurgeCaches () {\n angular.forEach(adaptedCaches, function (cache) {\n cache.removeAllItems()\n })\n }\n\n function processCacheId (cacheId) {\n var type = typeof cacheId\n var isDefined = type === 'number' || (type === 'string' && !!cacheId)\n return isDefined ? cacheId : defaultCacheId\n }\n\n return httpEtagService\n }]\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/service.js\n// module id = 5\n// module chunks = 0","module.exports = function (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n var x = xs[i];\n if (hasOwn.call(xs, i)) res.push(f(x, i, xs));\n }\n return res;\n};\n\nvar hasOwn = Object.prototype.hasOwnProperty;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/array-map/index.js\n// module id = 6\n// module chunks = 0","module.exports = require('./lib');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deepcopy/index.js\n// module id = 7\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.copyValue = exports.copyCollection = exports.copy = void 0;\n\nvar _polyfill = require('./polyfill');\n\nvar toString = Object.prototype.toString;\n\nfunction copy(target, customizer) {\n var resultValue = copyValue(target);\n\n if (resultValue !== null) {\n return resultValue;\n }\n\n return copyCollection(target, customizer);\n}\n\nfunction copyCollection(target, customizer) {\n if (typeof customizer !== 'function') {\n throw new TypeError('customizer is must be a Function');\n }\n\n if (typeof target === 'function') {\n var source = String(target);\n\n // NOTE:\n //\n // https://gist.github.com/jdalton/5e34d890105aca44399f\n //\n // - https://gist.github.com/jdalton/5e34d890105aca44399f#gistcomment-1283831\n // - http://es5.github.io/#x15\n //\n // native functions does not have prototype:\n //\n // Object.toString.prototype // => undefined\n // (function() {}).prototype // => {}\n //\n // but cannot detect native constructor:\n //\n // typeof Object // => 'function'\n // Object.prototype // => {}\n //\n // and cannot detect null binded function:\n //\n // String(Math.abs)\n // // => 'function abs() { [native code] }'\n //\n // Firefox, Safari:\n // String((function abs() {}).bind(null))\n // // => 'function abs() { [native code] }'\n //\n // Chrome:\n // String((function abs() {}).bind(null))\n // // => 'function () { [native code] }'\n if (/^\\s*function\\s*\\S*\\([^\\)]*\\)\\s*{\\s*\\[native code\\]\\s*}/.test(source)) {\n // native function\n return target;\n } else {\n // user defined function\n return new Function('return ' + String(source))();\n }\n }\n\n var targetClass = toString.call(target);\n\n if (targetClass === '[object Array]') {\n return [];\n }\n\n if (targetClass === '[object Object]' && target.constructor === Object) {\n return {};\n }\n\n if (targetClass === '[object Date]') {\n // NOTE:\n //\n // Firefox need to convert\n //\n // Firefox:\n // var date = new Date;\n // +date; // 1420909365967\n // +new Date(date); // 1420909365000\n // +new Date(+date); // 1420909365967\n //\n // Chrome:\n // var date = new Date;\n // +date; // 1420909757913\n // +new Date(date); // 1420909757913\n // +new Date(+date); // 1420909757913\n return new Date(target.getTime());\n }\n\n if (targetClass === '[object RegExp]') {\n // NOTE:\n //\n // Chrome, Safari:\n // (new RegExp).source => \"(?:)\"\n //\n // Firefox:\n // (new RegExp).source => \"\"\n //\n // Chrome, Safari, Firefox:\n // String(new RegExp) => \"/(?:)/\"\n var regexpText = String(target),\n slashIndex = regexpText.lastIndexOf('/');\n\n return new RegExp(regexpText.slice(1, slashIndex), regexpText.slice(slashIndex + 1));\n }\n\n if ((0, _polyfill.isBuffer)(target)) {\n var buffer = new Buffer(target.length);\n\n target.copy(buffer);\n\n return buffer;\n }\n\n var customizerResult = customizer(target);\n\n if (customizerResult !== void 0) {\n return customizerResult;\n }\n\n return null;\n}\n\nfunction copyValue(target) {\n var targetType = typeof target;\n\n // copy String, Number, Boolean, undefined and Symbol\n // without null and Function\n if (target !== null && targetType !== 'object' && targetType !== 'function') {\n return target;\n }\n\n return null;\n}\n\nexports.copy = copy;\nexports.copyCollection = copyCollection;\nexports.copyValue = copyValue;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deepcopy/lib/copy.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _copy = require('./copy');\n\nvar _polyfill = require('./polyfill');\n\nfunction defaultCustomizer(target) {\n return void 0;\n}\n\nfunction deepcopy(target) {\n var customizer = arguments.length <= 1 || arguments[1] === void 0 ? defaultCustomizer : arguments[1];\n\n if (target === null) {\n // copy null\n return null;\n }\n\n var resultValue = (0, _copy.copyValue)(target);\n\n if (resultValue !== null) {\n // copy some primitive types\n return resultValue;\n }\n\n var resultCollection = (0, _copy.copyCollection)(target, customizer),\n clone = resultCollection !== null ? resultCollection : target;\n\n var visited = [target],\n reference = [clone];\n\n // recursively copy from collection\n return recursiveCopy(target, customizer, clone, visited, reference);\n}\n\nfunction recursiveCopy(target, customizer, clone, visited, reference) {\n if (target === null) {\n // copy null\n return null;\n }\n\n var resultValue = (0, _copy.copyValue)(target);\n\n if (resultValue !== null) {\n // copy some primitive types\n return resultValue;\n }\n\n var keys = (0, _polyfill.getKeys)(target).concat((0, _polyfill.getSymbols)(target));\n\n var i = void 0,\n len = void 0;\n\n var key = void 0,\n value = void 0,\n index = void 0,\n resultCopy = void 0,\n result = void 0,\n ref = void 0;\n\n for (i = 0, len = keys.length; i < len; ++i) {\n key = keys[i];\n value = target[key];\n index = (0, _polyfill.indexOf)(visited, value);\n\n resultCopy = void 0;\n result = void 0;\n ref = void 0;\n\n if (index === -1) {\n resultCopy = (0, _copy.copy)(value, customizer);\n result = resultCopy !== null ? resultCopy : value;\n\n if (value !== null && /^(?:function|object)$/.test(typeof value)) {\n visited.push(value);\n reference.push(result);\n }\n } else {\n // circular reference\n ref = reference[index];\n }\n\n clone[key] = ref || recursiveCopy(value, customizer, result, visited, reference);\n }\n\n return clone;\n}\n\nexports['default'] = deepcopy;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deepcopy/lib/index.js\n// module id = 9\n// module chunks = 0","'use strict';\n\n// modified from https://github.com/es-shims/es5-shim\nvar has = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\nvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\nvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\nvar dontEnums = [\n\t'toString',\n\t'toLocaleString',\n\t'valueOf',\n\t'hasOwnProperty',\n\t'isPrototypeOf',\n\t'propertyIsEnumerable',\n\t'constructor'\n];\nvar equalsConstructorPrototype = function (o) {\n\tvar ctor = o.constructor;\n\treturn ctor && ctor.prototype === o;\n};\nvar excludedKeys = {\n\t$console: true,\n\t$external: true,\n\t$frame: true,\n\t$frameElement: true,\n\t$frames: true,\n\t$innerHeight: true,\n\t$innerWidth: true,\n\t$outerHeight: true,\n\t$outerWidth: true,\n\t$pageXOffset: true,\n\t$pageYOffset: true,\n\t$parent: true,\n\t$scrollLeft: true,\n\t$scrollTop: true,\n\t$scrollX: true,\n\t$scrollY: true,\n\t$self: true,\n\t$webkitIndexedDB: true,\n\t$webkitStorageInfo: true,\n\t$window: true\n};\nvar hasAutomationEqualityBug = (function () {\n\t/* global window */\n\tif (typeof window === 'undefined') { return false; }\n\tfor (var k in window) {\n\t\ttry {\n\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\ttry {\n\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}());\nvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t/* global window */\n\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\treturn equalsConstructorPrototype(o);\n\t}\n\ttry {\n\t\treturn equalsConstructorPrototype(o);\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar keysShim = function keys(object) {\n\tvar isObject = object !== null && typeof object === 'object';\n\tvar isFunction = toStr.call(object) === '[object Function]';\n\tvar isArguments = isArgs(object);\n\tvar isString = isObject && toStr.call(object) === '[object String]';\n\tvar theKeys = [];\n\n\tif (!isObject && !isFunction && !isArguments) {\n\t\tthrow new TypeError('Object.keys called on a non-object');\n\t}\n\n\tvar skipProto = hasProtoEnumBug && isFunction;\n\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\ttheKeys.push(String(i));\n\t\t}\n\t}\n\n\tif (isArguments && object.length > 0) {\n\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\ttheKeys.push(String(j));\n\t\t}\n\t} else {\n\t\tfor (var name in object) {\n\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\ttheKeys.push(String(name));\n\t\t\t}\n\t\t}\n\t}\n\n\tif (hasDontEnumBug) {\n\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t}\n\t\t}\n\t}\n\treturn theKeys;\n};\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\treturn (Object.keys(arguments) || '').length === 2;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tvar originalKeys = Object.keys;\n\t\t\tObject.keys = function keys(object) {\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t} else {\n\t\t\t\t\treturn originalKeys(object);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/object-keys/index.js\n// module id = 10\n// module chunks = 0","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/object-keys/isArguments.js\n// module id = 11\n// module chunks = 0","import angular from 'angular'\nimport service from './service'\nimport httpDecorator from './httpDecorator'\nimport httpInterceptor from './httpInterceptor'\nimport cacheServiceAdapters from './cacheServiceAdapters'\n\nexport default angular\n .module('http-etag', [])\n .provider('httpEtag', service)\n .config(cacheServiceAdapters)\n .config(['$provide', '$httpProvider', function addHttpEtagInterceptor ($provide, $httpProvider) {\n httpDecorator.useLegacyPromiseExtensions =\n $httpProvider.useLegacyPromiseExtensions ||\n function useLegacyPromiseExtensions () { return true }\n $provide.decorator('$http', httpDecorator)\n $httpProvider.interceptors.push(httpInterceptor)\n }])\n .name\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/index.js\n// module id = 12\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///angular-http-etag.min.js","webpack:///webpack/bootstrap 870e0f29eded9b4f88ee","webpack:///external \"angular\"","webpack:///./~/deepcopy/lib/polyfill.js","webpack:///./src/cacheServiceAdapters.js","webpack:///./src/httpDecorator.js","webpack:///./src/httpInterceptor.js","webpack:///./src/service.js","webpack:///./~/array-map/index.js","webpack:///./~/deepcopy/index.js","webpack:///./~/deepcopy/lib/copy.js","webpack:///./~/deepcopy/lib/index.js","webpack:///./~/object-keys/index.js","webpack:///./~/object-keys/isArguments.js","webpack:///./src/index.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","indexOf","array","toString","TypeError","len","length","isBuffer","Buffer","obj","getKeys","keys","objType","resultKeys","key","push","getSymbols","Symbol","getOwnPropertySymbols","__webpack_exports__","cacheAdaptersConfig","httpEtagProvider","defineCacheServiceAdapter","config","storesDeepCopies","methods","createCache","$cacheFactory","cacheId","options","getCache","setItem","cache","itemKey","put","getItem","removeItem","remove","removeAllItems","removeAll","__WEBPACK_IMPORTED_MODULE_0_angular___default","a","noop","localStorage","JSON","stringify","e","parse","keyPrefix","forEach","sessionStorage","__WEBPACK_IMPORTED_MODULE_0_angular__","$inject","httpEtagHttpDecorator","$delegate","httpEtag","$httpDecorator","httpConfig","httpEtagPromiseFactory","httpPromise","then","success","useLegacyPromiseExtensions","cached","callback","rawCacheData","cacheInfo","cacheResponseData","cachedResponse","undefined","itemCache","Error","ifCached","data","status","headers","successCallback","errorCallback","progressBackCallback","httpEtagSuccessWrapper","response","httpEtagErrorWrapper","thenPromise","apply","partializedCallback","partial","hasConfig","etagCache","isCacheableMethod","cachableHttpMethods","method","isCachable","etagCacheConfig","processHttpConfigEtagValue","getItemCache","id","info","$get","cachedEtag","etagHeader","responseData","$$_itemCache","extend","If-None-Match","$http","arguments","etagValue","etagValueType","isCache","generateCacheItemKey","isItemCache","url","params","stringifyParams","joiner","queryString","__WEBPACK_IMPORTED_MODULE_2_array_map___default","__WEBPACK_IMPORTED_MODULE_1_object_keys___default","sort","val","isArray","val2","encodeURIComponent","join","fn","args","Array","slice","arg","httpMethod","toLowerCase","__WEBPACK_IMPORTED_MODULE_1_object_keys__","__WEBPACK_IMPORTED_MODULE_2_array_map__","httpEtagInterceptorFactory","responseInterceptor","etag","cacheData","$set","serviceAdapterMethods","cacheAdapterMethods","requiredAdapterMethods","concat","cacheAdapters","cacheDefinitions","defaultCacheId","defaultEtagCacheConfig","deepCopy","cacheService","cacheOptions","number","setDefaultCacheConfig","getDefaultCacheConfig","defineCache","serviceName","getCacheServiceAdapter","$injector","processCacheId","type","isDefined","httpEtagService","services","adaptedServices","caches","adaptedCaches","adapter","service","window","adaptedService","bind","adaptedCache","serviceDeepCopies","copy","__WEBPACK_IMPORTED_MODULE_1_deepcopy___default","wrappedMethod","wrappedRawMethod","adapterMethod","cachedData","$getItem","unsetItem","expireItem","$setItem","methodMappings","itemCacheInfo","purgeCaches","__WEBPACK_IMPORTED_MODULE_1_deepcopy__","xs","f","map","res","x","hasOwn","target","customizer","resultValue","copyValue","copyCollection","source","String","test","Function","targetClass","constructor","Date","getTime","regexpText","slashIndex","lastIndexOf","RegExp","_polyfill","buffer","customizerResult","targetType","defaultCustomizer","deepcopy","_copy","resultCollection","clone","visited","reference","recursiveCopy","index","resultCopy","result","ref","has","toStr","isArgs","isEnumerable","propertyIsEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","ctor","excludedKeys","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","k","equalsConstructorPrototypeIfNotBuggy","keysShim","isObject","isFunction","isArguments","isString","theKeys","skipProto","j","skipConstructor","shim","keysWorksWithArguments","originalKeys","str","callee","__WEBPACK_IMPORTED_MODULE_1__service__","__WEBPACK_IMPORTED_MODULE_2__httpDecorator__","__WEBPACK_IMPORTED_MODULE_3__httpInterceptor__","__WEBPACK_IMPORTED_MODULE_4__cacheServiceAdapters__","provider","$provide","$httpProvider","version","major","minor","decorator","interceptors"],"mappings":"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","file":"angular-http-etag.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"angular\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"angular\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"http-etag\"] = factory(require(\"angular\"));\n\telse\n\t\troot[\"http-etag\"] = factory(root[\"angular\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"angular\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"angular\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"http-etag\"] = factory(require(\"angular\"));\n\telse\n\t\troot[\"http-etag\"] = factory(root[\"angular\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 12);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nvar toString = Object.prototype.toString;\n\nvar isBuffer = typeof Buffer !== 'undefined' ? function isBuffer(obj) {\n return Buffer.isBuffer(obj);\n} : function isBuffer() {\n // always return false in browsers\n return false;\n};\n\nvar getKeys = typeof Object.keys === 'function' ? function getKeys(obj) {\n return Object.keys(obj);\n} : function getKeys(obj) {\n var objType = typeof obj;\n\n if (obj === null || objType !== 'function' && objType !== 'object') {\n throw new TypeError('obj must be an Object');\n }\n\n var resultKeys = [],\n key = void 0;\n\n for (key in obj) {\n Object.prototype.hasOwnProperty.call(obj, key) && resultKeys.push(key);\n }\n\n return resultKeys;\n};\n\nvar getSymbols = typeof Symbol === 'function' ? function getSymbols(obj) {\n return Object.getOwnPropertySymbols(obj);\n} : function getSymbols() {\n // always return empty Array when Symbol is not supported\n return [];\n};\n\n// NOTE:\n//\n// Array.prototype.indexOf is cannot find NaN (in Chrome)\n// Array.prototype.includes is can find NaN (in Chrome)\n//\n// this function can find NaN, because use SameValue algorithm\nfunction indexOf(array, s) {\n if (toString.call(array) !== '[object Array]') {\n throw new TypeError('array must be an Array');\n }\n\n var i = void 0,\n len = void 0,\n value = void 0;\n\n for (i = 0, len = array.length; i < len; ++i) {\n value = array[i];\n\n // NOTE:\n //\n // it is SameValue algorithm\n // http://stackoverflow.com/questions/27144277/comparing-a-variable-with-itself\n //\n // eslint-disable-next-line no-self-compare\n if (value === s || value !== value && s !== s) {\n return i;\n }\n }\n\n return -1;\n}\n\nexports.getKeys = getKeys;\nexports.getSymbols = getSymbols;\nexports.indexOf = indexOf;\nexports.isBuffer = isBuffer;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_angular__);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = cacheAdaptersConfig;\n\ncacheAdaptersConfig.$inject = ['httpEtagProvider']\n\nfunction cacheAdaptersConfig (httpEtagProvider) {\n httpEtagProvider\n\n .defineCacheServiceAdapter('$cacheFactory', {\n config: {\n storesDeepCopies: false\n },\n methods: {\n createCache: function createCache ($cacheFactory, cacheId, options) {\n $cacheFactory(cacheId, options)\n },\n getCache: function getCache ($cacheFactory, cacheId) {\n return $cacheFactory.get(cacheId)\n },\n setItem: function setItem (cache, itemKey, value) {\n cache.put(itemKey, value)\n },\n getItem: function getItem (cache, itemKey) {\n return cache.get(itemKey)\n },\n removeItem: function removeItem (cache, itemKey) {\n cache.remove(itemKey)\n },\n removeAllItems: function removeAllItems (cache, itemKey) {\n cache.removeAll()\n }\n }\n })\n\n .defineCacheServiceAdapter('localStorage', {\n config: {\n storesDeepCopies: true\n },\n methods: {\n createCache: __WEBPACK_IMPORTED_MODULE_0_angular___default.a.noop,\n getCache: function getCache (localStorage, cacheId) {\n return cacheId\n },\n setItem: function setItem (cacheId, itemKey, value) {\n try {\n itemKey = cacheId + ':' + itemKey\n localStorage.setItem(itemKey, JSON.stringify(value))\n } catch (e) {\n\n }\n },\n getItem: function getItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n return JSON.parse(localStorage.getItem(itemKey))\n },\n removeItem: function removeItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n localStorage.removeItem(itemKey)\n },\n removeAllItems: function removeAllItems (cacheId, itemKey) {\n var keyPrefix = cacheId + ':'\n\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(localStorage, function (value, key) {\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key)\n }\n })\n }\n }\n })\n\n .defineCacheServiceAdapter('sessionStorage', {\n config: {\n storesDeepCopies: true\n },\n methods: {\n createCache: __WEBPACK_IMPORTED_MODULE_0_angular___default.a.noop,\n getCache: function getCache (sessionStorage, cacheId) {\n return cacheId\n },\n setItem: function setItem (cacheId, itemKey, value) {\n try {\n itemKey = cacheId + ':' + itemKey\n sessionStorage.setItem(itemKey, JSON.stringify(value))\n } catch (e) {\n\n }\n },\n getItem: function getItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n return JSON.parse(sessionStorage.getItem(itemKey))\n },\n removeItem: function removeItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n sessionStorage.removeItem(itemKey)\n },\n removeAllItems: function removeAllItems (cacheId, itemKey) {\n var keyPrefix = cacheId + ':'\n\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(sessionStorage, function (value, key) {\n if (key.indexOf(keyPrefix) === 0) {\n sessionStorage.removeItem(key)\n }\n })\n }\n }\n })\n}\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_angular__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_object_keys__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_object_keys___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_object_keys__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_array_map__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_array_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_array_map__);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = httpEtagHttpDecorator;\n\nhttpEtagHttpDecorator.$inject = ['$delegate', 'httpEtag']\n\nfunction httpEtagHttpDecorator ($delegate, httpEtag) {\n var $http = $delegate\n var cachableHttpMethods = [\n 'GET',\n 'JSONP'\n ]\n\n function $httpDecorator (httpConfig) {\n var useLegacyPromiseExtensions = httpEtagHttpDecorator.useLegacyPromiseExtensions()\n var hasConfig = !!httpConfig.etagCache\n var isCacheableMethod = cachableHttpMethods.indexOf(httpConfig.method) >= 0\n var isCachable = hasConfig && isCacheableMethod\n var httpPromise\n\n if (isCachable) {\n var etagCacheConfig = processHttpConfigEtagValue(httpConfig)\n if (etagCacheConfig) {\n var itemCache = httpEtag.getItemCache(etagCacheConfig.id, etagCacheConfig.itemKey)\n if (!itemCache) throw new Error('No defined ETag caches match specified cache ID')\n\n var cacheInfo = itemCache.info()\n var rawCacheData = itemCache.$get()\n var cachedEtag = rawCacheData && rawCacheData.etagHeader\n var cachedResponse = cachedEtag && rawCacheData.responseData\n\n // Allow easy access to cache in interceptor\n httpConfig.$$_itemCache = itemCache\n\n if (cachedEtag) {\n httpConfig.headers = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.extend({}, httpConfig.headers, {\n 'If-None-Match': cachedEtag\n })\n }\n }\n }\n\n httpPromise = $http.apply($http, arguments)\n httpEtagPromiseFactory(httpPromise)\n\n function httpEtagPromiseFactory (httpPromise) {\n var then = httpPromise.then\n var success = httpPromise.success\n\n if (useLegacyPromiseExtensions) {\n httpPromise.cached = function httpEtagPromiseCached (callback) {\n if (rawCacheData && cacheInfo.cacheResponseData) {\n callback(cachedResponse, 'cached', undefined, httpConfig, itemCache)\n }\n return httpPromise\n }\n } else {\n httpPromise.cached = function deprecatedEtagPromiseCached () {\n throw new Error('The method `cached` on the promise returned from `$http` has been disabled in favor of `ifCached`.')\n }\n }\n\n httpPromise.ifCached = function httpEtagPromiseIfCached (callback) {\n if (rawCacheData && cacheInfo.cacheResponseData) {\n callback({\n data: cachedResponse,\n status: 'cached',\n headers: undefined,\n config: httpConfig\n }, itemCache)\n }\n return httpPromise\n }\n\n httpPromise.then = function httpEtagThenWrapper (successCallback, errorCallback, progressBackCallback) {\n var thenPromise = then.apply(httpPromise, [\n successCallback ? httpEtagSuccessWrapper : undefined,\n errorCallback ? httpEtagErrorWrapper : undefined,\n progressBackCallback\n ])\n\n function httpEtagSuccessWrapper (response) {\n return successCallback(response, itemCache)\n }\n\n function httpEtagErrorWrapper (response) {\n return errorCallback(response, itemCache)\n }\n\n return httpEtagPromiseFactory(thenPromise)\n }\n\n if (useLegacyPromiseExtensions && itemCache) {\n httpPromise.success = function httpEtagPromiseSuccess (callback) {\n var partializedCallback = partial(callback, undefined, undefined, undefined, undefined, itemCache)\n return success.apply(httpPromise, [partializedCallback])\n }\n }\n\n return httpPromise\n }\n\n return httpPromise\n }\n\n // Decorate the cachable shortcut methods, too\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(cachableHttpMethods, function (httpMethod) {\n var method = httpMethod.toLowerCase()\n $httpDecorator[method] = function httpEtagHttpShortcutWrapper (url, config) {\n config = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.extend({}, config, {\n method: httpMethod,\n url: url\n })\n\n return $httpDecorator.call($http, config)\n }\n })\n\n // Copy over all other properties and methods\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach($http, function copyHttpPropertyToDectorator (value, key) {\n if (!$httpDecorator[key]) $httpDecorator[key] = value\n })\n\n /**\n * HELPERS\n */\n\n function processHttpConfigEtagValue (httpConfig) {\n var etagValue = httpConfig.etagCache\n var etagValueType = typeof etagValue\n var etagCacheConfig = {}\n\n // Evaluate function first\n if (etagValueType === 'function') {\n etagValue = etagValue(httpConfig)\n etagValueType = typeof etagValue\n }\n\n // Plain, cache, or itemCache objects\n if (etagValueType === 'object') {\n var id, itemKey\n\n if (etagValue.isCache) {\n id = etagValue.info().id\n itemKey = generateCacheItemKey(httpConfig)\n } else if (etagValue.isItemCache) {\n id = etagValue.info().id\n itemKey = etagValue.info().itemKey\n } else {\n id = etagValue.id\n itemKey = etagValue.itemKey || generateCacheItemKey(httpConfig)\n }\n\n etagCacheConfig.id = id\n etagCacheConfig.itemKey = itemKey\n } else if (etagValueType === 'string') {\n etagCacheConfig.id = etagValue\n etagCacheConfig.itemKey = generateCacheItemKey(httpConfig)\n } else if (etagValue === true) {\n // Undefined cacheId will use the default cacheId as defined in provider\n etagCacheConfig.itemKey = generateCacheItemKey(httpConfig)\n } else return\n return etagCacheConfig\n }\n\n function generateCacheItemKey (httpConfig) {\n var url = httpConfig.url\n var params = stringifyParams(httpConfig.params)\n var joiner = ((params && url.indexOf('?') > 0) ? '&' : '?')\n var queryString = (params && joiner + params) || ''\n return url + queryString\n }\n\n // Based on npm package \"query-string\"\n function stringifyParams (obj) {\n return obj ? __WEBPACK_IMPORTED_MODULE_2_array_map___default()(__WEBPACK_IMPORTED_MODULE_1_object_keys___default()(obj).sort(), function (key) {\n var val = obj[key]\n\n if (__WEBPACK_IMPORTED_MODULE_0_angular___default.a.isArray(val)) {\n return __WEBPACK_IMPORTED_MODULE_2_array_map___default()(val.sort(), function (val2) {\n return encodeURIComponent(key) + '=' + encodeURIComponent(val2)\n }).join('&')\n }\n\n return encodeURIComponent(key) + '=' + encodeURIComponent(val)\n }).join('&') : ''\n }\n\n // http://ejohn.org/blog/partial-functions-in-javascript/\n function partial (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n return function () {\n var arg = 0\n for (var i = 0; i < args.length && arg < arguments.length; i++) {\n if (args[i] === undefined) args[i] = arguments[arg++]\n }\n return fn.apply(this, args)\n }\n }\n\n return $httpDecorator\n}\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = httpEtagInterceptorFactory;\n\nfunction httpEtagInterceptorFactory () {\n function responseInterceptor (response) {\n var itemCache = response.config.$$_itemCache\n\n if (itemCache) {\n var cacheInfo = itemCache.info()\n var cacheResponseData = cacheInfo.cacheResponseData\n var etag = response.headers().etag\n var cacheData = {}\n\n if (etag) {\n cacheData.etagHeader = etag\n if (cacheResponseData) cacheData.responseData = response.data\n itemCache.$set(cacheData)\n }\n\n delete response.config.$$_itemCache\n }\n\n return response\n }\n\n return {\n response: responseInterceptor\n }\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_angular__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deepcopy__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deepcopy___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_deepcopy__);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = httpEtagProvider;\n\nfunction httpEtagProvider () {\n var httpEtagProvider = this\n\n var serviceAdapterMethods = [\n 'createCache',\n 'getCache'\n ]\n\n var cacheAdapterMethods = [\n 'setItem',\n 'getItem',\n 'removeItem',\n 'removeAllItems'\n // info method hard-coded\n ]\n\n var requiredAdapterMethods = serviceAdapterMethods.concat(cacheAdapterMethods)\n\n // Built-in adapters defined in ./cacheServiceAdapters.js\n var cacheAdapters = {}\n var cacheDefinitions = {}\n\n // Cache config defaults\n var defaultCacheId = 'httpEtagCache'\n var defaultEtagCacheConfig = {\n deepCopy: false,\n cacheResponseData: true,\n cacheService: '$cacheFactory',\n cacheOptions: {\n number: 25\n }\n }\n\n /**\n * SERVICE PROVIDER\n * .setDefaultCacheConfig(config)\n * .defineCache(cacheId, config)\n * .defineCacheServiceAdapter(serviceName, config)\n * .getCacheServiceAdapter(serviceName)\n */\n\n httpEtagProvider.setDefaultCacheConfig = function httpEtagSetDefaultCacheOptions (config) {\n defaultEtagCacheConfig = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.extend({}, defaultEtagCacheConfig, config)\n return httpEtagProvider\n }\n\n httpEtagProvider.getDefaultCacheConfig = function httpEtagGetDefaultCacheOptions () {\n return defaultEtagCacheConfig\n }\n\n httpEtagProvider.defineCache = function httpEtagDefineCache (cacheId, config) {\n config = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.extend({}, defaultEtagCacheConfig, config, { id: cacheId })\n cacheDefinitions[cacheId] = config\n return httpEtagProvider\n }\n\n httpEtagProvider.defineCacheServiceAdapter = function httpEtagDefineCacheServiceAdapter (serviceName, config) {\n if (!config) throw new Error('Missing cache service adapter configuration')\n if (!config.methods) throw new Error('Missing cache service adapter configuration methods')\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(requiredAdapterMethods, function (method) {\n if (typeof config.methods[method] !== 'function') {\n throw new Error('Expected cache service adapter method \"' + method + '\" to be a function')\n }\n })\n\n cacheAdapters[serviceName] = config\n return httpEtagProvider\n }\n\n httpEtagProvider.getCacheServiceAdapter = function httpEtagGetCacheServiceAdapter (serviceName) {\n return cacheAdapters[serviceName]\n }\n\n /**\n * SERVICE\n * .info()\n * .getCache(acheId)\n * .getItemCache(cacheId, itemKey)\n */\n\n httpEtagProvider.$get = ['$injector', function httpEtagFactory ($injector) {\n var httpEtagService = {}\n\n var services = {}\n var adaptedServices = {}\n var caches = {}\n var adaptedCaches = {}\n\n // Add default cache if not already defined\n if (!cacheDefinitions[defaultCacheId]) httpEtagProvider.defineCache(defaultCacheId)\n\n // Find/inject cache service and create adapted versions\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(cacheAdapters, function adaptCacheService (adapter, serviceName) {\n var service = services[serviceName] = window[serviceName] || $injector.get(serviceName)\n var adaptedService = adaptedServices[serviceName] = {}\n\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(serviceAdapterMethods, function (method) {\n adaptedService[method] = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.bind({}, adapter.methods[method], service)\n })\n })\n\n // Instantiate caches and create adapted versions\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(cacheDefinitions, function adaptCache (config, cacheId) {\n adaptedServices[config.cacheService].createCache(cacheId, config)\n var cache = caches[cacheId] = adaptedServices[config.cacheService].getCache(cacheId)\n var adaptedCache = adaptedCaches[cacheId] = {}\n // Determine whether to perform deepcopying or not\n var serviceDeepCopies = cacheAdapters[config.cacheService].config.storesDeepCopies\n var deepCopy = !serviceDeepCopies && cacheDefinitions[cacheId].deepCopy\n var copy = function (value) {\n return deepCopy ? __WEBPACK_IMPORTED_MODULE_1_deepcopy___default()(value) : value\n }\n\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(cacheAdapterMethods, function (method) {\n var adapterMethod = cacheAdapters[config.cacheService].methods[method]\n var wrappedMethod\n var wrappedRawMethod\n\n // Wrap set/get methods to set/get to the `responseData` property of an\n // object. This is where the $http interceptor stores response data.\n if (method === 'getItem') {\n wrappedMethod = function getCacheItemResponseData (cache, itemKey, options) {\n var cachedData = adapterMethod(cache, itemKey, options)\n return cachedData && copy(cachedData.responseData)\n }\n\n wrappedRawMethod = function getCacheItemData (cache, itemKey, options) {\n return copy(adapterMethod(cache, itemKey, options))\n }\n }\n\n if (method === 'setItem') {\n wrappedMethod = function setCacheItemResponseData (cache, itemKey, value, options) {\n var cachedData = adaptedCache.$getItem(itemKey)\n value = copy(value)\n\n if (cachedData && typeof cachedData === 'object') {\n cachedData.responseData = value\n value = cachedData\n } else value = { responseData: value }\n\n adapterMethod(cache, itemKey, value, options)\n }\n\n wrappedRawMethod = function setCacheItemData (cache, itemKey, value, options) {\n adapterMethod(cache, itemKey, copy(value), options)\n }\n }\n\n adaptedCache[method] = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.bind({}, (wrappedMethod || adapterMethod), cache)\n if (wrappedRawMethod) {\n adaptedCache['$' + method] = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.bind({}, wrappedRawMethod, cache)\n }\n })\n\n adaptedCache.unsetItem = function adaptedCacheUnsetItemCache (itemKey) {\n adaptedCache.setItem(itemKey, undefined)\n }\n adaptedCache.expireItem = function adaptedCacheUnsetItemCache (itemKey) {\n var data = adaptedCache.$getItem(itemKey)\n delete data.etagHeader\n adaptedCache.$setItem(itemKey, data)\n }\n adaptedCache.getItemCache = function adaptedCacheGetItemCache (itemKey) {\n return httpEtagService.getItemCache(cacheId, itemKey)\n }\n adaptedCache.info = function adaptedCacheInfo () {\n return cacheDefinitions[cacheId]\n }\n adaptedCache.isCache = true\n })\n\n httpEtagService.info = function httpEtagServiceInfo () {\n return cacheDefinitions\n }\n\n httpEtagService.getCache = function httpEtagServiceGetCache (cacheId) {\n var cache = adaptedCaches[processCacheId(cacheId)]\n if (cache) return cache\n }\n\n httpEtagService.getItemCache = function httpEtagServiceGeItemCache (cacheId, itemKey) {\n var cache = httpEtagService.getCache(cacheId)\n var itemCache = {}\n if (!cache) return\n\n var methodMappings = [\n ['set', 'setItem'],\n ['get', 'getItem'],\n ['$set', '$setItem'],\n ['$get', '$getItem'],\n ['unset', 'unsetItem'],\n ['expire', 'expireItem'],\n ['remove', 'removeItem']\n ]\n\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(methodMappings, function mapCacheMethdodsToItemCache (methods) {\n itemCache[methods[0]] = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.bind({}, cache[methods[1]], itemKey)\n })\n\n itemCache.info = function itemCacheInfo () {\n var itemCacheInfo = cache.info()\n itemCacheInfo.itemKey = itemKey\n return itemCacheInfo\n }\n\n itemCache.isItemCache = true\n\n return itemCache\n }\n\n httpEtagService.purgeCaches = function httpEtagPurgeCaches () {\n __WEBPACK_IMPORTED_MODULE_0_angular___default.a.forEach(adaptedCaches, function (cache) {\n cache.removeAllItems()\n })\n }\n\n function processCacheId (cacheId) {\n var type = typeof cacheId\n var isDefined = type === 'number' || (type === 'string' && !!cacheId)\n return isDefined ? cacheId : defaultCacheId\n }\n\n return httpEtagService\n }]\n}\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n var x = xs[i];\n if (hasOwn.call(xs, i)) res.push(f(x, i, xs));\n }\n return res;\n};\n\nvar hasOwn = Object.prototype.hasOwnProperty;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(9);\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.copyValue = exports.copyCollection = exports.copy = void 0;\n\nvar _polyfill = __webpack_require__(1);\n\nvar toString = Object.prototype.toString;\n\nfunction copy(target, customizer) {\n var resultValue = copyValue(target);\n\n if (resultValue !== null) {\n return resultValue;\n }\n\n return copyCollection(target, customizer);\n}\n\nfunction copyCollection(target, customizer) {\n if (typeof customizer !== 'function') {\n throw new TypeError('customizer is must be a Function');\n }\n\n if (typeof target === 'function') {\n var source = String(target);\n\n // NOTE:\n //\n // https://gist.github.com/jdalton/5e34d890105aca44399f\n //\n // - https://gist.github.com/jdalton/5e34d890105aca44399f#gistcomment-1283831\n // - http://es5.github.io/#x15\n //\n // native functions does not have prototype:\n //\n // Object.toString.prototype // => undefined\n // (function() {}).prototype // => {}\n //\n // but cannot detect native constructor:\n //\n // typeof Object // => 'function'\n // Object.prototype // => {}\n //\n // and cannot detect null binded function:\n //\n // String(Math.abs)\n // // => 'function abs() { [native code] }'\n //\n // Firefox, Safari:\n // String((function abs() {}).bind(null))\n // // => 'function abs() { [native code] }'\n //\n // Chrome:\n // String((function abs() {}).bind(null))\n // // => 'function () { [native code] }'\n if (/^\\s*function\\s*\\S*\\([^\\)]*\\)\\s*{\\s*\\[native code\\]\\s*}/.test(source)) {\n // native function\n return target;\n } else {\n // user defined function\n return new Function('return ' + String(source))();\n }\n }\n\n var targetClass = toString.call(target);\n\n if (targetClass === '[object Array]') {\n return [];\n }\n\n if (targetClass === '[object Object]' && target.constructor === Object) {\n return {};\n }\n\n if (targetClass === '[object Date]') {\n // NOTE:\n //\n // Firefox need to convert\n //\n // Firefox:\n // var date = new Date;\n // +date; // 1420909365967\n // +new Date(date); // 1420909365000\n // +new Date(+date); // 1420909365967\n //\n // Chrome:\n // var date = new Date;\n // +date; // 1420909757913\n // +new Date(date); // 1420909757913\n // +new Date(+date); // 1420909757913\n return new Date(target.getTime());\n }\n\n if (targetClass === '[object RegExp]') {\n // NOTE:\n //\n // Chrome, Safari:\n // (new RegExp).source => \"(?:)\"\n //\n // Firefox:\n // (new RegExp).source => \"\"\n //\n // Chrome, Safari, Firefox:\n // String(new RegExp) => \"/(?:)/\"\n var regexpText = String(target),\n slashIndex = regexpText.lastIndexOf('/');\n\n return new RegExp(regexpText.slice(1, slashIndex), regexpText.slice(slashIndex + 1));\n }\n\n if ((0, _polyfill.isBuffer)(target)) {\n var buffer = new Buffer(target.length);\n\n target.copy(buffer);\n\n return buffer;\n }\n\n var customizerResult = customizer(target);\n\n if (customizerResult !== void 0) {\n return customizerResult;\n }\n\n return null;\n}\n\nfunction copyValue(target) {\n var targetType = typeof target;\n\n // copy String, Number, Boolean, undefined and Symbol\n // without null and Function\n if (target !== null && targetType !== 'object' && targetType !== 'function') {\n return target;\n }\n\n return null;\n}\n\nexports.copy = copy;\nexports.copyCollection = copyCollection;\nexports.copyValue = copyValue;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _copy = __webpack_require__(8);\n\nvar _polyfill = __webpack_require__(1);\n\nfunction defaultCustomizer(target) {\n return void 0;\n}\n\nfunction deepcopy(target) {\n var customizer = arguments.length <= 1 || arguments[1] === void 0 ? defaultCustomizer : arguments[1];\n\n if (target === null) {\n // copy null\n return null;\n }\n\n var resultValue = (0, _copy.copyValue)(target);\n\n if (resultValue !== null) {\n // copy some primitive types\n return resultValue;\n }\n\n var resultCollection = (0, _copy.copyCollection)(target, customizer),\n clone = resultCollection !== null ? resultCollection : target;\n\n var visited = [target],\n reference = [clone];\n\n // recursively copy from collection\n return recursiveCopy(target, customizer, clone, visited, reference);\n}\n\nfunction recursiveCopy(target, customizer, clone, visited, reference) {\n if (target === null) {\n // copy null\n return null;\n }\n\n var resultValue = (0, _copy.copyValue)(target);\n\n if (resultValue !== null) {\n // copy some primitive types\n return resultValue;\n }\n\n var keys = (0, _polyfill.getKeys)(target).concat((0, _polyfill.getSymbols)(target));\n\n var i = void 0,\n len = void 0;\n\n var key = void 0,\n value = void 0,\n index = void 0,\n resultCopy = void 0,\n result = void 0,\n ref = void 0;\n\n for (i = 0, len = keys.length; i < len; ++i) {\n key = keys[i];\n value = target[key];\n index = (0, _polyfill.indexOf)(visited, value);\n\n resultCopy = void 0;\n result = void 0;\n ref = void 0;\n\n if (index === -1) {\n resultCopy = (0, _copy.copy)(value, customizer);\n result = resultCopy !== null ? resultCopy : value;\n\n if (value !== null && /^(?:function|object)$/.test(typeof value)) {\n visited.push(value);\n reference.push(result);\n }\n } else {\n // circular reference\n ref = reference[index];\n }\n\n clone[key] = ref || recursiveCopy(value, customizer, result, visited, reference);\n }\n\n return clone;\n}\n\nexports['default'] = deepcopy;\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// modified from https://github.com/es-shims/es5-shim\nvar has = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar slice = Array.prototype.slice;\nvar isArgs = __webpack_require__(11);\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\nvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\nvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\nvar dontEnums = [\n\t'toString',\n\t'toLocaleString',\n\t'valueOf',\n\t'hasOwnProperty',\n\t'isPrototypeOf',\n\t'propertyIsEnumerable',\n\t'constructor'\n];\nvar equalsConstructorPrototype = function (o) {\n\tvar ctor = o.constructor;\n\treturn ctor && ctor.prototype === o;\n};\nvar excludedKeys = {\n\t$console: true,\n\t$external: true,\n\t$frame: true,\n\t$frameElement: true,\n\t$frames: true,\n\t$innerHeight: true,\n\t$innerWidth: true,\n\t$outerHeight: true,\n\t$outerWidth: true,\n\t$pageXOffset: true,\n\t$pageYOffset: true,\n\t$parent: true,\n\t$scrollLeft: true,\n\t$scrollTop: true,\n\t$scrollX: true,\n\t$scrollY: true,\n\t$self: true,\n\t$webkitIndexedDB: true,\n\t$webkitStorageInfo: true,\n\t$window: true\n};\nvar hasAutomationEqualityBug = (function () {\n\t/* global window */\n\tif (typeof window === 'undefined') { return false; }\n\tfor (var k in window) {\n\t\ttry {\n\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\ttry {\n\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}());\nvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t/* global window */\n\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\treturn equalsConstructorPrototype(o);\n\t}\n\ttry {\n\t\treturn equalsConstructorPrototype(o);\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar keysShim = function keys(object) {\n\tvar isObject = object !== null && typeof object === 'object';\n\tvar isFunction = toStr.call(object) === '[object Function]';\n\tvar isArguments = isArgs(object);\n\tvar isString = isObject && toStr.call(object) === '[object String]';\n\tvar theKeys = [];\n\n\tif (!isObject && !isFunction && !isArguments) {\n\t\tthrow new TypeError('Object.keys called on a non-object');\n\t}\n\n\tvar skipProto = hasProtoEnumBug && isFunction;\n\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\ttheKeys.push(String(i));\n\t\t}\n\t}\n\n\tif (isArguments && object.length > 0) {\n\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\ttheKeys.push(String(j));\n\t\t}\n\t} else {\n\t\tfor (var name in object) {\n\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\ttheKeys.push(String(name));\n\t\t\t}\n\t\t}\n\t}\n\n\tif (hasDontEnumBug) {\n\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t}\n\t\t}\n\t}\n\treturn theKeys;\n};\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\treturn (Object.keys(arguments) || '').length === 2;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tvar originalKeys = Object.keys;\n\t\t\tObject.keys = function keys(object) {\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t} else {\n\t\t\t\t\treturn originalKeys(object);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_angular__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__service__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__httpDecorator__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__httpInterceptor__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__cacheServiceAdapters__ = __webpack_require__(2);\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_0_angular___default.a\n .module('http-etag', [])\n .provider('httpEtag', __WEBPACK_IMPORTED_MODULE_1__service__[\"a\" /* default */])\n .config(__WEBPACK_IMPORTED_MODULE_4__cacheServiceAdapters__[\"a\" /* default */])\n .config(['$provide', '$httpProvider', function addHttpEtagInterceptor ($provide, $httpProvider) {\n __WEBPACK_IMPORTED_MODULE_2__httpDecorator__[\"a\" /* default */].useLegacyPromiseExtensions =\n $httpProvider.useLegacyPromiseExtensions ||\n function useLegacyPromiseExtensions () {\n return __WEBPACK_IMPORTED_MODULE_0_angular___default.a.version.major === 1 && __WEBPACK_IMPORTED_MODULE_0_angular___default.a.version.minor < 6\n }\n $provide.decorator('$http', __WEBPACK_IMPORTED_MODULE_2__httpDecorator__[\"a\" /* default */])\n $httpProvider.interceptors.push(__WEBPACK_IMPORTED_MODULE_3__httpInterceptor__[\"a\" /* default */])\n }])\n .name;\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// angular-http-etag.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 12);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 870e0f29eded9b4f88ee","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"angular\"\n// module id = 0\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nvar toString = Object.prototype.toString;\n\nvar isBuffer = typeof Buffer !== 'undefined' ? function isBuffer(obj) {\n return Buffer.isBuffer(obj);\n} : function isBuffer() {\n // always return false in browsers\n return false;\n};\n\nvar getKeys = typeof Object.keys === 'function' ? function getKeys(obj) {\n return Object.keys(obj);\n} : function getKeys(obj) {\n var objType = typeof obj;\n\n if (obj === null || objType !== 'function' && objType !== 'object') {\n throw new TypeError('obj must be an Object');\n }\n\n var resultKeys = [],\n key = void 0;\n\n for (key in obj) {\n Object.prototype.hasOwnProperty.call(obj, key) && resultKeys.push(key);\n }\n\n return resultKeys;\n};\n\nvar getSymbols = typeof Symbol === 'function' ? function getSymbols(obj) {\n return Object.getOwnPropertySymbols(obj);\n} : function getSymbols() {\n // always return empty Array when Symbol is not supported\n return [];\n};\n\n// NOTE:\n//\n// Array.prototype.indexOf is cannot find NaN (in Chrome)\n// Array.prototype.includes is can find NaN (in Chrome)\n//\n// this function can find NaN, because use SameValue algorithm\nfunction indexOf(array, s) {\n if (toString.call(array) !== '[object Array]') {\n throw new TypeError('array must be an Array');\n }\n\n var i = void 0,\n len = void 0,\n value = void 0;\n\n for (i = 0, len = array.length; i < len; ++i) {\n value = array[i];\n\n // NOTE:\n //\n // it is SameValue algorithm\n // http://stackoverflow.com/questions/27144277/comparing-a-variable-with-itself\n //\n // eslint-disable-next-line no-self-compare\n if (value === s || value !== value && s !== s) {\n return i;\n }\n }\n\n return -1;\n}\n\nexports.getKeys = getKeys;\nexports.getSymbols = getSymbols;\nexports.indexOf = indexOf;\nexports.isBuffer = isBuffer;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deepcopy/lib/polyfill.js\n// module id = 1\n// module chunks = 0","import angular from 'angular'\n\nexport default cacheAdaptersConfig\n\ncacheAdaptersConfig.$inject = ['httpEtagProvider']\n\nfunction cacheAdaptersConfig (httpEtagProvider) {\n httpEtagProvider\n\n .defineCacheServiceAdapter('$cacheFactory', {\n config: {\n storesDeepCopies: false\n },\n methods: {\n createCache: function createCache ($cacheFactory, cacheId, options) {\n $cacheFactory(cacheId, options)\n },\n getCache: function getCache ($cacheFactory, cacheId) {\n return $cacheFactory.get(cacheId)\n },\n setItem: function setItem (cache, itemKey, value) {\n cache.put(itemKey, value)\n },\n getItem: function getItem (cache, itemKey) {\n return cache.get(itemKey)\n },\n removeItem: function removeItem (cache, itemKey) {\n cache.remove(itemKey)\n },\n removeAllItems: function removeAllItems (cache, itemKey) {\n cache.removeAll()\n }\n }\n })\n\n .defineCacheServiceAdapter('localStorage', {\n config: {\n storesDeepCopies: true\n },\n methods: {\n createCache: angular.noop,\n getCache: function getCache (localStorage, cacheId) {\n return cacheId\n },\n setItem: function setItem (cacheId, itemKey, value) {\n try {\n itemKey = cacheId + ':' + itemKey\n localStorage.setItem(itemKey, JSON.stringify(value))\n } catch (e) {\n\n }\n },\n getItem: function getItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n return JSON.parse(localStorage.getItem(itemKey))\n },\n removeItem: function removeItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n localStorage.removeItem(itemKey)\n },\n removeAllItems: function removeAllItems (cacheId, itemKey) {\n var keyPrefix = cacheId + ':'\n\n angular.forEach(localStorage, function (value, key) {\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key)\n }\n })\n }\n }\n })\n\n .defineCacheServiceAdapter('sessionStorage', {\n config: {\n storesDeepCopies: true\n },\n methods: {\n createCache: angular.noop,\n getCache: function getCache (sessionStorage, cacheId) {\n return cacheId\n },\n setItem: function setItem (cacheId, itemKey, value) {\n try {\n itemKey = cacheId + ':' + itemKey\n sessionStorage.setItem(itemKey, JSON.stringify(value))\n } catch (e) {\n\n }\n },\n getItem: function getItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n return JSON.parse(sessionStorage.getItem(itemKey))\n },\n removeItem: function removeItem (cacheId, itemKey) {\n itemKey = cacheId + ':' + itemKey\n sessionStorage.removeItem(itemKey)\n },\n removeAllItems: function removeAllItems (cacheId, itemKey) {\n var keyPrefix = cacheId + ':'\n\n angular.forEach(sessionStorage, function (value, key) {\n if (key.indexOf(keyPrefix) === 0) {\n sessionStorage.removeItem(key)\n }\n })\n }\n }\n })\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/cacheServiceAdapters.js\n// module id = 2\n// module chunks = 0","import angular from 'angular'\nimport objectKeys from 'object-keys'\nimport arrayMap from 'array-map'\n\nexport default httpEtagHttpDecorator\n\nhttpEtagHttpDecorator.$inject = ['$delegate', 'httpEtag']\n\nfunction httpEtagHttpDecorator ($delegate, httpEtag) {\n var $http = $delegate\n var cachableHttpMethods = [\n 'GET',\n 'JSONP'\n ]\n\n function $httpDecorator (httpConfig) {\n var useLegacyPromiseExtensions = httpEtagHttpDecorator.useLegacyPromiseExtensions()\n var hasConfig = !!httpConfig.etagCache\n var isCacheableMethod = cachableHttpMethods.indexOf(httpConfig.method) >= 0\n var isCachable = hasConfig && isCacheableMethod\n var httpPromise\n\n if (isCachable) {\n var etagCacheConfig = processHttpConfigEtagValue(httpConfig)\n if (etagCacheConfig) {\n var itemCache = httpEtag.getItemCache(etagCacheConfig.id, etagCacheConfig.itemKey)\n if (!itemCache) throw new Error('No defined ETag caches match specified cache ID')\n\n var cacheInfo = itemCache.info()\n var rawCacheData = itemCache.$get()\n var cachedEtag = rawCacheData && rawCacheData.etagHeader\n var cachedResponse = cachedEtag && rawCacheData.responseData\n\n // Allow easy access to cache in interceptor\n httpConfig.$$_itemCache = itemCache\n\n if (cachedEtag) {\n httpConfig.headers = angular.extend({}, httpConfig.headers, {\n 'If-None-Match': cachedEtag\n })\n }\n }\n }\n\n httpPromise = $http.apply($http, arguments)\n httpEtagPromiseFactory(httpPromise)\n\n function httpEtagPromiseFactory (httpPromise) {\n var then = httpPromise.then\n var success = httpPromise.success\n\n if (useLegacyPromiseExtensions) {\n httpPromise.cached = function httpEtagPromiseCached (callback) {\n if (rawCacheData && cacheInfo.cacheResponseData) {\n callback(cachedResponse, 'cached', undefined, httpConfig, itemCache)\n }\n return httpPromise\n }\n } else {\n httpPromise.cached = function deprecatedEtagPromiseCached () {\n throw new Error('The method `cached` on the promise returned from `$http` has been disabled in favor of `ifCached`.')\n }\n }\n\n httpPromise.ifCached = function httpEtagPromiseIfCached (callback) {\n if (rawCacheData && cacheInfo.cacheResponseData) {\n callback({\n data: cachedResponse,\n status: 'cached',\n headers: undefined,\n config: httpConfig\n }, itemCache)\n }\n return httpPromise\n }\n\n httpPromise.then = function httpEtagThenWrapper (successCallback, errorCallback, progressBackCallback) {\n var thenPromise = then.apply(httpPromise, [\n successCallback ? httpEtagSuccessWrapper : undefined,\n errorCallback ? httpEtagErrorWrapper : undefined,\n progressBackCallback\n ])\n\n function httpEtagSuccessWrapper (response) {\n return successCallback(response, itemCache)\n }\n\n function httpEtagErrorWrapper (response) {\n return errorCallback(response, itemCache)\n }\n\n return httpEtagPromiseFactory(thenPromise)\n }\n\n if (useLegacyPromiseExtensions && itemCache) {\n httpPromise.success = function httpEtagPromiseSuccess (callback) {\n var partializedCallback = partial(callback, undefined, undefined, undefined, undefined, itemCache)\n return success.apply(httpPromise, [partializedCallback])\n }\n }\n\n return httpPromise\n }\n\n return httpPromise\n }\n\n // Decorate the cachable shortcut methods, too\n angular.forEach(cachableHttpMethods, function (httpMethod) {\n var method = httpMethod.toLowerCase()\n $httpDecorator[method] = function httpEtagHttpShortcutWrapper (url, config) {\n config = angular.extend({}, config, {\n method: httpMethod,\n url: url\n })\n\n return $httpDecorator.call($http, config)\n }\n })\n\n // Copy over all other properties and methods\n angular.forEach($http, function copyHttpPropertyToDectorator (value, key) {\n if (!$httpDecorator[key]) $httpDecorator[key] = value\n })\n\n /**\n * HELPERS\n */\n\n function processHttpConfigEtagValue (httpConfig) {\n var etagValue = httpConfig.etagCache\n var etagValueType = typeof etagValue\n var etagCacheConfig = {}\n\n // Evaluate function first\n if (etagValueType === 'function') {\n etagValue = etagValue(httpConfig)\n etagValueType = typeof etagValue\n }\n\n // Plain, cache, or itemCache objects\n if (etagValueType === 'object') {\n var id, itemKey\n\n if (etagValue.isCache) {\n id = etagValue.info().id\n itemKey = generateCacheItemKey(httpConfig)\n } else if (etagValue.isItemCache) {\n id = etagValue.info().id\n itemKey = etagValue.info().itemKey\n } else {\n id = etagValue.id\n itemKey = etagValue.itemKey || generateCacheItemKey(httpConfig)\n }\n\n etagCacheConfig.id = id\n etagCacheConfig.itemKey = itemKey\n } else if (etagValueType === 'string') {\n etagCacheConfig.id = etagValue\n etagCacheConfig.itemKey = generateCacheItemKey(httpConfig)\n } else if (etagValue === true) {\n // Undefined cacheId will use the default cacheId as defined in provider\n etagCacheConfig.itemKey = generateCacheItemKey(httpConfig)\n } else return\n return etagCacheConfig\n }\n\n function generateCacheItemKey (httpConfig) {\n var url = httpConfig.url\n var params = stringifyParams(httpConfig.params)\n var joiner = ((params && url.indexOf('?') > 0) ? '&' : '?')\n var queryString = (params && joiner + params) || ''\n return url + queryString\n }\n\n // Based on npm package \"query-string\"\n function stringifyParams (obj) {\n return obj ? arrayMap(objectKeys(obj).sort(), function (key) {\n var val = obj[key]\n\n if (angular.isArray(val)) {\n return arrayMap(val.sort(), function (val2) {\n return encodeURIComponent(key) + '=' + encodeURIComponent(val2)\n }).join('&')\n }\n\n return encodeURIComponent(key) + '=' + encodeURIComponent(val)\n }).join('&') : ''\n }\n\n // http://ejohn.org/blog/partial-functions-in-javascript/\n function partial (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n return function () {\n var arg = 0\n for (var i = 0; i < args.length && arg < arguments.length; i++) {\n if (args[i] === undefined) args[i] = arguments[arg++]\n }\n return fn.apply(this, args)\n }\n }\n\n return $httpDecorator\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/httpDecorator.js\n// module id = 3\n// module chunks = 0","export default httpEtagInterceptorFactory\n\nfunction httpEtagInterceptorFactory () {\n function responseInterceptor (response) {\n var itemCache = response.config.$$_itemCache\n\n if (itemCache) {\n var cacheInfo = itemCache.info()\n var cacheResponseData = cacheInfo.cacheResponseData\n var etag = response.headers().etag\n var cacheData = {}\n\n if (etag) {\n cacheData.etagHeader = etag\n if (cacheResponseData) cacheData.responseData = response.data\n itemCache.$set(cacheData)\n }\n\n delete response.config.$$_itemCache\n }\n\n return response\n }\n\n return {\n response: responseInterceptor\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/httpInterceptor.js\n// module id = 4\n// module chunks = 0","import angular from 'angular'\nimport deepcopy from 'deepcopy'\n\nexport default httpEtagProvider\n\nfunction httpEtagProvider () {\n var httpEtagProvider = this\n\n var serviceAdapterMethods = [\n 'createCache',\n 'getCache'\n ]\n\n var cacheAdapterMethods = [\n 'setItem',\n 'getItem',\n 'removeItem',\n 'removeAllItems'\n // info method hard-coded\n ]\n\n var requiredAdapterMethods = serviceAdapterMethods.concat(cacheAdapterMethods)\n\n // Built-in adapters defined in ./cacheServiceAdapters.js\n var cacheAdapters = {}\n var cacheDefinitions = {}\n\n // Cache config defaults\n var defaultCacheId = 'httpEtagCache'\n var defaultEtagCacheConfig = {\n deepCopy: false,\n cacheResponseData: true,\n cacheService: '$cacheFactory',\n cacheOptions: {\n number: 25\n }\n }\n\n /**\n * SERVICE PROVIDER\n * .setDefaultCacheConfig(config)\n * .defineCache(cacheId, config)\n * .defineCacheServiceAdapter(serviceName, config)\n * .getCacheServiceAdapter(serviceName)\n */\n\n httpEtagProvider.setDefaultCacheConfig = function httpEtagSetDefaultCacheOptions (config) {\n defaultEtagCacheConfig = angular.extend({}, defaultEtagCacheConfig, config)\n return httpEtagProvider\n }\n\n httpEtagProvider.getDefaultCacheConfig = function httpEtagGetDefaultCacheOptions () {\n return defaultEtagCacheConfig\n }\n\n httpEtagProvider.defineCache = function httpEtagDefineCache (cacheId, config) {\n config = angular.extend({}, defaultEtagCacheConfig, config, { id: cacheId })\n cacheDefinitions[cacheId] = config\n return httpEtagProvider\n }\n\n httpEtagProvider.defineCacheServiceAdapter = function httpEtagDefineCacheServiceAdapter (serviceName, config) {\n if (!config) throw new Error('Missing cache service adapter configuration')\n if (!config.methods) throw new Error('Missing cache service adapter configuration methods')\n angular.forEach(requiredAdapterMethods, function (method) {\n if (typeof config.methods[method] !== 'function') {\n throw new Error('Expected cache service adapter method \"' + method + '\" to be a function')\n }\n })\n\n cacheAdapters[serviceName] = config\n return httpEtagProvider\n }\n\n httpEtagProvider.getCacheServiceAdapter = function httpEtagGetCacheServiceAdapter (serviceName) {\n return cacheAdapters[serviceName]\n }\n\n /**\n * SERVICE\n * .info()\n * .getCache(acheId)\n * .getItemCache(cacheId, itemKey)\n */\n\n httpEtagProvider.$get = ['$injector', function httpEtagFactory ($injector) {\n var httpEtagService = {}\n\n var services = {}\n var adaptedServices = {}\n var caches = {}\n var adaptedCaches = {}\n\n // Add default cache if not already defined\n if (!cacheDefinitions[defaultCacheId]) httpEtagProvider.defineCache(defaultCacheId)\n\n // Find/inject cache service and create adapted versions\n angular.forEach(cacheAdapters, function adaptCacheService (adapter, serviceName) {\n var service = services[serviceName] = window[serviceName] || $injector.get(serviceName)\n var adaptedService = adaptedServices[serviceName] = {}\n\n angular.forEach(serviceAdapterMethods, function (method) {\n adaptedService[method] = angular.bind({}, adapter.methods[method], service)\n })\n })\n\n // Instantiate caches and create adapted versions\n angular.forEach(cacheDefinitions, function adaptCache (config, cacheId) {\n adaptedServices[config.cacheService].createCache(cacheId, config)\n var cache = caches[cacheId] = adaptedServices[config.cacheService].getCache(cacheId)\n var adaptedCache = adaptedCaches[cacheId] = {}\n // Determine whether to perform deepcopying or not\n var serviceDeepCopies = cacheAdapters[config.cacheService].config.storesDeepCopies\n var deepCopy = !serviceDeepCopies && cacheDefinitions[cacheId].deepCopy\n var copy = function (value) {\n return deepCopy ? deepcopy(value) : value\n }\n\n angular.forEach(cacheAdapterMethods, function (method) {\n var adapterMethod = cacheAdapters[config.cacheService].methods[method]\n var wrappedMethod\n var wrappedRawMethod\n\n // Wrap set/get methods to set/get to the `responseData` property of an\n // object. This is where the $http interceptor stores response data.\n if (method === 'getItem') {\n wrappedMethod = function getCacheItemResponseData (cache, itemKey, options) {\n var cachedData = adapterMethod(cache, itemKey, options)\n return cachedData && copy(cachedData.responseData)\n }\n\n wrappedRawMethod = function getCacheItemData (cache, itemKey, options) {\n return copy(adapterMethod(cache, itemKey, options))\n }\n }\n\n if (method === 'setItem') {\n wrappedMethod = function setCacheItemResponseData (cache, itemKey, value, options) {\n var cachedData = adaptedCache.$getItem(itemKey)\n value = copy(value)\n\n if (cachedData && typeof cachedData === 'object') {\n cachedData.responseData = value\n value = cachedData\n } else value = { responseData: value }\n\n adapterMethod(cache, itemKey, value, options)\n }\n\n wrappedRawMethod = function setCacheItemData (cache, itemKey, value, options) {\n adapterMethod(cache, itemKey, copy(value), options)\n }\n }\n\n adaptedCache[method] = angular.bind({}, (wrappedMethod || adapterMethod), cache)\n if (wrappedRawMethod) {\n adaptedCache['$' + method] = angular.bind({}, wrappedRawMethod, cache)\n }\n })\n\n adaptedCache.unsetItem = function adaptedCacheUnsetItemCache (itemKey) {\n adaptedCache.setItem(itemKey, undefined)\n }\n adaptedCache.expireItem = function adaptedCacheUnsetItemCache (itemKey) {\n var data = adaptedCache.$getItem(itemKey)\n delete data.etagHeader\n adaptedCache.$setItem(itemKey, data)\n }\n adaptedCache.getItemCache = function adaptedCacheGetItemCache (itemKey) {\n return httpEtagService.getItemCache(cacheId, itemKey)\n }\n adaptedCache.info = function adaptedCacheInfo () {\n return cacheDefinitions[cacheId]\n }\n adaptedCache.isCache = true\n })\n\n httpEtagService.info = function httpEtagServiceInfo () {\n return cacheDefinitions\n }\n\n httpEtagService.getCache = function httpEtagServiceGetCache (cacheId) {\n var cache = adaptedCaches[processCacheId(cacheId)]\n if (cache) return cache\n }\n\n httpEtagService.getItemCache = function httpEtagServiceGeItemCache (cacheId, itemKey) {\n var cache = httpEtagService.getCache(cacheId)\n var itemCache = {}\n if (!cache) return\n\n var methodMappings = [\n ['set', 'setItem'],\n ['get', 'getItem'],\n ['$set', '$setItem'],\n ['$get', '$getItem'],\n ['unset', 'unsetItem'],\n ['expire', 'expireItem'],\n ['remove', 'removeItem']\n ]\n\n angular.forEach(methodMappings, function mapCacheMethdodsToItemCache (methods) {\n itemCache[methods[0]] = angular.bind({}, cache[methods[1]], itemKey)\n })\n\n itemCache.info = function itemCacheInfo () {\n var itemCacheInfo = cache.info()\n itemCacheInfo.itemKey = itemKey\n return itemCacheInfo\n }\n\n itemCache.isItemCache = true\n\n return itemCache\n }\n\n httpEtagService.purgeCaches = function httpEtagPurgeCaches () {\n angular.forEach(adaptedCaches, function (cache) {\n cache.removeAllItems()\n })\n }\n\n function processCacheId (cacheId) {\n var type = typeof cacheId\n var isDefined = type === 'number' || (type === 'string' && !!cacheId)\n return isDefined ? cacheId : defaultCacheId\n }\n\n return httpEtagService\n }]\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/service.js\n// module id = 5\n// module chunks = 0","module.exports = function (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n var x = xs[i];\n if (hasOwn.call(xs, i)) res.push(f(x, i, xs));\n }\n return res;\n};\n\nvar hasOwn = Object.prototype.hasOwnProperty;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/array-map/index.js\n// module id = 6\n// module chunks = 0","module.exports = require('./lib');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deepcopy/index.js\n// module id = 7\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.copyValue = exports.copyCollection = exports.copy = void 0;\n\nvar _polyfill = require('./polyfill');\n\nvar toString = Object.prototype.toString;\n\nfunction copy(target, customizer) {\n var resultValue = copyValue(target);\n\n if (resultValue !== null) {\n return resultValue;\n }\n\n return copyCollection(target, customizer);\n}\n\nfunction copyCollection(target, customizer) {\n if (typeof customizer !== 'function') {\n throw new TypeError('customizer is must be a Function');\n }\n\n if (typeof target === 'function') {\n var source = String(target);\n\n // NOTE:\n //\n // https://gist.github.com/jdalton/5e34d890105aca44399f\n //\n // - https://gist.github.com/jdalton/5e34d890105aca44399f#gistcomment-1283831\n // - http://es5.github.io/#x15\n //\n // native functions does not have prototype:\n //\n // Object.toString.prototype // => undefined\n // (function() {}).prototype // => {}\n //\n // but cannot detect native constructor:\n //\n // typeof Object // => 'function'\n // Object.prototype // => {}\n //\n // and cannot detect null binded function:\n //\n // String(Math.abs)\n // // => 'function abs() { [native code] }'\n //\n // Firefox, Safari:\n // String((function abs() {}).bind(null))\n // // => 'function abs() { [native code] }'\n //\n // Chrome:\n // String((function abs() {}).bind(null))\n // // => 'function () { [native code] }'\n if (/^\\s*function\\s*\\S*\\([^\\)]*\\)\\s*{\\s*\\[native code\\]\\s*}/.test(source)) {\n // native function\n return target;\n } else {\n // user defined function\n return new Function('return ' + String(source))();\n }\n }\n\n var targetClass = toString.call(target);\n\n if (targetClass === '[object Array]') {\n return [];\n }\n\n if (targetClass === '[object Object]' && target.constructor === Object) {\n return {};\n }\n\n if (targetClass === '[object Date]') {\n // NOTE:\n //\n // Firefox need to convert\n //\n // Firefox:\n // var date = new Date;\n // +date; // 1420909365967\n // +new Date(date); // 1420909365000\n // +new Date(+date); // 1420909365967\n //\n // Chrome:\n // var date = new Date;\n // +date; // 1420909757913\n // +new Date(date); // 1420909757913\n // +new Date(+date); // 1420909757913\n return new Date(target.getTime());\n }\n\n if (targetClass === '[object RegExp]') {\n // NOTE:\n //\n // Chrome, Safari:\n // (new RegExp).source => \"(?:)\"\n //\n // Firefox:\n // (new RegExp).source => \"\"\n //\n // Chrome, Safari, Firefox:\n // String(new RegExp) => \"/(?:)/\"\n var regexpText = String(target),\n slashIndex = regexpText.lastIndexOf('/');\n\n return new RegExp(regexpText.slice(1, slashIndex), regexpText.slice(slashIndex + 1));\n }\n\n if ((0, _polyfill.isBuffer)(target)) {\n var buffer = new Buffer(target.length);\n\n target.copy(buffer);\n\n return buffer;\n }\n\n var customizerResult = customizer(target);\n\n if (customizerResult !== void 0) {\n return customizerResult;\n }\n\n return null;\n}\n\nfunction copyValue(target) {\n var targetType = typeof target;\n\n // copy String, Number, Boolean, undefined and Symbol\n // without null and Function\n if (target !== null && targetType !== 'object' && targetType !== 'function') {\n return target;\n }\n\n return null;\n}\n\nexports.copy = copy;\nexports.copyCollection = copyCollection;\nexports.copyValue = copyValue;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deepcopy/lib/copy.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _copy = require('./copy');\n\nvar _polyfill = require('./polyfill');\n\nfunction defaultCustomizer(target) {\n return void 0;\n}\n\nfunction deepcopy(target) {\n var customizer = arguments.length <= 1 || arguments[1] === void 0 ? defaultCustomizer : arguments[1];\n\n if (target === null) {\n // copy null\n return null;\n }\n\n var resultValue = (0, _copy.copyValue)(target);\n\n if (resultValue !== null) {\n // copy some primitive types\n return resultValue;\n }\n\n var resultCollection = (0, _copy.copyCollection)(target, customizer),\n clone = resultCollection !== null ? resultCollection : target;\n\n var visited = [target],\n reference = [clone];\n\n // recursively copy from collection\n return recursiveCopy(target, customizer, clone, visited, reference);\n}\n\nfunction recursiveCopy(target, customizer, clone, visited, reference) {\n if (target === null) {\n // copy null\n return null;\n }\n\n var resultValue = (0, _copy.copyValue)(target);\n\n if (resultValue !== null) {\n // copy some primitive types\n return resultValue;\n }\n\n var keys = (0, _polyfill.getKeys)(target).concat((0, _polyfill.getSymbols)(target));\n\n var i = void 0,\n len = void 0;\n\n var key = void 0,\n value = void 0,\n index = void 0,\n resultCopy = void 0,\n result = void 0,\n ref = void 0;\n\n for (i = 0, len = keys.length; i < len; ++i) {\n key = keys[i];\n value = target[key];\n index = (0, _polyfill.indexOf)(visited, value);\n\n resultCopy = void 0;\n result = void 0;\n ref = void 0;\n\n if (index === -1) {\n resultCopy = (0, _copy.copy)(value, customizer);\n result = resultCopy !== null ? resultCopy : value;\n\n if (value !== null && /^(?:function|object)$/.test(typeof value)) {\n visited.push(value);\n reference.push(result);\n }\n } else {\n // circular reference\n ref = reference[index];\n }\n\n clone[key] = ref || recursiveCopy(value, customizer, result, visited, reference);\n }\n\n return clone;\n}\n\nexports['default'] = deepcopy;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deepcopy/lib/index.js\n// module id = 9\n// module chunks = 0","'use strict';\n\n// modified from https://github.com/es-shims/es5-shim\nvar has = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\nvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\nvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\nvar dontEnums = [\n\t'toString',\n\t'toLocaleString',\n\t'valueOf',\n\t'hasOwnProperty',\n\t'isPrototypeOf',\n\t'propertyIsEnumerable',\n\t'constructor'\n];\nvar equalsConstructorPrototype = function (o) {\n\tvar ctor = o.constructor;\n\treturn ctor && ctor.prototype === o;\n};\nvar excludedKeys = {\n\t$console: true,\n\t$external: true,\n\t$frame: true,\n\t$frameElement: true,\n\t$frames: true,\n\t$innerHeight: true,\n\t$innerWidth: true,\n\t$outerHeight: true,\n\t$outerWidth: true,\n\t$pageXOffset: true,\n\t$pageYOffset: true,\n\t$parent: true,\n\t$scrollLeft: true,\n\t$scrollTop: true,\n\t$scrollX: true,\n\t$scrollY: true,\n\t$self: true,\n\t$webkitIndexedDB: true,\n\t$webkitStorageInfo: true,\n\t$window: true\n};\nvar hasAutomationEqualityBug = (function () {\n\t/* global window */\n\tif (typeof window === 'undefined') { return false; }\n\tfor (var k in window) {\n\t\ttry {\n\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\ttry {\n\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}());\nvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t/* global window */\n\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\treturn equalsConstructorPrototype(o);\n\t}\n\ttry {\n\t\treturn equalsConstructorPrototype(o);\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar keysShim = function keys(object) {\n\tvar isObject = object !== null && typeof object === 'object';\n\tvar isFunction = toStr.call(object) === '[object Function]';\n\tvar isArguments = isArgs(object);\n\tvar isString = isObject && toStr.call(object) === '[object String]';\n\tvar theKeys = [];\n\n\tif (!isObject && !isFunction && !isArguments) {\n\t\tthrow new TypeError('Object.keys called on a non-object');\n\t}\n\n\tvar skipProto = hasProtoEnumBug && isFunction;\n\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\ttheKeys.push(String(i));\n\t\t}\n\t}\n\n\tif (isArguments && object.length > 0) {\n\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\ttheKeys.push(String(j));\n\t\t}\n\t} else {\n\t\tfor (var name in object) {\n\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\ttheKeys.push(String(name));\n\t\t\t}\n\t\t}\n\t}\n\n\tif (hasDontEnumBug) {\n\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t}\n\t\t}\n\t}\n\treturn theKeys;\n};\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\treturn (Object.keys(arguments) || '').length === 2;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tvar originalKeys = Object.keys;\n\t\t\tObject.keys = function keys(object) {\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t} else {\n\t\t\t\t\treturn originalKeys(object);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/object-keys/index.js\n// module id = 10\n// module chunks = 0","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/object-keys/isArguments.js\n// module id = 11\n// module chunks = 0","import angular from 'angular'\nimport service from './service'\nimport httpDecorator from './httpDecorator'\nimport httpInterceptor from './httpInterceptor'\nimport cacheServiceAdapters from './cacheServiceAdapters'\n\nexport default angular\n .module('http-etag', [])\n .provider('httpEtag', service)\n .config(cacheServiceAdapters)\n .config(['$provide', '$httpProvider', function addHttpEtagInterceptor ($provide, $httpProvider) {\n httpDecorator.useLegacyPromiseExtensions =\n $httpProvider.useLegacyPromiseExtensions ||\n function useLegacyPromiseExtensions () {\n return angular.version.major === 1 && angular.version.minor < 6\n }\n $provide.decorator('$http', httpDecorator)\n $httpProvider.interceptors.push(httpInterceptor)\n }])\n .name\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/index.js\n// module id = 12\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file