@athoscommerce/snap-store-mobx 1.0.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 (183) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +17 -0
  3. package/dist/cjs/Abstract/AbstractStore.d.ts +17 -0
  4. package/dist/cjs/Abstract/AbstractStore.d.ts.map +1 -0
  5. package/dist/cjs/Abstract/AbstractStore.js +28 -0
  6. package/dist/cjs/Autocomplete/AutocompleteStore.d.ts +40 -0
  7. package/dist/cjs/Autocomplete/AutocompleteStore.d.ts.map +1 -0
  8. package/dist/cjs/Autocomplete/AutocompleteStore.js +246 -0
  9. package/dist/cjs/Autocomplete/Stores/AutocompleteFacetStore.d.ts +13 -0
  10. package/dist/cjs/Autocomplete/Stores/AutocompleteFacetStore.d.ts.map +1 -0
  11. package/dist/cjs/Autocomplete/Stores/AutocompleteFacetStore.js +67 -0
  12. package/dist/cjs/Autocomplete/Stores/AutocompleteHistoryStore.d.ts +19 -0
  13. package/dist/cjs/Autocomplete/Stores/AutocompleteHistoryStore.d.ts.map +1 -0
  14. package/dist/cjs/Autocomplete/Stores/AutocompleteHistoryStore.js +57 -0
  15. package/dist/cjs/Autocomplete/Stores/AutocompleteQueryStore.d.ts +25 -0
  16. package/dist/cjs/Autocomplete/Stores/AutocompleteQueryStore.d.ts.map +1 -0
  17. package/dist/cjs/Autocomplete/Stores/AutocompleteQueryStore.js +34 -0
  18. package/dist/cjs/Autocomplete/Stores/AutocompleteStateStore.d.ts +29 -0
  19. package/dist/cjs/Autocomplete/Stores/AutocompleteStateStore.d.ts.map +1 -0
  20. package/dist/cjs/Autocomplete/Stores/AutocompleteStateStore.js +54 -0
  21. package/dist/cjs/Autocomplete/Stores/AutocompleteTermStore.d.ts +47 -0
  22. package/dist/cjs/Autocomplete/Stores/AutocompleteTermStore.d.ts.map +1 -0
  23. package/dist/cjs/Autocomplete/Stores/AutocompleteTermStore.js +102 -0
  24. package/dist/cjs/Autocomplete/Stores/AutocompleteTrendingStore.d.ts +20 -0
  25. package/dist/cjs/Autocomplete/Stores/AutocompleteTrendingStore.d.ts.map +1 -0
  26. package/dist/cjs/Autocomplete/Stores/AutocompleteTrendingStore.js +58 -0
  27. package/dist/cjs/Autocomplete/Stores/index.d.ts +7 -0
  28. package/dist/cjs/Autocomplete/Stores/index.d.ts.map +1 -0
  29. package/dist/cjs/Autocomplete/Stores/index.js +16 -0
  30. package/dist/cjs/Cart/CartStore.d.ts +15 -0
  31. package/dist/cjs/Cart/CartStore.d.ts.map +1 -0
  32. package/dist/cjs/Cart/CartStore.js +109 -0
  33. package/dist/cjs/Finder/FinderStore.d.ts +27 -0
  34. package/dist/cjs/Finder/FinderStore.d.ts.map +1 -0
  35. package/dist/cjs/Finder/FinderStore.js +156 -0
  36. package/dist/cjs/Finder/Stores/FinderSelectionStore.d.ts +73 -0
  37. package/dist/cjs/Finder/Stores/FinderSelectionStore.d.ts.map +1 -0
  38. package/dist/cjs/Finder/Stores/FinderSelectionStore.js +320 -0
  39. package/dist/cjs/Finder/Stores/index.d.ts +2 -0
  40. package/dist/cjs/Finder/Stores/index.d.ts.map +1 -0
  41. package/dist/cjs/Finder/Stores/index.js +5 -0
  42. package/dist/cjs/Meta/MetaStore.d.ts +20 -0
  43. package/dist/cjs/Meta/MetaStore.d.ts.map +1 -0
  44. package/dist/cjs/Meta/MetaStore.js +55 -0
  45. package/dist/cjs/Recommendation/RecommendationStore.d.ts +19 -0
  46. package/dist/cjs/Recommendation/RecommendationStore.d.ts.map +1 -0
  47. package/dist/cjs/Recommendation/RecommendationStore.js +97 -0
  48. package/dist/cjs/Recommendation/Stores/RecommendationProfileStore.d.ts +15 -0
  49. package/dist/cjs/Recommendation/Stores/RecommendationProfileStore.d.ts.map +1 -0
  50. package/dist/cjs/Recommendation/Stores/RecommendationProfileStore.js +30 -0
  51. package/dist/cjs/Recommendation/Stores/index.d.ts +2 -0
  52. package/dist/cjs/Recommendation/Stores/index.d.ts.map +1 -0
  53. package/dist/cjs/Recommendation/Stores/index.js +5 -0
  54. package/dist/cjs/Search/SearchStore.d.ts +27 -0
  55. package/dist/cjs/Search/SearchStore.d.ts.map +1 -0
  56. package/dist/cjs/Search/SearchStore.js +125 -0
  57. package/dist/cjs/Search/Stores/SearchFacetStore.d.ts +89 -0
  58. package/dist/cjs/Search/Stores/SearchFacetStore.d.ts.map +1 -0
  59. package/dist/cjs/Search/Stores/SearchFacetStore.js +368 -0
  60. package/dist/cjs/Search/Stores/SearchFilterStore.d.ts +44 -0
  61. package/dist/cjs/Search/Stores/SearchFilterStore.d.ts.map +1 -0
  62. package/dist/cjs/Search/Stores/SearchFilterStore.js +102 -0
  63. package/dist/cjs/Search/Stores/SearchHistoryStore.d.ts +20 -0
  64. package/dist/cjs/Search/Stores/SearchHistoryStore.d.ts.map +1 -0
  65. package/dist/cjs/Search/Stores/SearchHistoryStore.js +106 -0
  66. package/dist/cjs/Search/Stores/SearchMerchandisingStore.d.ts +36 -0
  67. package/dist/cjs/Search/Stores/SearchMerchandisingStore.d.ts.map +1 -0
  68. package/dist/cjs/Search/Stores/SearchMerchandisingStore.js +90 -0
  69. package/dist/cjs/Search/Stores/SearchPaginationStore.d.ts +57 -0
  70. package/dist/cjs/Search/Stores/SearchPaginationStore.d.ts.map +1 -0
  71. package/dist/cjs/Search/Stores/SearchPaginationStore.js +212 -0
  72. package/dist/cjs/Search/Stores/SearchQueryStore.d.ts +23 -0
  73. package/dist/cjs/Search/Stores/SearchQueryStore.d.ts.map +1 -0
  74. package/dist/cjs/Search/Stores/SearchQueryStore.js +41 -0
  75. package/dist/cjs/Search/Stores/SearchResultStore.d.ts +175 -0
  76. package/dist/cjs/Search/Stores/SearchResultStore.d.ts.map +1 -0
  77. package/dist/cjs/Search/Stores/SearchResultStore.js +749 -0
  78. package/dist/cjs/Search/Stores/SearchSortingStore.d.ts +32 -0
  79. package/dist/cjs/Search/Stores/SearchSortingStore.d.ts.map +1 -0
  80. package/dist/cjs/Search/Stores/SearchSortingStore.js +77 -0
  81. package/dist/cjs/Search/Stores/index.d.ts +9 -0
  82. package/dist/cjs/Search/Stores/index.d.ts.map +1 -0
  83. package/dist/cjs/Search/Stores/index.js +30 -0
  84. package/dist/cjs/Storage/StorageStore.d.ts +27 -0
  85. package/dist/cjs/Storage/StorageStore.d.ts.map +1 -0
  86. package/dist/cjs/Storage/StorageStore.js +176 -0
  87. package/dist/cjs/index.d.ts +12 -0
  88. package/dist/cjs/index.d.ts.map +1 -0
  89. package/dist/cjs/index.js +37 -0
  90. package/dist/cjs/types.d.ts +170 -0
  91. package/dist/cjs/types.d.ts.map +1 -0
  92. package/dist/cjs/types.js +9 -0
  93. package/dist/esm/Abstract/AbstractStore.d.ts +17 -0
  94. package/dist/esm/Abstract/AbstractStore.d.ts.map +1 -0
  95. package/dist/esm/Abstract/AbstractStore.js +22 -0
  96. package/dist/esm/Autocomplete/AutocompleteStore.d.ts +40 -0
  97. package/dist/esm/Autocomplete/AutocompleteStore.d.ts.map +1 -0
  98. package/dist/esm/Autocomplete/AutocompleteStore.js +210 -0
  99. package/dist/esm/Autocomplete/Stores/AutocompleteFacetStore.d.ts +13 -0
  100. package/dist/esm/Autocomplete/Stores/AutocompleteFacetStore.d.ts.map +1 -0
  101. package/dist/esm/Autocomplete/Stores/AutocompleteFacetStore.js +35 -0
  102. package/dist/esm/Autocomplete/Stores/AutocompleteHistoryStore.d.ts +19 -0
  103. package/dist/esm/Autocomplete/Stores/AutocompleteHistoryStore.d.ts.map +1 -0
  104. package/dist/esm/Autocomplete/Stores/AutocompleteHistoryStore.js +27 -0
  105. package/dist/esm/Autocomplete/Stores/AutocompleteQueryStore.d.ts +25 -0
  106. package/dist/esm/Autocomplete/Stores/AutocompleteQueryStore.d.ts.map +1 -0
  107. package/dist/esm/Autocomplete/Stores/AutocompleteQueryStore.js +28 -0
  108. package/dist/esm/Autocomplete/Stores/AutocompleteStateStore.d.ts +29 -0
  109. package/dist/esm/Autocomplete/Stores/AutocompleteStateStore.d.ts.map +1 -0
  110. package/dist/esm/Autocomplete/Stores/AutocompleteStateStore.js +42 -0
  111. package/dist/esm/Autocomplete/Stores/AutocompleteTermStore.d.ts +47 -0
  112. package/dist/esm/Autocomplete/Stores/AutocompleteTermStore.d.ts.map +1 -0
  113. package/dist/esm/Autocomplete/Stores/AutocompleteTermStore.js +56 -0
  114. package/dist/esm/Autocomplete/Stores/AutocompleteTrendingStore.d.ts +20 -0
  115. package/dist/esm/Autocomplete/Stores/AutocompleteTrendingStore.d.ts.map +1 -0
  116. package/dist/esm/Autocomplete/Stores/AutocompleteTrendingStore.js +27 -0
  117. package/dist/esm/Autocomplete/Stores/index.d.ts +7 -0
  118. package/dist/esm/Autocomplete/Stores/index.d.ts.map +1 -0
  119. package/dist/esm/Autocomplete/Stores/index.js +6 -0
  120. package/dist/esm/Cart/CartStore.d.ts +15 -0
  121. package/dist/esm/Cart/CartStore.d.ts.map +1 -0
  122. package/dist/esm/Cart/CartStore.js +74 -0
  123. package/dist/esm/Finder/FinderStore.d.ts +27 -0
  124. package/dist/esm/Finder/FinderStore.d.ts.map +1 -0
  125. package/dist/esm/Finder/FinderStore.js +118 -0
  126. package/dist/esm/Finder/Stores/FinderSelectionStore.d.ts +73 -0
  127. package/dist/esm/Finder/Stores/FinderSelectionStore.d.ts.map +1 -0
  128. package/dist/esm/Finder/Stores/FinderSelectionStore.js +258 -0
  129. package/dist/esm/Finder/Stores/index.d.ts +2 -0
  130. package/dist/esm/Finder/Stores/index.d.ts.map +1 -0
  131. package/dist/esm/Finder/Stores/index.js +1 -0
  132. package/dist/esm/Meta/MetaStore.d.ts +20 -0
  133. package/dist/esm/Meta/MetaStore.d.ts.map +1 -0
  134. package/dist/esm/Meta/MetaStore.js +45 -0
  135. package/dist/esm/Recommendation/RecommendationStore.d.ts +19 -0
  136. package/dist/esm/Recommendation/RecommendationStore.d.ts.map +1 -0
  137. package/dist/esm/Recommendation/RecommendationStore.js +71 -0
  138. package/dist/esm/Recommendation/Stores/RecommendationProfileStore.d.ts +15 -0
  139. package/dist/esm/Recommendation/Stores/RecommendationProfileStore.d.ts.map +1 -0
  140. package/dist/esm/Recommendation/Stores/RecommendationProfileStore.js +25 -0
  141. package/dist/esm/Recommendation/Stores/index.d.ts +2 -0
  142. package/dist/esm/Recommendation/Stores/index.d.ts.map +1 -0
  143. package/dist/esm/Recommendation/Stores/index.js +1 -0
  144. package/dist/esm/Search/SearchStore.d.ts +27 -0
  145. package/dist/esm/Search/SearchStore.d.ts.map +1 -0
  146. package/dist/esm/Search/SearchStore.js +102 -0
  147. package/dist/esm/Search/Stores/SearchFacetStore.d.ts +89 -0
  148. package/dist/esm/Search/Stores/SearchFacetStore.d.ts.map +1 -0
  149. package/dist/esm/Search/Stores/SearchFacetStore.js +292 -0
  150. package/dist/esm/Search/Stores/SearchFilterStore.d.ts +44 -0
  151. package/dist/esm/Search/Stores/SearchFilterStore.d.ts.map +1 -0
  152. package/dist/esm/Search/Stores/SearchFilterStore.js +70 -0
  153. package/dist/esm/Search/Stores/SearchHistoryStore.d.ts +20 -0
  154. package/dist/esm/Search/Stores/SearchHistoryStore.d.ts.map +1 -0
  155. package/dist/esm/Search/Stores/SearchHistoryStore.js +85 -0
  156. package/dist/esm/Search/Stores/SearchMerchandisingStore.d.ts +36 -0
  157. package/dist/esm/Search/Stores/SearchMerchandisingStore.d.ts.map +1 -0
  158. package/dist/esm/Search/Stores/SearchMerchandisingStore.js +61 -0
  159. package/dist/esm/Search/Stores/SearchPaginationStore.d.ts +57 -0
  160. package/dist/esm/Search/Stores/SearchPaginationStore.d.ts.map +1 -0
  161. package/dist/esm/Search/Stores/SearchPaginationStore.js +163 -0
  162. package/dist/esm/Search/Stores/SearchQueryStore.d.ts +23 -0
  163. package/dist/esm/Search/Stores/SearchQueryStore.d.ts.map +1 -0
  164. package/dist/esm/Search/Stores/SearchQueryStore.js +33 -0
  165. package/dist/esm/Search/Stores/SearchResultStore.d.ts +175 -0
  166. package/dist/esm/Search/Stores/SearchResultStore.d.ts.map +1 -0
  167. package/dist/esm/Search/Stores/SearchResultStore.js +648 -0
  168. package/dist/esm/Search/Stores/SearchSortingStore.d.ts +32 -0
  169. package/dist/esm/Search/Stores/SearchSortingStore.d.ts.map +1 -0
  170. package/dist/esm/Search/Stores/SearchSortingStore.js +67 -0
  171. package/dist/esm/Search/Stores/index.d.ts +9 -0
  172. package/dist/esm/Search/Stores/index.d.ts.map +1 -0
  173. package/dist/esm/Search/Stores/index.js +8 -0
  174. package/dist/esm/Storage/StorageStore.d.ts +27 -0
  175. package/dist/esm/Storage/StorageStore.d.ts.map +1 -0
  176. package/dist/esm/Storage/StorageStore.js +169 -0
  177. package/dist/esm/index.d.ts +12 -0
  178. package/dist/esm/index.d.ts.map +1 -0
  179. package/dist/esm/index.js +11 -0
  180. package/dist/esm/types.d.ts +170 -0
  181. package/dist/esm/types.d.ts.map +1 -0
  182. package/dist/esm/types.js +6 -0
  183. package/package.json +35 -0
@@ -0,0 +1,32 @@
1
+ import type { UrlManager } from '@athoscommerce/snap-url-manager';
2
+ import type { StoreServices } from '../../types';
3
+ import type { MetaResponseModel, MetaResponseModelSortOption, SearchResponseModel } from '@athoscommerce/snapi-types';
4
+ type MetaResponseModelSortOptionMutated = MetaResponseModelSortOption & {
5
+ active?: boolean;
6
+ default?: boolean;
7
+ };
8
+ type SearchSortingStoreConfig = {
9
+ services: StoreServices;
10
+ data: {
11
+ search?: SearchResponseModel;
12
+ meta: MetaResponseModel;
13
+ };
14
+ };
15
+ export declare class SearchSortingStore {
16
+ options: Option[];
17
+ constructor(params: SearchSortingStoreConfig);
18
+ get current(): Option | undefined;
19
+ }
20
+ declare class Option {
21
+ active: boolean;
22
+ default: boolean;
23
+ field: string;
24
+ label: string;
25
+ direction: string;
26
+ type: string;
27
+ value: string;
28
+ url: UrlManager;
29
+ constructor(services: StoreServices, option: MetaResponseModelSortOptionMutated, index: number);
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=SearchSortingStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchSortingStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchSortingStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtH,KAAK,kCAAkC,GAAG,2BAA2B,GAAG;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC/B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE;QACL,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,IAAI,EAAE,iBAAiB,CAAC;KACxB,CAAC;CACF,CAAC;AAEF,qBAAa,kBAAkB;IACvB,OAAO,EAAE,MAAM,EAAE,CAAM;gBAElB,MAAM,EAAE,wBAAwB;IA0C5C,IAAW,OAAO,IAAI,MAAM,GAAG,SAAS,CAEvC;CACD;AAED,cAAM,MAAM;IACJ,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,UAAU,CAAC;gBAEX,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,kCAAkC,EAAE,KAAK,EAAE,MAAM;CAuB9F"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SearchSortingStore = void 0;
4
+ var mobx_1 = require("mobx");
5
+ var SearchSortingStore = /** @class */ (function () {
6
+ function SearchSortingStore(params) {
7
+ this.options = [];
8
+ var _a = params || {}, services = _a.services, data = _a.data;
9
+ var meta = (data || {}).meta;
10
+ var _b = (data === null || data === void 0 ? void 0 : data.search) || {}, sorting = _b.sorting, search = _b.search;
11
+ if (services && meta.sortOptions) {
12
+ var activeSort_1 = (sorting === null || sorting === void 0 ? void 0 : sorting.length) && sorting[0];
13
+ var options = (meta.sortOptions || [])
14
+ .filter(function (option) {
15
+ if (!(search === null || search === void 0 ? void 0 : search.query)) {
16
+ return option.type == 'field';
17
+ }
18
+ return option;
19
+ })
20
+ .map(function (option, index) {
21
+ option.active = false;
22
+ if (activeSort_1 && activeSort_1.field == option.field && String(activeSort_1.direction) == String(option.direction)) {
23
+ option.active = true;
24
+ }
25
+ else if (!activeSort_1 && index === 0) {
26
+ option.active = true;
27
+ }
28
+ option.default = false;
29
+ if (index === 0) {
30
+ // is the default sort
31
+ option.default = true;
32
+ }
33
+ var optionObj = new Option(services, option, index);
34
+ return optionObj;
35
+ });
36
+ this.options = options;
37
+ (0, mobx_1.makeObservable)(this, {
38
+ options: mobx_1.observable,
39
+ current: mobx_1.computed,
40
+ });
41
+ }
42
+ }
43
+ Object.defineProperty(SearchSortingStore.prototype, "current", {
44
+ get: function () {
45
+ return this.options.filter(function (option) { return option.active; }).pop();
46
+ },
47
+ enumerable: false,
48
+ configurable: true
49
+ });
50
+ return SearchSortingStore;
51
+ }());
52
+ exports.SearchSortingStore = SearchSortingStore;
53
+ var Option = /** @class */ (function () {
54
+ function Option(services, option, index) {
55
+ this.active = option.active;
56
+ this.default = option.default;
57
+ this.field = option.field;
58
+ this.label = option.label;
59
+ this.direction = option.direction;
60
+ this.type = option.type;
61
+ this.value = "".concat(option.label, ":").concat(option.field, ":").concat(option.direction, ":").concat(index);
62
+ if (this.default) {
63
+ this.url = services.urlManager.remove('page').remove('sort');
64
+ }
65
+ else {
66
+ this.url = services.urlManager.remove('page').set('sort', [{ field: this.field, direction: this.direction }]);
67
+ }
68
+ (0, mobx_1.makeObservable)(this, {
69
+ field: mobx_1.observable,
70
+ label: mobx_1.observable,
71
+ direction: mobx_1.observable,
72
+ type: mobx_1.observable,
73
+ value: mobx_1.observable,
74
+ });
75
+ }
76
+ return Option;
77
+ }());
@@ -0,0 +1,9 @@
1
+ export { SearchMerchandisingStore, BannerContent, ContentType, MerchandisingContentBanner } from './SearchMerchandisingStore';
2
+ export { SearchFacetStore, ValueFacet, RangeFacet, FacetValue, FacetHierarchyValue, FacetRangeValue } from './SearchFacetStore';
3
+ export { SearchFilterStore, Filter } from './SearchFilterStore';
4
+ export { SearchPaginationStore, Page } from './SearchPaginationStore';
5
+ export { SearchResultStore, Product, Banner, VariantSelection, VariantSelectionValue } from './SearchResultStore';
6
+ export { SearchSortingStore } from './SearchSortingStore';
7
+ export { SearchQueryStore } from './SearchQueryStore';
8
+ export { SearchHistoryStore } from './SearchHistoryStore';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC9H,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChI,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SearchHistoryStore = exports.SearchQueryStore = exports.SearchSortingStore = exports.VariantSelection = exports.Banner = exports.Product = exports.SearchResultStore = exports.Page = exports.SearchPaginationStore = exports.Filter = exports.SearchFilterStore = exports.FacetRangeValue = exports.FacetHierarchyValue = exports.FacetValue = exports.RangeFacet = exports.ValueFacet = exports.SearchFacetStore = exports.ContentType = exports.SearchMerchandisingStore = void 0;
4
+ var SearchMerchandisingStore_1 = require("./SearchMerchandisingStore");
5
+ Object.defineProperty(exports, "SearchMerchandisingStore", { enumerable: true, get: function () { return SearchMerchandisingStore_1.SearchMerchandisingStore; } });
6
+ Object.defineProperty(exports, "ContentType", { enumerable: true, get: function () { return SearchMerchandisingStore_1.ContentType; } });
7
+ var SearchFacetStore_1 = require("./SearchFacetStore");
8
+ Object.defineProperty(exports, "SearchFacetStore", { enumerable: true, get: function () { return SearchFacetStore_1.SearchFacetStore; } });
9
+ Object.defineProperty(exports, "ValueFacet", { enumerable: true, get: function () { return SearchFacetStore_1.ValueFacet; } });
10
+ Object.defineProperty(exports, "RangeFacet", { enumerable: true, get: function () { return SearchFacetStore_1.RangeFacet; } });
11
+ Object.defineProperty(exports, "FacetValue", { enumerable: true, get: function () { return SearchFacetStore_1.FacetValue; } });
12
+ Object.defineProperty(exports, "FacetHierarchyValue", { enumerable: true, get: function () { return SearchFacetStore_1.FacetHierarchyValue; } });
13
+ Object.defineProperty(exports, "FacetRangeValue", { enumerable: true, get: function () { return SearchFacetStore_1.FacetRangeValue; } });
14
+ var SearchFilterStore_1 = require("./SearchFilterStore");
15
+ Object.defineProperty(exports, "SearchFilterStore", { enumerable: true, get: function () { return SearchFilterStore_1.SearchFilterStore; } });
16
+ Object.defineProperty(exports, "Filter", { enumerable: true, get: function () { return SearchFilterStore_1.Filter; } });
17
+ var SearchPaginationStore_1 = require("./SearchPaginationStore");
18
+ Object.defineProperty(exports, "SearchPaginationStore", { enumerable: true, get: function () { return SearchPaginationStore_1.SearchPaginationStore; } });
19
+ Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return SearchPaginationStore_1.Page; } });
20
+ var SearchResultStore_1 = require("./SearchResultStore");
21
+ Object.defineProperty(exports, "SearchResultStore", { enumerable: true, get: function () { return SearchResultStore_1.SearchResultStore; } });
22
+ Object.defineProperty(exports, "Product", { enumerable: true, get: function () { return SearchResultStore_1.Product; } });
23
+ Object.defineProperty(exports, "Banner", { enumerable: true, get: function () { return SearchResultStore_1.Banner; } });
24
+ Object.defineProperty(exports, "VariantSelection", { enumerable: true, get: function () { return SearchResultStore_1.VariantSelection; } });
25
+ var SearchSortingStore_1 = require("./SearchSortingStore");
26
+ Object.defineProperty(exports, "SearchSortingStore", { enumerable: true, get: function () { return SearchSortingStore_1.SearchSortingStore; } });
27
+ var SearchQueryStore_1 = require("./SearchQueryStore");
28
+ Object.defineProperty(exports, "SearchQueryStore", { enumerable: true, get: function () { return SearchQueryStore_1.SearchQueryStore; } });
29
+ var SearchHistoryStore_1 = require("./SearchHistoryStore");
30
+ Object.defineProperty(exports, "SearchHistoryStore", { enumerable: true, get: function () { return SearchHistoryStore_1.SearchHistoryStore; } });
@@ -0,0 +1,27 @@
1
+ export declare class StorageStore {
2
+ private type;
3
+ private expiration;
4
+ private sameSite;
5
+ private key;
6
+ private cookieDomain;
7
+ state: Record<string, any>;
8
+ constructor(config?: StorageConfig);
9
+ set(path: string | string[], value: any): void;
10
+ get(path: string | string[]): any | undefined;
11
+ clear(): void;
12
+ }
13
+ export type StorageConfig = {
14
+ type: StorageType | keyof typeof StorageType;
15
+ cookie?: {
16
+ expiration?: number;
17
+ sameSite?: string;
18
+ };
19
+ key: string;
20
+ };
21
+ export declare enum StorageType {
22
+ session = "session",
23
+ local = "local",
24
+ cookie = "cookie",
25
+ memory = "memory"
26
+ }
27
+ //# sourceMappingURL=StorageStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageStore.d.ts","sourceRoot":"","sources":["../../../src/Storage/StorageStore.ts"],"names":[],"mappings":"AAMA,qBAAa,YAAY;IACxB,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,YAAY,CAC8G;IAC3H,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;gBAE3B,MAAM,CAAC,EAAE,aAAa;IA8C3B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAuD9C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,GAAG,SAAS;IAuC7C,KAAK,IAAI,IAAI;CAcpB;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW,GAAG,MAAM,OAAO,WAAW,CAAC;IAC7C,MAAM,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,oBAAY,WAAW;IACtB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;CACjB"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StorageType = exports.StorageStore = void 0;
4
+ var snap_toolbox_1 = require("@athoscommerce/snap-toolbox");
5
+ var utils = {
6
+ cookies: snap_toolbox_1.cookies,
7
+ };
8
+ var StorageStore = /** @class */ (function () {
9
+ function StorageStore(config) {
10
+ var _a, _b;
11
+ this.type = null;
12
+ this.expiration = 31536000000; // one year (ms)
13
+ this.sameSite = 'Lax';
14
+ this.key = 'ss-storage';
15
+ this.cookieDomain = (typeof window !== 'undefined' && window.location.hostname && '.' + window.location.hostname.replace(/^www\./, '')) || undefined;
16
+ this.state = {};
17
+ if (config) {
18
+ if (config.key.trim() !== '') {
19
+ this.key = config.key.trim();
20
+ }
21
+ if ((_a = config === null || config === void 0 ? void 0 : config.cookie) === null || _a === void 0 ? void 0 : _a.expiration) {
22
+ this.expiration = config.cookie.expiration;
23
+ }
24
+ if ((_b = config === null || config === void 0 ? void 0 : config.cookie) === null || _b === void 0 ? void 0 : _b.sameSite) {
25
+ this.sameSite = config.cookie.sameSite;
26
+ }
27
+ switch (config.type) {
28
+ case StorageType.session: {
29
+ this.type = snap_toolbox_1.featureFlags.storage ? config.type : null;
30
+ if (this.type) {
31
+ this.state = JSON.parse(window.sessionStorage.getItem(this.key) || '{}');
32
+ window.sessionStorage.setItem(this.key, JSON.stringify(this.state));
33
+ }
34
+ break;
35
+ }
36
+ case StorageType.local: {
37
+ this.type = snap_toolbox_1.featureFlags.storage ? config.type : null;
38
+ if (this.type) {
39
+ this.state = JSON.parse(window.localStorage.getItem(this.key) || '{}');
40
+ window.localStorage.setItem(this.key, JSON.stringify(this.state));
41
+ }
42
+ break;
43
+ }
44
+ case StorageType.cookie: {
45
+ if (snap_toolbox_1.featureFlags.cookies) {
46
+ this.type = config.type;
47
+ var data = utils.cookies.get(this.key);
48
+ if (data) {
49
+ this.state = JSON.parse(data);
50
+ }
51
+ }
52
+ break;
53
+ }
54
+ default: {
55
+ this.type = StorageType.memory;
56
+ }
57
+ }
58
+ }
59
+ }
60
+ StorageStore.prototype.set = function (path, value) {
61
+ // read from the backing storage first to update local state to ensure we get any changes made outside of the storageStore
62
+ switch (this.type) {
63
+ case StorageType.session: {
64
+ this.state = JSON.parse(window.sessionStorage.getItem(this.key) || '{}');
65
+ break;
66
+ }
67
+ case StorageType.local: {
68
+ this.state = JSON.parse(window.localStorage.getItem(this.key) || '{}');
69
+ break;
70
+ }
71
+ case StorageType.cookie: {
72
+ var data = utils.cookies.get(this.key);
73
+ if (data) {
74
+ this.state = JSON.parse(data);
75
+ }
76
+ break;
77
+ }
78
+ }
79
+ var paths;
80
+ if (typeof path == 'string') {
81
+ paths = path === null || path === void 0 ? void 0 : path.split('.');
82
+ }
83
+ else {
84
+ paths = path;
85
+ }
86
+ var location = this.state;
87
+ paths === null || paths === void 0 ? void 0 : paths.forEach(function (p, i) {
88
+ var leaf = i == paths.length - 1;
89
+ if (leaf) {
90
+ location[p] = value;
91
+ }
92
+ else {
93
+ location = location[p] = location[p] || {};
94
+ }
95
+ });
96
+ try {
97
+ switch (this.type) {
98
+ case StorageType.session:
99
+ window.sessionStorage.setItem(this.key, JSON.stringify(this.state));
100
+ break;
101
+ case StorageType.local:
102
+ window.localStorage.setItem(this.key, JSON.stringify(this.state));
103
+ break;
104
+ case StorageType.cookie:
105
+ utils.cookies.set(this.key, JSON.stringify(this.state), this.sameSite, this.expiration, this.cookieDomain);
106
+ break;
107
+ }
108
+ }
109
+ catch (err) {
110
+ console.warn("something went wrong setting ".concat(this.key, " to ").concat(this.type, " storage"));
111
+ }
112
+ };
113
+ // TODO: change any to unknown and refactor
114
+ StorageStore.prototype.get = function (path) {
115
+ switch (this.type) {
116
+ case StorageType.session:
117
+ var sessionData = window.sessionStorage.getItem(this.key);
118
+ this.state = sessionData ? JSON.parse(sessionData) : {};
119
+ break;
120
+ case StorageType.local:
121
+ var localData = window.localStorage.getItem(this.key);
122
+ this.state = localData ? JSON.parse(localData) : {};
123
+ break;
124
+ case StorageType.cookie:
125
+ var data = utils.cookies.get(this.key);
126
+ if (data) {
127
+ this.state = JSON.parse(data) || {};
128
+ }
129
+ break;
130
+ }
131
+ var paths;
132
+ if (typeof path == 'string') {
133
+ paths = path === null || path === void 0 ? void 0 : path.split('.');
134
+ }
135
+ else {
136
+ paths = path;
137
+ }
138
+ if (!(paths === null || paths === void 0 ? void 0 : paths.length))
139
+ return undefined;
140
+ var value = this.state;
141
+ for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
142
+ var p = paths_1[_i];
143
+ if (value && typeof value[p] != 'undefined') {
144
+ value = value[p];
145
+ }
146
+ else {
147
+ value = {};
148
+ return;
149
+ }
150
+ }
151
+ return value;
152
+ };
153
+ StorageStore.prototype.clear = function () {
154
+ switch (this.type) {
155
+ case StorageType.session:
156
+ window.sessionStorage.removeItem(this.key);
157
+ break;
158
+ case StorageType.local:
159
+ window.localStorage.removeItem(this.key);
160
+ break;
161
+ case StorageType.cookie:
162
+ utils.cookies.unset(this.key, this.cookieDomain);
163
+ break;
164
+ }
165
+ this.state = {};
166
+ };
167
+ return StorageStore;
168
+ }());
169
+ exports.StorageStore = StorageStore;
170
+ var StorageType;
171
+ (function (StorageType) {
172
+ StorageType["session"] = "session";
173
+ StorageType["local"] = "local";
174
+ StorageType["cookie"] = "cookie";
175
+ StorageType["memory"] = "memory";
176
+ })(StorageType || (exports.StorageType = StorageType = {}));
@@ -0,0 +1,12 @@
1
+ export { AbstractStore } from './Abstract/AbstractStore';
2
+ export { AutocompleteStore } from './Autocomplete/AutocompleteStore';
3
+ export { FinderStore } from './Finder/FinderStore';
4
+ export { SearchStore } from './Search/SearchStore';
5
+ export * from './Search/Stores/';
6
+ export * from './Autocomplete/Stores/';
7
+ export { RecommendationStore } from './Recommendation/RecommendationStore';
8
+ export { CartStore } from './Cart/CartStore';
9
+ export { StorageStore, StorageConfig, StorageType } from './Storage/StorageStore';
10
+ export { MetaStore } from './Meta/MetaStore';
11
+ export * from './types';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,cAAc,SAAS,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.MetaStore = exports.StorageType = exports.StorageStore = exports.CartStore = exports.RecommendationStore = exports.SearchStore = exports.FinderStore = exports.AutocompleteStore = exports.AbstractStore = void 0;
18
+ var AbstractStore_1 = require("./Abstract/AbstractStore");
19
+ Object.defineProperty(exports, "AbstractStore", { enumerable: true, get: function () { return AbstractStore_1.AbstractStore; } });
20
+ var AutocompleteStore_1 = require("./Autocomplete/AutocompleteStore");
21
+ Object.defineProperty(exports, "AutocompleteStore", { enumerable: true, get: function () { return AutocompleteStore_1.AutocompleteStore; } });
22
+ var FinderStore_1 = require("./Finder/FinderStore");
23
+ Object.defineProperty(exports, "FinderStore", { enumerable: true, get: function () { return FinderStore_1.FinderStore; } });
24
+ var SearchStore_1 = require("./Search/SearchStore");
25
+ Object.defineProperty(exports, "SearchStore", { enumerable: true, get: function () { return SearchStore_1.SearchStore; } });
26
+ __exportStar(require("./Search/Stores/"), exports);
27
+ __exportStar(require("./Autocomplete/Stores/"), exports);
28
+ var RecommendationStore_1 = require("./Recommendation/RecommendationStore");
29
+ Object.defineProperty(exports, "RecommendationStore", { enumerable: true, get: function () { return RecommendationStore_1.RecommendationStore; } });
30
+ var CartStore_1 = require("./Cart/CartStore");
31
+ Object.defineProperty(exports, "CartStore", { enumerable: true, get: function () { return CartStore_1.CartStore; } });
32
+ var StorageStore_1 = require("./Storage/StorageStore");
33
+ Object.defineProperty(exports, "StorageStore", { enumerable: true, get: function () { return StorageStore_1.StorageStore; } });
34
+ Object.defineProperty(exports, "StorageType", { enumerable: true, get: function () { return StorageStore_1.StorageType; } });
35
+ var MetaStore_1 = require("./Meta/MetaStore");
36
+ Object.defineProperty(exports, "MetaStore", { enumerable: true, get: function () { return MetaStore_1.MetaStore; } });
37
+ __exportStar(require("./types"), exports);
@@ -0,0 +1,170 @@
1
+ import type { UrlManager } from '@athoscommerce/snap-url-manager';
2
+ import type { RecommendRequestModel } from '@athoscommerce/snap-client';
3
+ import type { SearchResponseModelFacetValueAllOfValues, AutocompleteRequestModel, SearchRequestModel, MetaResponseModelBadgeTag, SearchResponseModelResultBadges } from '@athoscommerce/snapi-types';
4
+ export type StoreConfig = {
5
+ id: string;
6
+ beacon?: {
7
+ enabled: boolean;
8
+ };
9
+ [any: string]: unknown;
10
+ };
11
+ export type SearchStoreConfigSettings = {
12
+ redirects?: {
13
+ merchandising?: boolean;
14
+ singleResult?: boolean;
15
+ };
16
+ facets?: FacetStoreConfig & {
17
+ fields?: {
18
+ [field: string]: FacetStoreConfig;
19
+ };
20
+ };
21
+ filters?: FilterStoreConfig & {
22
+ fields?: {
23
+ [field: string]: FilterStoreConfig;
24
+ };
25
+ };
26
+ infinite?: {
27
+ enabled?: boolean;
28
+ backfill?: number;
29
+ };
30
+ restorePosition?: {
31
+ enabled: boolean;
32
+ onPageShow?: boolean;
33
+ };
34
+ variants?: VariantConfig;
35
+ history?: {
36
+ url?: string;
37
+ max?: number;
38
+ };
39
+ pagination?: {
40
+ pageSizeOptions?: {
41
+ label: string;
42
+ value: number;
43
+ }[];
44
+ };
45
+ };
46
+ export type VariantConfigFilterTypes = 'first' | 'unaltered';
47
+ export type VariantConfig = {
48
+ realtime?: {
49
+ enabled: boolean;
50
+ filters?: VariantConfigFilterTypes[];
51
+ };
52
+ options?: {
53
+ [optionField: string]: VariantOptionConfig;
54
+ };
55
+ showDisabledSelectionValues?: boolean;
56
+ autoSelect?: boolean;
57
+ };
58
+ export type VariantOptionConfig = {
59
+ label?: string;
60
+ preSelected?: string[];
61
+ thumbnailBackgroundImages?: boolean;
62
+ mappings?: VariantOptionConfigMappings;
63
+ };
64
+ export type VariantOptionConfigMappings = {
65
+ [optionValue: string]: {
66
+ label?: string;
67
+ background?: string;
68
+ backgroundImageUrl?: string;
69
+ };
70
+ };
71
+ export type SearchStoreConfig = StoreConfig & {
72
+ globals?: Partial<SearchRequestModel>;
73
+ settings?: SearchStoreConfigSettings;
74
+ };
75
+ export type FilterStoreConfig = {
76
+ rangeFormatValue?: string;
77
+ hierarchy?: {
78
+ enabled?: boolean;
79
+ displayDelimiter?: string;
80
+ showFullPath?: boolean;
81
+ };
82
+ };
83
+ export type FacetStoreConfig = {
84
+ trim?: boolean;
85
+ pinFiltered?: boolean;
86
+ storeRange?: boolean;
87
+ autoOpenActive?: boolean;
88
+ };
89
+ export type FinderStoreConfig = StoreConfig & {
90
+ globals?: any;
91
+ url?: string;
92
+ fields: FinderFieldConfig[];
93
+ persist?: {
94
+ enabled: boolean;
95
+ lockSelections?: boolean;
96
+ expiration?: number;
97
+ };
98
+ };
99
+ export type FinderFieldConfig = {
100
+ field: string;
101
+ label?: string;
102
+ levels?: string[];
103
+ };
104
+ export type AutocompleteStoreConfigSettings = {
105
+ initializeFromUrl?: boolean;
106
+ syncInputs?: boolean;
107
+ serializeForm?: boolean;
108
+ disableClickOutside?: boolean;
109
+ facets?: FacetStoreConfig & {
110
+ fields?: {
111
+ [field: string]: FacetStoreConfig;
112
+ };
113
+ };
114
+ trending?: {
115
+ enabled?: boolean;
116
+ limit?: number;
117
+ showResults?: boolean;
118
+ };
119
+ variants?: VariantConfig;
120
+ history?: {
121
+ enabled?: boolean;
122
+ limit?: number;
123
+ showResults?: boolean;
124
+ max?: number;
125
+ url?: string;
126
+ };
127
+ redirects?: {
128
+ merchandising?: boolean;
129
+ singleResult?: boolean;
130
+ };
131
+ bind?: {
132
+ input?: boolean;
133
+ submit?: boolean;
134
+ };
135
+ };
136
+ export type AutocompleteStoreConfig = StoreConfig & {
137
+ globals?: Partial<AutocompleteRequestModel>;
138
+ selector: string;
139
+ action?: string;
140
+ settings?: AutocompleteStoreConfigSettings;
141
+ };
142
+ export type RecommendationStoreConfig = StoreConfig & {
143
+ globals?: Partial<RecommendRequestModel>;
144
+ tag: string;
145
+ branch?: string;
146
+ realtime?: boolean;
147
+ batched?: boolean;
148
+ order?: number;
149
+ batchId?: number;
150
+ settings?: {
151
+ variants?: VariantConfig;
152
+ searchOnPageShow?: boolean;
153
+ };
154
+ };
155
+ export type StoreConfigs = SearchStoreConfig | AutocompleteStoreConfig | FinderStoreConfig | RecommendationStoreConfig;
156
+ export type StoreServices = {
157
+ urlManager: UrlManager;
158
+ };
159
+ export declare enum ErrorType {
160
+ WARNING = "warning",
161
+ INFO = "info",
162
+ ERROR = "error"
163
+ }
164
+ export type SelectedSelection = {
165
+ selected: string;
166
+ data: SearchResponseModelFacetValueAllOfValues[];
167
+ facet: any;
168
+ };
169
+ export type ResultBadge = MetaResponseModelBadgeTag & SearchResponseModelResultBadges;
170
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorType = void 0;
4
+ var ErrorType;
5
+ (function (ErrorType) {
6
+ ErrorType["WARNING"] = "warning";
7
+ ErrorType["INFO"] = "info";
8
+ ErrorType["ERROR"] = "error";
9
+ })(ErrorType || (exports.ErrorType = ErrorType = {}));
@@ -0,0 +1,17 @@
1
+ import type { StoreConfig, ErrorType } from '../types';
2
+ export declare abstract class AbstractStore<Type = StoreConfig> {
3
+ custom: {};
4
+ loading: boolean;
5
+ loaded: boolean;
6
+ error: {
7
+ code?: number;
8
+ type?: ErrorType;
9
+ message?: string;
10
+ } | undefined;
11
+ config: Type;
12
+ constructor(config: Type);
13
+ setConfig(newConfig: Type): void;
14
+ abstract update(data: any): void;
15
+ toJSON(thing?: this): this;
16
+ }
17
+ //# sourceMappingURL=AbstractStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractStore.d.ts","sourceRoot":"","sources":["../../../src/Abstract/AbstractStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACvD,8BAAsB,aAAa,CAAC,IAAI,GAAG,WAAW;IAC9C,MAAM,KAAM;IACZ,OAAO,UAAS;IAChB,MAAM,UAAS;IACf,KAAK,EACT;QACA,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAChB,GACD,SAAS,CAAC;IACN,MAAM,EAAE,IAAI,CAAC;gBAER,MAAM,EAAE,IAAI;IAWxB,SAAS,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI;IAIhC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAEhC,MAAM,CAAC,KAAK,OAAO;CAInB"}
@@ -0,0 +1,22 @@
1
+ import { makeObservable, observable, toJS } from 'mobx';
2
+ export class AbstractStore {
3
+ constructor(config) {
4
+ this.custom = {};
5
+ this.loading = false;
6
+ this.loaded = false;
7
+ this.config = config;
8
+ makeObservable(this, {
9
+ custom: observable,
10
+ loading: observable,
11
+ loaded: observable,
12
+ config: observable,
13
+ });
14
+ }
15
+ setConfig(newConfig) {
16
+ this.config = newConfig;
17
+ }
18
+ toJSON(thing = this) {
19
+ // TODO: make this work better
20
+ return toJS(thing);
21
+ }
22
+ }