@esolve/ng-esolve-connect 0.5.0 → 0.6.2

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.
Files changed (36) hide show
  1. package/bundles/esolve-ng-esolve-connect.umd.js +528 -465
  2. package/bundles/esolve-ng-esolve-connect.umd.js.map +1 -1
  3. package/esm2015/lib/auth/esolve-account.service.js +55 -7
  4. package/esm2015/lib/auth/esolve-auth-interceptor.service.js +3 -3
  5. package/esm2015/lib/auth/esolve-auth.service.js +21 -58
  6. package/esm2015/lib/auth/esolve-registration-data.js +2 -0
  7. package/esm2015/lib/auth/esolve-registration-post-response-item.js +2 -0
  8. package/esm2015/lib/auth/esolve-registration-result.js +9 -0
  9. package/esm2015/lib/auth/esolve-session.service.js +4 -10
  10. package/esm2015/lib/cart/esolve-cart-item-record.js +1 -1
  11. package/esm2015/lib/cart/esolve-cart-item-response.js +2 -0
  12. package/esm2015/lib/cart/esolve-cart.service.js +8 -53
  13. package/esm2015/lib/esolve-connect.config.js +8 -1
  14. package/esm2015/lib/shared/error-handler/esolve-error-handler.service.js +58 -0
  15. package/esm2015/lib/shared/error-handler/esolve-http-error.js +8 -0
  16. package/esm2015/lib/stock/esolve-stock-item.js +13 -3
  17. package/esm2015/lib/stock/esolve-stock-record.js +1 -1
  18. package/esm2015/lib/stock/esolve-stock.service.js +2 -2
  19. package/esm2015/public-api.js +6 -1
  20. package/fesm2015/esolve-ng-esolve-connect.js +257 -214
  21. package/fesm2015/esolve-ng-esolve-connect.js.map +1 -1
  22. package/lib/auth/esolve-account.service.d.ts +8 -1
  23. package/lib/auth/esolve-auth.service.d.ts +3 -1
  24. package/lib/auth/esolve-registration-data.d.ts +12 -0
  25. package/lib/auth/esolve-registration-post-response-item.d.ts +6 -0
  26. package/lib/auth/esolve-registration-result.d.ts +7 -0
  27. package/lib/auth/esolve-session.service.d.ts +1 -2
  28. package/lib/cart/esolve-cart-item-record.d.ts +0 -5
  29. package/lib/cart/esolve-cart-item-response.d.ts +5 -0
  30. package/lib/cart/esolve-cart.service.d.ts +4 -2
  31. package/lib/shared/error-handler/esolve-error-handler.service.d.ts +11 -0
  32. package/lib/shared/error-handler/esolve-http-error.d.ts +6 -0
  33. package/lib/stock/esolve-stock-item.d.ts +17 -1
  34. package/lib/stock/esolve-stock-record.d.ts +7 -1
  35. package/package.json +1 -1
  36. package/public-api.d.ts +5 -0
@@ -1,13 +1,20 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Injectable, Inject, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
- import * as i1 from '@angular/common/http';
5
- import { HttpParams, HTTP_INTERCEPTORS, HttpClientModule, HttpHeaders, HttpErrorResponse } from '@angular/common/http';
6
- import { iif, throwError, BehaviorSubject, of } from 'rxjs';
7
- import { map, catchError, tap, switchMap } from 'rxjs/operators';
8
- import * as i1$1 from '@angular/platform-browser';
4
+ import * as i1$1 from '@angular/common/http';
5
+ import { HttpParams, HTTP_INTERCEPTORS, HttpClientModule, HttpErrorResponse, HttpHeaders } from '@angular/common/http';
6
+ import { BehaviorSubject, throwError, iif, of } from 'rxjs';
7
+ import * as i1 from '@angular/platform-browser';
8
+ import { map, tap, catchError, switchMap } from 'rxjs/operators';
9
9
 
10
- const ESOLVE_CONNECT_CONFIG = new InjectionToken('esolve.connect.config');
10
+ const ESOLVE_CONNECT_CONFIG = new InjectionToken('esolve.connect.config');
11
+ // For future development
12
+ // export const GLOBAL_CONFIG = {
13
+ // images_url: '',
14
+ // media_path: '/media',
15
+ // stock_path: '/stock',
16
+ // banner_path: '/banners'
17
+ // };
11
18
 
12
19
  class EsolveSession {
13
20
  constructor(id = -1, _key = '', _key_expiration_date) {
@@ -36,89 +43,13 @@ class EsolveSession {
36
43
  }
37
44
  }
38
45
 
39
- class EsolveAddress {
40
- constructor(id, recipient, address_type, pobox, place_name, street_number, street, suburb, city, province, country, postal_code, latitude, longitude) {
41
- this.id = id;
42
- this.recipient = recipient;
43
- this.address_type = address_type;
44
- this.pobox = pobox;
45
- this.place_name = place_name;
46
- this.street_number = street_number;
47
- this.street = street;
48
- this.suburb = suburb;
49
- this.city = city;
50
- this.province = province;
51
- this.country = country;
52
- this.postal_code = postal_code;
53
- this.latitude = latitude;
54
- this.longitude = longitude;
55
- }
56
- }
57
-
58
- class EsolveAccountService {
59
- constructor(config, http) {
60
- this.config = config;
61
- this.http = http;
62
- this._user_id = 0;
63
- }
64
- get user_id() {
65
- return this._user_id;
66
- }
67
- set user_id(value) {
68
- value = ((value > 0) ? value : 0);
69
- if (this._user_id !== value) {
70
- this._user_id = value;
71
- }
72
- }
73
- processUserAddress(records) {
74
- const user_addesses = [];
75
- if (records && (this._user_id > 0)) {
76
- for (const record of records) {
77
- if (+record.userid === this._user_id) {
78
- user_addesses.push(new EsolveAddress(+record.id, record.recipient, record.address_type, record.pobox, record.place_name, record.street_number, record.street, record.suburb, record.city, record.province, record.country, record.postal_code, +record.latitude, +record.longitude));
79
- }
80
- }
81
- }
82
- return user_addesses;
83
- }
84
- getAddress() {
85
- let params = new HttpParams();
86
- params = params.set('ws_id', this.config.wsid);
87
- params = params.set('user_id', this.user_id.toString());
88
- return iif(() => (this.user_id > 0), this.http.get(`${this.config.api_url}/service/get-addresses.php`, { params }).pipe(map(response => {
89
- if (response.records === undefined) {
90
- throw response;
91
- }
92
- return this.processUserAddress(response.records);
93
- }), catchError((err) => {
94
- return throwError(err);
95
- })), throwError('Log in is required'));
96
- }
97
- }
98
- EsolveAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveAccountService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
99
- EsolveAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveAccountService, providedIn: 'root' });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveAccountService, decorators: [{
101
- type: Injectable,
102
- args: [{
103
- providedIn: 'root'
104
- }]
105
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
106
- type: Inject,
107
- args: [ESOLVE_CONNECT_CONFIG]
108
- }] }, { type: i1.HttpClient }]; } });
109
-
110
46
  class EsolveSessionService {
111
- constructor(config, account) {
47
+ constructor(config) {
112
48
  this.config = config;
113
49
  this.storage_key = 'ngEslvUserSession';
114
50
  this.setStorageKey();
115
51
  this._session = new BehaviorSubject(new EsolveSession(0, ''));
116
52
  this.session = this._session.asObservable();
117
- this._session.subscribe((session) => {
118
- if (session.key !== '') {
119
- account.user_id = session.id;
120
- }
121
- });
122
53
  }
123
54
  get currentSession() {
124
55
  return this._session.value;
@@ -174,7 +105,7 @@ class EsolveSessionService {
174
105
  }
175
106
  }
176
107
  }
177
- EsolveSessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveSessionService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: EsolveAccountService }], target: i0.ɵɵFactoryTarget.Injectable });
108
+ EsolveSessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveSessionService, deps: [{ token: ESOLVE_CONNECT_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
178
109
  EsolveSessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveSessionService, providedIn: 'root' });
179
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveSessionService, decorators: [{
180
111
  type: Injectable,
@@ -184,7 +115,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
184
115
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
185
116
  type: Inject,
186
117
  args: [ESOLVE_CONNECT_CONFIG]
187
- }] }, { type: EsolveAccountService }]; } });
118
+ }] }]; } });
188
119
 
189
120
  class EsolveAuthInterceptorService {
190
121
  constructor(config, session) {
@@ -194,7 +125,7 @@ class EsolveAuthInterceptorService {
194
125
  intercept(req, next) {
195
126
  if (req.url.startsWith(`${this.config.api_url}/service/`)) {
196
127
  const service_identifier = req.url.replace(`${this.config.api_url}/service/`, '');
197
- const old_parms_keys = req.params.keys();
128
+ const old_params_keys = req.params.keys();
198
129
  const modified_url = req.url;
199
130
  let params = new HttpParams();
200
131
  const session = this.session.currentSession;
@@ -203,7 +134,7 @@ class EsolveAuthInterceptorService {
203
134
  params = params.set('key', session.key);
204
135
  }
205
136
  }
206
- old_parms_keys.forEach(key => {
137
+ old_params_keys.forEach(key => {
207
138
  params = params.set(key, req.params.get(key) || '');
208
139
  });
209
140
  const modified_req = req.clone({
@@ -261,6 +192,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
261
192
  }]
262
193
  }] });
263
194
 
195
+ class EsolveHttpError {
196
+ constructor(type, message, error_code) {
197
+ this.type = type;
198
+ this.message = message;
199
+ this.error_code = error_code;
200
+ }
201
+ }
202
+
203
+ class EsolveErrorHandlerService {
204
+ constructor() { }
205
+ parseException(exception) {
206
+ const error = new EsolveHttpError('exception', exception.message || 'Unknown exception has occurred', exception.additional_data.exception_type || 'unknown');
207
+ return error;
208
+ }
209
+ parseErrors(response) {
210
+ const error = new EsolveHttpError('error', 'Unknown error has occurred', 'unknown');
211
+ if ((response.status.state === 'none') && (response.log.length > 0)) {
212
+ error.error_code = 'no_response';
213
+ error.message = 'Response was provided';
214
+ }
215
+ else if (response.status.state === 'error') {
216
+ const login_error_log = response.log[0];
217
+ error.error_code = login_error_log.message_code;
218
+ error.message = login_error_log.message;
219
+ }
220
+ return error;
221
+ }
222
+ handleHttpError(service_type, errorRes) {
223
+ if (errorRes instanceof HttpErrorResponse) {
224
+ if (errorRes.status === 500) {
225
+ const server_error = errorRes.error;
226
+ if ((server_error.service_type === service_type) ||
227
+ (server_error.type !== undefined) ||
228
+ (server_error.message !== undefined) ||
229
+ (server_error.additional_data !== undefined)) {
230
+ return throwError(this.parseException(server_error));
231
+ }
232
+ }
233
+ }
234
+ else {
235
+ if (errorRes.type !== undefined) {
236
+ if (errorRes.type === 'exception') {
237
+ return throwError(this.parseException(errorRes));
238
+ }
239
+ }
240
+ else if (errorRes.transaction_type !== undefined) {
241
+ return throwError(this.parseErrors(errorRes));
242
+ }
243
+ }
244
+ return throwError(errorRes);
245
+ }
246
+ }
247
+ EsolveErrorHandlerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveErrorHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
248
+ EsolveErrorHandlerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveErrorHandlerService, providedIn: 'root' });
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveErrorHandlerService, decorators: [{
250
+ type: Injectable,
251
+ args: [{
252
+ providedIn: 'root'
253
+ }]
254
+ }], ctorParameters: function () { return []; } });
255
+
264
256
  /**
265
257
  * Search Engine Optimization information.
266
258
  */
@@ -369,7 +361,7 @@ class EsolveSeoService {
369
361
  this.setPageKeywordsTags(seoInfo.keywords);
370
362
  }
371
363
  }
372
- EsolveSeoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveSeoService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1$1.Title }, { token: i1$1.Meta }], target: i0.ɵɵFactoryTarget.Injectable });
364
+ EsolveSeoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveSeoService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.Title }, { token: i1.Meta }], target: i0.ɵɵFactoryTarget.Injectable });
373
365
  EsolveSeoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveSeoService, providedIn: 'root' });
374
366
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveSeoService, decorators: [{
375
367
  type: Injectable,
@@ -379,13 +371,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
379
371
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
380
372
  type: Inject,
381
373
  args: [ESOLVE_CONNECT_CONFIG]
382
- }] }, { type: i1$1.Title }, { type: i1$1.Meta }]; } });
374
+ }] }, { type: i1.Title }, { type: i1.Meta }]; } });
375
+
376
+ class EsolveAddress {
377
+ constructor(id, recipient, address_type, pobox, place_name, street_number, street, suburb, city, province, country, postal_code, latitude, longitude) {
378
+ this.id = id;
379
+ this.recipient = recipient;
380
+ this.address_type = address_type;
381
+ this.pobox = pobox;
382
+ this.place_name = place_name;
383
+ this.street_number = street_number;
384
+ this.street = street;
385
+ this.suburb = suburb;
386
+ this.city = city;
387
+ this.province = province;
388
+ this.country = country;
389
+ this.postal_code = postal_code;
390
+ this.latitude = latitude;
391
+ this.longitude = longitude;
392
+ }
393
+ }
394
+
395
+ class EsolveRegistrationResult {
396
+ constructor(user_id, guest, authentication_required, auto_login) {
397
+ this.user_id = user_id;
398
+ this.guest = guest;
399
+ this.authentication_required = authentication_required;
400
+ this.auto_login = auto_login;
401
+ }
402
+ }
383
403
 
384
404
  class EsolveAuthService {
385
- constructor(config, http, session) {
405
+ constructor(config, http, session, errorHandler) {
386
406
  this.config = config;
387
407
  this.http = http;
388
408
  this.session = session;
409
+ this.errorHandler = errorHandler;
389
410
  }
390
411
  checkAccessToken(session) {
391
412
  var _a;
@@ -403,7 +424,9 @@ class EsolveAuthService {
403
424
  'Accept-Language': '*'
404
425
  })
405
426
  }).pipe(map(responseData => {
406
- if ((responseData.type === 'error') || (responseData.type === 'exception') || (!responseData.additional_data.key_okay)) {
427
+ if ((responseData.type === 'error') ||
428
+ (responseData.type === 'exception') ||
429
+ (!responseData.additional_data.key_okay)) {
407
430
  throw responseData;
408
431
  }
409
432
  responseData.additional_data.key = token;
@@ -428,7 +451,8 @@ class EsolveAuthService {
428
451
  'Accept-Language': '*'
429
452
  })
430
453
  }).pipe(tap(responseData => {
431
- if ((responseData.type === 'error') || (responseData.type === 'exception')) {
454
+ if ((responseData.type === 'error') ||
455
+ (responseData.type === 'exception')) {
432
456
  throw responseData;
433
457
  }
434
458
  }), catchError(this.handleError), tap(responseData => {
@@ -459,11 +483,13 @@ class EsolveAuthService {
459
483
  responseType: 'json',
460
484
  observe: 'body'
461
485
  }).pipe(map(response => {
462
- if ((response.responses === undefined) || (response.responses.length <= 0)) {
486
+ if ((response.responses === undefined) ||
487
+ (response.responses.length <= 0)) {
463
488
  throw response;
464
489
  }
465
490
  const login_response = response.responses[0];
466
- if ((login_response.status.state !== 'success') && (login_response.status.state !== 'warning')) {
491
+ if ((login_response.status.state !== 'success') &&
492
+ (login_response.status.state !== 'warning')) {
467
493
  throw login_response;
468
494
  }
469
495
  for (const response_log of login_response.log) {
@@ -474,54 +500,7 @@ class EsolveAuthService {
474
500
  }
475
501
  throw login_response;
476
502
  }), catchError((errorRes) => {
477
- const parseException = (exception) => {
478
- const exception_type = exception.additional_data.exception_type;
479
- const error = {
480
- type: 'exception',
481
- message: exception.message || '',
482
- error_code: exception_type || 'unknown'
483
- };
484
- return error;
485
- };
486
- const parseLoginErrors = (login_response) => {
487
- const error = {
488
- type: 'error',
489
- message: 'Unknown error has occured',
490
- error_code: 'unknown'
491
- };
492
- if ((login_response.status.state === 'none') && (login_response.log.length > 0)) {
493
- error.error_code = 'no_response';
494
- error.message = 'Response was provided';
495
- }
496
- else if (login_response.status.state === 'error') {
497
- const login_error_log = login_response.log[0];
498
- error.error_code = login_error_log.message_code;
499
- error.message = login_error_log.message;
500
- }
501
- return error;
502
- };
503
- if (errorRes instanceof HttpErrorResponse) {
504
- if (errorRes.status === 500) {
505
- const server_error = errorRes.error;
506
- if ((server_error.service_type === 'set-login') ||
507
- (server_error.type !== undefined) ||
508
- (server_error.message !== undefined) ||
509
- (server_error.additional_data !== undefined)) {
510
- return throwError(parseException(server_error));
511
- }
512
- }
513
- }
514
- else {
515
- if (errorRes.type !== undefined) {
516
- if (errorRes.type === 'exception') {
517
- return throwError(parseException(errorRes));
518
- }
519
- }
520
- else if (errorRes.transaction_type === 'Login') {
521
- return throwError(parseLoginErrors(errorRes));
522
- }
523
- }
524
- return throwError(errorRes);
503
+ return this.errorHandler.handleHttpError('set-login', errorRes);
525
504
  }));
526
505
  }
527
506
  logout() {
@@ -530,6 +509,7 @@ class EsolveAuthService {
530
509
  console.log(error);
531
510
  });
532
511
  }
512
+ // Handlers
533
513
  handleExpiration() {
534
514
  return (session) => {
535
515
  this.checkAccessToken(session).then((response) => {
@@ -549,7 +529,9 @@ class EsolveAuthService {
549
529
  message: 'An unknown error occurred',
550
530
  data: {}
551
531
  };
552
- if ((!errorRes.type) || (!errorRes.service_type) || (!errorRes.message)) {
532
+ if ((!errorRes.type) ||
533
+ (!errorRes.service_type) ||
534
+ (!errorRes.message)) {
553
535
  return throwError(error);
554
536
  }
555
537
  if (errorRes.message.trim() !== '') {
@@ -561,7 +543,7 @@ class EsolveAuthService {
561
543
  return throwError(error);
562
544
  }
563
545
  }
564
- EsolveAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveAuthService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }, { token: EsolveSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
546
+ EsolveAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveAuthService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1$1.HttpClient }, { token: EsolveSessionService }, { token: EsolveErrorHandlerService }], target: i0.ɵɵFactoryTarget.Injectable });
565
547
  EsolveAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveAuthService, providedIn: 'root' });
566
548
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveAuthService, decorators: [{
567
549
  type: Injectable,
@@ -571,7 +553,104 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
571
553
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
572
554
  type: Inject,
573
555
  args: [ESOLVE_CONNECT_CONFIG]
574
- }] }, { type: i1.HttpClient }, { type: EsolveSessionService }]; } });
556
+ }] }, { type: i1$1.HttpClient }, { type: EsolveSessionService }, { type: EsolveErrorHandlerService }]; } });
557
+
558
+ class EsolveAccountService {
559
+ constructor(config, http, sessionService, errorHandler) {
560
+ this.config = config;
561
+ this.http = http;
562
+ this.sessionService = sessionService;
563
+ this.errorHandler = errorHandler;
564
+ this._user_id = 0;
565
+ this.sessionService.session.subscribe((session) => {
566
+ if (session.key !== '') {
567
+ this.user_id = session.id;
568
+ }
569
+ });
570
+ }
571
+ get user_id() {
572
+ return this._user_id;
573
+ }
574
+ set user_id(value) {
575
+ value = ((value > 0) ? value : 0);
576
+ if (this._user_id !== value) {
577
+ this._user_id = value;
578
+ }
579
+ }
580
+ processUserAddress(records) {
581
+ const user_addresses = [];
582
+ if (records && (this._user_id > 0)) {
583
+ for (const record of records) {
584
+ if (+record.userid === this._user_id) {
585
+ user_addresses.push(new EsolveAddress(+record.id, record.recipient, record.address_type, record.pobox, record.place_name, record.street_number, record.street, record.suburb, record.city, record.province, record.country, record.postal_code, +record.latitude, +record.longitude));
586
+ }
587
+ }
588
+ }
589
+ return user_addresses;
590
+ }
591
+ getAddress() {
592
+ let params = new HttpParams();
593
+ params = params.set('ws_id', this.config.wsid);
594
+ params = params.set('user_id', this.user_id.toString());
595
+ return iif(() => (this.user_id > 0), this.http.get(`${this.config.api_url}/service/get-addresses.php`, { params }).pipe(map(response => {
596
+ if (response.records === undefined) {
597
+ throw response;
598
+ }
599
+ return this.processUserAddress(response.records);
600
+ }), catchError((err) => {
601
+ return throwError(err);
602
+ })), throwError('Log in is required'));
603
+ }
604
+ register(user_registration) {
605
+ const body = {
606
+ user: user_registration
607
+ };
608
+ return this.http.post(`${this.config.api_url}/service/set-registration.php`, body, {
609
+ headers: {
610
+ 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
611
+ },
612
+ params: {
613
+ ws_id: this.config.wsid
614
+ },
615
+ responseType: 'json',
616
+ observe: 'body'
617
+ }).pipe(map(response => {
618
+ if ((response.responses === undefined) ||
619
+ (response.responses.length <= 0)) {
620
+ throw response;
621
+ }
622
+ const registration_response = response.responses[0];
623
+ if ((registration_response.status.state !== 'success') &&
624
+ (registration_response.status.state !== 'warning')) {
625
+ throw registration_response;
626
+ }
627
+ for (const response_log of registration_response.log) {
628
+ if ((response_log.type === 'success') && (response_log.message_code === 'registration_success')) {
629
+ let user_id = 0;
630
+ if (registration_response.auto_login) {
631
+ user_id = registration_response.esolve_id;
632
+ this.sessionService.handleUpdateSession(user_id);
633
+ }
634
+ return new EsolveRegistrationResult(user_id, registration_response.guest, registration_response.authentication_required, registration_response.auto_login);
635
+ }
636
+ }
637
+ throw registration_response;
638
+ }), catchError((errorRes) => {
639
+ return this.errorHandler.handleHttpError('set-registration', errorRes);
640
+ }));
641
+ }
642
+ }
643
+ EsolveAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveAccountService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1$1.HttpClient }, { token: EsolveSessionService }, { token: EsolveErrorHandlerService }], target: i0.ɵɵFactoryTarget.Injectable });
644
+ EsolveAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveAccountService, providedIn: 'root' });
645
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveAccountService, decorators: [{
646
+ type: Injectable,
647
+ args: [{
648
+ providedIn: 'root'
649
+ }]
650
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
651
+ type: Inject,
652
+ args: [ESOLVE_CONNECT_CONFIG]
653
+ }] }, { type: i1$1.HttpClient }, { type: EsolveSessionService }, { type: EsolveErrorHandlerService }]; } });
575
654
 
576
655
  class EsolveMediaArticle {
577
656
  constructor(identifier, title, article, image_url = '', tags = [], topics = [], seo_title = '', seo_keywords = '', seo_description = '') {
@@ -679,7 +758,7 @@ class EsolveMediaService {
679
758
  }));
680
759
  }
681
760
  }
682
- EsolveMediaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveMediaService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
761
+ EsolveMediaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveMediaService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
683
762
  EsolveMediaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveMediaService, providedIn: 'root' });
684
763
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveMediaService, decorators: [{
685
764
  type: Injectable,
@@ -689,7 +768,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
689
768
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
690
769
  type: Inject,
691
770
  args: [ESOLVE_CONNECT_CONFIG]
692
- }] }, { type: i1.HttpClient }]; } });
771
+ }] }, { type: i1$1.HttpClient }]; } });
693
772
 
694
773
  class EsolveNewsArticle {
695
774
  constructor(id, title, sef_title, article, short_description, txdate, active, image, featured, author, seo_title = '', seo_keywords = '') {
@@ -821,7 +900,7 @@ class EsolveNewsService {
821
900
  return new EsolveNewsArticle(newsRecord.id, newsRecord.title, newsRecord.sef_title, newsRecord.article, newsRecord.short_description, newsRecord.txdate, newsRecord.active, newsRecord.image, newsRecord.featured, author, newsRecord.seo_page_title, newsRecord.seo_keywords);
822
901
  }
823
902
  }
824
- EsolveNewsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveNewsService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
903
+ EsolveNewsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveNewsService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
825
904
  EsolveNewsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveNewsService, providedIn: 'root' });
826
905
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveNewsService, decorators: [{
827
906
  type: Injectable,
@@ -831,7 +910,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
831
910
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
832
911
  type: Inject,
833
912
  args: [ESOLVE_CONNECT_CONFIG]
834
- }] }, { type: i1.HttpClient }]; } });
913
+ }] }, { type: i1$1.HttpClient }]; } });
835
914
 
836
915
  class EsolveBanner {
837
916
  constructor(id, banner_display_container, identifier, type, title, article, sort_priority, link, images) {
@@ -964,7 +1043,7 @@ class EsolveBannerService {
964
1043
  }));
965
1044
  }
966
1045
  }
967
- EsolveBannerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveBannerService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1046
+ EsolveBannerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveBannerService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
968
1047
  EsolveBannerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveBannerService, providedIn: 'root' });
969
1048
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveBannerService, decorators: [{
970
1049
  type: Injectable,
@@ -974,7 +1053,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
974
1053
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
975
1054
  type: Inject,
976
1055
  args: [ESOLVE_CONNECT_CONFIG]
977
- }] }, { type: i1.HttpClient }]; } });
1056
+ }] }, { type: i1$1.HttpClient }]; } });
978
1057
 
979
1058
  class EsolveMenuItem {
980
1059
  constructor(url, name, target, children = []) {
@@ -1014,7 +1093,7 @@ class EsolveMenuService {
1014
1093
  return menu;
1015
1094
  }
1016
1095
  }
1017
- EsolveMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveMenuService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1096
+ EsolveMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveMenuService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1018
1097
  EsolveMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveMenuService, providedIn: 'root' });
1019
1098
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveMenuService, decorators: [{
1020
1099
  type: Injectable,
@@ -1024,7 +1103,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
1024
1103
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1025
1104
  type: Inject,
1026
1105
  args: [ESOLVE_CONNECT_CONFIG]
1027
- }] }, { type: i1.HttpClient }]; } });
1106
+ }] }, { type: i1$1.HttpClient }]; } });
1028
1107
 
1029
1108
  class EsolveTopicService {
1030
1109
  constructor(config, http) {
@@ -1064,7 +1143,7 @@ class EsolveTopicService {
1064
1143
  }));
1065
1144
  }
1066
1145
  }
1067
- EsolveTopicService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveTopicService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1146
+ EsolveTopicService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveTopicService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1068
1147
  EsolveTopicService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveTopicService, providedIn: 'root' });
1069
1148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveTopicService, decorators: [{
1070
1149
  type: Injectable,
@@ -1074,7 +1153,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
1074
1153
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1075
1154
  type: Inject,
1076
1155
  args: [ESOLVE_CONNECT_CONFIG]
1077
- }] }, { type: i1.HttpClient }]; } });
1156
+ }] }, { type: i1$1.HttpClient }]; } });
1078
1157
 
1079
1158
  class EsolveStockBadge {
1080
1159
  constructor(id, text, identifier, font_colour, badge_colour, sort_priority) {
@@ -1199,7 +1278,15 @@ class EsolveStockItem {
1199
1278
  /**
1200
1279
  * Stock badges
1201
1280
  */
1202
- badges, seo_title = '', seo_keywords = '') {
1281
+ badges,
1282
+ /**
1283
+ * ID of default category linked to the stock item
1284
+ */
1285
+ category_id,
1286
+ /**
1287
+ * ID of default subcategory linked to the stock item
1288
+ */
1289
+ subcategory_id, seo_title = '', seo_keywords = '') {
1203
1290
  this.id = id;
1204
1291
  this.code = code;
1205
1292
  this.name = name;
@@ -1212,6 +1299,8 @@ class EsolveStockItem {
1212
1299
  this.tags = tags;
1213
1300
  this.topics = topics;
1214
1301
  this.badges = badges;
1302
+ this.category_id = category_id;
1303
+ this.subcategory_id = subcategory_id;
1215
1304
  if (seo_title.trim() === '') {
1216
1305
  seo_title = this.name;
1217
1306
  }
@@ -1245,7 +1334,7 @@ class EsolveStockItem {
1245
1334
  * Path to original stock image
1246
1335
  */
1247
1336
  get original_image_src() {
1248
- return 'images/' + (this.image_name ? 'stock/original/' + this.image_name : 'no_image.jpg');
1337
+ return '/images/' + (this.image_name ? 'stock/original/' + this.image_name : 'no_image.jpg');
1249
1338
  }
1250
1339
  }
1251
1340
 
@@ -1289,7 +1378,7 @@ class EsolveStockService {
1289
1378
  }
1290
1379
  }
1291
1380
  const price = new EsolveStockPrice(record.regular_sellprice, record.regular_sellprice_inclusive, record.sellprice, record.sellprice_inclusive);
1292
- return new EsolveStockItem(+record.id, record.code, record.name, record.sef_name, record.description, !!+record.is_active, !!+record.is_featured, record.image_name, price, tags, topics, badges, record.seo_page_title, record.seo_keywords);
1381
+ return new EsolveStockItem(+record.id, record.code, record.name, record.sef_name, record.description, !!+record.is_active, !!+record.is_featured, record.image_name, price, tags, topics, badges, record.category_id, +record.subcategory_id, record.seo_page_title, record.seo_keywords);
1293
1382
  }
1294
1383
  /**
1295
1384
  * Retrieves stock records from HTTP params.
@@ -1382,7 +1471,7 @@ class EsolveStockService {
1382
1471
  }));
1383
1472
  }
1384
1473
  }
1385
- EsolveStockService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveStockService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1474
+ EsolveStockService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveStockService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1386
1475
  EsolveStockService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveStockService, providedIn: 'root' });
1387
1476
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveStockService, decorators: [{
1388
1477
  type: Injectable,
@@ -1392,7 +1481,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
1392
1481
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1393
1482
  type: Inject,
1394
1483
  args: [ESOLVE_CONNECT_CONFIG]
1395
- }] }, { type: i1.HttpClient }]; } });
1484
+ }] }, { type: i1$1.HttpClient }]; } });
1396
1485
 
1397
1486
  class EsolveCategoryTreeItem {
1398
1487
  constructor(type, esolve_id, parent_id, description, sef_description, short_description, sort_priority, active, display_only, image_name, seo_title, seo_keywords, seo_description, children) {
@@ -1547,7 +1636,7 @@ class EsolveCategoryTreeService {
1547
1636
  return throwError('Invalid options');
1548
1637
  }
1549
1638
  }
1550
- EsolveCategoryTreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCategoryTreeService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1639
+ EsolveCategoryTreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCategoryTreeService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1551
1640
  EsolveCategoryTreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCategoryTreeService, providedIn: 'root' });
1552
1641
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCategoryTreeService, decorators: [{
1553
1642
  type: Injectable,
@@ -1557,7 +1646,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
1557
1646
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1558
1647
  type: Inject,
1559
1648
  args: [ESOLVE_CONNECT_CONFIG]
1560
- }] }, { type: i1.HttpClient }]; } });
1649
+ }] }, { type: i1$1.HttpClient }]; } });
1561
1650
 
1562
1651
  class EsolveStockLocation {
1563
1652
  constructor(record) {
@@ -1842,9 +1931,10 @@ class EsolveCartStockItem {
1842
1931
  }
1843
1932
 
1844
1933
  class EsolveCartService {
1845
- constructor(config, http) {
1934
+ constructor(config, http, errorHandler) {
1846
1935
  this.config = config;
1847
1936
  this.http = http;
1937
+ this.errorHandler = errorHandler;
1848
1938
  this._cached_tracking = 0;
1849
1939
  }
1850
1940
  /**
@@ -2134,59 +2224,12 @@ class EsolveCartService {
2134
2224
  }
2135
2225
  return checkout_result.esolve_id;
2136
2226
  }), catchError((errorRes) => {
2137
- const parseException = (exception) => {
2138
- const exception_type = exception.additional_data.exception_type;
2139
- const error = {
2140
- type: 'exception',
2141
- message: exception.message || '',
2142
- error_code: exception_type || 'unknown'
2143
- };
2144
- return error;
2145
- };
2146
- const parseCheckoutErrors = (response) => {
2147
- const error = {
2148
- type: 'error',
2149
- message: 'Unknown error has occured',
2150
- error_code: 'unknown'
2151
- };
2152
- if ((response.status.state === 'none') || (response.log.length === 0)) {
2153
- error.error_code = 'no_response';
2154
- error.message = 'Response was provided';
2155
- }
2156
- else if (response.status.state === 'error') {
2157
- const error_log = response.log[0];
2158
- error.error_code = error_log.message_code;
2159
- error.message = error_log.message;
2160
- }
2161
- return error;
2162
- };
2163
- if (errorRes instanceof HttpErrorResponse) {
2164
- if (errorRes.status === 500) {
2165
- const server_error = errorRes.error;
2166
- if ((server_error.service_type === 'set-checkout') ||
2167
- (server_error.type !== undefined) ||
2168
- (server_error.message !== undefined) ||
2169
- (server_error.additional_data !== undefined)) {
2170
- return throwError(parseException(server_error));
2171
- }
2172
- }
2173
- }
2174
- else {
2175
- if (errorRes.type !== undefined) {
2176
- if (errorRes.type === 'exception') {
2177
- return throwError(parseException(errorRes));
2178
- }
2179
- }
2180
- else if (errorRes.transaction_type !== undefined) {
2181
- return throwError(parseCheckoutErrors(errorRes));
2182
- }
2183
- }
2184
- return throwError(errorRes);
2227
+ return this.errorHandler.handleHttpError('set-checkout', errorRes);
2185
2228
  }));
2186
2229
  }));
2187
2230
  }
2188
2231
  }
2189
- EsolveCartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCartService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
2232
+ EsolveCartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCartService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1$1.HttpClient }, { token: EsolveErrorHandlerService }], target: i0.ɵɵFactoryTarget.Injectable });
2190
2233
  EsolveCartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCartService, providedIn: 'root' });
2191
2234
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCartService, decorators: [{
2192
2235
  type: Injectable,
@@ -2196,7 +2239,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
2196
2239
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2197
2240
  type: Inject,
2198
2241
  args: [ESOLVE_CONNECT_CONFIG]
2199
- }] }, { type: i1.HttpClient }]; } });
2242
+ }] }, { type: i1$1.HttpClient }, { type: EsolveErrorHandlerService }]; } });
2200
2243
 
2201
2244
  /*
2202
2245
  * Public API Surface of ng-esolve-connect
@@ -2206,5 +2249,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
2206
2249
  * Generated bundle index. Do not edit.
2207
2250
  */
2208
2251
 
2209
- export { BankingDetails, EsolveAccountService, EsolveAddress, EsolveAuthService, EsolveBanner, EsolveBannerImage, EsolveBannerImageHotspot, EsolveBannerService, EsolveCartItem, EsolveCartService, EsolveCartTotals, EsolveCategoryTreeItem, EsolveCategoryTreeService, EsolveMediaArticle, EsolveMediaService, EsolveMenuItem, EsolveMenuService, EsolveNewsArticle, EsolveNewsArticleAuthor, EsolveNewsArticleList, EsolveNewsGroup, EsolveNewsService, EsolvePaymentMethod, EsolveSEOInfo, EsolveSeoService, EsolveSession, EsolveSessionService, EsolveShippingCost, EsolveShippingMethod, EsolveStockBadge, EsolveStockItem, EsolveStockItemList, EsolveStockLocation, EsolveStockPrice, EsolveStockService, EsolveTag, EsolveTopic, EsolveTopicService, NgEsolveConnectModule };
2252
+ export { BankingDetails, EsolveAccountService, EsolveAddress, EsolveAuthService, EsolveBanner, EsolveBannerImage, EsolveBannerImageHotspot, EsolveBannerService, EsolveCartItem, EsolveCartService, EsolveCartTotals, EsolveCategoryTreeItem, EsolveCategoryTreeService, EsolveErrorHandlerService, EsolveHttpError, EsolveMediaArticle, EsolveMediaService, EsolveMenuItem, EsolveMenuService, EsolveNewsArticle, EsolveNewsArticleAuthor, EsolveNewsArticleList, EsolveNewsGroup, EsolveNewsService, EsolvePaymentMethod, EsolveRegistrationResult, EsolveSEOInfo, EsolveSeoService, EsolveSession, EsolveSessionService, EsolveShippingCost, EsolveShippingMethod, EsolveStockBadge, EsolveStockItem, EsolveStockItemList, EsolveStockLocation, EsolveStockPrice, EsolveStockService, EsolveTag, EsolveTopic, EsolveTopicService, NgEsolveConnectModule };
2210
2253
  //# sourceMappingURL=esolve-ng-esolve-connect.js.map