qumra-engine 2.0.145 → 2.0.148

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 (297) hide show
  1. package/dist/config/initClient.d.ts +0 -0
  2. package/dist/config/initClient.js +46 -0
  3. package/dist/config/logger.d.ts +0 -0
  4. package/dist/config/logger.js +75 -0
  5. package/dist/controllers/article/create-comment.controller.d.ts +2 -0
  6. package/dist/controllers/article/create-comment.controller.js +17 -0
  7. package/dist/controllers/auth/activate-password-backignore.controller.d.ts +2 -0
  8. package/dist/controllers/auth/activate-password-backignore.controller.js +25 -0
  9. package/dist/controllers/auth/create-customer.controller.d.ts +2 -0
  10. package/dist/controllers/auth/create-customer.controller.js +24 -0
  11. package/dist/controllers/auth/customer-address.controller.d.ts +2 -0
  12. package/dist/controllers/auth/customer-address.controller.js +20 -0
  13. package/dist/controllers/auth/customer-login-verify.controller.d.ts +2 -0
  14. package/dist/controllers/auth/customer-login-verify.controller.js +21 -0
  15. package/dist/controllers/auth/customer-login.controller.d.ts +2 -0
  16. package/dist/controllers/auth/customer-login.controller.js +23 -0
  17. package/dist/controllers/auth/customer.controller.d.ts +2 -0
  18. package/dist/controllers/auth/customer.controller.js +25 -0
  19. package/dist/controllers/auth/guest-login-backignore.controller.d.ts +2 -0
  20. package/dist/controllers/auth/guest-login-backignore.controller.js +25 -0
  21. package/dist/controllers/auth/recover-password-backignore.controller.d.ts +2 -0
  22. package/dist/controllers/auth/recover-password-backignore.controller.js +26 -0
  23. package/dist/controllers/auth/reset-password-backignore.controller.d.ts +2 -0
  24. package/dist/controllers/auth/reset-password-backignore.controller.js +25 -0
  25. package/dist/controllers/auth/storefront-password-backignore.controller.d.ts +2 -0
  26. package/dist/controllers/auth/storefront-password-backignore.controller.js +25 -0
  27. package/dist/controllers/cart/add-to-cart.controller.d.ts +2 -0
  28. package/dist/controllers/cart/add-to-cart.controller.js +20 -0
  29. package/dist/controllers/cart/update-cart.controller.d.ts +2 -0
  30. package/dist/controllers/cart/update-cart.controller.js +26 -0
  31. package/dist/controllers/checkout/checkout.controller.d.ts +2 -0
  32. package/dist/controllers/checkout/checkout.controller.js +23 -0
  33. package/dist/controllers/contact/contact.controller.d.ts +2 -0
  34. package/dist/controllers/contact/contact.controller.js +20 -0
  35. package/dist/controllers/localize/currency.controller.d.ts +2 -0
  36. package/dist/controllers/localize/currency.controller.js +17 -0
  37. package/dist/controllers/localize/lang.controller.d.ts +2 -0
  38. package/dist/controllers/localize/lang.controller.js +18 -0
  39. package/dist/controllers/localize/market.controller.d.ts +2 -0
  40. package/dist/controllers/localize/market.controller.js +17 -0
  41. package/dist/extensions/Iteration/break.d.ts +9 -0
  42. package/dist/extensions/Iteration/break.js +23 -0
  43. package/dist/extensions/Iteration/continue.d.ts +2 -0
  44. package/dist/extensions/Iteration/continue.js +10 -0
  45. package/dist/extensions/{logic/form.d.ts → Iteration/cycle.d.ts} +1 -2
  46. package/dist/extensions/Iteration/cycle.js +26 -0
  47. package/dist/extensions/Iteration/forx.d.ts +6 -0
  48. package/dist/extensions/Iteration/forx.js +69 -0
  49. package/dist/extensions/Iteration/index.d.ts +2 -0
  50. package/dist/extensions/Iteration/index.js +10 -0
  51. package/dist/extensions/html/form.d.ts +13 -0
  52. package/dist/extensions/html/form.js +77 -0
  53. package/dist/extensions/html/index.d.ts +2 -0
  54. package/dist/extensions/html/index.js +10 -0
  55. package/dist/extensions/html/style.d.ts +7 -0
  56. package/dist/extensions/html/style.js +26 -0
  57. package/dist/extensions/index.d.ts +3 -11
  58. package/dist/extensions/index.js +16 -25
  59. package/dist/extensions/logic/all_products.d.ts +6 -0
  60. package/dist/extensions/logic/all_products.js +55 -0
  61. package/dist/extensions/logic/content.js +3 -0
  62. package/dist/extensions/logic/echo.d.ts +7 -0
  63. package/dist/extensions/logic/echo.js +22 -0
  64. package/dist/extensions/logic/index.d.ts +12 -0
  65. package/dist/extensions/logic/index.js +31 -0
  66. package/dist/extensions/logic/log.d.ts +6 -0
  67. package/dist/extensions/logic/log.js +26 -0
  68. package/dist/extensions/logic/template.js +3 -0
  69. package/dist/extensions/logic/ui.js +4 -1
  70. package/dist/extensions/registerAllExtensions.d.ts +1 -1
  71. package/dist/extensions/registerAllExtensions.js +7 -5
  72. package/dist/filters/index.d.ts +10 -10
  73. package/dist/filters/index.js +25 -21
  74. package/dist/filters/logic/array/find_index.d.ts +1 -0
  75. package/dist/filters/logic/array/find_index.js +8 -0
  76. package/dist/filters/logic/array/has.d.ts +1 -0
  77. package/dist/filters/logic/array/has.js +9 -0
  78. package/dist/filters/logic/array/index.d.ts +19 -0
  79. package/dist/filters/logic/array/index.js +44 -0
  80. package/dist/filters/logic/array/map.d.ts +1 -0
  81. package/dist/filters/logic/array/map.js +9 -0
  82. package/dist/filters/logic/array/reject.d.ts +1 -0
  83. package/dist/filters/logic/array/reject.js +15 -0
  84. package/dist/filters/logic/array/reverse.d.ts +1 -0
  85. package/dist/filters/logic/array/reverse.js +9 -0
  86. package/dist/filters/logic/array/sort.d.ts +1 -0
  87. package/dist/filters/logic/array/sort.js +20 -0
  88. package/dist/filters/logic/array/sort_natural.d.ts +1 -0
  89. package/dist/filters/logic/array/sort_natural.js +20 -0
  90. package/dist/filters/logic/array/sum.d.ts +1 -0
  91. package/dist/filters/logic/array/sum.js +9 -0
  92. package/dist/filters/logic/array/uniq.d.ts +1 -0
  93. package/dist/filters/logic/array/uniq.js +9 -0
  94. package/dist/filters/logic/array/uniq_by.d.ts +1 -0
  95. package/dist/filters/logic/array/uniq_by.js +29 -0
  96. package/dist/filters/logic/cart/index.d.ts +2 -0
  97. package/dist/filters/logic/cart/index.js +10 -0
  98. package/dist/filters/logic/cart/item_count_for_variant.d.ts +1 -0
  99. package/dist/filters/logic/cart/item_count_for_variant.js +11 -0
  100. package/dist/filters/logic/cart/line_items_for.d.ts +1 -0
  101. package/dist/filters/logic/cart/line_items_for.js +15 -0
  102. package/dist/filters/logic/colors/brightness_difference.d.ts +1 -0
  103. package/dist/filters/logic/colors/brightness_difference.js +12 -0
  104. package/dist/filters/logic/colors/color_brightness.d.ts +1 -0
  105. package/dist/filters/logic/colors/color_brightness.js +7 -0
  106. package/dist/filters/logic/colors/color_contrast.d.ts +1 -0
  107. package/dist/filters/logic/colors/color_contrast.js +12 -0
  108. package/dist/filters/logic/colors/color_darken.d.ts +1 -0
  109. package/dist/filters/logic/colors/color_darken.js +7 -0
  110. package/dist/filters/logic/colors/color_desaturate.d.ts +1 -0
  111. package/dist/filters/logic/colors/color_desaturate.js +7 -0
  112. package/dist/filters/logic/colors/color_difference.d.ts +1 -0
  113. package/dist/filters/logic/colors/color_difference.js +12 -0
  114. package/dist/filters/logic/colors/color_extract.d.ts +1 -0
  115. package/dist/filters/logic/colors/color_extract.js +22 -0
  116. package/dist/filters/logic/colors/color_lighten.d.ts +1 -0
  117. package/dist/filters/logic/colors/color_lighten.js +7 -0
  118. package/dist/filters/logic/colors/color_mix.d.ts +1 -0
  119. package/dist/filters/logic/colors/color_mix.js +12 -0
  120. package/dist/filters/logic/colors/color_modify.d.ts +1 -0
  121. package/dist/filters/logic/colors/color_modify.js +26 -0
  122. package/dist/filters/logic/colors/color_saturate.d.ts +1 -0
  123. package/dist/filters/logic/colors/color_saturate.js +7 -0
  124. package/dist/filters/logic/colors/color_to_hsl.d.ts +1 -0
  125. package/dist/filters/logic/colors/color_to_hsl.js +7 -0
  126. package/dist/filters/logic/colors/color_to_oklch.d.ts +1 -0
  127. package/dist/filters/logic/colors/color_to_oklch.js +12 -0
  128. package/dist/filters/logic/colors/color_to_rgb.d.ts +1 -0
  129. package/dist/filters/logic/colors/color_to_rgb.js +7 -0
  130. package/dist/filters/logic/colors/hex_to_rgba.d.ts +1 -0
  131. package/dist/filters/logic/colors/hex_to_rgba.js +7 -0
  132. package/dist/filters/logic/colors/index.d.ts +16 -0
  133. package/dist/filters/logic/colors/index.js +38 -0
  134. package/dist/filters/logic/customer/customer_login_link.d.ts +2 -0
  135. package/dist/filters/logic/customer/customer_login_link.js +10 -0
  136. package/dist/filters/logic/customer/customer_logout_link.d.ts +2 -0
  137. package/dist/filters/logic/customer/customer_logout_link.js +10 -0
  138. package/dist/filters/logic/customer/customer_register_link.d.ts +2 -0
  139. package/dist/filters/logic/customer/customer_register_link.js +10 -0
  140. package/dist/filters/logic/customer/index.d.ts +4 -0
  141. package/dist/filters/logic/customer/index.js +14 -0
  142. package/dist/filters/logic/customer/login_button.d.ts +7 -0
  143. package/dist/filters/logic/customer/login_button.js +39 -0
  144. package/dist/filters/logic/default/default_pagination.d.ts +10 -0
  145. package/dist/filters/logic/default/default_pagination.js +41 -0
  146. package/dist/filters/logic/default/index.d.ts +1 -0
  147. package/dist/filters/logic/default/index.js +8 -0
  148. package/dist/filters/logic/format/date.d.ts +1 -0
  149. package/dist/filters/logic/format/date.js +13 -0
  150. package/dist/filters/logic/format/index.d.ts +4 -0
  151. package/dist/filters/logic/format/index.js +14 -0
  152. package/dist/filters/logic/format/structured_data.d.ts +2 -0
  153. package/dist/filters/logic/format/structured_data.js +11 -0
  154. package/dist/filters/logic/format/unit_price_with_measurement.d.ts +1 -0
  155. package/dist/filters/logic/format/unit_price_with_measurement.js +9 -0
  156. package/dist/filters/logic/format/weight_with_unit.d.ts +1 -0
  157. package/dist/filters/logic/format/weight_with_unit.js +12 -0
  158. package/dist/filters/logic/html/highlight.d.ts +1 -0
  159. package/dist/filters/logic/html/highlight.js +22 -0
  160. package/dist/filters/logic/html/index.d.ts +7 -0
  161. package/dist/filters/logic/html/index.js +20 -0
  162. package/dist/filters/logic/html/link_to.d.ts +8 -0
  163. package/dist/filters/logic/html/link_to.js +30 -0
  164. package/dist/filters/logic/html/placeholder_svg_tag.d.ts +7 -0
  165. package/dist/filters/logic/html/placeholder_svg_tag.js +28 -0
  166. package/dist/filters/logic/html/preload_tag.d.ts +7 -0
  167. package/dist/filters/logic/html/preload_tag.js +27 -0
  168. package/dist/filters/logic/html/script_tag.d.ts +7 -0
  169. package/dist/filters/logic/html/script_tag.js +30 -0
  170. package/dist/filters/logic/html/stylesheet_tag.d.ts +8 -0
  171. package/dist/filters/logic/html/stylesheet_tag.js +29 -0
  172. package/dist/filters/logic/html/time_tag.d.ts +7 -0
  173. package/dist/filters/logic/html/time_tag.js +28 -0
  174. package/dist/filters/logic/localization/currency_selector.d.ts +7 -0
  175. package/dist/filters/logic/localization/currency_selector.js +54 -0
  176. package/dist/filters/logic/localization/format_address.d.ts +13 -0
  177. package/dist/filters/logic/localization/format_address.js +51 -0
  178. package/dist/filters/logic/localization/index.d.ts +2 -0
  179. package/dist/filters/logic/localization/index.js +10 -0
  180. package/dist/filters/logic/math/abs.d.ts +1 -0
  181. package/dist/filters/logic/math/abs.js +9 -0
  182. package/dist/filters/logic/math/at_least.d.ts +1 -0
  183. package/dist/filters/logic/math/at_least.js +10 -0
  184. package/dist/filters/logic/math/at_most.d.ts +1 -0
  185. package/dist/filters/logic/math/at_most.js +10 -0
  186. package/dist/filters/logic/math/ceil.d.ts +1 -0
  187. package/dist/filters/logic/math/ceil.js +9 -0
  188. package/dist/filters/logic/math/divided_by.d.ts +1 -0
  189. package/dist/filters/logic/math/divided_by.js +10 -0
  190. package/dist/filters/logic/math/floor.d.ts +1 -0
  191. package/dist/filters/logic/math/floor.js +9 -0
  192. package/dist/filters/logic/math/index.d.ts +11 -0
  193. package/dist/filters/logic/math/index.js +28 -0
  194. package/dist/filters/logic/math/minus.d.ts +1 -0
  195. package/dist/filters/logic/math/minus.js +10 -0
  196. package/dist/filters/logic/math/modulo.d.ts +1 -0
  197. package/dist/filters/logic/math/modulo.js +10 -0
  198. package/dist/filters/logic/math/plus.d.ts +1 -0
  199. package/dist/filters/logic/math/plus.js +10 -0
  200. package/dist/filters/logic/math/round.d.ts +1 -0
  201. package/dist/filters/logic/math/round.js +10 -0
  202. package/dist/filters/logic/math/times.d.ts +1 -0
  203. package/dist/filters/logic/math/times.js +10 -0
  204. package/dist/filters/logic/media/external_video_tag.d.ts +11 -0
  205. package/dist/filters/logic/media/external_video_tag.js +16 -0
  206. package/dist/filters/logic/media/external_video_url.d.ts +6 -0
  207. package/dist/filters/logic/media/external_video_url.js +12 -0
  208. package/dist/filters/logic/media/image_tag.d.ts +11 -0
  209. package/dist/filters/logic/media/image_tag.js +30 -0
  210. package/dist/filters/logic/media/image_url.d.ts +9 -0
  211. package/dist/filters/logic/media/image_url.js +8 -0
  212. package/dist/filters/logic/media/index.d.ts +8 -0
  213. package/dist/filters/logic/media/index.js +22 -0
  214. package/dist/filters/logic/media/media_tag.d.ts +8 -0
  215. package/dist/filters/logic/media/media_tag.js +25 -0
  216. package/dist/filters/logic/media/model_viewer_tag.d.ts +7 -0
  217. package/dist/filters/logic/media/model_viewer_tag.js +14 -0
  218. package/dist/filters/logic/media/video_tag.d.ts +11 -0
  219. package/dist/filters/logic/media/video_tag.js +14 -0
  220. package/dist/filters/logic/syntax/echo.d.ts +1 -0
  221. package/dist/filters/logic/syntax/echo.js +8 -0
  222. package/dist/functions/set-optional-param.d.ts +1 -0
  223. package/dist/functions/set-optional-param.js +11 -0
  224. package/dist/globals/index.d.ts +1 -0
  225. package/dist/globals/index.js +3 -1
  226. package/dist/globals/logic/all_products.d.ts +7 -0
  227. package/dist/globals/logic/all_products.js +43 -0
  228. package/dist/graphql/index.d.ts +3 -0
  229. package/dist/graphql/index.js +40 -0
  230. package/dist/graphql/mutation/createCustomerAddresses.d.ts +2 -0
  231. package/dist/graphql/mutation/createCustomerAddresses.js +32 -0
  232. package/dist/graphql/mutation/customerLogin.d.ts +2 -0
  233. package/dist/graphql/mutation/customerLogin.js +11 -0
  234. package/dist/graphql/mutation/customerSignup.d.ts +2 -0
  235. package/dist/graphql/mutation/customerSignup.js +10 -0
  236. package/dist/graphql/mutation/customerVerifyOtp.d.ts +2 -0
  237. package/dist/graphql/mutation/customerVerifyOtp.js +13 -0
  238. package/dist/graphql/mutation/index.d.ts +5 -0
  239. package/dist/graphql/mutation/index.js +14 -0
  240. package/dist/graphql/query/findAllProducts.d.ts +2 -0
  241. package/dist/graphql/query/findAllProducts.js +93 -0
  242. package/dist/graphql/query/index.d.ts +2 -0
  243. package/dist/graphql/query/index.js +8 -0
  244. package/dist/index.local.d.ts +1 -0
  245. package/dist/index.local.js +11 -0
  246. package/dist/middleware/init.middleware.js +16 -0
  247. package/dist/middleware/locals.middleware.js +1 -1
  248. package/dist/middleware/prepareData.middleware.js +13 -17
  249. package/dist/middleware/render.middleware.js +6 -0
  250. package/dist/middleware/setGlobals.middleware.js +5 -0
  251. package/dist/middleware.d.ts +1 -1
  252. package/dist/middleware.js +33 -49
  253. package/dist/routers/dev/index.js +5 -0
  254. package/dist/routers/production/auth/index.d.ts +2 -0
  255. package/dist/routers/production/auth/index.js +16 -0
  256. package/dist/routers/production/auth/login/index.d.ts +2 -0
  257. package/dist/routers/production/auth/login/index.js +7 -0
  258. package/dist/routers/production/auth/logout/index.d.ts +2 -0
  259. package/dist/routers/production/auth/logout/index.js +8 -0
  260. package/dist/routers/production/auth/signup/index.d.ts +2 -0
  261. package/dist/routers/production/auth/signup/index.js +7 -0
  262. package/dist/routers/production/auth/verify/index.d.ts +2 -0
  263. package/dist/routers/production/auth/verify/index.js +7 -0
  264. package/dist/routers/production/cart/add/index.d.ts +2 -0
  265. package/dist/routers/production/cart/add/index.js +7 -0
  266. package/dist/routers/production/cart/index.d.ts +2 -0
  267. package/dist/routers/production/cart/index.js +12 -0
  268. package/dist/routers/production/cart/update/index.d.ts +2 -0
  269. package/dist/routers/production/cart/update/index.js +7 -0
  270. package/dist/routers/production/checkout/buy-now/index.d.ts +2 -0
  271. package/dist/routers/production/checkout/buy-now/index.js +7 -0
  272. package/dist/routers/production/checkout/create-order/index.d.ts +2 -0
  273. package/dist/routers/production/checkout/create-order/index.js +7 -0
  274. package/dist/routers/production/checkout/index.d.ts +2 -0
  275. package/dist/routers/production/checkout/index.js +12 -0
  276. package/dist/routers/production/index.d.ts +2 -0
  277. package/dist/routers/production/index.js +14 -0
  278. package/dist/routers/production/localize/currency/index.d.ts +2 -0
  279. package/dist/routers/production/localize/currency/index.js +7 -0
  280. package/dist/routers/production/localize/index.d.ts +2 -0
  281. package/dist/routers/production/localize/index.js +14 -0
  282. package/dist/routers/production/localize/lang/index.d.ts +2 -0
  283. package/dist/routers/production/localize/lang/index.js +7 -0
  284. package/dist/routers/production/localize/market/index.d.ts +2 -0
  285. package/dist/routers/production/localize/market/index.js +7 -0
  286. package/dist/utils/axios.d.ts +10 -0
  287. package/dist/utils/axios.js +25 -0
  288. package/dist/utils/client.d.ts +2 -0
  289. package/dist/utils/client.js +23 -0
  290. package/package.json +6 -1
  291. package/dist/controllers/auth/login.d.ts +0 -2
  292. package/dist/controllers/auth/login.js +0 -21
  293. package/dist/extensions/logic/form.js +0 -41
  294. package/dist/routers/index.js +0 -10
  295. /package/dist/controllers/auth/{logout.d.ts → logout.controller.d.ts} +0 -0
  296. /package/dist/controllers/auth/{logout.js → logout.controller.js} +0 -0
  297. /package/dist/routers/{index.d.ts → dev/index.d.ts} +0 -0
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BreakException = void 0;
4
+ class BreakException extends Error {
5
+ constructor() {
6
+ super("NunjucksBreak");
7
+ this.name = "NunjucksBreak";
8
+ }
9
+ }
10
+ exports.BreakException = BreakException;
11
+ exports.default = new (class BreakExtension {
12
+ constructor() {
13
+ this.tags = ["break"];
14
+ }
15
+ parse(parser, nodes) {
16
+ const tok = parser.nextToken();
17
+ parser.advanceAfterBlockEnd(tok.value);
18
+ return new nodes.CallExtension(this, "run");
19
+ }
20
+ run() {
21
+ throw new BreakException();
22
+ }
23
+ })();
@@ -0,0 +1,2 @@
1
+ export { default as form } from './break';
2
+ export { default as style } from './cycle';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.style = exports.form = void 0;
7
+ var break_1 = require("./break");
8
+ Object.defineProperty(exports, "form", { enumerable: true, get: function () { return __importDefault(break_1).default; } });
9
+ var cycle_1 = require("./cycle");
10
+ Object.defineProperty(exports, "style", { enumerable: true, get: function () { return __importDefault(cycle_1).default; } });
@@ -2,7 +2,6 @@ import nunjucks from 'nunjucks';
2
2
  declare const _default: {
3
3
  tags: string[];
4
4
  parse(parser: any, nodes: any): any;
5
- run(context: any, type: string, options: any | undefined, body: any): nunjucks.runtime.SafeString;
6
- getDefaultAction(type: string): string;
5
+ run(context: any, body: () => string): nunjucks.runtime.SafeString;
7
6
  };
8
7
  export default _default;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const nunjucks_1 = __importDefault(require("nunjucks"));
7
+ exports.default = new (class StyleExtension {
8
+ constructor() {
9
+ this.tags = ['style'];
10
+ }
11
+ parse(parser, nodes) {
12
+ const tok = parser.nextToken();
13
+ parser.advanceAfterBlockEnd(tok.value);
14
+ const body = parser.parseUntilBlocks('endstyle');
15
+ parser.advanceAfterBlockEnd();
16
+ return new nodes.CallExtension(this, 'run', null, [body]);
17
+ }
18
+ run(context, body) {
19
+ const bodyContent = body ? body() : '';
20
+ return new nunjucks_1.default.runtime.SafeString(`
21
+ <style>
22
+ ${bodyContent}
23
+ </style>
24
+ `);
25
+ }
26
+ })();
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ tags: string[];
3
+ parse(parser: any, nodes: any): any;
4
+ run(context: any, variableName: string, iterable: any, body: any, elseBody: any): any;
5
+ };
6
+ export default _default;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const nunjucks_1 = __importDefault(require("nunjucks"));
7
+ exports.default = new (class ForxExtension {
8
+ constructor() {
9
+ this.tags = ["forx"];
10
+ }
11
+ parse(parser, nodes) {
12
+ const tok = parser.nextToken();
13
+ const variableToken = parser.nextToken();
14
+ const nextTok = parser.nextToken();
15
+ if (!nextTok || nextTok.value !== "in") {
16
+ parser.fail("Expected 'in' keyword in forx statement", nextTok.lineno, nextTok.colno);
17
+ }
18
+ const iterable = parser.parseExpression();
19
+ parser.advanceAfterBlockEnd(tok.value);
20
+ const body = parser.parseUntilBlocks("elseforx", "endforx");
21
+ let elseBody = null;
22
+ if (parser.skipSymbol("elseforx")) {
23
+ parser.advanceAfterBlockEnd("elseforx");
24
+ elseBody = parser.parseUntilBlocks("endforx");
25
+ }
26
+ parser.advanceAfterBlockEnd();
27
+ const args = new nodes.NodeList();
28
+ args.addChild(new nodes.Literal(variableToken.value));
29
+ args.addChild(iterable);
30
+ return new nodes.CallExtension(this, "run", args, [body, elseBody]);
31
+ }
32
+ run(context, variableName, iterable, body, elseBody) {
33
+ if (typeof iterable === "function")
34
+ iterable = iterable();
35
+ if (!iterable || (Array.isArray(iterable) && iterable.length === 0))
36
+ return elseBody ? elseBody() : "";
37
+ const entries = Array.isArray(iterable)
38
+ ? iterable.map((v, i) => [i, v])
39
+ : typeof iterable === "object"
40
+ ? Object.entries(iterable)
41
+ : [];
42
+ let output = "";
43
+ for (let idx = 0; idx < entries.length; idx++) {
44
+ const [key, value] = entries[idx];
45
+ const loopObj = {
46
+ index: idx + 1,
47
+ index0: idx,
48
+ revindex: entries.length - idx,
49
+ revindex0: entries.length - idx - 1,
50
+ first: idx === 0,
51
+ last: idx === entries.length - 1,
52
+ key,
53
+ length: entries.length,
54
+ };
55
+ // ✅ احفظ القيم القديمة مؤقتًا
56
+ const oldVar = context.lookup(variableName);
57
+ const oldLoop = context.lookup("loop");
58
+ // ✅ اضبط المتغيرات الجديدة
59
+ context.setVariable(variableName, value);
60
+ context.setVariable("loop", loopObj);
61
+ // ✅ نفّذ الـ body في نفس الـ context
62
+ output += body();
63
+ // ✅ ارجع القيم القديمة
64
+ context.setVariable(variableName, oldVar);
65
+ context.setVariable("loop", oldLoop);
66
+ }
67
+ return new nunjucks_1.default.runtime.SafeString(output);
68
+ }
69
+ })();
@@ -0,0 +1,2 @@
1
+ export { default as break } from './break';
2
+ export { default as forx } from './forx';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.forx = exports.break = void 0;
7
+ var break_1 = require("./break");
8
+ Object.defineProperty(exports, "break", { enumerable: true, get: function () { return __importDefault(break_1).default; } });
9
+ var forx_1 = require("./forx");
10
+ Object.defineProperty(exports, "forx", { enumerable: true, get: function () { return __importDefault(forx_1).default; } });
@@ -0,0 +1,13 @@
1
+ import nunjucks from 'nunjucks';
2
+ declare const _default: {
3
+ tags: string[];
4
+ parse(parser: any, nodes: any): any;
5
+ run(context: any, type: string, options?: Record<string, any>, body?: any): nunjucks.runtime.SafeString;
6
+ /**
7
+ * يحوّل الكائن إلى سلسلة Attributes مثل class="..." id="..."
8
+ */
9
+ buildAttributes(attrs: Record<string, any>): string;
10
+ escapeHtml(str: string): string;
11
+ getDefaultAction(type: string): string;
12
+ };
13
+ export default _default;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const nunjucks_1 = __importDefault(require("nunjucks"));
7
+ exports.default = new (class FormExtension {
8
+ constructor() {
9
+ this.tags = ['form'];
10
+ }
11
+ parse(parser, nodes) {
12
+ const tok = parser.nextToken();
13
+ const args = parser.parseSignature(true, true);
14
+ parser.advanceAfterBlockEnd(tok.value);
15
+ const body = parser.parseUntilBlocks('endform');
16
+ parser.advanceAfterBlockEnd();
17
+ // ✅ الـ true الأخيرة مهمة لتفعيل block body
18
+ return new nodes.CallExtension(this, 'run', args, [body], true);
19
+ }
20
+ run(context, type, options = {}, body) {
21
+ // 🧩 إصلاح ترتيب المعاملات لما المستخدم ما يمررش options
22
+ if (typeof options === 'function' && body === undefined) {
23
+ body = options;
24
+ options = {};
25
+ }
26
+ const action = options.action || this.getDefaultAction(type);
27
+ // 🧠 حوّل باقي الخصائص إلى attributes داخل <form>
28
+ const extraAttrs = this.buildAttributes({
29
+ ...options,
30
+ action: undefined,
31
+ __keywords: undefined,
32
+ });
33
+ const bodyContent = typeof body === 'function'
34
+ ? body()
35
+ : body || '';
36
+ return new nunjucks_1.default.runtime.SafeString(`
37
+ <form method="POST" action="${action}" ${extraAttrs}>
38
+ ${bodyContent}
39
+ </form>
40
+ `);
41
+ }
42
+ /**
43
+ * يحوّل الكائن إلى سلسلة Attributes مثل class="..." id="..."
44
+ */
45
+ buildAttributes(attrs) {
46
+ return Object.entries(attrs)
47
+ .filter(([_, value]) => value !== undefined && value !== null && value !== '')
48
+ .map(([key, value]) => `${key}="${this.escapeHtml(String(value))}"`)
49
+ .join(' ');
50
+ }
51
+ escapeHtml(str) {
52
+ return str
53
+ .replace(/&/g, '&amp;')
54
+ .replace(/"/g, '&quot;')
55
+ .replace(/'/g, '&#39;')
56
+ .replace(/</g, '&lt;')
57
+ .replace(/>/g, '&gt;');
58
+ }
59
+ getDefaultAction(type) {
60
+ switch (type) {
61
+ case 'lang':
62
+ return '/localize/lang';
63
+ case 'currency':
64
+ return '/localize/currency';
65
+ case 'market':
66
+ return '/localize/market';
67
+ case 'login':
68
+ return '/auth/login';
69
+ case 'customer_verify':
70
+ return '/auth/verify';
71
+ case 'create_customer':
72
+ return '/auth/signup';
73
+ default:
74
+ return '/';
75
+ }
76
+ }
77
+ })();
@@ -0,0 +1,2 @@
1
+ export { default as form } from './form';
2
+ export { default as style } from './style';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.style = exports.form = void 0;
7
+ var form_1 = require("./form");
8
+ Object.defineProperty(exports, "form", { enumerable: true, get: function () { return __importDefault(form_1).default; } });
9
+ var style_1 = require("./style");
10
+ Object.defineProperty(exports, "style", { enumerable: true, get: function () { return __importDefault(style_1).default; } });
@@ -0,0 +1,7 @@
1
+ import nunjucks from 'nunjucks';
2
+ declare const _default: {
3
+ tags: string[];
4
+ parse(parser: any, nodes: any): any;
5
+ run(context: any, body: () => string): nunjucks.runtime.SafeString;
6
+ };
7
+ export default _default;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const nunjucks_1 = __importDefault(require("nunjucks"));
7
+ exports.default = new (class StyleExtension {
8
+ constructor() {
9
+ this.tags = ['style'];
10
+ }
11
+ parse(parser, nodes) {
12
+ const tok = parser.nextToken();
13
+ parser.advanceAfterBlockEnd(tok.value);
14
+ const body = parser.parseUntilBlocks('endstyle');
15
+ parser.advanceAfterBlockEnd();
16
+ return new nodes.CallExtension(this, 'run', null, [body]);
17
+ }
18
+ run(context, body) {
19
+ const bodyContent = body ? body() : '';
20
+ return new nunjucks_1.default.runtime.SafeString(`
21
+ <style>
22
+ ${bodyContent}
23
+ </style>
24
+ `);
25
+ }
26
+ })();
@@ -1,11 +1,3 @@
1
- export { default as seo } from './logic/seo';
2
- export { default as widget } from './logic/widget';
3
- export { default as form } from './logic/form';
4
- export { default as header } from './logic/header';
5
- export { default as footer } from './logic/footer';
6
- export { default as content } from './logic/content';
7
- export { default as qumra_head } from './logic/qumra-head';
8
- export { default as qumra_scripts } from './logic/qumra-scripts';
9
- export { default as include } from './logic/ui';
10
- export { default as preview_widget } from './logic/preview-widget';
11
- export { default as template } from './logic/template';
1
+ export * from './html';
2
+ export * from './logic';
3
+ export * from './Iteration';
@@ -1,28 +1,19 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
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);
4
15
  };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.template = exports.preview_widget = exports.include = exports.qumra_scripts = exports.qumra_head = exports.content = exports.footer = exports.header = exports.form = exports.widget = exports.seo = void 0;
7
- var seo_1 = require("./logic/seo");
8
- Object.defineProperty(exports, "seo", { enumerable: true, get: function () { return __importDefault(seo_1).default; } });
9
- var widget_1 = require("./logic/widget");
10
- Object.defineProperty(exports, "widget", { enumerable: true, get: function () { return __importDefault(widget_1).default; } });
11
- var form_1 = require("./logic/form");
12
- Object.defineProperty(exports, "form", { enumerable: true, get: function () { return __importDefault(form_1).default; } });
13
- var header_1 = require("./logic/header");
14
- Object.defineProperty(exports, "header", { enumerable: true, get: function () { return __importDefault(header_1).default; } });
15
- var footer_1 = require("./logic/footer");
16
- Object.defineProperty(exports, "footer", { enumerable: true, get: function () { return __importDefault(footer_1).default; } });
17
- var content_1 = require("./logic/content");
18
- Object.defineProperty(exports, "content", { enumerable: true, get: function () { return __importDefault(content_1).default; } });
19
- var qumra_head_1 = require("./logic/qumra-head");
20
- Object.defineProperty(exports, "qumra_head", { enumerable: true, get: function () { return __importDefault(qumra_head_1).default; } });
21
- var qumra_scripts_1 = require("./logic/qumra-scripts");
22
- Object.defineProperty(exports, "qumra_scripts", { enumerable: true, get: function () { return __importDefault(qumra_scripts_1).default; } });
23
- var ui_1 = require("./logic/ui");
24
- Object.defineProperty(exports, "include", { enumerable: true, get: function () { return __importDefault(ui_1).default; } });
25
- var preview_widget_1 = require("./logic/preview-widget");
26
- Object.defineProperty(exports, "preview_widget", { enumerable: true, get: function () { return __importDefault(preview_widget_1).default; } });
27
- var template_1 = require("./logic/template");
28
- Object.defineProperty(exports, "template", { enumerable: true, get: function () { return __importDefault(template_1).default; } });
17
+ __exportStar(require("./html"), exports);
18
+ __exportStar(require("./logic"), exports);
19
+ __exportStar(require("./Iteration"), exports);
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ tags: string[];
3
+ parse(parser: any, nodes: any): any;
4
+ run(_context: any, args: Record<string, any> | undefined, callback: (err: any, result?: any) => void): Promise<void>;
5
+ };
6
+ export default _default;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const nunjucks_1 = __importDefault(require("nunjucks"));
7
+ const client_js_1 = require("../../utils/client.js");
8
+ const index_js_1 = require("../../graphql/index.js");
9
+ exports.default = new (class AllProductsExtension {
10
+ constructor() {
11
+ this.tags = ["all_products"];
12
+ }
13
+ parse(parser, nodes) {
14
+ const tok = parser.nextToken();
15
+ console.log("🧩 parse called for all_products");
16
+ let args;
17
+ try {
18
+ args = parser.parseSignature(true, true);
19
+ }
20
+ catch {
21
+ args = new nodes.NodeList(tok.lineno, tok.colno);
22
+ }
23
+ parser.advanceAfterBlockEnd(tok.value);
24
+ return new nodes.CallExtensionAsync(this, "run", args);
25
+ }
26
+ async run(_context, args = {}, callback) {
27
+ try {
28
+ console.log("🚀 ~ run ~ khalidstest:");
29
+ if (typeof args !== "object" || Array.isArray(args))
30
+ args = {};
31
+ const client = (0, client_js_1.getGqlClient)();
32
+ const cleanInput = (input) => {
33
+ const allowedKeys = ["collection", "limit", "page", "sort", "status", "title"];
34
+ const cleaned = {};
35
+ for (const key of allowedKeys) {
36
+ if (input[key] !== undefined) {
37
+ cleaned[key] = input[key];
38
+ }
39
+ }
40
+ return cleaned;
41
+ };
42
+ const input = { ...args };
43
+ const cleanedInput = cleanInput(input);
44
+ const data = await client.request(index_js_1.query.findAllProducts, { input: cleanedInput });
45
+ console.log("🚀 ~ run ~ datfindAllProductsa:", data?.findAllProducts?.data, cleanedInput);
46
+ const products = data?.findAllProducts?.data || [];
47
+ const json = JSON.stringify(products, null, 2);
48
+ callback(null, new nunjucks_1.default.runtime.SafeString(json));
49
+ }
50
+ catch (err) {
51
+ console.error("[nunjucks:all_products] ❌", err);
52
+ callback(null, new nunjucks_1.default.runtime.SafeString(JSON.stringify({ error: "Error loading products" })));
53
+ }
54
+ }
55
+ })();
@@ -49,6 +49,9 @@ exports.default = new (class WidgetExtension {
49
49
  const html = env.render(widgetTemplatePath, {
50
50
  context: ctx.context,
51
51
  globals: ctx.globals,
52
+ lang: ctx.lang,
53
+ currency: ctx.currency,
54
+ market: ctx.market,
52
55
  widget: {
53
56
  id: widget._id,
54
57
  type: widget.widget,
@@ -0,0 +1,7 @@
1
+ import nunjucks from "nunjucks";
2
+ declare const _default: {
3
+ tags: string[];
4
+ parse(parser: any, nodes: any): any;
5
+ run(_context: any, value: any): "" | nunjucks.runtime.SafeString;
6
+ };
7
+ export default _default;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const nunjucks_1 = __importDefault(require("nunjucks"));
7
+ exports.default = new (class EchoExtension {
8
+ constructor() {
9
+ this.tags = ["echo"];
10
+ }
11
+ parse(parser, nodes) {
12
+ const tok = parser.nextToken();
13
+ const args = parser.parseSignature(true, true);
14
+ parser.advanceAfterBlockEnd(tok.value);
15
+ return new nodes.CallExtension(this, "run", args);
16
+ }
17
+ run(_context, value) {
18
+ if (value === undefined || value === null)
19
+ return "";
20
+ return new nunjucks_1.default.runtime.SafeString(String(value));
21
+ }
22
+ })();
@@ -0,0 +1,12 @@
1
+ export { default as seo } from './seo';
2
+ export { default as widget } from './widget';
3
+ export { default as header } from './header';
4
+ export { default as footer } from './footer';
5
+ export { default as content } from './content';
6
+ export { default as qumra_head } from './qumra-head';
7
+ export { default as qumra_scripts } from './qumra-scripts';
8
+ export { default as include } from './ui';
9
+ export { default as preview_widget } from './preview-widget';
10
+ export { default as template } from './template';
11
+ export { default as echo } from './echo';
12
+ export { default as log } from './log';
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.log = exports.echo = exports.template = exports.preview_widget = exports.include = exports.qumra_scripts = exports.qumra_head = exports.content = exports.footer = exports.header = exports.widget = exports.seo = void 0;
7
+ var seo_1 = require("./seo");
8
+ Object.defineProperty(exports, "seo", { enumerable: true, get: function () { return __importDefault(seo_1).default; } });
9
+ var widget_1 = require("./widget");
10
+ Object.defineProperty(exports, "widget", { enumerable: true, get: function () { return __importDefault(widget_1).default; } });
11
+ var header_1 = require("./header");
12
+ Object.defineProperty(exports, "header", { enumerable: true, get: function () { return __importDefault(header_1).default; } });
13
+ var footer_1 = require("./footer");
14
+ Object.defineProperty(exports, "footer", { enumerable: true, get: function () { return __importDefault(footer_1).default; } });
15
+ var content_1 = require("./content");
16
+ Object.defineProperty(exports, "content", { enumerable: true, get: function () { return __importDefault(content_1).default; } });
17
+ var qumra_head_1 = require("./qumra-head");
18
+ Object.defineProperty(exports, "qumra_head", { enumerable: true, get: function () { return __importDefault(qumra_head_1).default; } });
19
+ var qumra_scripts_1 = require("./qumra-scripts");
20
+ Object.defineProperty(exports, "qumra_scripts", { enumerable: true, get: function () { return __importDefault(qumra_scripts_1).default; } });
21
+ var ui_1 = require("./ui");
22
+ Object.defineProperty(exports, "include", { enumerable: true, get: function () { return __importDefault(ui_1).default; } });
23
+ var preview_widget_1 = require("./preview-widget");
24
+ Object.defineProperty(exports, "preview_widget", { enumerable: true, get: function () { return __importDefault(preview_widget_1).default; } });
25
+ var template_1 = require("./template");
26
+ Object.defineProperty(exports, "template", { enumerable: true, get: function () { return __importDefault(template_1).default; } });
27
+ var echo_1 = require("./echo");
28
+ Object.defineProperty(exports, "echo", { enumerable: true, get: function () { return __importDefault(echo_1).default; } });
29
+ var log_1 = require("./log");
30
+ Object.defineProperty(exports, "log", { enumerable: true, get: function () { return __importDefault(log_1).default; } });
31
+ // export { default as all_products } from './logic/all_products';
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ tags: string[];
3
+ parse(parser: any, nodes: any): any;
4
+ run(_context: any, ...evaluatedArgs: any[]): string;
5
+ };
6
+ export default _default;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = new (class LogExtension {
4
+ constructor() {
5
+ this.tags = ["log"];
6
+ }
7
+ parse(parser, nodes) {
8
+ const tok = parser.nextToken();
9
+ const args = parser.parseSignature(true, true);
10
+ parser.advanceAfterBlockEnd(tok.value);
11
+ return new nodes.CallExtension(this, "run", args);
12
+ }
13
+ run(_context, ...evaluatedArgs) {
14
+ if (!evaluatedArgs || evaluatedArgs.length === 0)
15
+ return "";
16
+ if (evaluatedArgs.length === 1) {
17
+ console.log(evaluatedArgs[0]);
18
+ return "";
19
+ }
20
+ const label = evaluatedArgs[0];
21
+ const values = evaluatedArgs.slice(1);
22
+ const payload = values.length === 1 ? values[0] : values;
23
+ console.log(`${String(label)} =>`, payload);
24
+ return "";
25
+ }
26
+ })();
@@ -45,6 +45,9 @@ exports.default = new (class WidgetExtension {
45
45
  const html = env.render(widgetTemplatePath, {
46
46
  context: ctx.context,
47
47
  globals: ctx.globals,
48
+ lang: ctx.lang,
49
+ currency: ctx.currency,
50
+ market: ctx.market,
48
51
  widget: {
49
52
  id: widget._id,
50
53
  type: widget.widget,
@@ -32,7 +32,10 @@ exports.default = new (class WidgetExtension {
32
32
  const rendered = env.render(filePath, {
33
33
  context: ctx.context,
34
34
  globals: ctx.globals,
35
- data: validated
35
+ lang: ctx.lang,
36
+ currency: ctx.currency,
37
+ market: ctx.market,
38
+ data: validated,
36
39
  });
37
40
  return new nunjucks_1.default.runtime.SafeString(rendered);
38
41
  }
@@ -1,2 +1,2 @@
1
- import nunjucks from 'nunjucks';
1
+ import nunjucks from "nunjucks";
2
2
  export default function registerAllExtensions(env: nunjucks.Environment): void;
@@ -34,17 +34,19 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.default = registerAllExtensions;
37
- const extensions = __importStar(require("."));
37
+ const extensions = __importStar(require(".")); // بيجمع كل الإضافات
38
38
  function registerAllExtensions(env) {
39
+ console.log("🚀 ~ registerAllExtensions ~ extensions:", extensions);
39
40
  Object.entries(extensions).forEach(([name, instance]) => {
40
41
  if (instance &&
41
- typeof instance === 'object' &&
42
- typeof instance.parse === 'function' &&
43
- typeof instance.run === 'function') {
42
+ typeof instance === "object" &&
43
+ typeof instance.parse === "function" &&
44
+ typeof instance.run === "function") {
44
45
  env.addExtension(name, instance);
46
+ console.log(`✅ Registered Nunjucks extension: ${name}`);
45
47
  }
46
48
  else {
47
- console.warn(`[nunjucks] ⚠️ تخطى Extension '${name}' لأنه ليس كائن صالح.`);
49
+ console.warn(`[nunjucks] ⚠️ تخطى Extension '${name}'`);
48
50
  }
49
51
  });
50
52
  }