@snabcentr/client-core 2.53.1 → 2.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/banners/dto/index.d.ts +2 -0
  2. package/banners/dto/sc-banner.d.ts +56 -0
  3. package/banners/dto/sc-i-banner.d.ts +6 -2
  4. package/banners/index.d.ts +1 -1
  5. package/banners/services/sc-banner.service.d.ts +1 -1
  6. package/catalog/dto/sc-i-product-images.d.ts +8 -0
  7. package/catalog/dto/sc-i-properties.d.ts +4 -0
  8. package/catalog/dto/sc-product.d.ts +12 -0
  9. package/common/classes/index.d.ts +1 -0
  10. package/common/classes/sc-image.d.ts +26 -0
  11. package/common/index.d.ts +2 -0
  12. package/common/interfaces/index.d.ts +1 -0
  13. package/common/interfaces/sc-i-image.d.ts +17 -0
  14. package/esm2022/banners/dto/index.mjs +3 -0
  15. package/esm2022/banners/dto/sc-banner.mjs +34 -0
  16. package/esm2022/banners/dto/sc-i-banner.mjs +1 -1
  17. package/esm2022/banners/index.mjs +2 -2
  18. package/esm2022/banners/services/sc-banner.service.mjs +4 -9
  19. package/esm2022/catalog/dto/sc-i-product-images.mjs +1 -1
  20. package/esm2022/catalog/dto/sc-i-properties.mjs +1 -1
  21. package/esm2022/catalog/dto/sc-product.mjs +17 -1
  22. package/esm2022/common/classes/index.mjs +2 -0
  23. package/esm2022/common/classes/sc-image.mjs +18 -0
  24. package/esm2022/common/index.mjs +3 -0
  25. package/esm2022/common/interfaces/index.mjs +2 -0
  26. package/esm2022/common/interfaces/sc-i-image.mjs +2 -0
  27. package/esm2022/helpers/sc-image-helper.mjs +32 -41
  28. package/esm2022/news/classes/sc-news-tile.mjs +1 -1
  29. package/esm2022/news/classes/sc-news.mjs +2 -1
  30. package/esm2022/news/internal/sc-i-news-dto.mjs +1 -1
  31. package/esm2022/pipes/index.mjs +2 -1
  32. package/esm2022/pipes/sc-media-image-transformer.pipe.mjs +34 -0
  33. package/esm2022/public-api.mjs +2 -1
  34. package/fesm2022/snabcentr-client-core.mjs +128 -44
  35. package/fesm2022/snabcentr-client-core.mjs.map +1 -1
  36. package/helpers/sc-image-helper.d.ts +10 -16
  37. package/news/classes/sc-news-tile.d.ts +4 -0
  38. package/news/classes/sc-news.d.ts +4 -0
  39. package/news/internal/sc-i-news-dto.d.ts +4 -0
  40. package/package.json +1 -1
  41. package/pipes/index.d.ts +1 -0
  42. package/pipes/sc-media-image-transformer.pipe.d.ts +26 -0
  43. package/public-api.d.ts +1 -0
  44. package/release_notes.tmp +1 -5
@@ -1,5 +1,6 @@
1
1
  import { inject, Injectable } from '@angular/core';
2
- import { SC_PATH_IMAGE_NOT_FOUND, SC_URLS } from '../tokens';
2
+ import { ScImage } from '../common/classes/sc-image';
3
+ import { ScMediaImageTransformerPipe } from '../pipes/sc-media-image-transformer.pipe';
3
4
  import * as i0 from "@angular/core";
4
5
  /**
5
6
  * Класс с вспомогательными методами для работы с изображениями.
@@ -9,11 +10,7 @@ export class ScImageHelper {
9
10
  /**
10
11
  * Список ссылок на разделы backend'a.
11
12
  */
12
- this.urls = inject(SC_URLS);
13
- /**
14
- * Путь до изображения 'Товар не найден'.
15
- */
16
- this.pathImageNotFound = inject(SC_PATH_IMAGE_NOT_FOUND);
13
+ this.mediaImageTransformerPipe = inject(ScMediaImageTransformerPipe);
17
14
  }
18
15
  /**
19
16
  * Возвращает изображение товара по индексу.
@@ -23,11 +20,11 @@ export class ScImageHelper {
23
20
  * @returns Возвращает изображение товара по индексу. Возвращает пути до изображения 'Товар не найден' {@link pathImageNotFound} если изображения по индексу не найдено.
24
21
  */
25
22
  getImage(product, imgIndex = 0) {
26
- const image = product.getImage(imgIndex);
27
- if (!image) {
28
- return this.pathImageNotFound;
29
- }
30
- return this.getMediaImageURI(image);
23
+ return {
24
+ image: this.mediaImageTransformerPipe.transform(product.getImage(imgIndex), true),
25
+ alt: `Изображение товара ${product.name} №${imgIndex + 1}`,
26
+ imageWebp: this.mediaImageTransformerPipe.transform(product.getImageWebp(imgIndex), false),
27
+ };
31
28
  }
32
29
  /**
33
30
  * Возвращает превью-изображение товара по индексу.
@@ -37,37 +34,31 @@ export class ScImageHelper {
37
34
  * @returns Возвращает превью-изображение товара по индексу. Возвращает основное изображение если превью-изображения по индексу не найдено.
38
35
  */
39
36
  getImagePreview(product, previewIndex = 0) {
40
- const image = product.getImagePreview(previewIndex);
41
- if (!image) {
42
- return this.getImage(product, previewIndex);
43
- }
44
- return this.getMediaImageURI(image);
45
- }
46
- /**
47
- * Формирует полный URI изображения на media сервере.
48
- *
49
- * @param image Путь до изображения.
50
- * @returns Полный URI до изображения.
51
- */
52
- getMediaImageURI(image) {
53
- return image.startsWith('/') ? this.urls.imgServerUrl + image : `${this.urls.imgServerUrl}/${image}`;
37
+ return {
38
+ image: this.mediaImageTransformerPipe.transform(product.getImagePreview(previewIndex) ?? product.getImage(previewIndex), true),
39
+ alt: `Изображение предварительного просмотра товара ${product.name} №${previewIndex + 1}`,
40
+ imageWebp: this.mediaImageTransformerPipe.transform(product.getImagePreviewWebp(previewIndex) ?? product.getImageWebp(previewIndex), false),
41
+ };
54
42
  }
55
- /**
56
- * Возвращает массив изображений товара.
57
- *
58
- * @param product Позиция товара/услуги.
59
- */
60
- getProductImageList(product) {
43
+ getProductImageList(product, useDefaultImage) {
61
44
  const images = product.images?.filter((image) => image.image).map((_, index) => this.getImage(product, index));
62
- return images?.length ? images : undefined;
45
+ if (images?.length) {
46
+ return images;
47
+ }
48
+ if (useDefaultImage) {
49
+ return [new ScImage(this.mediaImageTransformerPipe.transform(undefined, true), `Изображение товара ${product.name} не найдено`)];
50
+ }
51
+ return undefined;
63
52
  }
64
- /**
65
- * Возвращает массив превью-изображений товара.
66
- *
67
- * @param product Данные о товаре/услуге.
68
- */
69
- getProductImagePreviewList(product) {
70
- return product.images?.filter((image) => image.preview).map((_, index) => this.getImagePreview(product, index)) ?? [];
53
+ getProductImagePreviewList(product, useDefaultImage) {
54
+ const images = product.images?.filter((image) => image.preview).map((_, index) => this.getImagePreview(product, index));
55
+ if (images?.length) {
56
+ return images;
57
+ }
58
+ if (useDefaultImage) {
59
+ return [new ScImage(this.mediaImageTransformerPipe.transform(undefined, true), `Изображение предварительного просмотра товара ${product.name} не найдено`)];
60
+ }
61
+ return undefined;
71
62
  }
72
63
  /**
73
64
  * Возвращает признак того, что файл является изображением.
@@ -76,7 +67,7 @@ export class ScImageHelper {
76
67
  */
77
68
  // eslint-disable-next-line class-methods-use-this
78
69
  isImg(format) {
79
- return ['jpeg', 'jpg', 'png', 'gif', 'bmp', 'tiff'].includes(format);
70
+ return ['jpeg', 'jpg', 'png', 'gif', 'bmp', 'tiff', 'webp'].includes(format);
80
71
  }
81
72
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScImageHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
82
73
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScImageHelper, providedIn: 'root' }); }
@@ -87,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
87
78
  providedIn: 'root',
88
79
  }]
89
80
  }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaW1hZ2UtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9oZWxwZXJzL3NjLWltYWdlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUU3RDs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBSUk7O1dBRUc7UUFDYyxTQUFJLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpEOztXQUVHO1FBQ2Msc0JBQWlCLEdBQVcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0EyRWhGO0lBekVHOzs7Ozs7T0FNRztJQUNJLFFBQVEsQ0FBQyxPQUFrQixFQUFFLFdBQW1CLENBQUM7UUFDcEQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNsQyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGVBQWUsQ0FBQyxPQUFrQixFQUFFLGVBQXVCLENBQUM7UUFDL0QsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ2pDLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLEtBQUssRUFBRSxDQUFDO0lBQ3pHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksbUJBQW1CLENBQUMsT0FBa0I7UUFDekMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRS9HLE9BQU8sTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSwwQkFBMEIsQ0FBQyxPQUFrQjtRQUNoRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUgsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxrREFBa0Q7SUFDM0MsS0FBSyxDQUFDLE1BQWM7UUFDdkIsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7K0dBbkZRLGFBQWE7bUhBQWIsYUFBYSxjQUZWLE1BQU07OzRGQUVULGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNjUHJvZHVjdCB9IGZyb20gJy4uL2NhdGFsb2cvZHRvJztcbmltcG9ydCB7IFNjSVVybHMgfSBmcm9tICcuLi9jb25maWcvc2MtaS11cmxzJztcbmltcG9ydCB7IFNDX1BBVEhfSU1BR0VfTk9UX0ZPVU5ELCBTQ19VUkxTIH0gZnJvbSAnLi4vdG9rZW5zJztcblxuLyoqXG4gKiDQmtC70LDRgdGBINGBINCy0YHQv9C+0LzQvtCz0LDRgtC10LvRjNC90YvQvNC4INC80LXRgtC+0LTQsNC80Lgg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQuNC30L7QsdGA0LDQttC10L3QuNGP0LzQuC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NJbWFnZUhlbHBlciB7XG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGA0LDQt9C00LXQu9GLIGJhY2tlbmQnYS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybHM6IFNjSVVybHMgPSBpbmplY3QoU0NfVVJMUyk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GD0YLRjCDQtNC+INC40LfQvtCx0YDQsNC20LXQvdC40Y8gJ9Ci0L7QstCw0YAg0L3QtSDQvdCw0LnQtNC10L0nLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF0aEltYWdlTm90Rm91bmQ6IHN0cmluZyA9IGluamVjdChTQ19QQVRIX0lNQUdFX05PVF9GT1VORCk7XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQuNC30L7QsdGA0LDQttC10L3QuNC1INGC0L7QstCw0YDQsCDQv9C+INC40L3QtNC10LrRgdGDLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0J/QvtC30LjRhtC40Y8g0YLQvtCy0LDRgNCwL9GD0YHQu9GD0LPQuC5cbiAgICAgKiBAcGFyYW0gaW1nSW5kZXgg0JjQvdC00LXQutGBINC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LIg0LzQsNGB0YHQuNCy0LUuXG4gICAgICogQHJldHVybnMg0JLQvtC30LLRgNCw0YnQsNC10YIg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDRgtC+0LLQsNGA0LAg0L/QviDQuNC90LTQtdC60YHRgy4g0JLQvtC30LLRgNCw0YnQsNC10YIg0L/Rg9GC0Lgg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPICfQotC+0LLQsNGAINC90LUg0L3QsNC50LTQtdC9JyB7QGxpbmsgcGF0aEltYWdlTm90Rm91bmR9INC10YHQu9C4INC40LfQvtCx0YDQsNC20LXQvdC40Y8g0L/QviDQuNC90LTQtdC60YHRgyDQvdC1INC90LDQudC00LXQvdC+LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJbWFnZShwcm9kdWN0OiBTY1Byb2R1Y3QsIGltZ0luZGV4OiBudW1iZXIgPSAwKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaW1hZ2UgPSBwcm9kdWN0LmdldEltYWdlKGltZ0luZGV4KTtcblxuICAgICAgICBpZiAoIWltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wYXRoSW1hZ2VOb3RGb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmdldE1lZGlhSW1hZ2VVUkkoaW1hZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNC1INGC0L7QstCw0YDQsCDQv9C+INC40L3QtNC10LrRgdGDLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0J/QvtC30LjRhtC40Y8g0YLQvtCy0LDRgNCwL9GD0YHQu9GD0LPQuC5cbiAgICAgKiBAcGFyYW0gcHJldmlld0luZGV4INCY0L3QtNC10LrRgSDQv9GA0LXQstGM0Y4t0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQsiDQvNCw0YHRgdC40LLQtS5cbiAgICAgKiBAcmV0dXJucyDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LXQstGM0Y4t0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDRgtC+0LLQsNGA0LAg0L/QviDQuNC90LTQtdC60YHRgy4g0JLQvtC30LLRgNCw0YnQsNC10YIg0L7RgdC90L7QstC90L7QtSDQuNC30L7QsdGA0LDQttC10L3QuNC1INC10YHQu9C4INC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNGPINC/0L4g0LjQvdC00LXQutGB0YMg0L3QtSDQvdCw0LnQtNC10L3Qvi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SW1hZ2VQcmV2aWV3KHByb2R1Y3Q6IFNjUHJvZHVjdCwgcHJldmlld0luZGV4OiBudW1iZXIgPSAwKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaW1hZ2UgPSBwcm9kdWN0LmdldEltYWdlUHJldmlldyhwcmV2aWV3SW5kZXgpO1xuXG4gICAgICAgIGlmICghaW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlKHByb2R1Y3QsIHByZXZpZXdJbmRleCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZWRpYUltYWdlVVJJKGltYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQpNC+0YDQvNC40YDRg9C10YIg0L/QvtC70L3Ri9C5IFVSSSDQuNC30L7QsdGA0LDQttC10L3QuNGPINC90LAgbWVkaWEg0YHQtdGA0LLQtdGA0LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW1hZ2Ug0J/Rg9GC0Ywg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPLlxuICAgICAqIEByZXR1cm5zINCf0L7Qu9C90YvQuSBVUkkg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRNZWRpYUltYWdlVVJJKGltYWdlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaW1hZ2Uuc3RhcnRzV2l0aCgnLycpID8gdGhpcy51cmxzLmltZ1NlcnZlclVybCArIGltYWdlIDogYCR7dGhpcy51cmxzLmltZ1NlcnZlclVybH0vJHtpbWFnZX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC80LDRgdGB0LjQsiDQuNC30L7QsdGA0LDQttC10L3QuNC5INGC0L7QstCw0YDQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0INCf0L7Qt9C40YbQuNGPINGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0LguXG4gICAgICovXG4gICAgcHVibGljIGdldFByb2R1Y3RJbWFnZUxpc3QocHJvZHVjdDogU2NQcm9kdWN0KTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBpbWFnZXMgPSBwcm9kdWN0LmltYWdlcz8uZmlsdGVyKChpbWFnZSkgPT4gaW1hZ2UuaW1hZ2UpLm1hcCgoXywgaW5kZXgpID0+IHRoaXMuZ2V0SW1hZ2UocHJvZHVjdCwgaW5kZXgpKTtcblxuICAgICAgICByZXR1cm4gaW1hZ2VzPy5sZW5ndGggPyBpbWFnZXMgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LzQsNGB0YHQuNCyINC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNC5INGC0L7QstCw0YDQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0INCU0LDQvdC90YvQtSDQviDRgtC+0LLQsNGA0LUv0YPRgdC70YPQs9C1LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0SW1hZ2VQcmV2aWV3TGlzdChwcm9kdWN0OiBTY1Byb2R1Y3QpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBwcm9kdWN0LmltYWdlcz8uZmlsdGVyKChpbWFnZSkgPT4gaW1hZ2UucHJldmlldykubWFwKChfLCBpbmRleCkgPT4gdGhpcy5nZXRJbWFnZVByZXZpZXcocHJvZHVjdCwgaW5kZXgpKSA/PyBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0YfRgtC+INGE0LDQudC7INGP0LLQu9GP0LXRgtGB0Y8g0LjQt9C+0LHRgNCw0LbQtdC90LjQtdC8LlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcm1hdCDQpNC+0YDQvNCw0YIg0YTQsNC50LvQsC5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2xhc3MtbWV0aG9kcy11c2UtdGhpc1xuICAgIHB1YmxpYyBpc0ltZyhmb3JtYXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gWydqcGVnJywgJ2pwZycsICdwbmcnLCAnZ2lmJywgJ2JtcCcsICd0aWZmJ10uaW5jbHVkZXMoZm9ybWF0KTtcbiAgICB9XG59XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaW1hZ2UtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9oZWxwZXJzL3NjLWltYWdlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFckQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBRXZGOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFIMUI7UUFJSTs7V0FFRztRQUNjLDhCQUF5QixHQUFnQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztLQXlGakg7SUF2Rkc7Ozs7OztPQU1HO0lBQ0ksUUFBUSxDQUFDLE9BQWtCLEVBQUUsV0FBbUIsQ0FBQztRQUNwRCxPQUFPO1lBQ0gsS0FBSyxFQUFFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUM7WUFDakYsR0FBRyxFQUFFLHNCQUFzQixPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsR0FBRyxDQUFDLEVBQUU7WUFDMUQsU0FBUyxFQUFFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUM7U0FDN0YsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxlQUFlLENBQUMsT0FBa0IsRUFBRSxlQUF1QixDQUFDO1FBQy9ELE9BQU87WUFDSCxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxDQUFDO1lBQzlILEdBQUcsRUFBRSxpREFBaUQsT0FBTyxDQUFDLElBQUksS0FBSyxZQUFZLEdBQUcsQ0FBQyxFQUFFO1lBQ3pGLFNBQVMsRUFBRSxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssQ0FBQztTQUM5SSxDQUFDO0lBQ04sQ0FBQztJQVlNLG1CQUFtQixDQUFDLE9BQWtCLEVBQUUsZUFBeUI7UUFDcEUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRS9HLElBQUksTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxzQkFBc0IsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNySSxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQVlNLDBCQUEwQixDQUFDLE9BQWtCLEVBQUUsZUFBeUI7UUFDM0UsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXhILElBQUksTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxpREFBaUQsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNoSyxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxrREFBa0Q7SUFDM0MsS0FBSyxDQUFDLE1BQWM7UUFDdkIsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRixDQUFDOytHQTVGUSxhQUFhO21IQUFiLGFBQWEsY0FGVixNQUFNOzs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTY1Byb2R1Y3QgfSBmcm9tICcuLi9jYXRhbG9nL2R0byc7XG5pbXBvcnQgeyBTY0ltYWdlIH0gZnJvbSAnLi4vY29tbW9uL2NsYXNzZXMvc2MtaW1hZ2UnO1xuaW1wb3J0IHsgU2NJSW1hZ2UgfSBmcm9tICcuLi9jb21tb24vaW50ZXJmYWNlcy9zYy1pLWltYWdlJztcbmltcG9ydCB7IFNjTWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZSB9IGZyb20gJy4uL3BpcGVzL3NjLW1lZGlhLWltYWdlLXRyYW5zZm9ybWVyLnBpcGUnO1xuXG4vKipcbiAqINCa0LvQsNGB0YEg0YEg0LLRgdC/0L7QvNC+0LPQsNGC0LXQu9GM0L3Ri9C80Lgg0LzQtdGC0L7QtNCw0LzQuCDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC40LfQvtCx0YDQsNC20LXQvdC40Y/QvNC4LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY0ltYWdlSGVscGVyIHtcbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC90LAg0YDQsNC30LTQtdC70YsgYmFja2VuZCdhLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZTogU2NNZWRpYUltYWdlVHJhbnNmb3JtZXJQaXBlID0gaW5qZWN0KFNjTWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZSk7XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQuNC30L7QsdGA0LDQttC10L3QuNC1INGC0L7QstCw0YDQsCDQv9C+INC40L3QtNC10LrRgdGDLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0J/QvtC30LjRhtC40Y8g0YLQvtCy0LDRgNCwL9GD0YHQu9GD0LPQuC5cbiAgICAgKiBAcGFyYW0gaW1nSW5kZXgg0JjQvdC00LXQutGBINC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LIg0LzQsNGB0YHQuNCy0LUuXG4gICAgICogQHJldHVybnMg0JLQvtC30LLRgNCw0YnQsNC10YIg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDRgtC+0LLQsNGA0LAg0L/QviDQuNC90LTQtdC60YHRgy4g0JLQvtC30LLRgNCw0YnQsNC10YIg0L/Rg9GC0Lgg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPICfQotC+0LLQsNGAINC90LUg0L3QsNC50LTQtdC9JyB7QGxpbmsgcGF0aEltYWdlTm90Rm91bmR9INC10YHQu9C4INC40LfQvtCx0YDQsNC20LXQvdC40Y8g0L/QviDQuNC90LTQtdC60YHRgyDQvdC1INC90LDQudC00LXQvdC+LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJbWFnZShwcm9kdWN0OiBTY1Byb2R1Y3QsIGltZ0luZGV4OiBudW1iZXIgPSAwKTogU2NJSW1hZ2Uge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaW1hZ2U6IHRoaXMubWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZS50cmFuc2Zvcm0ocHJvZHVjdC5nZXRJbWFnZShpbWdJbmRleCksIHRydWUpLFxuICAgICAgICAgICAgYWx0OiBg0JjQt9C+0LHRgNCw0LbQtdC90LjQtSDRgtC+0LLQsNGA0LAgJHtwcm9kdWN0Lm5hbWV9IOKEliR7aW1nSW5kZXggKyAxfWAsXG4gICAgICAgICAgICBpbWFnZVdlYnA6IHRoaXMubWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZS50cmFuc2Zvcm0ocHJvZHVjdC5nZXRJbWFnZVdlYnAoaW1nSW5kZXgpLCBmYWxzZSksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L/RgNC10LLRjNGOLdC40LfQvtCx0YDQsNC20LXQvdC40LUg0YLQvtCy0LDRgNCwINC/0L4g0LjQvdC00LXQutGB0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQn9C+0LfQuNGG0LjRjyDRgtC+0LLQsNGA0LAv0YPRgdC70YPQs9C4LlxuICAgICAqIEBwYXJhbSBwcmV2aWV3SW5kZXgg0JjQvdC00LXQutGBINC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNGPINCyINC80LDRgdGB0LjQstC1LlxuICAgICAqIEByZXR1cm5zINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNC1INGC0L7QstCw0YDQsCDQv9C+INC40L3QtNC10LrRgdGDLiDQktC+0LfQstGA0LDRidCw0LXRgiDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0LXRgdC70Lgg0L/RgNC10LLRjNGOLdC40LfQvtCx0YDQsNC20LXQvdC40Y8g0L/QviDQuNC90LTQtdC60YHRgyDQvdC1INC90LDQudC00LXQvdC+LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJbWFnZVByZXZpZXcocHJvZHVjdDogU2NQcm9kdWN0LCBwcmV2aWV3SW5kZXg6IG51bWJlciA9IDApOiBTY0lJbWFnZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpbWFnZTogdGhpcy5tZWRpYUltYWdlVHJhbnNmb3JtZXJQaXBlLnRyYW5zZm9ybShwcm9kdWN0LmdldEltYWdlUHJldmlldyhwcmV2aWV3SW5kZXgpID8/IHByb2R1Y3QuZ2V0SW1hZ2UocHJldmlld0luZGV4KSwgdHJ1ZSksXG4gICAgICAgICAgICBhbHQ6IGDQmNC30L7QsdGA0LDQttC10L3QuNC1INC/0YDQtdC00LLQsNGA0LjRgtC10LvRjNC90L7Qs9C+INC/0YDQvtGB0LzQvtGC0YDQsCDRgtC+0LLQsNGA0LAgJHtwcm9kdWN0Lm5hbWV9IOKEliR7cHJldmlld0luZGV4ICsgMX1gLFxuICAgICAgICAgICAgaW1hZ2VXZWJwOiB0aGlzLm1lZGlhSW1hZ2VUcmFuc2Zvcm1lclBpcGUudHJhbnNmb3JtKHByb2R1Y3QuZ2V0SW1hZ2VQcmV2aWV3V2VicChwcmV2aWV3SW5kZXgpID8/IHByb2R1Y3QuZ2V0SW1hZ2VXZWJwKHByZXZpZXdJbmRleCksIGZhbHNlKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQvNCw0YHRgdC40LIg0LjQt9C+0LHRgNCw0LbQtdC90LjQuSDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQn9C+0LfQuNGG0LjRjyDRgtC+0LLQsNGA0LAv0YPRgdC70YPQs9C4LlxuICAgICAqIEBwYXJhbSB1c2VEZWZhdWx0SW1hZ2Ug0J/RgNC40LfQvdCw0Log0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQv9GA0Lgg0L7RgtGB0YPRgtGB0YLQstC40Lgg0LjQt9C+0LHRgNCw0LbQtdC90LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UHJvZHVjdEltYWdlTGlzdChwcm9kdWN0OiBTY1Byb2R1Y3QsIHVzZURlZmF1bHRJbWFnZTogdHJ1ZSk6IFNjSUltYWdlW107XG5cbiAgICBwdWJsaWMgZ2V0UHJvZHVjdEltYWdlTGlzdChwcm9kdWN0OiBTY1Byb2R1Y3QsIHVzZURlZmF1bHRJbWFnZT86IGZhbHNlKTogU2NJSW1hZ2VbXSB8IHVuZGVmaW5lZDtcblxuICAgIHB1YmxpYyBnZXRQcm9kdWN0SW1hZ2VMaXN0KHByb2R1Y3Q6IFNjUHJvZHVjdCwgdXNlRGVmYXVsdEltYWdlPzogYm9vbGVhbik6IFNjSUltYWdlW10gfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBpbWFnZXMgPSBwcm9kdWN0LmltYWdlcz8uZmlsdGVyKChpbWFnZSkgPT4gaW1hZ2UuaW1hZ2UpLm1hcCgoXywgaW5kZXgpID0+IHRoaXMuZ2V0SW1hZ2UocHJvZHVjdCwgaW5kZXgpKTtcblxuICAgICAgICBpZiAoaW1hZ2VzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBpbWFnZXM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodXNlRGVmYXVsdEltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gW25ldyBTY0ltYWdlKHRoaXMubWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZS50cmFuc2Zvcm0odW5kZWZpbmVkLCB0cnVlKSwgYNCY0LfQvtCx0YDQsNC20LXQvdC40LUg0YLQvtCy0LDRgNCwICR7cHJvZHVjdC5uYW1lfSDQvdC1INC90LDQudC00LXQvdC+YCldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQvNCw0YHRgdC40LIg0L/RgNC10LLRjNGOLdC40LfQvtCx0YDQsNC20LXQvdC40Lkg0YLQvtCy0LDRgNCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0JTQsNC90L3Ri9C1INC+INGC0L7QstCw0YDQtS/Rg9GB0LvRg9Cz0LUuXG4gICAgICogQHBhcmFtIHVzZURlZmF1bHRJbWFnZSDQn9GA0LjQt9C90LDQuiDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDQuNC30L7QsdGA0LDQttC10L3QuNGPINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINC/0YDQuCDQvtGC0YHRg9GC0YHRgtCy0LjQuCDQuNC30L7QsdGA0LDQttC10L3QuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0SW1hZ2VQcmV2aWV3TGlzdChwcm9kdWN0OiBTY1Byb2R1Y3QsIHVzZURlZmF1bHRJbWFnZTogdHJ1ZSk6IFNjSUltYWdlW107XG5cbiAgICBwdWJsaWMgZ2V0UHJvZHVjdEltYWdlUHJldmlld0xpc3QocHJvZHVjdDogU2NQcm9kdWN0LCB1c2VEZWZhdWx0SW1hZ2U/OiBmYWxzZSk6IFNjSUltYWdlW10gfCB1bmRlZmluZWQ7XG5cbiAgICBwdWJsaWMgZ2V0UHJvZHVjdEltYWdlUHJldmlld0xpc3QocHJvZHVjdDogU2NQcm9kdWN0LCB1c2VEZWZhdWx0SW1hZ2U/OiBib29sZWFuKTogU2NJSW1hZ2VbXSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGltYWdlcyA9IHByb2R1Y3QuaW1hZ2VzPy5maWx0ZXIoKGltYWdlKSA9PiBpbWFnZS5wcmV2aWV3KS5tYXAoKF8sIGluZGV4KSA9PiB0aGlzLmdldEltYWdlUHJldmlldyhwcm9kdWN0LCBpbmRleCkpO1xuXG4gICAgICAgIGlmIChpbWFnZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGltYWdlcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1c2VEZWZhdWx0SW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBbbmV3IFNjSW1hZ2UodGhpcy5tZWRpYUltYWdlVHJhbnNmb3JtZXJQaXBlLnRyYW5zZm9ybSh1bmRlZmluZWQsIHRydWUpLCBg0JjQt9C+0LHRgNCw0LbQtdC90LjQtSDQv9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdC+0LPQviDQv9GA0L7RgdC80L7RgtGA0LAg0YLQvtCy0LDRgNCwICR7cHJvZHVjdC5uYW1lfSDQvdC1INC90LDQudC00LXQvdC+YCldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0YfRgtC+INGE0LDQudC7INGP0LLQu9GP0LXRgtGB0Y8g0LjQt9C+0LHRgNCw0LbQtdC90LjQtdC8LlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcm1hdCDQpNC+0YDQvNCw0YIg0YTQsNC50LvQsC5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2xhc3MtbWV0aG9kcy11c2UtdGhpc1xuICAgIHB1YmxpYyBpc0ltZyhmb3JtYXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gWydqcGVnJywgJ2pwZycsICdwbmcnLCAnZ2lmJywgJ2JtcCcsICd0aWZmJywgJ3dlYnAnXS5pbmNsdWRlcyhmb3JtYXQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3cy10aWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9uZXdzL2NsYXNzZXMvc2MtbmV3cy10aWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCc0L7QtNC10LvRjCDQtNCw0L3QvdGL0YUg0LrRgNCw0YLQutC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0L3QvtCy0L7RgdGC0LguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NOZXdzVGlsZSB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCX0LDQs9C+0LvQvtCy0L7QuiDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICBzdWJqZWN0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0YLQsCDQuCDQstGA0LXQvNGPINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3cy10aWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9uZXdzL2NsYXNzZXMvc2MtbmV3cy10aWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCc0L7QtNC10LvRjCDQtNCw0L3QvdGL0YUg0LrRgNCw0YLQutC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0L3QvtCy0L7RgdGC0LguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NOZXdzVGlsZSB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCX0LDQs9C+0LvQvtCy0L7QuiDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICBzdWJqZWN0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0L3QvtCy0L7RgdGC0Lgg0LIg0YTQvtGA0LzQsNGC0LUgV2ViUC5cbiAgICAgKi9cbiAgICBpbWFnZVdlYnA/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0YLQsCDQuCDQstGA0LXQvNGPINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG4iXX0=
@@ -13,8 +13,9 @@ export class ScNews extends ScSeoResource {
13
13
  this.id = newsDTO.id;
14
14
  this.subject = newsDTO.subject;
15
15
  this.image = newsDTO.image;
16
+ this.imageWebp = newsDTO.imageWebp;
16
17
  this.createdAt = newsDTO.createdAt;
17
18
  this.text = newsDTO.text;
18
19
  }
19
20
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvbmV3cy9jbGFzc2VzL3NjLW5ld3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR2xFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLE1BQU8sU0FBUSxhQUFhO0lBcUJyQzs7OztPQUlHO0lBQ0gsWUFBbUIsT0FBbUI7UUFDbEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY1Nlb1Jlc291cmNlIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9kdG8vc2Mtc2VvLXJlc291cmNlJztcbmltcG9ydCB7IFNjSU5ld3NEVE8gfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLW5ld3MtZHRvJztcblxuLyoqXG4gKiDQnNC+0LTQtdC70Ywg0LTQsNC90L3Ri9GFINC90L7QstC+0YHRgtC4LlxuICovXG5leHBvcnQgY2xhc3MgU2NOZXdzIGV4dGVuZHMgU2NTZW9SZXNvdXJjZSB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgcHVibGljIGlkOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0LPQvtC70L7QstC+0Log0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgcHVibGljIHN1YmplY3Q6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCU0LDRgtCwINC4INCy0YDQtdC80Y8g0YHQvtC30LTQsNC90LjRjyDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3JlYXRlZEF0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGC0YDQvtC60LAgSFRNTCDRgSDRgdC+0LTQtdGA0LbQuNC80YvQvCDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgdGV4dDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0NhdGVnb3J5fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdzRFRPINCU0LDQvdC90YvQtSDQtNC70Y8g0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKG5ld3NEVE86IFNjSU5ld3NEVE8pIHtcbiAgICAgICAgc3VwZXIobmV3c0RUTyk7XG5cbiAgICAgICAgdGhpcy5pZCA9IG5ld3NEVE8uaWQ7XG4gICAgICAgIHRoaXMuc3ViamVjdCA9IG5ld3NEVE8uc3ViamVjdDtcbiAgICAgICAgdGhpcy5pbWFnZSA9IG5ld3NEVE8uaW1hZ2U7XG4gICAgICAgIHRoaXMuY3JlYXRlZEF0ID0gbmV3c0RUTy5jcmVhdGVkQXQ7XG4gICAgICAgIHRoaXMudGV4dCA9IG5ld3NEVE8udGV4dDtcbiAgICB9XG59XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvbmV3cy9jbGFzc2VzL3NjLW5ld3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR2xFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLE1BQU8sU0FBUSxhQUFhO0lBMEJyQzs7OztPQUlHO0lBQ0gsWUFBbUIsT0FBbUI7UUFDbEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NTZW9SZXNvdXJjZSB9IGZyb20gJy4uLy4uL2NhdGFsb2cvZHRvL3NjLXNlby1yZXNvdXJjZSc7XG5pbXBvcnQgeyBTY0lOZXdzRFRPIH0gZnJvbSAnLi4vaW50ZXJuYWwvc2MtaS1uZXdzLWR0byc7XG5cbi8qKlxuICog0JzQvtC00LXQu9GMINC00LDQvdC90YvRhSDQvdC+0LLQvtGB0YLQuC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNjTmV3cyBleHRlbmRzIFNjU2VvUmVzb3VyY2Uge1xuICAgIC8qKlxuICAgICAqINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC90L7QstC+0YHRgtC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBpZDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0JfQsNCz0L7Qu9C+0LLQvtC6INC90L7QstC+0YHRgtC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdWJqZWN0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0YLQsCDQuCDQstGA0LXQvNGPINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZWRBdDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0KHRgtGA0L7QutCwIEhUTUwg0YEg0YHQvtC00LXRgNC20LjQvNGL0Lwg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgcHVibGljIHRleHQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwINC+0YHQvdC+0LLQvdC+0LUg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDQvdC+0LLQvtGB0YLQuCDQsiDRhNC+0YDQvNCw0YLQtSBXZWJQLlxuICAgICAqL1xuICAgIHB1YmxpYyBpbWFnZVdlYnA/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjQ2F0ZWdvcnl9LlxuICAgICAqXG4gICAgICogQHBhcmFtIG5ld3NEVE8g0JTQsNC90L3Ri9C1INC00LvRjyDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IobmV3c0RUTzogU2NJTmV3c0RUTykge1xuICAgICAgICBzdXBlcihuZXdzRFRPKTtcblxuICAgICAgICB0aGlzLmlkID0gbmV3c0RUTy5pZDtcbiAgICAgICAgdGhpcy5zdWJqZWN0ID0gbmV3c0RUTy5zdWJqZWN0O1xuICAgICAgICB0aGlzLmltYWdlID0gbmV3c0RUTy5pbWFnZTtcbiAgICAgICAgdGhpcy5pbWFnZVdlYnAgPSBuZXdzRFRPLmltYWdlV2VicDtcbiAgICAgICAgdGhpcy5jcmVhdGVkQXQgPSBuZXdzRFRPLmNyZWF0ZWRBdDtcbiAgICAgICAgdGhpcy50ZXh0ID0gbmV3c0RUTy50ZXh0O1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1uZXdzLWR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvbmV3cy9pbnRlcm5hbC9zYy1pLW5ld3MtZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY0lTZW9SZXNvdXJjZURUTyB9IGZyb20gJy4uLy4uL2NhdGFsb2cvaW50ZXJuYWwvc2MtaS1zZW8tcmVzb3VyY2UtZHRvJztcblxuLyoqXG4gKiDQnNC+0LTQtdC70Ywg0LTQsNC90L3Ri9GFINC90L7QstC+0YHRgtC4LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSU5ld3NEVE8gZXh0ZW5kcyBTY0lTZW9SZXNvdXJjZURUTyB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCX0LDQs9C+0LvQvtCy0L7QuiDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICBzdWJqZWN0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0YLQsCDQuCDQstGA0LXQvNGPINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGC0YDQvtC60LAgSFRNTCDRgSDRgdC+0LTQtdGA0LbQuNC80YvQvCDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICB0ZXh0OiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1uZXdzLWR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvbmV3cy9pbnRlcm5hbC9zYy1pLW5ld3MtZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY0lTZW9SZXNvdXJjZURUTyB9IGZyb20gJy4uLy4uL2NhdGFsb2cvaW50ZXJuYWwvc2MtaS1zZW8tcmVzb3VyY2UtZHRvJztcblxuLyoqXG4gKiDQnNC+0LTQtdC70Ywg0LTQsNC90L3Ri9GFINC90L7QstC+0YHRgtC4LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSU5ld3NEVE8gZXh0ZW5kcyBTY0lTZW9SZXNvdXJjZURUTyB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCX0LDQs9C+0LvQvtCy0L7QuiDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICBzdWJqZWN0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0L3QvtCy0L7RgdGC0Lgg0LIg0YTQvtGA0LzQsNGC0LUgV2ViUC5cbiAgICAgKi9cbiAgICBpbWFnZVdlYnA/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0YLQsCDQuCDQstGA0LXQvNGPINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7RgdGC0LguXG4gICAgICovXG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodGC0YDQvtC60LAgSFRNTCDRgSDRgdC+0LTQtdGA0LbQuNC80YvQvCDQvdC+0LLQvtGB0YLQuC5cbiAgICAgKi9cbiAgICB0ZXh0OiBzdHJpbmc7XG59XG4iXX0=
@@ -1,2 +1,3 @@
1
1
  export * from './sc-id-or-slug.pipe';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLWlkLW9yLXNsdWcucGlwZSc7XG4iXX0=
2
+ export * from './sc-media-image-transformer.pipe';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2MtaWQtb3Itc2x1Zy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtbWVkaWEtaW1hZ2UtdHJhbnNmb3JtZXIucGlwZSc7XG4iXX0=
@@ -0,0 +1,34 @@
1
+ import { inject, Pipe } from '@angular/core';
2
+ import { SC_PATH_IMAGE_NOT_FOUND, SC_URLS } from '../tokens';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Пайп для формирования полного URI изображения на media сервере.
6
+ */
7
+ export class ScMediaImageTransformerPipe {
8
+ constructor() {
9
+ /**
10
+ * Список ссылок на разделы backend'a.
11
+ */
12
+ this.urls = inject(SC_URLS);
13
+ /**
14
+ * Путь до изображения 'Товар не найден'.
15
+ */
16
+ this.pathImageNotFound = inject(SC_PATH_IMAGE_NOT_FOUND);
17
+ }
18
+ transform(image, useDefaultImage) {
19
+ if (!image) {
20
+ return useDefaultImage ? this.pathImageNotFound : undefined;
21
+ }
22
+ return image.startsWith('/') ? this.urls.imgServerUrl + image : `${this.urls.imgServerUrl}/${image}`;
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScMediaImageTransformerPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
25
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: ScMediaImageTransformerPipe, isStandalone: true, name: "scMediaImageTransformer" }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScMediaImageTransformerPipe, decorators: [{
28
+ type: Pipe,
29
+ args: [{
30
+ name: 'scMediaImageTransformer',
31
+ standalone: true,
32
+ }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbWVkaWEtaW1hZ2UtdHJhbnNmb3JtZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvcGlwZXMvc2MtbWVkaWEtaW1hZ2UtdHJhbnNmb3JtZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFN0Q7O0dBRUc7QUFLSCxNQUFNLE9BQU8sMkJBQTJCO0lBSnhDO1FBS0k7O1dBRUc7UUFDYyxTQUFJLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpEOztXQUVHO1FBQ2Msc0JBQWlCLEdBQVcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FvQmhGO0lBUEcsU0FBUyxDQUFDLEtBQWdDLEVBQUUsZUFBeUI7UUFDakUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2hFLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUN6RyxDQUFDOytHQTVCUSwyQkFBMkI7NkdBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFKdkMsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUseUJBQXlCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2NJVXJscyB9IGZyb20gJy4uL2NvbmZpZy9zYy1pLXVybHMnO1xuaW1wb3J0IHsgU0NfUEFUSF9JTUFHRV9OT1RfRk9VTkQsIFNDX1VSTFMgfSBmcm9tICcuLi90b2tlbnMnO1xuXG4vKipcbiAqINCf0LDQudC/INC00LvRjyDRhNC+0YDQvNC40YDQvtCy0LDQvdC40Y8g0L/QvtC70L3QvtCz0L4gVVJJINC40LfQvtCx0YDQsNC20LXQvdC40Y8g0L3QsCBtZWRpYSDRgdC10YDQstC10YDQtS5cbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdzY01lZGlhSW1hZ2VUcmFuc2Zvcm1lcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2NNZWRpYUltYWdlVHJhbnNmb3JtZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGA0LDQt9C00LXQu9GLIGJhY2tlbmQnYS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybHM6IFNjSVVybHMgPSBpbmplY3QoU0NfVVJMUyk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GD0YLRjCDQtNC+INC40LfQvtCx0YDQsNC20LXQvdC40Y8gJ9Ci0L7QstCw0YAg0L3QtSDQvdCw0LnQtNC10L0nLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF0aEltYWdlTm90Rm91bmQ6IHN0cmluZyA9IGluamVjdChTQ19QQVRIX0lNQUdFX05PVF9GT1VORCk7XG5cbiAgICAvKipcbiAgICAgKiDQpNC+0YDQvNC40YDRg9C10YIg0L/QvtC70L3Ri9C5IFVSSSDQuNC30L7QsdGA0LDQttC10L3QuNGPINC90LAgbWVkaWEg0YHQtdGA0LLQtdGA0LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW1hZ2Ug0J/Rg9GC0Ywg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPLlxuICAgICAqIEBwYXJhbSB1c2VEZWZhdWx0SW1hZ2Ug0J/RgNC40LfQvdCw0Log0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQv9GA0Lgg0L7RgtGB0YPRgtGB0YLQstC40Lgg0LjQt9C+0LHRgNCw0LbQtdC90LjRjy5cbiAgICAgKiBAcmV0dXJucyDQn9C+0LvQvdGL0LkgVVJJINC00L4g0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQuNC70Lgg0L/Rg9GC0Ywg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPICfQotC+0LLQsNGAINC90LUg0L3QsNC50LTQtdC9JyDQtdGB0LvQuCDQuNC30L7QsdGA0LDQttC10L3QuNC1INC+0YLRgdGD0YLRgdGC0LLRg9C10YIg0LggdXNlRGVmYXVsdEltYWdlID0gdHJ1ZS5cbiAgICAgKi9cbiAgICB0cmFuc2Zvcm0oaW1hZ2U6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwsIHVzZURlZmF1bHRJbWFnZTogdHJ1ZSk6IHN0cmluZztcblxuICAgIHRyYW5zZm9ybShpbWFnZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCwgdXNlRGVmYXVsdEltYWdlPzogZmFsc2UpOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICB0cmFuc2Zvcm0oaW1hZ2U6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwsIHVzZURlZmF1bHRJbWFnZT86IGJvb2xlYW4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoIWltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gdXNlRGVmYXVsdEltYWdlID8gdGhpcy5wYXRoSW1hZ2VOb3RGb3VuZCA6IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpbWFnZS5zdGFydHNXaXRoKCcvJykgPyB0aGlzLnVybHMuaW1nU2VydmVyVXJsICsgaW1hZ2UgOiBgJHt0aGlzLnVybHMuaW1nU2VydmVyVXJsfS8ke2ltYWdlfWA7XG4gICAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
1
  /*
2
2
  * Публичное API библиотеки бизнес-логики.
3
3
  */
4
+ export * from './common';
4
5
  export * from './auth';
5
6
  export * from './banners';
6
7
  export * from './cart';
@@ -40,4 +41,4 @@ export * from './vacancies';
40
41
  export * from './vCard';
41
42
  export * from './verification';
42
43
  export * from './warehouse';
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsTUFBTSxDQUFDO0FBQ3JCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqINCf0YPQsdC70LjRh9C90L7QtSBBUEkg0LHQuNCx0LvQuNC+0YLQtdC60Lgg0LHQuNC30L3QtdGBLdC70L7Qs9C40LrQuC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2F1dGgnO1xuZXhwb3J0ICogZnJvbSAnLi9iYW5uZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY2FydCc7XG5leHBvcnQgKiBmcm9tICcuL2NhdGFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9jb250YWN0cyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRyYWdlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb252ZXJ0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVsaXZlcnktYWRkcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9ndWFyZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cEludGVyY2VwdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xvY2F0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL25ld3MnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vdXRtJztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVzdGlvbm5haXJlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjbGFtYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWZlcmVuY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtanNvbi1sZCc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaCc7XG5leHBvcnQgKiBmcm9tICcuL3N1Z2dlc3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL3VpJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItbWV0cmlrYSc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3Bob25lLWZvdG1hdHRlcic7XG5leHBvcnQgKiBmcm9tICcuL3ZhY2FuY2llcyc7XG5leHBvcnQgKiBmcm9tICcuL3ZDYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vdmVyaWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vd2FyZWhvdXNlJztcbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsTUFBTSxDQUFDO0FBQ3JCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqINCf0YPQsdC70LjRh9C90L7QtSBBUEkg0LHQuNCx0LvQuNC+0YLQtdC60Lgg0LHQuNC30L3QtdGBLdC70L7Qs9C40LrQuC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgnO1xuZXhwb3J0ICogZnJvbSAnLi9iYW5uZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY2FydCc7XG5leHBvcnQgKiBmcm9tICcuL2NhdGFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9jb250YWN0cyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRyYWdlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb252ZXJ0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVsaXZlcnktYWRkcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9ndWFyZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cEludGVyY2VwdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xvY2F0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL25ld3MnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vdXRtJztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVzdGlvbm5haXJlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjbGFtYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWZlcmVuY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtanNvbi1sZCc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaCc7XG5leHBvcnQgKiBmcm9tICcuL3N1Z2dlc3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL3VpJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItbWV0cmlrYSc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3Bob25lLWZvdG1hdHRlcic7XG5leHBvcnQgKiBmcm9tICcuL3ZhY2FuY2llcyc7XG5leHBvcnQgKiBmcm9tICcuL3ZDYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vdmVyaWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vd2FyZWhvdXNlJztcbiJdfQ==
@@ -19,6 +19,24 @@ import { format, parse } from 'date-fns';
19
19
  import * as i1$2 from '@angular/platform-browser';
20
20
  import { Meta, Title } from '@angular/platform-browser';
21
21
 
22
+ /**
23
+ * Базовый класс для изображений.
24
+ */
25
+ class ScImage {
26
+ /**
27
+ * Инициализирует экземпляр класса {@link ScImage}.
28
+ *
29
+ * @param image Изображение.
30
+ * @param alt Альтернативный текст.
31
+ * @param imageWebp Изображение в формате WebP.
32
+ */
33
+ constructor(image, alt, imageWebp) {
34
+ this.image = image;
35
+ this.imageWebp = imageWebp;
36
+ this.alt = alt;
37
+ }
38
+ }
39
+
22
40
  /**
23
41
  * Токен, указывающий ключ токена доступа пользователя к API в {@link Storage}.
24
42
  */
@@ -845,6 +863,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
845
863
  args: [SC_API_KEYS]
846
864
  }] }, { type: ScTokenService }, { type: ScUserMetrikaService }] });
847
865
 
866
+ /**
867
+ * Данные баннера.
868
+ */
869
+ class ScBanner {
870
+ /**
871
+ * Инициализирует экземпляр класса {@link ScBanner}.
872
+ *
873
+ * @param bannerDTO Данные для инициализации.
874
+ */
875
+ constructor(bannerDTO) {
876
+ this.id = bannerDTO.id;
877
+ this.location = bannerDTO.location;
878
+ this.mediaType = bannerDTO.mediaType;
879
+ this.mediaFile = bannerDTO.mediaFile;
880
+ this.mediaFileWebp = bannerDTO.mediaFileWebp;
881
+ this.title = bannerDTO.title;
882
+ this.url = bannerDTO.url;
883
+ this.width = bannerDTO.width;
884
+ this.height = bannerDTO.height;
885
+ }
886
+ /**
887
+ * Возвращает признак того, что баннер является изображением.
888
+ */
889
+ get isImage() {
890
+ return this.mediaType === 'image';
891
+ }
892
+ /**
893
+ * Возвращает признак того, что баннер является видео.
894
+ */
895
+ get isVideo() {
896
+ return this.mediaType === 'video';
897
+ }
898
+ }
899
+
848
900
  /**
849
901
  * Сервис для работы с баннерами.
850
902
  */
@@ -863,13 +915,7 @@ class ScBannerService {
863
915
  /**
864
916
  * Список баннеров.
865
917
  */
866
- this.banners$ = this.authService.getAuthChange().pipe(switchMap(() => this.http.get(`${this.urls.apiUrl}/banners`)), tap((banners) => {
867
- // eslint-disable-next-line no-param-reassign
868
- banners.forEach((banner) => {
869
- // eslint-disable-next-line no-param-reassign
870
- banner.mediaFile = this.urls.imgServerUrl + banner.mediaFile;
871
- });
872
- }), shareReplay(1));
918
+ this.banners$ = this.authService.getAuthChange().pipe(switchMap(() => this.http.get(`${this.urls.apiUrl}/banners`)), map((banners) => banners.map((banner) => new ScBanner(banner))), shareReplay(1));
873
919
  }
874
920
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScBannerService, deps: [{ token: i1$1.HttpClient }, { token: SC_URLS }, { token: ScAuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
875
921
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScBannerService, providedIn: 'root' }); }
@@ -1214,6 +1260,14 @@ class ScProduct extends ScSeoResource {
1214
1260
  getImage(imgIndex = 0) {
1215
1261
  return this.images?.[`${imgIndex}`].image;
1216
1262
  }
1263
+ /**
1264
+ * Возвращает основное изображение товара в формате WebP. Если WebP изображения нет, то возвращает undefined.
1265
+ *
1266
+ * @param imgIndex Индекс изображения в массиве.
1267
+ */
1268
+ getImageWebp(imgIndex = 0) {
1269
+ return this.images?.[`${imgIndex}`].imageWebp;
1270
+ }
1217
1271
  /**
1218
1272
  * Возвращает первое превью-изображение товара. Если превью-изображений нет, то возвращает undefined.
1219
1273
  *
@@ -1222,6 +1276,14 @@ class ScProduct extends ScSeoResource {
1222
1276
  getImagePreview(imgIndex = 0) {
1223
1277
  return this.images?.[`${imgIndex}`].preview;
1224
1278
  }
1279
+ /**
1280
+ * Возвращает превью-изображение товара в формате WebP. Если WebP превью нет, то возвращает undefined.
1281
+ *
1282
+ * @param imgIndex Индекс превью-изображения в массиве.
1283
+ */
1284
+ getImagePreviewWebp(imgIndex = 0) {
1285
+ return this.images?.[`${imgIndex}`].previewWebp;
1286
+ }
1225
1287
  /**
1226
1288
  * Возвращает количество товара на складе (остаток).
1227
1289
  *
@@ -4692,9 +4754,9 @@ const ScIdOrSlugGuard = (route) => {
4692
4754
  };
4693
4755
 
4694
4756
  /**
4695
- * Класс с вспомогательными методами для работы с изображениями.
4757
+ * Пайп для формирования полного URI изображения на media сервере.
4696
4758
  */
4697
- class ScImageHelper {
4759
+ class ScMediaImageTransformerPipe {
4698
4760
  constructor() {
4699
4761
  /**
4700
4762
  * Список ссылок на разделы backend'a.
@@ -4705,6 +4767,33 @@ class ScImageHelper {
4705
4767
  */
4706
4768
  this.pathImageNotFound = inject(SC_PATH_IMAGE_NOT_FOUND);
4707
4769
  }
4770
+ transform(image, useDefaultImage) {
4771
+ if (!image) {
4772
+ return useDefaultImage ? this.pathImageNotFound : undefined;
4773
+ }
4774
+ return image.startsWith('/') ? this.urls.imgServerUrl + image : `${this.urls.imgServerUrl}/${image}`;
4775
+ }
4776
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScMediaImageTransformerPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4777
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: ScMediaImageTransformerPipe, isStandalone: true, name: "scMediaImageTransformer" }); }
4778
+ }
4779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScMediaImageTransformerPipe, decorators: [{
4780
+ type: Pipe,
4781
+ args: [{
4782
+ name: 'scMediaImageTransformer',
4783
+ standalone: true,
4784
+ }]
4785
+ }] });
4786
+
4787
+ /**
4788
+ * Класс с вспомогательными методами для работы с изображениями.
4789
+ */
4790
+ class ScImageHelper {
4791
+ constructor() {
4792
+ /**
4793
+ * Список ссылок на разделы backend'a.
4794
+ */
4795
+ this.mediaImageTransformerPipe = inject(ScMediaImageTransformerPipe);
4796
+ }
4708
4797
  /**
4709
4798
  * Возвращает изображение товара по индексу.
4710
4799
  *
@@ -4713,11 +4802,11 @@ class ScImageHelper {
4713
4802
  * @returns Возвращает изображение товара по индексу. Возвращает пути до изображения 'Товар не найден' {@link pathImageNotFound} если изображения по индексу не найдено.
4714
4803
  */
4715
4804
  getImage(product, imgIndex = 0) {
4716
- const image = product.getImage(imgIndex);
4717
- if (!image) {
4718
- return this.pathImageNotFound;
4719
- }
4720
- return this.getMediaImageURI(image);
4805
+ return {
4806
+ image: this.mediaImageTransformerPipe.transform(product.getImage(imgIndex), true),
4807
+ alt: `Изображение товара ${product.name} №${imgIndex + 1}`,
4808
+ imageWebp: this.mediaImageTransformerPipe.transform(product.getImageWebp(imgIndex), false),
4809
+ };
4721
4810
  }
4722
4811
  /**
4723
4812
  * Возвращает превью-изображение товара по индексу.
@@ -4727,37 +4816,31 @@ class ScImageHelper {
4727
4816
  * @returns Возвращает превью-изображение товара по индексу. Возвращает основное изображение если превью-изображения по индексу не найдено.
4728
4817
  */
4729
4818
  getImagePreview(product, previewIndex = 0) {
4730
- const image = product.getImagePreview(previewIndex);
4731
- if (!image) {
4732
- return this.getImage(product, previewIndex);
4733
- }
4734
- return this.getMediaImageURI(image);
4735
- }
4736
- /**
4737
- * Формирует полный URI изображения на media сервере.
4738
- *
4739
- * @param image Путь до изображения.
4740
- * @returns Полный URI до изображения.
4741
- */
4742
- getMediaImageURI(image) {
4743
- return image.startsWith('/') ? this.urls.imgServerUrl + image : `${this.urls.imgServerUrl}/${image}`;
4819
+ return {
4820
+ image: this.mediaImageTransformerPipe.transform(product.getImagePreview(previewIndex) ?? product.getImage(previewIndex), true),
4821
+ alt: `Изображение предварительного просмотра товара ${product.name} №${previewIndex + 1}`,
4822
+ imageWebp: this.mediaImageTransformerPipe.transform(product.getImagePreviewWebp(previewIndex) ?? product.getImageWebp(previewIndex), false),
4823
+ };
4744
4824
  }
4745
- /**
4746
- * Возвращает массив изображений товара.
4747
- *
4748
- * @param product Позиция товара/услуги.
4749
- */
4750
- getProductImageList(product) {
4825
+ getProductImageList(product, useDefaultImage) {
4751
4826
  const images = product.images?.filter((image) => image.image).map((_, index) => this.getImage(product, index));
4752
- return images?.length ? images : undefined;
4827
+ if (images?.length) {
4828
+ return images;
4829
+ }
4830
+ if (useDefaultImage) {
4831
+ return [new ScImage(this.mediaImageTransformerPipe.transform(undefined, true), `Изображение товара ${product.name} не найдено`)];
4832
+ }
4833
+ return undefined;
4753
4834
  }
4754
- /**
4755
- * Возвращает массив превью-изображений товара.
4756
- *
4757
- * @param product Данные о товаре/услуге.
4758
- */
4759
- getProductImagePreviewList(product) {
4760
- return product.images?.filter((image) => image.preview).map((_, index) => this.getImagePreview(product, index)) ?? [];
4835
+ getProductImagePreviewList(product, useDefaultImage) {
4836
+ const images = product.images?.filter((image) => image.preview).map((_, index) => this.getImagePreview(product, index));
4837
+ if (images?.length) {
4838
+ return images;
4839
+ }
4840
+ if (useDefaultImage) {
4841
+ return [new ScImage(this.mediaImageTransformerPipe.transform(undefined, true), `Изображение предварительного просмотра товара ${product.name} не найдено`)];
4842
+ }
4843
+ return undefined;
4761
4844
  }
4762
4845
  /**
4763
4846
  * Возвращает признак того, что файл является изображением.
@@ -4766,7 +4849,7 @@ class ScImageHelper {
4766
4849
  */
4767
4850
  // eslint-disable-next-line class-methods-use-this
4768
4851
  isImg(format) {
4769
- return ['jpeg', 'jpg', 'png', 'gif', 'bmp', 'tiff'].includes(format);
4852
+ return ['jpeg', 'jpg', 'png', 'gif', 'bmp', 'tiff', 'webp'].includes(format);
4770
4853
  }
4771
4854
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScImageHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4772
4855
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScImageHelper, providedIn: 'root' }); }
@@ -5424,6 +5507,7 @@ class ScNews extends ScSeoResource {
5424
5507
  this.id = newsDTO.id;
5425
5508
  this.subject = newsDTO.subject;
5426
5509
  this.image = newsDTO.image;
5510
+ this.imageWebp = newsDTO.imageWebp;
5427
5511
  this.createdAt = newsDTO.createdAt;
5428
5512
  this.text = newsDTO.text;
5429
5513
  }
@@ -7155,5 +7239,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
7155
7239
  * Generated bundle index. Do not edit.
7156
7240
  */
7157
7241
 
7158
- export { EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS, SC_COMPANY_NAME, SC_CONFIGURATOR_COMPONENTS, SC_CONFIGURATOR_SETTINGS, SC_COUNT_FIRST_DISCOUNTED_PRODUCTS, SC_COUNT_LAST_NEWS, SC_DATE_FORMAT, SC_DEFAULT_PAGE_META, SC_FEEDBACK_API, SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN, SC_GUEST_TOKEN_STORAGE_KEY, SC_ID_OR_SLUG_IN_ROUTE, SC_IS_HEADER_REQUIRED, SC_IS_HIDDEN_ERROR_ALERT, SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT, SC_IS_LOGOUT_REQUEST, SC_IS_REFRESH_REQUIRED, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_MAX_LENGTH_SEARCH_TERM, SC_MIN_LENGTH_SEARCH_TERM, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PATH_IMAGE_NOT_FOUND, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY, SC_RELEASE, SC_UPDATE_INTERVAL, SC_URLS, SC_VACANCIES_DATA_SOURCE, SC_VIRTUAL_CATEGORY_INFO, SC_VIRTUAL_CATEGORY_PROVIDERS, SEARCH_TERM, SEARCH_TERM_PROVIDERS, ScAuthAsClientGuard, ScAuthInterceptor, ScAuthService, ScBannerService, ScCacheInterceptor, ScCacheSettings, ScCachedData, ScCachedItem, ScCart, ScCartItem, ScCartService, ScCatalogFormat, ScCatalogService, ScCategory, ScClientType, ScConfiguratorService, ScContactsService, ScContragentService, ScConvertInterceptor, ScConvertersService, ScDeliveryAddressService, ScDeliveryCost, ScDeliveryType, ScDocumentInfoNode, ScDocumentInfoTypesEnum, ScErrorsInterceptor, ScFavoriteService, ScFeedbackForms, ScFeedbackService, ScFilesService, ScFrequentlyAskedQuestionsService, ScGuestInterceptor, ScISalesDirectionCart, ScISuggestionType, ScIconTypesEnum, ScIdOrSlugGuard, ScIdOrSlugPipe, ScImageHelper, ScJsonLdComponent, ScJsonLdModule, ScLocationsService, ScMimeTypes, ScNews, ScNewsService, ScNotificationActionTypes, ScNotificationLevelNames, ScNotificationsService, ScOpfList, ScOptionsInterceptor, ScOrder, ScOrderShort, ScOrderStateStatus, ScOrdersService, ScPaginationService, ScPaymentStatus, ScPaymentType, ScPhoneService, ScProduct, ScProductTileType, ScQuestionnaireService, ScQuestionnaireStatusEnum, ScReclamationService, ScReclamationStatus, ScRecommendationService, ScReferenceName, ScReferencesService, ScRequisitesService, ScSearchService, ScSeoResource, ScSeoService, ScSocialType, ScSuggestionService, ScSum, ScTokenService, ScUIService, ScUTMService, ScUnitsHelper, ScUploadedFile, ScUser, ScUserMetadata, ScUserMetrikaGoalsEnum, ScUserMetrikaService, ScUserService, ScUserType, ScVCardService, ScVacanciesList, ScVacanciesService, ScVacancy, ScVerificationService, ScVirtualCategory, ScWarehouseService, TERMINAL_PROVIDERS, USER_AGENT_TERMINAL, filterChangedByKey, runningOnTerminalFactory, searchTermFactory };
7242
+ export { EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS, SC_COMPANY_NAME, SC_CONFIGURATOR_COMPONENTS, SC_CONFIGURATOR_SETTINGS, SC_COUNT_FIRST_DISCOUNTED_PRODUCTS, SC_COUNT_LAST_NEWS, SC_DATE_FORMAT, SC_DEFAULT_PAGE_META, SC_FEEDBACK_API, SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN, SC_GUEST_TOKEN_STORAGE_KEY, SC_ID_OR_SLUG_IN_ROUTE, SC_IS_HEADER_REQUIRED, SC_IS_HIDDEN_ERROR_ALERT, SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT, SC_IS_LOGOUT_REQUEST, SC_IS_REFRESH_REQUIRED, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_MAX_LENGTH_SEARCH_TERM, SC_MIN_LENGTH_SEARCH_TERM, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PATH_IMAGE_NOT_FOUND, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY, SC_RELEASE, SC_UPDATE_INTERVAL, SC_URLS, SC_VACANCIES_DATA_SOURCE, SC_VIRTUAL_CATEGORY_INFO, SC_VIRTUAL_CATEGORY_PROVIDERS, SEARCH_TERM, SEARCH_TERM_PROVIDERS, ScAuthAsClientGuard, ScAuthInterceptor, ScAuthService, ScBanner, ScBannerService, ScCacheInterceptor, ScCacheSettings, ScCachedData, ScCachedItem, ScCart, ScCartItem, ScCartService, ScCatalogFormat, ScCatalogService, ScCategory, ScClientType, ScConfiguratorService, ScContactsService, ScContragentService, ScConvertInterceptor, ScConvertersService, ScDeliveryAddressService, ScDeliveryCost, ScDeliveryType, ScDocumentInfoNode, ScDocumentInfoTypesEnum, ScErrorsInterceptor, ScFavoriteService, ScFeedbackForms, ScFeedbackService, ScFilesService, ScFrequentlyAskedQuestionsService, ScGuestInterceptor, ScISalesDirectionCart, ScISuggestionType, ScIconTypesEnum, ScIdOrSlugGuard, ScIdOrSlugPipe, ScImage, ScImageHelper, ScJsonLdComponent, ScJsonLdModule, ScLocationsService, ScMediaImageTransformerPipe, ScMimeTypes, ScNews, ScNewsService, ScNotificationActionTypes, ScNotificationLevelNames, ScNotificationsService, ScOpfList, ScOptionsInterceptor, ScOrder, ScOrderShort, ScOrderStateStatus, ScOrdersService, ScPaginationService, ScPaymentStatus, ScPaymentType, ScPhoneService, ScProduct, ScProductTileType, ScQuestionnaireService, ScQuestionnaireStatusEnum, ScReclamationService, ScReclamationStatus, ScRecommendationService, ScReferenceName, ScReferencesService, ScRequisitesService, ScSearchService, ScSeoResource, ScSeoService, ScSocialType, ScSuggestionService, ScSum, ScTokenService, ScUIService, ScUTMService, ScUnitsHelper, ScUploadedFile, ScUser, ScUserMetadata, ScUserMetrikaGoalsEnum, ScUserMetrikaService, ScUserService, ScUserType, ScVCardService, ScVacanciesList, ScVacanciesService, ScVacancy, ScVerificationService, ScVirtualCategory, ScWarehouseService, TERMINAL_PROVIDERS, USER_AGENT_TERMINAL, filterChangedByKey, runningOnTerminalFactory, searchTermFactory };
7159
7243
  //# sourceMappingURL=snabcentr-client-core.mjs.map