UNPKG

ngx-named-routes

Version:

Add named routes to your angular 7 projects

2 lines 2.65 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/router"),require("lodash")):"function"==typeof define&&define.amd?define("ngx-named-routes",["exports","@angular/core","@angular/router","lodash"],t):t(e["ngx-named-routes"]={},e.ng.core,e.ng.router,e.lodash)}(this,function(e,t,r,h){"use strict";var l=function(){return(l=Object.assign||function(e){for(var t,r=1,o=arguments.length;r<o;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};var o=function(){function e(e){this.__router=e,this.counter=0,this.__named_routes={}}return e.prototype.loadRoutes=function(e){var t,r;this.counter++;var o;o=e?e.routes:h.cloneDeep(this.__router.config);try{for(var n=function s(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}(o),a=n.next();!a.done;a=n.next()){var u=a.value,i=void 0;e&&-1===["","/"].indexOf(e.parent_path)?(i="/"===e.parent_path[0]?"":"/",u.path=i+e.parent_path+(""!==u.path?"/"+u.path:"")):(i="/"===u.path[0]&&""!==u.path?"":"/",u.path=i+u.path),u.name&&!this.__named_routes[u.name]&&(this.__named_routes[u.name]=l({},u)),u.children&&this.loadRoutes({routes:u.children,parent_path:u.path}),u._loadedConfig&&this.loadRoutes({routes:u._loadedConfig.routes,parent_path:u.path})}}catch(d){t={error:d}}finally{try{a&&!a.done&&(r=n["return"])&&r.call(n)}finally{if(t)throw t.error}}return this.__named_routes},e.prototype.getRoute=function(e,t){var r;if(this.__named_routes[e])return r=this.__named_routes[e].path,this.fillRouteParams(r,t);if(this.loadRoutes(),!this.__named_routes[e])throw new Error("La ruta "+e+" no existe o el módulo que la define aún no ha sido cargado.");return(r=this.__named_routes[e].path)?this.fillRouteParams(r,t):void 0},e.prototype.getNamedRoutes=function(){return 0===Object.keys(this.__named_routes).length&&this.loadRoutes(),this.__named_routes},e.prototype.getNamedRoute=function(e){return 0===Object.keys(this.__named_routes).length&&this.loadRoutes(),this.__named_routes[e]},e.prototype.fillRouteParams=function(e,t){if(!t||t==={})return e;var r=e;for(var o in t)r=r.replace(":"+o,t[o]);return r},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:r.Router}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(r.Router))},token:e,providedIn:"root"}),e}();e.NgxNamedRoutesService=o,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=ngx-named-routes.umd.min.js.map