@daffodil/external-router 0.38.7

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of @daffodil/external-router might be problematic. Click here for more details.

Files changed (187) hide show
  1. package/README.md +10 -0
  2. package/bundles/daffodil-external-router-driver-magento-2.4.1.umd.js +490 -0
  3. package/bundles/daffodil-external-router-driver-magento-2.4.1.umd.js.map +1 -0
  4. package/bundles/daffodil-external-router-driver-magento-2.4.1.umd.min.js +16 -0
  5. package/bundles/daffodil-external-router-driver-magento-2.4.1.umd.min.js.map +1 -0
  6. package/bundles/daffodil-external-router-driver-magento-2.4.2.umd.js +487 -0
  7. package/bundles/daffodil-external-router-driver-magento-2.4.2.umd.js.map +1 -0
  8. package/bundles/daffodil-external-router-driver-magento-2.4.2.umd.min.js +16 -0
  9. package/bundles/daffodil-external-router-driver-magento-2.4.2.umd.min.js.map +1 -0
  10. package/bundles/daffodil-external-router-driver-magento.umd.js +69 -0
  11. package/bundles/daffodil-external-router-driver-magento.umd.js.map +1 -0
  12. package/bundles/daffodil-external-router-driver-magento.umd.min.js +2 -0
  13. package/bundles/daffodil-external-router-driver-magento.umd.min.js.map +1 -0
  14. package/bundles/daffodil-external-router-driver-testing.umd.js +155 -0
  15. package/bundles/daffodil-external-router-driver-testing.umd.js.map +1 -0
  16. package/bundles/daffodil-external-router-driver-testing.umd.min.js +2 -0
  17. package/bundles/daffodil-external-router-driver-testing.umd.min.js.map +1 -0
  18. package/bundles/daffodil-external-router-driver.umd.js +79 -0
  19. package/bundles/daffodil-external-router-driver.umd.js.map +1 -0
  20. package/bundles/daffodil-external-router-driver.umd.min.js +2 -0
  21. package/bundles/daffodil-external-router-driver.umd.min.js.map +1 -0
  22. package/bundles/daffodil-external-router-routing.umd.js +644 -0
  23. package/bundles/daffodil-external-router-routing.umd.js.map +1 -0
  24. package/bundles/daffodil-external-router-routing.umd.min.js +16 -0
  25. package/bundles/daffodil-external-router-routing.umd.min.js.map +1 -0
  26. package/bundles/daffodil-external-router.umd.js +794 -0
  27. package/bundles/daffodil-external-router.umd.js.map +1 -0
  28. package/bundles/daffodil-external-router.umd.min.js +16 -0
  29. package/bundles/daffodil-external-router.umd.min.js.map +1 -0
  30. package/config.d.ts +20 -0
  31. package/daffodil-external-router.d.ts +5 -0
  32. package/daffodil-external-router.metadata.json +1 -0
  33. package/driver/daffodil-external-router-driver.d.ts +4 -0
  34. package/driver/daffodil-external-router-driver.metadata.json +1 -0
  35. package/driver/index.d.ts +1 -0
  36. package/driver/interfaces/external-router-driver.interface.d.ts +22 -0
  37. package/driver/magento/2.4.1/daffodil-external-router-driver-magento-2.4.1.d.ts +5 -0
  38. package/driver/magento/2.4.1/daffodil-external-router-driver-magento-2.4.1.metadata.json +1 -0
  39. package/driver/magento/2.4.1/graphql/queries/resolve-url-v2.4.1.d.ts +6 -0
  40. package/driver/magento/2.4.1/index.d.ts +1 -0
  41. package/driver/magento/2.4.1/magento.module.d.ts +23 -0
  42. package/driver/magento/2.4.1/magento.service.d.ts +15 -0
  43. package/driver/magento/2.4.1/package.json +11 -0
  44. package/driver/magento/2.4.1/public_api.d.ts +2 -0
  45. package/driver/magento/2.4.1/transforms/resolution-to-resolvable-url.d.ts +3 -0
  46. package/driver/magento/2.4.2/daffodil-external-router-driver-magento-2.4.2.d.ts +5 -0
  47. package/driver/magento/2.4.2/daffodil-external-router-driver-magento-2.4.2.metadata.json +1 -0
  48. package/driver/magento/2.4.2/graphql/queries/resolve-url-v2.4.2.d.ts +6 -0
  49. package/driver/magento/2.4.2/index.d.ts +1 -0
  50. package/driver/magento/2.4.2/magento.module.d.ts +23 -0
  51. package/driver/magento/2.4.2/magento.service.d.ts +15 -0
  52. package/driver/magento/2.4.2/package.json +11 -0
  53. package/driver/magento/2.4.2/public_api.d.ts +2 -0
  54. package/driver/magento/2.4.2/transforms/resolution-to-resolvable-url.d.ts +3 -0
  55. package/driver/magento/daffodil-external-router-driver-magento.d.ts +4 -0
  56. package/driver/magento/daffodil-external-router-driver-magento.metadata.json +1 -0
  57. package/driver/magento/index.d.ts +1 -0
  58. package/driver/magento/model/public_api.d.ts +3 -0
  59. package/driver/magento/model/resolution-types.d.ts +5 -0
  60. package/driver/magento/model/url-resolver-response.d.ts +4 -0
  61. package/driver/magento/model/url-resolver.d.ts +13 -0
  62. package/driver/magento/package.json +11 -0
  63. package/driver/magento/public_api.d.ts +2 -0
  64. package/driver/magento/transforms/public_api.d.ts +1 -0
  65. package/driver/magento/transforms/redirect-to-http.d.ts +4 -0
  66. package/driver/not-found-resolution.d.ts +8 -0
  67. package/driver/package.json +11 -0
  68. package/driver/public_api.d.ts +2 -0
  69. package/driver/testing/config.d.ts +16 -0
  70. package/driver/testing/daffodil-external-router-driver-testing.d.ts +5 -0
  71. package/driver/testing/daffodil-external-router-driver-testing.metadata.json +1 -0
  72. package/driver/testing/index.d.ts +1 -0
  73. package/driver/testing/package.json +11 -0
  74. package/driver/testing/public_api.d.ts +3 -0
  75. package/driver/testing/testing.module.d.ts +9 -0
  76. package/driver/testing/testing.service.d.ts +17 -0
  77. package/errors/no-wildcard.d.ts +9 -0
  78. package/errors/unknown-type.d.ts +9 -0
  79. package/esm2015/config.js +41 -0
  80. package/esm2015/daffodil-external-router.js +11 -0
  81. package/esm2015/driver/daffodil-external-router-driver.js +10 -0
  82. package/esm2015/driver/index.js +7 -0
  83. package/esm2015/driver/interfaces/external-router-driver.interface.js +30 -0
  84. package/esm2015/driver/magento/2.4.1/daffodil-external-router-driver-magento-2.4.1.js +11 -0
  85. package/esm2015/driver/magento/2.4.1/graphql/queries/resolve-url-v2.4.1.js +24 -0
  86. package/esm2015/driver/magento/2.4.1/index.js +7 -0
  87. package/esm2015/driver/magento/2.4.1/magento.module.js +56 -0
  88. package/esm2015/driver/magento/2.4.1/magento.service.js +63 -0
  89. package/esm2015/driver/magento/2.4.1/public_api.js +11 -0
  90. package/esm2015/driver/magento/2.4.1/transforms/resolution-to-resolvable-url.js +23 -0
  91. package/esm2015/driver/magento/2.4.2/daffodil-external-router-driver-magento-2.4.2.js +11 -0
  92. package/esm2015/driver/magento/2.4.2/graphql/queries/resolve-url-v2.4.2.js +24 -0
  93. package/esm2015/driver/magento/2.4.2/index.js +7 -0
  94. package/esm2015/driver/magento/2.4.2/magento.module.js +56 -0
  95. package/esm2015/driver/magento/2.4.2/magento.service.js +62 -0
  96. package/esm2015/driver/magento/2.4.2/public_api.js +11 -0
  97. package/esm2015/driver/magento/2.4.2/transforms/resolution-to-resolvable-url.js +20 -0
  98. package/esm2015/driver/magento/daffodil-external-router-driver-magento.js +10 -0
  99. package/esm2015/driver/magento/index.js +7 -0
  100. package/esm2015/driver/magento/model/public_api.js +7 -0
  101. package/esm2015/driver/magento/model/resolution-types.js +13 -0
  102. package/esm2015/driver/magento/model/url-resolver-response.js +14 -0
  103. package/esm2015/driver/magento/model/url-resolver.js +28 -0
  104. package/esm2015/driver/magento/public_api.js +11 -0
  105. package/esm2015/driver/magento/transforms/public_api.js +7 -0
  106. package/esm2015/driver/magento/transforms/redirect-to-http.js +15 -0
  107. package/esm2015/driver/not-found-resolution.js +19 -0
  108. package/esm2015/driver/public_api.js +11 -0
  109. package/esm2015/driver/testing/config.js +27 -0
  110. package/esm2015/driver/testing/daffodil-external-router-driver-testing.js +11 -0
  111. package/esm2015/driver/testing/index.js +7 -0
  112. package/esm2015/driver/testing/public_api.js +11 -0
  113. package/esm2015/driver/testing/testing.module.js +42 -0
  114. package/esm2015/driver/testing/testing.service.js +65 -0
  115. package/esm2015/errors/no-wildcard.js +24 -0
  116. package/esm2015/errors/unknown-type.js +24 -0
  117. package/esm2015/external-router.module.js +36 -0
  118. package/esm2015/model/insertion-strategy.type.js +6 -0
  119. package/esm2015/model/public_api.js +6 -0
  120. package/esm2015/model/resolvable-route.js +36 -0
  121. package/esm2015/model/route-info.js +17 -0
  122. package/esm2015/model/route-type.js +6 -0
  123. package/esm2015/model/route-with-data-path.js +6 -0
  124. package/esm2015/model/route-without-path.js +6 -0
  125. package/esm2015/model/type-route-pair.js +34 -0
  126. package/esm2015/public_api.js +19 -0
  127. package/esm2015/router/router.service.js +67 -0
  128. package/esm2015/router/strategies/insert-data-path.js +129 -0
  129. package/esm2015/router/strategies/insert-route-before-wildcard.js +33 -0
  130. package/esm2015/router/url-matcher/data-path-matcher.js +51 -0
  131. package/esm2015/routing/daffodil-external-router-routing.js +10 -0
  132. package/esm2015/routing/errors/client-error.js +23 -0
  133. package/esm2015/routing/errors/not-found-error.js +23 -0
  134. package/esm2015/routing/errors/permanent-redirect.js +28 -0
  135. package/esm2015/routing/errors/server-error.js +23 -0
  136. package/esm2015/routing/errors/temporary-redirect.js +28 -0
  137. package/esm2015/routing/guard/existence.guard.js +149 -0
  138. package/esm2015/routing/index.js +7 -0
  139. package/esm2015/routing/processors/process-errors.js +32 -0
  140. package/esm2015/routing/processors/process-redirect.js +28 -0
  141. package/esm2015/routing/public_api.js +10 -0
  142. package/esm2015/token/type-resolvable-routes.token.js +46 -0
  143. package/esm2015/transform/resolved-route-to-route.js +33 -0
  144. package/external-router.module.d.ts +10 -0
  145. package/fesm2015/daffodil-external-router-driver-magento-2.4.1.js +177 -0
  146. package/fesm2015/daffodil-external-router-driver-magento-2.4.1.js.map +1 -0
  147. package/fesm2015/daffodil-external-router-driver-magento-2.4.2.js +174 -0
  148. package/fesm2015/daffodil-external-router-driver-magento-2.4.2.js.map +1 -0
  149. package/fesm2015/daffodil-external-router-driver-magento.js +59 -0
  150. package/fesm2015/daffodil-external-router-driver-magento.js.map +1 -0
  151. package/fesm2015/daffodil-external-router-driver-testing.js +148 -0
  152. package/fesm2015/daffodil-external-router-driver-testing.js.map +1 -0
  153. package/fesm2015/daffodil-external-router-driver.js +70 -0
  154. package/fesm2015/daffodil-external-router-driver.js.map +1 -0
  155. package/fesm2015/daffodil-external-router-routing.js +336 -0
  156. package/fesm2015/daffodil-external-router-routing.js.map +1 -0
  157. package/fesm2015/daffodil-external-router.js +489 -0
  158. package/fesm2015/daffodil-external-router.js.map +1 -0
  159. package/model/insertion-strategy.type.d.ts +8 -0
  160. package/model/public_api.d.ts +7 -0
  161. package/model/resolvable-route.d.ts +27 -0
  162. package/model/route-info.d.ts +9 -0
  163. package/model/route-type.d.ts +6 -0
  164. package/model/route-with-data-path.d.ts +15 -0
  165. package/model/route-without-path.d.ts +7 -0
  166. package/model/type-route-pair.d.ts +26 -0
  167. package/package.json +37 -0
  168. package/public_api.d.ts +10 -0
  169. package/router/router.service.d.ts +12 -0
  170. package/router/strategies/insert-data-path.d.ts +40 -0
  171. package/router/strategies/insert-route-before-wildcard.d.ts +6 -0
  172. package/router/url-matcher/data-path-matcher.d.ts +20 -0
  173. package/routing/daffodil-external-router-routing.d.ts +4 -0
  174. package/routing/daffodil-external-router-routing.metadata.json +1 -0
  175. package/routing/errors/client-error.d.ts +8 -0
  176. package/routing/errors/not-found-error.d.ts +9 -0
  177. package/routing/errors/permanent-redirect.d.ts +10 -0
  178. package/routing/errors/server-error.d.ts +8 -0
  179. package/routing/errors/temporary-redirect.d.ts +10 -0
  180. package/routing/guard/existence.guard.d.ts +19 -0
  181. package/routing/index.d.ts +1 -0
  182. package/routing/package.json +11 -0
  183. package/routing/processors/process-errors.d.ts +6 -0
  184. package/routing/processors/process-redirect.d.ts +6 -0
  185. package/routing/public_api.d.ts +1 -0
  186. package/token/type-resolvable-routes.token.d.ts +14 -0
  187. package/transform/resolved-route-to-route.d.ts +7 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daffodil-external-router.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../libs/external-router/src/config.ts","../../../libs/external-router/src/token/type-resolvable-routes.token.ts","../../../libs/external-router/src/external-router.module.ts","../../../libs/external-router/src/errors/no-wildcard.ts","../../../libs/external-router/src/errors/unknown-type.ts","../../../libs/external-router/src/transform/resolved-route-to-route.ts","../../../libs/external-router/src/router/strategies/insert-route-before-wildcard.ts","../../../libs/external-router/src/router/router.service.ts","../../../libs/external-router/src/router/strategies/insert-data-path.ts","../../../libs/external-router/src/router/url-matcher/data-path-matcher.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\n\nexport const daffExternalRouterConfigurationDefault: DaffExternalRouterConfiguration = {\n failedResolutionPath: '/',\n notFoundResolutionPath: '/',\n};\n\n/**\n * The token holding the runtime configuration for the behavior of the\n * `@daffodil/external-router` package.\n */\nexport const DAFF_EXTERNAL_ROUTER_CONFIG = new InjectionToken<\n\tDaffExternalRouterConfiguration\n>('DAFF_EXTERNAL_ROUTER_CONFIG', {\n providedIn: 'root',\n factory: () => daffExternalRouterConfigurationDefault,\n});\n\n/**\n * The configuration object for the external router package.\n */\nexport interface DaffExternalRouterConfiguration {\n\t/**\n\t * The path to redirect to when external route resolution fails.\n\t */\n\tfailedResolutionPath: string;\n\n\t/**\n\t * The path to redirect to when the requested URL is not found.\n\t */\n\tnotFoundResolutionPath: string;\n}\n","import {\n InjectionToken,\n Provider,\n} from '@angular/core';\n\nimport { DaffExternalRouterInsertionStrategy } from '../model/insertion-strategy.type';\nimport { DaffExternalRouteType } from '../model/route-type';\nimport { DaffRouteWithoutPath } from '../model/route-without-path';\nimport { DaffTypeRoutePair } from '../model/type-route-pair';\n\n/**\n * A multi-token that allows you to register route \"types\" that correspond to routes.\n */\nexport const DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE = new InjectionToken<\n\tDaffTypeRoutePair[]\n>('DAFF_EXTERNAL_ROUTER_RESOLVABLE_TYPE_ROUTES', {\n providedIn: 'root',\n factory: () => [],\n});\n\n/**\n * A provider used to connect a type to a route to enable dynamic route resolution at runtime.\n */\nexport function daffProvideRouteResolvableByType(typeRoutePair: DaffTypeRoutePair): Provider {\n return {\n provide: DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE,\n multi: true,\n useValue: typeRoutePair,\n };\n}\n\n/**\n * A multi-provider used to connect an array of types to their respective routes.\n */\nexport function daffProvideRoutesResolvableByType(routes: DaffTypeRoutePair[]): Provider[] {\n return routes.map((route: DaffTypeRoutePair) => ({\n provide: DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE,\n multi: true,\n useValue: route,\n }));\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\n\nimport {\n DaffExternalRouterConfiguration,\n DAFF_EXTERNAL_ROUTER_CONFIG,\n daffExternalRouterConfigurationDefault,\n} from './config';\nimport { DaffTypeRoutePair } from './model/type-route-pair';\nimport { daffProvideRoutesResolvableByType } from './token/type-resolvable-routes.token';\n\n/**\n * The external `DaffExternalRouterModule` allows you to configure the\n * `@daffodil/external-router` package's behavior.\n */\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n})\nexport class DaffExternalRouterModule {\n static forRoot(\n config: Partial<DaffExternalRouterConfiguration>,\n routes: DaffTypeRoutePair[] = [],\n ): ModuleWithProviders<DaffExternalRouterModule> {\n return {\n ngModule: DaffExternalRouterModule,\n providers: [\n { provide: DAFF_EXTERNAL_ROUTER_CONFIG, useValue: { ...daffExternalRouterConfigurationDefault, ...config }},\n ...daffProvideRoutesResolvableByType(routes),\n ],\n };\n }\n}\n","import {\n DaffError,\n DaffInheritableError,\n} from '@daffodil/core';\n\n/**\n * An error thrown when there was no wildcard route found in configuration\n * of the Angular Router.\n */\nexport class DaffExternalRouterNoWildcardError extends DaffInheritableError\n implements DaffError {\n\tpublic readonly code: string = 'NO_WILDCARD_ROUTE';\n\n\tconstructor(message?: string) {\n\t super(message);\n\t}\n}\n","import {\n DaffError,\n DaffInheritableError,\n} from '@daffodil/core';\n\n/**\n * An error thrown when there is a failure matching a configured route to a\n * route type.\n */\nexport class DaffExternalRouterUnknownRouteTypeError extends DaffInheritableError\n implements DaffError {\n\tpublic readonly code: string = 'UNKNOWN_ROUTE_TYPE';\n\n\tconstructor(message?: string) {\n\t super(message);\n\t}\n}\n","import { DaffExternalRouterUnknownRouteTypeError } from '../errors/unknown-type';\nimport { DaffExternallyResolvableUrl } from '../model/resolvable-route';\nimport { DaffRouteInfo } from '../model/route-info';\nimport { DaffTypeRoutePair } from '../model/type-route-pair';\n\n/**\n * Transforms a DaffExternallyResolvableUrl into an Angular Route.\n */\nexport const daffTransformResolvedRouteToRoute = (\n resolvedRoute: DaffExternallyResolvableUrl,\n availableTypes: DaffTypeRoutePair[],\n): DaffRouteInfo => {\n const routeType = availableTypes\n .filter(t => t.type === resolvedRoute.type)\n .shift();\n if (!routeType) {\n throw new DaffExternalRouterUnknownRouteTypeError(\n `Unable to resolve the route '${resolvedRoute.url}'. Its type is '${resolvedRoute.type}' but a matching route wasn't found.`,\n );\n }\n\n return {\n route: {\n path: resolvedRoute.url,\n ...routeType.route,\n data: {\n daffExternalRouteType: resolvedRoute.type,\n ...routeType.route.data,\n },\n },\n insertionStrategy: routeType.insertionStrategy,\n };\n};\n","import {\n Route,\n Routes,\n} from '@angular/router';\n\nimport { DaffExternalRouterNoWildcardError } from '../../errors/no-wildcard';\nimport { DaffExternalRouterInsertionStrategy } from '../../model/insertion-strategy.type';\n\n/**\n * Inserts a Route into Routes right before the wildcard route.\n * If no wildcard is found, it fails fast with a `DaffExternalRouterNoWildcardError`.\n */\nexport const daffInsertRouteBeforeWildCardStrategy: DaffExternalRouterInsertionStrategy = (\n route: Route,\n routes: Routes,\n): Routes => {\n const index = routes.findIndex((r: Route) => r.path === '**');\n if (index === -1) {\n throw new DaffExternalRouterNoWildcardError(\n 'No wildcard (**) route was found during route resolution.',\n );\n }\n return [\n ...routes.slice(0, index),\n route,\n ...routes.slice(index),\n ];\n};\n","import {\n Inject,\n Injectable,\n} from '@angular/core';\nimport {\n Router,\n Route,\n} from '@angular/router';\n\n\nimport { DaffExternalRouterNoWildcardError } from '../errors/no-wildcard';\nimport { DaffExternallyResolvableUrl } from '../model/resolvable-route';\nimport { DaffTypeRoutePair } from '../model/type-route-pair';\nimport { DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE } from '../token/type-resolvable-routes.token';\nimport { daffTransformResolvedRouteToRoute } from '../transform/resolved-route-to-route';\nimport { daffInsertRouteBeforeWildCardStrategy } from './strategies/insert-route-before-wildcard';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffExternalRouter {\n constructor(\n private router: Router,\n @Inject(DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE)\n private runtimeRoutes: DaffTypeRoutePair[],\n ) { }\n\n /**\n * Adds a route to the existing router configuration.\n */\n add(resolvedRoute: DaffExternallyResolvableUrl) {\n //Get the route.\n const {\n route,\n insertionStrategy,\n } = daffTransformResolvedRouteToRoute(\n resolvedRoute,\n this.runtimeRoutes,\n );\n\n try {\n //Add it to configuration.\n this.router.config = (insertionStrategy || daffInsertRouteBeforeWildCardStrategy)(route, this.router.config);\n } catch (e) {\n if (e instanceof DaffExternalRouterNoWildcardError) {\n throw new DaffExternalRouterNoWildcardError(\n `${e.message} This usually means you have misconfigured your routes.`,\n );\n }\n\n throw e;\n }\n }\n}\n","import {\n Route,\n Routes,\n} from '@angular/router';\n\nimport { DaffExternalRouterInsertionStrategy } from '../../model/insertion-strategy.type';\nimport { DaffExternalRouteType } from '../../model/route-type';\nimport { DaffRouteWithDataPath } from '../../model/route-with-data-path';\n\n/**\n * Tests whether or not a route matches a specific Daffodil Route type.\n *\n * See {@link DaffRouteWithDataPath}\n */\nconst routeMatchesRouteType = (route: DaffRouteWithDataPath, type: DaffExternalRouteType): boolean => route?.data?.daffExternalRouteType === type;\n\n/**\n * Adds a path to the `daffPaths` of the given route.\n *\n * See {@link DaffRouteWithDataPath}\n */\nconst addRouteToDaffPaths:\n (route: DaffRouteWithDataPath, path: string) => Route =\n (route: DaffRouteWithDataPath, path: string) => route.data.daffPaths = {\n ...route.data.daffPaths,\n [path]: path,\n };\n\nconst operateOnRoute = (externalRoute: Route): (route: Route) => Route =>\n (route: DaffRouteWithDataPath) => addRouteToDaffPaths(route, externalRoute.path);\n\n/**\n * Traverse the router config tree, halting after the first match.\n * This traversal is implemented in a pre-order manner. As such, for large\n * configuration trees, it will be most efficient to place externally routed\n * components at the top of router configuration.\n */\nconst traverseRouteTree = (routes: Routes = [], matcher: (route: Route) => boolean, operate: (route: Route) => void): Routes => {\n if(routes.length === 0) {\n return routes;\n }\n\n const stack: Routes = [];\n const treeRoot = { children: routes };\n stack.push(treeRoot);\n\n while(stack.length) {\n const route = stack.pop();\n if(matcher(route)) {\n operate(route);\n break;\n }\n if(route.children){\n stack.push(...route.children.reverse());\n }\n }\n return routes;\n};\n\n/**\n * A route insertion strategy that can be used to append external routes onto\n * existing Angular routes. This can be useful when you need to route to\n * an existing lazy-loaded module from multiple externally defined urls.\n *\n * This should be used in combination with the {@link daffDataPathUrlMatcher} to match lazy-loaded modules with\n * associated external urls.\n *\n * For example, you can provide the insertion strategy in the {@link DaffExternalRouterModule} as below.\n *\n * ```ts\n * DaffExternalRouterModule.forRoot({}, [\n * {\n * type: 'CATEGORY',\n * insertionStrategy: daffInsertDataPathStrategy,\n * route: {}\n * }\n * ],\n * ```\n *\n * Then, you can match it with an associated route defined in your Routing\n * configuration with the {@link daffDataPathUrlMatcher}.\n *\n * ```ts\n * export const routes: Routes = [\n * {\n * matcher: daffDataPathUrlMatcher,\n * data: {\n * daffExternalRouteType: \"CATEGORY\",\n * },\n * loadChildren: () => import('./category/category.module').then((m) => m.MyCategoryModule),\n * }\n * ]\n * ```\n *\n * See {@link DaffRouteWithDataPath}\n *\n */\nexport const daffInsertDataPathStrategy: DaffExternalRouterInsertionStrategy = (externalRoute: DaffRouteWithDataPath, routes: Routes) => traverseRouteTree(\n routes,\n (route) => routeMatchesRouteType(route, externalRoute.data?.daffExternalRouteType),\n operateOnRoute(externalRoute),\n);\n","import {\n UrlMatcher,\n UrlSegment,\n UrlSegmentGroup,\n} from '@angular/router';\n\nimport { daffUriTruncateLeadingSlash } from '@daffodil/core/routing';\n\nimport { DaffRouteWithDataPath } from '../../model/public_api';\n\n/**\n * A UrlMatcher that does an exact match against a path stored in the special\n * configuration fields that External Router stores on a Route's data.\n *\n * ```ts\n * export const routes: Routes = [\n * {\n * matcher: daffDataPathUrlMatcher,\n * data: {\n * daffExternalRouteType: \"CATEGORY\",\n * },\n * loadChildren: () => import('./category/category.module').then((m) => m.ShopCategoryModule),\n * }\n * ]\n * ```\n * {@link daffInsertDataPathStrategy }\n * {@link DaffRouteWithDataPath }\n */\nexport const daffDataPathUrlMatcher: UrlMatcher = (segments: UrlSegment[], group: UrlSegmentGroup, route: DaffRouteWithDataPath) => {\n const path = daffUriTruncateLeadingSlash(segments.reduce((acc: string, segment) => acc + '/' + segment.path, ''));\n const paths = route?.data?.daffPaths;\n\n // If we don't have any paths, we can safely fail a match.\n if(!paths) {\n return null;\n }\n\n // Otherwise, look up the path in the dictionary, failing if a match isn't found,\n // but matching the entire segment if a match is found.\n return path in paths ? { consumed: segments } : null;\n};\n\n"],"names":["InjectionToken","NgModule","CommonModule","DaffInheritableError","Injectable","Router","Inject","daffUriTruncateLeadingSlash"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ !function(r,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("@angular/router"),require("@daffodil/core"),require("@daffodil/core/routing")):"function"==typeof define&&define.amd?define("@daffodil/external-router",["exports","@angular/common","@angular/core","@angular/router","@daffodil/core","@daffodil/core/routing"],t):t(((r="undefined"!=typeof globalThis?globalThis:r||self).daffodil=r.daffodil||{},r.daffodil["external-router"]={}),r.ng.common,r.ng.core,r.ng.router,r.core,r.routing)}(this,(function(r,t,e,n,o,a){"use strict";
2
+ /*! *****************************************************************************
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
15
+ ***************************************************************************** */var u=function(r,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,t){r.__proto__=t}||function(r,t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=t[e])})(r,t)};function i(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function e(){this.constructor=r}u(r,t),r.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}Object.create;function f(r,t){var e="function"==typeof Symbol&&r[Symbol.iterator];if(!e)return r;var n,o,a=e.call(r),u=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)u.push(n.value)}catch(r){o={error:r}}finally{try{n&&!n.done&&(e=a.return)&&e.call(a)}finally{if(o)throw o.error}}return u}function c(){for(var r=[],t=0;t<arguments.length;t++)r=r.concat(f(arguments[t]));return r}Object.create;var l={failedResolutionPath:"/",notFoundResolutionPath:"/"},d=new e.InjectionToken("DAFF_EXTERNAL_ROUTER_CONFIG",{providedIn:"root",factory:function(){return l}});var s=new e.InjectionToken("DAFF_EXTERNAL_ROUTER_RESOLVABLE_TYPE_ROUTES",{providedIn:"root",factory:function(){return[]}});function p(r){return r.map((function(r){return{provide:s,multi:!0,useValue:r}}))}var y=function(){function r(){}return r.forRoot=function(t,e){return void 0===e&&(e=[]),{ngModule:r,providers:c([{provide:d,useValue:Object.assign(Object.assign({},l),t)}],p(e))}},r}();y.decorators=[{type:e.NgModule,args:[{declarations:[],imports:[t.CommonModule]}]}];var h=function(r){function t(t){var e=r.call(this,t)||this;return e.code="NO_WILDCARD_ROUTE",e}return i(t,r),t}(o.DaffInheritableError);var v=function(r){function t(t){var e=r.call(this,t)||this;return e.code="UNKNOWN_ROUTE_TYPE",e}return i(t,r),t}(o.DaffInheritableError);var g=function(r,t){var e=t.findIndex((function(r){return"**"===r.path}));if(-1===e)throw new h("No wildcard (**) route was found during route resolution.");return c(t.slice(0,e),[r],t.slice(e))},R=function(){function r(r,t){this.router=r,this.runtimeRoutes=t}return r.prototype.add=function(r){var t=function(r,t){var e=t.filter((function(t){return t.type===r.type})).shift();if(!e)throw new v("Unable to resolve the route '"+r.url+"'. Its type is '"+r.type+"' but a matching route wasn't found.");return{route:Object.assign(Object.assign({path:r.url},e.route),{data:Object.assign({daffExternalRouteType:r.type},e.route.data)}),insertionStrategy:e.insertionStrategy}}(r,this.runtimeRoutes),e=t.route,n=t.insertionStrategy;try{this.router.config=(n||g)(e,this.router.config)}catch(r){if(r instanceof h)throw new h(r.message+" This usually means you have misconfigured your routes.");throw r}},r}();R.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],R.ctorParameters=function(){return[{type:n.Router},{type:Array,decorators:[{type:e.Inject,args:[s]}]}]},R.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new R(e.ɵɵinject(n.Router),e.ɵɵinject(s))},token:R,providedIn:"root"});var E=function(r,t){var e;return(null===(e=null==r?void 0:r.data)||void 0===e?void 0:e.daffExternalRouteType)===t},b=function(r,t){var e;return r.data.daffPaths=Object.assign(Object.assign({},r.data.daffPaths),((e={})[t]=t,e))},O=function(r){return function(t){return b(t,r.path)}},_=function(r,t,e){if(void 0===r&&(r=[]),0===r.length)return r;var n=[],o={children:r};for(n.push(o);n.length;){var a=n.pop();if(t(a)){e(a);break}a.children&&n.push.apply(n,c(a.children.reverse()))}return r};r.DAFF_EXTERNAL_ROUTER_CONFIG=d,r.DaffExternalRouter=R,r.DaffExternalRouterModule=y,r.DaffExternalRouterNoWildcardError=h,r.DaffExternalRouterUnknownRouteTypeError=v,r.daffDataPathUrlMatcher=function(r,t,e){var n,o=a.daffUriTruncateLeadingSlash(r.reduce((function(r,t){return r+"/"+t.path}),"")),u=null===(n=null==e?void 0:e.data)||void 0===n?void 0:n.daffPaths;return u&&o in u?{consumed:r}:null},r.daffInsertDataPathStrategy=function(r,t){return _(t,(function(t){var e;return E(t,null===(e=r.data)||void 0===e?void 0:e.daffExternalRouteType)}),O(r))},r.daffInsertRouteBeforeWildCardStrategy=g,r.daffProvideRouteResolvableByType=function(r){return{provide:s,multi:!0,useValue:r}},r.ɵa=s,r.ɵb=p,Object.defineProperty(r,"__esModule",{value:!0})}));
16
+ //# sourceMappingURL=daffodil-external-router.umd.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../libs/external-router/src/config.ts","../../../libs/external-router/src/token/type-resolvable-routes.token.ts","../../../libs/external-router/src/external-router.module.ts","../../../libs/external-router/src/errors/no-wildcard.ts","../../../libs/external-router/src/errors/unknown-type.ts","../../../libs/external-router/src/router/strategies/insert-route-before-wildcard.ts","../../../libs/external-router/src/router/router.service.ts","../../../libs/external-router/src/transform/resolved-route-to-route.ts","../../../libs/external-router/src/router/strategies/insert-data-path.ts","../../../libs/external-router/src/router/url-matcher/data-path-matcher.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__read","o","n","m","Symbol","iterator","r","e","i","ar","next","done","push","value","error","__spread","arguments","length","concat","daffExternalRouterConfigurationDefault","failedResolutionPath","notFoundResolutionPath","DAFF_EXTERNAL_ROUTER_CONFIG","InjectionToken","providedIn","factory","DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE","daffProvideRoutesResolvableByType","routes","map","route","provide","multi","useValue","DaffExternalRouterModule","forRoot","config","ngModule","providers","assign","NgModule","args","declarations","imports","CommonModule","DaffExternalRouterNoWildcardError","message","_this","_super","code","DaffInheritableError","DaffExternalRouterUnknownRouteTypeError","daffInsertRouteBeforeWildCardStrategy","index","findIndex","path","slice","DaffExternalRouter","router","runtimeRoutes","add","resolvedRoute","_a","availableTypes","routeType","filter","t","type","shift","url","data","daffExternalRouteType","insertionStrategy","daffTransformResolvedRouteToRoute","Injectable","Router","Inject","routeMatchesRouteType","addRouteToDaffPaths","daffPaths","_b","operateOnRoute","externalRoute","traverseRouteTree","matcher","operate","stack","treeRoot","children","pop","apply","reverse","segments","group","daffUriTruncateLeadingSlash","reduce","acc","segment","paths","consumed","typeRoutePair"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\n\nexport const daffExternalRouterConfigurationDefault: DaffExternalRouterConfiguration = {\n failedResolutionPath: '/',\n notFoundResolutionPath: '/',\n};\n\n/**\n * The token holding the runtime configuration for the behavior of the\n * `@daffodil/external-router` package.\n */\nexport const DAFF_EXTERNAL_ROUTER_CONFIG = new InjectionToken<\n\tDaffExternalRouterConfiguration\n>('DAFF_EXTERNAL_ROUTER_CONFIG', {\n providedIn: 'root',\n factory: () => daffExternalRouterConfigurationDefault,\n});\n\n/**\n * The configuration object for the external router package.\n */\nexport interface DaffExternalRouterConfiguration {\n\t/**\n\t * The path to redirect to when external route resolution fails.\n\t */\n\tfailedResolutionPath: string;\n\n\t/**\n\t * The path to redirect to when the requested URL is not found.\n\t */\n\tnotFoundResolutionPath: string;\n}\n","import {\n InjectionToken,\n Provider,\n} from '@angular/core';\n\nimport { DaffExternalRouterInsertionStrategy } from '../model/insertion-strategy.type';\nimport { DaffExternalRouteType } from '../model/route-type';\nimport { DaffRouteWithoutPath } from '../model/route-without-path';\nimport { DaffTypeRoutePair } from '../model/type-route-pair';\n\n/**\n * A multi-token that allows you to register route \"types\" that correspond to routes.\n */\nexport const DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE = new InjectionToken<\n\tDaffTypeRoutePair[]\n>('DAFF_EXTERNAL_ROUTER_RESOLVABLE_TYPE_ROUTES', {\n providedIn: 'root',\n factory: () => [],\n});\n\n/**\n * A provider used to connect a type to a route to enable dynamic route resolution at runtime.\n */\nexport function daffProvideRouteResolvableByType(typeRoutePair: DaffTypeRoutePair): Provider {\n return {\n provide: DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE,\n multi: true,\n useValue: typeRoutePair,\n };\n}\n\n/**\n * A multi-provider used to connect an array of types to their respective routes.\n */\nexport function daffProvideRoutesResolvableByType(routes: DaffTypeRoutePair[]): Provider[] {\n return routes.map((route: DaffTypeRoutePair) => ({\n provide: DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE,\n multi: true,\n useValue: route,\n }));\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\n\nimport {\n DaffExternalRouterConfiguration,\n DAFF_EXTERNAL_ROUTER_CONFIG,\n daffExternalRouterConfigurationDefault,\n} from './config';\nimport { DaffTypeRoutePair } from './model/type-route-pair';\nimport { daffProvideRoutesResolvableByType } from './token/type-resolvable-routes.token';\n\n/**\n * The external `DaffExternalRouterModule` allows you to configure the\n * `@daffodil/external-router` package's behavior.\n */\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n})\nexport class DaffExternalRouterModule {\n static forRoot(\n config: Partial<DaffExternalRouterConfiguration>,\n routes: DaffTypeRoutePair[] = [],\n ): ModuleWithProviders<DaffExternalRouterModule> {\n return {\n ngModule: DaffExternalRouterModule,\n providers: [\n { provide: DAFF_EXTERNAL_ROUTER_CONFIG, useValue: { ...daffExternalRouterConfigurationDefault, ...config }},\n ...daffProvideRoutesResolvableByType(routes),\n ],\n };\n }\n}\n","import {\n DaffError,\n DaffInheritableError,\n} from '@daffodil/core';\n\n/**\n * An error thrown when there was no wildcard route found in configuration\n * of the Angular Router.\n */\nexport class DaffExternalRouterNoWildcardError extends DaffInheritableError\n implements DaffError {\n\tpublic readonly code: string = 'NO_WILDCARD_ROUTE';\n\n\tconstructor(message?: string) {\n\t super(message);\n\t}\n}\n","import {\n DaffError,\n DaffInheritableError,\n} from '@daffodil/core';\n\n/**\n * An error thrown when there is a failure matching a configured route to a\n * route type.\n */\nexport class DaffExternalRouterUnknownRouteTypeError extends DaffInheritableError\n implements DaffError {\n\tpublic readonly code: string = 'UNKNOWN_ROUTE_TYPE';\n\n\tconstructor(message?: string) {\n\t super(message);\n\t}\n}\n","import {\n Route,\n Routes,\n} from '@angular/router';\n\nimport { DaffExternalRouterNoWildcardError } from '../../errors/no-wildcard';\nimport { DaffExternalRouterInsertionStrategy } from '../../model/insertion-strategy.type';\n\n/**\n * Inserts a Route into Routes right before the wildcard route.\n * If no wildcard is found, it fails fast with a `DaffExternalRouterNoWildcardError`.\n */\nexport const daffInsertRouteBeforeWildCardStrategy: DaffExternalRouterInsertionStrategy = (\n route: Route,\n routes: Routes,\n): Routes => {\n const index = routes.findIndex((r: Route) => r.path === '**');\n if (index === -1) {\n throw new DaffExternalRouterNoWildcardError(\n 'No wildcard (**) route was found during route resolution.',\n );\n }\n return [\n ...routes.slice(0, index),\n route,\n ...routes.slice(index),\n ];\n};\n","import {\n Inject,\n Injectable,\n} from '@angular/core';\nimport {\n Router,\n Route,\n} from '@angular/router';\n\n\nimport { DaffExternalRouterNoWildcardError } from '../errors/no-wildcard';\nimport { DaffExternallyResolvableUrl } from '../model/resolvable-route';\nimport { DaffTypeRoutePair } from '../model/type-route-pair';\nimport { DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE } from '../token/type-resolvable-routes.token';\nimport { daffTransformResolvedRouteToRoute } from '../transform/resolved-route-to-route';\nimport { daffInsertRouteBeforeWildCardStrategy } from './strategies/insert-route-before-wildcard';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffExternalRouter {\n constructor(\n private router: Router,\n @Inject(DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE)\n private runtimeRoutes: DaffTypeRoutePair[],\n ) { }\n\n /**\n * Adds a route to the existing router configuration.\n */\n add(resolvedRoute: DaffExternallyResolvableUrl) {\n //Get the route.\n const {\n route,\n insertionStrategy,\n } = daffTransformResolvedRouteToRoute(\n resolvedRoute,\n this.runtimeRoutes,\n );\n\n try {\n //Add it to configuration.\n this.router.config = (insertionStrategy || daffInsertRouteBeforeWildCardStrategy)(route, this.router.config);\n } catch (e) {\n if (e instanceof DaffExternalRouterNoWildcardError) {\n throw new DaffExternalRouterNoWildcardError(\n `${e.message} This usually means you have misconfigured your routes.`,\n );\n }\n\n throw e;\n }\n }\n}\n","import { DaffExternalRouterUnknownRouteTypeError } from '../errors/unknown-type';\nimport { DaffExternallyResolvableUrl } from '../model/resolvable-route';\nimport { DaffRouteInfo } from '../model/route-info';\nimport { DaffTypeRoutePair } from '../model/type-route-pair';\n\n/**\n * Transforms a DaffExternallyResolvableUrl into an Angular Route.\n */\nexport const daffTransformResolvedRouteToRoute = (\n resolvedRoute: DaffExternallyResolvableUrl,\n availableTypes: DaffTypeRoutePair[],\n): DaffRouteInfo => {\n const routeType = availableTypes\n .filter(t => t.type === resolvedRoute.type)\n .shift();\n if (!routeType) {\n throw new DaffExternalRouterUnknownRouteTypeError(\n `Unable to resolve the route '${resolvedRoute.url}'. Its type is '${resolvedRoute.type}' but a matching route wasn't found.`,\n );\n }\n\n return {\n route: {\n path: resolvedRoute.url,\n ...routeType.route,\n data: {\n daffExternalRouteType: resolvedRoute.type,\n ...routeType.route.data,\n },\n },\n insertionStrategy: routeType.insertionStrategy,\n };\n};\n","import {\n Route,\n Routes,\n} from '@angular/router';\n\nimport { DaffExternalRouterInsertionStrategy } from '../../model/insertion-strategy.type';\nimport { DaffExternalRouteType } from '../../model/route-type';\nimport { DaffRouteWithDataPath } from '../../model/route-with-data-path';\n\n/**\n * Tests whether or not a route matches a specific Daffodil Route type.\n *\n * See {@link DaffRouteWithDataPath}\n */\nconst routeMatchesRouteType = (route: DaffRouteWithDataPath, type: DaffExternalRouteType): boolean => route?.data?.daffExternalRouteType === type;\n\n/**\n * Adds a path to the `daffPaths` of the given route.\n *\n * See {@link DaffRouteWithDataPath}\n */\nconst addRouteToDaffPaths:\n (route: DaffRouteWithDataPath, path: string) => Route =\n (route: DaffRouteWithDataPath, path: string) => route.data.daffPaths = {\n ...route.data.daffPaths,\n [path]: path,\n };\n\nconst operateOnRoute = (externalRoute: Route): (route: Route) => Route =>\n (route: DaffRouteWithDataPath) => addRouteToDaffPaths(route, externalRoute.path);\n\n/**\n * Traverse the router config tree, halting after the first match.\n * This traversal is implemented in a pre-order manner. As such, for large\n * configuration trees, it will be most efficient to place externally routed\n * components at the top of router configuration.\n */\nconst traverseRouteTree = (routes: Routes = [], matcher: (route: Route) => boolean, operate: (route: Route) => void): Routes => {\n if(routes.length === 0) {\n return routes;\n }\n\n const stack: Routes = [];\n const treeRoot = { children: routes };\n stack.push(treeRoot);\n\n while(stack.length) {\n const route = stack.pop();\n if(matcher(route)) {\n operate(route);\n break;\n }\n if(route.children){\n stack.push(...route.children.reverse());\n }\n }\n return routes;\n};\n\n/**\n * A route insertion strategy that can be used to append external routes onto\n * existing Angular routes. This can be useful when you need to route to\n * an existing lazy-loaded module from multiple externally defined urls.\n *\n * This should be used in combination with the {@link daffDataPathUrlMatcher} to match lazy-loaded modules with\n * associated external urls.\n *\n * For example, you can provide the insertion strategy in the {@link DaffExternalRouterModule} as below.\n *\n * ```ts\n * DaffExternalRouterModule.forRoot({}, [\n * {\n * type: 'CATEGORY',\n * insertionStrategy: daffInsertDataPathStrategy,\n * route: {}\n * }\n * ],\n * ```\n *\n * Then, you can match it with an associated route defined in your Routing\n * configuration with the {@link daffDataPathUrlMatcher}.\n *\n * ```ts\n * export const routes: Routes = [\n * {\n * matcher: daffDataPathUrlMatcher,\n * data: {\n * daffExternalRouteType: \"CATEGORY\",\n * },\n * loadChildren: () => import('./category/category.module').then((m) => m.MyCategoryModule),\n * }\n * ]\n * ```\n *\n * See {@link DaffRouteWithDataPath}\n *\n */\nexport const daffInsertDataPathStrategy: DaffExternalRouterInsertionStrategy = (externalRoute: DaffRouteWithDataPath, routes: Routes) => traverseRouteTree(\n routes,\n (route) => routeMatchesRouteType(route, externalRoute.data?.daffExternalRouteType),\n operateOnRoute(externalRoute),\n);\n","import {\n UrlMatcher,\n UrlSegment,\n UrlSegmentGroup,\n} from '@angular/router';\n\nimport { daffUriTruncateLeadingSlash } from '@daffodil/core/routing';\n\nimport { DaffRouteWithDataPath } from '../../model/public_api';\n\n/**\n * A UrlMatcher that does an exact match against a path stored in the special\n * configuration fields that External Router stores on a Route's data.\n *\n * ```ts\n * export const routes: Routes = [\n * {\n * matcher: daffDataPathUrlMatcher,\n * data: {\n * daffExternalRouteType: \"CATEGORY\",\n * },\n * loadChildren: () => import('./category/category.module').then((m) => m.ShopCategoryModule),\n * }\n * ]\n * ```\n * {@link daffInsertDataPathStrategy }\n * {@link DaffRouteWithDataPath }\n */\nexport const daffDataPathUrlMatcher: UrlMatcher = (segments: UrlSegment[], group: UrlSegmentGroup, route: DaffRouteWithDataPath) => {\n const path = daffUriTruncateLeadingSlash(segments.reduce((acc: string, segment) => acc + '/' + segment.path, ''));\n const paths = route?.data?.daffPaths;\n\n // If we don't have any paths, we can safely fail a match.\n if(!paths) {\n return null;\n }\n\n // Otherwise, look up the path in the dictionary, failing if a match isn't found,\n // but matching the entire segment if a match is found.\n return path in paths ? { consumed: segments } : null;\n};\n\n"]}
package/config.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export declare const daffExternalRouterConfigurationDefault: DaffExternalRouterConfiguration;
3
+ /**
4
+ * The token holding the runtime configuration for the behavior of the
5
+ * `@daffodil/external-router` package.
6
+ */
7
+ export declare const DAFF_EXTERNAL_ROUTER_CONFIG: InjectionToken<DaffExternalRouterConfiguration>;
8
+ /**
9
+ * The configuration object for the external router package.
10
+ */
11
+ export interface DaffExternalRouterConfiguration {
12
+ /**
13
+ * The path to redirect to when external route resolution fails.
14
+ */
15
+ failedResolutionPath: string;
16
+ /**
17
+ * The path to redirect to when the requested URL is not found.
18
+ */
19
+ notFoundResolutionPath: string;
20
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ export { DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE as ɵa, daffProvideRoutesResolvableByType as ɵb } from './token/type-resolvable-routes.token';
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":4,"metadata":{"DaffExternalRouterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"declarations":[],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":20,"character":12}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config","routes"],"defaults":[null,[]],"value":{"ngModule":{"__symbolic":"reference","name":"DaffExternalRouterModule"},"providers":[{"provide":{"__symbolic":"reference","name":"DAFF_EXTERNAL_ROUTER_CONFIG"},"useValue":{}},{"__symbolic":"spread","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵb"},"arguments":[{"__symbolic":"reference","name":"routes"}]}}]}}}},"DAFF_EXTERNAL_ROUTER_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":11,"character":47},"arguments":["DAFF_EXTERNAL_ROUTER_CONFIG",{"__symbolic":"error","message":"Lambda not supported","line":15,"character":11,"module":"./config"}]},"DaffExternalRouterConfiguration":{"__symbolic":"interface"},"ɵa":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":13,"character":66},"arguments":["DAFF_EXTERNAL_ROUTER_RESOLVABLE_TYPE_ROUTES",{"__symbolic":"error","message":"Lambda not supported","line":17,"character":11,"module":"./token/type-resolvable-routes.token"}]},"ɵb":{"__symbolic":"function","parameters":["routes"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"routes"},"member":"map"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":35,"character":20,"module":"./token/type-resolvable-routes.token"}]}},"daffProvideRouteResolvableByType":{"__symbolic":"function","parameters":["typeRoutePair"],"value":{"provide":{"__symbolic":"reference","name":"ɵa"},"multi":true,"useValue":{"__symbolic":"reference","name":"typeRoutePair"}}},"DaffExternalRouterInsertionStrategy":{"__symbolic":"interface"},"DaffExternallyResolvableUrl":{"__symbolic":"interface"},"DaffRouteInfo":{"__symbolic":"interface"},"DaffExternalRouteType":{"__symbolic":"interface"},"DaffRouteWithoutPath":{"__symbolic":"interface"},"DaffTypeRoutePair":{"__symbolic":"interface"},"DaffRouteWithDataPath":{"__symbolic":"interface"},"DaffExternalRouter":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":17,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":23,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":22,"character":20},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"DaffTypeRoutePair"}]}]}],"add":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"daffInsertRouteBeforeWildCardStrategy":{"__symbolic":"error","message":"Lambda not supported","line":12,"character":90,"module":"./router/strategies/insert-route-before-wildcard"},"daffInsertDataPathStrategy":{"__symbolic":"error","message":"Lambda not supported","line":97,"character":79,"module":"./router/strategies/insert-data-path"},"daffDataPathUrlMatcher":{"__symbolic":"error","message":"Lambda not supported","line":28,"character":50,"module":"./router/url-matcher/data-path-matcher"},"DaffExternalRouterNoWildcardError":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@daffodil/core","name":"DaffInheritableError","line":9,"character":55},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]}},"DaffExternalRouterUnknownRouteTypeError":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@daffodil/core","name":"DaffInheritableError","line":9,"character":61},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]}}},"origins":{"DaffExternalRouterModule":"./external-router.module","DAFF_EXTERNAL_ROUTER_CONFIG":"./config","DaffExternalRouterConfiguration":"./config","ɵa":"./token/type-resolvable-routes.token","ɵb":"./token/type-resolvable-routes.token","daffProvideRouteResolvableByType":"./token/type-resolvable-routes.token","DaffExternalRouterInsertionStrategy":"./model/insertion-strategy.type","DaffExternallyResolvableUrl":"./model/resolvable-route","DaffRouteInfo":"./model/route-info","DaffExternalRouteType":"./model/route-type","DaffRouteWithoutPath":"./model/route-without-path","DaffTypeRoutePair":"./model/type-route-pair","DaffRouteWithDataPath":"./model/route-with-data-path","DaffExternalRouter":"./router/router.service","daffInsertRouteBeforeWildCardStrategy":"./router/strategies/insert-route-before-wildcard","daffInsertDataPathStrategy":"./router/strategies/insert-data-path","daffDataPathUrlMatcher":"./router/url-matcher/data-path-matcher","DaffExternalRouterNoWildcardError":"./errors/no-wildcard","DaffExternalRouterUnknownRouteTypeError":"./errors/unknown-type"},"importAs":"@daffodil/external-router"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":4,"metadata":{"DaffExternalRouterDriverInterface":{"__symbolic":"interface"},"DaffExternalRouterDriver":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":8,"character":44},"arguments":["DaffExternalRouterDriver"]},"DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION":{"id":null,"url":null,"code":404,"type":null}},"origins":{"DaffExternalRouterDriverInterface":"./interfaces/external-router-driver.interface","DaffExternalRouterDriver":"./interfaces/external-router-driver.interface","DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION":"./not-found-resolution"},"importAs":"@daffodil/external-router/driver"}
@@ -0,0 +1 @@
1
+ export * from './public_api';
@@ -0,0 +1,22 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { DaffExternallyResolvableUrl } from '@daffodil/external-router';
4
+ /**
5
+ * The token for the `@daffodil/external-router` driver.
6
+ */
7
+ export declare const DaffExternalRouterDriver: InjectionToken<DaffExternalRouterDriverInterface>;
8
+ /**
9
+ * The interface for a @daffodil/external-router driver.
10
+ *
11
+ * This driver is responsible for translating a URL into a Route consumable by
12
+ * Daffodil.
13
+ */
14
+ export interface DaffExternalRouterDriverInterface {
15
+ /**
16
+ * Resolves a URL with a platform.
17
+ * Returns information about the type of URL.
18
+ *
19
+ * @param url The full URL path qualified with file extension and leading slash but without domain. i.e. /full/path/to/thing.html
20
+ */
21
+ resolve(url: string): Observable<DaffExternallyResolvableUrl>;
22
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ export { DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME as ɵa } from './graphql/queries/resolve-url-v2.4.1';
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":4,"metadata":{"DaffExternalRouterMagentoDriver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":22,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"apollo-angular","name":"Apollo","line":27,"character":30}]}],"resolve":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"DaffExternalRouterDriverMagentoModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":27,"character":1},"arguments":[{"declarations":[],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":29,"character":12}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"DaffExternalRouterDriverMagentoModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@daffodil/external-router/driver","name":"DaffExternalRouterDriver","line":41,"character":19},"useExisting":{"__symbolic":"reference","name":"DaffExternalRouterMagentoDriver"}},{"provide":{"__symbolic":"reference","module":"@daffodil/driver/magento","name":"DAFF_MAGENTO_CACHEABLE_OPERATIONS","line":45,"character":19},"useValue":{"__symbolic":"reference","name":"ɵa"},"multi":true}]}}}},"ɵa":"MagentoResolveUrlv241"},"origins":{"DaffExternalRouterMagentoDriver":"./magento.service","DaffExternalRouterDriverMagentoModule":"./magento.module","ɵa":"./graphql/queries/resolve-url-v2.4.1"},"importAs":"@daffodil/external-router/driver/magento/2.4.1"}
@@ -0,0 +1,6 @@
1
+ export declare const DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME = "MagentoResolveUrlv241";
2
+ /**
3
+ * This query retrieves a URL resolution from Magento and informs you about
4
+ * what type of route the URL is.
5
+ */
6
+ export declare const MagentoResolveUrlv241: import("graphql").DocumentNode;
@@ -0,0 +1 @@
1
+ export * from './public_api';
@@ -0,0 +1,23 @@
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ /**
3
+ * The module used to configure the {@link DaffExternalRouterDriver} for usage with Magento.
4
+ *
5
+ * ```ts
6
+ * @NgModule({
7
+ * declarations: [],
8
+ * imports: [
9
+ * ...
10
+ * DaffExternalRouterDriverMagentoModule.forRoot()
11
+ * ],
12
+ * })
13
+ * export class AppModule{}
14
+ * ```
15
+ *
16
+ * Note that this package depends upon ApolloClient, as the Magento driver uses GraphQl to make it's API calls.
17
+ */
18
+ export declare class DaffExternalRouterDriverMagentoModule {
19
+ /**
20
+ * Configures the package for the root injector.
21
+ */
22
+ static forRoot(): ModuleWithProviders<DaffExternalRouterDriverMagentoModule>;
23
+ }
@@ -0,0 +1,15 @@
1
+ import { Apollo } from 'apollo-angular';
2
+ import { Observable } from 'rxjs';
3
+ import { DaffExternallyResolvableUrl } from '@daffodil/external-router';
4
+ import { DaffExternalRouterDriverInterface } from '@daffodil/external-router/driver';
5
+ /**
6
+ * The DaffExternalRouterMagentoDriver is responsible for translating an
7
+ * arbitrary URI into a DaffExternallyResolvableUrl with Magento environments.
8
+ *
9
+ * @inheritdoc
10
+ */
11
+ export declare class DaffExternalRouterMagentoDriver implements DaffExternalRouterDriverInterface {
12
+ private apollo;
13
+ constructor(apollo: Apollo);
14
+ resolve(url: string): Observable<DaffExternallyResolvableUrl>;
15
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "@daffodil/external-router/driver/magento/2.4.1",
3
+ "main": "../../../bundles/daffodil-external-router-driver-magento-2.4.1.umd.js",
4
+ "module": "../../../fesm2015/daffodil-external-router-driver-magento-2.4.1.js",
5
+ "es2015": "../../../fesm2015/daffodil-external-router-driver-magento-2.4.1.js",
6
+ "esm2015": "../../../esm2015/driver/magento/2.4.1/daffodil-external-router-driver-magento-2.4.1.js",
7
+ "fesm2015": "../../../fesm2015/daffodil-external-router-driver-magento-2.4.1.js",
8
+ "typings": "daffodil-external-router-driver-magento-2.4.1.d.ts",
9
+ "metadata": "daffodil-external-router-driver-magento-2.4.1.metadata.json",
10
+ "sideEffects": false
11
+ }
@@ -0,0 +1,2 @@
1
+ export { DaffExternalRouterMagentoDriver } from './magento.service';
2
+ export { DaffExternalRouterDriverMagentoModule } from './magento.module';
@@ -0,0 +1,3 @@
1
+ import { DaffExternallyResolvableUrl } from '@daffodil/external-router';
2
+ import { MagentoUrlResolver } from '@daffodil/external-router/driver/magento';
3
+ export declare const transformResolutionToResolvableUrlv241: (resolution: MagentoUrlResolver) => DaffExternallyResolvableUrl;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ export { DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME as ɵa } from './graphql/queries/resolve-url-v2.4.2';
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":4,"metadata":{"DaffExternalRouterMagentoDriver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":20,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"apollo-angular","name":"Apollo","line":26,"character":18}]}],"resolve":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"DaffExternalRouterDriverMagentoModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":28,"character":1},"arguments":[{"declarations":[],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":30,"character":12}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"DaffExternalRouterDriverMagentoModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@daffodil/external-router/driver","name":"DaffExternalRouterDriver","line":42,"character":19},"useExisting":{"__symbolic":"reference","name":"DaffExternalRouterMagentoDriver"}},{"provide":{"__symbolic":"reference","module":"@daffodil/driver/magento","name":"DAFF_MAGENTO_CACHEABLE_OPERATIONS","line":46,"character":19},"useValue":{"__symbolic":"reference","name":"ɵa"},"multi":true}]}}}},"ɵa":"MagentoResolveUrlv242"},"origins":{"DaffExternalRouterMagentoDriver":"./magento.service","DaffExternalRouterDriverMagentoModule":"./magento.module","ɵa":"./graphql/queries/resolve-url-v2.4.2"},"importAs":"@daffodil/external-router/driver/magento/2.4.2"}
@@ -0,0 +1,6 @@
1
+ export declare const DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME = "MagentoResolveUrlv242";
2
+ /**
3
+ * This query retrieves a URL resolution from Magento and informs you about
4
+ * what type of route the URL is.
5
+ */
6
+ export declare const MagentoResolveUrlv242: import("graphql").DocumentNode;
@@ -0,0 +1 @@
1
+ export * from './public_api';
@@ -0,0 +1,23 @@
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ /**
3
+ * The module used to configure the {@link DaffExternalRouterDriver} for usage with Magento.
4
+ *
5
+ * ```ts
6
+ * @NgModule({
7
+ * declarations: [],
8
+ * imports: [
9
+ * ...
10
+ * DaffExternalRouterDriverMagentoModule.forRoot()
11
+ * ],
12
+ * })
13
+ * export class AppModule{}
14
+ * ```
15
+ *
16
+ * Note that this package depends upon ApolloClient, as the Magento driver uses GraphQl to make it's API calls.
17
+ */
18
+ export declare class DaffExternalRouterDriverMagentoModule {
19
+ /**
20
+ * Configures the package for the root injector.
21
+ */
22
+ static forRoot(): ModuleWithProviders<DaffExternalRouterDriverMagentoModule>;
23
+ }
@@ -0,0 +1,15 @@
1
+ import { Apollo } from 'apollo-angular';
2
+ import { Observable } from 'rxjs';
3
+ import { DaffExternallyResolvableUrl } from '@daffodil/external-router';
4
+ import { DaffExternalRouterDriverInterface } from '@daffodil/external-router/driver';
5
+ /**
6
+ * The DaffExternalRouterMagentoDriver is responsible for translating an
7
+ * arbitrary URI into a DaffExternallyResolvableUrl with Magento environments.
8
+ *
9
+ * @inheritdoc
10
+ */
11
+ export declare class DaffExternalRouterMagentoDriver implements DaffExternalRouterDriverInterface {
12
+ private apollo;
13
+ constructor(apollo: Apollo);
14
+ resolve(url: string): Observable<DaffExternallyResolvableUrl>;
15
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "@daffodil/external-router/driver/magento/2.4.2",
3
+ "main": "../../../bundles/daffodil-external-router-driver-magento-2.4.2.umd.js",
4
+ "module": "../../../fesm2015/daffodil-external-router-driver-magento-2.4.2.js",
5
+ "es2015": "../../../fesm2015/daffodil-external-router-driver-magento-2.4.2.js",
6
+ "esm2015": "../../../esm2015/driver/magento/2.4.2/daffodil-external-router-driver-magento-2.4.2.js",
7
+ "fesm2015": "../../../fesm2015/daffodil-external-router-driver-magento-2.4.2.js",
8
+ "typings": "daffodil-external-router-driver-magento-2.4.2.d.ts",
9
+ "metadata": "daffodil-external-router-driver-magento-2.4.2.metadata.json",
10
+ "sideEffects": false
11
+ }
@@ -0,0 +1,2 @@
1
+ export { DaffExternalRouterMagentoDriver } from './magento.service';
2
+ export { DaffExternalRouterDriverMagentoModule } from './magento.module';
@@ -0,0 +1,3 @@
1
+ import { DaffExternallyResolvableUrl } from '@daffodil/external-router';
2
+ import { MagentoUrlResolver } from '@daffodil/external-router/driver/magento';
3
+ export declare const transformResolutionToResolvableUrlv242: (resolution: MagentoUrlResolver) => DaffExternallyResolvableUrl;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":4,"metadata":{"MagentoUrlResolver":{"__symbolic":"interface"},"MagentoUrlRewriteEntityTypeEnum":{"PRODUCT":"PRODUCT","CATEGORY":"CATEGORY","CMS_PAGE":"CMS_PAGE"},"MagentoUrlResolverResponse":{"__symbolic":"interface"},"magentoTransformRedirectToHttpCode":{"__symbolic":"error","message":"Lambda not supported","line":3,"character":50,"module":"./transforms/redirect-to-http"}},"origins":{"MagentoUrlResolver":"./model/url-resolver","MagentoUrlRewriteEntityTypeEnum":"./model/resolution-types","MagentoUrlResolverResponse":"./model/url-resolver-response","magentoTransformRedirectToHttpCode":"./transforms/redirect-to-http"},"importAs":"@daffodil/external-router/driver/magento"}
@@ -0,0 +1 @@
1
+ export * from './public_api';
@@ -0,0 +1,3 @@
1
+ export { MagentoUrlResolver } from './url-resolver';
2
+ export { MagentoUrlRewriteEntityTypeEnum } from './resolution-types';
3
+ export { MagentoUrlResolverResponse } from './url-resolver-response';
@@ -0,0 +1,5 @@
1
+ export declare enum MagentoUrlRewriteEntityTypeEnum {
2
+ PRODUCT = "PRODUCT",
3
+ CATEGORY = "CATEGORY",
4
+ CMS_PAGE = "CMS_PAGE"
5
+ }
@@ -0,0 +1,4 @@
1
+ import { MagentoUrlResolver } from './url-resolver';
2
+ export interface MagentoUrlResolverResponse {
3
+ urlResolver: MagentoUrlResolver;
4
+ }
@@ -0,0 +1,13 @@
1
+ export interface MagentoUrlResolver {
2
+ relative_url: string;
3
+ type: string;
4
+ redirectCode: number;
5
+ /**
6
+ * In v2.4.2 this became the standard id field
7
+ */
8
+ entity_uid?: string;
9
+ /**
10
+ * The original id field from Magento
11
+ */
12
+ id?: number;
13
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "@daffodil/external-router/driver/magento",
3
+ "main": "../../bundles/daffodil-external-router-driver-magento.umd.js",
4
+ "module": "../../fesm2015/daffodil-external-router-driver-magento.js",
5
+ "es2015": "../../fesm2015/daffodil-external-router-driver-magento.js",
6
+ "esm2015": "../../esm2015/driver/magento/daffodil-external-router-driver-magento.js",
7
+ "fesm2015": "../../fesm2015/daffodil-external-router-driver-magento.js",
8
+ "typings": "daffodil-external-router-driver-magento.d.ts",
9
+ "metadata": "daffodil-external-router-driver-magento.metadata.json",
10
+ "sideEffects": false
11
+ }
@@ -0,0 +1,2 @@
1
+ export * from './model/public_api';
2
+ export * from './transforms/public_api';
@@ -0,0 +1 @@
1
+ export { magentoTransformRedirectToHttpCode } from './redirect-to-http';
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Transforms a Magento redirect code to the appropriate HTTP status code.
3
+ */
4
+ export declare const magentoTransformRedirectToHttpCode: (code: number) => number;
@@ -0,0 +1,8 @@
1
+ import { DaffExternallyResolvableUrl } from '@daffodil/external-router';
2
+ /**
3
+ * When a driver fails to find a resolution, it should return a 404.
4
+ * This const represents the standard "Not Found" resolution that a driver
5
+ * should return. Drivers are not required to return this value, but may do so
6
+ * if they would like.
7
+ */
8
+ export declare const DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION: DaffExternallyResolvableUrl;
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "@daffodil/external-router/driver",
3
+ "main": "../bundles/daffodil-external-router-driver.umd.js",
4
+ "module": "../fesm2015/daffodil-external-router-driver.js",
5
+ "es2015": "../fesm2015/daffodil-external-router-driver.js",
6
+ "esm2015": "../esm2015/driver/daffodil-external-router-driver.js",
7
+ "fesm2015": "../fesm2015/daffodil-external-router-driver.js",
8
+ "typings": "daffodil-external-router-driver.d.ts",
9
+ "metadata": "daffodil-external-router-driver.metadata.json",
10
+ "sideEffects": false
11
+ }
@@ -0,0 +1,2 @@
1
+ export { DaffExternalRouterDriverInterface, DaffExternalRouterDriver, } from './interfaces/external-router-driver.interface';
2
+ export { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION } from './not-found-resolution';
@@ -0,0 +1,16 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { DaffExternalRouteType } from '@daffodil/external-router';
3
+ /**
4
+ * The configuration for the testing driver. It is a dictionary of "url": "type",
5
+ * pairs, where the URL is a URL-safe routeable path, e.g. "sweatshirts" or "t-shirts"
6
+ * and the type is a known type to your application, e.g. "CATEGORY".
7
+ */
8
+ export interface DaffExternalRouterDriverTestingConfig {
9
+ [url: string]: DaffExternalRouteType;
10
+ }
11
+ /**
12
+ * The token used by Daffodil to hold the driver's configuration.
13
+ *
14
+ * @docs-private
15
+ */
16
+ export declare const DAFF_EXTERNAL_ROUTER_DRIVER_TESTING_CONFIG: InjectionToken<DaffExternalRouterDriverTestingConfig>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ export { DAFF_EXTERNAL_ROUTER_DRIVER_TESTING_CONFIG as ɵa } from './config';
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":18,"character":62},"arguments":["DAFF_EXTERNAL_ROUTER_DRIVER_TESTING_CONFIG",{"__symbolic":"error","message":"Lambda not supported","line":22,"character":11,"module":"./config"}]},"DaffExternalRouterTestingDriver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":31,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":37,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}]],"parameters":[{"__symbolic":"reference","name":"DaffExternalRouterDriverTestingConfig"}]}],"resolve":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"DaffExternalRouterDriverTestingModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"declarations":[],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":20,"character":12}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"DaffExternalRouterDriverTestingModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@daffodil/external-router/driver","name":"DaffExternalRouterDriver","line":30,"character":19},"useExisting":{"__symbolic":"reference","name":"DaffExternalRouterTestingDriver"}},{"provide":{"__symbolic":"reference","name":"ɵa"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}},"DaffExternalRouterDriverTestingConfig":{"__symbolic":"interface"}},"origins":{"ɵa":"./config","DaffExternalRouterTestingDriver":"./testing.service","DaffExternalRouterDriverTestingModule":"./testing.module","DaffExternalRouterDriverTestingConfig":"./config"},"importAs":"@daffodil/external-router/driver/testing"}
@@ -0,0 +1 @@
1
+ export * from './public_api';
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "@daffodil/external-router/driver/testing",
3
+ "main": "../../bundles/daffodil-external-router-driver-testing.umd.js",
4
+ "module": "../../fesm2015/daffodil-external-router-driver-testing.js",
5
+ "es2015": "../../fesm2015/daffodil-external-router-driver-testing.js",
6
+ "esm2015": "../../esm2015/driver/testing/daffodil-external-router-driver-testing.js",
7
+ "fesm2015": "../../fesm2015/daffodil-external-router-driver-testing.js",
8
+ "typings": "daffodil-external-router-driver-testing.d.ts",
9
+ "metadata": "daffodil-external-router-driver-testing.metadata.json",
10
+ "sideEffects": false
11
+ }
@@ -0,0 +1,3 @@
1
+ export { DaffExternalRouterTestingDriver } from './testing.service';
2
+ export { DaffExternalRouterDriverTestingModule } from './testing.module';
3
+ export { DaffExternalRouterDriverTestingConfig } from './config';
@@ -0,0 +1,9 @@
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import { DaffExternalRouterDriverTestingConfig } from './config';
3
+ /**
4
+ * The `DaffExternalRouterDriverTestingModule` is an importable NgModule that can
5
+ * be used to configure the {@link DaffExternalRouterTestingDriver}.
6
+ */
7
+ export declare class DaffExternalRouterDriverTestingModule {
8
+ static forRoot(config: DaffExternalRouterDriverTestingConfig): ModuleWithProviders<DaffExternalRouterDriverTestingModule>;
9
+ }
@@ -0,0 +1,17 @@
1
+ import { Observable } from 'rxjs';
2
+ import { DaffExternallyResolvableUrl } from '@daffodil/external-router';
3
+ import { DaffExternalRouterDriverInterface } from '@daffodil/external-router/driver';
4
+ import { DaffExternalRouterDriverTestingConfig } from './config';
5
+ /**
6
+ * The DaffExternalRouterTestingDriver is responsible for translating an
7
+ * arbitrary URI into a DaffExternallyResolvableUrl in testing environments.
8
+ *
9
+ * @inheritdoc
10
+ *
11
+ * @see {@link DaffExternalRouterTestingDriver}
12
+ */
13
+ export declare class DaffExternalRouterTestingDriver implements DaffExternalRouterDriverInterface {
14
+ private testingConfiguration;
15
+ constructor(testingConfiguration?: DaffExternalRouterDriverTestingConfig);
16
+ resolve(url: string): Observable<DaffExternallyResolvableUrl>;
17
+ }