From a089af64a6776b0311b0d1b27b82cb84bb954e6b Mon Sep 17 00:00:00 2001 From: Nicolas Gaignoux Date: Thu, 20 Aug 2015 14:36:41 +0200 Subject: [PATCH] updated dist version --- dist/ng-annotations.js | 2 +- dist/ng-annotations.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/ng-annotations.js b/dist/ng-annotations.js index 0fd2997..4f6dec2 100644 --- a/dist/ng-annotations.js +++ b/dist/ng-annotations.js @@ -1,2 +1,2 @@ -!function(e){function t(r){if(n[r])return n[r].exports;var module=n[r]={exports:{},id:r,loaded:!1};return e[r].call(module.exports,module,module.exports,t),module.loaded=!0,module.exports}var n={};return t.m=e,t.c=n,t.p="/",t(0)}([function(module,exports,e){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t={};t.controller=e(5),t.service=e(11),t.animation=e(3),t.config=e(4),t.directive=e(6),t.factory=e(7),t.filter=e(8),t.provider=e(9),t.run=e(10),t.constant=e(15),t.value=e(16),t.inject=e(2),t.autobind=e(13),t.attach=e(12),t.conceal=e(14),exports["default"]=window.ngAnnotations=t,module.exports=exports["default"]},function(module,exports){"use strict";function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var t=function(){function e(e,t){for(var n=0;n0?n[1].split(","):[]}},{key:"getUUID",value:function(){var e=arguments.length<=0||void 0===arguments[0]?"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx":arguments[0];return e.replace(/[xy]/g,function(e){var t=16*Math.random()|0,n="x"==e?t:3&t|8;return n.toString(16)})}},{key:"arrayUnique",value:function(){for(var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=[e[0]],n=1;n1?n-1:0),a=1;n>a;a++)r[a-1]=arguments[a];var u=arguments.length<=0||void 0===arguments[0]?t:arguments[0];return t[e].apply(u,r)},writable:!1,enumerable:!1},apply:{value:function(){var n=arguments.length<=0||void 0===arguments[0]?t:arguments[0],r=arguments.length<=1||void 0===arguments[1]?[]:arguments[1];return t[e].apply(n,r)},writable:!1,enumerable:!1}})):Object.defineProperty(l,e,{get:function(){return t[e]},set:function(n){return t[e]=n},enumerable:!1})}),l}},{key:"defineComponent",value:function(e,t,n,r){if(!~this.angularComponents.indexOf(n))throw Error("the given type must be a valid angular component");Object.defineProperties(e,{$name:{value:void 0!==t?t:e.name,enumerable:!0,configurable:!0},$type:{value:n,enumerable:!0,writable:!1},$component:{value:r,enumerable:!0,configurable:!0}}),e.$component instanceof Object&&Object.defineProperty(e.$component,"$inject",{get:function(){return e.$inject||[]},set:function(t){return e.$inject=t}})}},{key:"regexArgs",value:/^function\s*[^\(]*\(\s*([^\)]*)\)/m,enumerable:!0},{key:"regexStripComment",value:/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,enumerable:!0},{key:"angularComponents",value:["config","run","value","constant","animation","controller","directive","factory","provider","service","filter"],enumerable:!0},{key:"identifiers",value:{},enumerable:!0}]),n}();exports["default"]=n,module.exports=exports["default"]},function(module,exports){"use strict";function e(e){if(!(e instanceof Array)){e=[e];for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;t>r;r++)n[r-1]=arguments[r];n.length>0&&(e=e.concat(n))}return e.forEach(function(t,n){t instanceof Object&&"$name"in t&&(e[n]=t.$name)}),function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),a=1;n>a;a++)r[a-1]=arguments[a];r.length>0&&(t=r[1].value),Object.defineProperty(t,"$inject",{value:e,enumerable:!0,configurable:!0})}}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=e,module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];return function(t){e=e||t.name;var n=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var o=new(r.apply(t,[null].concat(n)));return u["default"].applyTransformations(t,o,n),u["default"].getFinalComponent(t,o)};if(!(t.$inject instanceof Array)||0===t.$inject.length){var a=u["default"].extractParameters(t);a.length>0&&i["default"](a)(n)}u["default"].addDeclareMethod(t),u["default"].defineComponent(t,e,"animation",n)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),u=t(a),o=e(2),i=t(o);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){return function(e){var t=function(){for(var t=arguments.length,n=Array(t),a=0;t>a;a++)n[a]=arguments[a];var o=new(r.apply(e,[null].concat(n)));return u["default"].applyTransformations(e,o,n),o};if(!(e.$inject instanceof Array)||0===e.$inject.length){var n=u["default"].extractParameters(e);n.length>0&&i["default"](n)(t)}u["default"].addDeclareMethod(e),u["default"].defineComponent(e,null,"config",t)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),u=t(a),o=e(2),i=t(o);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];return function(t){e=e||t.name;var n=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var o=new(r.apply(t,[null].concat(n)));return u["default"].applyTransformations(t,o,n),u["default"].getFinalComponent(t,o)};if(!(t.$inject instanceof Array)||0===t.$inject.length){var a=u["default"].extractParameters(t);a.length>0&&i["default"](a)(n)}u["default"].addDeclareMethod(t),u["default"].defineComponent(t,e,"controller",n)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),u=t(a),o=e(2),i=t(o);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];return function(t){e=e||t.name;var n=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var o=new(r.apply(t,[null].concat(n)));return u["default"].applyTransformations(t,o,n),o};if(!(t.$inject instanceof Array)||0===t.$inject.length){var a=u["default"].extractParameters(t);a.length>0&&i["default"](a)(n)}u["default"].addDeclareMethod(t),u["default"].defineComponent(t,e,"directive",n)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),u=t(a),o=e(2),i=t(o);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];return function(t){e=e||t.name;var n=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var o=new(r.apply(t,[null].concat(n)));u["default"].applyTransformations(t,o,n);var i=u["default"].getFinalComponent(t,o);return i.$expose instanceof Function?i.$expose():i};if(!(t.$inject instanceof Array)||0===t.$inject.length){var a=u["default"].extractParameters(t);a.length>0&&i["default"](a)(n)}u["default"].addDeclareMethod(t),u["default"].defineComponent(t,e,"factory",n)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),u=t(a),o=e(2),i=t(o);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];return function(t){e=e||t.name;var n=function(){function e(){return i.$filter.apply(i,arguments)}for(var n=arguments.length,a=Array(n),o=0;n>o;o++)a[o]=arguments[o];var i=new(r.apply(t,[null].concat(a)));if(!(i.$filter instanceof Function))throw Error('an annotated "filter" must implement the "$filter" method');return u["default"].applyTransformations(t,i,a),i.$stateful===!0&&(e.$stateful=!0),e};if(!(t.$inject instanceof Array)||0===t.$inject.length){var a=u["default"].extractParameters(t);a.length>0&&i["default"](a)(n)}u["default"].addDeclareMethod(t),u["default"].defineComponent(t,e,"filter",n)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),u=t(a),o=e(2),i=t(o);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];return function(t){e=e||t.name;var n=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var o=new(r.apply(t,[null].concat(n)));return u["default"].applyTransformations(t,o,n),u["default"].getFinalComponent(t,o)};if(!(t.$inject instanceof Array)||0===t.$inject.length){var a=u["default"].extractParameters(t);a.length>0&&i["default"](a)(n)}u["default"].addDeclareMethod(t),u["default"].defineComponent(t,e,"provider",n)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),u=t(a),o=e(2),i=t(o);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){return function(e){var t=function(){for(var t=arguments.length,n=Array(t),a=0;t>a;a++)n[a]=arguments[a];var o=new(r.apply(e,[null].concat(n)));return u["default"].applyTransformations(e,o,n),o};if(!(e.$inject instanceof Array)||0===e.$inject.length){var n=u["default"].extractParameters(e);n.length>0&&i["default"](n)(t)}u["default"].addDeclareMethod(e),u["default"].defineComponent(e,null,"run",t)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),u=t(a),o=e(2),i=t(o);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];return function(t){e=e||t.name;var n=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var o=new(r.apply(t,[null].concat(n)));return u["default"].applyTransformations(t,o,n),u["default"].getFinalComponent(t,o)};if(!(t.$inject instanceof Array)||0===t.$inject.length){var a=u["default"].extractParameters(t);a.length>0&&i["default"](a)(t)}u["default"].addDeclareMethod(t),u["default"].defineComponent(t,e,"service",n)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),u=t(a),o=e(2),i=t(o);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"this":arguments[0],t=arguments.length<=1||void 0===arguments[1]?"":arguments[1];if("string"!=typeof e&&!(e instanceof Object&&"$name"in e))throw Error("the source param of @attach must be a string or an annotated component, "+typeof e+" given");if("string"!=typeof t)throw Error("the path param of @attach must be a string, "+typeof t+" given");return function(n,u,o){if(o instanceof Object&&(void 0!==o.set||void 0!==o.get))throw Error("@attach decorator cannot be applied to an accessor");if(void 0===u)throw Error("@attach decorator can only be applied to methods or attributes");e instanceof Object&&(e=e.$name);var l=i["default"].getIdentifier("$transform");void 0!==n[l]&&n[l]instanceof Array||(n[l]=[]);var f=t.split("."),c=f.pop();"this"===e?(delete o.initializer,delete o.value,a(e,f,c,o)):n[l].push(r(e,f,c,u))}}function r(e,t,n,r){return function(u,o,i){var l=o.$inject||[],f=l.indexOf(e);if(!~f)throw Error("unable to attach the property "+n+", the component "+e+" isn't loaded");var c=Object.getOwnPropertyDescriptor(u,r),s=c.configurable,d=c.enumerable,p={configurable:s,enumerable:d};a(e,t,n,p,i[f]),delete u[r],Object.defineProperty(u,r,p)}}function a(e,t,n,r){var a=arguments.length<=4||void 0===arguments[4]?void 0:arguments[4];r.get=function(){if(void 0===a&&(a=this),!n)return a;var e=u(a,t);return e[n]instanceof Function?e[n].bind(e):e[n]},r.set=function(e){if(void 0===a&&(a=this),!n)return a;var r=u(a,t);r[n]=e}}function u(e){var t=arguments.length<=1||void 0===arguments[1]?[]:arguments[1];if(t.length>0)for(var n=0;n0?n[1].split(","):[]}},{key:"getUUID",value:function(){var e=arguments.length<=0||void 0===arguments[0]?"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx":arguments[0];return e.replace(/[xy]/g,function(e){var t=16*Math.random()|0,n="x"==e?t:3&t|8;return n.toString(16)})}},{key:"arrayUnique",value:function(){for(var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=[e[0]],n=1;n1?n-1:0),a=1;n>a;a++)r[a-1]=arguments[a];var o=arguments.length<=0||void 0===arguments[0]?t:arguments[0];return t[e].apply(o,r)},writable:!1,enumerable:!1},apply:{value:function(){var n=arguments.length<=0||void 0===arguments[0]?t:arguments[0],r=arguments.length<=1||void 0===arguments[1]?[]:arguments[1];return t[e].apply(n,r)},writable:!1,enumerable:!1}})):Object.defineProperty(l,e,{get:function(){return t[e]},set:function(n){return t[e]=n},enumerable:!1})}),l}},{key:"defineComponent",value:function(e,t,n,r){if(!~this.angularComponents.indexOf(n))throw Error("the given type must be a valid angular component");Object.defineProperties(e,{$name:{value:void 0!==t?t:e.name,enumerable:!0,configurable:!0},$type:{value:n,enumerable:!0,writable:!1},$component:{value:r,enumerable:!0,configurable:!0}}),e.$component instanceof Object&&Object.defineProperty(e.$component,"$inject",{get:function(){return e.$inject||[]},set:function(t){return e.$inject=t}})}},{key:"regexArgs",value:/^function\s*[^\(]*\(\s*([^\)]*)\)/m,enumerable:!0},{key:"regexStripComment",value:/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,enumerable:!0},{key:"angularComponents",value:["config","run","value","constant","animation","controller","directive","factory","provider","service","filter"],enumerable:!0},{key:"identifiers",value:{},enumerable:!0}]),n}();exports["default"]=n,module.exports=exports["default"]},function(module,exports){"use strict";function e(e){if(!(e instanceof Array)){e=[e];for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;t>r;r++)n[r-1]=arguments[r];n.length>0&&(e=e.concat(n))}return e.forEach(function(t,n){t instanceof Object&&"$name"in t&&(e[n]=t.$name)}),function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),a=1;n>a;a++)r[a-1]=arguments[a];r.length>0&&(t=r[1].value),Object.defineProperty(t,"$inject",{value:e,enumerable:!0,configurable:!0})}}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=e,module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];return function(t){e=e||t.name;var n=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var u=new(r.apply(t,[null].concat(n)));return o["default"].applyTransformations(t,u,n),o["default"].getFinalComponent(t,u)};if(!(t.$inject instanceof Array)||0===t.$inject.length){var a=o["default"].extractParameters(t);a.length>0&&i["default"](a)(n)}o["default"].addDeclareMethod(t),o["default"].defineComponent(t,e,"animation",n)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),o=t(a),u=e(2),i=t(u);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){return function(e){var t=function(){for(var t=arguments.length,n=Array(t),a=0;t>a;a++)n[a]=arguments[a];var u=new(r.apply(e,[null].concat(n)));return o["default"].applyTransformations(e,u,n),u};if(!(e.$inject instanceof Array)||0===e.$inject.length){var n=o["default"].extractParameters(e);n.length>0&&i["default"](n)(t)}o["default"].addDeclareMethod(e),o["default"].defineComponent(e,null,"config",t)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),o=t(a),u=e(2),i=t(u);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];return function(t){e=e||t.name;var n=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var u=new(r.apply(t,[null].concat(n)));return o["default"].applyTransformations(t,u,n),o["default"].getFinalComponent(t,u)};if(!(t.$inject instanceof Array)||0===t.$inject.length){var a=o["default"].extractParameters(t);a.length>0&&i["default"](a)(n)}o["default"].addDeclareMethod(t),o["default"].defineComponent(t,e,"controller",n)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),o=t(a),u=e(2),i=t(u);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];return function(t){e=e||t.name;var n=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var u=new(r.apply(t,[null].concat(n)));return o["default"].applyTransformations(t,u,n),u};if(!(t.$inject instanceof Array)||0===t.$inject.length){var a=o["default"].extractParameters(t);a.length>0&&i["default"](a)(n)}o["default"].addDeclareMethod(t),o["default"].defineComponent(t,e,"directive",n)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),o=t(a),u=e(2),i=t(u);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];return function(t){e=e||t.name;var n=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var u=new(r.apply(t,[null].concat(n)));o["default"].applyTransformations(t,u,n);var i=o["default"].getFinalComponent(t,u);return i.$expose instanceof Function?i.$expose():i};if(!(t.$inject instanceof Array)||0===t.$inject.length){var a=o["default"].extractParameters(t);a.length>0&&i["default"](a)(n)}o["default"].addDeclareMethod(t),o["default"].defineComponent(t,e,"factory",n)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),o=t(a),u=e(2),i=t(u);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?{name:"",stateful:!1}:arguments[0];return function(t){var n="",a=!1;e instanceof Object?(n=e.name||t.name,a=!!e.stateful):n=e||t.name;var u=function(){function e(){return l.$filter.apply(l,arguments)}for(var n=arguments.length,u=Array(n),i=0;n>i;i++)u[i]=arguments[i];var l=new(r.apply(t,[null].concat(u)));if(!(l.$filter instanceof Function))throw Error('an annotated "filter" must implement the "$filter" method');return o["default"].applyTransformations(t,l,u),l.$stateful===!0&&(console.warn("the $stateful property is deprecated and will be removed in the next versions, use the @filter parameter instead"),console.warn("https://github.com/PillowPillow/ng-annotations#d_filter"),e.$stateful=!0),a&&(e.$stateful=a),e};if(!(t.$inject instanceof Array)||0===t.$inject.length){var l=o["default"].extractParameters(t);l.length>0&&i["default"](l)(u)}o["default"].addDeclareMethod(t),o["default"].defineComponent(t,n,"filter",u)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),o=t(a),u=e(2),i=t(u);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];return function(t){e=e||t.name;var n=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var u=new(r.apply(t,[null].concat(n)));return o["default"].applyTransformations(t,u,n),o["default"].getFinalComponent(t,u)};if(!(t.$inject instanceof Array)||0===t.$inject.length){var a=o["default"].extractParameters(t);a.length>0&&i["default"](a)(n)}o["default"].addDeclareMethod(t),o["default"].defineComponent(t,e,"provider",n)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),o=t(a),u=e(2),i=t(u);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){return function(e){var t=function(){for(var t=arguments.length,n=Array(t),a=0;t>a;a++)n[a]=arguments[a];var u=new(r.apply(e,[null].concat(n)));return o["default"].applyTransformations(e,u,n),u};if(!(e.$inject instanceof Array)||0===e.$inject.length){var n=o["default"].extractParameters(e);n.length>0&&i["default"](n)(t)}o["default"].addDeclareMethod(e),o["default"].defineComponent(e,null,"run",t)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),o=t(a),u=e(2),i=t(u);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0];return function(t){e=e||t.name;var n=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var u=new(r.apply(t,[null].concat(n)));return o["default"].applyTransformations(t,u,n),o["default"].getFinalComponent(t,u)};if(!(t.$inject instanceof Array)||0===t.$inject.length){var a=o["default"].extractParameters(t);a.length>0&&i["default"](a)(t)}o["default"].addDeclareMethod(t),o["default"].defineComponent(t,e,"service",n)}}Object.defineProperty(exports,"__esModule",{value:!0});var r=Function.prototype.bind;exports["default"]=n;var a=e(1),o=t(a),u=e(2),i=t(u);module.exports=exports["default"]},function(module,exports,e){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?"this":arguments[0],t=arguments.length<=1||void 0===arguments[1]?"":arguments[1];if("string"!=typeof e&&!(e instanceof Object&&"$name"in e))throw Error("the source param of @attach must be a string or an annotated component, "+typeof e+" given");if("string"!=typeof t)throw Error("the path param of @attach must be a string, "+typeof t+" given");return function(n,o,u){if(u instanceof Object&&(void 0!==u.set||void 0!==u.get))throw Error("@attach decorator cannot be applied to an accessor");if(void 0===o)throw Error("@attach decorator can only be applied to methods or attributes");e instanceof Object&&(e=e.$name);var l=i["default"].getIdentifier("$transform");void 0!==n[l]&&n[l]instanceof Array||(n[l]=[]);var f=t.split("."),c=f.pop();"this"===e?(delete u.initializer,delete u.value,a(e,f,c,u)):n[l].push(r(e,f,c,o))}}function r(e,t,n,r){return function(o,u,i){var l=u.$inject||[],f=l.indexOf(e);if(!~f)throw Error("unable to attach the property "+n+", the component "+e+" isn't loaded");var c=Object.getOwnPropertyDescriptor(o,r),s=c.configurable,d=c.enumerable,p={configurable:s,enumerable:d};a(e,t,n,p,i[f]),delete o[r],Object.defineProperty(o,r,p)}}function a(e,t,n,r){var a=arguments.length<=4||void 0===arguments[4]?void 0:arguments[4];r.get=function(){if(void 0===a&&(a=this),!n)return a;var e=o(a,t);return e[n]instanceof Function?e[n].bind(e):e[n]},r.set=function(e){if(void 0===a&&(a=this),!n)return a;var r=o(a,t);r[n]=e}}function o(e){var t=arguments.length<=1||void 0===arguments[1]?[]:arguments[1];if(t.length>0)for(var n=0;n 0 ? args[1].split(',') : [];\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'getUUID',\n\t\t\tvalue: function getUUID() {\n\t\t\t\tvar pattern = arguments.length <= 0 || arguments[0] === undefined ? 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' : arguments[0];\n\t\n\t\t\t\treturn pattern.replace(/[xy]/g, function (c) {\n\t\t\t\t\tvar r = Math.random() * 16 | 0,\n\t\t\t\t\t v = c == 'x' ? r : r & 0x3 | 0x8;\n\t\t\t\t\treturn v.toString(16);\n\t\t\t\t});\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'arrayUnique',\n\t\t\tvalue: function arrayUnique() {\n\t\t\t\tvar arr = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0];\n\t\n\t\t\t\tvar ret = [arr[0]];\n\t\t\t\tfor (var i = 1; i < arr.length; i++) if (arr[i - 1] !== arr[i]) ret.push(arr[i]);\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'getIdentifier',\n\t\t\tvalue: function getIdentifier(key) {\n\t\n\t\t\t\tif (this.identifiers[key] === undefined) this.identifiers[key] = Symbol ? Symbol(key) : this.getUUID();\n\t\n\t\t\t\treturn this.identifiers[key];\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'addDeclareMethod',\n\t\t\tvalue: function addDeclareMethod(target) {\n\t\t\t\tObject.defineProperty(target, 'autodeclare', {\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\tvalue: function value(ngModule) {\n\t\t\t\t\t\tvar _ngModule;\n\t\n\t\t\t\t\t\tvar params = !!this.$name ? [this.$name, this.$component] : [this.$component];\n\t\t\t\t\t\tif (typeof ngModule === 'string') ngModule = angular.module(ngModule);\n\t\t\t\t\t\treturn (_ngModule = ngModule)[this.$type].apply(_ngModule, params);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'applyTransformations',\n\t\t\tvalue: function applyTransformations(component) {\n\t\t\t\tvar instance = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\t\t\tvar injections = arguments.length <= 2 || arguments[2] === undefined ? [] : arguments[2];\n\t\n\t\t\t\tvar $transformKey = this.getIdentifier('$transform'),\n\t\t\t\t transformations = component.prototype[$transformKey] || [];\n\t\t\t\ttransformations.forEach(function (transformation) {\n\t\t\t\t\treturn transformation(instance, component, injections);\n\t\t\t\t});\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'getFinalComponent',\n\t\t\tvalue: function getFinalComponent(target, instance) {\n\t\n\t\t\t\tvar $privateKey = this.getIdentifier('$private'),\n\t\t\t\t privateProperties = target.prototype[$privateKey] || [];\n\t\n\t\t\t\tif (privateProperties.length === 0) return instance;\n\t\n\t\t\t\tprivateProperties.push('constructor');\n\t\t\t\tvar prototypeProperties = Object.getOwnPropertyNames(target.prototype),\n\t\t\t\t instanceProperties = Object.getOwnPropertyNames(instance);\n\t\n\t\t\t\tvar properties = this.arrayUnique(prototypeProperties.concat(instanceProperties)),\n\t\t\t\t publicProperties = properties.filter(function (property) {\n\t\t\t\t\treturn ! ~privateProperties.indexOf(property);\n\t\t\t\t}),\n\t\t\t\t exposed = {};\n\t\n\t\t\t\tpublicProperties.forEach(function (property) {\n\t\t\t\t\tif (instance[property] instanceof Function) {\n\t\t\t\t\t\texposed[property] = function () {\n\t\t\t\t\t\t\treturn instance[property].apply(instance, arguments);\n\t\t\t\t\t\t};\n\t\t\t\t\t\tObject.defineProperties(exposed[property], {\n\t\t\t\t\t\t\tcall: {\n\t\t\t\t\t\t\t\tvalue: function value() {\n\t\t\t\t\t\t\t\t\tfor (var _len = arguments.length, parameters = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t\t\t\t\t\t\t\t\t\tparameters[_key - 1] = arguments[_key];\n\t\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t\tvar scope = arguments.length <= 0 || arguments[0] === undefined ? instance : arguments[0];\n\t\t\t\t\t\t\t\t\treturn instance[property].apply(scope, parameters);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\twritable: false,\n\t\t\t\t\t\t\t\tenumerable: false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tapply: {\n\t\t\t\t\t\t\t\tvalue: function value() {\n\t\t\t\t\t\t\t\t\tvar scope = arguments.length <= 0 || arguments[0] === undefined ? instance : arguments[0];\n\t\t\t\t\t\t\t\t\tvar parameters = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1];\n\t\t\t\t\t\t\t\t\treturn instance[property].apply(scope, parameters);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\twritable: false,\n\t\t\t\t\t\t\t\tenumerable: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else Object.defineProperty(exposed, property, {\n\t\t\t\t\t\tget: function get() {\n\t\t\t\t\t\t\treturn instance[property];\n\t\t\t\t\t\t},\n\t\t\t\t\t\tset: function set(val) {\n\t\t\t\t\t\t\treturn instance[property] = val;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenumerable: false\n\t\t\t\t\t});\n\t\t\t\t});\n\t\n\t\t\t\treturn exposed;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'defineComponent',\n\t\t\tvalue: function defineComponent(target, name, type, component) {\n\t\n\t\t\t\tif (! ~this.angularComponents.indexOf(type)) throw Error('the given type must be a valid angular component');\n\t\n\t\t\t\tObject.defineProperties(target, {\n\t\t\t\t\t'$name': {\n\t\t\t\t\t\tvalue: name !== undefined ? name : target.name,\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t},\n\t\t\t\t\t'$type': {\n\t\t\t\t\t\tvalue: type,\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\twritable: false\n\t\t\t\t\t},\n\t\t\t\t\t'$component': {\n\t\t\t\t\t\tvalue: component,\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\n\t\t\t\tif (target.$component instanceof Object) Object.defineProperty(target.$component, '$inject', {\n\t\t\t\t\tget: function get() {\n\t\t\t\t\t\treturn target.$inject || [];\n\t\t\t\t\t},\n\t\t\t\t\tset: function set(val) {\n\t\t\t\t\t\treturn target.$inject = val;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'regexArgs',\n\t\t\tvalue: /^function\\s*[^\\(]*\\(\\s*([^\\)]*)\\)/m,\n\t\t\tenumerable: true\n\t\t}, {\n\t\t\tkey: 'regexStripComment',\n\t\t\tvalue: /((\\/\\/.*$)|(\\/\\*[\\s\\S]*?\\*\\/))/mg,\n\t\t\tenumerable: true\n\t\t}, {\n\t\t\tkey: 'angularComponents',\n\t\t\tvalue: ['config', 'run', 'value', 'constant', 'animation', 'controller', 'directive', 'factory', 'provider', 'service', 'filter'],\n\t\t\tenumerable: true\n\t\t}, {\n\t\t\tkey: 'identifiers',\n\t\t\tvalue: {},\n\t\t\tenumerable: true\n\t\t}]);\n\t\n\t\treturn NgDecoratorUtils;\n\t})();\n\t\n\texports['default'] = NgDecoratorUtils;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\t/**\r\n\t * @decorator: @inject\r\n\t * @type: function\r\n\t *\r\n\t * replaces the angular dependency injection system\r\n\t *\r\n\t * @param toInject string|Array\r\n\t * @param more (optional) string[]\r\n\t */\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\texports['default'] = inject;\n\t\n\tfunction inject(toInject) {\n\t\n\t\tif (!(toInject instanceof Array)) {\n\t\t\ttoInject = [toInject];\n\t\n\t\t\tfor (var _len = arguments.length, more = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t\t\t\tmore[_key - 1] = arguments[_key];\n\t\t\t}\n\t\n\t\t\tif (more.length > 0) toInject = toInject.concat(more);\n\t\t}\n\t\n\t\ttoInject.forEach(function (component, index) {\n\t\t\tif (component instanceof Object && '$name' in component) toInject[index] = component.$name;\n\t\t});\n\t\n\t\treturn function (target) {\n\t\t\tfor (var _len2 = arguments.length, options = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n\t\t\t\toptions[_key2 - 1] = arguments[_key2];\n\t\t\t}\n\t\n\t\t\tif (options.length > 0) target = options[1].value;\n\t\n\t\t\tObject.defineProperty(target, '$inject', {\n\t\t\t\tvalue: toInject,\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgAnimation;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @animation\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular animation\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgAnimation() {\n\t\tvar name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n\t\n\t\treturn function (target) {\n\t\t\tname = name || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn _srcLibsUtils2['default'].getFinalComponent(target, instance);\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'animation', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgConfig;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @config\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular config\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgConfig() {\n\t\treturn function (target) {\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn instance;\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, null, 'config', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgController;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @controller\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular controller\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgController() {\n\t\tvar name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n\t\n\t\treturn function (target) {\n\t\t\tname = name || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn _srcLibsUtils2['default'].getFinalComponent(target, instance);\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'controller', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgDirective;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @directive\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular directive\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgDirective() {\n\t\tvar name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n\t\n\t\treturn function (target) {\n\t\t\tname = name || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn instance;\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'directive', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgFactory;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @factory\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular factory\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgFactory() {\n\t\tvar name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n\t\n\t\treturn function (target) {\n\t\t\tname = name || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\n\t\t\t\tvar exposed = _srcLibsUtils2['default'].getFinalComponent(target, instance);\n\t\t\t\treturn exposed.$expose instanceof Function ? exposed.$expose() : exposed;\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'factory', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgFilter;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @filter\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular filter\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgFilter() {\n\t\tvar name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n\t\n\t\treturn function (target) {\n\t\t\tname = name || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\n\t\t\t\tif (!(instance.$filter instanceof Function)) throw Error('an annotated \"filter\" must implement the \"$filter\" method');\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\n\t\t\t\tif (instance.$stateful === true) filter.$stateful = true;\n\t\n\t\t\t\treturn filter;\n\t\t\t\tfunction filter() {\n\t\t\t\t\treturn instance.$filter.apply(instance, arguments);\n\t\t\t\t}\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'filter', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgProvider;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @provider\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular provider\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgProvider() {\n\t\tvar name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n\t\n\t\treturn function (target) {\n\t\t\tname = name || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn _srcLibsUtils2['default'].getFinalComponent(target, instance);\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'provider', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgRun;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @run\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular run\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgRun() {\n\t\treturn function (target) {\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn instance;\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, null, 'run', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgService;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @service\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular service\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgService() {\n\t\tvar name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n\t\n\t\treturn function (target) {\n\t\t\tname = name || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn _srcLibsUtils2['default'].getFinalComponent(target, instance);\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(target);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'service', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\texports['default'] = attach;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\t/**\r\n\t * @decorator: @attach\r\n\t * @type: function\r\n\t *\r\n\t * replaces the angular dependency attachion system\r\n\t *\r\n\t * @param source string component name or this\r\n\t * @param path (optional) string path toward the property\r\n\t */\n\t\n\tfunction attach() {\n\t\tvar source = arguments.length <= 0 || arguments[0] === undefined ? 'this' : arguments[0];\n\t\tvar path = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1];\n\t\n\t\tif (typeof source !== 'string' && !(source instanceof Object && '$name' in source)) throw Error('the source param of @attach must be a string or an annotated component, ' + typeof source + ' given');\n\t\n\t\tif (typeof path !== 'string') throw Error('the path param of @attach must be a string, ' + typeof path + ' given');\n\t\n\t\treturn function (prototype, name, descriptor) {\n\t\n\t\t\tif (descriptor instanceof Object && (descriptor.set !== undefined || descriptor.get !== undefined)) throw Error('@attach decorator cannot be applied to an accessor');\n\t\n\t\t\tif (name === undefined) throw Error('@attach decorator can only be applied to methods or attributes');\n\t\n\t\t\tif (source instanceof Object) source = source.$name;\n\t\n\t\t\tvar $transformKey = _srcLibsUtils2['default'].getIdentifier('$transform');\n\t\n\t\t\tif (prototype[$transformKey] === undefined || !(prototype[$transformKey] instanceof Array)) prototype[$transformKey] = [];\n\t\n\t\t\tvar steps = path.split('.'),\n\t\t\t propertyName = steps.pop();\n\t\n\t\t\tif (source === 'this') {\n\t\t\t\tdelete descriptor.initializer;\n\t\t\t\tdelete descriptor.value;\n\t\t\t\tsetDescriptor(source, steps, propertyName, descriptor);\n\t\t\t} else prototype[$transformKey].push(getApplyTransformation(source, steps, propertyName, name));\n\t\t};\n\t}\n\t\n\t/**\r\n\t * @param sourceName String. name of the source component\r\n\t * @param steps Array. path toward the property\r\n\t * @param propertyName String. property name\r\n\t * @param targetName String. name of the target property\r\n\t * @returns {Function}\r\n\t */\n\tfunction getApplyTransformation(sourceName, steps, propertyName, targetName) {\n\t\treturn function attachTransformation(context, component, injections) {\n\t\n\t\t\tvar $inject = component.$inject || [],\n\t\t\t index = $inject.indexOf(sourceName);\n\t\t\tif (! ~index) throw Error('unable to attach the property ' + propertyName + ', the component ' + sourceName + ' isn\\'t loaded');\n\t\n\t\t\tvar _Object$getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor(context, targetName);\n\t\n\t\t\tvar configurable = _Object$getOwnPropertyDescriptor.configurable;\n\t\t\tvar enumerable = _Object$getOwnPropertyDescriptor.enumerable;\n\t\n\t\t\tvar descriptor = { configurable: configurable, enumerable: enumerable };\n\t\t\tsetDescriptor(sourceName, steps, propertyName, descriptor, injections[index]);\n\t\t\tdelete context[targetName];\n\t\t\tObject.defineProperty(context, targetName, descriptor);\n\t\t};\n\t}\n\t\n\t/**\r\n\t * @param source Object. source object\r\n\t * @param steps Array. path toward the property\r\n\t * @param property String. property name\r\n\t * @param descriptor Object. property descriptor\r\n\t * @param context (optional) Object. exec context\r\n\t */\n\tfunction setDescriptor(source, steps, property, descriptor) {\n\t\tvar context = arguments.length <= 4 || arguments[4] === undefined ? undefined : arguments[4];\n\t\n\t\tdescriptor.get = function () {\n\t\t\tif (context === undefined) context = this;\n\t\t\tif (!property) return context;\n\t\t\tvar src = getSrc(context, steps);\n\t\t\treturn src[property] instanceof Function ? src[property].bind(src) : src[property];\n\t\t};\n\t\tdescriptor.set = function (val) {\n\t\t\tif (context === undefined) context = this;\n\t\t\tif (!property) return context;\n\t\t\tvar src = getSrc(context, steps);\n\t\t\tsrc[property] = val;\n\t\t};\n\t}\n\t\n\t/**\r\n\t * @param source Object. source object\r\n\t * @param path Array. path toward the property\r\n\t */\n\tfunction getSrc(source) {\n\t\tvar path = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1];\n\t\n\t\tif (path.length > 0) for (var i = 0; i < path.length; i++) {\n\t\t\tif (!(source instanceof Object)) throw Error('unable to acces to the given property, invalid path');\n\t\t\tsource = source[path[i]];\n\t\t\tif (!source) throw Error('unable to acces to the given property');\n\t\t}\n\t\treturn source;\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 13 */\n/***/ function(module, exports) {\n\n\t/**\r\n\t * @decorator: @autobind\r\n\t * @type: statement\r\n\t *\r\n\t * bind a method to its current context\r\n\t *\r\n\t */\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\texports['default'] = autobind;\n\t\n\tfunction autobind(props, name, descriptor) {\n\t\n\t\tvar fn = descriptor.value;\n\t\n\t\tif (typeof fn !== 'function') throw Error('@autobind decorator can only be applied to methods not: ' + typeof fn);\n\t\treturn {\n\t\t\tconfigurable: true,\n\t\t\tget: function get() {\n\t\t\t\tvar boundFn = fn.bind(this);\n\t\t\t\tObject.defineProperty(this, name, {\n\t\t\t\t\tvalue: boundFn,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true\n\t\t\t\t});\n\t\t\t\treturn boundFn;\n\t\t\t}\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\texports['default'] = conceal;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\t/**\r\n\t * @decorator: @isolate\r\n\t * @type: statement\r\n\t */\n\t\n\tfunction conceal(prototype, name, descriptor) {\n\t\n\t\tif (name === undefined) throw Error('@isolate decorator can only be applied to methods or attributes');\n\t\n\t\tif (descriptor !== undefined) descriptor.writable = true;\n\t\n\t\tvar $private = _srcLibsUtils2['default'].getIdentifier('$private');\n\t\n\t\tif (prototype[$private] === undefined || !(prototype[$private] instanceof Array)) prototype[$private] = [];\n\t\n\t\tprototype[$private].push(name);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t value: true\n\t});\n\texports['default'] = NgConstant;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\t/**\r\n\t * @name: @constant\r\n\t *\r\n\t * declares a new angular constant\r\n\t *\r\n\t * @param name constant name\r\n\t * @param value value name\r\n\t *\r\n\t * @returns {Object}\r\n\t */\n\t\n\tfunction NgConstant(name, value) {\n\t var component = {};\n\t _srcLibsUtils2['default'].addDeclareMethod(component);\n\t _srcLibsUtils2['default'].defineComponent(component, name, 'constant', value);\n\t return component;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t value: true\n\t});\n\texports['default'] = NgValue;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\t/**\r\n\t * @name: @value\r\n\t *\r\n\t * declares a new angular value\r\n\t *\r\n\t * @param name value name\r\n\t * @param value value name\r\n\t *\r\n\t * @returns {Object}\r\n\t */\n\t\n\tfunction NgValue(name, value) {\n\t var component = {};\n\t _srcLibsUtils2['default'].addDeclareMethod(component);\n\t _srcLibsUtils2['default'].defineComponent(component, name, 'value', value);\n\t return component;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ }\n/******/ ]);\n\n\n/** WEBPACK FOOTER **\n ** ng-annotations.js\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\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\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.loaded = 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// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap b6188a526f604d25a470\n **/","var NgAnnotations = {};\r\n\r\n// components\r\nNgAnnotations.controller = require('src/decorators/components/controller');\r\nNgAnnotations.service = require('src/decorators/components/service');\r\nNgAnnotations.animation = require('src/decorators/components/animation');\r\nNgAnnotations.config = require('src/decorators/components/config');\r\nNgAnnotations.directive = require('src/decorators/components/directive');\r\nNgAnnotations.factory = require('src/decorators/components/factory');\r\nNgAnnotations.filter = require('src/decorators/components/filter');\r\nNgAnnotations.provider = require('src/decorators/components/provider');\r\nNgAnnotations.run = require('src/decorators/components/run');\r\n\r\n// wrappers\r\nNgAnnotations.constant = require('src/wrappers/constant');\r\nNgAnnotations.value = require('src/wrappers/value');\r\n\r\n// utils\r\nNgAnnotations.inject = require('src/decorators/utils/inject');\r\nNgAnnotations.autobind = require('src/decorators/utils/autobind');\r\nNgAnnotations.attach = require('src/decorators/utils/attach');\r\nNgAnnotations.conceal = require('src/decorators/utils/conceal');\r\n\r\nexport default window.ngAnnotations = NgAnnotations;\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/app.js\n **/","export default class NgDecoratorUtils {\r\n\r\n\tstatic regexArgs = /^function\\s*[^\\(]*\\(\\s*([^\\)]*)\\)/m;\r\n\tstatic regexStripComment = /((\\/\\/.*$)|(\\/\\*[\\s\\S]*?\\*\\/))/mg;\r\n\tstatic angularComponents = ['config', 'run', 'value', 'constant', 'animation', 'controller', 'directive', 'factory', 'provider', 'service', 'filter'];\r\n\tstatic identifiers = {};\r\n\r\n\tstatic extractParameters(fn) {\r\n\t\tvar fnText = fn.toString().replace(this.regexStripComment, ''),\r\n\t\targs = fnText.match(this.regexArgs);\r\n\t\treturn args && args[1].length > 0 ? args[1].split(',') : [];\r\n\t}\r\n\r\n\tstatic getUUID(pattern = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx') {\r\n\t\treturn pattern.replace(/[xy]/g, function(c) {\r\n\t\t\tvar r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n\t\t\treturn v.toString(16);\r\n\t\t});\r\n\t}\r\n\r\n\tstatic arrayUnique(arr = []) {\r\n\t\tvar ret = [arr[0]];\r\n\t\tfor(var i = 1; i < arr.length; i++)\r\n\t\t\tif(arr[i - 1] !== arr[i])\r\n\t\t\t\tret.push(arr[i]);\r\n\t\treturn ret;\r\n\t}\r\n\r\n\tstatic getIdentifier(key) {\r\n\r\n\t\tif(this.identifiers[key] === undefined)\r\n\t\t\tthis.identifiers[key] = Symbol ? Symbol(key) : this.getUUID();\r\n\r\n\t\treturn this.identifiers[key];\r\n\t}\r\n\r\n\tstatic addDeclareMethod(target) {\r\n\t\tObject.defineProperty(target, 'autodeclare', {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: false,\r\n\t\t\tvalue: function(ngModule) {\r\n\t\t\t\tlet params = !!this.$name ? [this.$name, this.$component] : [this.$component];\r\n\t\t\t\tif(typeof ngModule === 'string')\r\n\t\t\t\t\tngModule = angular.module(ngModule);\r\n\t\t\t\treturn ngModule[this.$type](...params);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tstatic applyTransformations(component, instance = {}, injections = []) {\r\n\t\tlet $transformKey = this.getIdentifier('$transform'),\r\n\t\ttransformations = component.prototype[$transformKey] || [];\r\n\t\ttransformations.forEach(transformation => transformation(instance, component, injections));\r\n\t}\r\n\r\n\tstatic getFinalComponent(target, instance) {\r\n\r\n\t\tlet $privateKey = this.getIdentifier('$private'),\r\n\t\tprivateProperties = target.prototype[$privateKey] || [];\r\n\r\n\t\tif(privateProperties.length === 0)\r\n\t\t\treturn instance;\r\n\r\n\t\tprivateProperties.push('constructor');\r\n\t\tlet prototypeProperties = Object.getOwnPropertyNames(target.prototype),\r\n\t\tinstanceProperties = Object.getOwnPropertyNames(instance);\r\n\r\n\t\tlet properties = this.arrayUnique(prototypeProperties.concat(instanceProperties)),\r\n\t\tpublicProperties = properties.filter(property => !~privateProperties.indexOf(property)),\r\n\t\texposed = {};\r\n\r\n\t\tpublicProperties.forEach(property => {\r\n\t\t\tif(instance[property] instanceof Function) {\r\n\t\t\t\texposed[property] = (...parameters) => instance[property](...parameters);\r\n\t\t\t\tObject.defineProperties(exposed[property], {\r\n\t\t\t\t\tcall: {\r\n\t\t\t\t\t\tvalue: (scope = instance, ...parameters) => instance[property].apply(scope, parameters),\r\n\t\t\t\t\t\twritable: false,\r\n\t\t\t\t\t\tenumerable: false\r\n\t\t\t\t\t},\r\n\t\t\t\t\tapply: {\r\n\t\t\t\t\t\tvalue: (scope = instance, parameters = []) => instance[property].apply(scope, parameters),\r\n\t\t\t\t\t\twritable: false,\r\n\t\t\t\t\t\tenumerable: false\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t\tObject.defineProperty(exposed, property, {\r\n\t\t\t\t\tget: () => instance[property],\r\n\t\t\t\t\tset: (val) => instance[property] = val,\r\n\t\t\t\t\tenumerable: false\r\n\t\t\t\t});\r\n\t\t});\r\n\r\n\t\treturn exposed;\r\n\t}\r\n\r\n\tstatic defineComponent(target, name, type, component) {\r\n\r\n\t\tif(!~this.angularComponents.indexOf(type))\r\n\t\t\tthrow Error('the given type must be a valid angular component')\r\n\r\n\t\tObject.defineProperties(target, {\r\n\t\t\t'$name': {\r\n\t\t\t\tvalue: name !== undefined ? name : target.name,\r\n\t\t\t\tenumerable: true,\r\n\t\t\t\tconfigurable: true\r\n\t\t\t},\r\n\t\t\t'$type': {\r\n\t\t\t\tvalue: type,\r\n\t\t\t\tenumerable: true,\r\n\t\t\t\twritable: false\r\n\t\t\t},\r\n\t\t\t'$component': {\r\n\t\t\t\tvalue: component,\r\n\t\t\t\tenumerable: true,\r\n\t\t\t\tconfigurable: true\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif(target.$component instanceof Object)\r\n\t\t\tObject.defineProperty(target.$component, '$inject', {\r\n\t\t\t\tget: () => target.$inject || [],\r\n\t\t\t\tset: (val) => target.$inject = val\r\n\t\t\t});\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/libs/utils.js\n **/","/**\r\n * @decorator: @inject\r\n * @type: function\r\n *\r\n * replaces the angular dependency injection system\r\n *\r\n * @param toInject string|Array\r\n * @param more (optional) string[]\r\n */\r\nexport default function inject(toInject, ...more) {\r\n\r\n\tif(!(toInject instanceof Array)) {\r\n\t\ttoInject = [toInject];\r\n\t\tif(more.length > 0)\r\n\t\t\ttoInject = toInject.concat(more);\r\n\t}\r\n\r\n\ttoInject.forEach((component, index) => {\r\n\t\tif(component instanceof Object && '$name' in component)\r\n\t\t\ttoInject[index] = component.$name;\r\n\t});\r\n\r\n\treturn (target, ...options) => {\r\n\r\n\t\tif(options.length > 0)\r\n\t\t\ttarget = options[1].value;\r\n\r\n\t\tObject.defineProperty(target, '$inject', {\r\n\t\t\tvalue: toInject,\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: true\r\n\t\t});\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/utils/inject.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @animation\r\n * @type: function\r\n *\r\n * declares a new angular animation\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgAnimation(name = '') {\r\n\treturn (target) => {\r\n\t\tname = name || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return utils.getFinalComponent(target, instance);\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'animation', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/animation.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @config\r\n * @type: function\r\n *\r\n * declares a new angular config\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgConfig() {\r\n\treturn (target) => {\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return instance;\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, null, 'config', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/config.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @controller\r\n * @type: function\r\n *\r\n * declares a new angular controller\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgController(name = '') {\r\n\treturn (target) => {\r\n\t\tname = name || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return utils.getFinalComponent(target, instance);\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'controller', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/controller.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @directive\r\n * @type: function\r\n *\r\n * declares a new angular directive\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgDirective(name = '') {\r\n\treturn (target) => {\r\n\t\tname = name || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return instance;\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'directive', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/directive.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @factory\r\n * @type: function\r\n *\r\n * declares a new angular factory\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgFactory(name = '') {\r\n\treturn (target) => {\r\n\t\tname = name || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n\r\n let exposed = utils.getFinalComponent(target, instance);\r\n return exposed.$expose instanceof Function ? exposed.$expose() : exposed;\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'factory', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/factory.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @filter\r\n * @type: function\r\n *\r\n * declares a new angular filter\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgFilter(name = '') {\r\n\treturn (target) => {\r\n\t\tname = name || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n let instance = new target(...injections);\r\n\r\n\t\t\tif(!(instance.$filter instanceof Function))\r\n\t\t\t\tthrow Error('an annotated \"filter\" must implement the \"$filter\" method');\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n\r\n\t\t\tif(instance.$stateful === true)\r\n\t\t\t\tfilter.$stateful = true;\r\n\r\n\t\t\treturn filter;\r\n\t\t\tfunction filter(...parameters) {\r\n\t\t\t return instance.$filter(...parameters);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'filter', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/filter.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @provider\r\n * @type: function\r\n *\r\n * declares a new angular provider\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgProvider(name = '') {\r\n\treturn (target) => {\r\n\t\tname = name || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return utils.getFinalComponent(target, instance);\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'provider', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/provider.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @run\r\n * @type: function\r\n *\r\n * declares a new angular run\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgRun() {\r\n\treturn (target) => {\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return instance;\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, null, 'run', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/run.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @service\r\n * @type: function\r\n *\r\n * declares a new angular service\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgService(name = '') {\r\n\treturn (target) => {\r\n\t\tname = name || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return utils.getFinalComponent(target, instance);\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(target);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'service', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/service.js\n **/","import utils from 'src/libs/utils';\r\n\r\n/**\r\n * @decorator: @attach\r\n * @type: function\r\n *\r\n * replaces the angular dependency attachion system\r\n *\r\n * @param source string component name or this\r\n * @param path (optional) string path toward the property\r\n */\r\nexport default function attach(source = 'this', path = '') {\r\n\r\n\tif(typeof source !== 'string'\r\n\t&& !(source instanceof Object && '$name' in source))\r\n\t\tthrow Error(`the source param of @attach must be a string or an annotated component, ${typeof source} given`)\r\n\r\n\tif(typeof path !== 'string')\r\n\t\tthrow Error(`the path param of @attach must be a string, ${typeof path} given`)\r\n\r\n\treturn (prototype, name, descriptor) => {\r\n\r\n\t\tif(descriptor instanceof Object\r\n\t\t&& (descriptor.set !== undefined || descriptor.get !== undefined))\r\n\t\t\tthrow Error(`@attach decorator cannot be applied to an accessor`);\r\n\r\n\t\tif(name === undefined)\r\n\t\t\tthrow Error(`@attach decorator can only be applied to methods or attributes`);\r\n\r\n\t\tif(source instanceof Object)\r\n\t\t\tsource = source.$name;\r\n\r\n\t\tlet $transformKey = utils.getIdentifier('$transform');\r\n\r\n\t\tif(prototype[$transformKey] === undefined\r\n\t\t|| !(prototype[$transformKey] instanceof Array))\r\n\t\t\tprototype[$transformKey] = [];\r\n\r\n\t\tlet steps = path.split('.'),\r\n\t\t\tpropertyName = steps.pop();\r\n\r\n\t\tif(source === 'this') {\r\n\t\t\tdelete descriptor.initializer;\r\n\t\t\tdelete descriptor.value;\r\n\t\t\tsetDescriptor(source,steps,propertyName,descriptor);\r\n\t\t}\r\n\t\telse\r\n\t\t\tprototype[$transformKey].push(getApplyTransformation(source,steps,propertyName,name));\r\n\t}\r\n}\r\n\r\n/**\r\n * @param sourceName String. name of the source component\r\n * @param steps Array. path toward the property\r\n * @param propertyName String. property name\r\n * @param targetName String. name of the target property\r\n * @returns {Function}\r\n */\r\nfunction getApplyTransformation(sourceName, steps, propertyName, targetName) {\r\n\treturn function attachTransformation(context, component, injections) {\r\n\r\n\t\tlet $inject = component.$inject || [],\r\n\t\t\tindex = $inject.indexOf(sourceName);\r\n\t\tif(!~index)\r\n\t\t\tthrow Error(`unable to attach the property ${propertyName}, the component ${sourceName} isn't loaded`)\r\n\r\n\t\tlet {configurable, enumerable} = Object.getOwnPropertyDescriptor(context, targetName);\r\n\t\tlet descriptor = {configurable, enumerable};\r\n\t\tsetDescriptor(sourceName, steps, propertyName, descriptor, injections[index]);\r\n\t\tdelete context[targetName];\r\n\t\tObject.defineProperty(context, targetName, descriptor);\r\n\t}\r\n}\r\n\r\n/**\r\n * @param source Object. source object\r\n * @param steps Array. path toward the property\r\n * @param property String. property name\r\n * @param descriptor Object. property descriptor\r\n * @param context (optional) Object. exec context\r\n */\r\nfunction setDescriptor(source, steps, property, descriptor, context = undefined) {\r\n\tdescriptor.get = function() {\r\n\t\tif(context === undefined)\r\n\t\t\tcontext = this;\r\n\t\tif(!property)\r\n\t\t\treturn context;\r\n\t\tlet src = getSrc(context, steps);\r\n\t\treturn src[property] instanceof Function ? src[property].bind(src) : src[property];\r\n\t};\r\n\tdescriptor.set = function(val) {\r\n\t\tif(context === undefined)\r\n\t\t\tcontext = this;\r\n\t\tif(!property)\r\n\t\t\treturn context;\r\n\t\tlet src = getSrc(context, steps);\r\n\t\tsrc[property] = val;\r\n\t};\r\n}\r\n\r\n\r\n/**\r\n * @param source Object. source object\r\n * @param path Array. path toward the property\r\n */\r\nfunction getSrc(source, path = []) {\r\n\tif(path.length > 0)\r\n\t\tfor(var i=0; i 0 ? args[1].split(',') : [];\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'getUUID',\n\t\t\tvalue: function getUUID() {\n\t\t\t\tvar pattern = arguments.length <= 0 || arguments[0] === undefined ? 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' : arguments[0];\n\t\n\t\t\t\treturn pattern.replace(/[xy]/g, function (c) {\n\t\t\t\t\tvar r = Math.random() * 16 | 0,\n\t\t\t\t\t v = c == 'x' ? r : r & 0x3 | 0x8;\n\t\t\t\t\treturn v.toString(16);\n\t\t\t\t});\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'arrayUnique',\n\t\t\tvalue: function arrayUnique() {\n\t\t\t\tvar arr = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0];\n\t\n\t\t\t\tvar ret = [arr[0]];\n\t\t\t\tfor (var i = 1; i < arr.length; i++) if (arr[i - 1] !== arr[i]) ret.push(arr[i]);\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'getIdentifier',\n\t\t\tvalue: function getIdentifier(key) {\n\t\n\t\t\t\tif (this.identifiers[key] === undefined) this.identifiers[key] = Symbol ? Symbol(key) : this.getUUID();\n\t\n\t\t\t\treturn this.identifiers[key];\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'addDeclareMethod',\n\t\t\tvalue: function addDeclareMethod(target) {\n\t\t\t\tObject.defineProperty(target, 'autodeclare', {\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\tvalue: function value(ngModule) {\n\t\t\t\t\t\tvar _ngModule;\n\t\n\t\t\t\t\t\tvar params = !!this.$name ? [this.$name, this.$component] : [this.$component];\n\t\t\t\t\t\tif (typeof ngModule === 'string') ngModule = angular.module(ngModule);\n\t\t\t\t\t\treturn (_ngModule = ngModule)[this.$type].apply(_ngModule, params);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'applyTransformations',\n\t\t\tvalue: function applyTransformations(component) {\n\t\t\t\tvar instance = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\t\t\tvar injections = arguments.length <= 2 || arguments[2] === undefined ? [] : arguments[2];\n\t\n\t\t\t\tvar $transformKey = this.getIdentifier('$transform'),\n\t\t\t\t transformations = component.prototype[$transformKey] || [];\n\t\t\t\ttransformations.forEach(function (transformation) {\n\t\t\t\t\treturn transformation(instance, component, injections);\n\t\t\t\t});\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'getFinalComponent',\n\t\t\tvalue: function getFinalComponent(target, instance) {\n\t\n\t\t\t\tvar $privateKey = this.getIdentifier('$private'),\n\t\t\t\t privateProperties = target.prototype[$privateKey] || [];\n\t\n\t\t\t\tif (privateProperties.length === 0) return instance;\n\t\n\t\t\t\tprivateProperties.push('constructor');\n\t\t\t\tvar prototypeProperties = Object.getOwnPropertyNames(target.prototype),\n\t\t\t\t instanceProperties = Object.getOwnPropertyNames(instance);\n\t\n\t\t\t\tvar properties = this.arrayUnique(prototypeProperties.concat(instanceProperties)),\n\t\t\t\t publicProperties = properties.filter(function (property) {\n\t\t\t\t\treturn ! ~privateProperties.indexOf(property);\n\t\t\t\t}),\n\t\t\t\t exposed = {};\n\t\n\t\t\t\tpublicProperties.forEach(function (property) {\n\t\t\t\t\tif (instance[property] instanceof Function) {\n\t\t\t\t\t\texposed[property] = function () {\n\t\t\t\t\t\t\treturn instance[property].apply(instance, arguments);\n\t\t\t\t\t\t};\n\t\t\t\t\t\tObject.defineProperties(exposed[property], {\n\t\t\t\t\t\t\tcall: {\n\t\t\t\t\t\t\t\tvalue: function value() {\n\t\t\t\t\t\t\t\t\tfor (var _len = arguments.length, parameters = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t\t\t\t\t\t\t\t\t\tparameters[_key - 1] = arguments[_key];\n\t\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t\tvar scope = arguments.length <= 0 || arguments[0] === undefined ? instance : arguments[0];\n\t\t\t\t\t\t\t\t\treturn instance[property].apply(scope, parameters);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\twritable: false,\n\t\t\t\t\t\t\t\tenumerable: false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tapply: {\n\t\t\t\t\t\t\t\tvalue: function value() {\n\t\t\t\t\t\t\t\t\tvar scope = arguments.length <= 0 || arguments[0] === undefined ? instance : arguments[0];\n\t\t\t\t\t\t\t\t\tvar parameters = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1];\n\t\t\t\t\t\t\t\t\treturn instance[property].apply(scope, parameters);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\twritable: false,\n\t\t\t\t\t\t\t\tenumerable: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else Object.defineProperty(exposed, property, {\n\t\t\t\t\t\tget: function get() {\n\t\t\t\t\t\t\treturn instance[property];\n\t\t\t\t\t\t},\n\t\t\t\t\t\tset: function set(val) {\n\t\t\t\t\t\t\treturn instance[property] = val;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenumerable: false\n\t\t\t\t\t});\n\t\t\t\t});\n\t\n\t\t\t\treturn exposed;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'defineComponent',\n\t\t\tvalue: function defineComponent(target, name, type, component) {\n\t\n\t\t\t\tif (! ~this.angularComponents.indexOf(type)) throw Error('the given type must be a valid angular component');\n\t\n\t\t\t\tObject.defineProperties(target, {\n\t\t\t\t\t'$name': {\n\t\t\t\t\t\tvalue: name !== undefined ? name : target.name,\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t},\n\t\t\t\t\t'$type': {\n\t\t\t\t\t\tvalue: type,\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\twritable: false\n\t\t\t\t\t},\n\t\t\t\t\t'$component': {\n\t\t\t\t\t\tvalue: component,\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\n\t\t\t\tif (target.$component instanceof Object) Object.defineProperty(target.$component, '$inject', {\n\t\t\t\t\tget: function get() {\n\t\t\t\t\t\treturn target.$inject || [];\n\t\t\t\t\t},\n\t\t\t\t\tset: function set(val) {\n\t\t\t\t\t\treturn target.$inject = val;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'regexArgs',\n\t\t\tvalue: /^function\\s*[^\\(]*\\(\\s*([^\\)]*)\\)/m,\n\t\t\tenumerable: true\n\t\t}, {\n\t\t\tkey: 'regexStripComment',\n\t\t\tvalue: /((\\/\\/.*$)|(\\/\\*[\\s\\S]*?\\*\\/))/mg,\n\t\t\tenumerable: true\n\t\t}, {\n\t\t\tkey: 'angularComponents',\n\t\t\tvalue: ['config', 'run', 'value', 'constant', 'animation', 'controller', 'directive', 'factory', 'provider', 'service', 'filter'],\n\t\t\tenumerable: true\n\t\t}, {\n\t\t\tkey: 'identifiers',\n\t\t\tvalue: {},\n\t\t\tenumerable: true\n\t\t}]);\n\t\n\t\treturn NgDecoratorUtils;\n\t})();\n\t\n\texports['default'] = NgDecoratorUtils;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\t/**\r\n\t * @decorator: @inject\r\n\t * @type: function\r\n\t *\r\n\t * replaces the angular dependency injection system\r\n\t *\r\n\t * @param toInject string|Array\r\n\t * @param more (optional) string[]\r\n\t */\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\texports['default'] = inject;\n\t\n\tfunction inject(toInject) {\n\t\n\t\tif (!(toInject instanceof Array)) {\n\t\t\ttoInject = [toInject];\n\t\n\t\t\tfor (var _len = arguments.length, more = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t\t\t\tmore[_key - 1] = arguments[_key];\n\t\t\t}\n\t\n\t\t\tif (more.length > 0) toInject = toInject.concat(more);\n\t\t}\n\t\n\t\ttoInject.forEach(function (component, index) {\n\t\t\tif (component instanceof Object && '$name' in component) toInject[index] = component.$name;\n\t\t});\n\t\n\t\treturn function (target) {\n\t\t\tfor (var _len2 = arguments.length, options = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n\t\t\t\toptions[_key2 - 1] = arguments[_key2];\n\t\t\t}\n\t\n\t\t\tif (options.length > 0) target = options[1].value;\n\t\n\t\t\tObject.defineProperty(target, '$inject', {\n\t\t\t\tvalue: toInject,\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgAnimation;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @animation\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular animation\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgAnimation() {\n\t\tvar name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n\t\n\t\treturn function (target) {\n\t\t\tname = name || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn _srcLibsUtils2['default'].getFinalComponent(target, instance);\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'animation', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgConfig;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @config\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular config\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgConfig() {\n\t\treturn function (target) {\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn instance;\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, null, 'config', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgController;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @controller\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular controller\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgController() {\n\t\tvar name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n\t\n\t\treturn function (target) {\n\t\t\tname = name || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn _srcLibsUtils2['default'].getFinalComponent(target, instance);\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'controller', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgDirective;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @directive\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular directive\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgDirective() {\n\t\tvar name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n\t\n\t\treturn function (target) {\n\t\t\tname = name || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn instance;\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'directive', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgFactory;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @factory\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular factory\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgFactory() {\n\t\tvar name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n\t\n\t\treturn function (target) {\n\t\t\tname = name || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\n\t\t\t\tvar exposed = _srcLibsUtils2['default'].getFinalComponent(target, instance);\n\t\t\t\treturn exposed.$expose instanceof Function ? exposed.$expose() : exposed;\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'factory', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgFilter;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @filter\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular filter\r\n\t *\r\n\t * @param filterProps (optional) filter properties containing name and the stateful attribute\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgFilter() {\n\t\tvar filterProps = arguments.length <= 0 || arguments[0] === undefined ? { name: '', stateful: false } : arguments[0];\n\t\n\t\treturn function (target) {\n\t\n\t\t\tvar name = '',\n\t\t\t stateful = false;\n\t\t\tif (filterProps instanceof Object) {\n\t\t\t\tname = filterProps.name || target.name;\n\t\t\t\tstateful = !!filterProps.stateful;\n\t\t\t} else name = filterProps || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\n\t\t\t\tif (!(instance.$filter instanceof Function)) throw Error('an annotated \"filter\" must implement the \"$filter\" method');\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\n\t\t\t\t//@todo remove it in the next version\n\t\t\t\tif (instance.$stateful === true) {\n\t\t\t\t\tconsole.warn('the $stateful property is deprecated and will be removed in the next versions, use the @filter parameter instead');\n\t\t\t\t\tconsole.warn('https://github.com/PillowPillow/ng-annotations#d_filter');\n\t\t\t\t\tfilter.$stateful = true;\n\t\t\t\t}\n\t\n\t\t\t\tif (stateful) filter.$stateful = stateful;\n\t\n\t\t\t\treturn filter;\n\t\t\t\tfunction filter() {\n\t\t\t\t\treturn instance.$filter.apply(instance, arguments);\n\t\t\t\t}\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'filter', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgProvider;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @provider\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular provider\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgProvider() {\n\t\tvar name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n\t\n\t\treturn function (target) {\n\t\t\tname = name || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn _srcLibsUtils2['default'].getFinalComponent(target, instance);\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'provider', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgRun;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @run\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular run\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgRun() {\n\t\treturn function (target) {\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn instance;\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(component);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, null, 'run', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\tvar _bind = Function.prototype.bind;\n\texports['default'] = NgService;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\tvar _srcDecoratorsUtilsInject = __webpack_require__(2);\n\t\n\tvar _srcDecoratorsUtilsInject2 = _interopRequireDefault(_srcDecoratorsUtilsInject);\n\t\n\t/**\r\n\t * @decorator: @service\r\n\t * @type: function\r\n\t *\r\n\t * declares a new angular service\r\n\t *\r\n\t * @param name (optional) replaces the class name\r\n\t *\r\n\t * @returns {Function}\r\n\t */\n\t\n\tfunction NgService() {\n\t\tvar name = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n\t\n\t\treturn function (target) {\n\t\t\tname = name || target.name;\n\t\n\t\t\tvar component = function component() {\n\t\t\t\tfor (var _len = arguments.length, injections = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\t\tinjections[_key] = arguments[_key];\n\t\t\t\t}\n\t\n\t\t\t\tvar instance = new (_bind.apply(target, [null].concat(injections)))();\n\t\t\t\t_srcLibsUtils2['default'].applyTransformations(target, instance, injections);\n\t\t\t\treturn _srcLibsUtils2['default'].getFinalComponent(target, instance);\n\t\t\t};\n\t\n\t\t\tif (!(target.$inject instanceof Array) || target.$inject.length === 0) {\n\t\t\t\tvar parameters = _srcLibsUtils2['default'].extractParameters(target);\n\t\t\t\tif (parameters.length > 0) (0, _srcDecoratorsUtilsInject2['default'])(parameters)(target);\n\t\t\t}\n\t\n\t\t\t_srcLibsUtils2['default'].addDeclareMethod(target);\n\t\t\t_srcLibsUtils2['default'].defineComponent(target, name, 'service', component);\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\texports['default'] = attach;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\t/**\r\n\t * @decorator: @attach\r\n\t * @type: function\r\n\t *\r\n\t * replaces the angular dependency attachion system\r\n\t *\r\n\t * @param source string component name or this\r\n\t * @param path (optional) string path toward the property\r\n\t */\n\t\n\tfunction attach() {\n\t\tvar source = arguments.length <= 0 || arguments[0] === undefined ? 'this' : arguments[0];\n\t\tvar path = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1];\n\t\n\t\tif (typeof source !== 'string' && !(source instanceof Object && '$name' in source)) throw Error('the source param of @attach must be a string or an annotated component, ' + typeof source + ' given');\n\t\n\t\tif (typeof path !== 'string') throw Error('the path param of @attach must be a string, ' + typeof path + ' given');\n\t\n\t\treturn function (prototype, name, descriptor) {\n\t\n\t\t\tif (descriptor instanceof Object && (descriptor.set !== undefined || descriptor.get !== undefined)) throw Error('@attach decorator cannot be applied to an accessor');\n\t\n\t\t\tif (name === undefined) throw Error('@attach decorator can only be applied to methods or attributes');\n\t\n\t\t\tif (source instanceof Object) source = source.$name;\n\t\n\t\t\tvar $transformKey = _srcLibsUtils2['default'].getIdentifier('$transform');\n\t\n\t\t\tif (prototype[$transformKey] === undefined || !(prototype[$transformKey] instanceof Array)) prototype[$transformKey] = [];\n\t\n\t\t\tvar steps = path.split('.'),\n\t\t\t propertyName = steps.pop();\n\t\n\t\t\tif (source === 'this') {\n\t\t\t\tdelete descriptor.initializer;\n\t\t\t\tdelete descriptor.value;\n\t\t\t\tsetDescriptor(source, steps, propertyName, descriptor);\n\t\t\t} else prototype[$transformKey].push(getApplyTransformation(source, steps, propertyName, name));\n\t\t};\n\t}\n\t\n\t/**\r\n\t * @param sourceName String. name of the source component\r\n\t * @param steps Array. path toward the property\r\n\t * @param propertyName String. property name\r\n\t * @param targetName String. name of the target property\r\n\t * @returns {Function}\r\n\t */\n\tfunction getApplyTransformation(sourceName, steps, propertyName, targetName) {\n\t\treturn function attachTransformation(context, component, injections) {\n\t\n\t\t\tvar $inject = component.$inject || [],\n\t\t\t index = $inject.indexOf(sourceName);\n\t\t\tif (! ~index) throw Error('unable to attach the property ' + propertyName + ', the component ' + sourceName + ' isn\\'t loaded');\n\t\n\t\t\tvar _Object$getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor(context, targetName);\n\t\n\t\t\tvar configurable = _Object$getOwnPropertyDescriptor.configurable;\n\t\t\tvar enumerable = _Object$getOwnPropertyDescriptor.enumerable;\n\t\n\t\t\tvar descriptor = { configurable: configurable, enumerable: enumerable };\n\t\t\tsetDescriptor(sourceName, steps, propertyName, descriptor, injections[index]);\n\t\t\tdelete context[targetName];\n\t\t\tObject.defineProperty(context, targetName, descriptor);\n\t\t};\n\t}\n\t\n\t/**\r\n\t * @param source Object. source object\r\n\t * @param steps Array. path toward the property\r\n\t * @param property String. property name\r\n\t * @param descriptor Object. property descriptor\r\n\t * @param context (optional) Object. exec context\r\n\t */\n\tfunction setDescriptor(source, steps, property, descriptor) {\n\t\tvar context = arguments.length <= 4 || arguments[4] === undefined ? undefined : arguments[4];\n\t\n\t\tdescriptor.get = function () {\n\t\t\tif (context === undefined) context = this;\n\t\t\tif (!property) return context;\n\t\t\tvar src = getSrc(context, steps);\n\t\t\treturn src[property] instanceof Function ? src[property].bind(src) : src[property];\n\t\t};\n\t\tdescriptor.set = function (val) {\n\t\t\tif (context === undefined) context = this;\n\t\t\tif (!property) return context;\n\t\t\tvar src = getSrc(context, steps);\n\t\t\tsrc[property] = val;\n\t\t};\n\t}\n\t\n\t/**\r\n\t * @param source Object. source object\r\n\t * @param path Array. path toward the property\r\n\t */\n\tfunction getSrc(source) {\n\t\tvar path = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1];\n\t\n\t\tif (path.length > 0) for (var i = 0; i < path.length; i++) {\n\t\t\tif (!(source instanceof Object)) throw Error('unable to acces to the given property, invalid path');\n\t\t\tsource = source[path[i]];\n\t\t\tif (!source) throw Error('unable to acces to the given property');\n\t\t}\n\t\treturn source;\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 13 */\n/***/ function(module, exports) {\n\n\t/**\r\n\t * @decorator: @autobind\r\n\t * @type: statement\r\n\t *\r\n\t * bind a method to its current context\r\n\t *\r\n\t */\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\texports['default'] = autobind;\n\t\n\tfunction autobind(props, name, descriptor) {\n\t\n\t\tvar fn = descriptor.value;\n\t\n\t\tif (typeof fn !== 'function') throw Error('@autobind decorator can only be applied to methods not: ' + typeof fn);\n\t\treturn {\n\t\t\tconfigurable: true,\n\t\t\tget: function get() {\n\t\t\t\tvar boundFn = fn.bind(this);\n\t\t\t\tObject.defineProperty(this, name, {\n\t\t\t\t\tvalue: boundFn,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true\n\t\t\t\t});\n\t\t\t\treturn boundFn;\n\t\t\t}\n\t\t};\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t\tvalue: true\n\t});\n\texports['default'] = conceal;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\t/**\r\n\t * @decorator: @isolate\r\n\t * @type: statement\r\n\t */\n\t\n\tfunction conceal(prototype, name, descriptor) {\n\t\n\t\tif (name === undefined) throw Error('@isolate decorator can only be applied to methods or attributes');\n\t\n\t\tif (descriptor !== undefined) descriptor.writable = true;\n\t\n\t\tvar $private = _srcLibsUtils2['default'].getIdentifier('$private');\n\t\n\t\tif (prototype[$private] === undefined || !(prototype[$private] instanceof Array)) prototype[$private] = [];\n\t\n\t\tprototype[$private].push(name);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t value: true\n\t});\n\texports['default'] = NgConstant;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\t/**\r\n\t * @name: @constant\r\n\t *\r\n\t * declares a new angular constant\r\n\t *\r\n\t * @param name constant name\r\n\t * @param value value name\r\n\t *\r\n\t * @returns {Object}\r\n\t */\n\t\n\tfunction NgConstant(name, value) {\n\t var component = {};\n\t _srcLibsUtils2['default'].addDeclareMethod(component);\n\t _srcLibsUtils2['default'].defineComponent(component, name, 'constant', value);\n\t return component;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t value: true\n\t});\n\texports['default'] = NgValue;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _srcLibsUtils = __webpack_require__(1);\n\t\n\tvar _srcLibsUtils2 = _interopRequireDefault(_srcLibsUtils);\n\t\n\t/**\r\n\t * @name: @value\r\n\t *\r\n\t * declares a new angular value\r\n\t *\r\n\t * @param name value name\r\n\t * @param value value name\r\n\t *\r\n\t * @returns {Object}\r\n\t */\n\t\n\tfunction NgValue(name, value) {\n\t var component = {};\n\t _srcLibsUtils2['default'].addDeclareMethod(component);\n\t _srcLibsUtils2['default'].defineComponent(component, name, 'value', value);\n\t return component;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ }\n/******/ ]);\n\n\n/** WEBPACK FOOTER **\n ** ng-annotations.js\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\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\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.loaded = 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// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap cefee0b0268527fbba50\n **/","var NgAnnotations = {};\r\n\r\n// components\r\nNgAnnotations.controller = require('src/decorators/components/controller');\r\nNgAnnotations.service = require('src/decorators/components/service');\r\nNgAnnotations.animation = require('src/decorators/components/animation');\r\nNgAnnotations.config = require('src/decorators/components/config');\r\nNgAnnotations.directive = require('src/decorators/components/directive');\r\nNgAnnotations.factory = require('src/decorators/components/factory');\r\nNgAnnotations.filter = require('src/decorators/components/filter');\r\nNgAnnotations.provider = require('src/decorators/components/provider');\r\nNgAnnotations.run = require('src/decorators/components/run');\r\n\r\n// wrappers\r\nNgAnnotations.constant = require('src/wrappers/constant');\r\nNgAnnotations.value = require('src/wrappers/value');\r\n\r\n// utils\r\nNgAnnotations.inject = require('src/decorators/utils/inject');\r\nNgAnnotations.autobind = require('src/decorators/utils/autobind');\r\nNgAnnotations.attach = require('src/decorators/utils/attach');\r\nNgAnnotations.conceal = require('src/decorators/utils/conceal');\r\n\r\nexport default window.ngAnnotations = NgAnnotations;\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/app.js\n **/","export default class NgDecoratorUtils {\r\n\r\n\tstatic regexArgs = /^function\\s*[^\\(]*\\(\\s*([^\\)]*)\\)/m;\r\n\tstatic regexStripComment = /((\\/\\/.*$)|(\\/\\*[\\s\\S]*?\\*\\/))/mg;\r\n\tstatic angularComponents = ['config', 'run', 'value', 'constant', 'animation', 'controller', 'directive', 'factory', 'provider', 'service', 'filter'];\r\n\tstatic identifiers = {};\r\n\r\n\tstatic extractParameters(fn) {\r\n\t\tvar fnText = fn.toString().replace(this.regexStripComment, ''),\r\n\t\targs = fnText.match(this.regexArgs);\r\n\t\treturn args && args[1].length > 0 ? args[1].split(',') : [];\r\n\t}\r\n\r\n\tstatic getUUID(pattern = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx') {\r\n\t\treturn pattern.replace(/[xy]/g, function(c) {\r\n\t\t\tvar r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n\t\t\treturn v.toString(16);\r\n\t\t});\r\n\t}\r\n\r\n\tstatic arrayUnique(arr = []) {\r\n\t\tvar ret = [arr[0]];\r\n\t\tfor(var i = 1; i < arr.length; i++)\r\n\t\t\tif(arr[i - 1] !== arr[i])\r\n\t\t\t\tret.push(arr[i]);\r\n\t\treturn ret;\r\n\t}\r\n\r\n\tstatic getIdentifier(key) {\r\n\r\n\t\tif(this.identifiers[key] === undefined)\r\n\t\t\tthis.identifiers[key] = Symbol ? Symbol(key) : this.getUUID();\r\n\r\n\t\treturn this.identifiers[key];\r\n\t}\r\n\r\n\tstatic addDeclareMethod(target) {\r\n\t\tObject.defineProperty(target, 'autodeclare', {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: false,\r\n\t\t\tvalue: function(ngModule) {\r\n\t\t\t\tlet params = !!this.$name ? [this.$name, this.$component] : [this.$component];\r\n\t\t\t\tif(typeof ngModule === 'string')\r\n\t\t\t\t\tngModule = angular.module(ngModule);\r\n\t\t\t\treturn ngModule[this.$type](...params);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tstatic applyTransformations(component, instance = {}, injections = []) {\r\n\t\tlet $transformKey = this.getIdentifier('$transform'),\r\n\t\ttransformations = component.prototype[$transformKey] || [];\r\n\t\ttransformations.forEach(transformation => transformation(instance, component, injections));\r\n\t}\r\n\r\n\tstatic getFinalComponent(target, instance) {\r\n\r\n\t\tlet $privateKey = this.getIdentifier('$private'),\r\n\t\tprivateProperties = target.prototype[$privateKey] || [];\r\n\r\n\t\tif(privateProperties.length === 0)\r\n\t\t\treturn instance;\r\n\r\n\t\tprivateProperties.push('constructor');\r\n\t\tlet prototypeProperties = Object.getOwnPropertyNames(target.prototype),\r\n\t\tinstanceProperties = Object.getOwnPropertyNames(instance);\r\n\r\n\t\tlet properties = this.arrayUnique(prototypeProperties.concat(instanceProperties)),\r\n\t\tpublicProperties = properties.filter(property => !~privateProperties.indexOf(property)),\r\n\t\texposed = {};\r\n\r\n\t\tpublicProperties.forEach(property => {\r\n\t\t\tif(instance[property] instanceof Function) {\r\n\t\t\t\texposed[property] = (...parameters) => instance[property](...parameters);\r\n\t\t\t\tObject.defineProperties(exposed[property], {\r\n\t\t\t\t\tcall: {\r\n\t\t\t\t\t\tvalue: (scope = instance, ...parameters) => instance[property].apply(scope, parameters),\r\n\t\t\t\t\t\twritable: false,\r\n\t\t\t\t\t\tenumerable: false\r\n\t\t\t\t\t},\r\n\t\t\t\t\tapply: {\r\n\t\t\t\t\t\tvalue: (scope = instance, parameters = []) => instance[property].apply(scope, parameters),\r\n\t\t\t\t\t\twritable: false,\r\n\t\t\t\t\t\tenumerable: false\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t\tObject.defineProperty(exposed, property, {\r\n\t\t\t\t\tget: () => instance[property],\r\n\t\t\t\t\tset: (val) => instance[property] = val,\r\n\t\t\t\t\tenumerable: false\r\n\t\t\t\t});\r\n\t\t});\r\n\r\n\t\treturn exposed;\r\n\t}\r\n\r\n\tstatic defineComponent(target, name, type, component) {\r\n\r\n\t\tif(!~this.angularComponents.indexOf(type))\r\n\t\t\tthrow Error('the given type must be a valid angular component')\r\n\r\n\t\tObject.defineProperties(target, {\r\n\t\t\t'$name': {\r\n\t\t\t\tvalue: name !== undefined ? name : target.name,\r\n\t\t\t\tenumerable: true,\r\n\t\t\t\tconfigurable: true\r\n\t\t\t},\r\n\t\t\t'$type': {\r\n\t\t\t\tvalue: type,\r\n\t\t\t\tenumerable: true,\r\n\t\t\t\twritable: false\r\n\t\t\t},\r\n\t\t\t'$component': {\r\n\t\t\t\tvalue: component,\r\n\t\t\t\tenumerable: true,\r\n\t\t\t\tconfigurable: true\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif(target.$component instanceof Object)\r\n\t\t\tObject.defineProperty(target.$component, '$inject', {\r\n\t\t\t\tget: () => target.$inject || [],\r\n\t\t\t\tset: (val) => target.$inject = val\r\n\t\t\t});\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/libs/utils.js\n **/","/**\r\n * @decorator: @inject\r\n * @type: function\r\n *\r\n * replaces the angular dependency injection system\r\n *\r\n * @param toInject string|Array\r\n * @param more (optional) string[]\r\n */\r\nexport default function inject(toInject, ...more) {\r\n\r\n\tif(!(toInject instanceof Array)) {\r\n\t\ttoInject = [toInject];\r\n\t\tif(more.length > 0)\r\n\t\t\ttoInject = toInject.concat(more);\r\n\t}\r\n\r\n\ttoInject.forEach((component, index) => {\r\n\t\tif(component instanceof Object && '$name' in component)\r\n\t\t\ttoInject[index] = component.$name;\r\n\t});\r\n\r\n\treturn (target, ...options) => {\r\n\r\n\t\tif(options.length > 0)\r\n\t\t\ttarget = options[1].value;\r\n\r\n\t\tObject.defineProperty(target, '$inject', {\r\n\t\t\tvalue: toInject,\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: true\r\n\t\t});\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/utils/inject.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @animation\r\n * @type: function\r\n *\r\n * declares a new angular animation\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgAnimation(name = '') {\r\n\treturn (target) => {\r\n\t\tname = name || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return utils.getFinalComponent(target, instance);\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'animation', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/animation.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @config\r\n * @type: function\r\n *\r\n * declares a new angular config\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgConfig() {\r\n\treturn (target) => {\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return instance;\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, null, 'config', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/config.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @controller\r\n * @type: function\r\n *\r\n * declares a new angular controller\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgController(name = '') {\r\n\treturn (target) => {\r\n\t\tname = name || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return utils.getFinalComponent(target, instance);\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'controller', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/controller.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @directive\r\n * @type: function\r\n *\r\n * declares a new angular directive\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgDirective(name = '') {\r\n\treturn (target) => {\r\n\t\tname = name || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return instance;\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'directive', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/directive.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @factory\r\n * @type: function\r\n *\r\n * declares a new angular factory\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgFactory(name = '') {\r\n\treturn (target) => {\r\n\t\tname = name || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n\r\n let exposed = utils.getFinalComponent(target, instance);\r\n return exposed.$expose instanceof Function ? exposed.$expose() : exposed;\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'factory', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/factory.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @filter\r\n * @type: function\r\n *\r\n * declares a new angular filter\r\n *\r\n * @param filterProps (optional) filter properties containing name and the stateful attribute\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgFilter(filterProps = {name:'',stateful:false}) {\r\n\r\n\treturn (target) => {\r\n\r\n\t\tlet name = '', stateful = false;\r\n\t\tif(filterProps instanceof Object){\r\n\t\t\tname = filterProps.name || target.name;\r\n\t\t\tstateful = !!filterProps.stateful;\r\n\t\t}\r\n\t\telse\r\n\t\t\tname = filterProps || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n let instance = new target(...injections);\r\n\r\n\t\t\tif(!(instance.$filter instanceof Function))\r\n\t\t\t\tthrow Error('an annotated \"filter\" must implement the \"$filter\" method');\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n\r\n\t\t\t//@todo remove it in the next version\r\n\t\t\tif(instance.$stateful === true) {\r\n\t\t\t\tconsole.warn('the $stateful property is deprecated and will be removed in the next versions, use the @filter parameter instead');\r\n\t\t\t\tconsole.warn('https://github.com/PillowPillow/ng-annotations#d_filter');\r\n\t\t\t\tfilter.$stateful = true;\r\n\t\t\t}\r\n\r\n\t\t\tif(stateful)\r\n\t\t\t\tfilter.$stateful = stateful;\r\n\r\n\t\t\treturn filter;\r\n\t\t\tfunction filter(...parameters) {\r\n\t\t\t return instance.$filter(...parameters);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'filter', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/filter.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @provider\r\n * @type: function\r\n *\r\n * declares a new angular provider\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgProvider(name = '') {\r\n\treturn (target) => {\r\n\t\tname = name || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return utils.getFinalComponent(target, instance);\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'provider', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/provider.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @run\r\n * @type: function\r\n *\r\n * declares a new angular run\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgRun() {\r\n\treturn (target) => {\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return instance;\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(component);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, null, 'run', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/run.js\n **/","import utils from 'src/libs/utils';\r\nimport inject from 'src/decorators/utils/inject';\r\n\r\n/**\r\n * @decorator: @service\r\n * @type: function\r\n *\r\n * declares a new angular service\r\n *\r\n * @param name (optional) replaces the class name\r\n *\r\n * @returns {Function}\r\n */\r\nexport default function NgService(name = '') {\r\n\treturn (target) => {\r\n\t\tname = name || target.name;\r\n\r\n\t\tvar component = function(...injections) {\r\n\t\t\tlet instance = new target(...injections);\r\n\t\t\tutils.applyTransformations(target, instance, injections);\r\n return utils.getFinalComponent(target, instance);\r\n\t\t}\r\n\r\n\t\tif(!(target.$inject instanceof Array) || target.$inject.length === 0) {\r\n\t\t\tvar parameters = utils.extractParameters(target);\r\n\t\t\tif(parameters.length > 0)\r\n\t\t\t\tinject(parameters)(target);\r\n\t\t}\r\n\r\n\t\tutils.addDeclareMethod(target);\r\n\t\tutils.defineComponent(target, name, 'service', component);\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** C:/Users/NicowPolochon/Development/PillowTeam/ng-annotations/src/decorators/components/service.js\n **/","import utils from 'src/libs/utils';\r\n\r\n/**\r\n * @decorator: @attach\r\n * @type: function\r\n *\r\n * replaces the angular dependency attachion system\r\n *\r\n * @param source string component name or this\r\n * @param path (optional) string path toward the property\r\n */\r\nexport default function attach(source = 'this', path = '') {\r\n\r\n\tif(typeof source !== 'string'\r\n\t&& !(source instanceof Object && '$name' in source))\r\n\t\tthrow Error(`the source param of @attach must be a string or an annotated component, ${typeof source} given`)\r\n\r\n\tif(typeof path !== 'string')\r\n\t\tthrow Error(`the path param of @attach must be a string, ${typeof path} given`)\r\n\r\n\treturn (prototype, name, descriptor) => {\r\n\r\n\t\tif(descriptor instanceof Object\r\n\t\t&& (descriptor.set !== undefined || descriptor.get !== undefined))\r\n\t\t\tthrow Error(`@attach decorator cannot be applied to an accessor`);\r\n\r\n\t\tif(name === undefined)\r\n\t\t\tthrow Error(`@attach decorator can only be applied to methods or attributes`);\r\n\r\n\t\tif(source instanceof Object)\r\n\t\t\tsource = source.$name;\r\n\r\n\t\tlet $transformKey = utils.getIdentifier('$transform');\r\n\r\n\t\tif(prototype[$transformKey] === undefined\r\n\t\t|| !(prototype[$transformKey] instanceof Array))\r\n\t\t\tprototype[$transformKey] = [];\r\n\r\n\t\tlet steps = path.split('.'),\r\n\t\t\tpropertyName = steps.pop();\r\n\r\n\t\tif(source === 'this') {\r\n\t\t\tdelete descriptor.initializer;\r\n\t\t\tdelete descriptor.value;\r\n\t\t\tsetDescriptor(source,steps,propertyName,descriptor);\r\n\t\t}\r\n\t\telse\r\n\t\t\tprototype[$transformKey].push(getApplyTransformation(source,steps,propertyName,name));\r\n\t}\r\n}\r\n\r\n/**\r\n * @param sourceName String. name of the source component\r\n * @param steps Array. path toward the property\r\n * @param propertyName String. property name\r\n * @param targetName String. name of the target property\r\n * @returns {Function}\r\n */\r\nfunction getApplyTransformation(sourceName, steps, propertyName, targetName) {\r\n\treturn function attachTransformation(context, component, injections) {\r\n\r\n\t\tlet $inject = component.$inject || [],\r\n\t\t\tindex = $inject.indexOf(sourceName);\r\n\t\tif(!~index)\r\n\t\t\tthrow Error(`unable to attach the property ${propertyName}, the component ${sourceName} isn't loaded`)\r\n\r\n\t\tlet {configurable, enumerable} = Object.getOwnPropertyDescriptor(context, targetName);\r\n\t\tlet descriptor = {configurable, enumerable};\r\n\t\tsetDescriptor(sourceName, steps, propertyName, descriptor, injections[index]);\r\n\t\tdelete context[targetName];\r\n\t\tObject.defineProperty(context, targetName, descriptor);\r\n\t}\r\n}\r\n\r\n/**\r\n * @param source Object. source object\r\n * @param steps Array. path toward the property\r\n * @param property String. property name\r\n * @param descriptor Object. property descriptor\r\n * @param context (optional) Object. exec context\r\n */\r\nfunction setDescriptor(source, steps, property, descriptor, context = undefined) {\r\n\tdescriptor.get = function() {\r\n\t\tif(context === undefined)\r\n\t\t\tcontext = this;\r\n\t\tif(!property)\r\n\t\t\treturn context;\r\n\t\tlet src = getSrc(context, steps);\r\n\t\treturn src[property] instanceof Function ? src[property].bind(src) : src[property];\r\n\t};\r\n\tdescriptor.set = function(val) {\r\n\t\tif(context === undefined)\r\n\t\t\tcontext = this;\r\n\t\tif(!property)\r\n\t\t\treturn context;\r\n\t\tlet src = getSrc(context, steps);\r\n\t\tsrc[property] = val;\r\n\t};\r\n}\r\n\r\n\r\n/**\r\n * @param source Object. source object\r\n * @param path Array. path toward the property\r\n */\r\nfunction getSrc(source, path = []) {\r\n\tif(path.length > 0)\r\n\t\tfor(var i=0; i