@daffodil/external-router 0.39.1 → 0.39.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -32,7 +32,8 @@
32
32
  }
33
33
  DaffExternalRouterInMemoryDriver.prototype.resolve = function (url) {
34
34
  var truncatedUrl = routing.daffUriTruncateQueryFragment(url);
35
- return rxjs.of(this.configuration.resolver(truncatedUrl) || driver.DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);
35
+ var resolvedUrl = this.configuration.resolver(truncatedUrl);
36
+ return rxjs.of((resolvedUrl === null || resolvedUrl === void 0 ? void 0 : resolvedUrl.url) ? Object.assign(Object.assign({}, resolvedUrl), { url: routing.daffUriTruncateLeadingSlash(resolvedUrl.url) }) : driver.DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);
36
37
  };
37
38
  return DaffExternalRouterInMemoryDriver;
38
39
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-external-router-driver-in-memory.umd.js","sources":["../../../libs/external-router/driver/in-memory/src/config.ts","../../../libs/external-router/driver/in-memory/src/in-memory.service.ts","../../../libs/external-router/driver/in-memory/src/in-memory.module.ts","../../../libs/external-router/driver/in-memory/src/public_api.ts","../../../libs/external-router/driver/in-memory/src/daffodil-external-router-driver-in-memory.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION } from '@daffodil/external-router/driver';\n\n/**\n * A lookup for a URL.\n * Returns an {@link DaffExternallyResolvableUrl} or\n * {@link DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION} if the URL cannot be resolved\n */\nexport type DaffExternalRouterDriverInMemoryResolver = (url: string) => DaffExternallyResolvableUrl;\n\n/**\n * The configuration for the in-memory driver.\n */\nexport interface DaffExternalRouterDriverInMemoryConfig {\n\tresolver: DaffExternalRouterDriverInMemoryResolver;\n}\n\nconst defaultConfig: DaffExternalRouterDriverInMemoryConfig = {\n resolver: () => DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n};\n\n/**\n * The token used by Daffodil to hold the driver's configuration.\n *\n * @docs-private\n */\nexport const DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG = new InjectionToken<\n\tDaffExternalRouterDriverInMemoryConfig\n>('DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG', {\n providedIn: 'root',\n factory: () => defaultConfig,\n});\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n of,\n} from 'rxjs';\n\nimport {\n daffUriTruncateLeadingSlash,\n daffUriTruncateQueryFragment,\n} from '@daffodil/core/routing';\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport {\n DaffExternalRouterDriverInterface,\n DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n} from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n} from './config';\n\n/**\n * The DaffExternalRouterInMemoryDriver is responsible for resolving\n * a URL using the resolver in the provided configuration.\n *\n * @inheritdoc\n *\n * @see {@link DaffExternalRouterInMemoryDriver}\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffExternalRouterInMemoryDriver\nimplements DaffExternalRouterDriverInterface {\n constructor(\n\t\t@Inject(DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG)\n\t\tprivate configuration: DaffExternalRouterDriverInMemoryConfig,\n ) {}\n\n resolve(url: string): Observable<DaffExternallyResolvableUrl> {\n const truncatedUrl = daffUriTruncateQueryFragment(url);\n\n return of(this.configuration.resolver(truncatedUrl) || DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n InjectionToken,\n inject,\n} from '@angular/core';\n\nimport { DaffExternalRouterDriver } from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n} from './config';\nimport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\n\n/**\n * The `DaffExternalRouterDriverInMemoryModule` is an importable NgModule that can\n * be used to configure the {@link DaffExternalRouterInMemoryDriver}.\n */\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n})\nexport class DaffExternalRouterDriverInMemoryModule {\n static forRoot(\n config: DaffExternalRouterDriverInMemoryConfig | InjectionToken<DaffExternalRouterDriverInMemoryConfig>,\n ): ModuleWithProviders<DaffExternalRouterDriverInMemoryModule> {\n return {\n ngModule: DaffExternalRouterDriverInMemoryModule,\n providers: [\n {\n provide: DaffExternalRouterDriver,\n useExisting: DaffExternalRouterInMemoryDriver,\n },\n {\n provide: DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n // eslint-disable-next-line prefer-arrow/prefer-arrow-functions\n useFactory() {\n return config instanceof InjectionToken ? inject(config) : config;\n },\n },\n ],\n };\n }\n}\n","/*\n * Public API Surface of @daffodil/external-router/driver/in-memory\n */\n\nexport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\nexport { DaffExternalRouterDriverInMemoryModule } from './in-memory.module';\n\nexport {\n DaffExternalRouterDriverInMemoryConfig,\n DaffExternalRouterDriverInMemoryResolver,\n} from './config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG as ɵa} from './config';"],"names":["DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION","InjectionToken","daffUriTruncateQueryFragment","of","Injectable","Inject","DaffExternalRouterDriver","inject","NgModule","CommonModule"],"mappings":";;;;;;aAoBY,cAAM,OAAAA,gDAAyC,GAAA;IAD3D,IAAM,aAAa,GAA2C;QAC5D,QAAQ,IAAiD;KAC1D,CAAC;IAEF;;;;;QAKa,4CAA4C,GAAG,IAAIC,iBAAc,CAE5E,8CAA8C,EAAE;QAChD,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,cAAM,OAAA,aAAa,GAAA;KAC7B;;ICTD;;;;;;;;;QAaE,0CAEQ,aAAqD;YAArD,kBAAa,GAAb,aAAa,CAAwC;SACzD;QAEJ,kDAAO,GAAP,UAAQ,GAAW;YACjB,IAAM,YAAY,GAAGC,oCAA4B,CAAC,GAAG,CAAC,CAAC;YAEvD,OAAOC,OAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAIH,gDAAyC,CAAC,CAAC;SACnG;;;;;gBAdFI,aAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gDAIEC,SAAM,SAAC,4CAA4C;;;ICtBtD;;;;;QAQA;;QACS,8CAAO,GAAd,UACE,MAAuG;YAEvG,OAAO;gBACL,QAAQ,EAAE,sCAAsC;gBAChD,SAAS,EAAE;oBACT;wBACE,OAAO,EAAEC,+BAAwB;wBACjC,WAAW,EAAE,gCAAgC;qBAC9C;oBACD;wBACE,OAAO,EAAE,4CAA4C;;wBAErD,UAAU;4BACR,OAAO,MAAM,YAAYL,iBAAc,GAAGM,SAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;yBACnE;qBACF;iBACF;aACF,CAAC;SACH;;;;gBAxBFC,WAAQ,SAAC;oBACR,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,CAACC,mBAAY,CAAC;iBACxB;;;ICvBD;;;;ICAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"daffodil-external-router-driver-in-memory.umd.js","sources":["../../../libs/external-router/driver/in-memory/src/config.ts","../../../libs/external-router/driver/in-memory/src/in-memory.service.ts","../../../libs/external-router/driver/in-memory/src/in-memory.module.ts","../../../libs/external-router/driver/in-memory/src/public_api.ts","../../../libs/external-router/driver/in-memory/src/daffodil-external-router-driver-in-memory.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION } from '@daffodil/external-router/driver';\n\n/**\n * A lookup for a URL.\n * Returns an {@link DaffExternallyResolvableUrl} or\n * {@link DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION} if the URL cannot be resolved\n */\nexport type DaffExternalRouterDriverInMemoryResolver = (url: string) => DaffExternallyResolvableUrl;\n\n/**\n * The configuration for the in-memory driver.\n */\nexport interface DaffExternalRouterDriverInMemoryConfig {\n\tresolver: DaffExternalRouterDriverInMemoryResolver;\n}\n\nconst defaultConfig: DaffExternalRouterDriverInMemoryConfig = {\n resolver: () => DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n};\n\n/**\n * The token used by Daffodil to hold the driver's configuration.\n *\n * @docs-private\n */\nexport const DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG = new InjectionToken<\n\tDaffExternalRouterDriverInMemoryConfig\n>('DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG', {\n providedIn: 'root',\n factory: () => defaultConfig,\n});\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n of,\n} from 'rxjs';\n\nimport {\n daffUriTruncateLeadingSlash,\n daffUriTruncateQueryFragment,\n} from '@daffodil/core/routing';\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport {\n DaffExternalRouterDriverInterface,\n DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n} from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n} from './config';\n\n/**\n * The DaffExternalRouterInMemoryDriver is responsible for resolving\n * a URL using the resolver in the provided configuration.\n *\n * @inheritdoc\n *\n * @see {@link DaffExternalRouterInMemoryDriver}\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffExternalRouterInMemoryDriver\nimplements DaffExternalRouterDriverInterface {\n constructor(\n\t\t@Inject(DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG)\n\t\tprivate configuration: DaffExternalRouterDriverInMemoryConfig,\n ) {}\n\n resolve(url: string): Observable<DaffExternallyResolvableUrl> {\n const truncatedUrl = daffUriTruncateQueryFragment(url);\n const resolvedUrl = this.configuration.resolver(truncatedUrl);\n\n return of(resolvedUrl?.url ? {\n ...resolvedUrl,\n url: daffUriTruncateLeadingSlash(resolvedUrl.url),\n } : DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n InjectionToken,\n inject,\n} from '@angular/core';\n\nimport { DaffExternalRouterDriver } from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n} from './config';\nimport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\n\n/**\n * The `DaffExternalRouterDriverInMemoryModule` is an importable NgModule that can\n * be used to configure the {@link DaffExternalRouterInMemoryDriver}.\n */\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n})\nexport class DaffExternalRouterDriverInMemoryModule {\n static forRoot(\n config: DaffExternalRouterDriverInMemoryConfig | InjectionToken<DaffExternalRouterDriverInMemoryConfig>,\n ): ModuleWithProviders<DaffExternalRouterDriverInMemoryModule> {\n return {\n ngModule: DaffExternalRouterDriverInMemoryModule,\n providers: [\n {\n provide: DaffExternalRouterDriver,\n useExisting: DaffExternalRouterInMemoryDriver,\n },\n {\n provide: DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n // eslint-disable-next-line prefer-arrow/prefer-arrow-functions\n useFactory() {\n return config instanceof InjectionToken ? inject(config) : config;\n },\n },\n ],\n };\n }\n}\n","/*\n * Public API Surface of @daffodil/external-router/driver/in-memory\n */\n\nexport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\nexport { DaffExternalRouterDriverInMemoryModule } from './in-memory.module';\n\nexport {\n DaffExternalRouterDriverInMemoryConfig,\n DaffExternalRouterDriverInMemoryResolver,\n} from './config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG as ɵa} from './config';"],"names":["DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION","InjectionToken","daffUriTruncateQueryFragment","of","daffUriTruncateLeadingSlash","Injectable","Inject","DaffExternalRouterDriver","inject","NgModule","CommonModule"],"mappings":";;;;;;aAoBY,cAAM,OAAAA,gDAAyC,GAAA;IAD3D,IAAM,aAAa,GAA2C;QAC5D,QAAQ,IAAiD;KAC1D,CAAC;IAEF;;;;;QAKa,4CAA4C,GAAG,IAAIC,iBAAc,CAE5E,8CAA8C,EAAE;QAChD,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,cAAM,OAAA,aAAa,GAAA;KAC7B;;ICTD;;;;;;;;;QAaE,0CAEQ,aAAqD;YAArD,kBAAa,GAAb,aAAa,CAAwC;SACzD;QAEJ,kDAAO,GAAP,UAAQ,GAAW;YACjB,IAAM,YAAY,GAAGC,oCAA4B,CAAC,GAAG,CAAC,CAAC;YACvD,IAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAE9D,OAAOC,OAAE,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,oCACrB,WAAW,KACd,GAAG,EAAEC,mCAA2B,CAAC,WAAW,CAAC,GAAG,CAAC,MAC/CJ,gDAAyC,CAAC,CAAC;SAChD;;;;;gBAlBFK,aAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gDAIEC,SAAM,SAAC,4CAA4C;;;ICtBtD;;;;;QAQA;;QACS,8CAAO,GAAd,UACE,MAAuG;YAEvG,OAAO;gBACL,QAAQ,EAAE,sCAAsC;gBAChD,SAAS,EAAE;oBACT;wBACE,OAAO,EAAEC,+BAAwB;wBACjC,WAAW,EAAE,gCAAgC;qBAC9C;oBACD;wBACE,OAAO,EAAE,4CAA4C;;wBAErD,UAAU;4BACR,OAAO,MAAM,YAAYN,iBAAc,GAAGO,SAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;yBACnE;qBACF;iBACF;aACF,CAAC;SACH;;;;gBAxBFC,WAAQ,SAAC;oBACR,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,CAACC,mBAAY,CAAC;iBACxB;;;ICvBD;;;;ICAA;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- !function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("rxjs"),require("@daffodil/core/routing"),require("@daffodil/external-router/driver"),require("@angular/common")):"function"==typeof define&&define.amd?define("@daffodil/external-router/driver/in-memory",["exports","@angular/core","rxjs","@daffodil/core/routing","@daffodil/external-router/driver","@angular/common"],e):e(((r="undefined"!=typeof globalThis?globalThis:r||self).daffodil=r.daffodil||{},r.daffodil["external-router"]=r.daffodil["external-router"]||{},r.daffodil["external-router"].driver=r.daffodil["external-router"].driver||{},r.daffodil["external-router"].driver["in-memory"]={}),r.ng.core,r.rxjs,r.routing,r.daffodil["external-router"].driver,r.ng.common)}(this,(function(r,e,o,n,t,i){"use strict";var f={resolver:function(){return t.DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION}},a=new e.InjectionToken("DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG",{providedIn:"root",factory:function(){return f}}),d=function(){function r(r){this.configuration=r}return r.prototype.resolve=function(r){var e=n.daffUriTruncateQueryFragment(r);return o.of(this.configuration.resolver(e)||t.DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION)},r}();d.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new d(e.ɵɵinject(a))},token:d,providedIn:"root"}),d.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],d.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[a]}]}]};var u=function(){function r(){}return r.forRoot=function(o){return{ngModule:r,providers:[{provide:t.DaffExternalRouterDriver,useExisting:d},{provide:a,useFactory:function(){return o instanceof e.InjectionToken?e.inject(o):o}}]}},r}();u.decorators=[{type:e.NgModule,args:[{declarations:[],imports:[i.CommonModule]}]}],r.DaffExternalRouterDriverInMemoryModule=u,r.DaffExternalRouterInMemoryDriver=d,r.ɵa=a,Object.defineProperty(r,"__esModule",{value:!0})}));
1
+ !function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("rxjs"),require("@daffodil/core/routing"),require("@daffodil/external-router/driver"),require("@angular/common")):"function"==typeof define&&define.amd?define("@daffodil/external-router/driver/in-memory",["exports","@angular/core","rxjs","@daffodil/core/routing","@daffodil/external-router/driver","@angular/common"],e):e(((r="undefined"!=typeof globalThis?globalThis:r||self).daffodil=r.daffodil||{},r.daffodil["external-router"]=r.daffodil["external-router"]||{},r.daffodil["external-router"].driver=r.daffodil["external-router"].driver||{},r.daffodil["external-router"].driver["in-memory"]={}),r.ng.core,r.rxjs,r.routing,r.daffodil["external-router"].driver,r.ng.common)}(this,(function(r,e,o,n,t,i){"use strict";var a={resolver:function(){return t.DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION}},f=new e.InjectionToken("DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG",{providedIn:"root",factory:function(){return a}}),u=function(){function r(r){this.configuration=r}return r.prototype.resolve=function(r){var e=n.daffUriTruncateQueryFragment(r),i=this.configuration.resolver(e);return o.of((null==i?void 0:i.url)?Object.assign(Object.assign({},i),{url:n.daffUriTruncateLeadingSlash(i.url)}):t.DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION)},r}();u.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new u(e.ɵɵinject(f))},token:u,providedIn:"root"}),u.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],u.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[f]}]}]};var d=function(){function r(){}return r.forRoot=function(o){return{ngModule:r,providers:[{provide:t.DaffExternalRouterDriver,useExisting:u},{provide:f,useFactory:function(){return o instanceof e.InjectionToken?e.inject(o):o}}]}},r}();d.decorators=[{type:e.NgModule,args:[{declarations:[],imports:[i.CommonModule]}]}],r.DaffExternalRouterDriverInMemoryModule=d,r.DaffExternalRouterInMemoryDriver=u,r.ɵa=f,Object.defineProperty(r,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=daffodil-external-router-driver-in-memory.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../libs/external-router/driver/in-memory/src/config.ts","../../../libs/external-router/driver/in-memory/src/in-memory.service.ts","../../../libs/external-router/driver/in-memory/src/in-memory.module.ts"],"names":["defaultConfig","resolver","DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION","DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG","InjectionToken","providedIn","factory","DaffExternalRouterInMemoryDriver","configuration","this","prototype","resolve","url","truncatedUrl","daffUriTruncateQueryFragment","of","Injectable","args","Inject","DaffExternalRouterDriverInMemoryModule","forRoot","config","ngModule","providers","provide","DaffExternalRouterDriver","useExisting","useFactory","inject","NgModule","declarations","imports","CommonModule"],"mappings":"+zBAmBMA,EAAwD,CAC5DC,SAAU,WAAM,OAAAC,EAAAA,4CAQLC,EAA+C,IAAIC,EAAAA,eAE9D,+CAAgD,CAChDC,WAAY,OACZC,QAAS,WAAM,OAAAN,kBCKf,SAAAO,EAEQC,GAAAC,KAAAD,cAAAA,SAGRD,EAAAG,UAAAC,QAAA,SAAQC,GACN,IAAMC,EAAeC,EAAAA,6BAA6BF,GAElD,OAAOG,EAAAA,GAAGN,KAAKD,cAAcP,SAASY,IAAiBX,EAAAA,+KAb1Dc,EAAAA,WAAUC,KAAA,CAAC,CACVZ,WAAY,6EAKXa,EAAAA,OAAMD,KAAA,CAACd,yBCdV,SAAAgB,YACSA,EAAAC,QAAP,SACEC,GAEA,MAAO,CACLC,SAAUH,EACVI,UAAW,CACT,CACEC,QAASC,EAAAA,yBACTC,YAAanB,GAEf,CACEiB,QAASrB,EAETwB,WAAU,WACR,OAAON,aAAkBjB,EAAAA,eAAiBwB,EAAAA,OAAOP,GAAUA,gCAnBtEQ,EAAAA,SAAQZ,KAAA,CAAC,CACRa,aAAc,GACdC,QAAS,CAACC,EAAAA","sourcesContent":["import { InjectionToken } from '@angular/core';\n\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION } from '@daffodil/external-router/driver';\n\n/**\n * A lookup for a URL.\n * Returns an {@link DaffExternallyResolvableUrl} or\n * {@link DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION} if the URL cannot be resolved\n */\nexport type DaffExternalRouterDriverInMemoryResolver = (url: string) => DaffExternallyResolvableUrl;\n\n/**\n * The configuration for the in-memory driver.\n */\nexport interface DaffExternalRouterDriverInMemoryConfig {\n\tresolver: DaffExternalRouterDriverInMemoryResolver;\n}\n\nconst defaultConfig: DaffExternalRouterDriverInMemoryConfig = {\n resolver: () => DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n};\n\n/**\n * The token used by Daffodil to hold the driver's configuration.\n *\n * @docs-private\n */\nexport const DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG = new InjectionToken<\n\tDaffExternalRouterDriverInMemoryConfig\n>('DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG', {\n providedIn: 'root',\n factory: () => defaultConfig,\n});\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n of,\n} from 'rxjs';\n\nimport {\n daffUriTruncateLeadingSlash,\n daffUriTruncateQueryFragment,\n} from '@daffodil/core/routing';\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport {\n DaffExternalRouterDriverInterface,\n DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n} from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n} from './config';\n\n/**\n * The DaffExternalRouterInMemoryDriver is responsible for resolving\n * a URL using the resolver in the provided configuration.\n *\n * @inheritdoc\n *\n * @see {@link DaffExternalRouterInMemoryDriver}\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffExternalRouterInMemoryDriver\nimplements DaffExternalRouterDriverInterface {\n constructor(\n\t\t@Inject(DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG)\n\t\tprivate configuration: DaffExternalRouterDriverInMemoryConfig,\n ) {}\n\n resolve(url: string): Observable<DaffExternallyResolvableUrl> {\n const truncatedUrl = daffUriTruncateQueryFragment(url);\n\n return of(this.configuration.resolver(truncatedUrl) || DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n InjectionToken,\n inject,\n} from '@angular/core';\n\nimport { DaffExternalRouterDriver } from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n} from './config';\nimport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\n\n/**\n * The `DaffExternalRouterDriverInMemoryModule` is an importable NgModule that can\n * be used to configure the {@link DaffExternalRouterInMemoryDriver}.\n */\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n})\nexport class DaffExternalRouterDriverInMemoryModule {\n static forRoot(\n config: DaffExternalRouterDriverInMemoryConfig | InjectionToken<DaffExternalRouterDriverInMemoryConfig>,\n ): ModuleWithProviders<DaffExternalRouterDriverInMemoryModule> {\n return {\n ngModule: DaffExternalRouterDriverInMemoryModule,\n providers: [\n {\n provide: DaffExternalRouterDriver,\n useExisting: DaffExternalRouterInMemoryDriver,\n },\n {\n provide: DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n // eslint-disable-next-line prefer-arrow/prefer-arrow-functions\n useFactory() {\n return config instanceof InjectionToken ? inject(config) : config;\n },\n },\n ],\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../libs/external-router/driver/in-memory/src/config.ts","../../../libs/external-router/driver/in-memory/src/in-memory.service.ts","../../../libs/external-router/driver/in-memory/src/in-memory.module.ts"],"names":["defaultConfig","resolver","DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION","DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG","InjectionToken","providedIn","factory","DaffExternalRouterInMemoryDriver","configuration","this","prototype","resolve","url","truncatedUrl","daffUriTruncateQueryFragment","resolvedUrl","of","Object","assign","daffUriTruncateLeadingSlash","Injectable","args","Inject","DaffExternalRouterDriverInMemoryModule","forRoot","config","ngModule","providers","provide","DaffExternalRouterDriver","useExisting","useFactory","inject","NgModule","declarations","imports","CommonModule"],"mappings":"+zBAmBMA,EAAwD,CAC5DC,SAAU,WAAM,OAAAC,EAAAA,4CAQLC,EAA+C,IAAIC,EAAAA,eAE9D,+CAAgD,CAChDC,WAAY,OACZC,QAAS,WAAM,OAAAN,kBCKf,SAAAO,EAEQC,GAAAC,KAAAD,cAAAA,SAGRD,EAAAG,UAAAC,QAAA,SAAQC,GACN,IAAMC,EAAeC,EAAAA,6BAA6BF,GAC5CG,EAAcN,KAAKD,cAAcP,SAASY,GAEhD,OAAOG,EAAAA,IAAGD,MAAAA,OAAW,EAAXA,EAAaH,KAAGK,OAAAC,OAAAD,OAAAC,OAAA,GACrBH,GAAW,CACdH,IAAKO,EAAAA,4BAA4BJ,EAAYH,OAC3CV,EAAAA,+KAjBPkB,EAAAA,WAAUC,KAAA,CAAC,CACVhB,WAAY,6EAKXiB,EAAAA,OAAMD,KAAA,CAAClB,yBCdV,SAAAoB,YACSA,EAAAC,QAAP,SACEC,GAEA,MAAO,CACLC,SAAUH,EACVI,UAAW,CACT,CACEC,QAASC,EAAAA,yBACTC,YAAavB,GAEf,CACEqB,QAASzB,EAET4B,WAAU,WACR,OAAON,aAAkBrB,EAAAA,eAAiB4B,EAAAA,OAAOP,GAAUA,gCAnBtEQ,EAAAA,SAAQZ,KAAA,CAAC,CACRa,aAAc,GACdC,QAAS,CAACC,EAAAA","sourcesContent":["import { InjectionToken } from '@angular/core';\n\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION } from '@daffodil/external-router/driver';\n\n/**\n * A lookup for a URL.\n * Returns an {@link DaffExternallyResolvableUrl} or\n * {@link DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION} if the URL cannot be resolved\n */\nexport type DaffExternalRouterDriverInMemoryResolver = (url: string) => DaffExternallyResolvableUrl;\n\n/**\n * The configuration for the in-memory driver.\n */\nexport interface DaffExternalRouterDriverInMemoryConfig {\n\tresolver: DaffExternalRouterDriverInMemoryResolver;\n}\n\nconst defaultConfig: DaffExternalRouterDriverInMemoryConfig = {\n resolver: () => DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n};\n\n/**\n * The token used by Daffodil to hold the driver's configuration.\n *\n * @docs-private\n */\nexport const DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG = new InjectionToken<\n\tDaffExternalRouterDriverInMemoryConfig\n>('DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG', {\n providedIn: 'root',\n factory: () => defaultConfig,\n});\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n of,\n} from 'rxjs';\n\nimport {\n daffUriTruncateLeadingSlash,\n daffUriTruncateQueryFragment,\n} from '@daffodil/core/routing';\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport {\n DaffExternalRouterDriverInterface,\n DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n} from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n} from './config';\n\n/**\n * The DaffExternalRouterInMemoryDriver is responsible for resolving\n * a URL using the resolver in the provided configuration.\n *\n * @inheritdoc\n *\n * @see {@link DaffExternalRouterInMemoryDriver}\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffExternalRouterInMemoryDriver\nimplements DaffExternalRouterDriverInterface {\n constructor(\n\t\t@Inject(DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG)\n\t\tprivate configuration: DaffExternalRouterDriverInMemoryConfig,\n ) {}\n\n resolve(url: string): Observable<DaffExternallyResolvableUrl> {\n const truncatedUrl = daffUriTruncateQueryFragment(url);\n const resolvedUrl = this.configuration.resolver(truncatedUrl);\n\n return of(resolvedUrl?.url ? {\n ...resolvedUrl,\n url: daffUriTruncateLeadingSlash(resolvedUrl.url),\n } : DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n InjectionToken,\n inject,\n} from '@angular/core';\n\nimport { DaffExternalRouterDriver } from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n} from './config';\nimport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\n\n/**\n * The `DaffExternalRouterDriverInMemoryModule` is an importable NgModule that can\n * be used to configure the {@link DaffExternalRouterInMemoryDriver}.\n */\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n})\nexport class DaffExternalRouterDriverInMemoryModule {\n static forRoot(\n config: DaffExternalRouterDriverInMemoryConfig | InjectionToken<DaffExternalRouterDriverInMemoryConfig>,\n ): ModuleWithProviders<DaffExternalRouterDriverInMemoryModule> {\n return {\n ngModule: DaffExternalRouterDriverInMemoryModule,\n providers: [\n {\n provide: DaffExternalRouterDriver,\n useExisting: DaffExternalRouterInMemoryDriver,\n },\n {\n provide: DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n // eslint-disable-next-line prefer-arrow/prefer-arrow-functions\n useFactory() {\n return config instanceof InjectionToken ? inject(config) : config;\n },\n },\n ],\n };\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { Injectable, Inject, } from '@angular/core';
2
2
  import { of, } from 'rxjs';
3
- import { daffUriTruncateQueryFragment, } from '@daffodil/core/routing';
3
+ import { daffUriTruncateLeadingSlash, daffUriTruncateQueryFragment, } from '@daffodil/core/routing';
4
4
  import { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION, } from '@daffodil/external-router/driver';
5
5
  import { DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG, } from './config';
6
6
  import * as i0 from "@angular/core";
@@ -19,7 +19,8 @@ export class DaffExternalRouterInMemoryDriver {
19
19
  }
20
20
  resolve(url) {
21
21
  const truncatedUrl = daffUriTruncateQueryFragment(url);
22
- return of(this.configuration.resolver(truncatedUrl) || DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);
22
+ const resolvedUrl = this.configuration.resolver(truncatedUrl);
23
+ return of((resolvedUrl === null || resolvedUrl === void 0 ? void 0 : resolvedUrl.url) ? Object.assign(Object.assign({}, resolvedUrl), { url: daffUriTruncateLeadingSlash(resolvedUrl.url) }) : DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);
23
24
  }
24
25
  }
25
26
  /** @nocollapse */ DaffExternalRouterInMemoryDriver.ɵprov = i0.ɵɵdefineInjectable({ factory: function DaffExternalRouterInMemoryDriver_Factory() { return new DaffExternalRouterInMemoryDriver(i0.ɵɵinject(i1.DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG)); }, token: DaffExternalRouterInMemoryDriver, providedIn: "root" });
@@ -32,4 +33,4 @@ DaffExternalRouterInMemoryDriver.decorators = [
32
33
  DaffExternalRouterInMemoryDriver.ctorParameters = () => [
33
34
  { type: undefined, decorators: [{ type: Inject, args: [DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,] }] }
34
35
  ];
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tbWVtb3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2V4dGVybmFsLXJvdXRlci9kcml2ZXIvaW4tbWVtb3J5L3NyYy9pbi1tZW1vcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsRUFBRSxHQUNILE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUVMLDRCQUE0QixHQUM3QixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFFTCx5Q0FBeUMsR0FDMUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUUxQyxPQUFPLEVBRUwsNENBQTRDLEdBQzdDLE1BQU0sVUFBVSxDQUFDOzs7QUFFbEI7Ozs7Ozs7R0FPRztBQUlILE1BQU0sT0FBTyxnQ0FBZ0M7SUFFM0MsWUFFUSxhQUFxRDtRQUFyRCxrQkFBYSxHQUFiLGFBQWEsQ0FBd0M7SUFDMUQsQ0FBQztJQUVKLE9BQU8sQ0FBQyxHQUFXO1FBQ2pCLE1BQU0sWUFBWSxHQUFHLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLHlDQUF5QyxDQUFDLENBQUM7SUFDcEcsQ0FBQzs7OztZQWRGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7Ozs0Q0FJRSxNQUFNLFNBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE9ic2VydmFibGUsXG4gIG9mLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgZGFmZlVyaVRydW5jYXRlTGVhZGluZ1NsYXNoLFxuICBkYWZmVXJpVHJ1bmNhdGVRdWVyeUZyYWdtZW50LFxufSBmcm9tICdAZGFmZm9kaWwvY29yZS9yb3V0aW5nJztcbmltcG9ydCB7IERhZmZFeHRlcm5hbGx5UmVzb2x2YWJsZVVybCB9IGZyb20gJ0BkYWZmb2RpbC9leHRlcm5hbC1yb3V0ZXInO1xuaW1wb3J0IHtcbiAgRGFmZkV4dGVybmFsUm91dGVyRHJpdmVySW50ZXJmYWNlLFxuICBEQUZGX0VYVEVSTkFMX1JPVVRFUl9OT1RfRk9VTkRfUkVTT0xVVElPTixcbn0gZnJvbSAnQGRhZmZvZGlsL2V4dGVybmFsLXJvdXRlci9kcml2ZXInO1xuXG5pbXBvcnQge1xuICBEYWZmRXh0ZXJuYWxSb3V0ZXJEcml2ZXJJbk1lbW9yeUNvbmZpZyxcbiAgREFGRl9FWFRFUk5BTF9ST1VURVJfRFJJVkVSX0lOX01FTU9SWV9DT05GSUcsXG59IGZyb20gJy4vY29uZmlnJztcblxuLyoqXG4gKiBUaGUgRGFmZkV4dGVybmFsUm91dGVySW5NZW1vcnlEcml2ZXIgaXMgcmVzcG9uc2libGUgZm9yIHJlc29sdmluZ1xuICogYSBVUkwgdXNpbmcgdGhlIHJlc29sdmVyIGluIHRoZSBwcm92aWRlZCBjb25maWd1cmF0aW9uLlxuICpcbiAqIEBpbmhlcml0ZG9jXG4gKlxuICogQHNlZSB7QGxpbmsgRGFmZkV4dGVybmFsUm91dGVySW5NZW1vcnlEcml2ZXJ9XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEYWZmRXh0ZXJuYWxSb3V0ZXJJbk1lbW9yeURyaXZlclxuaW1wbGVtZW50cyBEYWZmRXh0ZXJuYWxSb3V0ZXJEcml2ZXJJbnRlcmZhY2Uge1xuICBjb25zdHJ1Y3Rvcihcblx0XHRASW5qZWN0KERBRkZfRVhURVJOQUxfUk9VVEVSX0RSSVZFUl9JTl9NRU1PUllfQ09ORklHKVxuXHRcdHByaXZhdGUgY29uZmlndXJhdGlvbjogRGFmZkV4dGVybmFsUm91dGVyRHJpdmVySW5NZW1vcnlDb25maWcsXG4gICkge31cblxuICByZXNvbHZlKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxEYWZmRXh0ZXJuYWxseVJlc29sdmFibGVVcmw+IHtcbiAgICBjb25zdCB0cnVuY2F0ZWRVcmwgPSBkYWZmVXJpVHJ1bmNhdGVRdWVyeUZyYWdtZW50KHVybCk7XG5cbiAgICByZXR1cm4gb2YodGhpcy5jb25maWd1cmF0aW9uLnJlc29sdmVyKHRydW5jYXRlZFVybCkgfHwgREFGRl9FWFRFUk5BTF9ST1VURVJfTk9UX0ZPVU5EX1JFU09MVVRJT04pO1xuICB9XG59XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tbWVtb3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2V4dGVybmFsLXJvdXRlci9kcml2ZXIvaW4tbWVtb3J5L3NyYy9pbi1tZW1vcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsRUFBRSxHQUNILE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiw0QkFBNEIsR0FDN0IsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBRUwseUNBQXlDLEdBQzFDLE1BQU0sa0NBQWtDLENBQUM7QUFFMUMsT0FBTyxFQUVMLDRDQUE0QyxHQUM3QyxNQUFNLFVBQVUsQ0FBQzs7O0FBRWxCOzs7Ozs7O0dBT0c7QUFJSCxNQUFNLE9BQU8sZ0NBQWdDO0lBRTNDLFlBRVEsYUFBcUQ7UUFBckQsa0JBQWEsR0FBYixhQUFhLENBQXdDO0lBQzFELENBQUM7SUFFSixPQUFPLENBQUMsR0FBVztRQUNqQixNQUFNLFlBQVksR0FBRyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU5RCxPQUFPLEVBQUUsQ0FBQyxDQUFBLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxHQUFHLEVBQUMsQ0FBQyxpQ0FDdkIsV0FBVyxLQUNkLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQ2pELENBQUMsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7Ozs7WUFsQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7OzRDQUlFLE1BQU0sU0FBQyw0Q0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlLFxuICBJbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBkYWZmVXJpVHJ1bmNhdGVMZWFkaW5nU2xhc2gsXG4gIGRhZmZVcmlUcnVuY2F0ZVF1ZXJ5RnJhZ21lbnQsXG59IGZyb20gJ0BkYWZmb2RpbC9jb3JlL3JvdXRpbmcnO1xuaW1wb3J0IHsgRGFmZkV4dGVybmFsbHlSZXNvbHZhYmxlVXJsIH0gZnJvbSAnQGRhZmZvZGlsL2V4dGVybmFsLXJvdXRlcic7XG5pbXBvcnQge1xuICBEYWZmRXh0ZXJuYWxSb3V0ZXJEcml2ZXJJbnRlcmZhY2UsXG4gIERBRkZfRVhURVJOQUxfUk9VVEVSX05PVF9GT1VORF9SRVNPTFVUSU9OLFxufSBmcm9tICdAZGFmZm9kaWwvZXh0ZXJuYWwtcm91dGVyL2RyaXZlcic7XG5cbmltcG9ydCB7XG4gIERhZmZFeHRlcm5hbFJvdXRlckRyaXZlckluTWVtb3J5Q29uZmlnLFxuICBEQUZGX0VYVEVSTkFMX1JPVVRFUl9EUklWRVJfSU5fTUVNT1JZX0NPTkZJRyxcbn0gZnJvbSAnLi9jb25maWcnO1xuXG4vKipcbiAqIFRoZSBEYWZmRXh0ZXJuYWxSb3V0ZXJJbk1lbW9yeURyaXZlciBpcyByZXNwb25zaWJsZSBmb3IgcmVzb2x2aW5nXG4gKiBhIFVSTCB1c2luZyB0aGUgcmVzb2x2ZXIgaW4gdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24uXG4gKlxuICogQGluaGVyaXRkb2NcbiAqXG4gKiBAc2VlIHtAbGluayBEYWZmRXh0ZXJuYWxSb3V0ZXJJbk1lbW9yeURyaXZlcn1cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERhZmZFeHRlcm5hbFJvdXRlckluTWVtb3J5RHJpdmVyXG5pbXBsZW1lbnRzIERhZmZFeHRlcm5hbFJvdXRlckRyaXZlckludGVyZmFjZSB7XG4gIGNvbnN0cnVjdG9yKFxuXHRcdEBJbmplY3QoREFGRl9FWFRFUk5BTF9ST1VURVJfRFJJVkVSX0lOX01FTU9SWV9DT05GSUcpXG5cdFx0cHJpdmF0ZSBjb25maWd1cmF0aW9uOiBEYWZmRXh0ZXJuYWxSb3V0ZXJEcml2ZXJJbk1lbW9yeUNvbmZpZyxcbiAgKSB7fVxuXG4gIHJlc29sdmUodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERhZmZFeHRlcm5hbGx5UmVzb2x2YWJsZVVybD4ge1xuICAgIGNvbnN0IHRydW5jYXRlZFVybCA9IGRhZmZVcmlUcnVuY2F0ZVF1ZXJ5RnJhZ21lbnQodXJsKTtcbiAgICBjb25zdCByZXNvbHZlZFVybCA9IHRoaXMuY29uZmlndXJhdGlvbi5yZXNvbHZlcih0cnVuY2F0ZWRVcmwpO1xuXG4gICAgcmV0dXJuIG9mKHJlc29sdmVkVXJsPy51cmwgPyB7XG4gICAgICAuLi5yZXNvbHZlZFVybCxcbiAgICAgIHVybDogZGFmZlVyaVRydW5jYXRlTGVhZGluZ1NsYXNoKHJlc29sdmVkVXJsLnVybCksXG4gICAgfSA6IERBRkZfRVhURVJOQUxfUk9VVEVSX05PVF9GT1VORF9SRVNPTFVUSU9OKTtcbiAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { InjectionToken, ɵɵdefineInjectable, ɵɵinject, Injectable, Inject, inject, NgModule } from '@angular/core';
2
2
  import { of } from 'rxjs';
3
- import { daffUriTruncateQueryFragment } from '@daffodil/core/routing';
3
+ import { daffUriTruncateQueryFragment, daffUriTruncateLeadingSlash } from '@daffodil/core/routing';
4
4
  import { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION, DaffExternalRouterDriver } from '@daffodil/external-router/driver';
5
5
  import { CommonModule } from '@angular/common';
6
6
 
@@ -32,7 +32,8 @@ class DaffExternalRouterInMemoryDriver {
32
32
  }
33
33
  resolve(url) {
34
34
  const truncatedUrl = daffUriTruncateQueryFragment(url);
35
- return of(this.configuration.resolver(truncatedUrl) || DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);
35
+ const resolvedUrl = this.configuration.resolver(truncatedUrl);
36
+ return of((resolvedUrl === null || resolvedUrl === void 0 ? void 0 : resolvedUrl.url) ? Object.assign(Object.assign({}, resolvedUrl), { url: daffUriTruncateLeadingSlash(resolvedUrl.url) }) : DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);
36
37
  }
37
38
  }
38
39
  /** @nocollapse */ DaffExternalRouterInMemoryDriver.ɵprov = ɵɵdefineInjectable({ factory: function DaffExternalRouterInMemoryDriver_Factory() { return new DaffExternalRouterInMemoryDriver(ɵɵinject(DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG)); }, token: DaffExternalRouterInMemoryDriver, providedIn: "root" });
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-external-router-driver-in-memory.js","sources":["../../../libs/external-router/driver/in-memory/src/config.ts","../../../libs/external-router/driver/in-memory/src/in-memory.service.ts","../../../libs/external-router/driver/in-memory/src/in-memory.module.ts","../../../libs/external-router/driver/in-memory/src/public_api.ts","../../../libs/external-router/driver/in-memory/src/daffodil-external-router-driver-in-memory.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION } from '@daffodil/external-router/driver';\n\n/**\n * A lookup for a URL.\n * Returns an {@link DaffExternallyResolvableUrl} or\n * {@link DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION} if the URL cannot be resolved\n */\nexport type DaffExternalRouterDriverInMemoryResolver = (url: string) => DaffExternallyResolvableUrl;\n\n/**\n * The configuration for the in-memory driver.\n */\nexport interface DaffExternalRouterDriverInMemoryConfig {\n\tresolver: DaffExternalRouterDriverInMemoryResolver;\n}\n\nconst defaultConfig: DaffExternalRouterDriverInMemoryConfig = {\n resolver: () => DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n};\n\n/**\n * The token used by Daffodil to hold the driver's configuration.\n *\n * @docs-private\n */\nexport const DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG = new InjectionToken<\n\tDaffExternalRouterDriverInMemoryConfig\n>('DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG', {\n providedIn: 'root',\n factory: () => defaultConfig,\n});\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n of,\n} from 'rxjs';\n\nimport {\n daffUriTruncateLeadingSlash,\n daffUriTruncateQueryFragment,\n} from '@daffodil/core/routing';\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport {\n DaffExternalRouterDriverInterface,\n DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n} from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n} from './config';\n\n/**\n * The DaffExternalRouterInMemoryDriver is responsible for resolving\n * a URL using the resolver in the provided configuration.\n *\n * @inheritdoc\n *\n * @see {@link DaffExternalRouterInMemoryDriver}\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffExternalRouterInMemoryDriver\nimplements DaffExternalRouterDriverInterface {\n constructor(\n\t\t@Inject(DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG)\n\t\tprivate configuration: DaffExternalRouterDriverInMemoryConfig,\n ) {}\n\n resolve(url: string): Observable<DaffExternallyResolvableUrl> {\n const truncatedUrl = daffUriTruncateQueryFragment(url);\n\n return of(this.configuration.resolver(truncatedUrl) || DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n InjectionToken,\n inject,\n} from '@angular/core';\n\nimport { DaffExternalRouterDriver } from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n} from './config';\nimport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\n\n/**\n * The `DaffExternalRouterDriverInMemoryModule` is an importable NgModule that can\n * be used to configure the {@link DaffExternalRouterInMemoryDriver}.\n */\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n})\nexport class DaffExternalRouterDriverInMemoryModule {\n static forRoot(\n config: DaffExternalRouterDriverInMemoryConfig | InjectionToken<DaffExternalRouterDriverInMemoryConfig>,\n ): ModuleWithProviders<DaffExternalRouterDriverInMemoryModule> {\n return {\n ngModule: DaffExternalRouterDriverInMemoryModule,\n providers: [\n {\n provide: DaffExternalRouterDriver,\n useExisting: DaffExternalRouterInMemoryDriver,\n },\n {\n provide: DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n // eslint-disable-next-line prefer-arrow/prefer-arrow-functions\n useFactory() {\n return config instanceof InjectionToken ? inject(config) : config;\n },\n },\n ],\n };\n }\n}\n","/*\n * Public API Surface of @daffodil/external-router/driver/in-memory\n */\n\nexport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\nexport { DaffExternalRouterDriverInMemoryModule } from './in-memory.module';\n\nexport {\n DaffExternalRouterDriverInMemoryConfig,\n DaffExternalRouterDriverInMemoryResolver,\n} from './config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG as ɵa} from './config';"],"names":[],"mappings":";;;;;;WAoBY,MAAM,yCAAyC;AAD3D,MAAM,aAAa,GAA2C;IAC5D,QAAQ,IAAiD;CAC1D,CAAC;AAEF;;;;;MAKa,4CAA4C,GAAG,IAAI,cAAc,CAE5E,8CAA8C,EAAE;IAChD,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAM,aAAa;CAC7B;;ACTD;;;;;;;;MAWa,gCAAgC;IAE3C,YAEQ,aAAqD;QAArD,kBAAa,GAAb,aAAa,CAAwC;KACzD;IAEJ,OAAO,CAAC,GAAW;QACjB,MAAM,YAAY,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAEvD,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,yCAAyC,CAAC,CAAC;KACnG;;;;YAdF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;4CAIE,MAAM,SAAC,4CAA4C;;;ACtBtD;;;;MAQa,sCAAsC;IACjD,OAAO,OAAO,CACZ,MAAuG;QAEvG,OAAO;YACL,QAAQ,EAAE,sCAAsC;YAChD,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,wBAAwB;oBACjC,WAAW,EAAE,gCAAgC;iBAC9C;gBACD;oBACE,OAAO,EAAE,4CAA4C;;oBAErD,UAAU;wBACR,OAAO,MAAM,YAAY,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;qBACnE;iBACF;aACF;SACF,CAAC;KACH;;;YAxBF,QAAQ,SAAC;gBACR,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,CAAC,YAAY,CAAC;aACxB;;;ACvBD;;;;ACAA;;;;;;"}
1
+ {"version":3,"file":"daffodil-external-router-driver-in-memory.js","sources":["../../../libs/external-router/driver/in-memory/src/config.ts","../../../libs/external-router/driver/in-memory/src/in-memory.service.ts","../../../libs/external-router/driver/in-memory/src/in-memory.module.ts","../../../libs/external-router/driver/in-memory/src/public_api.ts","../../../libs/external-router/driver/in-memory/src/daffodil-external-router-driver-in-memory.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION } from '@daffodil/external-router/driver';\n\n/**\n * A lookup for a URL.\n * Returns an {@link DaffExternallyResolvableUrl} or\n * {@link DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION} if the URL cannot be resolved\n */\nexport type DaffExternalRouterDriverInMemoryResolver = (url: string) => DaffExternallyResolvableUrl;\n\n/**\n * The configuration for the in-memory driver.\n */\nexport interface DaffExternalRouterDriverInMemoryConfig {\n\tresolver: DaffExternalRouterDriverInMemoryResolver;\n}\n\nconst defaultConfig: DaffExternalRouterDriverInMemoryConfig = {\n resolver: () => DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n};\n\n/**\n * The token used by Daffodil to hold the driver's configuration.\n *\n * @docs-private\n */\nexport const DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG = new InjectionToken<\n\tDaffExternalRouterDriverInMemoryConfig\n>('DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG', {\n providedIn: 'root',\n factory: () => defaultConfig,\n});\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n of,\n} from 'rxjs';\n\nimport {\n daffUriTruncateLeadingSlash,\n daffUriTruncateQueryFragment,\n} from '@daffodil/core/routing';\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport {\n DaffExternalRouterDriverInterface,\n DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n} from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n} from './config';\n\n/**\n * The DaffExternalRouterInMemoryDriver is responsible for resolving\n * a URL using the resolver in the provided configuration.\n *\n * @inheritdoc\n *\n * @see {@link DaffExternalRouterInMemoryDriver}\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffExternalRouterInMemoryDriver\nimplements DaffExternalRouterDriverInterface {\n constructor(\n\t\t@Inject(DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG)\n\t\tprivate configuration: DaffExternalRouterDriverInMemoryConfig,\n ) {}\n\n resolve(url: string): Observable<DaffExternallyResolvableUrl> {\n const truncatedUrl = daffUriTruncateQueryFragment(url);\n const resolvedUrl = this.configuration.resolver(truncatedUrl);\n\n return of(resolvedUrl?.url ? {\n ...resolvedUrl,\n url: daffUriTruncateLeadingSlash(resolvedUrl.url),\n } : DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n InjectionToken,\n inject,\n} from '@angular/core';\n\nimport { DaffExternalRouterDriver } from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n} from './config';\nimport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\n\n/**\n * The `DaffExternalRouterDriverInMemoryModule` is an importable NgModule that can\n * be used to configure the {@link DaffExternalRouterInMemoryDriver}.\n */\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n})\nexport class DaffExternalRouterDriverInMemoryModule {\n static forRoot(\n config: DaffExternalRouterDriverInMemoryConfig | InjectionToken<DaffExternalRouterDriverInMemoryConfig>,\n ): ModuleWithProviders<DaffExternalRouterDriverInMemoryModule> {\n return {\n ngModule: DaffExternalRouterDriverInMemoryModule,\n providers: [\n {\n provide: DaffExternalRouterDriver,\n useExisting: DaffExternalRouterInMemoryDriver,\n },\n {\n provide: DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n // eslint-disable-next-line prefer-arrow/prefer-arrow-functions\n useFactory() {\n return config instanceof InjectionToken ? inject(config) : config;\n },\n },\n ],\n };\n }\n}\n","/*\n * Public API Surface of @daffodil/external-router/driver/in-memory\n */\n\nexport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\nexport { DaffExternalRouterDriverInMemoryModule } from './in-memory.module';\n\nexport {\n DaffExternalRouterDriverInMemoryConfig,\n DaffExternalRouterDriverInMemoryResolver,\n} from './config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG as ɵa} from './config';"],"names":[],"mappings":";;;;;;WAoBY,MAAM,yCAAyC;AAD3D,MAAM,aAAa,GAA2C;IAC5D,QAAQ,IAAiD;CAC1D,CAAC;AAEF;;;;;MAKa,4CAA4C,GAAG,IAAI,cAAc,CAE5E,8CAA8C,EAAE;IAChD,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAM,aAAa;CAC7B;;ACTD;;;;;;;;MAWa,gCAAgC;IAE3C,YAEQ,aAAqD;QAArD,kBAAa,GAAb,aAAa,CAAwC;KACzD;IAEJ,OAAO,CAAC,GAAW;QACjB,MAAM,YAAY,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE9D,OAAO,EAAE,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,oCACrB,WAAW,KACd,GAAG,EAAE,2BAA2B,CAAC,WAAW,CAAC,GAAG,CAAC,MAC/C,yCAAyC,CAAC,CAAC;KAChD;;;;YAlBF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;4CAIE,MAAM,SAAC,4CAA4C;;;ACtBtD;;;;MAQa,sCAAsC;IACjD,OAAO,OAAO,CACZ,MAAuG;QAEvG,OAAO;YACL,QAAQ,EAAE,sCAAsC;YAChD,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,wBAAwB;oBACjC,WAAW,EAAE,gCAAgC;iBAC9C;gBACD;oBACE,OAAO,EAAE,4CAA4C;;oBAErD,UAAU;wBACR,OAAO,MAAM,YAAY,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;qBACnE;iBACF;aACF;SACF,CAAC;KACH;;;YAxBF,QAAQ,SAAC;gBACR,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,CAAC,YAAY,CAAC;aACxB;;;ACvBD;;;;ACAA;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@daffodil/external-router",
3
- "version": "0.39.1",
3
+ "version": "0.39.2",
4
4
  "description": "A platform-agnostic package that connects the @angular/router with an external routing service (e.g. an API), allowing for runtime route resolution.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -16,12 +16,12 @@
16
16
  "@angular/common": "^11.0.0",
17
17
  "@angular/core": "^11.0.0",
18
18
  "@angular/router": "^11.0.0",
19
- "@daffodil/core": "0.39.1",
19
+ "@daffodil/core": "0.39.2",
20
20
  "rxjs": "6.6.3"
21
21
  },
22
22
  "optionalDependencies": {
23
23
  "apollo-angular": "^2.4.0",
24
- "@daffodil/driver": "0.39.1"
24
+ "@daffodil/driver": "0.39.2"
25
25
  },
26
26
  "main": "bundles/daffodil-external-router.umd.js",
27
27
  "module": "fesm2015/daffodil-external-router.js",