@esolve/ng-esolve-connect 0.5.1

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 (148) hide show
  1. package/README.md +23 -0
  2. package/bundles/esolve-ng-esolve-connect.umd.js +3032 -0
  3. package/bundles/esolve-ng-esolve-connect.umd.js.map +1 -0
  4. package/esm2015/esolve-ng-esolve-connect.js +5 -0
  5. package/esm2015/lib/auth/esolve-account.service.js +60 -0
  6. package/esm2015/lib/auth/esolve-address-record.js +2 -0
  7. package/esm2015/lib/auth/esolve-address.js +19 -0
  8. package/esm2015/lib/auth/esolve-auth-interceptor.service.js +43 -0
  9. package/esm2015/lib/auth/esolve-auth.service.js +200 -0
  10. package/esm2015/lib/auth/esolve-session.js +27 -0
  11. package/esm2015/lib/auth/esolve-session.service.js +85 -0
  12. package/esm2015/lib/auth/esolve-stored-session.js +2 -0
  13. package/esm2015/lib/banners/esolve-banner-image-hotspot-record.js +2 -0
  14. package/esm2015/lib/banners/esolve-banner-image-hotspot.js +9 -0
  15. package/esm2015/lib/banners/esolve-banner-image-record.js +2 -0
  16. package/esm2015/lib/banners/esolve-banner-image.js +14 -0
  17. package/esm2015/lib/banners/esolve-banner-record.js +2 -0
  18. package/esm2015/lib/banners/esolve-banner-type.js +2 -0
  19. package/esm2015/lib/banners/esolve-banner.js +25 -0
  20. package/esm2015/lib/banners/esolve-banner.service.js +104 -0
  21. package/esm2015/lib/cart/esolve-cart-item-record.js +2 -0
  22. package/esm2015/lib/cart/esolve-cart-item.js +24 -0
  23. package/esm2015/lib/cart/esolve-cart-stock-item.js +43 -0
  24. package/esm2015/lib/cart/esolve-cart-totals-record.js +2 -0
  25. package/esm2015/lib/cart/esolve-cart-totals.js +39 -0
  26. package/esm2015/lib/cart/esolve-cart.service.js +371 -0
  27. package/esm2015/lib/cart/esolve-checkout.js +2 -0
  28. package/esm2015/lib/cart/esolve-payment-method-record.js +2 -0
  29. package/esm2015/lib/cart/esolve-payment-method.js +49 -0
  30. package/esm2015/lib/cart/esolve-shipping-cost-record.js +2 -0
  31. package/esm2015/lib/cart/esolve-shipping-cost.js +18 -0
  32. package/esm2015/lib/cart/esolve-shipping-method-record.js +2 -0
  33. package/esm2015/lib/cart/esolve-shipping-method.js +33 -0
  34. package/esm2015/lib/cart/esolve-stock-location-record.js +2 -0
  35. package/esm2015/lib/cart/esolve-stock-location.js +76 -0
  36. package/esm2015/lib/category-tree/esolve-category-tree-item-record.js +2 -0
  37. package/esm2015/lib/category-tree/esolve-category-tree-item.js +48 -0
  38. package/esm2015/lib/category-tree/esolve-category-tree.service.js +126 -0
  39. package/esm2015/lib/esolve-connect.config.js +9 -0
  40. package/esm2015/lib/media/esolve-media-article.js +16 -0
  41. package/esm2015/lib/media/esolve-media-record.js +2 -0
  42. package/esm2015/lib/media/esolve-media.service.js +94 -0
  43. package/esm2015/lib/menu/esolve-menu-item.js +9 -0
  44. package/esm2015/lib/menu/esolve-menu-tree-record.js +2 -0
  45. package/esm2015/lib/menu/esolve-menu.service.js +48 -0
  46. package/esm2015/lib/news/esolve-news-article-author-record.js +2 -0
  47. package/esm2015/lib/news/esolve-news-article-author.js +9 -0
  48. package/esm2015/lib/news/esolve-news-article-list.js +8 -0
  49. package/esm2015/lib/news/esolve-news-article-record.js +2 -0
  50. package/esm2015/lib/news/esolve-news-article.js +20 -0
  51. package/esm2015/lib/news/esolve-news-group-record.js +2 -0
  52. package/esm2015/lib/news/esolve-news-group.js +9 -0
  53. package/esm2015/lib/news/esolve-news-manufacturer-record.js +2 -0
  54. package/esm2015/lib/news/esolve-news-range-record.js +2 -0
  55. package/esm2015/lib/news/esolve-news.service.js +107 -0
  56. package/esm2015/lib/ng-esolve-connect.module.js +43 -0
  57. package/esm2015/lib/shared/esolve-response.js +2 -0
  58. package/esm2015/lib/shared/esolve-url-target.js +2 -0
  59. package/esm2015/lib/shared/seo/esolve-seo-info.js +11 -0
  60. package/esm2015/lib/shared/seo/esolve-seo.service.js +114 -0
  61. package/esm2015/lib/stock/esolve-stock-badge-record.js +2 -0
  62. package/esm2015/lib/stock/esolve-stock-badge.js +11 -0
  63. package/esm2015/lib/stock/esolve-stock-item-list.js +11 -0
  64. package/esm2015/lib/stock/esolve-stock-item-options.js +2 -0
  65. package/esm2015/lib/stock/esolve-stock-item.js +130 -0
  66. package/esm2015/lib/stock/esolve-stock-price.js +43 -0
  67. package/esm2015/lib/stock/esolve-stock-record.js +2 -0
  68. package/esm2015/lib/stock/esolve-stock.service.js +146 -0
  69. package/esm2015/lib/tags/esolve-tag-record.js +2 -0
  70. package/esm2015/lib/tags/esolve-tag.js +9 -0
  71. package/esm2015/lib/topics/esolve-topic-record.js +2 -0
  72. package/esm2015/lib/topics/esolve-topic.js +9 -0
  73. package/esm2015/lib/topics/esolve-topic.service.js +57 -0
  74. package/esm2015/public-api.js +54 -0
  75. package/esolve-ng-esolve-connect.d.ts +5 -0
  76. package/fesm2015/esolve-ng-esolve-connect.js +2226 -0
  77. package/fesm2015/esolve-ng-esolve-connect.js.map +1 -0
  78. package/lib/auth/esolve-account.service.d.ts +17 -0
  79. package/lib/auth/esolve-address-record.d.ts +18 -0
  80. package/lib/auth/esolve-address.d.ts +18 -0
  81. package/lib/auth/esolve-auth-interceptor.service.d.ts +13 -0
  82. package/lib/auth/esolve-auth.service.d.ts +34 -0
  83. package/lib/auth/esolve-session.d.ts +11 -0
  84. package/lib/auth/esolve-session.service.d.ts +22 -0
  85. package/lib/auth/esolve-stored-session.d.ts +5 -0
  86. package/lib/banners/esolve-banner-image-hotspot-record.d.ts +8 -0
  87. package/lib/banners/esolve-banner-image-hotspot.d.ts +12 -0
  88. package/lib/banners/esolve-banner-image-record.d.ts +10 -0
  89. package/lib/banners/esolve-banner-image.d.ts +12 -0
  90. package/lib/banners/esolve-banner-record.d.ts +17 -0
  91. package/lib/banners/esolve-banner-type.d.ts +7 -0
  92. package/lib/banners/esolve-banner.d.ts +21 -0
  93. package/lib/banners/esolve-banner.service.d.ts +26 -0
  94. package/lib/cart/esolve-cart-item-record.d.ts +43 -0
  95. package/lib/cart/esolve-cart-item.d.ts +31 -0
  96. package/lib/cart/esolve-cart-stock-item.d.ts +31 -0
  97. package/lib/cart/esolve-cart-totals-record.d.ts +7 -0
  98. package/lib/cart/esolve-cart-totals.d.ts +50 -0
  99. package/lib/cart/esolve-cart.service.d.ts +112 -0
  100. package/lib/cart/esolve-checkout.d.ts +7 -0
  101. package/lib/cart/esolve-payment-method-record.d.ts +47 -0
  102. package/lib/cart/esolve-payment-method.d.ts +47 -0
  103. package/lib/cart/esolve-shipping-cost-record.d.ts +14 -0
  104. package/lib/cart/esolve-shipping-cost.d.ts +12 -0
  105. package/lib/cart/esolve-shipping-method-record.d.ts +37 -0
  106. package/lib/cart/esolve-shipping-method.d.ts +32 -0
  107. package/lib/cart/esolve-stock-location-record.d.ts +47 -0
  108. package/lib/cart/esolve-stock-location.d.ts +61 -0
  109. package/lib/category-tree/esolve-category-tree-item-record.d.ts +51 -0
  110. package/lib/category-tree/esolve-category-tree-item.d.ts +23 -0
  111. package/lib/category-tree/esolve-category-tree.service.d.ts +47 -0
  112. package/lib/esolve-connect.config.d.ts +49 -0
  113. package/lib/media/esolve-media-article.d.ts +13 -0
  114. package/lib/media/esolve-media-record.d.ts +31 -0
  115. package/lib/media/esolve-media.service.d.ts +28 -0
  116. package/lib/menu/esolve-menu-item.d.ts +8 -0
  117. package/lib/menu/esolve-menu-tree-record.d.ts +20 -0
  118. package/lib/menu/esolve-menu.service.d.ts +14 -0
  119. package/lib/news/esolve-news-article-author-record.d.ts +9 -0
  120. package/lib/news/esolve-news-article-author.d.ts +7 -0
  121. package/lib/news/esolve-news-article-list.d.ts +7 -0
  122. package/lib/news/esolve-news-article-record.d.ts +27 -0
  123. package/lib/news/esolve-news-article.d.ts +16 -0
  124. package/lib/news/esolve-news-group-record.d.ts +6 -0
  125. package/lib/news/esolve-news-group.d.ts +7 -0
  126. package/lib/news/esolve-news-manufacturer-record.d.ts +8 -0
  127. package/lib/news/esolve-news-range-record.d.ts +9 -0
  128. package/lib/news/esolve-news.service.d.ts +31 -0
  129. package/lib/ng-esolve-connect.module.d.ts +11 -0
  130. package/lib/shared/esolve-response.d.ts +34 -0
  131. package/lib/shared/esolve-url-target.d.ts +1 -0
  132. package/lib/shared/seo/esolve-seo-info.d.ts +12 -0
  133. package/lib/shared/seo/esolve-seo.service.d.ts +28 -0
  134. package/lib/stock/esolve-stock-badge-record.d.ts +8 -0
  135. package/lib/stock/esolve-stock-badge.d.ts +9 -0
  136. package/lib/stock/esolve-stock-item-list.d.ts +10 -0
  137. package/lib/stock/esolve-stock-item-options.d.ts +10 -0
  138. package/lib/stock/esolve-stock-item.d.ts +164 -0
  139. package/lib/stock/esolve-stock-price.d.ts +45 -0
  140. package/lib/stock/esolve-stock-record.d.ts +45 -0
  141. package/lib/stock/esolve-stock.service.d.ts +39 -0
  142. package/lib/tags/esolve-tag-record.d.ts +6 -0
  143. package/lib/tags/esolve-tag.d.ts +7 -0
  144. package/lib/topics/esolve-topic-record.d.ts +6 -0
  145. package/lib/topics/esolve-topic.d.ts +7 -0
  146. package/lib/topics/esolve-topic.service.d.ts +20 -0
  147. package/package.json +20 -0
  148. package/public-api.d.ts +40 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW5ld3MtZ3JvdXAtcmVjb3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9uZXdzL2Vzb2x2ZS1uZXdzLWdyb3VwLXJlY29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFc29sdmVOZXdzR3JvdXBSZWNvcmQge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHNlZl9uYW1lOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ export class EsolveNewsGroup {
2
+ constructor(id, name, description, sef_name) {
3
+ this.id = id;
4
+ this.name = name;
5
+ this.description = description;
6
+ this.sef_name = sef_name;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW5ld3MtZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL25ld3MvZXNvbHZlLW5ld3MtZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGVBQWU7SUFDeEIsWUFDVyxFQUFVLEVBQ1YsSUFBWSxFQUNaLFdBQW1CLEVBQ25CLFFBQWdCO1FBSGhCLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDVixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtJQUN2QixDQUFDO0NBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRXNvbHZlTmV3c0dyb3VwIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBpZDogbnVtYmVyLFxyXG4gICAgICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIHNlZl9uYW1lOiBzdHJpbmdcclxuICAgICkgeyB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW5ld3MtbWFudWZhY3R1cmVyLXJlY29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbmV3cy9lc29sdmUtbmV3cy1tYW51ZmFjdHVyZXItcmVjb3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZU5ld3NNYW51ZmFjdHVyZXJSZWNvcmQge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIG1hbnVmYWN0dXJlcjogc3RyaW5nO1xyXG4gICAgc2VmX21hbnVmYWN0dXJlcjogc3RyaW5nO1xyXG4gICAgc29ydF9wcmlvcml0eTogbnVtYmVyO1xyXG4gICAgaXNfYWN0aXZlOiBib29sZWFuO1xyXG4gICAgZmVhdHVyZWQ6IGJvb2xlYW47XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW5ld3MtcmFuZ2UtcmVjb3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9uZXdzL2Vzb2x2ZS1uZXdzLXJhbmdlLXJlY29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFc29sdmVOZXdzUmFuZ2VSZWNvcmQge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIHJhbmdlOiBzdHJpbmc7XHJcbiAgICBzZWZfcmFuZ2U6IHN0cmluZztcclxuICAgIG1hbnVmYWN0dXJlcnNfaWQ6IG51bWJlcjtcclxuICAgIHNvcnRfcHJpb3JpdHk6IG51bWJlcjtcclxuICAgIGlzX2FjdGl2ZTogYm9vbGVhbjtcclxuICAgIGZlYXR1cmVkOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,107 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { map } from 'rxjs/operators';
4
+ import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect.config';
5
+ import { EsolveNewsArticle } from './esolve-news-article';
6
+ import { EsolveNewsGroup } from './esolve-news-group';
7
+ import { EsolveNewsArticleAuthor } from './esolve-news-article-author';
8
+ import { EsolveNewsArticleList } from './esolve-news-article-list';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common/http";
11
+ export class EsolveNewsService {
12
+ constructor(config, http) {
13
+ this.config = config;
14
+ this.http = http;
15
+ }
16
+ getNewsRecords(params) {
17
+ params = params.set('ws_id', this.config.wsid);
18
+ return this.http.get(`${this.config.api_url}/service/get-news.php`, { params });
19
+ }
20
+ getNewsArticle(identifier) {
21
+ const params = new HttpParams({
22
+ fromObject: {
23
+ sef_title: identifier
24
+ }
25
+ });
26
+ return this.getNewsRecords(params).pipe(map(response => {
27
+ if ((response.records === undefined) || (response.records.length <= 0)) {
28
+ throw response;
29
+ }
30
+ const newsRecord = response.records[0];
31
+ if (!newsRecord.active) {
32
+ throw response;
33
+ }
34
+ return this.processNewsArticle(newsRecord);
35
+ }));
36
+ }
37
+ getNewsArticles(options) {
38
+ let params = new HttpParams();
39
+ if (options.news_group_id) {
40
+ params = params.set('news_group_id', options.news_group_id.toString());
41
+ }
42
+ else if (options.news_group_sef) {
43
+ params = params.set('news_group_sef', options.news_group_sef.toString());
44
+ }
45
+ if (options.page) {
46
+ params = params.set('page', options.page.toString());
47
+ }
48
+ if (options.rows) {
49
+ params = params.set('rows', options.rows.toString());
50
+ }
51
+ if (options.feature_only) {
52
+ params = params.set('feature_only', options.feature_only.toString());
53
+ }
54
+ if (options.manufacturers_id) {
55
+ params = params.set('manufacturers_id', options.manufacturers_id.toString());
56
+ }
57
+ if (options.ranges_id) {
58
+ params = params.set('ranges_id', options.ranges_id.toString());
59
+ }
60
+ if (options.from_date) {
61
+ params = params.set('from_date', options.from_date.toString());
62
+ }
63
+ if (options.to_date) {
64
+ params = params.set('to_date', options.to_date.toString());
65
+ }
66
+ return this.getNewsRecords(params).pipe(map(response => {
67
+ if (response.records === undefined) {
68
+ throw response;
69
+ }
70
+ const newsArticles = [];
71
+ response.records.forEach(newsArticleRecord => {
72
+ newsArticles.push(this.processNewsArticle(newsArticleRecord));
73
+ });
74
+ return new EsolveNewsArticleList(newsArticles, response.additional_data.total_records, options.page || 0);
75
+ }));
76
+ }
77
+ getNewsGroups() {
78
+ let params = new HttpParams();
79
+ params = params.set('ws_id', this.config.wsid);
80
+ return this.http.get(`${this.config.api_url}/service/get-news-groups.php`, { params }).pipe(map(response => {
81
+ if (response.records === undefined) {
82
+ throw response;
83
+ }
84
+ const newsGroups = [];
85
+ response.records.forEach(newsGroupRecord => {
86
+ newsGroups.push(new EsolveNewsGroup(newsGroupRecord.id, newsGroupRecord.name, newsGroupRecord.description, newsGroupRecord.sef_name));
87
+ });
88
+ return newsGroups;
89
+ }));
90
+ }
91
+ processNewsArticle(newsRecord) {
92
+ const author = new EsolveNewsArticleAuthor(newsRecord.user.userid, newsRecord.user.email, newsRecord.user.firstname, newsRecord.user.surname);
93
+ 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);
94
+ }
95
+ }
96
+ 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 });
97
+ EsolveNewsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveNewsService, providedIn: 'root' });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveNewsService, decorators: [{
99
+ type: Injectable,
100
+ args: [{
101
+ providedIn: 'root'
102
+ }]
103
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
104
+ type: Inject,
105
+ args: [ESOLVE_CONNECT_CONFIG]
106
+ }] }, { type: i1.HttpClient }]; } });
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW5ld3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbmV3cy9lc29sdmUtbmV3cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUF1QixxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBaUJuRSxNQUFNLE9BQU8saUJBQWlCO0lBRTFCLFlBQzJDLE1BQTJCLEVBQzFELElBQWdCO1FBRGUsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN4QixDQUFDO0lBRUcsY0FBYyxDQUFDLE1BQWtCO1FBQ3JDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2hCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLHVCQUF1QixFQUM3QyxFQUFFLE1BQU0sRUFBRSxDQUNiLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYyxDQUFDLFVBQWtCO1FB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LENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxVQUFVLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxVQUFtQztRQUMxRCxNQUFNLE1BQU0sR0FBRyxJQUFJLHVCQUF1QixDQUN0QyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFDdEIsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQ3JCLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUN6QixVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FDMUIsQ0FBQztRQUVGLE9BQU8sSUFBSSxpQkFBaUIsQ0FDeEIsVUFBVSxDQUFDLEVBQUUsRUFDYixVQUFVLENBQUMsS0FBSyxFQUNoQixVQUFVLENBQUMsU0FBUyxFQUNwQixVQUFVLENBQUMsT0FBTyxFQUNsQixVQUFVLENBQUMsaUJBQWlCLEVBQzVCLFVBQVUsQ0FBQyxNQUFNLEVBQ2pCLFVBQVUsQ0FBQyxNQUFNLEVBQ2pCLFVBQVUsQ0FBQyxLQUFLLEVBQ2hCLFVBQVUsQ0FBQyxRQUFRLEVBQ25CLE1BQU0sRUFDTixVQUFVLENBQUMsY0FBYyxFQUN6QixVQUFVLENBQUMsWUFBWSxDQUMxQixDQUFDO0lBQ04sQ0FBQzs7OEdBaEpRLGlCQUFpQixrQkFHZCxxQkFBcUI7a0hBSHhCLGlCQUFpQixjQUZkLE1BQU07MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBSVEsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlR2V0UmVzcG9uc2UgfSBmcm9tICcuLi9zaGFyZWQvZXNvbHZlLXJlc3BvbnNlJztcclxuaW1wb3J0IHsgRXNvbHZlQ29ubmVjdENvbmZpZywgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcclxuaW1wb3J0IHsgRXNvbHZlTmV3c0FydGljbGUgfSBmcm9tICcuL2Vzb2x2ZS1uZXdzLWFydGljbGUnO1xyXG5pbXBvcnQgeyBFc29sdmVOZXdzR3JvdXAgfSBmcm9tICcuL2Vzb2x2ZS1uZXdzLWdyb3VwJztcclxuaW1wb3J0IHsgRXNvbHZlTmV3c0FydGljbGVSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1uZXdzLWFydGljbGUtcmVjb3JkJztcclxuaW1wb3J0IHsgRXNvbHZlTmV3c0FydGljbGVBdXRob3IgfSBmcm9tICcuL2Vzb2x2ZS1uZXdzLWFydGljbGUtYXV0aG9yJztcclxuaW1wb3J0IHsgRXNvbHZlTmV3c0dyb3VwUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtbmV3cy1ncm91cC1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVOZXdzQXJ0aWNsZUxpc3QgfSBmcm9tICcuL2Vzb2x2ZS1uZXdzLWFydGljbGUtbGlzdCc7XHJcblxyXG5pbnRlcmZhY2UgRXNvbHZlTmV3c0FydGljbGVPcHRpb25zIHtcclxuICAgIHJvd3M/OiBudW1iZXI7XHJcbiAgICBwYWdlPzogbnVtYmVyO1xyXG4gICAgbmV3c19ncm91cF9pZD86IG51bWJlcjtcclxuICAgIG5ld3NfZ3JvdXBfc2VmPzogc3RyaW5nO1xyXG4gICAgZmVhdHVyZV9vbmx5PzogYm9vbGVhbjtcclxuICAgIG1hbnVmYWN0dXJlcnNfaWQ/OiBudW1iZXI7XHJcbiAgICByYW5nZXNfaWQ/OiBudW1iZXI7XHJcbiAgICBmcm9tX2RhdGU/OiBzdHJpbmc7XHJcbiAgICB0b19kYXRlPzogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZU5ld3NTZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KEVTT0xWRV9DT05ORUNUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWcsXHJcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XHJcbiAgICApIHsgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0TmV3c1JlY29yZHMocGFyYW1zOiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVOZXdzQXJ0aWNsZVJlY29yZFtdPj4ge1xyXG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3dzX2lkJywgdGhpcy5jb25maWcud3NpZCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZU5ld3NBcnRpY2xlUmVjb3JkW10+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtbmV3cy5waHBgLFxyXG4gICAgICAgICAgICB7IHBhcmFtcyB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXROZXdzQXJ0aWNsZShpZGVudGlmaWVyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzb2x2ZU5ld3NBcnRpY2xlPiB7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoe1xyXG4gICAgICAgICAgICBmcm9tT2JqZWN0OiB7XHJcbiAgICAgICAgICAgICAgICBzZWZfdGl0bGU6IGlkZW50aWZpZXJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5nZXROZXdzUmVjb3JkcyhwYXJhbXMpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkgfHwgKHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoIDw9IDApKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3c1JlY29yZCA9IHJlc3BvbnNlLnJlY29yZHNbMF07XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKCFuZXdzUmVjb3JkLmFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NOZXdzQXJ0aWNsZShuZXdzUmVjb3JkKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE5ld3NBcnRpY2xlcyhvcHRpb25zOiBFc29sdmVOZXdzQXJ0aWNsZU9wdGlvbnMpOiBPYnNlcnZhYmxlPEVzb2x2ZU5ld3NBcnRpY2xlTGlzdD4ge1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG5cclxuICAgICAgICBpZiAob3B0aW9ucy5uZXdzX2dyb3VwX2lkKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ25ld3NfZ3JvdXBfaWQnLCBvcHRpb25zLm5ld3NfZ3JvdXBfaWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zLm5ld3NfZ3JvdXBfc2VmKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ25ld3NfZ3JvdXBfc2VmJywgb3B0aW9ucy5uZXdzX2dyb3VwX3NlZi50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLnBhZ2UpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGFnZScsIG9wdGlvbnMucGFnZS50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLnJvd3MpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncm93cycsIG9wdGlvbnMucm93cy50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLmZlYXR1cmVfb25seSkge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdmZWF0dXJlX29ubHknLCBvcHRpb25zLmZlYXR1cmVfb25seS50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLm1hbnVmYWN0dXJlcnNfaWQpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbWFudWZhY3R1cmVyc19pZCcsIG9wdGlvbnMubWFudWZhY3R1cmVyc19pZC50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLnJhbmdlc19pZCkge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdyYW5nZXNfaWQnLCBvcHRpb25zLnJhbmdlc19pZC50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLmZyb21fZGF0ZSkge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdmcm9tX2RhdGUnLCBvcHRpb25zLmZyb21fZGF0ZS50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLnRvX2RhdGUpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndG9fZGF0ZScsIG9wdGlvbnMudG9fZGF0ZS50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmdldE5ld3NSZWNvcmRzKHBhcmFtcykucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdzQXJ0aWNsZXM6IEVzb2x2ZU5ld3NBcnRpY2xlW10gPSBbXTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzLmZvckVhY2gobmV3c0FydGljbGVSZWNvcmQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG5ld3NBcnRpY2xlcy5wdXNoKHRoaXMucHJvY2Vzc05ld3NBcnRpY2xlKG5ld3NBcnRpY2xlUmVjb3JkKSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZU5ld3NBcnRpY2xlTGlzdChuZXdzQXJ0aWNsZXMsIHJlc3BvbnNlLmFkZGl0aW9uYWxfZGF0YS50b3RhbF9yZWNvcmRzLCBvcHRpb25zLnBhZ2UgfHwgMCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXROZXdzR3JvdXBzKCk6IE9ic2VydmFibGU8RXNvbHZlTmV3c0dyb3VwW10+IHtcclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd3c19pZCcsIHRoaXMuY29uZmlnLndzaWQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVOZXdzR3JvdXBSZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL2dldC1uZXdzLWdyb3Vwcy5waHBgLFxyXG4gICAgICAgICAgICB7IHBhcmFtcyB9XHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld3NHcm91cHM6IEVzb2x2ZU5ld3NHcm91cFtdID0gW107XHJcbiAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzLmZvckVhY2gobmV3c0dyb3VwUmVjb3JkID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBuZXdzR3JvdXBzLnB1c2gobmV3IEVzb2x2ZU5ld3NHcm91cChcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3c0dyb3VwUmVjb3JkLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdzR3JvdXBSZWNvcmQubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3c0dyb3VwUmVjb3JkLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdzR3JvdXBSZWNvcmQuc2VmX25hbWVcclxuICAgICAgICAgICAgICAgICAgICApKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXdzR3JvdXBzO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwcm9jZXNzTmV3c0FydGljbGUobmV3c1JlY29yZDogRXNvbHZlTmV3c0FydGljbGVSZWNvcmQpOiBFc29sdmVOZXdzQXJ0aWNsZSB7XHJcbiAgICAgICAgY29uc3QgYXV0aG9yID0gbmV3IEVzb2x2ZU5ld3NBcnRpY2xlQXV0aG9yKFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLnVzZXIudXNlcmlkLFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLnVzZXIuZW1haWwsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQudXNlci5maXJzdG5hbWUsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQudXNlci5zdXJuYW1lXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVOZXdzQXJ0aWNsZShcclxuICAgICAgICAgICAgbmV3c1JlY29yZC5pZCxcclxuICAgICAgICAgICAgbmV3c1JlY29yZC50aXRsZSxcclxuICAgICAgICAgICAgbmV3c1JlY29yZC5zZWZfdGl0bGUsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQuYXJ0aWNsZSxcclxuICAgICAgICAgICAgbmV3c1JlY29yZC5zaG9ydF9kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgbmV3c1JlY29yZC50eGRhdGUsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQuYWN0aXZlLFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLmltYWdlLFxyXG4gICAgICAgICAgICBuZXdzUmVjb3JkLmZlYXR1cmVkLFxyXG4gICAgICAgICAgICBhdXRob3IsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQuc2VvX3BhZ2VfdGl0bGUsXHJcbiAgICAgICAgICAgIG5ld3NSZWNvcmQuc2VvX2tleXdvcmRzXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,43 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
4
+ import { EsolveAuthInterceptorService } from './auth/esolve-auth-interceptor.service';
5
+ import { ESOLVE_CONNECT_CONFIG } from './esolve-connect.config';
6
+ import * as i0 from "@angular/core";
7
+ export class NgEsolveConnectModule {
8
+ static forRoot(config) {
9
+ return {
10
+ ngModule: NgEsolveConnectModule,
11
+ providers: [
12
+ {
13
+ provide: ESOLVE_CONNECT_CONFIG,
14
+ useValue: config
15
+ },
16
+ {
17
+ provide: HTTP_INTERCEPTORS,
18
+ useClass: EsolveAuthInterceptorService,
19
+ multi: true
20
+ }
21
+ ]
22
+ };
23
+ }
24
+ }
25
+ NgEsolveConnectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: NgEsolveConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
26
+ NgEsolveConnectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: NgEsolveConnectModule, imports: [CommonModule,
27
+ HttpClientModule] });
28
+ NgEsolveConnectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: NgEsolveConnectModule, imports: [[
29
+ CommonModule,
30
+ HttpClientModule
31
+ ]] });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: NgEsolveConnectModule, decorators: [{
33
+ type: NgModule,
34
+ args: [{
35
+ declarations: [],
36
+ imports: [
37
+ CommonModule,
38
+ HttpClientModule
39
+ ],
40
+ exports: []
41
+ }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZXNvbHZlLWNvbm5lY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9uZy1lc29sdmUtY29ubmVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTNFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RGLE9BQU8sRUFBdUIscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFVckYsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQTJCO1FBQ3RDLE9BQU87WUFDSCxRQUFRLEVBQUUscUJBQXFCO1lBQy9CLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUscUJBQXFCO29CQUM5QixRQUFRLEVBQUUsTUFBTTtpQkFDbkI7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDOztrSEFoQlEscUJBQXFCO21IQUFyQixxQkFBcUIsWUFMMUIsWUFBWTtRQUNaLGdCQUFnQjttSEFJWCxxQkFBcUIsWUFOckI7WUFDTCxZQUFZO1lBQ1osZ0JBQWdCO1NBQ25COzJGQUdRLHFCQUFxQjtrQkFSakMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlQXV0aEludGVyY2VwdG9yU2VydmljZSB9IGZyb20gJy4vYXV0aC9lc29sdmUtYXV0aC1pbnRlcmNlcHRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXNvbHZlQ29ubmVjdENvbmZpZywgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW10sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEh0dHBDbGllbnRNb2R1bGVcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdFc29sdmVDb25uZWN0TW9kdWxlIHtcclxuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZzogRXNvbHZlQ29ubmVjdENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TmdFc29sdmVDb25uZWN0TW9kdWxlPiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmdNb2R1bGU6IE5nRXNvbHZlQ29ubmVjdE1vZHVsZSxcclxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogRVNPTFZFX0NPTk5FQ1RfQ09ORklHLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBjb25maWdcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlQ2xhc3M6IEVzb2x2ZUF1dGhJbnRlcmNlcHRvclNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zaGFyZWQvZXNvbHZlLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZUdldFJlc3BvbnNlPFQgPSBhbnk+IHtcclxuICAgIHNlcnZpY2VfdHlwZTogc3RyaW5nO1xyXG4gICAgdHlwZTogc3RyaW5nO1xyXG4gICAgbWVzc2FnZTogc3RyaW5nO1xyXG4gICAgYWRkaXRpb25hbF9kYXRhOiBhbnk7XHJcbiAgICBtZXRob2Q/OiBzdHJpbmc7XHJcbiAgICByZWNvcmRzPzogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVTZXRSZXNwb25zZTxUID0gRXNvbHZlUG9zdFJlc3BvbnNlSXRlbT4ge1xyXG4gICAgc2VydmljZV90eXBlOiBzdHJpbmc7XHJcbiAgICB0eXBlOiBzdHJpbmc7XHJcbiAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBhZGRpdGlvbmFsX2RhdGE6IGFueTtcclxuICAgIG1ldGhvZD86IHN0cmluZztcclxuICAgIHJlc3BvbnNlcz86IFRbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVQb3N0UmVzcG9uc2VJdGVtIHtcclxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICBlc29sdmVfaWQ6IHN0cmluZyB8IG51bWJlcjtcclxuICAgIHRyYW5zYWN0aW9uX3R5cGU6IHN0cmluZztcclxuICAgIHN0YXR1czogRXNvbHZlUG9zdFJlc3BvbnNlU3RhdHVzO1xyXG4gICAgbG9nOiBFc29sdmVSZXNwb25zZUxvZ0l0ZW1bXTtcclxufVxyXG5cclxuaW50ZXJmYWNlIEVzb2x2ZVBvc3RSZXNwb25zZVN0YXR1cyB7XHJcbiAgICBzdGF0ZTogJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyB8ICdub25lJztcclxuICAgIGVycm9yczogbnVtYmVyO1xyXG4gICAgc3VjY2VzczogbnVtYmVyO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgRXNvbHZlUmVzcG9uc2VMb2dJdGVtIHtcclxuICAgIHR5cGU6ICdzdWNjZXNzJyB8ICdlcnJvcic7XHJcbiAgICBtZXNzYWdlX2NvZGU6IHN0cmluZztcclxuICAgIG1lc3NhZ2U6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXVybC10YXJnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3NoYXJlZC9lc29sdmUtdXJsLXRhcmdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRXNvbHZlVXJsVGFyZ2V0ID0gJ19zZWxmJyB8ICdfYmxhbmsnO1xyXG4iXX0=
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Search Engine Optimization information.
3
+ */
4
+ export class EsolveSEOInfo {
5
+ constructor(title = '', description = '', keywords = '') {
6
+ this.title = title;
7
+ this.description = description;
8
+ this.keywords = keywords;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlby1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zaGFyZWQvc2VvL2Vzb2x2ZS1zZW8taW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQ1csUUFBZ0IsRUFBRSxFQUNsQixjQUFzQixFQUFFLEVBQ3hCLFdBQW1CLEVBQUU7UUFGckIsVUFBSyxHQUFMLEtBQUssQ0FBYTtRQUNsQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFhO0lBQzVCLENBQUM7Q0FDUiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBTZWFyY2ggRW5naW5lIE9wdGltaXphdGlvbiBpbmZvcm1hdGlvbi5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVTRU9JbmZvIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJycsXHJcbiAgICAgICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJyxcclxuICAgICAgICBwdWJsaWMga2V5d29yZHM6IHN0cmluZyA9ICcnXHJcbiAgICApIHsgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVNFT0RldGFpbHMge1xyXG4gICAgc2VvX2RldGFpbHM6IEVzb2x2ZVNFT0luZm87XHJcbn1cclxuIl19
@@ -0,0 +1,114 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { ESOLVE_CONNECT_CONFIG } from '../../esolve-connect.config';
3
+ import { EsolveSEOInfo } from './esolve-seo-info';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/platform-browser";
6
+ export class EsolveSeoService {
7
+ constructor(config, title, meta) {
8
+ this.config = config;
9
+ this.title = title;
10
+ this.meta = meta;
11
+ this.title_prefix = '';
12
+ this.title_suffix = '';
13
+ this.title_separator = '|';
14
+ this.default_seo_title = '';
15
+ this.default_seo_description = '';
16
+ this.default_seo_keywords = '';
17
+ this.init();
18
+ }
19
+ init() {
20
+ if (typeof this.config.title_prefix !== 'undefined') {
21
+ this.title_prefix = this.config.title_prefix;
22
+ }
23
+ if (typeof this.config.title_suffix !== 'undefined') {
24
+ this.title_suffix = this.config.title_suffix;
25
+ }
26
+ if (typeof this.config.title_separator !== 'undefined') {
27
+ this.title_separator = this.config.title_separator;
28
+ }
29
+ if (typeof this.config.default_seo_title !== 'undefined') {
30
+ this.default_seo_title = this.config.default_seo_title;
31
+ }
32
+ if (typeof this.config.default_seo_description !== 'undefined') {
33
+ this.default_seo_description = this.config.default_seo_description;
34
+ }
35
+ if (typeof this.config.default_seo_keywords !== 'undefined') {
36
+ this.default_seo_keywords = this.config.default_seo_keywords;
37
+ }
38
+ }
39
+ setPageTitleTags(title) {
40
+ this.title.setTitle(title);
41
+ this.meta.updateTag({ property: 'og:title', content: title });
42
+ }
43
+ setPageDescriptionTags(description) {
44
+ this.meta.updateTag({ name: 'description', content: description });
45
+ this.meta.updateTag({ property: 'og:description', content: description });
46
+ }
47
+ setPageKeywordsTags(keywords) {
48
+ this.meta.updateTag({ name: 'keywords', content: keywords });
49
+ }
50
+ validateAndSanitizeSeoInfo(seoInfo) {
51
+ const pageSeo = new EsolveSEOInfo(this.default_seo_title, this.default_seo_description, this.default_seo_keywords);
52
+ if (seoInfo.description.trim() !== '') {
53
+ pageSeo.description = seoInfo.description;
54
+ }
55
+ if (seoInfo.title.trim() !== '') {
56
+ const titlePartsArray = [];
57
+ if (this.title_prefix !== '') {
58
+ titlePartsArray.push(this.title_prefix);
59
+ if (this.title_separator !== '') {
60
+ titlePartsArray.push(this.title_separator);
61
+ }
62
+ }
63
+ titlePartsArray.push(seoInfo.title);
64
+ if (this.title_suffix !== '') {
65
+ if (this.title_separator !== '') {
66
+ titlePartsArray.push(this.title_separator);
67
+ }
68
+ titlePartsArray.push(this.title_suffix);
69
+ }
70
+ pageSeo.title = titlePartsArray.join(' ');
71
+ if (seoInfo.keywords.trim() === '') {
72
+ const clean_title = seoInfo.title.replace(/[^a-zA-Z0-9\. ]+/gi, '').trim();
73
+ const keywords = clean_title.split(' ');
74
+ const clean_keywords = [];
75
+ for (let keyword of keywords) {
76
+ keyword = keyword.trim();
77
+ if (keyword.length > 2) {
78
+ keyword = keyword.toLocaleLowerCase();
79
+ if (!clean_keywords.includes(keyword)) {
80
+ clean_keywords.push(keyword);
81
+ }
82
+ }
83
+ }
84
+ seoInfo.keywords = clean_keywords.join(',');
85
+ }
86
+ }
87
+ if (seoInfo.keywords.trim() !== '') {
88
+ pageSeo.keywords = seoInfo.keywords;
89
+ }
90
+ return pageSeo;
91
+ }
92
+ /**
93
+ * Sets SEO tags for page
94
+ * @param seoInfo SEO object
95
+ */
96
+ setTags(seoInfo) {
97
+ seoInfo = this.validateAndSanitizeSeoInfo(seoInfo);
98
+ this.setPageTitleTags(seoInfo.title);
99
+ this.setPageDescriptionTags(seoInfo.description);
100
+ this.setPageKeywordsTags(seoInfo.keywords);
101
+ }
102
+ }
103
+ 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 });
104
+ EsolveSeoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveSeoService, providedIn: 'root' });
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveSeoService, decorators: [{
106
+ type: Injectable,
107
+ args: [{
108
+ providedIn: 'root'
109
+ }]
110
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
111
+ type: Inject,
112
+ args: [ESOLVE_CONNECT_CONFIG]
113
+ }] }, { type: i1.Title }, { type: i1.Meta }]; } });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zaGFyZWQvc2VvL2Vzb2x2ZS1zZW8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQXVCLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFLbEQsTUFBTSxPQUFPLGdCQUFnQjtJQVN6QixZQUMyQyxNQUEyQixFQUMxRCxLQUFZLEVBQ1osSUFBVTtRQUZxQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osU0FBSSxHQUFKLElBQUksQ0FBTTtRQVhkLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsR0FBRyxDQUFDO1FBRXRCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUN2Qiw0QkFBdUIsR0FBRyxFQUFFLENBQUM7UUFDN0IseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBTzlCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU8sSUFBSTtRQUNSLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksS0FBSyxXQUFXLEVBQUU7WUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUNoRDtRQUVELElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksS0FBSyxXQUFXLEVBQUU7WUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlB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LE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7NkdBM0hRLGdCQUFnQixrQkFVYixxQkFBcUI7aUhBVnhCLGdCQUFnQixjQUZiLE1BQU07MkZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBV1EsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWV0YSwgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcsIEVTT0xWRV9DT05ORUNUX0NPTkZJRyB9IGZyb20gJy4uLy4uL2Vzb2x2ZS1jb25uZWN0LmNvbmZpZyc7XHJcbmltcG9ydCB7IEVzb2x2ZVNFT0luZm8gfSBmcm9tICcuL2Vzb2x2ZS1zZW8taW5mbyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZVNlb1NlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSB0aXRsZV9wcmVmaXggPSAnJztcclxuICAgIHByaXZhdGUgdGl0bGVfc3VmZml4ID0gJyc7XHJcbiAgICBwcml2YXRlIHRpdGxlX3NlcGFyYXRvciA9ICd8JztcclxuXHJcbiAgICBwcml2YXRlIGRlZmF1bHRfc2VvX3RpdGxlID0gJyc7XHJcbiAgICBwcml2YXRlIGRlZmF1bHRfc2VvX2Rlc2NyaXB0aW9uID0gJyc7XHJcbiAgICBwcml2YXRlIGRlZmF1bHRfc2VvX2tleXdvcmRzID0gJyc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgdGl0bGU6IFRpdGxlLFxyXG4gICAgICAgIHByaXZhdGUgbWV0YTogTWV0YVxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcudGl0bGVfcHJlZml4ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICB0aGlzLnRpdGxlX3ByZWZpeCA9IHRoaXMuY29uZmlnLnRpdGxlX3ByZWZpeDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcudGl0bGVfc3VmZml4ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICB0aGlzLnRpdGxlX3N1ZmZpeCA9IHRoaXMuY29uZmlnLnRpdGxlX3N1ZmZpeDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcudGl0bGVfc2VwYXJhdG9yICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICB0aGlzLnRpdGxlX3NlcGFyYXRvciA9IHRoaXMuY29uZmlnLnRpdGxlX3NlcGFyYXRvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcuZGVmYXVsdF9zZW9fdGl0bGUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdF9zZW9fdGl0bGUgPSB0aGlzLmNvbmZpZy5kZWZhdWx0X3Nlb190aXRsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcuZGVmYXVsdF9zZW9fZGVzY3JpcHRpb24gIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdF9zZW9fZGVzY3JpcHRpb24gPSB0aGlzLmNvbmZpZy5kZWZhdWx0X3Nlb19kZXNjcmlwdGlvbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcuZGVmYXVsdF9zZW9fa2V5d29yZHMgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdF9zZW9fa2V5d29yZHMgPSB0aGlzLmNvbmZpZy5kZWZhdWx0X3Nlb19rZXl3b3JkcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRQYWdlVGl0bGVUYWdzKHRpdGxlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRpdGxlLnNldFRpdGxlKHRpdGxlKTtcclxuICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp0aXRsZScsIGNvbnRlbnQ6IHRpdGxlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0UGFnZURlc2NyaXB0aW9uVGFncyhkZXNjcmlwdGlvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IG5hbWU6ICdkZXNjcmlwdGlvbicsIGNvbnRlbnQ6IGRlc2NyaXB0aW9uIH0pO1xyXG4gICAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOmRlc2NyaXB0aW9uJywgY29udGVudDogZGVzY3JpcHRpb24gfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRQYWdlS2V5d29yZHNUYWdzKGtleXdvcmRzOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgbmFtZTogJ2tleXdvcmRzJywgY29udGVudDoga2V5d29yZHMgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUFuZFNhbml0aXplU2VvSW5mbyhzZW9JbmZvOiBFc29sdmVTRU9JbmZvKTogRXNvbHZlU0VPSW5mbyB7XHJcbiAgICAgICAgY29uc3QgcGFnZVNlbyA9IG5ldyBFc29sdmVTRU9JbmZvKHRoaXMuZGVmYXVsdF9zZW9fdGl0bGUsIHRoaXMuZGVmYXVsdF9zZW9fZGVzY3JpcHRpb24sIHRoaXMuZGVmYXVsdF9zZW9fa2V5d29yZHMpO1xyXG5cclxuICAgICAgICBpZiAoc2VvSW5mby5kZXNjcmlwdGlvbi50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIHBhZ2VTZW8uZGVzY3JpcHRpb24gPSBzZW9JbmZvLmRlc2NyaXB0aW9uO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHNlb0luZm8udGl0bGUudHJpbSgpICE9PSAnJykge1xyXG4gICAgICAgICAgICBjb25zdCB0aXRsZVBhcnRzQXJyYXkgPSBbXTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRpdGxlX3ByZWZpeCAhPT0gJycpIHtcclxuICAgICAgICAgICAgICAgIHRpdGxlUGFydHNBcnJheS5wdXNoKHRoaXMudGl0bGVfcHJlZml4KTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aXRsZV9zZXBhcmF0b3IgIT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGVQYXJ0c0FycmF5LnB1c2godGhpcy50aXRsZV9zZXBhcmF0b3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aXRsZVBhcnRzQXJyYXkucHVzaChzZW9JbmZvLnRpdGxlKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRpdGxlX3N1ZmZpeCAhPT0gJycpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpdGxlX3NlcGFyYXRvciAhPT0gJycpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZVBhcnRzQXJyYXkucHVzaCh0aGlzLnRpdGxlX3NlcGFyYXRvcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGl0bGVQYXJ0c0FycmF5LnB1c2godGhpcy50aXRsZV9zdWZmaXgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwYWdlU2VvLnRpdGxlID0gdGl0bGVQYXJ0c0FycmF5LmpvaW4oJyAnKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChzZW9JbmZvLmtleXdvcmRzLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNsZWFuX3RpdGxlID0gc2VvSW5mby50aXRsZS5yZXBsYWNlKC9bXmEtekEtWjAtOVxcLiBdKy9naSwgJycpLnRyaW0oKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGtleXdvcmRzID0gY2xlYW5fdGl0bGUuc3BsaXQoJyAnKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNsZWFuX2tleXdvcmRzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGtleXdvcmQgb2Yga2V5d29yZHMpIHtcclxuICAgICAgICAgICAgICAgICAgICBrZXl3b3JkID0ga2V5d29yZC50cmltKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGtleXdvcmQubGVuZ3RoID4gMikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXl3b3JkID0ga2V5d29yZC50b0xvY2FsZUxvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsZWFuX2tleXdvcmRzLmluY2x1ZGVzKGtleXdvcmQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhbl9rZXl3b3Jkcy5wdXNoKGtleXdvcmQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHNlb0luZm8ua2V5d29yZHMgPSBjbGVhbl9rZXl3b3Jkcy5qb2luKCcsJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChzZW9JbmZvLmtleXdvcmRzLnRyaW0oKSAhPT0gJycpIHtcclxuICAgICAgICAgICAgcGFnZVNlby5rZXl3b3JkcyA9IHNlb0luZm8ua2V5d29yZHM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcGFnZVNlbztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgU0VPIHRhZ3MgZm9yIHBhZ2VcclxuICAgICAqIEBwYXJhbSBzZW9JbmZvIFNFTyBvYmplY3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldFRhZ3Moc2VvSW5mbzogRXNvbHZlU0VPSW5mbyk6IHZvaWQge1xyXG4gICAgICAgIHNlb0luZm8gPSB0aGlzLnZhbGlkYXRlQW5kU2FuaXRpemVTZW9JbmZvKHNlb0luZm8pO1xyXG5cclxuICAgICAgICB0aGlzLnNldFBhZ2VUaXRsZVRhZ3Moc2VvSW5mby50aXRsZSk7XHJcbiAgICAgICAgdGhpcy5zZXRQYWdlRGVzY3JpcHRpb25UYWdzKHNlb0luZm8uZGVzY3JpcHRpb24pO1xyXG4gICAgICAgIHRoaXMuc2V0UGFnZUtleXdvcmRzVGFncyhzZW9JbmZvLmtleXdvcmRzKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWJhZGdlLXJlY29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc3RvY2svZXNvbHZlLXN0b2NrLWJhZGdlLXJlY29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFc29sdmVTdG9ja0JhZGdlUmVjb3JkIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBpZGVudGlmaWVyOiBzdHJpbmc7XHJcbiAgICBmb250X2NvbG91cjogc3RyaW5nO1xyXG4gICAgYmFkZ2VfY29sb3VyOiBzdHJpbmc7XHJcbiAgICBzb3J0X3ByaW9yaXR5OiBudW1iZXI7XHJcbn1cclxuIl19
@@ -0,0 +1,11 @@
1
+ export class EsolveStockBadge {
2
+ constructor(id, text, identifier, font_colour, badge_colour, sort_priority) {
3
+ this.id = id;
4
+ this.text = text;
5
+ this.identifier = identifier;
6
+ this.font_colour = font_colour;
7
+ this.badge_colour = badge_colour;
8
+ this.sort_priority = sort_priority;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWJhZGdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9lc29sdmUtc3RvY2stYmFkZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixZQUNXLEVBQVUsRUFDVixJQUFZLEVBQ1osVUFBa0IsRUFDbEIsV0FBbUIsRUFDbkIsWUFBb0IsRUFDcEIsYUFBcUI7UUFMckIsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO0lBQzVCLENBQUM7Q0FDUiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFc29sdmVTdG9ja0JhZGdlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBpZDogbnVtYmVyLFxyXG4gICAgICAgIHB1YmxpYyB0ZXh0OiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGlkZW50aWZpZXI6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgZm9udF9jb2xvdXI6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgYmFkZ2VfY29sb3VyOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIHNvcnRfcHJpb3JpdHk6IG51bWJlclxyXG4gICAgKSB7IH1cclxufVxyXG4iXX0=
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Stock item object list
3
+ */
4
+ export class EsolveStockItemList {
5
+ constructor(stock_items, total, page) {
6
+ this.stock_items = stock_items;
7
+ this.total = total;
8
+ this.page = page;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0tbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc3RvY2svZXNvbHZlLXN0b2NrLWl0ZW0tbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsWUFDVyxXQUE4QixFQUM5QixLQUFhLEVBQ2IsSUFBWTtRQUZaLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsU0FBSSxHQUFKLElBQUksQ0FBUTtJQUNuQixDQUFDO0NBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVTdG9ja0l0ZW0gfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay1pdGVtJztcclxuXHJcbi8qKlxyXG4gKiBTdG9jayBpdGVtIG9iamVjdCBsaXN0XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRXNvbHZlU3RvY2tJdGVtTGlzdCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgc3RvY2tfaXRlbXM6IEVzb2x2ZVN0b2NrSXRlbVtdLFxyXG4gICAgICAgIHB1YmxpYyB0b3RhbDogbnVtYmVyLFxyXG4gICAgICAgIHB1YmxpYyBwYWdlOiBudW1iZXJcclxuICAgICkgeyB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0tb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc3RvY2svZXNvbHZlLXN0b2NrLWl0ZW0tb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFc29sdmVTdG9ja0l0ZW1PcHRpb25zIHtcclxuICAgIHJvd3M/OiBudW1iZXI7XHJcbiAgICBwYWdlPzogbnVtYmVyO1xyXG4gICAgY2F0ZWdvcnlfaWQ/OiBzdHJpbmc7XHJcbiAgICBzdWJjYXRlZ29yeV9pZD86IG51bWJlcjtcclxuICAgIGlzX2FjdGl2ZT86IGJvb2xlYW47XHJcbiAgICBkaXNwbGF5X29ubHk/OiBib29sZWFuO1xyXG4gICAgdGFnX2lkX2xpc3Q/OiBudW1iZXJbXTtcclxuICAgIHRvcGljX2lkX2xpc3Q/OiBudW1iZXJbXTtcclxufVxyXG4iXX0=
@@ -0,0 +1,130 @@
1
+ import { EsolveSEOInfo } from '../shared/seo/esolve-seo-info';
2
+ /**
3
+ * Stock Item object. It can be a service or a product (physical and/or digital).
4
+ */
5
+ export class EsolveStockItem {
6
+ /**
7
+ * Constructs an instance of EsolveStockItem
8
+ *
9
+ * @param id eSolve Generated ID
10
+ * @param code Code identifying the stock item
11
+ * @param name Name of the stock item
12
+ * @param sef_name Search engine friendly name
13
+ * @param description Short description of stock item
14
+ * @param active Active state
15
+ * @param featured Featured state
16
+ * @param image_name Image filename
17
+ * @param price Default price
18
+ * @param tags Linked tags
19
+ * @param topics Linked topics
20
+ * @param seo_title SEO page title
21
+ * @param seo_keywords SEO page keywords
22
+ */
23
+ constructor(
24
+ /**
25
+ * eSolve Generated ID
26
+ */
27
+ id,
28
+ /**
29
+ * Code identifying the stock item
30
+ */
31
+ code,
32
+ /**
33
+ * Name of the stock item
34
+ */
35
+ name,
36
+ /**
37
+ * Search engine friendly name
38
+ */
39
+ sef_name,
40
+ /**
41
+ * Short description of stock item
42
+ */
43
+ description,
44
+ /**
45
+ * Active state
46
+ */
47
+ active,
48
+ /**
49
+ * Featured state
50
+ */
51
+ featured,
52
+ /**
53
+ * Image filename
54
+ */
55
+ image_name,
56
+ /**
57
+ * Default price
58
+ */
59
+ price,
60
+ /**
61
+ * Linked tags
62
+ */
63
+ tags,
64
+ /**
65
+ * Linked topics
66
+ */
67
+ topics,
68
+ /**
69
+ * Stock badges
70
+ */
71
+ badges,
72
+ /**
73
+ * ID of default category linked to the stock item
74
+ */
75
+ category_id,
76
+ /**
77
+ * ID of default subcategory linked to the stock item
78
+ */
79
+ subcategory_id, seo_title = '', seo_keywords = '') {
80
+ this.id = id;
81
+ this.code = code;
82
+ this.name = name;
83
+ this.sef_name = sef_name;
84
+ this.description = description;
85
+ this.active = active;
86
+ this.featured = featured;
87
+ this.image_name = image_name;
88
+ this.price = price;
89
+ this.tags = tags;
90
+ this.topics = topics;
91
+ this.badges = badges;
92
+ this.category_id = category_id;
93
+ this.subcategory_id = subcategory_id;
94
+ if (seo_title.trim() === '') {
95
+ seo_title = this.name;
96
+ }
97
+ this.seo_details = new EsolveSEOInfo(seo_title, description, seo_keywords);
98
+ }
99
+ /**
100
+ * Path to tiny stock image
101
+ */
102
+ get tiny_image_src() {
103
+ return '/images/' + (this.image_name ? 'stock/tiny/' + this.image_name : 'no_image.jpg');
104
+ }
105
+ /**
106
+ * Path to thumbnail stock image
107
+ */
108
+ get thumbnail_image_src() {
109
+ return '/images/' + (this.image_name ? 'stock/thumb/' + this.image_name : 'no_image.jpg');
110
+ }
111
+ /**
112
+ * Path to small stock image
113
+ */
114
+ get small_image_src() {
115
+ return '/images/' + (this.image_name ? 'stock/small/' + this.image_name : 'no_image.jpg');
116
+ }
117
+ /**
118
+ * Path to big stock image
119
+ */
120
+ get big_image_src() {
121
+ return '/images/' + (this.image_name ? 'stock/big/' + this.image_name : 'no_image.jpg');
122
+ }
123
+ /**
124
+ * Path to original stock image
125
+ */
126
+ get original_image_src() {
127
+ return '/images/' + (this.image_name ? 'stock/original/' + this.image_name : 'no_image.jpg');
128
+ }
129
+ }
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3N0b2NrL2Vzb2x2ZS1zdG9jay1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNaEY7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQU14Qjs7Ozs7Ozs7Ozs7Ozs7OztPQWdCRztJQUNIO0lBQ0k7O09BRUc7SUFDSSxFQUFVO0lBRWpCOztPQUVHO0lBQ0ksSUFBWTtJQUVuQjs7T0FFRztJQUNJLElBQVk7SUFFbkI7O09BRUc7SUFDSSxRQUFnQjtJQUV2Qjs7T0FFRztJQUNJLFdBQW1CO0lBRTFCOztPQUVHO0lBQ0ksTUFBZTtJQUV0Qjs7T0FFRztJQUNJLFFBQWlCO0lBRXhCOztPQUVHO0lBQ0ssVUFBa0I7SUFFMUI7O09BRUc7SUFDSSxLQUF1QjtJQUU5Qjs7T0FFRztJQUNJLElBQWlCO0lBRXhCOztPQUVHO0lBQ0ksTUFBcUI7SUFFNUI7O09BRUc7SUFDSSxNQUEwQjtJQUVqQzs7T0FFRztJQUNJLFdBQW1CO0lBRTFCOztPQUVHO0lBQ0ksY0FBc0IsRUFDN0IsWUFBb0IsRUFBRSxFQUN0QixlQUF1QixFQUFFO1FBbkVsQixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBS1YsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUtaLFNBQUksR0FBSixJQUFJLENBQVE7UUFLWixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBS2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBS25CLFdBQU0sR0FBTixNQUFNLENBQVM7UUFLZixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBS2hCLGVBQVUsR0FBVixVQUFVLENBQVE7UUFLbkIsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUFLdkIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUtqQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBS3JCLFdBQU0sR0FBTixNQUFNLENBQW9CO1FBSzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBS25CLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBSTdCLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN6QixTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUN6QjtRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxhQUFhLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGNBQWM7UUFDZCxPQUFPLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLG1CQUFtQjtRQUNuQixPQUFPLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGVBQWU7UUFDZixPQUFPLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDYixPQUFPLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGtCQUFrQjtRQUNsQixPQUFPLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVNFT0RldGFpbHMsIEVzb2x2ZVNFT0luZm8gfSBmcm9tICcuLi9zaGFyZWQvc2VvL2Vzb2x2ZS1zZW8taW5mbyc7XHJcbmltcG9ydCB7IEVzb2x2ZVRhZyB9IGZyb20gJy4uL3RhZ3MvZXNvbHZlLXRhZyc7XHJcbmltcG9ydCB7IEVzb2x2ZVRvcGljIH0gZnJvbSAnLi4vdG9waWNzL2Vzb2x2ZS10b3BpYyc7XHJcbmltcG9ydCB7IEVzb2x2ZVN0b2NrQmFkZ2UgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay1iYWRnZSc7XHJcbmltcG9ydCB7IEVzb2x2ZVN0b2NrUHJpY2UgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay1wcmljZSc7XHJcblxyXG4vKipcclxuICogU3RvY2sgSXRlbSBvYmplY3QuIEl0IGNhbiBiZSBhIHNlcnZpY2Ugb3IgYSBwcm9kdWN0IChwaHlzaWNhbCBhbmQvb3IgZGlnaXRhbCkuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRXNvbHZlU3RvY2tJdGVtIGltcGxlbWVudHMgRXNvbHZlU0VPRGV0YWlscyB7XHJcbiAgICAvKipcclxuICAgICAqIFNFTyBwYWdlIGRldGFpbHNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNlb19kZXRhaWxzOiBFc29sdmVTRU9JbmZvO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0cyBhbiBpbnN0YW5jZSBvZiBFc29sdmVTdG9ja0l0ZW1cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gaWQgZVNvbHZlIEdlbmVyYXRlZCBJRFxyXG4gICAgICogQHBhcmFtIGNvZGUgQ29kZSBpZGVudGlmeWluZyB0aGUgc3RvY2sgaXRlbVxyXG4gICAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgc3RvY2sgaXRlbVxyXG4gICAgICogQHBhcmFtIHNlZl9uYW1lIFNlYXJjaCBlbmdpbmUgZnJpZW5kbHkgbmFtZVxyXG4gICAgICogQHBhcmFtIGRlc2NyaXB0aW9uIFNob3J0IGRlc2NyaXB0aW9uIG9mIHN0b2NrIGl0ZW1cclxuICAgICAqIEBwYXJhbSBhY3RpdmUgQWN0aXZlIHN0YXRlXHJcbiAgICAgKiBAcGFyYW0gZmVhdHVyZWQgRmVhdHVyZWQgc3RhdGVcclxuICAgICAqIEBwYXJhbSBpbWFnZV9uYW1lIEltYWdlIGZpbGVuYW1lXHJcbiAgICAgKiBAcGFyYW0gcHJpY2UgRGVmYXVsdCBwcmljZVxyXG4gICAgICogQHBhcmFtIHRhZ3MgTGlua2VkIHRhZ3NcclxuICAgICAqIEBwYXJhbSB0b3BpY3MgTGlua2VkIHRvcGljc1xyXG4gICAgICogQHBhcmFtIHNlb190aXRsZSBTRU8gcGFnZSB0aXRsZVxyXG4gICAgICogQHBhcmFtIHNlb19rZXl3b3JkcyBTRU8gcGFnZSBrZXl3b3Jkc1xyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBlU29sdmUgR2VuZXJhdGVkIElEXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIGlkOiBudW1iZXIsXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIENvZGUgaWRlbnRpZnlpbmcgdGhlIHN0b2NrIGl0ZW1cclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgY29kZTogc3RyaW5nLFxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBOYW1lIG9mIHRoZSBzdG9jayBpdGVtXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIG5hbWU6IHN0cmluZyxcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogU2VhcmNoIGVuZ2luZSBmcmllbmRseSBuYW1lXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIHNlZl9uYW1lOiBzdHJpbmcsXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFNob3J0IGRlc2NyaXB0aW9uIG9mIHN0b2NrIGl0ZW1cclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZyxcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogQWN0aXZlIHN0YXRlXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIGFjdGl2ZTogYm9vbGVhbixcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogRmVhdHVyZWQgc3RhdGVcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgZmVhdHVyZWQ6IGJvb2xlYW4sXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIEltYWdlIGZpbGVuYW1lXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHJpdmF0ZSBpbWFnZV9uYW1lOiBzdHJpbmcsXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIERlZmF1bHQgcHJpY2VcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgcHJpY2U6IEVzb2x2ZVN0b2NrUHJpY2UsXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIExpbmtlZCB0YWdzXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIHRhZ3M6IEVzb2x2ZVRhZ1tdLFxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBMaW5rZWQgdG9waWNzXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIHRvcGljczogRXNvbHZlVG9waWNbXSxcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogU3RvY2sgYmFkZ2VzXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIGJhZGdlczogRXNvbHZlU3RvY2tCYWRnZVtdLFxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBJRCBvZiBkZWZhdWx0IGNhdGVnb3J5IGxpbmtlZCB0byB0aGUgc3RvY2sgaXRlbVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHB1YmxpYyBjYXRlZ29yeV9pZDogc3RyaW5nLFxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBJRCBvZiBkZWZhdWx0IHN1YmNhdGVnb3J5IGxpbmtlZCB0byB0aGUgc3RvY2sgaXRlbVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHB1YmxpYyBzdWJjYXRlZ29yeV9pZDogbnVtYmVyLFxyXG4gICAgICAgIHNlb190aXRsZTogc3RyaW5nID0gJycsXHJcbiAgICAgICAgc2VvX2tleXdvcmRzOiBzdHJpbmcgPSAnJ1xyXG4gICAgKSB7XHJcbiAgICAgICAgaWYgKHNlb190aXRsZS50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgICAgICAgIHNlb190aXRsZSA9IHRoaXMubmFtZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VvX2RldGFpbHMgPSBuZXcgRXNvbHZlU0VPSW5mbyhzZW9fdGl0bGUsIGRlc2NyaXB0aW9uLCBzZW9fa2V5d29yZHMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0aCB0byB0aW55IHN0b2NrIGltYWdlXHJcbiAgICAgKi9cclxuICAgIGdldCB0aW55X2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAnL2ltYWdlcy8nICsgKHRoaXMuaW1hZ2VfbmFtZSA/ICdzdG9jay90aW55LycgKyB0aGlzLmltYWdlX25hbWUgOiAnbm9faW1hZ2UuanBnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRoIHRvIHRodW1ibmFpbCBzdG9jayBpbWFnZVxyXG4gICAgICovXHJcbiAgICBnZXQgdGh1bWJuYWlsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAnL2ltYWdlcy8nICsgKHRoaXMuaW1hZ2VfbmFtZSA/ICdzdG9jay90aHVtYi8nICsgdGhpcy5pbWFnZV9uYW1lIDogJ25vX2ltYWdlLmpwZycpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0aCB0byBzbWFsbCBzdG9jayBpbWFnZVxyXG4gICAgICovXHJcbiAgICBnZXQgc21hbGxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuICcvaW1hZ2VzLycgKyAodGhpcy5pbWFnZV9uYW1lID8gJ3N0b2NrL3NtYWxsLycgKyB0aGlzLmltYWdlX25hbWUgOiAnbm9faW1hZ2UuanBnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRoIHRvIGJpZyBzdG9jayBpbWFnZVxyXG4gICAgICovXHJcbiAgICBnZXQgYmlnX2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAnL2ltYWdlcy8nICsgKHRoaXMuaW1hZ2VfbmFtZSA/ICdzdG9jay9iaWcvJyArIHRoaXMuaW1hZ2VfbmFtZSA6ICdub19pbWFnZS5qcGcnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhdGggdG8gb3JpZ2luYWwgc3RvY2sgaW1hZ2VcclxuICAgICAqL1xyXG4gICAgZ2V0IG9yaWdpbmFsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAnL2ltYWdlcy8nICsgKHRoaXMuaW1hZ2VfbmFtZSA/ICdzdG9jay9vcmlnaW5hbC8nICsgdGhpcy5pbWFnZV9uYW1lIDogJ25vX2ltYWdlLmpwZycpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Price of eSolve stock item
3
+ */
4
+ export class EsolveStockPrice {
5
+ /**
6
+ * Create stock price instance
7
+ * @param base_price Price without tax
8
+ * @param base_price_with_tax Price with tax
9
+ * @param sell_price Price without tax and with discounts applied if appilcable
10
+ * @param sell_price_with_tax Price with tax and with discounts applied if appilcable
11
+ */
12
+ constructor(
13
+ /**
14
+ * Price without tax
15
+ */
16
+ base_price,
17
+ /**
18
+ * Price with tax
19
+ */
20
+ base_price_with_tax,
21
+ /**
22
+ * Price without tax and with discounts applied if appilcable
23
+ */
24
+ sell_price,
25
+ /**
26
+ * Price with tax and with discounts applied if appilcable
27
+ */
28
+ sell_price_with_tax) {
29
+ this.base_price = base_price;
30
+ this.base_price_with_tax = base_price_with_tax;
31
+ this.sell_price = sell_price;
32
+ this.sell_price_with_tax = sell_price_with_tax;
33
+ if ((this.base_price === 0) && (this.sell_price > 0)) {
34
+ this.base_price = this.sell_price;
35
+ this.base_price_with_tax = this.sell_price_with_tax;
36
+ }
37
+ else if ((this.base_price > 0) && (this.sell_price === 0)) {
38
+ this.sell_price = this.base_price;
39
+ this.sell_price_with_tax = this.base_price_with_tax;
40
+ }
41
+ }
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLXByaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9lc29sdmUtc3RvY2stcHJpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCOzs7Ozs7T0FNRztJQUNIO0lBQ0k7O09BRUc7SUFDSSxVQUFrQjtJQUV6Qjs7T0FFRztJQUNJLG1CQUEyQjtJQUVsQzs7T0FFRztJQUNJLFVBQWtCO0lBRXpCOztPQUVHO0lBQ0ksbUJBQTJCO1FBZjNCLGVBQVUsR0FBVixVQUFVLENBQVE7UUFLbEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFRO1FBSzNCLGVBQVUsR0FBVixVQUFVLENBQVE7UUFLbEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFRO1FBRWxDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNsRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztTQUN2RDthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUN6RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztTQUN2RDtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBQcmljZSBvZiBlU29sdmUgc3RvY2sgaXRlbVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEVzb2x2ZVN0b2NrUHJpY2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGUgc3RvY2sgcHJpY2UgaW5zdGFuY2VcclxuICAgICAqIEBwYXJhbSBiYXNlX3ByaWNlIFByaWNlIHdpdGhvdXQgdGF4XHJcbiAgICAgKiBAcGFyYW0gYmFzZV9wcmljZV93aXRoX3RheCBQcmljZSB3aXRoIHRheFxyXG4gICAgICogQHBhcmFtIHNlbGxfcHJpY2UgUHJpY2Ugd2l0aG91dCB0YXggYW5kIHdpdGggZGlzY291bnRzIGFwcGxpZWQgaWYgYXBwaWxjYWJsZVxyXG4gICAgICogQHBhcmFtIHNlbGxfcHJpY2Vfd2l0aF90YXggUHJpY2Ugd2l0aCB0YXggYW5kIHdpdGggZGlzY291bnRzIGFwcGxpZWQgaWYgYXBwaWxjYWJsZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBQcmljZSB3aXRob3V0IHRheFxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHB1YmxpYyBiYXNlX3ByaWNlOiBudW1iZXIsXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFByaWNlIHdpdGggdGF4XHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIGJhc2VfcHJpY2Vfd2l0aF90YXg6IG51bWJlcixcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogUHJpY2Ugd2l0aG91dCB0YXggYW5kIHdpdGggZGlzY291bnRzIGFwcGxpZWQgaWYgYXBwaWxjYWJsZVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHB1YmxpYyBzZWxsX3ByaWNlOiBudW1iZXIsXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFByaWNlIHdpdGggdGF4IGFuZCB3aXRoIGRpc2NvdW50cyBhcHBsaWVkIGlmIGFwcGlsY2FibGVcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgc2VsbF9wcmljZV93aXRoX3RheDogbnVtYmVyXHJcbiAgICApIHtcclxuICAgICAgICBpZiAoKHRoaXMuYmFzZV9wcmljZSA9PT0gMCkgJiYgKHRoaXMuc2VsbF9wcmljZSA+IDApKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmFzZV9wcmljZSA9IHRoaXMuc2VsbF9wcmljZTtcclxuICAgICAgICAgICAgdGhpcy5iYXNlX3ByaWNlX3dpdGhfdGF4ID0gdGhpcy5zZWxsX3ByaWNlX3dpdGhfdGF4O1xyXG4gICAgICAgIH0gZWxzZSBpZiAoKHRoaXMuYmFzZV9wcmljZSA+IDApICYmICh0aGlzLnNlbGxfcHJpY2UgPT09IDApKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsbF9wcmljZSA9IHRoaXMuYmFzZV9wcmljZTtcclxuICAgICAgICAgICAgdGhpcy5zZWxsX3ByaWNlX3dpdGhfdGF4ID0gdGhpcy5iYXNlX3ByaWNlX3dpdGhfdGF4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLXJlY29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc3RvY2svZXNvbHZlLXN0b2NrLXJlY29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlVGFnUmVjb3JkIH0gZnJvbSAnLi4vdGFncy9lc29sdmUtdGFnLXJlY29yZCc7XHJcbmltcG9ydCB7IEVzb2x2ZVRvcGljUmVjb3JkIH0gZnJvbSAnLi4vdG9waWNzL2Vzb2x2ZS10b3BpYy1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja0JhZGdlUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stYmFkZ2UtcmVjb3JkJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlU3RvY2tSZWNvcmQge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIGNvZGU6IHN0cmluZztcclxuICAgIHN1cHBsaWVyX2NvZGU6IHN0cmluZztcclxuICAgIGV4dGVybmFsX3N5c3RlbV9jb2RlOiBzdHJpbmc7XHJcbiAgICBiYXJjb2RlOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBzZWZfbmFtZTogc3RyaW5nO1xyXG4gICAgc2VvX3BhZ2VfdGl0bGU6IHN0cmluZztcclxuICAgIHNlb19rZXl3b3Jkczogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIGNhdGVnb3J5X2lkOiBzdHJpbmc7XHJcbiAgICBjYXRlZ29yeV9kZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgc3ViY2F0ZWdvcnlfaWQ6IG51bWJlcjtcclxuICAgIHN1YmNhdGVnb3J5X2Rlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICBsaW5rZWRfY2F0ZWdvcmllczogRXNvbHZlU3RvY2tMaW5rZWRDYXRlZ29yeVJlY29yZFtdO1xyXG4gICAgaW1hZ2VfY2hlY2tzdW06IHN0cmluZztcclxuICAgIGltYWdlX25hbWU6IHN0cmluZztcclxuICAgIGltYWdlX2xhc3RfbW9kaWZpZWQ6IHN0cmluZztcclxuICAgIG11c3RfY29sbGVjdDogYm9vbGVhbjtcclxuICAgIGRlbGl2ZXJ5X2NhdGVnb3J5OiBzdHJpbmc7XHJcbiAgICBpc19hY3RpdmU6IGJvb2xlYW47XHJcbiAgICBpc19mZWF0dXJlZDogYm9vbGVhbjtcclxuICAgIHZhdF9pdGVtOiBib29sZWFuO1xyXG4gICAgdmF0X3JhdGU6IG51bWJlcjtcclxuICAgIHZhdF9wZXJjZW50YWdlOiBudW1iZXI7XHJcbiAgICBpdGVtc19pbl9wYWNrOiBudW1iZXI7XHJcbiAgICByZWd1bGFyX3NlbGxwcmljZTogbnVtYmVyO1xyXG4gICAgcmVndWxhcl9zZWxscHJpY2VfaW5jbHVzaXZlOiBudW1iZXI7XHJcbiAgICBzZWxscHJpY2U6IG51bWJlcjtcclxuICAgIHNlbGxwcmljZV9pbmNsdXNpdmU6IG51bWJlcjtcclxuICAgIGRpc2NvdW50c19vbl9jb2RlOiBhbnlbXTtcclxuICAgIHRhZ3M6IEVzb2x2ZVRhZ1JlY29yZFtdO1xyXG4gICAgdG9waWNzOiBFc29sdmVUb3BpY1JlY29yZFtdO1xyXG4gICAgYmFkZ2VzOiBFc29sdmVTdG9ja0JhZGdlUmVjb3JkW107XHJcbn1cclxuXHJcbmludGVyZmFjZSBFc29sdmVTdG9ja0xpbmtlZENhdGVnb3J5UmVjb3JkIHtcclxuICAgIGNhdGVnb3J5X2lkOiBzdHJpbmc7XHJcbiAgICBzdWJjYXRlZ29yeV9pZDogbnVtYmVyO1xyXG4gICAgaXNfZGVmYXVsdDogYm9vbGVhbjtcclxufVxyXG4iXX0=