@infrab4a/connect-angular 5.6.3 → 5.6.4
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/angular-connect.module.d.ts +36 -36
- package/angular-elastic-search.module.d.ts +9 -9
- package/angular-firebase-auth.module.d.ts +11 -11
- package/angular-firestore.module.d.ts +17 -17
- package/angular-hasura-graphql.module.d.ts +14 -14
- package/angular-vertex-search.module.d.ts +9 -9
- package/consts/backend-url.const.d.ts +1 -1
- package/consts/category-structure.d.ts +1 -1
- package/consts/default-shop.const.d.ts +1 -1
- package/consts/es-config.const.d.ts +1 -1
- package/consts/firebase-const.d.ts +4 -4
- package/consts/hasura-options.const.d.ts +1 -1
- package/consts/index.d.ts +8 -8
- package/consts/persistence.const.d.ts +1 -1
- package/consts/storage-base-url.const.d.ts +1 -1
- package/consts/vertex-config.const.d.ts +1 -1
- package/esm2020/angular-connect.module.mjs +291 -291
- package/esm2020/angular-elastic-search.module.mjs +34 -34
- package/esm2020/angular-firebase-auth.module.mjs +141 -141
- package/esm2020/angular-firestore.module.mjs +569 -569
- package/esm2020/angular-hasura-graphql.module.mjs +377 -377
- package/esm2020/angular-vertex-search.module.mjs +34 -34
- package/esm2020/consts/backend-url.const.mjs +2 -2
- package/esm2020/consts/category-structure.mjs +2 -2
- package/esm2020/consts/default-shop.const.mjs +2 -2
- package/esm2020/consts/es-config.const.mjs +2 -2
- package/esm2020/consts/firebase-const.mjs +5 -5
- package/esm2020/consts/hasura-options.const.mjs +2 -2
- package/esm2020/consts/index.mjs +9 -9
- package/esm2020/consts/persistence.const.mjs +2 -2
- package/esm2020/consts/storage-base-url.const.mjs +2 -2
- package/esm2020/consts/vertex-config.const.mjs +2 -2
- package/esm2020/helpers/index.mjs +2 -2
- package/esm2020/helpers/mobile-operation-system-checker.helper.mjs +7 -7
- package/esm2020/index.mjs +7 -7
- package/esm2020/infrab4a-connect-angular.mjs +4 -4
- package/esm2020/interfaces/catalog-strategies.interface.mjs +2 -2
- package/esm2020/interfaces/category-facades.interface.mjs +2 -2
- package/esm2020/interfaces/index.mjs +3 -3
- package/esm2020/persistence/cookie-data-persistence.mjs +22 -22
- package/esm2020/persistence/data-persistence.mjs +2 -2
- package/esm2020/persistence/index.mjs +3 -3
- package/esm2020/services/auth.service.mjs +37 -37
- package/esm2020/services/cart/cart-services.facade.mjs +21 -21
- package/esm2020/services/cart/index.mjs +2 -2
- package/esm2020/services/cart.service.mjs +73 -73
- package/esm2020/services/catalog/adapters/category-structure.adapter.mjs +2 -2
- package/esm2020/services/catalog/adapters/index.mjs +4 -4
- package/esm2020/services/catalog/adapters/new-category-structure.adapter.mjs +43 -43
- package/esm2020/services/catalog/adapters/old-category-structure.adapter.mjs +23 -23
- package/esm2020/services/catalog/catalog.service.mjs +111 -111
- package/esm2020/services/catalog/category.service.mjs +42 -42
- package/esm2020/services/catalog/context/catalog-search.context.mjs +40 -40
- package/esm2020/services/catalog/enums/index.mjs +2 -2
- package/esm2020/services/catalog/enums/product-sorts.enum.mjs +11 -11
- package/esm2020/services/catalog/facades/catalog-service.facade.mjs +32 -32
- package/esm2020/services/catalog/facades/catalog-strategies.facade.mjs +17 -17
- package/esm2020/services/catalog/facades/category-repository.facade.mjs +20 -20
- package/esm2020/services/catalog/facades/category-service.facade.mjs +30 -30
- package/esm2020/services/catalog/facades/index.mjs +6 -6
- package/esm2020/services/catalog/facades/product-catalog.facade.mjs +21 -21
- package/esm2020/services/catalog/helpers/brand-manager.helper.mjs +62 -62
- package/esm2020/services/catalog/helpers/catalog-filter.helper.mjs +44 -44
- package/esm2020/services/catalog/helpers/catalog-sort.helper.mjs +52 -52
- package/esm2020/services/catalog/helpers/index.mjs +5 -5
- package/esm2020/services/catalog/helpers/product-fields.helper.mjs +43 -43
- package/esm2020/services/catalog/index.mjs +8 -8
- package/esm2020/services/catalog/models/category-with-tree.model.mjs +10 -10
- package/esm2020/services/catalog/models/index.mjs +2 -2
- package/esm2020/services/catalog/services/catalog-helpers.service.mjs +33 -33
- package/esm2020/services/catalog/services/catalog-operations.facade.mjs +26 -26
- package/esm2020/services/catalog/services/catalog-repository.service.mjs +25 -25
- package/esm2020/services/catalog/services/index.mjs +5 -5
- package/esm2020/services/catalog/services/product-management.facade.mjs +25 -25
- package/esm2020/services/catalog/strategies/category-search.strategy.mjs +133 -133
- package/esm2020/services/catalog/strategies/index.mjs +4 -4
- package/esm2020/services/catalog/strategies/profile-search.strategy.mjs +42 -42
- package/esm2020/services/catalog/strategies/term-search.strategy.mjs +126 -126
- package/esm2020/services/catalog/strategies/types/strategy-params.type.mjs +2 -2
- package/esm2020/services/catalog/types/fetch-products-options.type.mjs +2 -2
- package/esm2020/services/catalog/types/fetch-products-params.type.mjs +2 -2
- package/esm2020/services/catalog/types/fetch-products-response.type.mjs +2 -2
- package/esm2020/services/catalog/types/index.mjs +6 -6
- package/esm2020/services/catalog/types/method-params.type.mjs +2 -2
- package/esm2020/services/catalog/types/product-sort.type.mjs +2 -2
- package/esm2020/services/catalog/wishlist.service.mjs +258 -258
- package/esm2020/services/checkout/checkout-dependencies.facade.mjs +20 -20
- package/esm2020/services/checkout/checkout-repositories.facade.mjs +20 -20
- package/esm2020/services/checkout/index.mjs +3 -3
- package/esm2020/services/checkout-subscription.service.mjs +55 -55
- package/esm2020/services/checkout.service.mjs +106 -106
- package/esm2020/services/coupon/coupon-repositories.facade.mjs +24 -24
- package/esm2020/services/coupon/index.mjs +2 -2
- package/esm2020/services/coupon/types/coupon-params.type.mjs +2 -2
- package/esm2020/services/coupon.service.mjs +248 -248
- package/esm2020/services/helpers/index.mjs +2 -2
- package/esm2020/services/helpers/util.helper.mjs +18 -18
- package/esm2020/services/home-shop/home-shop-repositories.facade.mjs +24 -24
- package/esm2020/services/home-shop/index.mjs +2 -2
- package/esm2020/services/home-shop.service.mjs +119 -119
- package/esm2020/services/index.mjs +11 -11
- package/esm2020/services/order-product-review.service.mjs +126 -126
- package/esm2020/services/order.service.mjs +30 -30
- package/esm2020/services/shared/configuration.facade.mjs +29 -29
- package/esm2020/services/shared/index.mjs +2 -2
- package/esm2020/services/types/index.mjs +5 -5
- package/esm2020/services/types/pending-product-review.type.mjs +2 -2
- package/esm2020/services/types/product-review-create.type.mjs +2 -2
- package/esm2020/services/types/required-checkout-data.type.mjs +2 -2
- package/esm2020/services/types/required-checkout-subscription-data.type.mjs +2 -2
- package/esm2020/types/firebase-app-config.type.mjs +2 -2
- package/esm2020/types/index.mjs +2 -2
- package/fesm2015/infrab4a-connect-angular.mjs +3448 -3448
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
- package/fesm2020/infrab4a-connect-angular.mjs +3349 -3349
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
- package/helpers/index.d.ts +1 -1
- package/helpers/mobile-operation-system-checker.helper.d.ts +3 -3
- package/index.d.ts +6 -6
- package/interfaces/catalog-strategies.interface.d.ts +31 -31
- package/interfaces/category-facades.interface.d.ts +6 -6
- package/interfaces/index.d.ts +2 -2
- package/package.json +2 -2
- package/persistence/cookie-data-persistence.d.ts +10 -10
- package/persistence/data-persistence.d.ts +6 -6
- package/persistence/index.d.ts +2 -2
- package/services/auth.service.d.ts +18 -18
- package/services/cart/cart-services.facade.d.ts +12 -12
- package/services/cart/index.d.ts +1 -1
- package/services/cart.service.d.ts +26 -26
- package/services/catalog/adapters/category-structure.adapter.d.ts +4 -4
- package/services/catalog/adapters/index.d.ts +3 -3
- package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -12
- package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -10
- package/services/catalog/catalog.service.d.ts +24 -24
- package/services/catalog/category.service.d.ts +23 -23
- package/services/catalog/context/catalog-search.context.d.ts +14 -14
- package/services/catalog/enums/index.d.ts +1 -1
- package/services/catalog/enums/product-sorts.enum.d.ts +9 -9
- package/services/catalog/facades/catalog-service.facade.d.ts +15 -15
- package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -10
- package/services/catalog/facades/category-repository.facade.d.ts +9 -9
- package/services/catalog/facades/category-service.facade.d.ts +15 -15
- package/services/catalog/facades/index.d.ts +5 -5
- package/services/catalog/facades/product-catalog.facade.d.ts +10 -10
- package/services/catalog/helpers/brand-manager.helper.d.ts +14 -14
- package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -8
- package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -7
- package/services/catalog/helpers/index.d.ts +4 -4
- package/services/catalog/helpers/product-fields.helper.d.ts +7 -7
- package/services/catalog/index.d.ts +7 -7
- package/services/catalog/models/category-with-tree.model.d.ts +4 -4
- package/services/catalog/models/index.d.ts +1 -1
- package/services/catalog/services/catalog-helpers.service.d.ts +17 -17
- package/services/catalog/services/catalog-operations.facade.d.ts +13 -13
- package/services/catalog/services/catalog-repository.service.d.ts +12 -12
- package/services/catalog/services/index.d.ts +4 -4
- package/services/catalog/services/product-management.facade.d.ts +12 -12
- package/services/catalog/strategies/category-search.strategy.d.ts +19 -19
- package/services/catalog/strategies/index.d.ts +3 -3
- package/services/catalog/strategies/profile-search.strategy.d.ts +14 -14
- package/services/catalog/strategies/term-search.strategy.d.ts +20 -20
- package/services/catalog/strategies/types/strategy-params.type.d.ts +59 -59
- package/services/catalog/types/fetch-products-options.type.d.ts +8 -8
- package/services/catalog/types/fetch-products-params.type.d.ts +25 -25
- package/services/catalog/types/fetch-products-response.type.d.ts +19 -19
- package/services/catalog/types/index.d.ts +5 -5
- package/services/catalog/types/method-params.type.d.ts +17 -17
- package/services/catalog/types/product-sort.type.d.ts +2 -2
- package/services/catalog/wishlist.service.d.ts +60 -60
- package/services/checkout/checkout-dependencies.facade.d.ts +10 -10
- package/services/checkout/checkout-repositories.facade.d.ts +9 -9
- package/services/checkout/index.d.ts +2 -2
- package/services/checkout-subscription.service.d.ts +19 -19
- package/services/checkout.service.d.ts +30 -30
- package/services/coupon/coupon-repositories.facade.d.ts +10 -10
- package/services/coupon/index.d.ts +1 -1
- package/services/coupon/types/coupon-params.type.d.ts +13 -13
- package/services/coupon.service.d.ts +36 -36
- package/services/helpers/index.d.ts +1 -1
- package/services/helpers/util.helper.d.ts +3 -3
- package/services/home-shop/home-shop-repositories.facade.d.ts +10 -10
- package/services/home-shop/index.d.ts +1 -1
- package/services/home-shop.service.d.ts +26 -26
- package/services/index.d.ts +10 -10
- package/services/order-product-review.service.d.ts +18 -18
- package/services/order.service.d.ts +13 -13
- package/services/shared/configuration.facade.d.ts +12 -12
- package/services/shared/index.d.ts +1 -1
- package/services/types/index.d.ts +4 -4
- package/services/types/pending-product-review.type.d.ts +12 -12
- package/services/types/product-review-create.type.d.ts +14 -14
- package/services/types/required-checkout-data.type.d.ts +2 -2
- package/services/types/required-checkout-subscription-data.type.d.ts +2 -2
- package/types/firebase-app-config.type.d.ts +1 -1
- package/types/index.d.ts +1 -1
|
@@ -1,377 +1,377 @@
|
|
|
1
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
2
|
-
import { NgModule, PLATFORM_ID } from '@angular/core';
|
|
3
|
-
import { CategoryCollectionChildrenHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, CategoryHasuraGraphQLRepository, CategoryProductHasuraGraphQLRepository, FilterHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, ProductCatalogHasuraGraphQLRepository, ProductErrorsHasuraGraphQLRepository, ProductHasuraGraphQLRepository, ProductReviewHasuraGraphQLRepository, ProductStockEntryHasuraGraphQLRepository, ProductStockNotificationHasuraGraphQLRepository, VariantHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, } from '@infrab4a/connect';
|
|
4
|
-
import { HASURA_OPTIONS } from './consts';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class AngularHasuraGraphQLModule {
|
|
7
|
-
static initializeApp(options) {
|
|
8
|
-
return {
|
|
9
|
-
ngModule: AngularHasuraGraphQLModule,
|
|
10
|
-
providers: [{ provide: HASURA_OPTIONS, useValue: options }],
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
AngularHasuraGraphQLModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
-
AngularHasuraGraphQLModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule });
|
|
16
|
-
AngularHasuraGraphQLModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule, providers: [
|
|
17
|
-
{
|
|
18
|
-
provide: 'HasuraConfig',
|
|
19
|
-
useFactory: (options, platformId) => ({
|
|
20
|
-
endpoint: options.endpoint,
|
|
21
|
-
authOptions: options.credentials,
|
|
22
|
-
cache: options.cache,
|
|
23
|
-
interceptors: {
|
|
24
|
-
request: (request) => {
|
|
25
|
-
if (isPlatformBrowser(platformId))
|
|
26
|
-
return request;
|
|
27
|
-
const interval = setInterval(() => { }, 100);
|
|
28
|
-
request.interval = interval;
|
|
29
|
-
return request;
|
|
30
|
-
},
|
|
31
|
-
response: (response, request) => {
|
|
32
|
-
if (isPlatformBrowser(platformId))
|
|
33
|
-
return response;
|
|
34
|
-
clearInterval(request.interval);
|
|
35
|
-
return response;
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
}),
|
|
39
|
-
deps: [HASURA_OPTIONS, PLATFORM_ID],
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
provide: 'CategoryRepository',
|
|
43
|
-
useExisting: CategoryHasuraGraphQLRepository,
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
provide: CategoryHasuraGraphQLRepository,
|
|
47
|
-
useFactory: (options, productRepository, categoryFilterRepository) => {
|
|
48
|
-
return new CategoryHasuraGraphQLRepository(options, productRepository, categoryFilterRepository);
|
|
49
|
-
},
|
|
50
|
-
deps: ['HasuraConfig', ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
provide: 'ProductRepository',
|
|
54
|
-
useExisting: ProductHasuraGraphQLRepository,
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
provide: ProductHasuraGraphQLRepository,
|
|
58
|
-
useFactory: (hasuraConfig) => {
|
|
59
|
-
return new ProductHasuraGraphQLRepository(hasuraConfig);
|
|
60
|
-
},
|
|
61
|
-
deps: ['HasuraConfig'],
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
provide: 'ProductReviewRepository',
|
|
65
|
-
useExisting: ProductReviewHasuraGraphQLRepository,
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
provide: ProductReviewHasuraGraphQLRepository,
|
|
69
|
-
useFactory: (hasuraConfig) => {
|
|
70
|
-
return new ProductReviewHasuraGraphQLRepository(hasuraConfig);
|
|
71
|
-
},
|
|
72
|
-
deps: ['HasuraConfig'],
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
provide: 'VariantRepository',
|
|
76
|
-
useExisting: VariantHasuraGraphQLRepository,
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
provide: VariantHasuraGraphQLRepository,
|
|
80
|
-
useFactory: (hasuraConfig) => {
|
|
81
|
-
return new VariantHasuraGraphQLRepository(hasuraConfig);
|
|
82
|
-
},
|
|
83
|
-
deps: ['HasuraConfig'],
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
provide: 'ProductStockNotificationRepository',
|
|
87
|
-
useExisting: ProductStockNotificationHasuraGraphQLRepository,
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
provide: ProductStockNotificationHasuraGraphQLRepository,
|
|
91
|
-
useFactory: (hasuraConfig) => {
|
|
92
|
-
return new ProductStockNotificationHasuraGraphQLRepository(hasuraConfig);
|
|
93
|
-
},
|
|
94
|
-
deps: ['HasuraConfig'],
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
provide: 'CategoryFilterRepository',
|
|
98
|
-
useExisting: CategoryFilterHasuraGraphQLRepository,
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
provide: CategoryFilterHasuraGraphQLRepository,
|
|
102
|
-
useFactory: (options) => {
|
|
103
|
-
return new CategoryFilterHasuraGraphQLRepository(options);
|
|
104
|
-
},
|
|
105
|
-
deps: ['HasuraConfig'],
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
provide: 'FilterOptionRepository',
|
|
109
|
-
useExisting: FilterOptionHasuraGraphQLRepository,
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
provide: FilterOptionHasuraGraphQLRepository,
|
|
113
|
-
useFactory: (options) => {
|
|
114
|
-
return new FilterOptionHasuraGraphQLRepository(options);
|
|
115
|
-
},
|
|
116
|
-
deps: ['HasuraConfig'],
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
provide: 'FilterRepository',
|
|
120
|
-
useExisting: FilterHasuraGraphQLRepository,
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
provide: FilterHasuraGraphQLRepository,
|
|
124
|
-
useFactory: (options, filterOptionRepository, categoryFilterRepository) => {
|
|
125
|
-
return new FilterHasuraGraphQLRepository(options, filterOptionRepository, categoryFilterRepository);
|
|
126
|
-
},
|
|
127
|
-
deps: ['HasuraConfig', FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
provide: CategoryCollectionChildrenHasuraGraphQLRepository,
|
|
131
|
-
useFactory: (options) => new CategoryCollectionChildrenHasuraGraphQLRepository(options),
|
|
132
|
-
deps: ['HasuraConfig'],
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
provide: 'CategoryCollectionChildrenRepository',
|
|
136
|
-
useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
provide: CategoryProductHasuraGraphQLRepository,
|
|
140
|
-
useFactory: (options) => {
|
|
141
|
-
return new CategoryProductHasuraGraphQLRepository(options);
|
|
142
|
-
},
|
|
143
|
-
deps: ['HasuraConfig'],
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
provide: 'CategoryProductRepository',
|
|
147
|
-
useExisting: CategoryProductHasuraGraphQLRepository,
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
provide: WishlistHasuraGraphQLRepository,
|
|
151
|
-
useFactory: (options, categoryProductRepository) => {
|
|
152
|
-
return new WishlistHasuraGraphQLRepository(options, categoryProductRepository);
|
|
153
|
-
},
|
|
154
|
-
deps: ['HasuraConfig', CategoryProductHasuraGraphQLRepository],
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
provide: 'WishlistRepository',
|
|
158
|
-
useExisting: WishlistHasuraGraphQLRepository,
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
provide: ProductErrorsHasuraGraphQLRepository,
|
|
162
|
-
useFactory: (options, productRepository) => {
|
|
163
|
-
return new ProductErrorsHasuraGraphQLRepository(options, productRepository);
|
|
164
|
-
},
|
|
165
|
-
deps: ['HasuraConfig', ProductHasuraGraphQLRepository],
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
provide: 'ProductErrorsRepository',
|
|
169
|
-
useExisting: ProductErrorsHasuraGraphQLRepository,
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
provide: ProductCatalogHasuraGraphQLRepository,
|
|
173
|
-
useFactory: (options) => {
|
|
174
|
-
return new ProductCatalogHasuraGraphQLRepository(options);
|
|
175
|
-
},
|
|
176
|
-
deps: ['HasuraConfig'],
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
provide: 'ProductCatalogRepository',
|
|
180
|
-
useExisting: ProductCatalogHasuraGraphQLRepository,
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
provide: ProductStockEntryHasuraGraphQLRepository,
|
|
184
|
-
useFactory: (options) => {
|
|
185
|
-
return new ProductStockEntryHasuraGraphQLRepository(options);
|
|
186
|
-
},
|
|
187
|
-
deps: ['HasuraConfig'],
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
provide: 'ProductStockEntryRepository',
|
|
191
|
-
useExisting: ProductStockEntryHasuraGraphQLRepository,
|
|
192
|
-
},
|
|
193
|
-
] });
|
|
194
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule, decorators: [{
|
|
195
|
-
type: NgModule,
|
|
196
|
-
args: [{
|
|
197
|
-
providers: [
|
|
198
|
-
{
|
|
199
|
-
provide: 'HasuraConfig',
|
|
200
|
-
useFactory: (options, platformId) => ({
|
|
201
|
-
endpoint: options.endpoint,
|
|
202
|
-
authOptions: options.credentials,
|
|
203
|
-
cache: options.cache,
|
|
204
|
-
interceptors: {
|
|
205
|
-
request: (request) => {
|
|
206
|
-
if (isPlatformBrowser(platformId))
|
|
207
|
-
return request;
|
|
208
|
-
const interval = setInterval(() => { }, 100);
|
|
209
|
-
request.interval = interval;
|
|
210
|
-
return request;
|
|
211
|
-
},
|
|
212
|
-
response: (response, request) => {
|
|
213
|
-
if (isPlatformBrowser(platformId))
|
|
214
|
-
return response;
|
|
215
|
-
clearInterval(request.interval);
|
|
216
|
-
return response;
|
|
217
|
-
},
|
|
218
|
-
},
|
|
219
|
-
}),
|
|
220
|
-
deps: [HASURA_OPTIONS, PLATFORM_ID],
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
provide: 'CategoryRepository',
|
|
224
|
-
useExisting: CategoryHasuraGraphQLRepository,
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
provide: CategoryHasuraGraphQLRepository,
|
|
228
|
-
useFactory: (options, productRepository, categoryFilterRepository) => {
|
|
229
|
-
return new CategoryHasuraGraphQLRepository(options, productRepository, categoryFilterRepository);
|
|
230
|
-
},
|
|
231
|
-
deps: ['HasuraConfig', ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
|
|
232
|
-
},
|
|
233
|
-
{
|
|
234
|
-
provide: 'ProductRepository',
|
|
235
|
-
useExisting: ProductHasuraGraphQLRepository,
|
|
236
|
-
},
|
|
237
|
-
{
|
|
238
|
-
provide: ProductHasuraGraphQLRepository,
|
|
239
|
-
useFactory: (hasuraConfig) => {
|
|
240
|
-
return new ProductHasuraGraphQLRepository(hasuraConfig);
|
|
241
|
-
},
|
|
242
|
-
deps: ['HasuraConfig'],
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
provide: 'ProductReviewRepository',
|
|
246
|
-
useExisting: ProductReviewHasuraGraphQLRepository,
|
|
247
|
-
},
|
|
248
|
-
{
|
|
249
|
-
provide: ProductReviewHasuraGraphQLRepository,
|
|
250
|
-
useFactory: (hasuraConfig) => {
|
|
251
|
-
return new ProductReviewHasuraGraphQLRepository(hasuraConfig);
|
|
252
|
-
},
|
|
253
|
-
deps: ['HasuraConfig'],
|
|
254
|
-
},
|
|
255
|
-
{
|
|
256
|
-
provide: 'VariantRepository',
|
|
257
|
-
useExisting: VariantHasuraGraphQLRepository,
|
|
258
|
-
},
|
|
259
|
-
{
|
|
260
|
-
provide: VariantHasuraGraphQLRepository,
|
|
261
|
-
useFactory: (hasuraConfig) => {
|
|
262
|
-
return new VariantHasuraGraphQLRepository(hasuraConfig);
|
|
263
|
-
},
|
|
264
|
-
deps: ['HasuraConfig'],
|
|
265
|
-
},
|
|
266
|
-
{
|
|
267
|
-
provide: 'ProductStockNotificationRepository',
|
|
268
|
-
useExisting: ProductStockNotificationHasuraGraphQLRepository,
|
|
269
|
-
},
|
|
270
|
-
{
|
|
271
|
-
provide: ProductStockNotificationHasuraGraphQLRepository,
|
|
272
|
-
useFactory: (hasuraConfig) => {
|
|
273
|
-
return new ProductStockNotificationHasuraGraphQLRepository(hasuraConfig);
|
|
274
|
-
},
|
|
275
|
-
deps: ['HasuraConfig'],
|
|
276
|
-
},
|
|
277
|
-
{
|
|
278
|
-
provide: 'CategoryFilterRepository',
|
|
279
|
-
useExisting: CategoryFilterHasuraGraphQLRepository,
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
provide: CategoryFilterHasuraGraphQLRepository,
|
|
283
|
-
useFactory: (options) => {
|
|
284
|
-
return new CategoryFilterHasuraGraphQLRepository(options);
|
|
285
|
-
},
|
|
286
|
-
deps: ['HasuraConfig'],
|
|
287
|
-
},
|
|
288
|
-
{
|
|
289
|
-
provide: 'FilterOptionRepository',
|
|
290
|
-
useExisting: FilterOptionHasuraGraphQLRepository,
|
|
291
|
-
},
|
|
292
|
-
{
|
|
293
|
-
provide: FilterOptionHasuraGraphQLRepository,
|
|
294
|
-
useFactory: (options) => {
|
|
295
|
-
return new FilterOptionHasuraGraphQLRepository(options);
|
|
296
|
-
},
|
|
297
|
-
deps: ['HasuraConfig'],
|
|
298
|
-
},
|
|
299
|
-
{
|
|
300
|
-
provide: 'FilterRepository',
|
|
301
|
-
useExisting: FilterHasuraGraphQLRepository,
|
|
302
|
-
},
|
|
303
|
-
{
|
|
304
|
-
provide: FilterHasuraGraphQLRepository,
|
|
305
|
-
useFactory: (options, filterOptionRepository, categoryFilterRepository) => {
|
|
306
|
-
return new FilterHasuraGraphQLRepository(options, filterOptionRepository, categoryFilterRepository);
|
|
307
|
-
},
|
|
308
|
-
deps: ['HasuraConfig', FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
|
|
309
|
-
},
|
|
310
|
-
{
|
|
311
|
-
provide: CategoryCollectionChildrenHasuraGraphQLRepository,
|
|
312
|
-
useFactory: (options) => new CategoryCollectionChildrenHasuraGraphQLRepository(options),
|
|
313
|
-
deps: ['HasuraConfig'],
|
|
314
|
-
},
|
|
315
|
-
{
|
|
316
|
-
provide: 'CategoryCollectionChildrenRepository',
|
|
317
|
-
useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,
|
|
318
|
-
},
|
|
319
|
-
{
|
|
320
|
-
provide: CategoryProductHasuraGraphQLRepository,
|
|
321
|
-
useFactory: (options) => {
|
|
322
|
-
return new CategoryProductHasuraGraphQLRepository(options);
|
|
323
|
-
},
|
|
324
|
-
deps: ['HasuraConfig'],
|
|
325
|
-
},
|
|
326
|
-
{
|
|
327
|
-
provide: 'CategoryProductRepository',
|
|
328
|
-
useExisting: CategoryProductHasuraGraphQLRepository,
|
|
329
|
-
},
|
|
330
|
-
{
|
|
331
|
-
provide: WishlistHasuraGraphQLRepository,
|
|
332
|
-
useFactory: (options, categoryProductRepository) => {
|
|
333
|
-
return new WishlistHasuraGraphQLRepository(options, categoryProductRepository);
|
|
334
|
-
},
|
|
335
|
-
deps: ['HasuraConfig', CategoryProductHasuraGraphQLRepository],
|
|
336
|
-
},
|
|
337
|
-
{
|
|
338
|
-
provide: 'WishlistRepository',
|
|
339
|
-
useExisting: WishlistHasuraGraphQLRepository,
|
|
340
|
-
},
|
|
341
|
-
{
|
|
342
|
-
provide: ProductErrorsHasuraGraphQLRepository,
|
|
343
|
-
useFactory: (options, productRepository) => {
|
|
344
|
-
return new ProductErrorsHasuraGraphQLRepository(options, productRepository);
|
|
345
|
-
},
|
|
346
|
-
deps: ['HasuraConfig', ProductHasuraGraphQLRepository],
|
|
347
|
-
},
|
|
348
|
-
{
|
|
349
|
-
provide: 'ProductErrorsRepository',
|
|
350
|
-
useExisting: ProductErrorsHasuraGraphQLRepository,
|
|
351
|
-
},
|
|
352
|
-
{
|
|
353
|
-
provide: ProductCatalogHasuraGraphQLRepository,
|
|
354
|
-
useFactory: (options) => {
|
|
355
|
-
return new ProductCatalogHasuraGraphQLRepository(options);
|
|
356
|
-
},
|
|
357
|
-
deps: ['HasuraConfig'],
|
|
358
|
-
},
|
|
359
|
-
{
|
|
360
|
-
provide: 'ProductCatalogRepository',
|
|
361
|
-
useExisting: ProductCatalogHasuraGraphQLRepository,
|
|
362
|
-
},
|
|
363
|
-
{
|
|
364
|
-
provide: ProductStockEntryHasuraGraphQLRepository,
|
|
365
|
-
useFactory: (options) => {
|
|
366
|
-
return new ProductStockEntryHasuraGraphQLRepository(options);
|
|
367
|
-
},
|
|
368
|
-
deps: ['HasuraConfig'],
|
|
369
|
-
},
|
|
370
|
-
{
|
|
371
|
-
provide: 'ProductStockEntryRepository',
|
|
372
|
-
useExisting: ProductStockEntryHasuraGraphQLRepository,
|
|
373
|
-
},
|
|
374
|
-
],
|
|
375
|
-
}]
|
|
376
|
-
}] });
|
|
377
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1oYXN1cmEtZ3JhcGhxbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2FuZ3VsYXItaGFzdXJhLWdyYXBocWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ25ELE9BQU8sRUFBdUIsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxRSxPQUFPLEVBRUwsaURBQWlELEVBQ2pELHFDQUFxQyxFQUVyQywrQkFBK0IsRUFDL0Isc0NBQXNDLEVBRXRDLDZCQUE2QixFQUM3QixtQ0FBbUMsRUFNbkMscUNBQXFDLEVBRXJDLG9DQUFvQyxFQUVwQyw4QkFBOEIsRUFFOUIsb0NBQW9DLEVBRXBDLHdDQUF3QyxFQUV4QywrQ0FBK0MsRUFFL0MsOEJBQThCLEVBRTlCLCtCQUErQixHQUNoQyxNQUFNLG1CQUFtQixDQUFBO0FBRTFCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUE7O0FBME16QyxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBNkI7UUFDaEQsT0FBTztZQUNMLFFBQVEsRUFBRSwwQkFBMEI7WUFDcEMsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUM1RCxDQUFBO0lBQ0gsQ0FBQzs7dUhBTlUsMEJBQTBCO3dIQUExQiwwQkFBMEI7d0hBQTFCLDBCQUEwQixhQXJNMUI7UUFDVDtZQUNFLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLFVBQVUsRUFBRSxDQUFDLE9BQTZCLEVBQUUsVUFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbEUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO2dCQUMxQixXQUFXLEVBQUUsT0FBTyxD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QixDQUFDO3lCQUN2RDt3QkFDRDs0QkFDRSxPQUFPLEVBQUUseUJBQXlCOzRCQUNsQyxXQUFXLEVBQUUsb0NBQW9DO3lCQUNsRDt3QkFDRDs0QkFDRSxPQUFPLEVBQUUscUNBQXFDOzRCQUM5QyxVQUFVLEVBQUUsQ0FBQyxPQUFZLEVBQXlDLEVBQUU7Z0NBQ2xFLE9BQU8sSUFBSSxxQ0FBcUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTs0QkFDM0QsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUM7eUJBQ3ZCO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSwwQkFBMEI7NEJBQ25DLFdBQVcsRUFBRSxxQ0FBcUM7eUJBQ25EO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSx3Q0FBd0M7NEJBQ2pELFVBQVUsRUFBRSxDQUFDLE9BQVksRUFBK0IsRUFBRTtnQ0FDeEQsT0FBTyxJQUFJLHdDQUF3QyxDQUFDLE9BQU8sQ0FBQyxDQUFBOzRCQUM5RCxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQzt5QkFDdkI7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDZCQUE2Qjs0QkFDdEMsV0FBVyxFQUFFLHdDQUF3Qzt5QkFDdEQ7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBDYWNoZUNvbmZpZyxcbiAgQ2F0ZWdvcnlDb2xsZWN0aW9uQ2hpbGRyZW5IYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgQ2F0ZWdvcnlGaWx0ZXJIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgQ2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5LFxuICBDYXRlZ29yeUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxuICBDYXRlZ29yeVByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgQ2F0ZWdvcnlSZXBvc2l0b3J5LFxuICBGaWx0ZXJIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgRmlsdGVyT3B0aW9uSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gIEZpbHRlck9wdGlvblJlcG9zaXRvcnksXG4gIEZpbHRlclJlcG9zaXRvcnksXG4gIEdyYXBoUUxQYXJhbXMsXG4gIEhhc3VyYUNvbnN0cnVjdG9yUGFyYW1zLFxuICBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnMsXG4gIFByb2R1Y3RDYXRhbG9nSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gIFByb2R1Y3RFcnJvcnMsXG4gIFByb2R1Y3RFcnJvcnNIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgUHJvZHVjdEVycm9yc1JlcG9zaXRvcnksXG4gIFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgUHJvZHVjdFJlcG9zaXRvcnksXG4gIFByb2R1Y3RSZXZpZXdIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgUHJvZHVjdFJldmlld1JlcG9zaXRvcnksXG4gIFByb2R1Y3RTdG9ja0VudHJ5SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gIFByb2R1Y3RTdG9ja0VudHJ5UmVwb3NpdG9yeSxcbiAgUHJvZHVjdFN0b2NrTm90aWZpY2F0aW9uSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gIFByb2R1Y3RTdG9ja05vdGlmaWNhdGlvblJlcG9zaXRvcnksXG4gIFZhcmlhbnRIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgVmFyaWFudFJlcG9zaXRvcnksXG4gIFdpc2hsaXN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBIQVNVUkFfT1BUSU9OUyB9IGZyb20gJy4vY29uc3RzJ1xuXG5leHBvcnQgdHlwZSBIYXN1cmFHcmFwaFFMT3B0aW9ucyA9IHsgZW5kcG9pbnQ6IHN0cmluZzsgY3JlZGVudGlhbHM/OiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnM7IGNhY2hlPzogQ2FjaGVDb25maWcgfVxuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiAnSGFzdXJhQ29uZmlnJyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBIYXN1cmFHcmFwaFFMT3B0aW9ucywgcGxhdGZvcm1JZDogc3RyaW5nKSA9PiAoe1xuICAgICAgICBlbmRwb2ludDogb3B0aW9ucy5lbmRwb2ludCxcbiAgICAgICAgYXV0aE9wdGlvbnM6IG9wdGlvbnMuY3JlZGVudGlhbHMsXG4gICAgICAgIGNhY2hlOiBvcHRpb25zLmNhY2hlLFxuICAgICAgICBpbnRlcmNlcHRvcnM6IHtcbiAgICAgICAgICByZXF1ZXN0OiAocmVxdWVzdDogR3JhcGhRTFBhcmFtczxhbnk+ICYgeyBpbnRlcnZhbDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfSkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpKSByZXR1cm4gcmVxdWVzdFxuXG4gICAgICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHt9LCAxMDApXG5cbiAgICAgICAgICAgIHJlcXVlc3QuaW50ZXJ2YWwgPSBpbnRlcnZhbFxuXG4gICAgICAgICAgICByZXR1cm4gcmVxdWVzdFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzcG9uc2U6IChyZXNwb25zZTogYW55LCByZXF1ZXN0OiBHcmFwaFFMUGFyYW1zPGFueT4gJiB7IGludGVydmFsOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB9KSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCkpIHJldHVybiByZXNwb25zZVxuXG4gICAgICAgICAgICBjbGVhckludGVydmFsKHJlcXVlc3QuaW50ZXJ2YWwpXG5cbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZVxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIGRlcHM6IFtIQVNVUkFfT1BUSU9OUywgUExBVEZPUk1fSURdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0NhdGVnb3J5UmVwb3NpdG9yeScsXG4gICAgICB1c2VFeGlzdGluZzogQ2F0ZWdvcnlIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IENhdGVnb3J5SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgIG9wdGlvbnM6IGFueSxcbiAgICAgICAgcHJvZHVjdFJlcG9zaXRvcnk6IFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgICAgICAgY2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5OiBDYXRlZ29yeUZpbHRlckhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxuICAgICAgKTogQ2F0ZWdvcnlSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDYXRlZ29yeUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5KG9wdGlvbnMsIHByb2R1Y3RSZXBvc2l0b3J5LCBjYXRlZ29yeUZpbHRlclJlcG9zaXRvcnkpXG4gICAgICB9LFxuICAgICAgZGVwczogWydIYXN1cmFDb25maWcnLCBQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksIENhdGVnb3J5RmlsdGVySGFzdXJhR3JhcGhRTFJlcG9zaXRvcnldLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1Byb2R1Y3RSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUV4aXN0aW5nOiBQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgICB1c2VGYWN0b3J5OiAoaGFzdXJhQ29uZmlnOiBhbnkpOiBQcm9kdWN0UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5KGhhc3VyYUNvbmZpZylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0hhc3VyYUNvbmZpZyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1Byb2R1Y3RSZXZpZXdSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUV4aXN0aW5nOiBQcm9kdWN0UmV2aWV3SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBQcm9kdWN0UmV2aWV3SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgICB1c2VGYWN0b3J5OiAoaGFzdXJhQ29uZmlnOiBhbnkpOiBQcm9kdWN0UmV2aWV3UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdFJldmlld0hhc3VyYUdyYXBoUUxSZXBvc2l0b3J5KGhhc3VyYUNvbmZpZylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0hhc3VyYUNvbmZpZyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1ZhcmlhbnRSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUV4aXN0aW5nOiBWYXJpYW50SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBWYXJpYW50SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgICB1c2VGYWN0b3J5OiAoaGFzdXJhQ29uZmlnOiBhbnkpOiBWYXJpYW50UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgVmFyaWFudEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5KGhhc3VyYUNvbmZpZylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0hhc3VyYUNvbmZpZyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1Byb2R1Y3RTdG9ja05vdGlmaWNhdGlvblJlcG9zaXRvcnknLFxuICAgICAgdXNlRXhpc3Rpbmc6IFByb2R1Y3RTdG9ja05vdGlmaWNhdGlvbkhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogUHJvZHVjdFN0b2NrTm90aWZpY2F0aW9uSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgICB1c2VGYWN0b3J5OiAoaGFzdXJhQ29uZmlnOiBhbnkpOiBQcm9kdWN0U3RvY2tOb3RpZmljYXRpb25SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9kdWN0U3RvY2tOb3RpZmljYXRpb25IYXN1cmFHcmFwaFFMUmVwb3NpdG9yeShoYXN1cmFDb25maWcpXG4gICAgICB9LFxuICAgICAgZGVwczogWydIYXN1cmFDb25maWcnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdDYXRlZ29yeUZpbHRlclJlcG9zaXRvcnknLFxuICAgICAgdXNlRXhpc3Rpbmc6IENhdGVnb3J5RmlsdGVySGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBDYXRlZ29yeUZpbHRlckhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IGFueSk6IENhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ2F0ZWdvcnlGaWx0ZXJIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnSGFzdXJhQ29uZmlnJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnRmlsdGVyT3B0aW9uUmVwb3NpdG9yeScsXG4gICAgICB1c2VFeGlzdGluZzogRmlsdGVyT3B0aW9uSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBGaWx0ZXJPcHRpb25IYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBhbnkpOiBGaWx0ZXJPcHRpb25SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWx0ZXJPcHRpb25IYXN1cmFHcmFwaFFMUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnSGFzdXJhQ29uZmlnJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnRmlsdGVyUmVwb3NpdG9yeScsXG4gICAgICB1c2VFeGlzdGluZzogRmlsdGVySGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBGaWx0ZXJIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgICAgIHVzZUZhY3Rvcnk6IChcbiAgICAgICAgb3B0aW9uczogYW55LFxuICAgICAgICBmaWx0ZXJPcHRpb25SZXBvc2l0b3J5OiBGaWx0ZXJPcHRpb25IYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgICAgICAgY2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5OiBDYXRlZ29yeUZpbHRlckhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxuICAgICAgKTogRmlsdGVyUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgRmlsdGVySGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkob3B0aW9ucywgZmlsdGVyT3B0aW9uUmVwb3NpdG9yeSwgY2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnSGFzdXJhQ29uZmlnJywgRmlsdGVyT3B0aW9uSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksIENhdGVnb3J5RmlsdGVySGFzdXJhR3JhcGhRTFJlcG9zaXRvcnldLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQ2F0ZWdvcnlDb2xsZWN0aW9uQ2hpbGRyZW5IYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBhbnkpOiBDYXRlZ29yeUNvbGxlY3Rpb25DaGlsZHJlbkhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5ID0+XG4gICAgICAgIG5ldyBDYXRlZ29yeUNvbGxlY3Rpb25DaGlsZHJlbkhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5KG9wdGlvbnMpLFxuICAgICAgZGVwczogWydIYXN1cmFDb25maWcnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdDYXRlZ29yeUNvbGxlY3Rpb25DaGlsZHJlblJlcG9zaXRvcnknLFxuICAgICAgdXNlRXhpc3Rpbmc6IENhdGVnb3J5Q29sbGVjdGlvbkNoaWxkcmVuSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBDYXRlZ29yeVByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBhbnkpOiBDYXRlZ29yeVByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ2F0ZWdvcnlQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0hhc3VyYUNvbmZpZyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0NhdGVnb3J5UHJvZHVjdFJlcG9zaXRvcnknLFxuICAgICAgdXNlRXhpc3Rpbmc6IENhdGVnb3J5UHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogV2lzaGxpc3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgICAgIHVzZUZhY3Rvcnk6IChcbiAgICAgICAgb3B0aW9uczogYW55LFxuICAgICAgICBjYXRlZ29yeVByb2R1Y3RSZXBvc2l0b3J5OiBDYXRlZ29yeVByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgICAgICk6IFdpc2hsaXN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFdpc2hsaXN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkob3B0aW9ucywgY2F0ZWdvcnlQcm9kdWN0UmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0hhc3VyYUNvbmZpZycsIENhdGVnb3J5UHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5XSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdXaXNobGlzdFJlcG9zaXRvcnknLFxuICAgICAgdXNlRXhpc3Rpbmc6IFdpc2hsaXN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBQcm9kdWN0RXJyb3JzSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgIG9wdGlvbnM6IEhhc3VyYUNvbnN0cnVjdG9yUGFyYW1zPFByb2R1Y3RFcnJvcnM+LFxuICAgICAgICBwcm9kdWN0UmVwb3NpdG9yeTogUHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxuICAgICAgKTogUHJvZHVjdEVycm9yc1JlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb2R1Y3RFcnJvcnNIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeShvcHRpb25zLCBwcm9kdWN0UmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0hhc3VyYUNvbmZpZycsIFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnUHJvZHVjdEVycm9yc1JlcG9zaXRvcnknLFxuICAgICAgdXNlRXhpc3Rpbmc6IFByb2R1Y3RFcnJvcnNIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFByb2R1Y3RDYXRhbG9nSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogYW55KTogUHJvZHVjdENhdGFsb2dIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdENhdGFsb2dIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnSGFzdXJhQ29uZmlnJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnUHJvZHVjdENhdGFsb2dSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUV4aXN0aW5nOiBQcm9kdWN0Q2F0YWxvZ0hhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogUHJvZHVjdFN0b2NrRW50cnlIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBhbnkpOiBQcm9kdWN0U3RvY2tFbnRyeVJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb2R1Y3RTdG9ja0VudHJ5SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0hhc3VyYUNvbmZpZyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1Byb2R1Y3RTdG9ja0VudHJ5UmVwb3NpdG9yeScsXG4gICAgICB1c2VFeGlzdGluZzogUHJvZHVjdFN0b2NrRW50cnlIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFySGFzdXJhR3JhcGhRTE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKG9wdGlvbnM6IEhhc3VyYUdyYXBoUUxPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFySGFzdXJhR3JhcGhRTE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEhBU1VSQV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucyB9XSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
1
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
2
|
+
import { NgModule, PLATFORM_ID } from '@angular/core';
|
|
3
|
+
import { CategoryCollectionChildrenHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, CategoryHasuraGraphQLRepository, CategoryProductHasuraGraphQLRepository, FilterHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, ProductCatalogHasuraGraphQLRepository, ProductErrorsHasuraGraphQLRepository, ProductHasuraGraphQLRepository, ProductReviewHasuraGraphQLRepository, ProductStockEntryHasuraGraphQLRepository, ProductStockNotificationHasuraGraphQLRepository, VariantHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, } from '@infrab4a/connect';
|
|
4
|
+
import { HASURA_OPTIONS } from './consts';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class AngularHasuraGraphQLModule {
|
|
7
|
+
static initializeApp(options) {
|
|
8
|
+
return {
|
|
9
|
+
ngModule: AngularHasuraGraphQLModule,
|
|
10
|
+
providers: [{ provide: HASURA_OPTIONS, useValue: options }],
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
AngularHasuraGraphQLModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
+
AngularHasuraGraphQLModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule });
|
|
16
|
+
AngularHasuraGraphQLModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule, providers: [
|
|
17
|
+
{
|
|
18
|
+
provide: 'HasuraConfig',
|
|
19
|
+
useFactory: (options, platformId) => ({
|
|
20
|
+
endpoint: options.endpoint,
|
|
21
|
+
authOptions: options.credentials,
|
|
22
|
+
cache: options.cache,
|
|
23
|
+
interceptors: {
|
|
24
|
+
request: (request) => {
|
|
25
|
+
if (isPlatformBrowser(platformId))
|
|
26
|
+
return request;
|
|
27
|
+
const interval = setInterval(() => { }, 100);
|
|
28
|
+
request.interval = interval;
|
|
29
|
+
return request;
|
|
30
|
+
},
|
|
31
|
+
response: (response, request) => {
|
|
32
|
+
if (isPlatformBrowser(platformId))
|
|
33
|
+
return response;
|
|
34
|
+
clearInterval(request.interval);
|
|
35
|
+
return response;
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
}),
|
|
39
|
+
deps: [HASURA_OPTIONS, PLATFORM_ID],
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
provide: 'CategoryRepository',
|
|
43
|
+
useExisting: CategoryHasuraGraphQLRepository,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
provide: CategoryHasuraGraphQLRepository,
|
|
47
|
+
useFactory: (options, productRepository, categoryFilterRepository) => {
|
|
48
|
+
return new CategoryHasuraGraphQLRepository(options, productRepository, categoryFilterRepository);
|
|
49
|
+
},
|
|
50
|
+
deps: ['HasuraConfig', ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
provide: 'ProductRepository',
|
|
54
|
+
useExisting: ProductHasuraGraphQLRepository,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
provide: ProductHasuraGraphQLRepository,
|
|
58
|
+
useFactory: (hasuraConfig) => {
|
|
59
|
+
return new ProductHasuraGraphQLRepository(hasuraConfig);
|
|
60
|
+
},
|
|
61
|
+
deps: ['HasuraConfig'],
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
provide: 'ProductReviewRepository',
|
|
65
|
+
useExisting: ProductReviewHasuraGraphQLRepository,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
provide: ProductReviewHasuraGraphQLRepository,
|
|
69
|
+
useFactory: (hasuraConfig) => {
|
|
70
|
+
return new ProductReviewHasuraGraphQLRepository(hasuraConfig);
|
|
71
|
+
},
|
|
72
|
+
deps: ['HasuraConfig'],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
provide: 'VariantRepository',
|
|
76
|
+
useExisting: VariantHasuraGraphQLRepository,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
provide: VariantHasuraGraphQLRepository,
|
|
80
|
+
useFactory: (hasuraConfig) => {
|
|
81
|
+
return new VariantHasuraGraphQLRepository(hasuraConfig);
|
|
82
|
+
},
|
|
83
|
+
deps: ['HasuraConfig'],
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
provide: 'ProductStockNotificationRepository',
|
|
87
|
+
useExisting: ProductStockNotificationHasuraGraphQLRepository,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
provide: ProductStockNotificationHasuraGraphQLRepository,
|
|
91
|
+
useFactory: (hasuraConfig) => {
|
|
92
|
+
return new ProductStockNotificationHasuraGraphQLRepository(hasuraConfig);
|
|
93
|
+
},
|
|
94
|
+
deps: ['HasuraConfig'],
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
provide: 'CategoryFilterRepository',
|
|
98
|
+
useExisting: CategoryFilterHasuraGraphQLRepository,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
provide: CategoryFilterHasuraGraphQLRepository,
|
|
102
|
+
useFactory: (options) => {
|
|
103
|
+
return new CategoryFilterHasuraGraphQLRepository(options);
|
|
104
|
+
},
|
|
105
|
+
deps: ['HasuraConfig'],
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
provide: 'FilterOptionRepository',
|
|
109
|
+
useExisting: FilterOptionHasuraGraphQLRepository,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
provide: FilterOptionHasuraGraphQLRepository,
|
|
113
|
+
useFactory: (options) => {
|
|
114
|
+
return new FilterOptionHasuraGraphQLRepository(options);
|
|
115
|
+
},
|
|
116
|
+
deps: ['HasuraConfig'],
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
provide: 'FilterRepository',
|
|
120
|
+
useExisting: FilterHasuraGraphQLRepository,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
provide: FilterHasuraGraphQLRepository,
|
|
124
|
+
useFactory: (options, filterOptionRepository, categoryFilterRepository) => {
|
|
125
|
+
return new FilterHasuraGraphQLRepository(options, filterOptionRepository, categoryFilterRepository);
|
|
126
|
+
},
|
|
127
|
+
deps: ['HasuraConfig', FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
provide: CategoryCollectionChildrenHasuraGraphQLRepository,
|
|
131
|
+
useFactory: (options) => new CategoryCollectionChildrenHasuraGraphQLRepository(options),
|
|
132
|
+
deps: ['HasuraConfig'],
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
provide: 'CategoryCollectionChildrenRepository',
|
|
136
|
+
useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
provide: CategoryProductHasuraGraphQLRepository,
|
|
140
|
+
useFactory: (options) => {
|
|
141
|
+
return new CategoryProductHasuraGraphQLRepository(options);
|
|
142
|
+
},
|
|
143
|
+
deps: ['HasuraConfig'],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
provide: 'CategoryProductRepository',
|
|
147
|
+
useExisting: CategoryProductHasuraGraphQLRepository,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
provide: WishlistHasuraGraphQLRepository,
|
|
151
|
+
useFactory: (options, categoryProductRepository) => {
|
|
152
|
+
return new WishlistHasuraGraphQLRepository(options, categoryProductRepository);
|
|
153
|
+
},
|
|
154
|
+
deps: ['HasuraConfig', CategoryProductHasuraGraphQLRepository],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
provide: 'WishlistRepository',
|
|
158
|
+
useExisting: WishlistHasuraGraphQLRepository,
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
provide: ProductErrorsHasuraGraphQLRepository,
|
|
162
|
+
useFactory: (options, productRepository) => {
|
|
163
|
+
return new ProductErrorsHasuraGraphQLRepository(options, productRepository);
|
|
164
|
+
},
|
|
165
|
+
deps: ['HasuraConfig', ProductHasuraGraphQLRepository],
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
provide: 'ProductErrorsRepository',
|
|
169
|
+
useExisting: ProductErrorsHasuraGraphQLRepository,
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
provide: ProductCatalogHasuraGraphQLRepository,
|
|
173
|
+
useFactory: (options) => {
|
|
174
|
+
return new ProductCatalogHasuraGraphQLRepository(options);
|
|
175
|
+
},
|
|
176
|
+
deps: ['HasuraConfig'],
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
provide: 'ProductCatalogRepository',
|
|
180
|
+
useExisting: ProductCatalogHasuraGraphQLRepository,
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
provide: ProductStockEntryHasuraGraphQLRepository,
|
|
184
|
+
useFactory: (options) => {
|
|
185
|
+
return new ProductStockEntryHasuraGraphQLRepository(options);
|
|
186
|
+
},
|
|
187
|
+
deps: ['HasuraConfig'],
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
provide: 'ProductStockEntryRepository',
|
|
191
|
+
useExisting: ProductStockEntryHasuraGraphQLRepository,
|
|
192
|
+
},
|
|
193
|
+
] });
|
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule, decorators: [{
|
|
195
|
+
type: NgModule,
|
|
196
|
+
args: [{
|
|
197
|
+
providers: [
|
|
198
|
+
{
|
|
199
|
+
provide: 'HasuraConfig',
|
|
200
|
+
useFactory: (options, platformId) => ({
|
|
201
|
+
endpoint: options.endpoint,
|
|
202
|
+
authOptions: options.credentials,
|
|
203
|
+
cache: options.cache,
|
|
204
|
+
interceptors: {
|
|
205
|
+
request: (request) => {
|
|
206
|
+
if (isPlatformBrowser(platformId))
|
|
207
|
+
return request;
|
|
208
|
+
const interval = setInterval(() => { }, 100);
|
|
209
|
+
request.interval = interval;
|
|
210
|
+
return request;
|
|
211
|
+
},
|
|
212
|
+
response: (response, request) => {
|
|
213
|
+
if (isPlatformBrowser(platformId))
|
|
214
|
+
return response;
|
|
215
|
+
clearInterval(request.interval);
|
|
216
|
+
return response;
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
}),
|
|
220
|
+
deps: [HASURA_OPTIONS, PLATFORM_ID],
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
provide: 'CategoryRepository',
|
|
224
|
+
useExisting: CategoryHasuraGraphQLRepository,
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
provide: CategoryHasuraGraphQLRepository,
|
|
228
|
+
useFactory: (options, productRepository, categoryFilterRepository) => {
|
|
229
|
+
return new CategoryHasuraGraphQLRepository(options, productRepository, categoryFilterRepository);
|
|
230
|
+
},
|
|
231
|
+
deps: ['HasuraConfig', ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
provide: 'ProductRepository',
|
|
235
|
+
useExisting: ProductHasuraGraphQLRepository,
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
provide: ProductHasuraGraphQLRepository,
|
|
239
|
+
useFactory: (hasuraConfig) => {
|
|
240
|
+
return new ProductHasuraGraphQLRepository(hasuraConfig);
|
|
241
|
+
},
|
|
242
|
+
deps: ['HasuraConfig'],
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
provide: 'ProductReviewRepository',
|
|
246
|
+
useExisting: ProductReviewHasuraGraphQLRepository,
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
provide: ProductReviewHasuraGraphQLRepository,
|
|
250
|
+
useFactory: (hasuraConfig) => {
|
|
251
|
+
return new ProductReviewHasuraGraphQLRepository(hasuraConfig);
|
|
252
|
+
},
|
|
253
|
+
deps: ['HasuraConfig'],
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
provide: 'VariantRepository',
|
|
257
|
+
useExisting: VariantHasuraGraphQLRepository,
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
provide: VariantHasuraGraphQLRepository,
|
|
261
|
+
useFactory: (hasuraConfig) => {
|
|
262
|
+
return new VariantHasuraGraphQLRepository(hasuraConfig);
|
|
263
|
+
},
|
|
264
|
+
deps: ['HasuraConfig'],
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
provide: 'ProductStockNotificationRepository',
|
|
268
|
+
useExisting: ProductStockNotificationHasuraGraphQLRepository,
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
provide: ProductStockNotificationHasuraGraphQLRepository,
|
|
272
|
+
useFactory: (hasuraConfig) => {
|
|
273
|
+
return new ProductStockNotificationHasuraGraphQLRepository(hasuraConfig);
|
|
274
|
+
},
|
|
275
|
+
deps: ['HasuraConfig'],
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
provide: 'CategoryFilterRepository',
|
|
279
|
+
useExisting: CategoryFilterHasuraGraphQLRepository,
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
provide: CategoryFilterHasuraGraphQLRepository,
|
|
283
|
+
useFactory: (options) => {
|
|
284
|
+
return new CategoryFilterHasuraGraphQLRepository(options);
|
|
285
|
+
},
|
|
286
|
+
deps: ['HasuraConfig'],
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
provide: 'FilterOptionRepository',
|
|
290
|
+
useExisting: FilterOptionHasuraGraphQLRepository,
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
provide: FilterOptionHasuraGraphQLRepository,
|
|
294
|
+
useFactory: (options) => {
|
|
295
|
+
return new FilterOptionHasuraGraphQLRepository(options);
|
|
296
|
+
},
|
|
297
|
+
deps: ['HasuraConfig'],
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
provide: 'FilterRepository',
|
|
301
|
+
useExisting: FilterHasuraGraphQLRepository,
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
provide: FilterHasuraGraphQLRepository,
|
|
305
|
+
useFactory: (options, filterOptionRepository, categoryFilterRepository) => {
|
|
306
|
+
return new FilterHasuraGraphQLRepository(options, filterOptionRepository, categoryFilterRepository);
|
|
307
|
+
},
|
|
308
|
+
deps: ['HasuraConfig', FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
provide: CategoryCollectionChildrenHasuraGraphQLRepository,
|
|
312
|
+
useFactory: (options) => new CategoryCollectionChildrenHasuraGraphQLRepository(options),
|
|
313
|
+
deps: ['HasuraConfig'],
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
provide: 'CategoryCollectionChildrenRepository',
|
|
317
|
+
useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
provide: CategoryProductHasuraGraphQLRepository,
|
|
321
|
+
useFactory: (options) => {
|
|
322
|
+
return new CategoryProductHasuraGraphQLRepository(options);
|
|
323
|
+
},
|
|
324
|
+
deps: ['HasuraConfig'],
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
provide: 'CategoryProductRepository',
|
|
328
|
+
useExisting: CategoryProductHasuraGraphQLRepository,
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
provide: WishlistHasuraGraphQLRepository,
|
|
332
|
+
useFactory: (options, categoryProductRepository) => {
|
|
333
|
+
return new WishlistHasuraGraphQLRepository(options, categoryProductRepository);
|
|
334
|
+
},
|
|
335
|
+
deps: ['HasuraConfig', CategoryProductHasuraGraphQLRepository],
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
provide: 'WishlistRepository',
|
|
339
|
+
useExisting: WishlistHasuraGraphQLRepository,
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
provide: ProductErrorsHasuraGraphQLRepository,
|
|
343
|
+
useFactory: (options, productRepository) => {
|
|
344
|
+
return new ProductErrorsHasuraGraphQLRepository(options, productRepository);
|
|
345
|
+
},
|
|
346
|
+
deps: ['HasuraConfig', ProductHasuraGraphQLRepository],
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
provide: 'ProductErrorsRepository',
|
|
350
|
+
useExisting: ProductErrorsHasuraGraphQLRepository,
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
provide: ProductCatalogHasuraGraphQLRepository,
|
|
354
|
+
useFactory: (options) => {
|
|
355
|
+
return new ProductCatalogHasuraGraphQLRepository(options);
|
|
356
|
+
},
|
|
357
|
+
deps: ['HasuraConfig'],
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
provide: 'ProductCatalogRepository',
|
|
361
|
+
useExisting: ProductCatalogHasuraGraphQLRepository,
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
provide: ProductStockEntryHasuraGraphQLRepository,
|
|
365
|
+
useFactory: (options) => {
|
|
366
|
+
return new ProductStockEntryHasuraGraphQLRepository(options);
|
|
367
|
+
},
|
|
368
|
+
deps: ['HasuraConfig'],
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
provide: 'ProductStockEntryRepository',
|
|
372
|
+
useExisting: ProductStockEntryHasuraGraphQLRepository,
|
|
373
|
+
},
|
|
374
|
+
],
|
|
375
|
+
}]
|
|
376
|
+
}] });
|
|
377
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1oYXN1cmEtZ3JhcGhxbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2FuZ3VsYXItaGFzdXJhLWdyYXBocWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ25ELE9BQU8sRUFBdUIsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxRSxPQUFPLEVBRUwsaURBQWlELEVBQ2pELHFDQUFxQyxFQUVyQywrQkFBK0IsRUFDL0Isc0NBQXNDLEVBRXRDLDZCQUE2QixFQUM3QixtQ0FBbUMsRUFNbkMscUNBQXFDLEVBRXJDLG9DQUFvQyxFQUVwQyw4QkFBOEIsRUFFOUIsb0NBQW9DLEVBRXBDLHdDQUF3QyxFQUV4QywrQ0FBK0MsRUFFL0MsOEJBQThCLEVBRTlCLCtCQUErQixHQUNoQyxNQUFNLG1CQUFtQixDQUFBO0FBRTFCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUE7O0FBME16QyxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBNkI7UUFDaEQsT0FBTztZQUNMLFFBQVEsRUFBRSwwQkFBMEI7WUFDcEMsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUM1RCxDQUFBO0lBQ0gsQ0FBQzs7dUhBTlUsMEJBQTBCO3dIQUExQiwwQkFBMEI7d0hBQTFCLDBCQUEwQixhQXJNMUI7UUFDVDtZQUNFLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLFVBQVUsRUFBRSxDQUFDLE9BQTZCLEVBQUUsVUFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbEUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO2dCQUMxQixXQUFXLEVBQUUsT0FBTyxD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QixDQUFDO3lCQUN2RDt3QkFDRDs0QkFDRSxPQUFPLEVBQUUseUJBQXlCOzRCQUNsQyxXQUFXLEVBQUUsb0NBQW9DO3lCQUNsRDt3QkFDRDs0QkFDRSxPQUFPLEVBQUUscUNBQXFDOzRCQUM5QyxVQUFVLEVBQUUsQ0FBQyxPQUFZLEVBQXlDLEVBQUU7Z0NBQ2xFLE9BQU8sSUFBSSxxQ0FBcUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTs0QkFDM0QsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUM7eUJBQ3ZCO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSwwQkFBMEI7NEJBQ25DLFdBQVcsRUFBRSxxQ0FBcUM7eUJBQ25EO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSx3Q0FBd0M7NEJBQ2pELFVBQVUsRUFBRSxDQUFDLE9BQVksRUFBK0IsRUFBRTtnQ0FDeEQsT0FBTyxJQUFJLHdDQUF3QyxDQUFDLE9BQU8sQ0FBQyxDQUFBOzRCQUM5RCxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQzt5QkFDdkI7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDZCQUE2Qjs0QkFDdEMsV0FBVyxFQUFFLHdDQUF3Qzt5QkFDdEQ7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHtcclxuICBDYWNoZUNvbmZpZyxcclxuICBDYXRlZ29yeUNvbGxlY3Rpb25DaGlsZHJlbkhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gIENhdGVnb3J5RmlsdGVySGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgQ2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5LFxyXG4gIENhdGVnb3J5SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgQ2F0ZWdvcnlQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgQ2F0ZWdvcnlSZXBvc2l0b3J5LFxyXG4gIEZpbHRlckhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gIEZpbHRlck9wdGlvbkhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gIEZpbHRlck9wdGlvblJlcG9zaXRvcnksXHJcbiAgRmlsdGVyUmVwb3NpdG9yeSxcclxuICBHcmFwaFFMUGFyYW1zLFxyXG4gIEhhc3VyYUNvbnN0cnVjdG9yUGFyYW1zLFxyXG4gIEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyxcclxuICBQcm9kdWN0Q2F0YWxvZ0hhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gIFByb2R1Y3RFcnJvcnMsXHJcbiAgUHJvZHVjdEVycm9yc0hhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gIFByb2R1Y3RFcnJvcnNSZXBvc2l0b3J5LFxyXG4gIFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICBQcm9kdWN0UmVwb3NpdG9yeSxcclxuICBQcm9kdWN0UmV2aWV3SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgUHJvZHVjdFJldmlld1JlcG9zaXRvcnksXHJcbiAgUHJvZHVjdFN0b2NrRW50cnlIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICBQcm9kdWN0U3RvY2tFbnRyeVJlcG9zaXRvcnksXHJcbiAgUHJvZHVjdFN0b2NrTm90aWZpY2F0aW9uSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgUHJvZHVjdFN0b2NrTm90aWZpY2F0aW9uUmVwb3NpdG9yeSxcclxuICBWYXJpYW50SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgVmFyaWFudFJlcG9zaXRvcnksXHJcbiAgV2lzaGxpc3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmltcG9ydCB7IEhBU1VSQV9PUFRJT05TIH0gZnJvbSAnLi9jb25zdHMnXHJcblxyXG5leHBvcnQgdHlwZSBIYXN1cmFHcmFwaFFMT3B0aW9ucyA9IHsgZW5kcG9pbnQ6IHN0cmluZzsgY3JlZGVudGlhbHM/OiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnM7IGNhY2hlPzogQ2FjaGVDb25maWcgfVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ0hhc3VyYUNvbmZpZycsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBIYXN1cmFHcmFwaFFMT3B0aW9ucywgcGxhdGZvcm1JZDogc3RyaW5nKSA9PiAoe1xyXG4gICAgICAgIGVuZHBvaW50OiBvcHRpb25zLmVuZHBvaW50LFxyXG4gICAgICAgIGF1dGhPcHRpb25zOiBvcHRpb25zLmNyZWRlbnRpYWxzLFxyXG4gICAgICAgIGNhY2hlOiBvcHRpb25zLmNhY2hlLFxyXG4gICAgICAgIGludGVyY2VwdG9yczoge1xyXG4gICAgICAgICAgcmVxdWVzdDogKHJlcXVlc3Q6IEdyYXBoUUxQYXJhbXM8YW55PiAmIHsgaW50ZXJ2YWw6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IH0pID0+IHtcclxuICAgICAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpKSByZXR1cm4gcmVxdWVzdFxyXG5cclxuICAgICAgICAgICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7fSwgMTAwKVxyXG5cclxuICAgICAgICAgICAgcmVxdWVzdC5pbnRlcnZhbCA9IGludGVydmFsXHJcblxyXG4gICAgICAgICAgICByZXR1cm4gcmVxdWVzdFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHJlc3BvbnNlOiAocmVzcG9uc2U6IGFueSwgcmVxdWVzdDogR3JhcGhRTFBhcmFtczxhbnk+ICYgeyBpbnRlcnZhbDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCkpIHJldHVybiByZXNwb25zZVxyXG5cclxuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChyZXF1ZXN0LmludGVydmFsKVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pLFxyXG4gICAgICBkZXBzOiBbSEFTVVJBX09QVElPTlMsIFBMQVRGT1JNX0lEXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdDYXRlZ29yeVJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VFeGlzdGluZzogQ2F0ZWdvcnlIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IENhdGVnb3J5SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChcclxuICAgICAgICBvcHRpb25zOiBhbnksXHJcbiAgICAgICAgcHJvZHVjdFJlcG9zaXRvcnk6IFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgICAgICBjYXRlZ29yeUZpbHRlclJlcG9zaXRvcnk6IENhdGVnb3J5RmlsdGVySGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICAgICk6IENhdGVnb3J5UmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBDYXRlZ29yeUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5KG9wdGlvbnMsIHByb2R1Y3RSZXBvc2l0b3J5LCBjYXRlZ29yeUZpbHRlclJlcG9zaXRvcnkpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFsnSGFzdXJhQ29uZmlnJywgUHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LCBDYXRlZ29yeUZpbHRlckhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5XSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdQcm9kdWN0UmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChoYXN1cmFDb25maWc6IGFueSk6IFByb2R1Y3RSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeShoYXN1cmFDb25maWcpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFsnSGFzdXJhQ29uZmlnJ10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnUHJvZHVjdFJldmlld1JlcG9zaXRvcnknLFxyXG4gICAgICB1c2VFeGlzdGluZzogUHJvZHVjdFJldmlld0hhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogUHJvZHVjdFJldmlld0hhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gICAgICB1c2VGYWN0b3J5OiAoaGFzdXJhQ29uZmlnOiBhbnkpOiBQcm9kdWN0UmV2aWV3UmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9kdWN0UmV2aWV3SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkoaGFzdXJhQ29uZmlnKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0hhc3VyYUNvbmZpZyddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1ZhcmlhbnRSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFZhcmlhbnRIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFZhcmlhbnRIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgICAgdXNlRmFjdG9yeTogKGhhc3VyYUNvbmZpZzogYW55KTogVmFyaWFudFJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgVmFyaWFudEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5KGhhc3VyYUNvbmZpZylcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydIYXN1cmFDb25maWcnXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdQcm9kdWN0U3RvY2tOb3RpZmljYXRpb25SZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFByb2R1Y3RTdG9ja05vdGlmaWNhdGlvbkhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogUHJvZHVjdFN0b2NrTm90aWZpY2F0aW9uSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChoYXN1cmFDb25maWc6IGFueSk6IFByb2R1Y3RTdG9ja05vdGlmaWNhdGlvblJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdFN0b2NrTm90aWZpY2F0aW9uSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkoaGFzdXJhQ29uZmlnKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0hhc3VyYUNvbmZpZyddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ0NhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBDYXRlZ29yeUZpbHRlckhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQ2F0ZWdvcnlGaWx0ZXJIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IGFueSk6IENhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBDYXRlZ29yeUZpbHRlckhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5KG9wdGlvbnMpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFsnSGFzdXJhQ29uZmlnJ10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnRmlsdGVyT3B0aW9uUmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBGaWx0ZXJPcHRpb25IYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEZpbHRlck9wdGlvbkhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogYW55KTogRmlsdGVyT3B0aW9uUmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBGaWx0ZXJPcHRpb25IYXN1cmFHcmFwaFFMUmVwb3NpdG9yeShvcHRpb25zKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0hhc3VyYUNvbmZpZyddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ0ZpbHRlclJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VFeGlzdGluZzogRmlsdGVySGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBGaWx0ZXJIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgICAgdXNlRmFjdG9yeTogKFxyXG4gICAgICAgIG9wdGlvbnM6IGFueSxcclxuICAgICAgICBmaWx0ZXJPcHRpb25SZXBvc2l0b3J5OiBGaWx0ZXJPcHRpb25IYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgICAgICBjYXRlZ29yeUZpbHRlclJlcG9zaXRvcnk6IENhdGVnb3J5RmlsdGVySGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICAgICk6IEZpbHRlclJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgRmlsdGVySGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkob3B0aW9ucywgZmlsdGVyT3B0aW9uUmVwb3NpdG9yeSwgY2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5KVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0hhc3VyYUNvbmZpZycsIEZpbHRlck9wdGlvbkhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LCBDYXRlZ29yeUZpbHRlckhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5XSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IENhdGVnb3J5Q29sbGVjdGlvbkNoaWxkcmVuSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBhbnkpOiBDYXRlZ29yeUNvbGxlY3Rpb25DaGlsZHJlbkhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5ID0+XHJcbiAgICAgICAgbmV3IENhdGVnb3J5Q29sbGVjdGlvbkNoaWxkcmVuSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkob3B0aW9ucyksXHJcbiAgICAgIGRlcHM6IFsnSGFzdXJhQ29uZmlnJ10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnQ2F0ZWdvcnlDb2xsZWN0aW9uQ2hpbGRyZW5SZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IENhdGVnb3J5Q29sbGVjdGlvbkNoaWxkcmVuSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBDYXRlZ29yeVByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IGFueSk6IENhdGVnb3J5UHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IENhdGVnb3J5UHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5KG9wdGlvbnMpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFsnSGFzdXJhQ29uZmlnJ10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnQ2F0ZWdvcnlQcm9kdWN0UmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBDYXRlZ29yeVByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFdpc2hsaXN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChcclxuICAgICAgICBvcHRpb25zOiBhbnksXHJcbiAgICAgICAgY2F0ZWdvcnlQcm9kdWN0UmVwb3NpdG9yeTogQ2F0ZWdvcnlQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICAgICk6IFdpc2hsaXN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgV2lzaGxpc3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeShvcHRpb25zLCBjYXRlZ29yeVByb2R1Y3RSZXBvc2l0b3J5KVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0hhc3VyYUNvbmZpZycsIENhdGVnb3J5UHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5XSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdXaXNobGlzdFJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VFeGlzdGluZzogV2lzaGxpc3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFByb2R1Y3RFcnJvcnNIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgICAgdXNlRmFjdG9yeTogKFxyXG4gICAgICAgIG9wdGlvbnM6IEhhc3VyYUNvbnN0cnVjdG9yUGFyYW1zPFByb2R1Y3RFcnJvcnM+LFxyXG4gICAgICAgIHByb2R1Y3RSZXBvc2l0b3J5OiBQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICAgICk6IFByb2R1Y3RFcnJvcnNSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb2R1Y3RFcnJvcnNIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeShvcHRpb25zLCBwcm9kdWN0UmVwb3NpdG9yeSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydIYXN1cmFDb25maWcnLCBQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnldLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1Byb2R1Y3RFcnJvcnNSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFByb2R1Y3RFcnJvcnNIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFByb2R1Y3RDYXRhbG9nSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBhbnkpOiBQcm9kdWN0Q2F0YWxvZ0hhc3VyYUdyYXBoUUxSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb2R1Y3RDYXRhbG9nSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkob3B0aW9ucylcclxuICAgICAgfSxcclxuICAgICAgZGVwczogWydIYXN1cmFDb25maWcnXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdQcm9kdWN0Q2F0YWxvZ1JlcG9zaXRvcnknLFxyXG4gICAgICB1c2VFeGlzdGluZzogUHJvZHVjdENhdGFsb2dIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFByb2R1Y3RTdG9ja0VudHJ5SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBhbnkpOiBQcm9kdWN0U3RvY2tFbnRyeVJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdFN0b2NrRW50cnlIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeShvcHRpb25zKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0hhc3VyYUNvbmZpZyddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1Byb2R1Y3RTdG9ja0VudHJ5UmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBQcm9kdWN0U3RvY2tFbnRyeUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGUge1xyXG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKG9wdGlvbnM6IEhhc3VyYUdyYXBoUUxPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFySGFzdXJhR3JhcGhRTE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJIYXN1cmFHcmFwaFFMTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEhBU1VSQV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucyB9XSxcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|