@daffodil/external-router 0.88.1 → 0.90.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/driver/in-memory/index.d.ts +42 -1
- package/driver/index.d.ts +32 -1
- package/driver/magento/2.4.1/index.d.ts +50 -1
- package/driver/magento/2.4.2/index.d.ts +50 -1
- package/driver/magento/2.4.3/index.d.ts +56 -1
- package/driver/magento/index.d.ts +281 -1
- package/driver/shopify/index.d.ts +15 -0
- package/driver/testing/index.d.ts +50 -1
- package/fesm2022/daffodil-external-router-driver-in-memory.mjs +3 -3
- package/fesm2022/daffodil-external-router-driver-in-memory.mjs.map +1 -1
- package/fesm2022/daffodil-external-router-driver-magento-2.4.1.mjs +7 -7
- package/fesm2022/daffodil-external-router-driver-magento-2.4.1.mjs.map +1 -1
- package/fesm2022/daffodil-external-router-driver-magento-2.4.2.mjs +7 -7
- package/fesm2022/daffodil-external-router-driver-magento-2.4.2.mjs.map +1 -1
- package/fesm2022/daffodil-external-router-driver-magento-2.4.3.mjs +9 -9
- package/fesm2022/daffodil-external-router-driver-magento-2.4.3.mjs.map +1 -1
- package/fesm2022/daffodil-external-router-driver-magento.mjs.map +1 -1
- package/fesm2022/daffodil-external-router-driver-shopify.mjs +40 -0
- package/fesm2022/daffodil-external-router-driver-shopify.mjs.map +1 -0
- package/fesm2022/daffodil-external-router-driver-testing.mjs +7 -7
- package/fesm2022/daffodil-external-router-driver-testing.mjs.map +1 -1
- package/fesm2022/daffodil-external-router-driver.mjs.map +1 -1
- package/fesm2022/daffodil-external-router-routing.mjs.map +1 -1
- package/fesm2022/daffodil-external-router.mjs.map +1 -1
- package/index.d.ts +96 -1
- package/package.json +1 -1
- package/routing/index.d.ts +13 -1
- package/config.d.ts +0 -11
- package/driver/in-memory/config.d.ts +0 -14
- package/driver/in-memory/in-memory.service.d.ts +0 -20
- package/driver/in-memory/provider.d.ts +0 -6
- package/driver/in-memory/public_api.d.ts +0 -3
- package/driver/interfaces/external-router-driver.interface.d.ts +0 -18
- package/driver/magento/2.4.1/graphql/queries/resolve-url-v2.4.1.d.ts +0 -6
- package/driver/magento/2.4.1/magento.module.d.ts +0 -29
- package/driver/magento/2.4.1/magento.service.d.ts +0 -18
- package/driver/magento/2.4.1/public_api.d.ts +0 -2
- package/driver/magento/2.4.1/transforms/resolution-to-resolvable-url.d.ts +0 -3
- package/driver/magento/2.4.2/graphql/queries/resolve-url-v2.4.2.d.ts +0 -6
- package/driver/magento/2.4.2/magento.module.d.ts +0 -29
- package/driver/magento/2.4.2/magento.service.d.ts +0 -18
- package/driver/magento/2.4.2/public_api.d.ts +0 -2
- package/driver/magento/2.4.2/transforms/resolution-to-resolvable-url.d.ts +0 -3
- package/driver/magento/2.4.3/graphql/queries/resolve.d.ts +0 -6
- package/driver/magento/2.4.3/magento.module.d.ts +0 -29
- package/driver/magento/2.4.3/magento.service.d.ts +0 -19
- package/driver/magento/2.4.3/provider.d.ts +0 -5
- package/driver/magento/2.4.3/public_api.d.ts +0 -3
- package/driver/magento/2.4.3/transforms/resolution-to-resolvable-url.d.ts +0 -3
- package/driver/magento/2.4.3/transforms/schema/category/category.d.ts +0 -2
- package/driver/magento/2.4.3/transforms/schema/clientify-url-path.d.ts +0 -1
- package/driver/magento/2.4.3/transforms/schema/page/page.d.ts +0 -2
- package/driver/magento/2.4.3/transforms/schema/product/base.d.ts +0 -2
- package/driver/magento/2.4.3/transforms/schema/product/bundle.d.ts +0 -2
- package/driver/magento/2.4.3/transforms/schema/product/configurable.d.ts +0 -2
- package/driver/magento/2.4.3/transforms/schema/product/product.d.ts +0 -5
- package/driver/magento/2.4.3/transforms/schema/product/simple.d.ts +0 -2
- package/driver/magento/2.4.3/transforms/schema/rescale-rating.d.ts +0 -5
- package/driver/magento/2.4.3/transforms/schema/transform-schema.d.ts +0 -2
- package/driver/magento/2.4.3/transforms/transform-client-urls.d.ts +0 -2
- package/driver/magento/model/category-route-product.d.ts +0 -77
- package/driver/magento/model/category-route.d.ts +0 -41
- package/driver/magento/model/page-route.type.d.ts +0 -23
- package/driver/magento/model/product-route.d.ts +0 -85
- package/driver/magento/model/public_api.d.ts +0 -8
- package/driver/magento/model/resolution-types.d.ts +0 -5
- package/driver/magento/model/routable.d.ts +0 -14
- package/driver/magento/model/route-response.d.ts +0 -4
- package/driver/magento/model/route.d.ts +0 -5
- package/driver/magento/model/url-resolver-response.d.ts +0 -4
- package/driver/magento/model/url-resolver.d.ts +0 -13
- package/driver/magento/public_api.d.ts +0 -2
- package/driver/magento/transforms/public_api.d.ts +0 -1
- package/driver/magento/transforms/redirect-to-http.d.ts +0 -4
- package/driver/not-found-resolution.d.ts +0 -8
- package/driver/public_api.d.ts +0 -2
- package/driver/testing/config.d.ts +0 -10
- package/driver/testing/provider.d.ts +0 -6
- package/driver/testing/public_api.d.ts +0 -4
- package/driver/testing/testing.module.d.ts +0 -14
- package/driver/testing/testing.service.d.ts +0 -20
- package/model/public_api.d.ts +0 -4
- package/model/resolvable-route.d.ts +0 -39
- package/model/route-data.d.ts +0 -21
- package/model/route-type.d.ts +0 -6
- package/model/route-with-seo-data.d.ts +0 -11
- package/provide-external-router.d.ts +0 -3
- package/public_api.d.ts +0 -3
- package/routing/errors/client-error.d.ts +0 -8
- package/routing/errors/not-found-error.d.ts +0 -9
- package/routing/errors/permanent-redirect.d.ts +0 -10
- package/routing/errors/server-error.d.ts +0 -8
- package/routing/errors/temporary-redirect.d.ts +0 -10
- package/routing/guard/external-matcher-type.guard.d.ts +0 -10
- package/routing/helper/convert-to-path.d.ts +0 -7
- package/routing/processors/process-errors.d.ts +0 -6
- package/routing/processors/process-redirect.d.ts +0 -6
- package/routing/public_api.d.ts +0 -1
|
@@ -1 +1,42 @@
|
|
|
1
|
-
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { DaffExternallyResolvableUrl } from '@daffodil/external-router';
|
|
3
|
+
import { DaffExternalRouterDriverInterface } from '@daffodil/external-router/driver';
|
|
4
|
+
import * as _angular_core from '@angular/core';
|
|
5
|
+
import { InjectionToken, EnvironmentProviders } from '@angular/core';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A lookup for a URL.
|
|
9
|
+
* Returns an {@link DaffExternallyResolvableUrl} or
|
|
10
|
+
* {@link DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION} if the URL cannot be resolved
|
|
11
|
+
*/
|
|
12
|
+
type DaffExternalRouterDriverInMemoryResolver = (url: string) => DaffExternallyResolvableUrl;
|
|
13
|
+
/**
|
|
14
|
+
* The configuration for the in-memory driver.
|
|
15
|
+
*/
|
|
16
|
+
interface DaffExternalRouterDriverInMemoryConfig {
|
|
17
|
+
resolver: DaffExternalRouterDriverInMemoryResolver;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The DaffExternalRouterInMemoryDriver is responsible for resolving
|
|
22
|
+
* a URL using the resolver in the provided configuration.
|
|
23
|
+
*
|
|
24
|
+
* @inheritdoc
|
|
25
|
+
*
|
|
26
|
+
* @see {@link DaffExternalRouterInMemoryDriver}
|
|
27
|
+
*/
|
|
28
|
+
declare class DaffExternalRouterInMemoryDriver implements DaffExternalRouterDriverInterface {
|
|
29
|
+
private configuration;
|
|
30
|
+
constructor(configuration: DaffExternalRouterDriverInMemoryConfig);
|
|
31
|
+
resolve(url: string): Observable<DaffExternallyResolvableUrl>;
|
|
32
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DaffExternalRouterInMemoryDriver, never>;
|
|
33
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<DaffExternalRouterInMemoryDriver>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Provides an in-memory implementation of {@link DaffExternalRouterDriver}
|
|
38
|
+
*/
|
|
39
|
+
declare const provideDaffExternalRouterInMemoryDriver: (config?: DaffExternalRouterDriverInMemoryConfig | InjectionToken<DaffExternalRouterDriverInMemoryConfig>) => EnvironmentProviders;
|
|
40
|
+
|
|
41
|
+
export { DaffExternalRouterInMemoryDriver, provideDaffExternalRouterInMemoryDriver };
|
|
42
|
+
export type { DaffExternalRouterDriverInMemoryConfig, DaffExternalRouterDriverInMemoryResolver };
|
package/driver/index.d.ts
CHANGED
|
@@ -1 +1,32 @@
|
|
|
1
|
-
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { DaffExternallyResolvableUrl } from '@daffodil/external-router';
|
|
4
|
+
|
|
5
|
+
declare const DaffExternalRouterDriver: _angular_core.InjectionToken<DaffExternalRouterDriverInterface>;
|
|
6
|
+
declare const provideDaffExternalRouterDriver: <R extends DaffExternalRouterDriverInterface = DaffExternalRouterDriverInterface>(klass: _angular_core.Type<R>) => _angular_core.ExistingProvider;
|
|
7
|
+
/**
|
|
8
|
+
* The interface for a `@daffodil/external-router` driver.
|
|
9
|
+
*
|
|
10
|
+
* This driver is responsible for translating a URL into a Route consumable by
|
|
11
|
+
* Daffodil.
|
|
12
|
+
*/
|
|
13
|
+
interface DaffExternalRouterDriverInterface {
|
|
14
|
+
/**
|
|
15
|
+
* Resolves a URL with a platform.
|
|
16
|
+
* Returns information about the type of URL.
|
|
17
|
+
*
|
|
18
|
+
* @param url The full URL path qualified with file extension and leading slash but without domain. i.e. /full/path/to/thing.html
|
|
19
|
+
*/
|
|
20
|
+
resolve(url: string): Observable<DaffExternallyResolvableUrl>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* When a driver fails to find a resolution, it should return a 404.
|
|
25
|
+
* This const represents the standard "Not Found" resolution that a driver
|
|
26
|
+
* should return. Drivers are not required to return this value, but may do so
|
|
27
|
+
* if they would like.
|
|
28
|
+
*/
|
|
29
|
+
declare const DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION: DaffExternallyResolvableUrl;
|
|
30
|
+
|
|
31
|
+
export { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION, DaffExternalRouterDriver, provideDaffExternalRouterDriver };
|
|
32
|
+
export type { DaffExternalRouterDriverInterface };
|
|
@@ -1 +1,50 @@
|
|
|
1
|
-
|
|
1
|
+
import { Apollo } from 'apollo-angular';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { DaffExternallyResolvableUrl } from '@daffodil/external-router';
|
|
4
|
+
import { DaffExternalRouterDriverInterface } from '@daffodil/external-router/driver';
|
|
5
|
+
import * as i0 from '@angular/core';
|
|
6
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
7
|
+
import * as i1 from '@angular/common';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The DaffExternalRouterMagentoDriver is responsible for translating an
|
|
11
|
+
* arbitrary URI into a DaffExternallyResolvableUrl with Magento environments.
|
|
12
|
+
*
|
|
13
|
+
* @inheritdoc
|
|
14
|
+
*/
|
|
15
|
+
declare class DaffExternalRouterMagentoDriver implements DaffExternalRouterDriverInterface {
|
|
16
|
+
private apollo;
|
|
17
|
+
constructor(apollo: Apollo);
|
|
18
|
+
resolve(url: string): Observable<DaffExternallyResolvableUrl>;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DaffExternalRouterMagentoDriver, never>;
|
|
20
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DaffExternalRouterMagentoDriver>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The module used to configure the {@link DaffExternalRouterDriver} for usage with Magento.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* @NgModule({
|
|
29
|
+
* declarations: [],
|
|
30
|
+
* imports: [
|
|
31
|
+
* ...
|
|
32
|
+
* DaffExternalRouterDriverMagentoModule.forRoot()
|
|
33
|
+
* ],
|
|
34
|
+
* })
|
|
35
|
+
* export class AppModule{}
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* Note that this package depends upon ApolloClient, as the Magento driver uses GraphQl to make it's API calls.
|
|
39
|
+
*/
|
|
40
|
+
declare class DaffExternalRouterDriverMagentoModule {
|
|
41
|
+
/**
|
|
42
|
+
* Configures the package for the root injector.
|
|
43
|
+
*/
|
|
44
|
+
static forRoot(): ModuleWithProviders<DaffExternalRouterDriverMagentoModule>;
|
|
45
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DaffExternalRouterDriverMagentoModule, never>;
|
|
46
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DaffExternalRouterDriverMagentoModule, never, [typeof i1.CommonModule], never>;
|
|
47
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<DaffExternalRouterDriverMagentoModule>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export { DaffExternalRouterDriverMagentoModule, DaffExternalRouterMagentoDriver };
|
|
@@ -1 +1,50 @@
|
|
|
1
|
-
|
|
1
|
+
import { Apollo } from 'apollo-angular';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { DaffExternallyResolvableUrl } from '@daffodil/external-router';
|
|
4
|
+
import { DaffExternalRouterDriverInterface } from '@daffodil/external-router/driver';
|
|
5
|
+
import * as i0 from '@angular/core';
|
|
6
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
7
|
+
import * as i1 from '@angular/common';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The DaffExternalRouterMagentoDriver is responsible for translating an
|
|
11
|
+
* arbitrary URI into a DaffExternallyResolvableUrl with Magento environments.
|
|
12
|
+
*
|
|
13
|
+
* @inheritdoc
|
|
14
|
+
*/
|
|
15
|
+
declare class DaffExternalRouterMagentoDriver implements DaffExternalRouterDriverInterface {
|
|
16
|
+
private apollo;
|
|
17
|
+
constructor(apollo: Apollo);
|
|
18
|
+
resolve(url: string): Observable<DaffExternallyResolvableUrl>;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DaffExternalRouterMagentoDriver, never>;
|
|
20
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DaffExternalRouterMagentoDriver>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The module used to configure the {@link DaffExternalRouterDriver} for usage with Magento.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* @NgModule({
|
|
29
|
+
* declarations: [],
|
|
30
|
+
* imports: [
|
|
31
|
+
* ...
|
|
32
|
+
* DaffExternalRouterDriverMagentoModule.forRoot()
|
|
33
|
+
* ],
|
|
34
|
+
* })
|
|
35
|
+
* export class AppModule{}
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* Note that this package depends upon ApolloClient, as the Magento driver uses GraphQl to make it's API calls.
|
|
39
|
+
*/
|
|
40
|
+
declare class DaffExternalRouterDriverMagentoModule {
|
|
41
|
+
/**
|
|
42
|
+
* Configures the package for the root injector.
|
|
43
|
+
*/
|
|
44
|
+
static forRoot(): ModuleWithProviders<DaffExternalRouterDriverMagentoModule>;
|
|
45
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DaffExternalRouterDriverMagentoModule, never>;
|
|
46
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DaffExternalRouterDriverMagentoModule, never, [typeof i1.CommonModule], never>;
|
|
47
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<DaffExternalRouterDriverMagentoModule>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export { DaffExternalRouterDriverMagentoModule, DaffExternalRouterMagentoDriver };
|
|
@@ -1 +1,56 @@
|
|
|
1
|
-
|
|
1
|
+
import { Apollo } from 'apollo-angular';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { DaffExternallyResolvableUrl } from '@daffodil/external-router';
|
|
4
|
+
import { DaffExternalRouterDriverInterface } from '@daffodil/external-router/driver';
|
|
5
|
+
import * as i0 from '@angular/core';
|
|
6
|
+
import { ModuleWithProviders, EnvironmentProviders } from '@angular/core';
|
|
7
|
+
import * as i1 from '@angular/common';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The DaffExternalRouterMagentoDriver is responsible for translating an
|
|
11
|
+
* arbitrary URI into a DaffExternallyResolvableUrl with Magento environments.
|
|
12
|
+
*
|
|
13
|
+
* @inheritdoc
|
|
14
|
+
*/
|
|
15
|
+
declare class DaffExternalRouterMagentoDriver implements DaffExternalRouterDriverInterface {
|
|
16
|
+
private apollo;
|
|
17
|
+
private document;
|
|
18
|
+
constructor(apollo: Apollo, document: Document);
|
|
19
|
+
resolve(url: string): Observable<DaffExternallyResolvableUrl>;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DaffExternalRouterMagentoDriver, never>;
|
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DaffExternalRouterMagentoDriver>;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The module used to configure the {@link DaffExternalRouterDriver} for usage with Magento.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* @NgModule({
|
|
30
|
+
* declarations: [],
|
|
31
|
+
* imports: [
|
|
32
|
+
* ...
|
|
33
|
+
* DaffExternalRouterDriverMagentoModule.forRoot()
|
|
34
|
+
* ],
|
|
35
|
+
* })
|
|
36
|
+
* export class AppModule{}
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* Note that this package depends upon ApolloClient, as the Magento driver uses GraphQl to make it's API calls.
|
|
40
|
+
*/
|
|
41
|
+
declare class DaffExternalRouterDriverMagentoModule {
|
|
42
|
+
/**
|
|
43
|
+
* Configures the package for the root injector.
|
|
44
|
+
*/
|
|
45
|
+
static forRoot(): ModuleWithProviders<DaffExternalRouterDriverMagentoModule>;
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DaffExternalRouterDriverMagentoModule, never>;
|
|
47
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DaffExternalRouterDriverMagentoModule, never, [typeof i1.CommonModule], never>;
|
|
48
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<DaffExternalRouterDriverMagentoModule>;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Provides a Magento implementation of {@link DaffExternalRouterDriver}.
|
|
53
|
+
*/
|
|
54
|
+
declare const provideDaffExternalRouterMagentoDriver: () => EnvironmentProviders;
|
|
55
|
+
|
|
56
|
+
export { DaffExternalRouterDriverMagentoModule, DaffExternalRouterMagentoDriver, provideDaffExternalRouterMagentoDriver };
|
|
@@ -1 +1,281 @@
|
|
|
1
|
-
|
|
1
|
+
interface MagentoUrlResolver {
|
|
2
|
+
relative_url: string;
|
|
3
|
+
type: string;
|
|
4
|
+
redirectCode: number;
|
|
5
|
+
/**
|
|
6
|
+
* In v2.4.2 this became the standard id field
|
|
7
|
+
*/
|
|
8
|
+
entity_uid?: string;
|
|
9
|
+
/**
|
|
10
|
+
* The original id field from Magento
|
|
11
|
+
*/
|
|
12
|
+
id?: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
declare enum MagentoUrlRewriteEntityTypeEnum {
|
|
16
|
+
PRODUCT = "PRODUCT",
|
|
17
|
+
CATEGORY = "CATEGORY",
|
|
18
|
+
CMS_PAGE = "CMS_PAGE"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
interface MagentoUrlResolverResponse {
|
|
22
|
+
urlResolver: MagentoUrlResolver;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface MagentoCategoryRouteProduct {
|
|
26
|
+
/**
|
|
27
|
+
* The relative path for the route.
|
|
28
|
+
*/
|
|
29
|
+
relative_url: string;
|
|
30
|
+
/**
|
|
31
|
+
* The type of route, typically PRODUCT, CATEGORY or CMS_PAGE
|
|
32
|
+
*/
|
|
33
|
+
type: 'PRODUCT';
|
|
34
|
+
/**
|
|
35
|
+
* The HTTP code for the page.
|
|
36
|
+
*/
|
|
37
|
+
redirect_code: number;
|
|
38
|
+
/**
|
|
39
|
+
* In v2.4.3 this became the standard field across types
|
|
40
|
+
*/
|
|
41
|
+
uid: string;
|
|
42
|
+
/**
|
|
43
|
+
* The canonical url of the route.
|
|
44
|
+
*/
|
|
45
|
+
canonical_url: string | null;
|
|
46
|
+
/**
|
|
47
|
+
* The name of the route
|
|
48
|
+
*/
|
|
49
|
+
name: string | null;
|
|
50
|
+
/**
|
|
51
|
+
* The title of the route
|
|
52
|
+
*/
|
|
53
|
+
meta_title: string | null;
|
|
54
|
+
/**
|
|
55
|
+
* The sku of a product.
|
|
56
|
+
*/
|
|
57
|
+
sku: string;
|
|
58
|
+
/**
|
|
59
|
+
* The number of reviews of a product.
|
|
60
|
+
*/
|
|
61
|
+
review_count: number;
|
|
62
|
+
/**
|
|
63
|
+
* The rating of a product.
|
|
64
|
+
*/
|
|
65
|
+
rating_summary: number;
|
|
66
|
+
/**
|
|
67
|
+
* The images of a product.
|
|
68
|
+
*/
|
|
69
|
+
image: {
|
|
70
|
+
url: string;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* The price of the item.
|
|
74
|
+
*/
|
|
75
|
+
price_range: {
|
|
76
|
+
maximum_price: {
|
|
77
|
+
final_price: {
|
|
78
|
+
currency: string;
|
|
79
|
+
value: number;
|
|
80
|
+
};
|
|
81
|
+
regular_price: {
|
|
82
|
+
currency: string;
|
|
83
|
+
value: number;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
minimum_price: {
|
|
87
|
+
final_price: {
|
|
88
|
+
currency: string;
|
|
89
|
+
value: number;
|
|
90
|
+
};
|
|
91
|
+
regular_price: {
|
|
92
|
+
currency: string;
|
|
93
|
+
value: number;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* The type of route.
|
|
99
|
+
*/
|
|
100
|
+
__typename: string;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
interface MagentoCategoryRoute {
|
|
104
|
+
/**
|
|
105
|
+
* The relative path for the route.
|
|
106
|
+
*/
|
|
107
|
+
relative_url: string;
|
|
108
|
+
/**
|
|
109
|
+
* The type of route, typically PRODUCT, CATEGORY or CMS_PAGE
|
|
110
|
+
*/
|
|
111
|
+
type: 'CATEGORY';
|
|
112
|
+
/**
|
|
113
|
+
* The HTTP code for the page.
|
|
114
|
+
*/
|
|
115
|
+
redirect_code: number;
|
|
116
|
+
/**
|
|
117
|
+
* In v2.4.3 this became the standard field across types
|
|
118
|
+
*/
|
|
119
|
+
uid?: string;
|
|
120
|
+
/**
|
|
121
|
+
* The canonical url of the route.
|
|
122
|
+
*/
|
|
123
|
+
canonical_url?: string;
|
|
124
|
+
/**
|
|
125
|
+
* The meta description of the route
|
|
126
|
+
*/
|
|
127
|
+
meta_description?: string;
|
|
128
|
+
/**
|
|
129
|
+
* The name of the route
|
|
130
|
+
*/
|
|
131
|
+
name?: string;
|
|
132
|
+
/**
|
|
133
|
+
* The title of the route
|
|
134
|
+
*/
|
|
135
|
+
meta_title?: string;
|
|
136
|
+
/**
|
|
137
|
+
* The list of items in the category.
|
|
138
|
+
*/
|
|
139
|
+
products: {
|
|
140
|
+
items: MagentoCategoryRouteProduct[];
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
interface MagentoCmsPageRoute {
|
|
145
|
+
/**
|
|
146
|
+
* The relative path for the route.
|
|
147
|
+
*/
|
|
148
|
+
relative_url: string;
|
|
149
|
+
/**
|
|
150
|
+
* The type of route, typically PRODUCT, CATEGORY or CMS_PAGE
|
|
151
|
+
*/
|
|
152
|
+
type: 'CMS_PAGE';
|
|
153
|
+
/**
|
|
154
|
+
* The HTTP code for the page.
|
|
155
|
+
*/
|
|
156
|
+
redirect_code: number;
|
|
157
|
+
content?: string;
|
|
158
|
+
content_heading?: string;
|
|
159
|
+
identifier?: string;
|
|
160
|
+
meta_description?: string;
|
|
161
|
+
meta_keywords?: string;
|
|
162
|
+
meta_title?: string;
|
|
163
|
+
page_layout?: string;
|
|
164
|
+
title?: string;
|
|
165
|
+
url_key?: string;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
interface MagentoProductRoute {
|
|
169
|
+
/**
|
|
170
|
+
* The relative path for the route.
|
|
171
|
+
*/
|
|
172
|
+
relative_url: string;
|
|
173
|
+
/**
|
|
174
|
+
* The type of route, typically PRODUCT, CATEGORY or CMS_PAGE
|
|
175
|
+
*/
|
|
176
|
+
type: 'PRODUCT';
|
|
177
|
+
/**
|
|
178
|
+
* The HTTP code for the page.
|
|
179
|
+
*/
|
|
180
|
+
redirect_code: number;
|
|
181
|
+
/**
|
|
182
|
+
* In v2.4.3 this became the standard field across types
|
|
183
|
+
*/
|
|
184
|
+
uid: string;
|
|
185
|
+
/**
|
|
186
|
+
* The canonical url of the route.
|
|
187
|
+
*/
|
|
188
|
+
canonical_url: string | null;
|
|
189
|
+
/**
|
|
190
|
+
* The meta description of the route
|
|
191
|
+
*/
|
|
192
|
+
meta_description: string | null;
|
|
193
|
+
/**
|
|
194
|
+
* The name of the route
|
|
195
|
+
*/
|
|
196
|
+
name: string;
|
|
197
|
+
/**
|
|
198
|
+
* The title of the route
|
|
199
|
+
*/
|
|
200
|
+
meta_title: string | null;
|
|
201
|
+
/**
|
|
202
|
+
* The sku of a product.
|
|
203
|
+
*/
|
|
204
|
+
sku: string;
|
|
205
|
+
/**
|
|
206
|
+
* The number of reviews of a product.
|
|
207
|
+
*/
|
|
208
|
+
review_count: number | null;
|
|
209
|
+
/**
|
|
210
|
+
* The rating of a product.
|
|
211
|
+
*/
|
|
212
|
+
rating_summary: number | null;
|
|
213
|
+
/**
|
|
214
|
+
* The images of a product.
|
|
215
|
+
*/
|
|
216
|
+
image?: {
|
|
217
|
+
url: string;
|
|
218
|
+
};
|
|
219
|
+
/**
|
|
220
|
+
* The type of route.
|
|
221
|
+
*/
|
|
222
|
+
__typename: string;
|
|
223
|
+
/**
|
|
224
|
+
* The price of the item.
|
|
225
|
+
*/
|
|
226
|
+
price_range: {
|
|
227
|
+
maximum_price: {
|
|
228
|
+
final_price: {
|
|
229
|
+
currency: string;
|
|
230
|
+
value: number;
|
|
231
|
+
};
|
|
232
|
+
regular_price: {
|
|
233
|
+
currency: string;
|
|
234
|
+
value: number;
|
|
235
|
+
};
|
|
236
|
+
};
|
|
237
|
+
minimum_price: {
|
|
238
|
+
final_price: {
|
|
239
|
+
currency: string;
|
|
240
|
+
value: number;
|
|
241
|
+
};
|
|
242
|
+
regular_price: {
|
|
243
|
+
currency: string;
|
|
244
|
+
value: number;
|
|
245
|
+
};
|
|
246
|
+
};
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* The stock status of a product.
|
|
250
|
+
*/
|
|
251
|
+
stock_status: 'IN_STOCK' | 'OUT_OF_STOCK';
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
interface MagentoRoutable {
|
|
255
|
+
/**
|
|
256
|
+
* The relative path for the route.
|
|
257
|
+
*/
|
|
258
|
+
relative_url: string;
|
|
259
|
+
/**
|
|
260
|
+
* The type of route, typically PRODUCT, CATEGORY or CMS_PAGE
|
|
261
|
+
*/
|
|
262
|
+
type: 'UNKNOWN' | null;
|
|
263
|
+
/**
|
|
264
|
+
* The HTTP code for the page.
|
|
265
|
+
*/
|
|
266
|
+
redirect_code: number;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
type MagentoRoute = MagentoRoutable | MagentoProductRoute | MagentoCategoryRoute | MagentoCmsPageRoute;
|
|
270
|
+
|
|
271
|
+
interface MagentoRouteResponse {
|
|
272
|
+
route: MagentoRoute;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Transforms a Magento redirect code to the appropriate HTTP status code.
|
|
277
|
+
*/
|
|
278
|
+
declare const magentoTransformRedirectToHttpCode: (code: number) => number;
|
|
279
|
+
|
|
280
|
+
export { MagentoUrlRewriteEntityTypeEnum, magentoTransformRedirectToHttpCode };
|
|
281
|
+
export type { MagentoCategoryRoute, MagentoCmsPageRoute, MagentoProductRoute, MagentoRoute, MagentoRouteResponse, MagentoUrlResolver, MagentoUrlResolverResponse };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { DaffExternallyResolvableUrl } from '@daffodil/external-router';
|
|
3
|
+
import { DaffExternalRouterDriverInterface } from '@daffodil/external-router/driver';
|
|
4
|
+
import * as i0 from '@angular/core';
|
|
5
|
+
import { Provider, EnvironmentProviders } from '@angular/core';
|
|
6
|
+
|
|
7
|
+
declare class DaffShopifyExternalRouterDriver implements DaffExternalRouterDriverInterface {
|
|
8
|
+
resolve(url: string): Observable<DaffExternallyResolvableUrl>;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DaffShopifyExternalRouterDriver, never>;
|
|
10
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DaffShopifyExternalRouterDriver>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare const provideDaffExternalRouterShopifyDriver: () => (Provider | EnvironmentProviders)[];
|
|
14
|
+
|
|
15
|
+
export { DaffShopifyExternalRouterDriver, provideDaffExternalRouterShopifyDriver };
|
|
@@ -1 +1,50 @@
|
|
|
1
|
-
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { DaffExternalRouteType, DaffExternallyResolvableUrl } from '@daffodil/external-router';
|
|
3
|
+
import { DaffExternalRouterDriverInterface } from '@daffodil/external-router/driver';
|
|
4
|
+
import * as i0 from '@angular/core';
|
|
5
|
+
import { ModuleWithProviders, InjectionToken, EnvironmentProviders } from '@angular/core';
|
|
6
|
+
import * as i1 from '@angular/common';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The configuration for the testing driver. It is a dictionary of "url": "type",
|
|
10
|
+
* pairs, where the URL is a URL-safe routeable path, e.g. "sweatshirts" or "t-shirts"
|
|
11
|
+
* and the type is a known type to your application, e.g. "CATEGORY".
|
|
12
|
+
*/
|
|
13
|
+
interface DaffExternalRouterDriverTestingConfig {
|
|
14
|
+
[url: string]: DaffExternalRouteType | DaffExternallyResolvableUrl;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The DaffExternalRouterTestingDriver is responsible for translating an
|
|
19
|
+
* arbitrary URI into a DaffExternallyResolvableUrl in testing environments.
|
|
20
|
+
*
|
|
21
|
+
* @inheritdoc
|
|
22
|
+
*
|
|
23
|
+
* @see {@link DaffExternalRouterTestingDriver}
|
|
24
|
+
*/
|
|
25
|
+
declare class DaffExternalRouterTestingDriver implements DaffExternalRouterDriverInterface {
|
|
26
|
+
private testingConfiguration;
|
|
27
|
+
constructor(testingConfiguration?: DaffExternalRouterDriverTestingConfig);
|
|
28
|
+
resolve(url: string): Observable<DaffExternallyResolvableUrl>;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DaffExternalRouterTestingDriver, never>;
|
|
30
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DaffExternalRouterTestingDriver>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The `DaffExternalRouterDriverTestingModule` is an importable NgModule that can
|
|
35
|
+
* be used to configure the {@link DaffExternalRouterTestingDriver}.
|
|
36
|
+
*/
|
|
37
|
+
declare class DaffExternalRouterDriverTestingModule {
|
|
38
|
+
static forRoot(config: DaffExternalRouterDriverTestingConfig): ModuleWithProviders<DaffExternalRouterDriverTestingModule>;
|
|
39
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DaffExternalRouterDriverTestingModule, never>;
|
|
40
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DaffExternalRouterDriverTestingModule, never, [typeof i1.CommonModule], never>;
|
|
41
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<DaffExternalRouterDriverTestingModule>;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Provides a testing implementation of {@link DaffExternalRouterDriver}
|
|
46
|
+
*/
|
|
47
|
+
declare const provideDaffExternalRouterTestingDriver: (config: DaffExternalRouterDriverTestingConfig | InjectionToken<DaffExternalRouterDriverTestingConfig>) => EnvironmentProviders;
|
|
48
|
+
|
|
49
|
+
export { DaffExternalRouterDriverTestingModule, DaffExternalRouterTestingDriver, provideDaffExternalRouterTestingDriver };
|
|
50
|
+
export type { DaffExternalRouterDriverTestingConfig };
|
|
@@ -40,10 +40,10 @@ class DaffExternalRouterInMemoryDriver {
|
|
|
40
40
|
url: daffUriTruncateLeadingSlash(resolvedUrl.url),
|
|
41
41
|
} : DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);
|
|
42
42
|
}
|
|
43
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
44
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
43
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffExternalRouterInMemoryDriver, deps: [{ token: DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffExternalRouterInMemoryDriver, providedIn: 'root' }); }
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffExternalRouterInMemoryDriver, decorators: [{
|
|
47
47
|
type: Injectable,
|
|
48
48
|
args: [{
|
|
49
49
|
providedIn: 'root',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daffodil-external-router-driver-in-memory.mjs","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/provider.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 { createConfigInjectionToken } from '@daffodil/core';\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 resolver: DaffExternalRouterDriverInMemoryResolver;\n}\n\nconst defaultConfig: DaffExternalRouterDriverInMemoryConfig = {\n resolver: () => DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n};\n\nexport const {\n /**\n * The token used by Daffodil to hold the driver's configuration.\n *\n * @docs-private\n */\n token: DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n /**\n * Provider function for {@link DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG}.\n */\n provider: provideDaffExternalRouterDriverInMemoryConfig,\n} = createConfigInjectionToken<DaffExternalRouterDriverInMemoryConfig>(defaultConfig, 'DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG');\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 @Inject(DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG)\n private 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 {\n EnvironmentProviders,\n InjectionToken,\n makeEnvironmentProviders,\n} from '@angular/core';\n\nimport { provideDaffExternalRouterDriver } from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n provideDaffExternalRouterDriverInMemoryConfig,\n} from './config';\nimport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\n\n/**\n * Provides an in-memory implementation of {@link DaffExternalRouterDriver}\n */\nexport const provideDaffExternalRouterInMemoryDriver = (config:\n DaffExternalRouterDriverInMemoryConfig | InjectionToken<DaffExternalRouterDriverInMemoryConfig> = undefined,\n): EnvironmentProviders => makeEnvironmentProviders([\n provideDaffExternalRouterDriver(DaffExternalRouterInMemoryDriver),\n config ? provideDaffExternalRouterDriverInMemoryConfig(config) : [],\n]);\n","/*\n * Public API Surface of @daffodil/external-router/driver/in-memory\n */\n\nexport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\n\nexport {\n DaffExternalRouterDriverInMemoryConfig,\n DaffExternalRouterDriverInMemoryResolver,\n} from './config';\n\nexport { provideDaffExternalRouterInMemoryDriver } from './provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAkBA,MAAM,aAAa,GAA2C;AAC5D,IAAA,QAAQ,EAAE,MAAM,yCAAyC;CAC1D;AAEM,MAAM;AACX;;;;AAIG;AACH,KAAK,EAAE,4CAA4C;AACnD;;AAEG;AACH,QAAQ,EAAE,6CAA6C,GACxD,GAAG,0BAA0B,CAAyC,aAAa,EAAE,8CAA8C,CAAC;;ACTrI;;;;;;;AAOG;MAIU,gCAAgC,CAAA;AAE3C,IAAA,WAAA,CAEU,aAAqD,EAAA;QAArD,
|
|
1
|
+
{"version":3,"file":"daffodil-external-router-driver-in-memory.mjs","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/provider.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 { createConfigInjectionToken } from '@daffodil/core';\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 resolver: DaffExternalRouterDriverInMemoryResolver;\n}\n\nconst defaultConfig: DaffExternalRouterDriverInMemoryConfig = {\n resolver: () => DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION,\n};\n\nexport const {\n /**\n * The token used by Daffodil to hold the driver's configuration.\n *\n * @docs-private\n */\n token: DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG,\n /**\n * Provider function for {@link DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG}.\n */\n provider: provideDaffExternalRouterDriverInMemoryConfig,\n} = createConfigInjectionToken<DaffExternalRouterDriverInMemoryConfig>(defaultConfig, 'DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG');\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 @Inject(DAFF_EXTERNAL_ROUTER_DRIVER_IN_MEMORY_CONFIG)\n private 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 {\n EnvironmentProviders,\n InjectionToken,\n makeEnvironmentProviders,\n} from '@angular/core';\n\nimport { provideDaffExternalRouterDriver } from '@daffodil/external-router/driver';\n\nimport {\n DaffExternalRouterDriverInMemoryConfig,\n provideDaffExternalRouterDriverInMemoryConfig,\n} from './config';\nimport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\n\n/**\n * Provides an in-memory implementation of {@link DaffExternalRouterDriver}\n */\nexport const provideDaffExternalRouterInMemoryDriver = (config:\n DaffExternalRouterDriverInMemoryConfig | InjectionToken<DaffExternalRouterDriverInMemoryConfig> = undefined,\n): EnvironmentProviders => makeEnvironmentProviders([\n provideDaffExternalRouterDriver(DaffExternalRouterInMemoryDriver),\n config ? provideDaffExternalRouterDriverInMemoryConfig(config) : [],\n]);\n","/*\n * Public API Surface of @daffodil/external-router/driver/in-memory\n */\n\nexport { DaffExternalRouterInMemoryDriver } from './in-memory.service';\n\nexport {\n DaffExternalRouterDriverInMemoryConfig,\n DaffExternalRouterDriverInMemoryResolver,\n} from './config';\n\nexport { provideDaffExternalRouterInMemoryDriver } from './provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAkBA,MAAM,aAAa,GAA2C;AAC5D,IAAA,QAAQ,EAAE,MAAM,yCAAyC;CAC1D;AAEM,MAAM;AACX;;;;AAIG;AACH,KAAK,EAAE,4CAA4C;AACnD;;AAEG;AACH,QAAQ,EAAE,6CAA6C,GACxD,GAAG,0BAA0B,CAAyC,aAAa,EAAE,8CAA8C,CAAC;;ACTrI;;;;;;;AAOG;MAIU,gCAAgC,CAAA;AAE3C,IAAA,WAAA,CAEU,aAAqD,EAAA;QAArD,IAAA,CAAA,aAAa,GAAb,aAAa;IACpB;AAEH,IAAA,OAAO,CAAC,GAAW,EAAA;AACjB,QAAA,MAAM,YAAY,GAAG,4BAA4B,CAAC,GAAG,CAAC;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC;AAE7D,QAAA,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG;AAC3B,YAAA,GAAG,WAAW;AACd,YAAA,GAAG,EAAE,2BAA2B,CAAC,WAAW,CAAC,GAAG,CAAC;AAClD,SAAA,GAAG,yCAAyC,CAAC;IAChD;AAfW,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,kBAGjC,4CAA4C,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAH3C,uBAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,cAF/B,MAAM,EAAA,CAAA,CAAA;;2FAEP,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAH5C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAII,MAAM;2BAAC,4CAA4C;;;ACxBxD;;AAEG;AACI,MAAM,uCAAuC,GAAG,CAAC,MAAA,GAC+C,SAAS,KACrF,wBAAwB,CAAC;IAClD,+BAA+B,CAAC,gCAAgC,CAAC;IACjE,MAAM,GAAG,6CAA6C,CAAC,MAAM,CAAC,GAAG,EAAE;AACpE,CAAA;;ACtBD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -52,10 +52,10 @@ class DaffExternalRouterMagentoDriver {
|
|
|
52
52
|
})
|
|
53
53
|
.pipe(map(response => transformResolutionToResolvableUrlv241(response.data.urlResolver)));
|
|
54
54
|
}
|
|
55
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
56
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
55
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffExternalRouterMagentoDriver, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
56
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffExternalRouterMagentoDriver, providedIn: 'root' }); }
|
|
57
57
|
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffExternalRouterMagentoDriver, decorators: [{
|
|
59
59
|
type: Injectable,
|
|
60
60
|
args: [{
|
|
61
61
|
providedIn: 'root',
|
|
@@ -92,11 +92,11 @@ class DaffExternalRouterDriverMagentoModule {
|
|
|
92
92
|
],
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
96
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
97
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
95
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffExternalRouterDriverMagentoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
96
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.1", ngImport: i0, type: DaffExternalRouterDriverMagentoModule, imports: [CommonModule] }); }
|
|
97
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffExternalRouterDriverMagentoModule, imports: [CommonModule] }); }
|
|
98
98
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffExternalRouterDriverMagentoModule, decorators: [{
|
|
100
100
|
type: NgModule,
|
|
101
101
|
args: [{
|
|
102
102
|
declarations: [],
|