@athoscommerce/snap-platforms 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 (135) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +12 -0
  3. package/dist/cjs/bigcommerce/src/addToCart.d.ts +7 -0
  4. package/dist/cjs/bigcommerce/src/addToCart.d.ts.map +1 -0
  5. package/dist/cjs/bigcommerce/src/addToCart.js +181 -0
  6. package/dist/cjs/bigcommerce/src/index.d.ts +4 -0
  7. package/dist/cjs/bigcommerce/src/index.d.ts.map +1 -0
  8. package/dist/cjs/bigcommerce/src/index.js +9 -0
  9. package/dist/cjs/bigcommerce/src/plugins/pluginBigcommerceAddToCart.d.ts +6 -0
  10. package/dist/cjs/bigcommerce/src/plugins/pluginBigcommerceAddToCart.d.ts.map +1 -0
  11. package/dist/cjs/bigcommerce/src/plugins/pluginBigcommerceAddToCart.js +61 -0
  12. package/dist/cjs/bigcommerce/src/plugins/pluginBigcommerceBackgroundFilters.d.ts +10 -0
  13. package/dist/cjs/bigcommerce/src/plugins/pluginBigcommerceBackgroundFilters.d.ts.map +1 -0
  14. package/dist/cjs/bigcommerce/src/plugins/pluginBigcommerceBackgroundFilters.js +103 -0
  15. package/dist/cjs/common/src/index.d.ts +5 -0
  16. package/dist/cjs/common/src/index.d.ts.map +1 -0
  17. package/dist/cjs/common/src/index.js +11 -0
  18. package/dist/cjs/common/src/plugins/pluginAddToCart.d.ts +8 -0
  19. package/dist/cjs/common/src/plugins/pluginAddToCart.d.ts.map +1 -0
  20. package/dist/cjs/common/src/plugins/pluginAddToCart.js +66 -0
  21. package/dist/cjs/common/src/plugins/pluginBackgroundFilters.d.ts +7 -0
  22. package/dist/cjs/common/src/plugins/pluginBackgroundFilters.d.ts.map +1 -0
  23. package/dist/cjs/common/src/plugins/pluginBackgroundFilters.js +123 -0
  24. package/dist/cjs/common/src/plugins/pluginLogger.d.ts +5 -0
  25. package/dist/cjs/common/src/plugins/pluginLogger.d.ts.map +1 -0
  26. package/dist/cjs/common/src/plugins/pluginLogger.js +58 -0
  27. package/dist/cjs/common/src/plugins/pluginScrollToTop.d.ts +13 -0
  28. package/dist/cjs/common/src/plugins/pluginScrollToTop.d.ts.map +1 -0
  29. package/dist/cjs/common/src/plugins/pluginScrollToTop.js +75 -0
  30. package/dist/cjs/common/src/types.d.ts +27 -0
  31. package/dist/cjs/common/src/types.d.ts.map +1 -0
  32. package/dist/cjs/common/src/types.js +2 -0
  33. package/dist/cjs/magento2/src/addToCart.d.ts +9 -0
  34. package/dist/cjs/magento2/src/addToCart.d.ts.map +1 -0
  35. package/dist/cjs/magento2/src/addToCart.js +156 -0
  36. package/dist/cjs/magento2/src/getFormKey.d.ts +2 -0
  37. package/dist/cjs/magento2/src/getFormKey.d.ts.map +1 -0
  38. package/dist/cjs/magento2/src/getFormKey.js +9 -0
  39. package/dist/cjs/magento2/src/getUenc.d.ts +2 -0
  40. package/dist/cjs/magento2/src/getUenc.d.ts.map +1 -0
  41. package/dist/cjs/magento2/src/getUenc.js +9 -0
  42. package/dist/cjs/magento2/src/index.d.ts +7 -0
  43. package/dist/cjs/magento2/src/index.d.ts.map +1 -0
  44. package/dist/cjs/magento2/src/index.js +15 -0
  45. package/dist/cjs/magento2/src/plugins/pluginMagento2AddToCart.d.ts +6 -0
  46. package/dist/cjs/magento2/src/plugins/pluginMagento2AddToCart.d.ts.map +1 -0
  47. package/dist/cjs/magento2/src/plugins/pluginMagento2AddToCart.js +61 -0
  48. package/dist/cjs/magento2/src/plugins/pluginMagento2BackgroundFilters.d.ts +10 -0
  49. package/dist/cjs/magento2/src/plugins/pluginMagento2BackgroundFilters.d.ts.map +1 -0
  50. package/dist/cjs/magento2/src/plugins/pluginMagento2BackgroundFilters.js +89 -0
  51. package/dist/cjs/magento2/src/plugins/pluginMagento2Base.d.ts +9 -0
  52. package/dist/cjs/magento2/src/plugins/pluginMagento2Base.d.ts.map +1 -0
  53. package/dist/cjs/magento2/src/plugins/pluginMagento2Base.js +123 -0
  54. package/dist/cjs/shopify/src/addToCart.d.ts +12 -0
  55. package/dist/cjs/shopify/src/addToCart.d.ts.map +1 -0
  56. package/dist/cjs/shopify/src/addToCart.js +117 -0
  57. package/dist/cjs/shopify/src/index.d.ts +5 -0
  58. package/dist/cjs/shopify/src/index.d.ts.map +1 -0
  59. package/dist/cjs/shopify/src/index.js +11 -0
  60. package/dist/cjs/shopify/src/plugins/pluginShopifyAddToCart.d.ts +6 -0
  61. package/dist/cjs/shopify/src/plugins/pluginShopifyAddToCart.d.ts.map +1 -0
  62. package/dist/cjs/shopify/src/plugins/pluginShopifyAddToCart.js +61 -0
  63. package/dist/cjs/shopify/src/plugins/pluginShopifyBackgroundFilters.d.ts +12 -0
  64. package/dist/cjs/shopify/src/plugins/pluginShopifyBackgroundFilters.d.ts.map +1 -0
  65. package/dist/cjs/shopify/src/plugins/pluginShopifyBackgroundFilters.js +107 -0
  66. package/dist/cjs/shopify/src/plugins/pluginShopifyMutateResults.d.ts +16 -0
  67. package/dist/cjs/shopify/src/plugins/pluginShopifyMutateResults.d.ts.map +1 -0
  68. package/dist/cjs/shopify/src/plugins/pluginShopifyMutateResults.js +80 -0
  69. package/dist/esm/bigcommerce/src/addToCart.d.ts +7 -0
  70. package/dist/esm/bigcommerce/src/addToCart.d.ts.map +1 -0
  71. package/dist/esm/bigcommerce/src/addToCart.js +103 -0
  72. package/dist/esm/bigcommerce/src/index.d.ts +4 -0
  73. package/dist/esm/bigcommerce/src/index.d.ts.map +1 -0
  74. package/dist/esm/bigcommerce/src/index.js +3 -0
  75. package/dist/esm/bigcommerce/src/plugins/pluginBigcommerceAddToCart.d.ts +6 -0
  76. package/dist/esm/bigcommerce/src/plugins/pluginBigcommerceAddToCart.d.ts.map +1 -0
  77. package/dist/esm/bigcommerce/src/plugins/pluginBigcommerceAddToCart.js +11 -0
  78. package/dist/esm/bigcommerce/src/plugins/pluginBigcommerceBackgroundFilters.d.ts +10 -0
  79. package/dist/esm/bigcommerce/src/plugins/pluginBigcommerceBackgroundFilters.d.ts.map +1 -0
  80. package/dist/esm/bigcommerce/src/plugins/pluginBigcommerceBackgroundFilters.js +53 -0
  81. package/dist/esm/common/src/index.d.ts +5 -0
  82. package/dist/esm/common/src/index.d.ts.map +1 -0
  83. package/dist/esm/common/src/index.js +4 -0
  84. package/dist/esm/common/src/plugins/pluginAddToCart.d.ts +8 -0
  85. package/dist/esm/common/src/plugins/pluginAddToCart.d.ts.map +1 -0
  86. package/dist/esm/common/src/plugins/pluginAddToCart.js +15 -0
  87. package/dist/esm/common/src/plugins/pluginBackgroundFilters.d.ts +7 -0
  88. package/dist/esm/common/src/plugins/pluginBackgroundFilters.d.ts.map +1 -0
  89. package/dist/esm/common/src/plugins/pluginBackgroundFilters.js +63 -0
  90. package/dist/esm/common/src/plugins/pluginLogger.d.ts +5 -0
  91. package/dist/esm/common/src/plugins/pluginLogger.d.ts.map +1 -0
  92. package/dist/esm/common/src/plugins/pluginLogger.js +9 -0
  93. package/dist/esm/common/src/plugins/pluginScrollToTop.d.ts +13 -0
  94. package/dist/esm/common/src/plugins/pluginScrollToTop.d.ts.map +1 -0
  95. package/dist/esm/common/src/plugins/pluginScrollToTop.js +24 -0
  96. package/dist/esm/common/src/types.d.ts +27 -0
  97. package/dist/esm/common/src/types.d.ts.map +1 -0
  98. package/dist/esm/common/src/types.js +1 -0
  99. package/dist/esm/magento2/src/addToCart.d.ts +9 -0
  100. package/dist/esm/magento2/src/addToCart.d.ts.map +1 -0
  101. package/dist/esm/magento2/src/addToCart.js +80 -0
  102. package/dist/esm/magento2/src/getFormKey.d.ts +2 -0
  103. package/dist/esm/magento2/src/getFormKey.d.ts.map +1 -0
  104. package/dist/esm/magento2/src/getFormKey.js +5 -0
  105. package/dist/esm/magento2/src/getUenc.d.ts +2 -0
  106. package/dist/esm/magento2/src/getUenc.d.ts.map +1 -0
  107. package/dist/esm/magento2/src/getUenc.js +4 -0
  108. package/dist/esm/magento2/src/index.d.ts +7 -0
  109. package/dist/esm/magento2/src/index.d.ts.map +1 -0
  110. package/dist/esm/magento2/src/index.js +6 -0
  111. package/dist/esm/magento2/src/plugins/pluginMagento2AddToCart.d.ts +6 -0
  112. package/dist/esm/magento2/src/plugins/pluginMagento2AddToCart.d.ts.map +1 -0
  113. package/dist/esm/magento2/src/plugins/pluginMagento2AddToCart.js +11 -0
  114. package/dist/esm/magento2/src/plugins/pluginMagento2BackgroundFilters.d.ts +10 -0
  115. package/dist/esm/magento2/src/plugins/pluginMagento2BackgroundFilters.d.ts.map +1 -0
  116. package/dist/esm/magento2/src/plugins/pluginMagento2BackgroundFilters.js +39 -0
  117. package/dist/esm/magento2/src/plugins/pluginMagento2Base.d.ts +9 -0
  118. package/dist/esm/magento2/src/plugins/pluginMagento2Base.d.ts.map +1 -0
  119. package/dist/esm/magento2/src/plugins/pluginMagento2Base.js +64 -0
  120. package/dist/esm/shopify/src/addToCart.d.ts +12 -0
  121. package/dist/esm/shopify/src/addToCart.d.ts.map +1 -0
  122. package/dist/esm/shopify/src/addToCart.js +63 -0
  123. package/dist/esm/shopify/src/index.d.ts +5 -0
  124. package/dist/esm/shopify/src/index.d.ts.map +1 -0
  125. package/dist/esm/shopify/src/index.js +4 -0
  126. package/dist/esm/shopify/src/plugins/pluginShopifyAddToCart.d.ts +6 -0
  127. package/dist/esm/shopify/src/plugins/pluginShopifyAddToCart.d.ts.map +1 -0
  128. package/dist/esm/shopify/src/plugins/pluginShopifyAddToCart.js +11 -0
  129. package/dist/esm/shopify/src/plugins/pluginShopifyBackgroundFilters.d.ts +12 -0
  130. package/dist/esm/shopify/src/plugins/pluginShopifyBackgroundFilters.d.ts.map +1 -0
  131. package/dist/esm/shopify/src/plugins/pluginShopifyBackgroundFilters.js +56 -0
  132. package/dist/esm/shopify/src/plugins/pluginShopifyMutateResults.d.ts +16 -0
  133. package/dist/esm/shopify/src/plugins/pluginShopifyMutateResults.d.ts.map +1 -0
  134. package/dist/esm/shopify/src/plugins/pluginShopifyMutateResults.js +28 -0
  135. package/package.json +54 -0
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
+ if (ar || !(i in from)) {
41
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
+ ar[i] = from[i];
43
+ }
44
+ }
45
+ return to.concat(ar || Array.prototype.slice.call(from));
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.pluginBackgroundFilters = void 0;
49
+ var pluginBackgroundFilters = function (cntrlr, config) {
50
+ var _a, _b, _c;
51
+ // do nothing if plugin is disabled
52
+ if ((config === null || config === void 0 ? void 0 : config.enabled) === false)
53
+ return;
54
+ var backgroundFilters = [];
55
+ var contextBackgroundFilters = [];
56
+ if (Array.isArray((_a = cntrlr.context) === null || _a === void 0 ? void 0 : _a.backgroundFilters)) {
57
+ contextBackgroundFilters = contextBackgroundFilters.concat(cntrlr.context.backgroundFilters);
58
+ }
59
+ else if ((_b = cntrlr.context) === null || _b === void 0 ? void 0 : _b.backgroundFilters) {
60
+ cntrlr.log.warn('Context supplied backgroundFilters must be an array!');
61
+ }
62
+ var configBackgroundFilters = __spreadArray([], (((_c = config === null || config === void 0 ? void 0 : config.filters) === null || _c === void 0 ? void 0 : _c.length) ? config.filters : []), true);
63
+ var combinedBackgroundFilters = contextBackgroundFilters.concat(configBackgroundFilters);
64
+ combinedBackgroundFilters.forEach(function (filter) {
65
+ if (filter.field &&
66
+ filter.value &&
67
+ filter.type &&
68
+ ((filter.type === 'value' && (typeof filter.value === 'string' || typeof filter.value === 'number')) ||
69
+ (filter.type === 'range' && typeof filter.value === 'object'))) {
70
+ // filter by controller type
71
+ if (Array.isArray(filter.controllerTypes) && !filter.controllerTypes.includes(cntrlr.type)) {
72
+ return;
73
+ }
74
+ // filter by controller id
75
+ if (Array.isArray(filter.controllerIds) &&
76
+ !filter.controllerIds.includes(cntrlr.id) &&
77
+ !filter.controllerIds.some(function (id) { return id instanceof RegExp && cntrlr.id.match(id); })) {
78
+ return;
79
+ }
80
+ backgroundFilters.push({
81
+ type: filter.type,
82
+ field: filter.field,
83
+ value: filter.value,
84
+ background: true,
85
+ });
86
+ }
87
+ else {
88
+ cntrlr.log.error('Invalid filter in backgroundFilters: ', filter);
89
+ }
90
+ });
91
+ cntrlr.on('init', function (_a, next_1) { return __awaiter(void 0, [_a, next_1], void 0, function (_b, next) {
92
+ var controller = _b.controller;
93
+ return __generator(this, function (_c) {
94
+ switch (_c.label) {
95
+ case 0:
96
+ if (backgroundFilters.length) {
97
+ controller.config = controller.config || {};
98
+ controller.config.globals = controller.config.globals || {};
99
+ controller.config.globals.filters = controller.config.globals.filters || [];
100
+ controller.config.globals.filters = controller.config.globals.filters.concat(removeDuplicateFilters(backgroundFilters));
101
+ }
102
+ return [4 /*yield*/, next()];
103
+ case 1:
104
+ _c.sent();
105
+ return [2 /*return*/];
106
+ }
107
+ });
108
+ }); });
109
+ };
110
+ exports.pluginBackgroundFilters = pluginBackgroundFilters;
111
+ function removeDuplicateFilters(filters) {
112
+ var seen = new Set();
113
+ return filters.filter(function (filter) {
114
+ var _a, _b;
115
+ var filterValue = filter.type === 'range' ? "".concat((_a = filter.value) === null || _a === void 0 ? void 0 : _a.low, ":").concat((_b = filter.value) === null || _b === void 0 ? void 0 : _b.high) : filter.value;
116
+ var key = "".concat(filter.type, ":").concat(filter.field, ":").concat(filterValue);
117
+ if (!seen.has(key)) {
118
+ seen.add(key);
119
+ return true;
120
+ }
121
+ return false;
122
+ });
123
+ }
@@ -0,0 +1,5 @@
1
+ import type { AbstractController } from '@athoscommerce/snap-controller';
2
+ import { AbstractPluginConfig } from '../types';
3
+ export type PluginLoggerConfig = AbstractPluginConfig;
4
+ export declare const pluginLogger: (cntrlr: AbstractController, config?: PluginLoggerConfig) => void;
5
+ //# sourceMappingURL=pluginLogger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginLogger.d.ts","sourceRoot":"","sources":["../../../../../common/src/plugins/pluginLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEtD,eAAO,MAAM,YAAY,WAAY,kBAAkB,WAAW,kBAAkB,SASnF,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.pluginLogger = void 0;
40
+ var pluginLogger = function (cntrlr, config) {
41
+ // do nothing if plugin is disabled
42
+ if ((config === null || config === void 0 ? void 0 : config.enabled) === false)
43
+ return;
44
+ cntrlr.on('afterStore', function (_a, next_1) { return __awaiter(void 0, [_a, next_1], void 0, function (_b, next) {
45
+ var controller = _b.controller;
46
+ return __generator(this, function (_c) {
47
+ switch (_c.label) {
48
+ case 0:
49
+ controller.log.debug('store', controller.store.toJSON());
50
+ return [4 /*yield*/, next()];
51
+ case 1:
52
+ _c.sent();
53
+ return [2 /*return*/];
54
+ }
55
+ });
56
+ }); });
57
+ };
58
+ exports.pluginLogger = pluginLogger;
@@ -0,0 +1,13 @@
1
+ import type { AbstractController } from '@athoscommerce/snap-controller';
2
+ import { AbstractPluginConfig } from '../types';
3
+ export type ScrollBehavior = 'auto' | 'instant' | 'smooth';
4
+ export type PluginScrollToTopConfig = {
5
+ selector?: string;
6
+ options?: {
7
+ top?: number;
8
+ left?: number;
9
+ behavior?: ScrollBehavior;
10
+ };
11
+ } & AbstractPluginConfig;
12
+ export declare const pluginScrollToTop: (cntrlr: AbstractController, config?: PluginScrollToTopConfig) => void;
13
+ //# sourceMappingURL=pluginScrollToTop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginScrollToTop.d.ts","sourceRoot":"","sources":["../../../../../common/src/plugins/pluginScrollToTop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAwC,MAAM,gCAAgC,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC3D,MAAM,MAAM,uBAAuB,GAAG;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,cAAc,CAAC;KAC1B,CAAC;CACF,GAAG,oBAAoB,CAAC;AAEzB,eAAO,MAAM,iBAAiB,WAAY,kBAAkB,WAAW,uBAAuB,SA6B7F,CAAC"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.pluginScrollToTop = void 0;
40
+ var pluginScrollToTop = function (cntrlr, config) {
41
+ // do nothing if plugin is disabled
42
+ if ((config === null || config === void 0 ? void 0 : config.enabled) === false)
43
+ return;
44
+ // only applies to search controllers
45
+ if (cntrlr.type != 'search')
46
+ return;
47
+ cntrlr.on('restorePosition', function (_a, next_1) { return __awaiter(void 0, [_a, next_1], void 0, function (_b, next) {
48
+ var options_1, element_1, top_1;
49
+ var _c, _d;
50
+ var element = _b.element;
51
+ return __generator(this, function (_e) {
52
+ switch (_e.label) {
53
+ case 0:
54
+ if (!element && !((_d = (_c = cntrlr.config.settings) === null || _c === void 0 ? void 0 : _c.infinite) === null || _d === void 0 ? void 0 : _d.enabled)) {
55
+ options_1 = Object.assign({ top: 0, left: 0, behavior: 'smooth' }, (config === null || config === void 0 ? void 0 : config.options) || {});
56
+ if (config === null || config === void 0 ? void 0 : config.selector) {
57
+ element_1 = document.querySelector(config.selector);
58
+ if (element_1) {
59
+ top_1 = element_1.getBoundingClientRect().top;
60
+ options_1.top += top_1;
61
+ }
62
+ }
63
+ setTimeout(function () {
64
+ window.scroll(options_1);
65
+ });
66
+ }
67
+ return [4 /*yield*/, next()];
68
+ case 1:
69
+ _e.sent();
70
+ return [2 /*return*/];
71
+ }
72
+ });
73
+ }); });
74
+ };
75
+ exports.pluginScrollToTop = pluginScrollToTop;
@@ -0,0 +1,27 @@
1
+ import { ControllerTypes } from '@athoscommerce/snap-controller';
2
+ type ValueBackgroundFilter = {
3
+ type: 'value';
4
+ field: string;
5
+ value: string | number;
6
+ };
7
+ type RangeBackgroundFilter = {
8
+ type: 'range';
9
+ field: string;
10
+ value: {
11
+ low: number;
12
+ high: number;
13
+ };
14
+ };
15
+ export type PluginBackgroundFilter = ValueBackgroundFilter | RangeBackgroundFilter;
16
+ export type PluginBackgroundFilterGlobal = PluginBackgroundFilter & {
17
+ background: true;
18
+ };
19
+ export type PluginControl = {
20
+ controllerIds?: (string | RegExp)[];
21
+ controllerTypes?: (ControllerTypes | keyof typeof ControllerTypes)[];
22
+ };
23
+ export type AbstractPluginConfig = {
24
+ enabled?: boolean;
25
+ };
26
+ export {};
27
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../common/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,KAAK,qBAAqB,GAAG;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;AACnF,MAAM,MAAM,4BAA4B,GAAG,sBAAsB,GAAG;IAAE,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC;AACzF,MAAM,MAAM,aAAa,GAAG;IAC3B,aAAa,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,eAAe,GAAG,MAAM,OAAO,eAAe,CAAC,EAAE,CAAC;CACrE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import type { Product } from '@athoscommerce/snap-store-mobx';
2
+ export type Magento2AddToCartConfig = {
3
+ formKey?: string;
4
+ uenc?: string;
5
+ redirect?: boolean | string;
6
+ idFieldName?: string;
7
+ };
8
+ export declare const addToCart: (data: Product[], config?: Magento2AddToCartConfig) => Promise<void>;
9
+ //# sourceMappingURL=addToCart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addToCart.d.ts","sourceRoot":"","sources":["../../../../magento2/src/addToCart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAI9D,MAAM,MAAM,uBAAuB,GAAG;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAQF,eAAO,MAAM,SAAS,SAAgB,OAAO,EAAE,WAAW,uBAAuB,kBAuFhF,CAAC"}
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.addToCart = void 0;
40
+ var getFormKey_1 = require("./getFormKey");
41
+ var getUenc_1 = require("./getUenc");
42
+ var addToCart = function (data, config) { return __awaiter(void 0, void 0, void 0, function () {
43
+ var form_key, uenc, lineItems, _loop_1, i;
44
+ return __generator(this, function (_a) {
45
+ switch (_a.label) {
46
+ case 0:
47
+ if (!data) {
48
+ console.error('magento2/addToCart: No products to add!');
49
+ return [2 /*return*/];
50
+ }
51
+ form_key = (config === null || config === void 0 ? void 0 : config.formKey) || (0, getFormKey_1.getFormKey)();
52
+ uenc = (config === null || config === void 0 ? void 0 : config.uenc) || (0, getUenc_1.getUenc)();
53
+ lineItems = [];
54
+ data.map(function (item) { return __awaiter(void 0, void 0, void 0, function () {
55
+ var sku, level_1, attributes_1, options_1;
56
+ var _a, _b, _c, _d;
57
+ return __generator(this, function (_e) {
58
+ sku = (_b = (_a = item === null || item === void 0 ? void 0 : item.display) === null || _a === void 0 ? void 0 : _a.mappings.core) === null || _b === void 0 ? void 0 : _b.uid;
59
+ if (config === null || config === void 0 ? void 0 : config.idFieldName) {
60
+ level_1 = item;
61
+ config.idFieldName.split('.').map(function (field) {
62
+ if (level_1[field]) {
63
+ level_1 = level_1[field];
64
+ }
65
+ else {
66
+ console.error("magento2/addToCart: Could not find column in item data. Please verify 'idFieldName' in the config.");
67
+ return;
68
+ }
69
+ });
70
+ if (level_1 && level_1 !== item) {
71
+ sku = level_1;
72
+ }
73
+ }
74
+ if (sku && item.quantity) {
75
+ attributes_1 = [];
76
+ options_1 = (_d = (_c = item.variants) === null || _c === void 0 ? void 0 : _c.active) === null || _d === void 0 ? void 0 : _d.options;
77
+ if (options_1) {
78
+ Object.keys(options_1).forEach(function (option) {
79
+ var attrId = options_1[option].attributeId;
80
+ var optionId = options_1[option].optionId;
81
+ var attributeObj = {
82
+ name: attrId,
83
+ val: optionId,
84
+ };
85
+ attributes_1.push(attributeObj);
86
+ });
87
+ }
88
+ lineItems.push({
89
+ product_id: sku,
90
+ quantity: item.quantity,
91
+ attributes: attributes_1,
92
+ });
93
+ }
94
+ return [2 /*return*/];
95
+ });
96
+ }); });
97
+ if (!lineItems.length) return [3 /*break*/, 5];
98
+ _loop_1 = function (i) {
99
+ var itemData, quantity, form, response, err_1;
100
+ return __generator(this, function (_b) {
101
+ switch (_b.label) {
102
+ case 0:
103
+ itemData = lineItems[i];
104
+ quantity = itemData.quantity || 1;
105
+ form = new FormData();
106
+ form.append('product', itemData.product_id);
107
+ form.append('form_key', form_key || '');
108
+ form.append('uenc', uenc || '');
109
+ form.append('qty', quantity.toString());
110
+ itemData.attributes.forEach(function (att) {
111
+ form.append("super_attribute[".concat(att.name, "]"), att.val);
112
+ });
113
+ _b.label = 1;
114
+ case 1:
115
+ _b.trys.push([1, 3, , 4]);
116
+ return [4 /*yield*/, fetch(window.location.origin + '/checkout/cart/add/uenc/' + uenc + '/product/' + itemData.product_id + '/addon_product/1/', {
117
+ method: 'POST',
118
+ body: form,
119
+ })];
120
+ case 2:
121
+ response = _b.sent();
122
+ if (response.status !== 200) {
123
+ throw new Error("API rejected addToCart: ".concat(response.status));
124
+ }
125
+ return [3 /*break*/, 4];
126
+ case 3:
127
+ err_1 = _b.sent();
128
+ console.error('magento2/addToCart: Encountered an error!');
129
+ console.error(err_1);
130
+ return [3 /*break*/, 4];
131
+ case 4: return [2 /*return*/];
132
+ }
133
+ });
134
+ };
135
+ i = 0;
136
+ _a.label = 1;
137
+ case 1:
138
+ if (!(i < lineItems.length)) return [3 /*break*/, 4];
139
+ return [5 /*yield**/, _loop_1(i)];
140
+ case 2:
141
+ _a.sent();
142
+ _a.label = 3;
143
+ case 3:
144
+ i++;
145
+ return [3 /*break*/, 1];
146
+ case 4:
147
+ // do redirect (or not)
148
+ if ((config === null || config === void 0 ? void 0 : config.redirect) !== false) {
149
+ setTimeout(function () { return (window.location.href = typeof (config === null || config === void 0 ? void 0 : config.redirect) == 'string' ? config === null || config === void 0 ? void 0 : config.redirect : '/checkout/cart/'); });
150
+ }
151
+ _a.label = 5;
152
+ case 5: return [2 /*return*/];
153
+ }
154
+ });
155
+ }); };
156
+ exports.addToCart = addToCart;
@@ -0,0 +1,2 @@
1
+ export declare const getFormKey: () => string;
2
+ //# sourceMappingURL=getFormKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFormKey.d.ts","sourceRoot":"","sources":["../../../../magento2/src/getFormKey.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,cAGtB,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFormKey = void 0;
4
+ var snap_toolbox_1 = require("@athoscommerce/snap-toolbox");
5
+ var getFormKey = function () {
6
+ var formKey = snap_toolbox_1.cookies.get('form_key') ? snap_toolbox_1.cookies.get('form_key') : '';
7
+ return formKey;
8
+ };
9
+ exports.getFormKey = getFormKey;
@@ -0,0 +1,2 @@
1
+ export declare const getUenc: () => string;
2
+ //# sourceMappingURL=getUenc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUenc.d.ts","sourceRoot":"","sources":["../../../../magento2/src/getUenc.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,cAGnB,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUenc = void 0;
4
+ var getUenc = function () {
5
+ var _a;
6
+ var uenc = typeof btoa == 'function' ? btoa((_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.href) : '';
7
+ return uenc;
8
+ };
9
+ exports.getUenc = getUenc;
@@ -0,0 +1,7 @@
1
+ export { addToCart, Magento2AddToCartConfig as AddToCartConfig } from './addToCart';
2
+ export { getUenc } from './getUenc';
3
+ export { getFormKey } from './getFormKey';
4
+ export { pluginMagento2BackgroundFilters as pluginBackgroundFilters, PluginMagento2BackgroundFiltersConfig as PluginBackgroundFiltersConfig, } from './plugins/pluginMagento2BackgroundFilters';
5
+ export { pluginMagento2AddToCart as pluginAddToCart, PluginMagento2AddToCartConfig as PluginAddToCartConfig, } from './plugins/pluginMagento2AddToCart';
6
+ export { pluginMagento2Base as pluginBase, PluginMagento2BaseConfig as PluginBaseConfig } from './plugins/pluginMagento2Base';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../magento2/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACN,+BAA+B,IAAI,uBAAuB,EAC1D,qCAAqC,IAAI,6BAA6B,GACtE,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACN,uBAAuB,IAAI,eAAe,EAC1C,6BAA6B,IAAI,qBAAqB,GACtD,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,kBAAkB,IAAI,UAAU,EAAE,wBAAwB,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pluginBase = exports.pluginAddToCart = exports.pluginBackgroundFilters = exports.getFormKey = exports.getUenc = exports.addToCart = void 0;
4
+ var addToCart_1 = require("./addToCart");
5
+ Object.defineProperty(exports, "addToCart", { enumerable: true, get: function () { return addToCart_1.addToCart; } });
6
+ var getUenc_1 = require("./getUenc");
7
+ Object.defineProperty(exports, "getUenc", { enumerable: true, get: function () { return getUenc_1.getUenc; } });
8
+ var getFormKey_1 = require("./getFormKey");
9
+ Object.defineProperty(exports, "getFormKey", { enumerable: true, get: function () { return getFormKey_1.getFormKey; } });
10
+ var pluginMagento2BackgroundFilters_1 = require("./plugins/pluginMagento2BackgroundFilters");
11
+ Object.defineProperty(exports, "pluginBackgroundFilters", { enumerable: true, get: function () { return pluginMagento2BackgroundFilters_1.pluginMagento2BackgroundFilters; } });
12
+ var pluginMagento2AddToCart_1 = require("./plugins/pluginMagento2AddToCart");
13
+ Object.defineProperty(exports, "pluginAddToCart", { enumerable: true, get: function () { return pluginMagento2AddToCart_1.pluginMagento2AddToCart; } });
14
+ var pluginMagento2Base_1 = require("./plugins/pluginMagento2Base");
15
+ Object.defineProperty(exports, "pluginBase", { enumerable: true, get: function () { return pluginMagento2Base_1.pluginMagento2Base; } });
@@ -0,0 +1,6 @@
1
+ import type { AbstractController } from '@athoscommerce/snap-controller';
2
+ import { Magento2AddToCartConfig } from '../addToCart';
3
+ import type { AbstractPluginConfig } from '../../../common/src/types';
4
+ export type PluginMagento2AddToCartConfig = AbstractPluginConfig & Magento2AddToCartConfig;
5
+ export declare const pluginMagento2AddToCart: (cntrlr: AbstractController, config?: PluginMagento2AddToCartConfig) => void;
6
+ //# sourceMappingURL=pluginMagento2AddToCart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginMagento2AddToCart.d.ts","sourceRoot":"","sources":["../../../../../magento2/src/plugins/pluginMagento2AddToCart.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,MAAM,6BAA6B,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;AAE3F,eAAO,MAAM,uBAAuB,WAAY,kBAAkB,WAAW,6BAA6B,SAUzG,CAAC"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.pluginMagento2AddToCart = void 0;
40
+ var addToCart_1 = require("../addToCart");
41
+ var pluginMagento2AddToCart = function (cntrlr, config) {
42
+ // do nothing if plugin is disabled
43
+ if ((config === null || config === void 0 ? void 0 : config.enabled) === false)
44
+ return;
45
+ var addToCartMagento2Event = function (_a, next_1) { return __awaiter(void 0, [_a, next_1], void 0, function (_b, next) {
46
+ var products = _b.products;
47
+ return __generator(this, function (_c) {
48
+ switch (_c.label) {
49
+ case 0: return [4 /*yield*/, (0, addToCart_1.addToCart)(products, config)];
50
+ case 1:
51
+ _c.sent();
52
+ return [4 /*yield*/, next()];
53
+ case 2:
54
+ _c.sent();
55
+ return [2 /*return*/];
56
+ }
57
+ });
58
+ }); };
59
+ cntrlr.on('addToCart', addToCartMagento2Event);
60
+ };
61
+ exports.pluginMagento2AddToCart = pluginMagento2AddToCart;