@websolutespa/bom-next 3.0.2 → 4.0.0-next.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 (234) hide show
  1. package/CHANGELOG.md +17 -7
  2. package/dist/_virtual/{_rolldown/runtime.js → rolldown_runtime.js} +7 -4
  3. package/dist/client/client.d.ts.map +1 -1
  4. package/dist/client/client.js +17 -6
  5. package/dist/client/client.js.map +1 -1
  6. package/dist/client/extra.d.ts +3 -3
  7. package/dist/client/extra.d.ts.map +1 -1
  8. package/dist/client/extra.js +10 -5
  9. package/dist/client/extra.js.map +1 -1
  10. package/dist/client/label.d.ts.map +1 -1
  11. package/dist/client/label.js +10 -5
  12. package/dist/client/label.js.map +1 -1
  13. package/dist/client/layout.d.ts +3 -3
  14. package/dist/client/layout.d.ts.map +1 -1
  15. package/dist/client/layout.js +10 -5
  16. package/dist/client/layout.js.map +1 -1
  17. package/dist/client/local.collection.d.ts.map +1 -1
  18. package/dist/client/local.collection.js +4 -2
  19. package/dist/client/local.collection.js.map +1 -1
  20. package/dist/client/metadata.d.ts +3 -3
  21. package/dist/client/metadata.d.ts.map +1 -1
  22. package/dist/client/metadata.js +48 -40
  23. package/dist/client/metadata.js.map +1 -1
  24. package/dist/client/page.d.ts +3 -3
  25. package/dist/client/page.d.ts.map +1 -1
  26. package/dist/client/page.js +10 -5
  27. package/dist/client/page.js.map +1 -1
  28. package/dist/client/useApi.d.ts +7 -7
  29. package/dist/client/useApi.d.ts.map +1 -1
  30. package/dist/client/useApi.js +2 -1
  31. package/dist/client/useApi.js.map +1 -1
  32. package/dist/client/useCollectionApi.d.ts +6 -6
  33. package/dist/client/useCollectionApi.d.ts.map +1 -1
  34. package/dist/client/useCollectionApi.js +4 -2
  35. package/dist/client/useCollectionApi.js.map +1 -1
  36. package/dist/client/useExtra.d.ts.map +1 -1
  37. package/dist/client/useExtra.js +5 -2
  38. package/dist/client/useExtra.js.map +1 -1
  39. package/dist/client/useHttp.d.ts.map +1 -1
  40. package/dist/client/useHttp.js +9 -6
  41. package/dist/client/useHttp.js.map +1 -1
  42. package/dist/client/useLabel.d.ts.map +1 -1
  43. package/dist/client/useLabel.js +5 -2
  44. package/dist/client/useLabel.js.map +1 -1
  45. package/dist/client/useLayout.d.ts.map +1 -1
  46. package/dist/client/useLayout.js +5 -2
  47. package/dist/client/useLayout.js.map +1 -1
  48. package/dist/client/useLink.d.ts.map +1 -1
  49. package/dist/client/useLink.js +7 -3
  50. package/dist/client/useLink.js.map +1 -1
  51. package/dist/client/useMetaData.d.ts.map +1 -1
  52. package/dist/client/useMetaData.js +5 -2
  53. package/dist/client/useMetaData.js.map +1 -1
  54. package/dist/client/usePage.d.ts.map +1 -1
  55. package/dist/client/usePage.js +5 -2
  56. package/dist/client/usePage.js.map +1 -1
  57. package/dist/client/useUser.d.ts.map +1 -1
  58. package/dist/client/useUser.js +5 -2
  59. package/dist/client/useUser.js.map +1 -1
  60. package/dist/client/user.d.ts.map +1 -1
  61. package/dist/client/user.js +17 -11
  62. package/dist/client/user.js.map +1 -1
  63. package/dist/exports/client.js +2 -1
  64. package/dist/exports/instrumentation.js +2 -1
  65. package/dist/exports/proxy.js +2 -1
  66. package/dist/exports/server.js +2 -1
  67. package/dist/index.js +2 -1
  68. package/dist/instrumentation/client.d.ts.map +1 -1
  69. package/dist/instrumentation/client.js +2 -1
  70. package/dist/instrumentation/client.js.map +1 -1
  71. package/dist/instrumentation/sentry/capture.requestError.js +4 -1
  72. package/dist/instrumentation/sentry/capture.requestError.js.map +1 -1
  73. package/dist/instrumentation/sentry/capture.routerTransitionStart.js +2 -1
  74. package/dist/instrumentation/sentry/capture.routerTransitionStart.js.map +1 -1
  75. package/dist/instrumentation/sentry/config.client.js +10 -2
  76. package/dist/instrumentation/sentry/config.client.js.map +1 -0
  77. package/dist/instrumentation/sentry/config.edge.js +10 -2
  78. package/dist/instrumentation/sentry/config.edge.js.map +1 -0
  79. package/dist/instrumentation/sentry/config.server.js +10 -2
  80. package/dist/instrumentation/sentry/config.server.js.map +1 -0
  81. package/dist/instrumentation/server.d.ts.map +1 -1
  82. package/dist/instrumentation/server.js +8 -5
  83. package/dist/instrumentation/server.js.map +1 -1
  84. package/dist/instrumentation/types.d.ts.map +1 -1
  85. package/dist/lib/breadcrumb.d.ts.map +1 -1
  86. package/dist/lib/breadcrumb.js +6 -1
  87. package/dist/lib/breadcrumb.js.map +1 -1
  88. package/dist/lib/const.d.ts.map +1 -1
  89. package/dist/lib/const.js +1 -1
  90. package/dist/lib/const.js.map +1 -1
  91. package/dist/lib/http.d.ts.map +1 -1
  92. package/dist/lib/http.js +6 -3
  93. package/dist/lib/http.js.map +1 -1
  94. package/dist/lib/label.d.ts.map +1 -1
  95. package/dist/lib/label.js +4 -3
  96. package/dist/lib/label.js.map +1 -1
  97. package/dist/lib/layout.defaults.d.ts.map +1 -1
  98. package/dist/lib/layout.defaults.js +1 -1
  99. package/dist/lib/layout.defaults.js.map +1 -1
  100. package/dist/lib/link.d.ts.map +1 -1
  101. package/dist/lib/link.js +2 -1
  102. package/dist/lib/link.js.map +1 -1
  103. package/dist/lib/meta-data.d.ts.map +1 -1
  104. package/dist/lib/open-graph.d.ts.map +1 -1
  105. package/dist/lib/pagination.d.ts.map +1 -1
  106. package/dist/lib/pagination.js +4 -2
  107. package/dist/lib/pagination.js.map +1 -1
  108. package/dist/lib/route.d.ts.map +1 -1
  109. package/dist/lib/route.js +9 -3
  110. package/dist/lib/route.js.map +1 -1
  111. package/dist/lib/store.d.ts.map +1 -1
  112. package/dist/lib/store.js +31 -31
  113. package/dist/lib/store.js.map +1 -1
  114. package/dist/lib/structured-data.d.ts.map +1 -1
  115. package/dist/lib/twitter-card.d.ts.map +1 -1
  116. package/dist/lib/utils.d.ts.map +1 -1
  117. package/dist/lib/utils.js +3 -2
  118. package/dist/lib/utils.js.map +1 -1
  119. package/dist/mock.d.ts.map +1 -1
  120. package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js +3 -2
  121. package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js.map +1 -1
  122. package/dist/node_modules/deepmerge/dist/cjs.js +17 -9
  123. package/dist/node_modules/deepmerge/dist/cjs.js.map +1 -1
  124. package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js +2 -2
  125. package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js.map +1 -1
  126. package/dist/node_modules/dom-serializer/lib/esm/index.js +10 -15
  127. package/dist/node_modules/dom-serializer/lib/esm/index.js.map +1 -1
  128. package/dist/node_modules/domelementtype/lib/esm/index.js +12 -12
  129. package/dist/node_modules/domelementtype/lib/esm/index.js.map +1 -1
  130. package/dist/node_modules/domhandler/lib/esm/index.js +4 -3
  131. package/dist/node_modules/domhandler/lib/esm/index.js.map +1 -1
  132. package/dist/node_modules/domhandler/lib/esm/node.js +8 -7
  133. package/dist/node_modules/domhandler/lib/esm/node.js.map +1 -1
  134. package/dist/node_modules/entities/lib/esm/decode.js +33 -32
  135. package/dist/node_modules/entities/lib/esm/decode.js.map +1 -1
  136. package/dist/node_modules/entities/lib/esm/decode_codepoint.js +5 -5
  137. package/dist/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -1
  138. package/dist/node_modules/entities/lib/esm/escape.js +14 -6
  139. package/dist/node_modules/entities/lib/esm/escape.js.map +1 -1
  140. package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js +2 -2
  141. package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -1
  142. package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js +2 -2
  143. package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -1
  144. package/dist/node_modules/html-to-text/lib/html-to-text.js +45 -33
  145. package/dist/node_modules/html-to-text/lib/html-to-text.js.map +1 -1
  146. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js +25 -25
  147. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js.map +1 -1
  148. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js +76 -73
  149. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js.map +1 -1
  150. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js +4 -3
  151. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js.map +1 -1
  152. package/dist/node_modules/leac/lib/leac.js +72 -72
  153. package/dist/node_modules/leac/lib/leac.js.map +1 -1
  154. package/dist/node_modules/parseley/lib/parseley.js +37 -33
  155. package/dist/node_modules/parseley/lib/parseley.js.map +1 -1
  156. package/dist/node_modules/peberminta/lib/core.js +4 -4
  157. package/dist/node_modules/peberminta/lib/core.js.map +1 -1
  158. package/dist/node_modules/selderee/lib/selderee.js +16 -10
  159. package/dist/node_modules/selderee/lib/selderee.js.map +1 -1
  160. package/dist/proxy/protected-route.d.ts.map +1 -1
  161. package/dist/proxy/protected-route.js +11 -6
  162. package/dist/proxy/protected-route.js.map +1 -1
  163. package/dist/proxy/proxy.d.ts.map +1 -1
  164. package/dist/proxy/proxy.js +17 -2
  165. package/dist/proxy/proxy.js.map +1 -1
  166. package/dist/proxy/route-auto-detection.d.ts.map +1 -1
  167. package/dist/proxy/route-auto-detection.js +26 -14
  168. package/dist/proxy/route-auto-detection.js.map +1 -1
  169. package/dist/proxy/route-proxy.d.ts.map +1 -1
  170. package/dist/proxy/route-proxy.js +22 -5
  171. package/dist/proxy/route-proxy.js.map +1 -1
  172. package/dist/server/context.d.ts.map +1 -1
  173. package/dist/server/context.js +20 -2
  174. package/dist/server/context.js.map +1 -1
  175. package/dist/server/handlers/auth.handler.d.ts.map +1 -1
  176. package/dist/server/handlers/auth.handler.js +4 -2
  177. package/dist/server/handlers/auth.handler.js.map +1 -1
  178. package/dist/server/handlers/captions.handler.d.ts.map +1 -1
  179. package/dist/server/handlers/captions.handler.js +4 -2
  180. package/dist/server/handlers/captions.handler.js.map +1 -1
  181. package/dist/server/handlers/collection.handler.d.ts.map +1 -1
  182. package/dist/server/handlers/collection.handler.js +2 -1
  183. package/dist/server/handlers/collection.handler.js.map +1 -1
  184. package/dist/server/handlers/error-response.js +6 -2
  185. package/dist/server/handlers/error-response.js.map +1 -1
  186. package/dist/server/handlers/index.handler.d.ts.map +1 -1
  187. package/dist/server/handlers/index.handler.js +2 -1
  188. package/dist/server/handlers/index.handler.js.map +1 -1
  189. package/dist/server/handlers/preview.handler.d.ts.map +1 -1
  190. package/dist/server/handlers/preview.handler.js +6 -3
  191. package/dist/server/handlers/preview.handler.js.map +1 -1
  192. package/dist/server/handlers/registry.handler.d.ts.map +1 -1
  193. package/dist/server/handlers/registry.handler.js +14 -9
  194. package/dist/server/handlers/registry.handler.js.map +1 -1
  195. package/dist/server/handlers/route.handler.d.ts.map +1 -1
  196. package/dist/server/handlers/route.handler.js +12 -3
  197. package/dist/server/handlers/route.handler.js.map +1 -1
  198. package/dist/server/handlers/sitemap.handler.d.ts.map +1 -1
  199. package/dist/server/handlers/sitemap.handler.js +12 -9
  200. package/dist/server/handlers/sitemap.handler.js.map +1 -1
  201. package/dist/server/handlers/static-params.handler.d.ts.map +1 -1
  202. package/dist/server/handlers/static-params.handler.js +13 -8
  203. package/dist/server/handlers/static-params.handler.js.map +1 -1
  204. package/dist/server/handlers/vars.handler.d.ts.map +1 -1
  205. package/dist/server/handlers/vars.handler.js +5 -4
  206. package/dist/server/handlers/vars.handler.js.map +1 -1
  207. package/dist/server/layout.js +34 -12
  208. package/dist/server/layout.js.map +1 -1
  209. package/dist/server/lazy.d.ts.map +1 -1
  210. package/dist/server/lazy.js +5 -2
  211. package/dist/server/lazy.js.map +1 -1
  212. package/dist/server/local-api.d.ts.map +1 -1
  213. package/dist/server/local-api.js +12 -6
  214. package/dist/server/local-api.js.map +1 -1
  215. package/dist/server/metadata.d.ts.map +1 -1
  216. package/dist/server/metadata.js +5 -1
  217. package/dist/server/metadata.js.map +1 -1
  218. package/dist/server/mixer-payload.d.ts +1 -1
  219. package/dist/server/mixer-payload.d.ts.map +1 -1
  220. package/dist/server/mixer.d.ts.map +1 -1
  221. package/dist/server/mixer.js +183 -57
  222. package/dist/server/mixer.js.map +1 -1
  223. package/dist/server/page.d.ts.map +1 -1
  224. package/dist/server/page.js +15 -4
  225. package/dist/server/page.js.map +1 -1
  226. package/dist/server/utils.d.ts.map +1 -1
  227. package/dist/server/utils.js +4 -2
  228. package/dist/server/utils.js.map +1 -1
  229. package/dist/server/utmz.d.ts.map +1 -1
  230. package/dist/server/utmz.js +1 -1
  231. package/dist/server/utmz.js.map +1 -1
  232. package/dist/types.d.ts +1 -1
  233. package/dist/types.d.ts.map +1 -1
  234. package/package.json +11 -11
@@ -1,4 +1,5 @@
1
1
  import { onRouterTransitionStart } from "./sentry/capture.routerTransitionStart.js";
2
+
2
3
  //#region src/instrumentation/client.ts
3
4
  function registerClientIntrumentation() {
4
5
  if (process.env.NEXT_PUBLIC_SENTRY_DSN) {
@@ -9,7 +10,7 @@ function captureRouterTransitionStart(href, navigationType) {
9
10
  if (process.env.NEXT_PUBLIC_SENTRY_DSN) return onRouterTransitionStart(href, navigationType);
10
11
  else console.log("Instrumentation.onRouterTransitionStart", href, navigationType);
11
12
  }
13
+
12
14
  //#endregion
13
15
  export { captureRouterTransitionStart, registerClientIntrumentation };
14
-
15
16
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":["sentryOnRouterTransitionStart"],"sources":["../../src/instrumentation/client.ts"],"sourcesContent":["import { onRouterTransitionStart as sentryOnRouterTransitionStart } from './sentry/capture.routerTransitionStart';\r\n\r\nexport function registerClientIntrumentation() {\r\n if (process.env.NEXT_PUBLIC_SENTRY_DSN) {\r\n if (process.env.NEXT_RUNTIME === 'nodejs') {\r\n import('./sentry/config.client');\r\n }\r\n }\r\n}\r\n\r\n// This export will instrument router navigations\r\nexport function captureRouterTransitionStart(href: string, navigationType: string): void {\r\n if (process.env.NEXT_PUBLIC_SENTRY_DSN) {\r\n return sentryOnRouterTransitionStart(href, navigationType);\r\n } else {\r\n console.log('Instrumentation.onRouterTransitionStart', href, navigationType);\r\n }\r\n}\r\n\r\n"],"mappings":";;AAEA,SAAgB,+BAA+B;CAC7C,IAAI,QAAQ,IAAI,wBACV;MAAA,QAAQ,IAAI,iBAAiB,UAC/B,OAAO;CAAA;AAGb;AAGA,SAAgB,6BAA6B,MAAc,gBAA8B;CACvF,IAAI,QAAQ,IAAI,wBACd,OAAOA,wBAA8B,MAAM,cAAc;MAEzD,QAAQ,IAAI,2CAA2C,MAAM,cAAc;AAE/E"}
1
+ {"version":3,"file":"client.js","names":["href: string","navigationType: string","sentryOnRouterTransitionStart"],"sources":["../../src/instrumentation/client.ts"],"sourcesContent":["import { onRouterTransitionStart as sentryOnRouterTransitionStart } from './sentry/capture.routerTransitionStart';\r\n\r\nexport function registerClientIntrumentation() {\r\n if (process.env.NEXT_PUBLIC_SENTRY_DSN) {\r\n if (process.env.NEXT_RUNTIME === 'nodejs') {\r\n import('./sentry/config.client');\r\n }\r\n }\r\n}\r\n\r\n// This export will instrument router navigations\r\nexport function captureRouterTransitionStart(href: string, navigationType: string): void {\r\n if (process.env.NEXT_PUBLIC_SENTRY_DSN) {\r\n return sentryOnRouterTransitionStart(href, navigationType);\r\n } else {\r\n console.log('Instrumentation.onRouterTransitionStart', href, navigationType);\r\n }\r\n}\r\n\r\n"],"mappings":";;;AAEA,SAAgB,+BAA+B;AAC7C,KAAI,QAAQ,IAAI,wBACd;MAAI,QAAQ,IAAI,iBAAiB,UAC/B,OAAO;CACR;AAEJ;AAGD,SAAgB,6BAA6BA,MAAcC,gBAA8B;AACvF,KAAI,QAAQ,IAAI,uBACd,QAAOC,wBAA8B,MAAM,eAAe;MAE1D,QAAQ,IAAI,2CAA2C,MAAM,eAAe;AAE/E"}
@@ -1,10 +1,13 @@
1
1
  import * as Sentry from "@sentry/nextjs";
2
+
2
3
  //#region src/instrumentation/sentry/capture.requestError.ts
3
4
  /**
5
+
4
6
  * Reports errors passed to the the Next.js `onRequestError` instrumentation hook.
7
+
5
8
  */
6
9
  const captureRequestError = Sentry.captureRequestError;
10
+
7
11
  //#endregion
8
12
  export { captureRequestError };
9
-
10
13
  //# sourceMappingURL=capture.requestError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capture.requestError.js","names":[],"sources":["../../../src/instrumentation/sentry/capture.requestError.ts"],"sourcesContent":["import * as Sentry from '@sentry/nextjs';\r\n\r\n/**\r\n * Reports errors passed to the the Next.js `onRequestError` instrumentation hook.\r\n */\r\nexport const captureRequestError = Sentry.captureRequestError;\r\n"],"mappings":";;;;;AAKA,MAAa,sBAAsB,OAAO"}
1
+ {"version":3,"file":"capture.requestError.js","names":[],"sources":["../../../src/instrumentation/sentry/capture.requestError.ts"],"sourcesContent":["import * as Sentry from '@sentry/nextjs';\r\n\r\n/**\r\n * Reports errors passed to the the Next.js `onRequestError` instrumentation hook.\r\n */\r\nexport const captureRequestError = Sentry.captureRequestError;\r\n"],"mappings":";;;;;;;;AAKA,MAAa,sBAAsB,OAAO"}
@@ -1,7 +1,8 @@
1
1
  import * as Sentry from "@sentry/nextjs";
2
+
2
3
  //#region src/instrumentation/sentry/capture.routerTransitionStart.ts
3
4
  const onRouterTransitionStart = Sentry.captureRouterTransitionStart;
5
+
4
6
  //#endregion
5
7
  export { onRouterTransitionStart };
6
-
7
8
  //# sourceMappingURL=capture.routerTransitionStart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capture.routerTransitionStart.js","names":[],"sources":["../../../src/instrumentation/sentry/capture.routerTransitionStart.ts"],"sourcesContent":["import * as Sentry from '@sentry/nextjs';\r\n\r\n// This export will instrument router navigations\r\nexport const onRouterTransitionStart = Sentry.captureRouterTransitionStart;\r\n"],"mappings":";;AAGA,MAAa,0BAA0B,OAAO"}
1
+ {"version":3,"file":"capture.routerTransitionStart.js","names":[],"sources":["../../../src/instrumentation/sentry/capture.routerTransitionStart.ts"],"sourcesContent":["import * as Sentry from '@sentry/nextjs';\r\n\r\n// This export will instrument router navigations\r\nexport const onRouterTransitionStart = Sentry.captureRouterTransitionStart;\r\n"],"mappings":";;;AAGA,MAAa,0BAA0B,OAAO"}
@@ -1,2 +1,10 @@
1
- import "@sentry/nextjs";
2
- export {};
1
+ import * as Sentry from "@sentry/nextjs";
2
+
3
+ //#region src/instrumentation/sentry/config.client.ts
4
+ Sentry.init({
5
+ dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
6
+ tracesSampleRate: process.env.NODE_ENV === "development" ? 1 : .1
7
+ });
8
+
9
+ //#endregion
10
+ //# sourceMappingURL=config.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.client.js","names":[],"sources":["../../../src/instrumentation/sentry/config.client.ts"],"sourcesContent":["import * as Sentry from '@sentry/nextjs';\r\n\r\nSentry.init({\r\n dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,\r\n\r\n // Capture 100% in dev, 10% in production\r\n // Adjust based on your traffic volume\r\n tracesSampleRate: process.env.NODE_ENV === 'development' ? 1.0 : 0.1,\r\n});\r\n"],"mappings":";;;AAEA,OAAO,KAAK;CACV,KAAK,QAAQ,IAAI;CAIjB,kBAAkB,QAAQ,IAAI,aAAa,gBAAgB,IAAM;AAClE,EAAC"}
@@ -1,2 +1,10 @@
1
- import "@sentry/nextjs";
2
- export {};
1
+ import * as Sentry from "@sentry/nextjs";
2
+
3
+ //#region src/instrumentation/sentry/config.edge.ts
4
+ Sentry.init({
5
+ dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
6
+ tracesSampleRate: process.env.NODE_ENV === "development" ? 1 : .1
7
+ });
8
+
9
+ //#endregion
10
+ //# sourceMappingURL=config.edge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.edge.js","names":[],"sources":["../../../src/instrumentation/sentry/config.edge.ts"],"sourcesContent":["import * as Sentry from '@sentry/nextjs';\r\n\r\nSentry.init({\r\n dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,\r\n\r\n // Capture 100% in dev, 10% in production\r\n // Adjust based on your traffic volume\r\n tracesSampleRate: process.env.NODE_ENV === 'development' ? 1.0 : 0.1,\r\n});\r\n"],"mappings":";;;AAEA,OAAO,KAAK;CACV,KAAK,QAAQ,IAAI;CAIjB,kBAAkB,QAAQ,IAAI,aAAa,gBAAgB,IAAM;AAClE,EAAC"}
@@ -1,2 +1,10 @@
1
- import "@sentry/nextjs";
2
- export {};
1
+ import * as Sentry from "@sentry/nextjs";
2
+
3
+ //#region src/instrumentation/sentry/config.server.ts
4
+ Sentry.init({
5
+ dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
6
+ tracesSampleRate: process.env.NODE_ENV === "development" ? 1 : .1
7
+ });
8
+
9
+ //#endregion
10
+ //# sourceMappingURL=config.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.server.js","names":[],"sources":["../../../src/instrumentation/sentry/config.server.ts"],"sourcesContent":["import * as Sentry from '@sentry/nextjs';\r\n\r\nSentry.init({\r\n dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,\r\n\r\n // Capture 100% in dev, 10% in production\r\n // Adjust based on your traffic volume\r\n tracesSampleRate: process.env.NODE_ENV === 'development' ? 1.0 : 0.1,\r\n});\r\n"],"mappings":";;;AAEA,OAAO,KAAK;CACV,KAAK,QAAQ,IAAI;CAIjB,kBAAkB,QAAQ,IAAI,aAAa,gBAAgB,IAAM;AAClE,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","names":[],"sources":["../../src/instrumentation/server.ts"],"mappings":";;;iBAGsB,sBAAA,CAAA,GAAsB;;AAA5C;AAcA;AAAmC,iBAAnB,mBAAA,CAAmB,KAAA,EAAA,OAAA,EAAA,OAAA,EAA0B,WAA1B,EAAA,YAAA,EAAqD,YAArD,CAAA,EAAA,IAAA;AAA0B"}
1
+ {"version":3,"file":"server.d.ts","names":[],"sources":["../../src/instrumentation/server.ts"],"sourcesContent":[],"mappings":";;;iBAGsB,sBAAA,CAAA,GAAsB;;AAA5C;AAcA;AAAmC,iBAAnB,mBAAA,CAAmB,KAAA,EAAA,OAAA,EAAA,OAAA,EAA0B,WAA1B,EAAA,YAAA,EAAqD,YAArD,CAAA,EAAA,IAAA"}
@@ -1,4 +1,5 @@
1
- import { captureRequestError as captureRequestError$1 } from "./sentry/capture.requestError.js";
1
+ import { captureRequestError } from "./sentry/capture.requestError.js";
2
+
2
3
  //#region src/instrumentation/server.ts
3
4
  async function registerIntrumentation() {
4
5
  if (process.env.NEXT_PUBLIC_SENTRY_DSN) {
@@ -7,13 +8,15 @@ async function registerIntrumentation() {
7
8
  }
8
9
  }
9
10
  /**
11
+
10
12
  * Reports errors passed to the the Next.js `onRequestError` instrumentation hook.
13
+
11
14
  */
12
- function captureRequestError(error, request, errorContext) {
13
- if (process.env.NEXT_PUBLIC_SENTRY_DSN) return captureRequestError$1(error, request, errorContext);
15
+ function captureRequestError$1(error, request, errorContext) {
16
+ if (process.env.NEXT_PUBLIC_SENTRY_DSN) return captureRequestError(error, request, errorContext);
14
17
  else console.log("Instrumentation.captureRequestError", error, errorContext);
15
18
  }
16
- //#endregion
17
- export { captureRequestError, registerIntrumentation };
18
19
 
20
+ //#endregion
21
+ export { captureRequestError$1 as captureRequestError, registerIntrumentation };
19
22
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","names":["sentryCaptureRequestError"],"sources":["../../src/instrumentation/server.ts"],"sourcesContent":["import { captureRequestError as sentryCaptureRequestError } from './sentry/capture.requestError';\r\nimport { ErrorContext, RequestInfo } from './types';\r\n\r\nexport async function registerIntrumentation() {\r\n if (process.env.NEXT_PUBLIC_SENTRY_DSN) {\r\n if (process.env.NEXT_RUNTIME === 'nodejs') {\r\n await import('./sentry/config.server');\r\n }\r\n if (process.env.NEXT_RUNTIME === 'edge') {\r\n await import('./sentry/config.edge');\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Reports errors passed to the the Next.js `onRequestError` instrumentation hook.\r\n */\r\nexport function captureRequestError(error: unknown, request: RequestInfo, errorContext: ErrorContext): void {\r\n if (process.env.NEXT_PUBLIC_SENTRY_DSN) {\r\n return sentryCaptureRequestError(error, request, errorContext);\r\n } else {\r\n console.log('Instrumentation.captureRequestError', error, errorContext);\r\n }\r\n}\r\n"],"mappings":";;AAGA,eAAsB,yBAAyB;CAC7C,IAAI,QAAQ,IAAI,wBAAwB;EACtC,IAAI,QAAQ,IAAI,iBAAiB,UAC/B,MAAM,OAAO;EAEf,IAAI,QAAQ,IAAI,iBAAiB,QAC/B,MAAM,OAAO;CAEjB;AACF;;;;AAKA,SAAgB,oBAAoB,OAAgB,SAAsB,cAAkC;CAC1G,IAAI,QAAQ,IAAI,wBACd,OAAOA,sBAA0B,OAAO,SAAS,YAAY;MAE7D,QAAQ,IAAI,uCAAuC,OAAO,YAAY;AAE1E"}
1
+ {"version":3,"file":"server.js","names":["captureRequestError","error: unknown","request: RequestInfo","errorContext: ErrorContext","sentryCaptureRequestError"],"sources":["../../src/instrumentation/server.ts"],"sourcesContent":["import { captureRequestError as sentryCaptureRequestError } from './sentry/capture.requestError';\r\nimport { ErrorContext, RequestInfo } from './types';\r\n\r\nexport async function registerIntrumentation() {\r\n if (process.env.NEXT_PUBLIC_SENTRY_DSN) {\r\n if (process.env.NEXT_RUNTIME === 'nodejs') {\r\n await import('./sentry/config.server');\r\n }\r\n if (process.env.NEXT_RUNTIME === 'edge') {\r\n await import('./sentry/config.edge');\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Reports errors passed to the the Next.js `onRequestError` instrumentation hook.\r\n */\r\nexport function captureRequestError(error: unknown, request: RequestInfo, errorContext: ErrorContext): void {\r\n if (process.env.NEXT_PUBLIC_SENTRY_DSN) {\r\n return sentryCaptureRequestError(error, request, errorContext);\r\n } else {\r\n console.log('Instrumentation.captureRequestError', error, errorContext);\r\n }\r\n}\r\n"],"mappings":";;;AAGA,eAAsB,yBAAyB;AAC7C,KAAI,QAAQ,IAAI,wBAAwB;AACtC,MAAI,QAAQ,IAAI,iBAAiB,UAC/B,MAAM,OAAO;AAEf,MAAI,QAAQ,IAAI,iBAAiB,QAC/B,MAAM,OAAO;CAEhB;AACF;;;;;;AAKD,SAAgBA,sBAAoBC,OAAgBC,SAAsBC,cAAkC;AAC1G,KAAI,QAAQ,IAAI,uBACd,QAAOC,oBAA0B,OAAO,SAAS,aAAa;MAE9D,QAAQ,IAAI,uCAAuC,OAAO,aAAa;AAE1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../src/instrumentation/types.ts"],"mappings":";KACY,WAAA;EAAA,IAAA,EAAA,MAAA;EAMA,MAAA,EAAA,MAAA;WAHD;;KAGC,YAAA"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../src/instrumentation/types.ts"],"sourcesContent":[],"mappings":";KACY,WAAA;EAAA,IAAA,EAAA,MAAA;EAMA,MAAA,EAAA,MAAA;WAHD;;KAGC,YAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.d.ts","names":[],"sources":["../../src/lib/breadcrumb.ts"],"mappings":";;;;;;AAQA;AAA+B;AAAW;AAA2B,iBAArD,eAAA,CAAqD,QAAA,EAA3B,SAA2B,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,aAAA,EAAuB,MAAvB,EAAA,CAAA,EAAkC,UAAlC,EAAA;AAAuB"}
1
+ {"version":3,"file":"breadcrumb.d.ts","names":[],"sources":["../../src/lib/breadcrumb.ts"],"sourcesContent":[],"mappings":";;;;;;AAQA;;;AAAqE,iBAArD,eAAA,CAAqD,QAAA,EAA3B,SAA2B,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,aAAA,EAAuB,MAAvB,EAAA,CAAA,EAAkC,UAAlC,EAAA"}
@@ -1,10 +1,15 @@
1
1
  import { routeToLink } from "./route.js";
2
2
  import { findRouteOfCategory } from "@websolutespa/bom-core";
3
+
3
4
  //#region src/lib/breadcrumb.ts
4
5
  /**
6
+
5
7
  * Builds the breadcrumb trail from category segments + the current route.
8
+
6
9
  * Uses currentRoutes (already filtered by market+locale) to resolve each segment's href.
10
+
7
11
  * Replicates the logic of getBreadcrumbFromSegments without any store calls.
12
+
8
13
  */
9
14
  function buildBreadcrumb(segments, currentRoute, currentRoutes) {
10
15
  const tree = segments.map((segment) => {
@@ -14,7 +19,7 @@ function buildBreadcrumb(segments, currentRoute, currentRoutes) {
14
19
  if (!currentRoute.isDefault) tree.push(routeToLink(currentRoute));
15
20
  return tree;
16
21
  }
22
+
17
23
  //#endregion
18
24
  export { buildBreadcrumb };
19
-
20
25
  //# sourceMappingURL=breadcrumb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.js","names":[],"sources":["../../src/lib/breadcrumb.ts"],"sourcesContent":["import { findRouteOfCategory, ICategory, IRoute, IRouteLink } from '@websolutespa/bom-core';\r\nimport { routeToLink } from './route';\r\n\r\n/**\r\n * Builds the breadcrumb trail from category segments + the current route.\r\n * Uses currentRoutes (already filtered by market+locale) to resolve each segment's href.\r\n * Replicates the logic of getBreadcrumbFromSegments without any store calls.\r\n */\r\nexport function buildBreadcrumb(segments: ICategory[], currentRoute: IRoute, currentRoutes: IRoute[]): IRouteLink[] {\r\n const tree: IRouteLink[] = segments\r\n .map(segment => {\r\n const route = findRouteOfCategory(currentRoutes, segment.id);\r\n return route ? routeToLink(route) : null;\r\n })\r\n .filter((x): x is IRouteLink => x !== null);\r\n // Append the leaf page only when it is not the default/index route of its category\r\n if (!currentRoute.isDefault) {\r\n tree.push(routeToLink(currentRoute));\r\n }\r\n return tree;\r\n}\r\n"],"mappings":";;;;;;;;AAQA,SAAgB,gBAAgB,UAAuB,cAAsB,eAAuC;CAClH,MAAM,OAAqB,SACxB,KAAI,YAAW;EACd,MAAM,QAAQ,oBAAoB,eAAe,QAAQ,EAAE;EAC3D,OAAO,QAAQ,YAAY,KAAK,IAAI;CACtC,CAAC,CAAC,CACD,QAAQ,MAAuB,MAAM,IAAI;CAE5C,IAAI,CAAC,aAAa,WAChB,KAAK,KAAK,YAAY,YAAY,CAAC;CAErC,OAAO;AACT"}
1
+ {"version":3,"file":"breadcrumb.js","names":["segments: ICategory[]","currentRoute: IRoute","currentRoutes: IRoute[]","tree: IRouteLink[]"],"sources":["../../src/lib/breadcrumb.ts"],"sourcesContent":["import { findRouteOfCategory, ICategory, IRoute, IRouteLink } from '@websolutespa/bom-core';\r\nimport { routeToLink } from './route';\r\n\r\n/**\r\n * Builds the breadcrumb trail from category segments + the current route.\r\n * Uses currentRoutes (already filtered by market+locale) to resolve each segment's href.\r\n * Replicates the logic of getBreadcrumbFromSegments without any store calls.\r\n */\r\nexport function buildBreadcrumb(segments: ICategory[], currentRoute: IRoute, currentRoutes: IRoute[]): IRouteLink[] {\r\n const tree: IRouteLink[] = segments\r\n .map(segment => {\r\n const route = findRouteOfCategory(currentRoutes, segment.id);\r\n return route ? routeToLink(route) : null;\r\n })\r\n .filter((x): x is IRouteLink => x !== null);\r\n // Append the leaf page only when it is not the default/index route of its category\r\n if (!currentRoute.isDefault) {\r\n tree.push(routeToLink(currentRoute));\r\n }\r\n return tree;\r\n}\r\n"],"mappings":";;;;;;;;;;;;;AAQA,SAAgB,gBAAgBA,UAAuBC,cAAsBC,eAAuC;CAClH,MAAMC,OAAqB,SACxB,IAAI,aAAW;EACd,MAAM,QAAQ,oBAAoB,eAAe,QAAQ,GAAG;AAC5D,SAAO,QAAQ,YAAY,MAAM,GAAG;CACrC,EAAC,CACD,OAAO,CAAC,MAAuB,MAAM,KAAK;AAE7C,KAAI,CAAC,aAAa,WAChB,KAAK,KAAK,YAAY,aAAa,CAAC;AAEtC,QAAO;AACR"}
@@ -1 +1 @@
1
- {"version":3,"file":"const.d.ts","names":[],"sources":["../../src/lib/const.ts"],"mappings":";;;cAEa,QAAsD,OAAO"}
1
+ {"version":3,"file":"const.d.ts","names":[],"sources":["../../src/lib/const.ts"],"sourcesContent":[],"mappings":";;;cAEa,QAAsD,OAAO"}
package/dist/lib/const.js CHANGED
@@ -3,7 +3,7 @@ const guest = {
3
3
  collection: "users",
4
4
  roles: ["guest"]
5
5
  };
6
+
6
7
  //#endregion
7
8
  export { guest };
8
-
9
9
  //# sourceMappingURL=const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","names":[],"sources":["../../src/lib/const.ts"],"sourcesContent":["import type { Config, User } from '@websolutespa/payload-plugin-bowl';\r\n\r\nexport const guest = { collection: 'users', roles: ['guest'] } as (User & Config['user']);\r\n"],"mappings":";AAEA,MAAa,QAAQ;CAAE,YAAY;CAAS,OAAO,CAAC,OAAO;AAAE"}
1
+ {"version":3,"file":"const.js","names":[],"sources":["../../src/lib/const.ts"],"sourcesContent":["import type { Config, User } from '@websolutespa/payload-plugin-bowl';\r\n\r\nexport const guest = { collection: 'users', roles: ['guest'] } as (User & Config['user']);\r\n"],"mappings":";AAEA,MAAa,QAAQ;CAAE,YAAY;CAAS,OAAO,CAAC,OAAQ;AAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","names":[],"sources":["../../src/lib/http.ts"],"mappings":";;;KAKY,iBAAA,GAAoB;iBAEhB,yBAAA,CAAA,GAA6B;AAFjC,iBASI,0BAAA,CATgB,KAAmB,CAAA,EAAA,MAAA,CAAA,EASS,iBATT;AAEnC,iBA4BA,cAAA,CA5ByB,QAAI,EAAA,MAAA,EAAA,MAAiB,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA;AAO9C,iBA2BM,aA3BoB,CAAA,IAAA,OAAkB,CAAA,CAAA,QAAA,EAAiB,MAAA,EAAA,OAAA,CAAA,EA2BD,iBA3BC,EAAA,cA2B1C,CA3B0C,EAAA;EAqB7D,MAAA,EAAA,MAAA;EAMM,MAAA,EAAA,MAAA;AAAa,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA,CAAA,EAAwI,OAAxI,CAAgJ,CAAhJ,CAAA;AAAyC,iBActD,WAdsD,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAcP,iBAdO,EAAA,cAAsG,CAAtG,EAAA;EAAuG,MAAA,EAAA,MAAA;EAAR,MAAA,EAAA,MAAA;AAAO,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA,CAAA,EAcd,OAdc,CAcN,CAdM,CAAA;AAc5J,iBAIA,YAJW,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAIwD,iBAJxD,EAAA,cAA2I,CAA3I,EAAA;EAAA,MAAA,EAAA,MAAA;EAAoC,MAAA,EAAA,MAAA;AAAuG,CAAA,CAAA,EAIL,OAJK,CAIG,CAJH,CAAA;AAAR,iBAQ9I,WAR8I,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAQ5E,iBAR4E,EAAA,cAIlI,CAJkI,EAAA;EAAO,MAAA,EAAA,MAAA;EAIrJ,MAAA,EAAA,MAAA;AAAY,CAAA,CAAA,EAIoI,OAJpI,CAI4I,CAJ5I,CAAA;AAAuD,iBAQnE,aARmE,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAQC,iBARD,EAAA,cAAqF,CAArF,EAAA;EAAsF,MAAA,EAAA,MAAA;EAAR,MAAA,EAAA,MAAA;AAAO,CAAA,CAAA,EAQN,OARM,CAQE,CARF,CAAA;AAIxJ,iBAQA,cARW,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAQuC,iBARvC,EAAA,cAA6I,CAA7I,EAAA;EAAA,MAAA,EAAA,MAAA;EAAuD,MAAA,EAAA,MAAA;AAAsF,CAAA,CAAA,EAQxB,OARwB,CAQhB,CARgB,CAAA;AAAR"}
1
+ {"version":3,"file":"http.d.ts","names":[],"sources":["../../src/lib/http.ts"],"sourcesContent":[],"mappings":";;;KAKY,iBAAA,GAAoB;iBAEhB,yBAAA,CAAA,GAA6B;AAFjC,iBASI,0BAAA,CATgB,KAAmB,CAAA,EAAA,MAAA,CAAA,EASS,iBATT;AAEnC,iBA4BA,cAAA,CA5ByB,QAAI,EAAA,MAAA,EAAA,MAAiB,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA;AAO9C,iBA2BM,aA3BoB,CAAA,IAAA,OAAkB,CAAA,CAAA,QAAA,EAAiB,MAAA,EAAA,OAAA,CAAA,EA2BD,iBA3BC,EAAA,cA2B1C,CA3B0C,EAAA;EAqB7D,MAAA,EAAA,MAAA;EAMM,MAAA,EAAA,MAAA;CAAa,EAAA,MAAA,CAAA,EAAA,MAAA,CAAA,EAAwI,OAAxI,CAAgJ,CAAhJ,CAAA;AAAyC,iBActD,WAdsD,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAcP,iBAdO,EAAA,cAAsG,CAAtG,EAAA;EAAsB,MAAiF,EAAA,MAAA;EAAC,MAAT,EAAA,MAAA;AAAO,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA,CAAA,EAcd,OAdc,CAcN,CAdM,CAAA;AAc5J,iBAIA,YAJW,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAIwD,iBAJxD,EAAA,cAA0D,CAA1D,EAAA;EAAA,MAAA,EAAA,MAAA;EAAA,MAAoC,EAAA,MAAA;CAAsB,CAAA,EAI4E,OAJK,CAIG,CAJH,CAAA;AAAR,iBAQ9I,WAR8I,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAQ5E,iBAR4E,EAAA,cAIlI,CAJkI,EAAA;EAAO,MAAA,EAAA,MAAA;EAIrJ,MAAA,EAAA,MAAA;CAAY,CAAA,EAIoI,OAJpI,CAI4I,CAJ5I,CAAA;AAAuD,iBAQnE,aARmE,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAQC,iBARD,EAAA,cAAqF,CAArF,EAAA;EAAsB,MAAgE,EAAA,MAAA;EAAC,MAAT,EAAA,MAAA;AAAO,CAAA,CAAA,EAQN,OARM,CAQE,CARF,CAAA;AAIxJ,iBAQA,cARW,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAQuC,iBARvC,EAAA,cAA6E,CAA7E,EAAA;EAAA,MAAA,EAAA,MAAA;EAAA,MAAuD,EAAA,MAAA;CAAsB,CAAA,EAQwC,OARwB,CAQhB,CARgB,CAAA"}
package/dist/lib/http.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { httpFetch, isBrowser, merge } from "@websolutespa/bom-core";
2
+
2
3
  //#region src/lib/http.ts
3
4
  const API_URL = process.env.NEXT_PUBLIC_URL || "http://localhost:3000";
4
5
  const API_BASE = process.env.NEXT_PUBLIC_API || "/api";
@@ -10,7 +11,8 @@ function getRemoteApiRequestOptions(token) {
10
11
  else return { headers: { Authorization: `users API-Key ${process.env.STORE_API_KEY}` } };
11
12
  }
12
13
  function getLocalApiUrl(pathname, origin) {
13
- return `${isBrowser ? window.location.origin : origin || API_URL}${API_BASE}${pathname}`;
14
+ const url = `${isBrowser ? window.location.origin : origin || API_URL}${API_BASE}${pathname}`;
15
+ return url;
14
16
  }
15
17
  async function localApiFetch(pathname, options = {}, serviceOptions, origin) {
16
18
  const url = new URL(getLocalApiUrl(pathname, origin));
@@ -20,7 +22,8 @@ async function localApiFetch(pathname, options = {}, serviceOptions, origin) {
20
22
  }
21
23
  const apiOptions = merge({ ...getLocalApiRequestOptions() }, options);
22
24
  console.log("📡 localApiFetch", apiOptions.method, url.href);
23
- return await httpFetch(url.href, apiOptions);
25
+ const apiResponse = await httpFetch(url.href, apiOptions);
26
+ return apiResponse;
24
27
  }
25
28
  async function localApiGet(url, options = {}, serviceOptions, origin) {
26
29
  return await localApiFetch(url, {
@@ -55,7 +58,7 @@ async function localApiDelete(url, options = {}, serviceOptions) {
55
58
  method: "DELETE"
56
59
  }, serviceOptions);
57
60
  }
61
+
58
62
  //#endregion
59
63
  export { getLocalApiRequestOptions, getLocalApiUrl, getRemoteApiRequestOptions, localApiDelete, localApiFetch, localApiGet, localApiPatch, localApiPost, localApiPut };
60
-
61
64
  //# sourceMappingURL=http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","names":[],"sources":["../../src/lib/http.ts"],"sourcesContent":["import { FetchRequestOptions, httpFetch, isBrowser, merge } from '@websolutespa/bom-core';\r\n\r\nconst API_URL = process.env.NEXT_PUBLIC_URL || 'http://localhost:3000';\r\nconst API_BASE = process.env.NEXT_PUBLIC_API || '/api';\r\n\r\nexport type ApiRequestOptions = FetchRequestOptions;\r\n\r\nexport function getLocalApiRequestOptions(): ApiRequestOptions {\r\n return {\r\n headers: {\r\n },\r\n };\r\n}\r\n\r\nexport function getRemoteApiRequestOptions(token?: string): ApiRequestOptions {\r\n if (token) {\r\n // authenticated end user JWT token bearer (end_users)\r\n return {\r\n // mode: 'cors',\r\n headers: {\r\n Authorization: `JWT ${token}`,\r\n // Authorization: `Bearer ${token}`,\r\n },\r\n };\r\n } else {\r\n // guest user api key (users)\r\n return {\r\n // mode: 'cors',\r\n headers: {\r\n Authorization: `users API-Key ${process.env.STORE_API_KEY}`,\r\n },\r\n };\r\n }\r\n}\r\n\r\nexport function getLocalApiUrl(pathname: string, origin?: string): string {\r\n const url = `${isBrowser ? window.location.origin : (origin || API_URL)}${API_BASE}${pathname}`;\r\n // console.log('getLocalApiUrl', url);\r\n return url;\r\n}\r\n\r\nexport async function localApiFetch<T = unknown>(pathname: string, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }, origin?: string): Promise<T> {\r\n // console.log('localApiFetch', pathname, options, serviceOptions);\r\n const url = new URL(getLocalApiUrl(pathname, origin));\r\n if (serviceOptions) {\r\n url.searchParams.append('locale', serviceOptions.locale);\r\n url.searchParams.append('market', serviceOptions.market);\r\n }\r\n const apiOptions = merge({ ...getLocalApiRequestOptions() }, options);\r\n console.log('📡 localApiFetch', apiOptions.method, url.href);\r\n const apiResponse = await httpFetch(url.href, apiOptions);\r\n // console.log('localApiFetch', pathname, apiResponse);\r\n return apiResponse;\r\n}\r\n\r\nexport async function localApiGet<T = unknown>(url: string, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }, origin?: string): Promise<T> {\r\n return await localApiFetch<T>(url, { ...options, method: 'GET' }, serviceOptions, origin);\r\n}\r\n\r\nexport async function localApiPost<T = unknown>(url: string, payload?: unknown, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n return await localApiFetch<T>(url, { ...options, method: 'POST', body: payload ? JSON.stringify(payload) : undefined }, serviceOptions);\r\n}\r\n\r\nexport async function localApiPut<T = unknown>(url: string, payload?: unknown, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n return await localApiFetch<T>(url, { ...options, method: 'PUT', body: payload ? JSON.stringify(payload) : undefined }, serviceOptions);\r\n}\r\n\r\nexport async function localApiPatch<T = unknown>(url: string, payload?: unknown, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n return await localApiFetch<T>(url, { ...options, method: 'PATCH', body: payload ? JSON.stringify(payload) : undefined }, serviceOptions);\r\n}\r\n\r\nexport async function localApiDelete<T = unknown>(url: string, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n return await localApiFetch<T>(url, { ...options, method: 'DELETE' }, serviceOptions);\r\n}\r\n"],"mappings":";;AAEA,MAAM,UAAU,QAAQ,IAAI,mBAAmB;AAC/C,MAAM,WAAW,QAAQ,IAAI,mBAAmB;AAIhD,SAAgB,4BAA+C;CAC7D,OAAO,EACL,SAAS,CACT,EACF;AACF;AAEA,SAAgB,2BAA2B,OAAmC;CAC5E,IAAI,OAEF,OAAO,EAEL,SAAS,EACP,eAAe,OAAO,QAExB,EACF;MAGA,OAAO,EAEL,SAAS,EACP,eAAe,iBAAiB,QAAQ,IAAI,gBAC9C,EACF;AAEJ;AAEA,SAAgB,eAAe,UAAkB,QAAyB;CAGxE,OAAO,GAFQ,YAAY,OAAO,SAAS,SAAU,UAAU,UAAW,WAAW;AAGvF;AAEA,eAAsB,cAA2B,UAAkB,UAA6B,CAAC,GAAG,gBAAqD,QAA6B;CAEpL,MAAM,MAAM,IAAI,IAAI,eAAe,UAAU,MAAM,CAAC;CACpD,IAAI,gBAAgB;EAClB,IAAI,aAAa,OAAO,UAAU,eAAe,MAAM;EACvD,IAAI,aAAa,OAAO,UAAU,eAAe,MAAM;CACzD;CACA,MAAM,aAAa,MAAM,EAAE,GAAG,0BAA0B,EAAE,GAAG,OAAO;CACpE,QAAQ,IAAI,oBAAoB,WAAW,QAAQ,IAAI,IAAI;CAG3D,OAAO,MAFmB,UAAU,IAAI,MAAM,UAAU;AAG1D;AAEA,eAAsB,YAAyB,KAAa,UAA6B,CAAC,GAAG,gBAAqD,QAA6B;CAC7K,OAAO,MAAM,cAAiB,KAAK;EAAE,GAAG;EAAS,QAAQ;CAAM,GAAG,gBAAgB,MAAM;AAC1F;AAEA,eAAsB,aAA0B,KAAa,SAAmB,UAA6B,CAAC,GAAG,gBAAiE;CAChL,OAAO,MAAM,cAAiB,KAAK;EAAE,GAAG;EAAS,QAAQ;EAAQ,MAAM,UAAU,KAAK,UAAU,OAAO,IAAI,KAAA;CAAU,GAAG,cAAc;AACxI;AAEA,eAAsB,YAAyB,KAAa,SAAmB,UAA6B,CAAC,GAAG,gBAAiE;CAC/K,OAAO,MAAM,cAAiB,KAAK;EAAE,GAAG;EAAS,QAAQ;EAAO,MAAM,UAAU,KAAK,UAAU,OAAO,IAAI,KAAA;CAAU,GAAG,cAAc;AACvI;AAEA,eAAsB,cAA2B,KAAa,SAAmB,UAA6B,CAAC,GAAG,gBAAiE;CACjL,OAAO,MAAM,cAAiB,KAAK;EAAE,GAAG;EAAS,QAAQ;EAAS,MAAM,UAAU,KAAK,UAAU,OAAO,IAAI,KAAA;CAAU,GAAG,cAAc;AACzI;AAEA,eAAsB,eAA4B,KAAa,UAA6B,CAAC,GAAG,gBAAiE;CAC/J,OAAO,MAAM,cAAiB,KAAK;EAAE,GAAG;EAAS,QAAQ;CAAS,GAAG,cAAc;AACrF"}
1
+ {"version":3,"file":"http.js","names":["token?: string","pathname: string","origin?: string","options: ApiRequestOptions","serviceOptions?: { locale: string, market: string }","url: string","payload?: unknown"],"sources":["../../src/lib/http.ts"],"sourcesContent":["import { FetchRequestOptions, httpFetch, isBrowser, merge } from '@websolutespa/bom-core';\r\n\r\nconst API_URL = process.env.NEXT_PUBLIC_URL || 'http://localhost:3000';\r\nconst API_BASE = process.env.NEXT_PUBLIC_API || '/api';\r\n\r\nexport type ApiRequestOptions = FetchRequestOptions;\r\n\r\nexport function getLocalApiRequestOptions(): ApiRequestOptions {\r\n return {\r\n headers: {\r\n },\r\n };\r\n}\r\n\r\nexport function getRemoteApiRequestOptions(token?: string): ApiRequestOptions {\r\n if (token) {\r\n // authenticated end user JWT token bearer (end_users)\r\n return {\r\n // mode: 'cors',\r\n headers: {\r\n Authorization: `JWT ${token}`,\r\n // Authorization: `Bearer ${token}`,\r\n },\r\n };\r\n } else {\r\n // guest user api key (users)\r\n return {\r\n // mode: 'cors',\r\n headers: {\r\n Authorization: `users API-Key ${process.env.STORE_API_KEY}`,\r\n },\r\n };\r\n }\r\n}\r\n\r\nexport function getLocalApiUrl(pathname: string, origin?: string): string {\r\n const url = `${isBrowser ? window.location.origin : (origin || API_URL)}${API_BASE}${pathname}`;\r\n // console.log('getLocalApiUrl', url);\r\n return url;\r\n}\r\n\r\nexport async function localApiFetch<T = unknown>(pathname: string, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }, origin?: string): Promise<T> {\r\n // console.log('localApiFetch', pathname, options, serviceOptions);\r\n const url = new URL(getLocalApiUrl(pathname, origin));\r\n if (serviceOptions) {\r\n url.searchParams.append('locale', serviceOptions.locale);\r\n url.searchParams.append('market', serviceOptions.market);\r\n }\r\n const apiOptions = merge({ ...getLocalApiRequestOptions() }, options);\r\n console.log('📡 localApiFetch', apiOptions.method, url.href);\r\n const apiResponse = await httpFetch(url.href, apiOptions);\r\n // console.log('localApiFetch', pathname, apiResponse);\r\n return apiResponse;\r\n}\r\n\r\nexport async function localApiGet<T = unknown>(url: string, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }, origin?: string): Promise<T> {\r\n return await localApiFetch<T>(url, { ...options, method: 'GET' }, serviceOptions, origin);\r\n}\r\n\r\nexport async function localApiPost<T = unknown>(url: string, payload?: unknown, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n return await localApiFetch<T>(url, { ...options, method: 'POST', body: payload ? JSON.stringify(payload) : undefined }, serviceOptions);\r\n}\r\n\r\nexport async function localApiPut<T = unknown>(url: string, payload?: unknown, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n return await localApiFetch<T>(url, { ...options, method: 'PUT', body: payload ? JSON.stringify(payload) : undefined }, serviceOptions);\r\n}\r\n\r\nexport async function localApiPatch<T = unknown>(url: string, payload?: unknown, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n return await localApiFetch<T>(url, { ...options, method: 'PATCH', body: payload ? JSON.stringify(payload) : undefined }, serviceOptions);\r\n}\r\n\r\nexport async function localApiDelete<T = unknown>(url: string, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n return await localApiFetch<T>(url, { ...options, method: 'DELETE' }, serviceOptions);\r\n}\r\n"],"mappings":";;;AAEA,MAAM,UAAU,QAAQ,IAAI,mBAAmB;AAC/C,MAAM,WAAW,QAAQ,IAAI,mBAAmB;AAIhD,SAAgB,4BAA+C;AAC7D,QAAO,EACL,SAAS,CACR,EACF;AACF;AAED,SAAgB,2BAA2BA,OAAmC;AAC5E,KAAI,MAEF,QAAO,EAEL,SAAS,EACP,eAAe,CAAC,IAAI,EAAE,OAAO,CAE9B,EACF;KAGD,QAAO,EAEL,SAAS,EACP,eAAe,CAAC,cAAc,EAAE,QAAQ,IAAI,eAAe,CAC5D,EACF;AAEJ;AAED,SAAgB,eAAeC,UAAkBC,QAAyB;CACxE,MAAM,MAAM,GAAG,YAAY,OAAO,SAAS,SAAU,UAAU,UAAW,WAAW,UAAU;AAE/F,QAAO;AACR;AAED,eAAsB,cAA2BD,UAAkBE,UAA6B,CAAE,GAAEC,gBAAqDF,QAA6B;CAEpL,MAAM,MAAM,IAAI,IAAI,eAAe,UAAU,OAAO;AACpD,KAAI,gBAAgB;EAClB,IAAI,aAAa,OAAO,UAAU,eAAe,OAAO;EACxD,IAAI,aAAa,OAAO,UAAU,eAAe,OAAO;CACzD;CACD,MAAM,aAAa,MAAM,EAAE,GAAG,2BAA2B,CAAE,GAAE,QAAQ;CACrE,QAAQ,IAAI,oBAAoB,WAAW,QAAQ,IAAI,KAAK;CAC5D,MAAM,cAAc,MAAM,UAAU,IAAI,MAAM,WAAW;AAEzD,QAAO;AACR;AAED,eAAsB,YAAyBG,KAAaF,UAA6B,CAAE,GAAEC,gBAAqDF,QAA6B;AAC7K,QAAO,MAAM,cAAiB,KAAK;EAAE,GAAG;EAAS,QAAQ;CAAO,GAAE,gBAAgB,OAAO;AAC1F;AAED,eAAsB,aAA0BG,KAAaC,SAAmBH,UAA6B,CAAE,GAAEC,gBAAiE;AAChL,QAAO,MAAM,cAAiB,KAAK;EAAE,GAAG;EAAS,QAAQ;EAAQ,MAAM,UAAU,KAAK,UAAU,QAAQ,GAAG;CAAW,GAAE,eAAe;AACxI;AAED,eAAsB,YAAyBC,KAAaC,SAAmBH,UAA6B,CAAE,GAAEC,gBAAiE;AAC/K,QAAO,MAAM,cAAiB,KAAK;EAAE,GAAG;EAAS,QAAQ;EAAO,MAAM,UAAU,KAAK,UAAU,QAAQ,GAAG;CAAW,GAAE,eAAe;AACvI;AAED,eAAsB,cAA2BC,KAAaC,SAAmBH,UAA6B,CAAE,GAAEC,gBAAiE;AACjL,QAAO,MAAM,cAAiB,KAAK;EAAE,GAAG;EAAS,QAAQ;EAAS,MAAM,UAAU,KAAK,UAAU,QAAQ,GAAG;CAAW,GAAE,eAAe;AACzI;AAED,eAAsB,eAA4BC,KAAaF,UAA6B,CAAE,GAAEC,gBAAiE;AAC/J,QAAO,MAAM,cAAiB,KAAK;EAAE,GAAG;EAAS,QAAQ;CAAU,GAAE,eAAe;AACrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"label.d.ts","names":[],"sources":["../../src/lib/label.ts"],"mappings":";;;iBAEgB,kBAAA,SAA2B,kCAEX;iBAahB,eAAA,2BAA0C;AAf1C,cAuBH,YAAA,CAvBqB;EAAA,MAAA,EAwBxB,MAxBwB,EAAA;EAAS,UAAA,EAyB7B,MAzB6B,CAAA,MAAA,EAyBd,YAzBc,GAAA,SAAA,CAAA;EAEX,WAAA,CAAA,MAAA,EAwBV,MAxBU,EAAA;EAAM,QAAA,CAAA,GAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EA4BL,MA5BK,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,EAAA,MAAA;AAatC;AAQA"}
1
+ {"version":3,"file":"label.d.ts","names":[],"sources":["../../src/lib/label.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,kBAAA,SAA2B,kCAEX;iBAahB,eAAA,2BAA0C;AAf1C,cAuBH,YAAA,CAvBqB;EAAA,MAAA,EAwBxB,MAxBwB,EAAA;EAAA,UAAS,EAyB7B,MAzB6B,CAAA,MAAA,EAyBd,YAzBc,GAAA,SAAA,CAAA;EAAM,WAEjB,CAAA,MAAA,EAwBV,MAxBU,EAAA;EAAM,QAAA,CAAA,GAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EA4BL,MA5BK,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,EAAA,MAAA;AAatC;AAQA"}
package/dist/lib/label.js CHANGED
@@ -11,9 +11,10 @@ function parseLabel(dictionary, key, params) {
11
11
  return label;
12
12
  }
13
13
  function interpolateText(text, dictionary) {
14
- return text.replace(/@(\w+)/g, (text, key) => {
14
+ const TEMPLATE_REGEXP = /@(\w+)/g;
15
+ return text.replace(TEMPLATE_REGEXP, (text$1, key) => {
15
16
  const replacer = dictionary[key];
16
- return typeof replacer !== "undefined" ? String(replacer) : text;
17
+ return typeof replacer !== "undefined" ? String(replacer) : text$1;
17
18
  });
18
19
  }
19
20
  var LabelService = class {
@@ -27,7 +28,7 @@ var LabelService = class {
27
28
  return parseLabel(this.dictionary, key, params);
28
29
  }
29
30
  };
31
+
30
32
  //#endregion
31
33
  export { LabelService, getLabelFromLabels, interpolateText };
32
-
33
34
  //# sourceMappingURL=label.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"label.js","names":[],"sources":["../../src/lib/label.ts"],"sourcesContent":["import type { ILabel, ILocalizable } from '@websolutespa/bom-core';\r\n\r\nexport function getLabelFromLabels(labels: ILabel[]) {\r\n const labelService = new LabelService(labels);\r\n return (key: string, params?: Record<string, any>): string => {\r\n return labelService.getLabel(key, params);\r\n };\r\n}\r\n\r\nfunction parseLabel(dictionary: Record<string, ILocalizable | undefined>, key: string, params?: Record<string, any>): string {\r\n const label = (dictionary[key] != null ? dictionary[key] : key) as string;\r\n if (params) {\r\n return interpolateText(label, params);\r\n }\r\n return label;\r\n}\r\n\r\nexport function interpolateText(text: string, dictionary: Record<string, any>): string {\r\n const TEMPLATE_REGEXP: RegExp = /@(\\w+)/g;\r\n return text.replace(TEMPLATE_REGEXP, (text: string, key: string) => {\r\n const replacer: unknown = dictionary[key];\r\n return typeof replacer !== 'undefined' ? String(replacer) : text;\r\n });\r\n}\r\n\r\nexport class LabelService {\r\n labels: ILabel[];\r\n dictionary: Record<string, ILocalizable | undefined>;\r\n constructor(labels: ILabel[]) {\r\n this.labels = labels;\r\n this.dictionary = Object.fromEntries(labels.map(l => [l.id, l.text]));\r\n }\r\n getLabel(key: string, params?: Record<string, any>): string {\r\n return parseLabel(this.dictionary, key, params);\r\n }\r\n}\r\n\r\n/*\r\nexport function resolveLabel(labels: ILabel[], id: string): string {\r\n const label = labels.find(x => x.id === id);\r\n return label && label.text ? label.text.toString() : id;\r\n}\r\n*/\r\n"],"mappings":";AAEA,SAAgB,mBAAmB,QAAkB;CACnD,MAAM,eAAe,IAAI,aAAa,MAAM;CAC5C,QAAQ,KAAa,WAAyC;EAC5D,OAAO,aAAa,SAAS,KAAK,MAAM;CAC1C;AACF;AAEA,SAAS,WAAW,YAAsD,KAAa,QAAsC;CAC3H,MAAM,QAAS,WAAW,QAAQ,OAAO,WAAW,OAAO;CAC3D,IAAI,QACF,OAAO,gBAAgB,OAAO,MAAM;CAEtC,OAAO;AACT;AAEA,SAAgB,gBAAgB,MAAc,YAAyC;CAErF,OAAO,KAAK,QAAQ,YAAkB,MAAc,QAAgB;EAClE,MAAM,WAAoB,WAAW;EACrC,OAAO,OAAO,aAAa,cAAc,OAAO,QAAQ,IAAI;CAC9D,CAAC;AACH;AAEA,IAAa,eAAb,MAA0B;CACxB;CACA;CACA,YAAY,QAAkB;EAC5B,KAAK,SAAS;EACd,KAAK,aAAa,OAAO,YAAY,OAAO,KAAI,MAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;CACtE;CACA,SAAS,KAAa,QAAsC;EAC1D,OAAO,WAAW,KAAK,YAAY,KAAK,MAAM;CAChD;AACF"}
1
+ {"version":3,"file":"label.js","names":["labels: ILabel[]","key: string","params?: Record<string, any>","dictionary: Record<string, ILocalizable | undefined>","text: string","dictionary: Record<string, any>","TEMPLATE_REGEXP: RegExp","replacer: unknown","text"],"sources":["../../src/lib/label.ts"],"sourcesContent":["import type { ILabel, ILocalizable } from '@websolutespa/bom-core';\r\n\r\nexport function getLabelFromLabels(labels: ILabel[]) {\r\n const labelService = new LabelService(labels);\r\n return (key: string, params?: Record<string, any>): string => {\r\n return labelService.getLabel(key, params);\r\n };\r\n}\r\n\r\nfunction parseLabel(dictionary: Record<string, ILocalizable | undefined>, key: string, params?: Record<string, any>): string {\r\n const label = (dictionary[key] != null ? dictionary[key] : key) as string;\r\n if (params) {\r\n return interpolateText(label, params);\r\n }\r\n return label;\r\n}\r\n\r\nexport function interpolateText(text: string, dictionary: Record<string, any>): string {\r\n const TEMPLATE_REGEXP: RegExp = /@(\\w+)/g;\r\n return text.replace(TEMPLATE_REGEXP, (text: string, key: string) => {\r\n const replacer: unknown = dictionary[key];\r\n return typeof replacer !== 'undefined' ? String(replacer) : text;\r\n });\r\n}\r\n\r\nexport class LabelService {\r\n labels: ILabel[];\r\n dictionary: Record<string, ILocalizable | undefined>;\r\n constructor(labels: ILabel[]) {\r\n this.labels = labels;\r\n this.dictionary = Object.fromEntries(labels.map(l => [l.id, l.text]));\r\n }\r\n getLabel(key: string, params?: Record<string, any>): string {\r\n return parseLabel(this.dictionary, key, params);\r\n }\r\n}\r\n\r\n/*\r\nexport function resolveLabel(labels: ILabel[], id: string): string {\r\n const label = labels.find(x => x.id === id);\r\n return label && label.text ? label.text.toString() : id;\r\n}\r\n*/\r\n"],"mappings":";AAEA,SAAgB,mBAAmBA,QAAkB;CACnD,MAAM,eAAe,IAAI,aAAa;AACtC,QAAO,CAACC,KAAaC,WAAyC;AAC5D,SAAO,aAAa,SAAS,KAAK,OAAO;CAC1C;AACF;AAED,SAAS,WAAWC,YAAsDF,KAAaC,QAAsC;CAC3H,MAAM,QAAS,WAAW,QAAQ,OAAO,WAAW,OAAO;AAC3D,KAAI,OACF,QAAO,gBAAgB,OAAO,OAAO;AAEvC,QAAO;AACR;AAED,SAAgB,gBAAgBE,MAAcC,YAAyC;CACrF,MAAMC,kBAA0B;AAChC,QAAO,KAAK,QAAQ,iBAAiB,CAACF,QAAcH,QAAgB;EAClE,MAAMM,WAAoB,WAAW;AACrC,SAAO,OAAO,aAAa,cAAc,OAAO,SAAS,GAAGC;CAC7D,EAAC;AACH;AAED,IAAa,eAAb,MAA0B;CACxB;CACA;CACA,YAAYR,QAAkB;EAC5B,KAAK,SAAS;EACd,KAAK,aAAa,OAAO,YAAY,OAAO,IAAI,OAAK,CAAC,EAAE,IAAI,EAAE,IAAK,EAAC,CAAC;CACtE;CACD,SAASC,KAAaC,QAAsC;AAC1D,SAAO,WAAW,KAAK,YAAY,KAAK,OAAO;CAChD;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout.defaults.d.ts","names":[],"sources":["../../src/lib/layout.defaults.ts"],"mappings":";;;cAEa,gBAAgB"}
1
+ {"version":3,"file":"layout.defaults.d.ts","names":[],"sources":["../../src/lib/layout.defaults.ts"],"sourcesContent":[],"mappings":";;;cAEa,gBAAgB"}
@@ -155,7 +155,7 @@ const LayoutDefaults = {
155
155
  topLevelHrefs: {},
156
156
  topLevelRoutes: {}
157
157
  };
158
+
158
159
  //#endregion
159
160
  export { LayoutDefaults };
160
-
161
161
  //# sourceMappingURL=layout.defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.defaults.js","names":[],"sources":["../../src/lib/layout.defaults.ts"],"sourcesContent":["import { ILayout } from '@websolutespa/bom-core';\r\n\r\nexport const LayoutDefaults: ILayout = {\r\n labels: [\r\n {\r\n id: 'error.required',\r\n text: 'Required field',\r\n },\r\n {\r\n id: 'items.found',\r\n text: '@items items found',\r\n },\r\n ],\r\n locale: 'en',\r\n locales: [],\r\n market: 'ww',\r\n markets: [],\r\n app: {\r\n id: 'app',\r\n brand: {\r\n name: 'Mixer',\r\n social: [],\r\n },\r\n },\r\n menu: {\r\n main: {\r\n id: 'main',\r\n items: [\r\n {\r\n id: 1,\r\n type: 'category',\r\n title: 'Collections',\r\n category: 'product_index',\r\n href: '#collections',\r\n items: [\r\n {\r\n id: 'product_category_tile',\r\n type: 'category',\r\n title: 'Tiles',\r\n category: 'product_category_tile',\r\n href: '#collections/tiles',\r\n items: [],\r\n media: {\r\n type: 'image',\r\n src: 'https://placehold.co/960x600/e4e5eb/f4f5fb.webp?text=placehold',\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n },\r\n tree: {\r\n id: 'homepage',\r\n category: 'homepage',\r\n schema: 'homepage',\r\n title: 'Homepage',\r\n href: '/',\r\n items: [\r\n {\r\n id: 'product_index',\r\n category: 'product_index',\r\n schema: 'product_index',\r\n title: 'Collections',\r\n href: '#collections',\r\n items: [\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Tiles',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6366_n_tiles.jpg',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: '3D Elements',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6369_n_3d_elements_menu_cover.webp',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Paints',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6367_n_paints.jpg',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Wood & Metal',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6368_n_menu_wood_metal.webp',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Accessories',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6371_n_accessories.jpg',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Editions',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/7858_n_Menu.webp',\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n id: 'magazine_index',\r\n category: 'magazine_index',\r\n schema: 'magazine_index',\r\n title: 'Magazine',\r\n href: '#magazine_index',\r\n },\r\n {\r\n id: 'store_index',\r\n category: 'store_index',\r\n schema: 'store_index',\r\n title: 'Stores',\r\n href: '#store_index',\r\n },\r\n {\r\n id: 'contact',\r\n category: 'contact',\r\n schema: 'contact',\r\n title: 'Contacts',\r\n href: '#contact',\r\n },\r\n {\r\n id: 'shop_index',\r\n category: 'shop_index',\r\n schema: 'shop_index',\r\n title: 'Shop',\r\n href: '#shop_index',\r\n },\r\n ],\r\n },\r\n topLevelHrefs: {},\r\n topLevelRoutes: {},\r\n};\r\n"],"mappings":";AAEA,MAAa,iBAA0B;CACrC,QAAQ,CACN;EACE,IAAI;EACJ,MAAM;CACR,GACA;EACE,IAAI;EACJ,MAAM;CACR,CACF;CACA,QAAQ;CACR,SAAS,CAAC;CACV,QAAQ;CACR,SAAS,CAAC;CACV,KAAK;EACH,IAAI;EACJ,OAAO;GACL,MAAM;GACN,QAAQ,CAAC;EACX;CACF;CACA,MAAM,EACJ,MAAM;EACJ,IAAI;EACJ,OAAO,CACL;GACE,IAAI;GACJ,MAAM;GACN,OAAO;GACP,UAAU;GACV,MAAM;GACN,OAAO,CACL;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,UAAU;IACV,MAAM;IACN,OAAO,CAAC;IACR,OAAO;KACL,MAAM;KACN,KAAK;IACP;GACF,CACF;EACF,CACF;CACF,EACF;CACA,MAAM;EACJ,IAAI;EACJ,UAAU;EACV,QAAQ;EACR,OAAO;EACP,MAAM;EACN,OAAO;GACL;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;KACL;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACP;KACF;KACA;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACP;KACF;KACA;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACP;KACF;KACA;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACP;KACF;KACA;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACP;KACF;KACA;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACP;KACF;IACF;GACF;GACA;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;GACR;GACA;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;GACR;GACA;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;GACR;GACA;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;GACR;EACF;CACF;CACA,eAAe,CAAC;CAChB,gBAAgB,CAAC;AACnB"}
1
+ {"version":3,"file":"layout.defaults.js","names":["LayoutDefaults: ILayout"],"sources":["../../src/lib/layout.defaults.ts"],"sourcesContent":["import { ILayout } from '@websolutespa/bom-core';\r\n\r\nexport const LayoutDefaults: ILayout = {\r\n labels: [\r\n {\r\n id: 'error.required',\r\n text: 'Required field',\r\n },\r\n {\r\n id: 'items.found',\r\n text: '@items items found',\r\n },\r\n ],\r\n locale: 'en',\r\n locales: [],\r\n market: 'ww',\r\n markets: [],\r\n app: {\r\n id: 'app',\r\n brand: {\r\n name: 'Mixer',\r\n social: [],\r\n },\r\n },\r\n menu: {\r\n main: {\r\n id: 'main',\r\n items: [\r\n {\r\n id: 1,\r\n type: 'category',\r\n title: 'Collections',\r\n category: 'product_index',\r\n href: '#collections',\r\n items: [\r\n {\r\n id: 'product_category_tile',\r\n type: 'category',\r\n title: 'Tiles',\r\n category: 'product_category_tile',\r\n href: '#collections/tiles',\r\n items: [],\r\n media: {\r\n type: 'image',\r\n src: 'https://placehold.co/960x600/e4e5eb/f4f5fb.webp?text=placehold',\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n },\r\n tree: {\r\n id: 'homepage',\r\n category: 'homepage',\r\n schema: 'homepage',\r\n title: 'Homepage',\r\n href: '/',\r\n items: [\r\n {\r\n id: 'product_index',\r\n category: 'product_index',\r\n schema: 'product_index',\r\n title: 'Collections',\r\n href: '#collections',\r\n items: [\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Tiles',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6366_n_tiles.jpg',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: '3D Elements',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6369_n_3d_elements_menu_cover.webp',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Paints',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6367_n_paints.jpg',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Wood & Metal',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6368_n_menu_wood_metal.webp',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Accessories',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6371_n_accessories.jpg',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Editions',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/7858_n_Menu.webp',\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n id: 'magazine_index',\r\n category: 'magazine_index',\r\n schema: 'magazine_index',\r\n title: 'Magazine',\r\n href: '#magazine_index',\r\n },\r\n {\r\n id: 'store_index',\r\n category: 'store_index',\r\n schema: 'store_index',\r\n title: 'Stores',\r\n href: '#store_index',\r\n },\r\n {\r\n id: 'contact',\r\n category: 'contact',\r\n schema: 'contact',\r\n title: 'Contacts',\r\n href: '#contact',\r\n },\r\n {\r\n id: 'shop_index',\r\n category: 'shop_index',\r\n schema: 'shop_index',\r\n title: 'Shop',\r\n href: '#shop_index',\r\n },\r\n ],\r\n },\r\n topLevelHrefs: {},\r\n topLevelRoutes: {},\r\n};\r\n"],"mappings":";AAEA,MAAaA,iBAA0B;CACrC,QAAQ,CACN;EACE,IAAI;EACJ,MAAM;CACP,GACD;EACE,IAAI;EACJ,MAAM;CACP,CACF;CACD,QAAQ;CACR,SAAS,CAAE;CACX,QAAQ;CACR,SAAS,CAAE;CACX,KAAK;EACH,IAAI;EACJ,OAAO;GACL,MAAM;GACN,QAAQ,CAAE;EACX;CACF;CACD,MAAM,EACJ,MAAM;EACJ,IAAI;EACJ,OAAO,CACL;GACE,IAAI;GACJ,MAAM;GACN,OAAO;GACP,UAAU;GACV,MAAM;GACN,OAAO,CACL;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,UAAU;IACV,MAAM;IACN,OAAO,CAAE;IACT,OAAO;KACL,MAAM;KACN,KAAK;IACN;GACF,CACF;EACF,CACF;CACF,EACF;CACD,MAAM;EACJ,IAAI;EACJ,UAAU;EACV,QAAQ;EACR,OAAO;EACP,MAAM;EACN,OAAO;GACL;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;KACL;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACN;KACF;KACD;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACN;KACF;KACD;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACN;KACF;KACD;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACN;KACF;KACD;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACN;KACF;KACD;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACN;KACF;IACF;GACF;GACD;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;GACP;GACD;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;GACP;GACD;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;GACP;GACD;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;GACP;EACF;CACF;CACD,eAAe,CAAE;CACjB,gBAAgB,CAAE;AACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","names":[],"sources":["../../src/lib/link.ts"],"mappings":";;;iBAgBgB,OAAA,2BAAkC"}
1
+ {"version":3,"file":"link.d.ts","names":[],"sources":["../../src/lib/link.ts"],"sourcesContent":[],"mappings":";;;iBAgBgB,OAAA,2BAAkC"}
package/dist/lib/link.js CHANGED
@@ -6,11 +6,12 @@ function getLink_(category, routeLink) {
6
6
  return getLink_(category, c) || p;
7
7
  }, void 0);
8
8
  }
9
+ return void 0;
9
10
  }
10
11
  function getLink(category, layout) {
11
12
  return getLink_(category, layout.tree);
12
13
  }
14
+
13
15
  //#endregion
14
16
  export { getLink };
15
-
16
17
  //# sourceMappingURL=link.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","names":[],"sources":["../../src/lib/link.ts"],"sourcesContent":["import type { ILayout, IRouteLink } from '@websolutespa/bom-core';\r\n\r\nfunction getLink_(category: string, routeLink: IRouteLink | undefined): string | undefined {\r\n if (routeLink) {\r\n if (routeLink.category === category) {\r\n return routeLink.href;\r\n }\r\n if (routeLink.items) {\r\n return routeLink.items.reduce((p: string | undefined, c) => {\r\n return getLink_(category, c) || p;\r\n }, undefined);\r\n }\r\n }\r\n return undefined;\r\n}\r\n\r\nexport function getLink(category: string, layout: ILayout) {\r\n return getLink_(category, layout.tree);\r\n}\r\n"],"mappings":";AAEA,SAAS,SAAS,UAAkB,WAAuD;CACzF,IAAI,WAAW;EACb,IAAI,UAAU,aAAa,UACzB,OAAO,UAAU;EAEnB,IAAI,UAAU,OACZ,OAAO,UAAU,MAAM,QAAQ,GAAuB,MAAM;GAC1D,OAAO,SAAS,UAAU,CAAC,KAAK;EAClC,GAAG,KAAA,CAAS;CAEhB;AAEF;AAEA,SAAgB,QAAQ,UAAkB,QAAiB;CACzD,OAAO,SAAS,UAAU,OAAO,IAAI;AACvC"}
1
+ {"version":3,"file":"link.js","names":["category: string","routeLink: IRouteLink | undefined","p: string | undefined","layout: ILayout"],"sources":["../../src/lib/link.ts"],"sourcesContent":["import type { ILayout, IRouteLink } from '@websolutespa/bom-core';\r\n\r\nfunction getLink_(category: string, routeLink: IRouteLink | undefined): string | undefined {\r\n if (routeLink) {\r\n if (routeLink.category === category) {\r\n return routeLink.href;\r\n }\r\n if (routeLink.items) {\r\n return routeLink.items.reduce((p: string | undefined, c) => {\r\n return getLink_(category, c) || p;\r\n }, undefined);\r\n }\r\n }\r\n return undefined;\r\n}\r\n\r\nexport function getLink(category: string, layout: ILayout) {\r\n return getLink_(category, layout.tree);\r\n}\r\n"],"mappings":";AAEA,SAAS,SAASA,UAAkBC,WAAuD;AACzF,KAAI,WAAW;AACb,MAAI,UAAU,aAAa,SACzB,QAAO,UAAU;AAEnB,MAAI,UAAU,MACZ,QAAO,UAAU,MAAM,OAAO,CAACC,GAAuB,MAAM;AAC1D,UAAO,SAAS,UAAU,EAAE,IAAI;EACjC,GAAE,OAAU;CAEhB;AACD,QAAO;AACR;AAED,SAAgB,QAAQF,UAAkBG,QAAiB;AACzD,QAAO,SAAS,UAAU,OAAO,KAAK;AACvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"meta-data.d.ts","names":[],"sources":["../../src/lib/meta-data.ts"],"mappings":";;;;;;;KAMY,MAAA;;EAAA,YAAM,EAAA,MAgBP;EAGC,OAAA,EAAA,MAAU;EAMV,IAAA,EAAA,MAAK;EAAA,GAAA,EAAA,MAAA;EAOH,KAAA,CAAA,EAAA,MAAA;EACD,SAAA,CAAA,EAAA,MAAA;EAAU,OAAA,CAAA,EAAA,MAAA;EASX,IAAA,CAAA,EAAA,MAAS;EAAA,OAAA,CAAA,EAAA,MAAA;EACX,YAAA,CAAA,EAAA,MAAA;EACS,WAAA,CAAA,EAAA,MAAA;EAAX,WAAA,CAAA,EAAA,MAAA;EACC,MAAA,CAAA,EA7BE,MA6BF,CAAA,MAAA,EAAA,MAAA,CAAA;AACO,CAAA;AACR,KA5BI,UAAA,GA4BJ;EACK,EAAA,EAAA,MAAA;EACG,IAAA,EAAA,MAAA;EACC,QAAA,EAAA,MAAA;AACC,CAAA;AACF,KA3BJ,KAAA,GA2BI;EAAe,KAAA,EAAA,MAAA;;;;;;cApBjB;aACD;;;;KASD,SAAA;UACF;QACF,WAAW;SACV;gBACO;QACR;aACK;gBACG;iBACC;kBACC;gBACF"}
1
+ {"version":3,"file":"meta-data.d.ts","names":[],"sources":["../../src/lib/meta-data.ts"],"sourcesContent":[],"mappings":";;;;;;;KAMY,MAAA;;EAAA,YAAM,EAAA,MAgBP;EAGC,OAAA,EAAA,MAAU;EAMV,IAAA,EAAA,MAAK;EAAA,GAAA,EAAA,MAAA;EAAA,KAOH,CAAA,EAAA,MAAA;EAAU,SACX,CAAA,EAAA,MAAA;EAAU,OAAA,CAAA,EAAA,MAAA;EASX,IAAA,CAAA,EAAA,MAAS;EAAA,OAAA,CAAA,EAAA,MAAA;EAAA,YACX,CAAA,EAAA,MAAA;EAAO,WACE,CAAA,EAAA,MAAA;EAAK,WAAhB,CAAA,EAAA,MAAA;EAAU,MACT,CAAA,EA7BE,MA6BF,CAAA,MAAA,EAAA,MAAA,CAAA;CAAM;AAEP,KA5BI,UAAA,GA4BJ;EAAK,EAAA,EACA,MAAA;EAAa,IACV,EAAA,MAAA;EAAY,QACX,EAAA,MAAA;CAAa;AAEd,KA3BJ,KAAA,GA2BI;EAAe,KAAA,EAAA,MAAA;;;;;;cApBjB;aACD;;;;KASD,SAAA;UACF;QACF,WAAW;SACV;gBACO;QACR;aACK;gBACG;iBACC;kBACC;gBACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"open-graph.d.ts","names":[],"sources":["../../src/lib/open-graph.ts"],"mappings":";UAEiB,aAAA;EAAA,IAAA,EAAA,MAAA;EAAa,KAAA,CAAA,EAAA,MAAA;EAGX,KAAA,CAAA,EAAA,MAAA,GAAA,cAAA,GAAiB,cAAjB,EAAA;EAAiB,GAAA,CAAA,EAAA,MAAA;EAAc,WAAA,CAAA,EAAA,MAAA;EAQjC,QAAA,CAAA,EAAA,MAAc;EASd,MAAA,CAAA,EAAA,MAAA;EAMA,eAAA,CAAA,EAAA,MAAiB,EAAA;AAIlC;AAUiB,UA7BA,cAAA,CA6BsB;EAQtB,GAAA,EAAA,MAAA;EAQA,SAAA,CAAA,EAAA,MAAe;EASf,IAAA,CAAA,EAAA,MAAA;EAAe,KAAA,CAAA,EAAA,MAAA;EAAa,MAAA,CAAA,EAAA,MAAA;EAAL,GAAA,CAAA,EAAA,MAAA;AAAI;AAe3B,UA5DA,cAAA,CA4DiB;EAmBjB,GAAA,EAAA,MAAA;EAIA,SAAA,CAAA,EAAA,MAAe;EAWf,IAAA,CAAA,EAAA,MAAA;AAAoB;AAAa,UAxFjC,gBAAA,SAAyB,aAwFQ,CAAA;EAAL,IAAA,EAAA,SAAA;AAAI;AAiBhC,UArGA,gBAAA,SAAyB,aAqGc,CAAA;EAoB5C,IAAA,EAAA,SAAA;EAAa,aAAA,CAAA,EAAA,MAAA;EACrB,YAAA,CAAA,EAAA,MAAA;EACA,cAAA,CAAA,EAAA,MAAA;EACA,MAAA,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;EACA,OAAA,CAAA,EAAA,MAAA;EACA,GAAA,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;AACA;AACA,UAtHa,aAAA,SAAsB,aAsHnC,CAAA;EACA,IAAA,EAAA,MAAA;EACA,MAAA,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;EACA,IAAA,CAAA,EAAA,MAAA;EACA,WAAA,CAAA,EAAA,MAAA;EAAgB,GAAA,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;;UAlHH,gBAAA,SAAyB;;;;;;;UAQzB,cAAA,SAAuB;;;;;;;;UASvB,cAAA,SAAuB,KAAK;;;;;;;;;;;;;;UAe5B,gBAAA,SAAyB;;;;;;;;;;;;;;;;;;UAmBzB,qBAAA,SAA8B;;;UAI9B,cAAA,SAAuB;;;;;;;;;;UAWvB,mBAAA,SAA4B,KAAK;;;;;;;;;;;;;;;;UAiBjC,iBAAA,SAA0B;;;;;;;;;;;;;;;;;;;KAoB/B,aAAA,GACR,mBACA,gBACA,oBACA,iBACA,iBACA,mBACA,wBACA,mBACA,sBACA,iBACA"}
1
+ {"version":3,"file":"open-graph.d.ts","names":[],"sources":["../../src/lib/open-graph.ts"],"sourcesContent":[],"mappings":";UAEiB,aAAA;EAAA,IAAA,EAAA,MAAA;EAAa,KAAA,CAAA,EAAA,MAAA;EAAA,KAGX,CAAA,EAAA,MAAA,GAAA,cAAA,GAAiB,cAAjB,EAAA;EAAc,GAAG,CAAA,EAAA,MAAA;EAAc,WAAA,CAAA,EAAA,MAAA;EAQjC,QAAA,CAAA,EAAA,MAAc;EASd,MAAA,CAAA,EAAA,MAAA;EAMA,eAAA,CAAA,EAAA,MAAiB,EAAA;AAIlC;AAUiB,UA7BA,cAAA,CA6BsB;EAQtB,GAAA,EAAA,MAAA;EAQA,SAAA,CAAA,EAAA,MAAe;EASf,IAAA,CAAA,EAAA,MAAA;EAAe,KAAA,CAAA,EAAA,MAAA;EAAA,MAAa,CAAA,EAAA,MAAA;EAAa,GAAlB,CAAA,EAAA,MAAA;AAAI;AAe3B,UA5DA,cAAA,CA4DiB;EAmBjB,GAAA,EAAA,MAAA;EAIA,SAAA,CAAA,EAAA,MAAe;EAWf,IAAA,CAAA,EAAA,MAAA;;AAAiC,UAxFjC,gBAAA,SAAyB,aAwFQ,CAAA;EAAc,IAAnB,EAAA,SAAA;AAAI;AAiBhC,UArGA,gBAAA,SAAyB,aAqGc,CAAA;EAoB5C,IAAA,EAAA,SAAA;EAAa,aAAA,CAAA,EAAA,MAAA;EAAA,YACrB,CAAA,EAAA,MAAA;EAAgB,cAChB,CAAA,EAAA,MAAA;EAAa,MACb,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;EAAiB,OACjB,CAAA,EAAA,MAAA;EAAc,GACd,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;;AAEA,UAtHa,aAAA,SAAsB,aAsHnC,CAAA;EAAqB,IACrB,EAAA,MAAA;EAAgB,MAChB,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;EAAmB,IACnB,CAAA,EAAA,MAAA;EAAc,WACd,CAAA,EAAA,MAAA;EAAgB,GAAA,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;;UAlHH,gBAAA,SAAyB;;;;;;;UAQzB,cAAA,SAAuB;;;;;;;;UASvB,cAAA,SAAuB,KAAK;;;;;;;;;;;;;;UAe5B,gBAAA,SAAyB;;;;;;;;;;;;;;;;;;UAmBzB,qBAAA,SAA8B;;;UAI9B,cAAA,SAAuB;;;;;;;;;;UAWvB,mBAAA,SAA4B,KAAK;;;;;;;;;;;;;;;;UAiBjC,iBAAA,SAA0B;;;;;;;;;;;;;;;;;;;KAoB/B,aAAA,GACR,mBACA,gBACA,oBACA,iBACA,iBACA,mBACA,wBACA,mBACA,sBACA,iBACA"}
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","names":[],"sources":["../../src/lib/pagination.ts"],"mappings":";KAEY,eAAA;AAAA,KAEA,kBAAA,GAFe;EAEf,IAAA,CAAA,EAAA,YAAA,GAAkB,UAAA;EAOlB,IAAA,CAAA,EAAA,MAAA;EAAe,OAAA,CAAA,EAAA,MAAA;EAAW,SAAA,CAAA,EAAA,MAAA;AAAkB,CAAA;AAC/C,KADG,eACH,CAAA,UAD6B,eAC7B,GAD+C,eAC/C,CAAA,GAAA;EAAC,KAAA,EAAD,CAAC,EAAA;EAUM,OAAA,EAAA,OAAA;EAUA,QAAA,EAAA,MAAa,GAAA,SAAA;EAAA,IAAA,EAAA,MAAA;EAAW,KAAA,EAAA,MAAA;EAAkB,OAAA,EAAA,MAAA;EACjD,QAAA,EAAA,MAAA,GAAA,SAAA;EAGN,KAAA,EAAA,MAAA;AAAC,CAAA;AAMY,iBApBA,gBAAA,CAoBY,IAAA,EAAA,OAAA,CAAA,EAAA,IAAA,IApB6B,eAoB7B;AAAA,iBAVZ,aAUY,CAAA,UAVY,eAUZ,GAV8B,eAU9B,CAAA,CAAA,KAAA,EATnB,CASmB,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EANzB,CAMyB,EAAA;AAAW,iBAAvB,YAAuB,CAAA,UAAA,eAAA,GAAkB,eAAlB,CAAA,CAAA,KAAA,EAC9B,CAD8B,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAIpC,CAJoC,EAAA;AAAkB,iBAUzC,iBAVyC,CAAA,UAUb,eAVa,GAUK,eAVL,CAAA,CAAA,KAAA,EAWhD,CAXgD,EAAA,EAAA,OAAA,CAAA,EAY7C,kBAZ6C,CAAA,EAatD,eAbsD,CAatC,CAbsC,CAAA;AAChD"}
1
+ {"version":3,"file":"pagination.d.ts","names":[],"sources":["../../src/lib/pagination.ts"],"sourcesContent":[],"mappings":";KAEY,eAAA;AAAA,KAEA,kBAAA,GAFe;EAEf,IAAA,CAAA,EAAA,YAAA,GAAkB,UAAA;EAOlB,IAAA,CAAA,EAAA,MAAA;EAAe,OAAA,CAAA,EAAA,MAAA;EAAA,SAAW,CAAA,EAAA,MAAA;CAAe;AAC5C,KADG,eACH,CAAA,UAD6B,eAC7B,GAD+C,eAC/C,CAAA,GAAA;EAAC,KAAA,EAAD,CAAC,EAAA;EAUM,OAAA,EAAA,OAAA;EAUA,QAAA,EAAA,MAAa,GAAA,SAAA;EAAA,IAAA,EAAA,MAAA;EAAA,KAAW,EAAA,MAAA;EAAe,OAAG,EAAA,MAAA;EAAe,QAChE,EAAA,MAAA,GAAA,SAAA;EAAC,KAGP,EAAA,MAAA;AAAC,CAAA;AAMY,iBApBA,gBAAA,CAoBY,IAAA,EAAA,OAAA,CAAA,EAAA,IAAA,IApB6B,eAoB7B;AAAA,iBAVZ,aAUY,CAAA,UAVY,eAUZ,GAV8B,eAU9B,CAAA,CAAA,KAAA,EATnB,CASmB,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EANzB,CAMyB,EAAA;AAAW,iBAAvB,YAAuB,CAAA,UAAA,eAAA,GAAkB,eAAlB,CAAA,CAAA,KAAA,EAC9B,CAD8B,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAIpC,CAJoC,EAAA;AAAkB,iBAUzC,iBAVyC,CAAA,UAUb,eAVa,GAUK,eAVL,CAAA,CAAA,KAAA,EAWhD,CAXgD,EAAA,EAAA,OAAA,CAAA,EAY7C,kBAZ6C,CAAA,EAatD,eAbsD,CAatC,CAbsC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { isArray, isObject } from "@websolutespa/bom-core";
2
+
2
3
  //#region src/lib/pagination.ts
3
4
  function isPaginationInfo(item) {
4
5
  return isObject(item) && typeof item.page === "number" && typeof item.pages === "number" && typeof item.perPage === "number" && typeof item.total === "number" && isArray(item.items);
@@ -22,8 +23,9 @@ function getPaginationInfo(items, options) {
22
23
  const hasMore = page < pages;
23
24
  const prevPage = page > 1 ? page - 1 : void 0;
24
25
  const nextPage = page < pages ? page + 1 : void 0;
26
+ const pagedItems = mode === "pagination" ? getPagedItems(items, page, perPage) : getMoreItems(items, page, perPage);
25
27
  return {
26
- items: mode === "pagination" ? getPagedItems(items, page, perPage) : getMoreItems(items, page, perPage),
28
+ items: pagedItems,
27
29
  hasMore,
28
30
  nextPage,
29
31
  page,
@@ -33,7 +35,7 @@ function getPaginationInfo(items, options) {
33
35
  total
34
36
  };
35
37
  }
38
+
36
39
  //#endregion
37
40
  export { getMoreItems, getPagedItems, getPaginationInfo, isPaginationInfo };
38
-
39
41
  //# sourceMappingURL=pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","names":[],"sources":["../../src/lib/pagination.ts"],"sourcesContent":["import { isArray, isObject } from '@websolutespa/bom-core';\r\n\r\nexport type IPaginationItem = any;\r\n\r\nexport type IPaginationOptions = {\r\n mode?: 'pagination' | 'infinite'; // default to pagination\r\n page?: number;\r\n perPage?: number;\r\n delayInMs?: number;\r\n};\r\n\r\nexport type IPaginationInfo<T extends IPaginationItem = IPaginationItem> = {\r\n items: T[];\r\n hasMore: boolean;\r\n nextPage: number | undefined;\r\n page: number;\r\n pages: number;\r\n perPage: number;\r\n prevPage: number | undefined;\r\n total: number;\r\n};\r\n\r\nexport function isPaginationInfo(item: unknown): item is IPaginationInfo {\r\n return isObject(item) && (\r\n typeof item.page === 'number' &&\r\n typeof item.pages === 'number' &&\r\n typeof item.perPage === 'number' &&\r\n typeof item.total === 'number' &&\r\n isArray(item.items)\r\n );\r\n}\r\n\r\nexport function getPagedItems<T extends IPaginationItem = IPaginationItem>(\r\n items: T[],\r\n page: number,\r\n perPage: number\r\n): T[] {\r\n const from = (page - 1) * perPage;\r\n const to = Math.min(page * perPage, items.length);\r\n return items.slice(from, to);\r\n}\r\n\r\nexport function getMoreItems<T extends IPaginationItem = IPaginationItem>(\r\n items: T[],\r\n page: number,\r\n perPage: number\r\n): T[] {\r\n const total = items.length;\r\n const position = Math.min(total, perPage * page);\r\n return items.slice(0, position);\r\n}\r\n\r\nexport function getPaginationInfo<T extends IPaginationItem = IPaginationItem>(\r\n items: T[],\r\n options?: IPaginationOptions\r\n): IPaginationInfo<T> {\r\n const mode = options?.mode || 'pagination';\r\n const page = options?.page || 1;\r\n const perPage = options?.perPage || 12;\r\n const total = items.length;\r\n const pages = Math.ceil(total / perPage);\r\n const hasMore = page < pages;\r\n const prevPage = page > 1 ? page - 1 : undefined;\r\n const nextPage = page < pages ? page + 1 : undefined;\r\n const pagedItems = mode === 'pagination' ?\r\n getPagedItems(items, page, perPage) :\r\n getMoreItems(items, page, perPage);\r\n return {\r\n items: pagedItems,\r\n hasMore,\r\n nextPage,\r\n page,\r\n pages,\r\n perPage,\r\n prevPage,\r\n total,\r\n };\r\n}\r\n"],"mappings":";;AAsBA,SAAgB,iBAAiB,MAAwC;CACvE,OAAO,SAAS,IAAI,KAClB,OAAO,KAAK,SAAS,YACrB,OAAO,KAAK,UAAU,YACtB,OAAO,KAAK,YAAY,YACxB,OAAO,KAAK,UAAU,YACtB,QAAQ,KAAK,KAAK;AAEtB;AAEA,SAAgB,cACd,OACA,MACA,SACK;CACL,MAAM,QAAQ,OAAO,KAAK;CAC1B,MAAM,KAAK,KAAK,IAAI,OAAO,SAAS,MAAM,MAAM;CAChD,OAAO,MAAM,MAAM,MAAM,EAAE;AAC7B;AAEA,SAAgB,aACd,OACA,MACA,SACK;CACL,MAAM,QAAQ,MAAM;CACpB,MAAM,WAAW,KAAK,IAAI,OAAO,UAAU,IAAI;CAC/C,OAAO,MAAM,MAAM,GAAG,QAAQ;AAChC;AAEA,SAAgB,kBACd,OACA,SACoB;CACpB,MAAM,OAAO,SAAS,QAAQ;CAC9B,MAAM,OAAO,SAAS,QAAQ;CAC9B,MAAM,UAAU,SAAS,WAAW;CACpC,MAAM,QAAQ,MAAM;CACpB,MAAM,QAAQ,KAAK,KAAK,QAAQ,OAAO;CACvC,MAAM,UAAU,OAAO;CACvB,MAAM,WAAW,OAAO,IAAI,OAAO,IAAI,KAAA;CACvC,MAAM,WAAW,OAAO,QAAQ,OAAO,IAAI,KAAA;CAI3C,OAAO;EACL,OAJiB,SAAS,eAC1B,cAAc,OAAO,MAAM,OAAO,IAClC,aAAa,OAAO,MAAM,OAAO;EAGjC;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
1
+ {"version":3,"file":"pagination.js","names":["item: unknown","items: T[]","page: number","perPage: number","options?: IPaginationOptions"],"sources":["../../src/lib/pagination.ts"],"sourcesContent":["import { isArray, isObject } from '@websolutespa/bom-core';\r\n\r\nexport type IPaginationItem = any;\r\n\r\nexport type IPaginationOptions = {\r\n mode?: 'pagination' | 'infinite'; // default to pagination\r\n page?: number;\r\n perPage?: number;\r\n delayInMs?: number;\r\n};\r\n\r\nexport type IPaginationInfo<T extends IPaginationItem = IPaginationItem> = {\r\n items: T[];\r\n hasMore: boolean;\r\n nextPage: number | undefined;\r\n page: number;\r\n pages: number;\r\n perPage: number;\r\n prevPage: number | undefined;\r\n total: number;\r\n};\r\n\r\nexport function isPaginationInfo(item: unknown): item is IPaginationInfo {\r\n return isObject(item) && (\r\n typeof item.page === 'number' &&\r\n typeof item.pages === 'number' &&\r\n typeof item.perPage === 'number' &&\r\n typeof item.total === 'number' &&\r\n isArray(item.items)\r\n );\r\n}\r\n\r\nexport function getPagedItems<T extends IPaginationItem = IPaginationItem>(\r\n items: T[],\r\n page: number,\r\n perPage: number\r\n): T[] {\r\n const from = (page - 1) * perPage;\r\n const to = Math.min(page * perPage, items.length);\r\n return items.slice(from, to);\r\n}\r\n\r\nexport function getMoreItems<T extends IPaginationItem = IPaginationItem>(\r\n items: T[],\r\n page: number,\r\n perPage: number\r\n): T[] {\r\n const total = items.length;\r\n const position = Math.min(total, perPage * page);\r\n return items.slice(0, position);\r\n}\r\n\r\nexport function getPaginationInfo<T extends IPaginationItem = IPaginationItem>(\r\n items: T[],\r\n options?: IPaginationOptions\r\n): IPaginationInfo<T> {\r\n const mode = options?.mode || 'pagination';\r\n const page = options?.page || 1;\r\n const perPage = options?.perPage || 12;\r\n const total = items.length;\r\n const pages = Math.ceil(total / perPage);\r\n const hasMore = page < pages;\r\n const prevPage = page > 1 ? page - 1 : undefined;\r\n const nextPage = page < pages ? page + 1 : undefined;\r\n const pagedItems = mode === 'pagination' ?\r\n getPagedItems(items, page, perPage) :\r\n getMoreItems(items, page, perPage);\r\n return {\r\n items: pagedItems,\r\n hasMore,\r\n nextPage,\r\n page,\r\n pages,\r\n perPage,\r\n prevPage,\r\n total,\r\n };\r\n}\r\n"],"mappings":";;;AAsBA,SAAgB,iBAAiBA,MAAwC;AACvE,QAAO,SAAS,KAAK,IACnB,OAAO,KAAK,SAAS,YACrB,OAAO,KAAK,UAAU,YACtB,OAAO,KAAK,YAAY,YACxB,OAAO,KAAK,UAAU,YACtB,QAAQ,KAAK,MAAM;AAEtB;AAED,SAAgB,cACdC,OACAC,MACAC,SACK;CACL,MAAM,QAAQ,OAAO,KAAK;CAC1B,MAAM,KAAK,KAAK,IAAI,OAAO,SAAS,MAAM,OAAO;AACjD,QAAO,MAAM,MAAM,MAAM,GAAG;AAC7B;AAED,SAAgB,aACdF,OACAC,MACAC,SACK;CACL,MAAM,QAAQ,MAAM;CACpB,MAAM,WAAW,KAAK,IAAI,OAAO,UAAU,KAAK;AAChD,QAAO,MAAM,MAAM,GAAG,SAAS;AAChC;AAED,SAAgB,kBACdF,OACAG,SACoB;CACpB,MAAM,OAAO,SAAS,QAAQ;CAC9B,MAAM,OAAO,SAAS,QAAQ;CAC9B,MAAM,UAAU,SAAS,WAAW;CACpC,MAAM,QAAQ,MAAM;CACpB,MAAM,QAAQ,KAAK,KAAK,QAAQ,QAAQ;CACxC,MAAM,UAAU,OAAO;CACvB,MAAM,WAAW,OAAO,IAAI,OAAO,IAAI;CACvC,MAAM,WAAW,OAAO,QAAQ,OAAO,IAAI;CAC3C,MAAM,aAAa,SAAS,eAC1B,cAAc,OAAO,MAAM,QAAQ,GACnC,aAAa,OAAO,MAAM,QAAQ;AACpC,QAAO;EACL,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;CACD;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","names":[],"sources":["../../src/lib/route.ts"],"mappings":";;;iBAEgB,oBAAA,yBAEN,sBACI,2BACE,qBACJ,YACT,aAAa;iBA0BA,YAAA,WAAuB,kBAAkB,qCAAqC;AAhC9E,iBAkDA,YAAA,CAlDoB,KAAA,EAkDA,MAlDA,CAAA,EAAA,MAAA;AAAA,iBAsDpB,gBAAA,CAtDoB,KAAA,EAsDI,MAtDJ,CAAA,EAsDa,UAtDb;AAE1B;AACI;AACE;AACJ;AACT,iBAiEa,WAAA,CAjEb,KAAA,EAiEgC,MAjEhC,EAAA,KAAA,CAAA,EAAA,MAAA,CAAA,EAiEyD,UAjEzD;AAAa"}
1
+ {"version":3,"file":"route.d.ts","names":[],"sources":["../../src/lib/route.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,oBAAA,yBAEN,sBACI,2BACE,qBACJ,YACT,aAAa;iBA0BA,YAAA,WAAuB,kBAAkB,qCAAqC;AAhC9E,iBAkDA,YAAA,CAlDoB,KAAA,EAkDA,MAlDA,CAAA,EAAA,MAAA;AAAA,iBAsDpB,gBAAA,CAtDoB,KAAA,EAsDI,MAtDJ,CAAA,EAsDa,UAtDb;;;;;AAMjC,iBAiEa,WAAA,CAjEb,KAAA,EAiEgC,MAjEhC,EAAA,KAAA,CAAA,EAAA,MAAA,CAAA,EAiEyD,UAjEzD"}
package/dist/lib/route.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { asCategoryId, findRouteOfCategory, localize } from "@websolutespa/bom-core";
2
+
2
3
  //#region src/lib/route.ts
3
4
  function getRouteLinkCategory(locale, routes, categories, rootCategory, category) {
4
5
  const route = findRouteOfCategory(routes, category.id);
@@ -21,7 +22,7 @@ function newRouteLink(category, route, locale) {
21
22
  const media = category.media || route?.media;
22
23
  const schema = route?.template || route?.schema || category?.schema || "unknown";
23
24
  const title = localize(category.title || route?.title || "untitled", locale);
24
- return {
25
+ const routeLink = {
25
26
  category: category.id,
26
27
  href,
27
28
  id,
@@ -30,12 +31,13 @@ function newRouteLink(category, route, locale) {
30
31
  schema,
31
32
  title
32
33
  };
34
+ return routeLink;
33
35
  }
34
36
  function resolveRoute(route) {
35
37
  return `/${route.market}/${route.locale}/${route.schema}/${route.page}`;
36
38
  }
37
39
  function routeToRouteLink(route) {
38
- return {
40
+ const routeLink = {
39
41
  category: asCategoryId(route.category),
40
42
  href: route.id,
41
43
  id: route.page,
@@ -44,10 +46,14 @@ function routeToRouteLink(route) {
44
46
  schema: route.schema,
45
47
  title: route.title
46
48
  };
49
+ return routeLink;
47
50
  }
48
51
  /**
52
+
49
53
  * Converts a route (and optional override title) into an IRouteLink.
54
+
50
55
  * route.id is the pathname (href), route.page is the document ID.
56
+
51
57
  */
52
58
  function routeToLink(route, title) {
53
59
  return {
@@ -59,7 +65,7 @@ function routeToLink(route, title) {
59
65
  media: route.media
60
66
  };
61
67
  }
68
+
62
69
  //#endregion
63
70
  export { getRouteLinkCategory, newRouteLink, resolveRoute, routeToLink, routeToRouteLink };
64
-
65
71
  //# sourceMappingURL=route.js.map