{"ast":null,"code":"(function webpackUniversalModuleDefinition(root, factory) {\n  if (typeof exports === 'object' && typeof module === 'object') module.exports = factory(require(\"angular\"));else if (typeof define === 'function' && define.amd) define(\"angularjs-async-filter\", [\"angular\"], factory);else if (typeof exports === 'object') exports[\"angularjs-async-filter\"] = factory(require(\"angular\"));else root[\"angularjs-async-filter\"] = factory(root[\"angular\"]);\n})(window, function (__WEBPACK_EXTERNAL_MODULE__1__) {\n  return (\n    /******/\n    function (modules) {\n      // webpackBootstrap\n\n      /******/\n      // The module cache\n\n      /******/\n      var installedModules = {};\n      /******/\n\n      /******/\n      // The require function\n\n      /******/\n\n      function __webpack_require__(moduleId) {\n        /******/\n\n        /******/\n        // Check if module is in cache\n\n        /******/\n        if (installedModules[moduleId]) {\n          /******/\n          return installedModules[moduleId].exports;\n          /******/\n        }\n        /******/\n        // Create a new module (and put it into the cache)\n\n        /******/\n\n\n        var module = installedModules[moduleId] = {\n          /******/\n          i: moduleId,\n\n          /******/\n          l: false,\n\n          /******/\n          exports: {}\n          /******/\n\n        };\n        /******/\n\n        /******/\n        // Execute the module function\n\n        /******/\n\n        modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n        /******/\n\n        /******/\n        // Flag the module as loaded\n\n        /******/\n\n        module.l = true;\n        /******/\n\n        /******/\n        // Return the exports of the module\n\n        /******/\n\n        return module.exports;\n        /******/\n      }\n      /******/\n\n      /******/\n\n      /******/\n      // expose the modules object (__webpack_modules__)\n\n      /******/\n\n\n      __webpack_require__.m = modules;\n      /******/\n\n      /******/\n      // expose the module cache\n\n      /******/\n\n      __webpack_require__.c = installedModules;\n      /******/\n\n      /******/\n      // define getter function for harmony exports\n\n      /******/\n\n      __webpack_require__.d = function (exports, name, getter) {\n        /******/\n        if (!__webpack_require__.o(exports, name)) {\n          /******/\n          Object.defineProperty(exports, name, {\n            enumerable: true,\n            get: getter\n          });\n          /******/\n        }\n        /******/\n\n      };\n      /******/\n\n      /******/\n      // define __esModule on exports\n\n      /******/\n\n\n      __webpack_require__.r = function (exports) {\n        /******/\n        if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n          /******/\n          Object.defineProperty(exports, Symbol.toStringTag, {\n            value: 'Module'\n          });\n          /******/\n        }\n        /******/\n\n\n        Object.defineProperty(exports, '__esModule', {\n          value: true\n        });\n        /******/\n      };\n      /******/\n\n      /******/\n      // create a fake namespace object\n\n      /******/\n      // mode & 1: value is a module id, require it\n\n      /******/\n      // mode & 2: merge all properties of value into the ns\n\n      /******/\n      // mode & 4: return value when already ns object\n\n      /******/\n      // mode & 8|1: behave like require\n\n      /******/\n\n\n      __webpack_require__.t = function (value, mode) {\n        /******/\n        if (mode & 1) value = __webpack_require__(value);\n        /******/\n\n        if (mode & 8) return value;\n        /******/\n\n        if (mode & 4 && typeof value === 'object' && value && value.__esModule) return value;\n        /******/\n\n        var ns = Object.create(null);\n        /******/\n\n        __webpack_require__.r(ns);\n        /******/\n\n\n        Object.defineProperty(ns, 'default', {\n          enumerable: true,\n          value: value\n        });\n        /******/\n\n        if (mode & 2 && typeof value != 'string') for (var key in value) __webpack_require__.d(ns, key, function (key) {\n          return value[key];\n        }.bind(null, key));\n        /******/\n\n        return ns;\n        /******/\n      };\n      /******/\n\n      /******/\n      // getDefaultExport function for compatibility with non-harmony modules\n\n      /******/\n\n\n      __webpack_require__.n = function (module) {\n        /******/\n        var getter = module && module.__esModule ?\n        /******/\n        function getDefault() {\n          return module['default'];\n        } :\n        /******/\n        function getModuleExports() {\n          return module;\n        };\n        /******/\n\n        __webpack_require__.d(getter, 'a', getter);\n        /******/\n\n\n        return getter;\n        /******/\n      };\n      /******/\n\n      /******/\n      // Object.prototype.hasOwnProperty.call\n\n      /******/\n\n\n      __webpack_require__.o = function (object, property) {\n        return Object.prototype.hasOwnProperty.call(object, property);\n      };\n      /******/\n\n      /******/\n      // __webpack_public_path__\n\n      /******/\n\n\n      __webpack_require__.p = \"\";\n      /******/\n\n      /******/\n\n      /******/\n      // Load entry module and return exports\n\n      /******/\n\n      return __webpack_require__(__webpack_require__.s = 0);\n      /******/\n    }([\n      /* 0 */\n\n      /***/\n\n      /* 1 */\n\n      /***/\n\n      /******/\n    function (module, exports, __webpack_require__) {\n      \"use strict\";\n\n      Object.defineProperty(exports, \"__esModule\", {\n        value: true\n      });\n\n      var angular = __webpack_require__(1);\n\n      function isObservable(obj) {\n        return obj && typeof obj.subscribe === 'function';\n      }\n\n      function isPromise(obj) {\n        return obj && typeof obj.then === 'function';\n      }\n\n      var ObservableStrategy = function () {\n        function ObservableStrategy() {}\n\n        ObservableStrategy.prototype.createSubscription = function (async, updateLatestValue) {\n          this._subscription = async.subscribe({\n            next: updateLatestValue,\n            error: function (e) {\n              throw e;\n            }\n          });\n          return this._subscription;\n        };\n\n        ObservableStrategy.prototype.dispose = function () {\n          this._subscription.unsubscribe();\n\n          this.latestValue = null;\n        };\n\n        ObservableStrategy.prototype.onDestroy = function () {\n          this._subscription.unsubscribe();\n        };\n\n        return ObservableStrategy;\n      }();\n\n      var PromiseStrategy = function () {\n        function PromiseStrategy() {}\n\n        PromiseStrategy.prototype.createSubscription = function (async, updateLatestValue) {\n          this._subscription = async.then(updateLatestValue, function (e) {\n            throw e;\n          });\n          return this._subscription;\n        };\n\n        PromiseStrategy.prototype.dispose = function () {\n          this.latestValue = null;\n        };\n\n        PromiseStrategy.prototype.onDestroy = function () {};\n\n        return PromiseStrategy;\n      }();\n\n      var AsyncFilterClass = function () {\n        function AsyncFilterClass() {\n          this.transform = this.transform.bind(this);\n          this._subscriptionMap = new WeakMap();\n        }\n\n        AsyncFilterClass.prototype._selectStrategy = function (obj) {\n          if (isPromise(obj)) {\n            return new PromiseStrategy();\n          }\n\n          if (isObservable(obj)) {\n            return new ObservableStrategy();\n          }\n\n          throw new TypeError(\"AsyncFilter: expect an async type but received: \" + typeof obj);\n        };\n\n        AsyncFilterClass.prototype._subscribe = function (obj, scope) {\n          var _this = this;\n\n          var strategy = this._selectStrategy(obj);\n\n          strategy.createSubscription(obj, function (value) {\n            strategy.latestValue = value;\n\n            _this._updateLatestValue(obj, value, scope);\n          });\n\n          this._subscriptionMap.set(obj, strategy);\n\n          scope.$on('$destroy', function () {\n            strategy.dispose();\n\n            _this._subscriptionMap.delete(obj);\n          });\n        };\n\n        AsyncFilterClass.prototype._updateLatestValue = function (async, value, scope) {\n          if (this._subscriptionMap.has(async)) {\n            scope.$applyAsync();\n          }\n        };\n\n        AsyncFilterClass.prototype.transform = function (obj, scope) {\n          if (!scope) {\n            throw new SyntaxError('AsyncFilter: Scope object is expected. Please make sure you have correct syntax `{{ your_binding_value | async:this }}`');\n          }\n\n          if (!this._subscriptionMap.has(obj)) {\n            if (obj) {\n              this._subscribe(obj, scope);\n            }\n          }\n\n          return this._subscriptionMap.get(obj).latestValue;\n        };\n\n        return AsyncFilterClass;\n      }();\n\n      exports.default = angular.module('asyncFilterModule', []).filter('async', function () {\n        return new AsyncFilterClass().transform;\n      }).name;\n      /***/\n    }, function (module, exports) {\n      module.exports = __WEBPACK_EXTERNAL_MODULE__1__;\n      /***/\n    }])\n  );\n});","map":{"version":3,"sources":["D:/Development/Work/CENOS/cenos-ui/node_modules/angularjs-async-filter/lib/index.js"],"names":["webpackUniversalModuleDefinition","root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__1__","modules","installedModules","__webpack_require__","moduleId","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","getDefault","getModuleExports","object","property","prototype","hasOwnProperty","p","s","angular","isObservable","obj","subscribe","isPromise","then","ObservableStrategy","createSubscription","async","updateLatestValue","_subscription","next","error","e","dispose","unsubscribe","latestValue","onDestroy","PromiseStrategy","AsyncFilterClass","transform","_subscriptionMap","WeakMap","_selectStrategy","TypeError","_subscribe","scope","_this","strategy","_updateLatestValue","set","$on","delete","has","$applyAsync","SyntaxError","default","filter"],"mappings":"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","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(\"angularjs-async-filter\", [\"angular\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"angularjs-async-filter\"] = factory(require(\"angular\"));\n\telse\n\t\troot[\"angularjs-async-filter\"] = factory(root[\"angular\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__1__) {\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/******/ \t\t}\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// 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, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\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/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar angular = __webpack_require__(1);\r\nfunction isObservable(obj) {\r\n    return obj && typeof obj.subscribe === 'function';\r\n}\r\nfunction isPromise(obj) {\r\n    return obj && typeof obj.then === 'function';\r\n}\r\nvar ObservableStrategy = /** @class */ (function () {\r\n    function ObservableStrategy() {\r\n    }\r\n    ObservableStrategy.prototype.createSubscription = function (async, updateLatestValue) {\r\n        this._subscription = async.subscribe({ next: updateLatestValue, error: function (e) { throw e; } });\r\n        return this._subscription;\r\n    };\r\n    ObservableStrategy.prototype.dispose = function () {\r\n        this._subscription.unsubscribe();\r\n        this.latestValue = null;\r\n    };\r\n    ObservableStrategy.prototype.onDestroy = function () { this._subscription.unsubscribe(); };\r\n    return ObservableStrategy;\r\n}());\r\nvar PromiseStrategy = /** @class */ (function () {\r\n    function PromiseStrategy() {\r\n    }\r\n    PromiseStrategy.prototype.createSubscription = function (async, updateLatestValue) {\r\n        this._subscription = async.then(updateLatestValue, function (e) { throw e; });\r\n        return this._subscription;\r\n    };\r\n    PromiseStrategy.prototype.dispose = function () {\r\n        this.latestValue = null;\r\n    };\r\n    PromiseStrategy.prototype.onDestroy = function () { };\r\n    return PromiseStrategy;\r\n}());\r\nvar AsyncFilterClass = /** @class */ (function () {\r\n    function AsyncFilterClass() {\r\n        this.transform = this.transform.bind(this);\r\n        this._subscriptionMap = new WeakMap();\r\n    }\r\n    AsyncFilterClass.prototype._selectStrategy = function (obj) {\r\n        if (isPromise(obj)) {\r\n            return new PromiseStrategy();\r\n        }\r\n        if (isObservable(obj)) {\r\n            return new ObservableStrategy();\r\n        }\r\n        throw new TypeError(\"AsyncFilter: expect an async type but received: \" + typeof obj);\r\n    };\r\n    AsyncFilterClass.prototype._subscribe = function (obj, scope) {\r\n        var _this = this;\r\n        var strategy = this._selectStrategy(obj);\r\n        strategy.createSubscription(obj, function (value) {\r\n            strategy.latestValue = value;\r\n            _this._updateLatestValue(obj, value, scope);\r\n        });\r\n        this._subscriptionMap.set(obj, strategy);\r\n        scope.$on('$destroy', function () {\r\n            strategy.dispose();\r\n            _this._subscriptionMap.delete(obj);\r\n        });\r\n    };\r\n    AsyncFilterClass.prototype._updateLatestValue = function (async, value, scope) {\r\n        if (this._subscriptionMap.has(async)) {\r\n            scope.$applyAsync();\r\n        }\r\n    };\r\n    AsyncFilterClass.prototype.transform = function (obj, scope) {\r\n        if (!scope) {\r\n            throw new SyntaxError('AsyncFilter: Scope object is expected. Please make sure you have correct syntax `{{ your_binding_value | async:this }}`');\r\n        }\r\n        if (!this._subscriptionMap.has(obj)) {\r\n            if (obj) {\r\n                this._subscribe(obj, scope);\r\n            }\r\n        }\r\n        return this._subscriptionMap.get(obj).latestValue;\r\n    };\r\n    return AsyncFilterClass;\r\n}());\r\nexports.default = angular\r\n    .module('asyncFilterModule', [])\r\n    .filter('async', function () { return new AsyncFilterClass().transform; })\r\n    .name;\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__1__;\n\n/***/ })\n/******/ ]);\n});\n"]},"metadata":{},"sourceType":"script"}