@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-routing.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../libs/external-router/routing/src/errors/client-error.ts","../../../libs/external-router/routing/src/errors/not-found-error.ts","../../../libs/external-router/routing/src/errors/permanent-redirect.ts","../../../libs/external-router/routing/src/errors/temporary-redirect.ts","../../../libs/external-router/routing/src/errors/server-error.ts","../../../libs/external-router/routing/src/processors/process-errors.ts","../../../libs/external-router/routing/src/processors/process-redirect.ts","../../../libs/external-router/routing/src/guard/existence.guard.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 {\n DaffError,\n DaffInheritableError,\n} from '@daffodil/core';\n\n/**\n * An error thrown when the driver encounters a 4xx error.\n */\nexport class DaffExternalRouterClientError extends DaffInheritableError\n implements DaffError {\n\tpublic readonly code: string = '4xx_CLIENT_ERROR';\n\n\tconstructor(message?: string) {\n\t super(message);\n\t}\n}\n","import { DaffError } from '@daffodil/core';\n\nimport { DaffExternalRouterClientError } from './client-error';\n\n/**\n * An error thrown when the driver determines that a given url is not resolvable.\n */\nexport class DaffExternalRouterNotFoundError extends DaffExternalRouterClientError\n implements DaffError {\n\tpublic readonly code: string = '404_NOT_FOUND';\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 the driver determines that the url needs to be routed somewhere\n * else permanently.\n */\nexport class DaffExternalRouterPermanentRedirectError extends DaffInheritableError\n implements DaffError {\n\tpublic readonly code: string = '302_PERMANENT_REDIRECT';\n\n\tconstructor(public redirectUrl: string, 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 the driver needs a URI to be temporarily redirected\n * to another location.\n */\nexport class DaffExternalRouterTemporaryRedirectError extends DaffInheritableError\n implements DaffError {\n\tpublic readonly code: string = 'TEMPORARY_REDIRECT';\n\n\tconstructor(public redirectUrl: string, 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 the platform performing url resolution fails.\n */\nexport class DaffExternalRouterServerError extends DaffInheritableError\n implements DaffError {\n\tpublic readonly code: string = '5xx_SERVER_ERROR';\n\n\tconstructor(message?: string) {\n\t super(message);\n\t}\n}\n","import { DaffExternallyResolvableUrl } from '@daffodil/external-router';\n\n\nimport { DaffExternalRouterClientError } from '../errors/client-error';\nimport { DaffExternalRouterNotFoundError } from '../errors/not-found-error';\nimport { DaffExternalRouterServerError } from '../errors/server-error';\n\n/**\n * Processes resolved URLs and throws the appropriate error so that External Router\n * can handle routing errors.\n */\nexport const processErrors = (url: DaffExternallyResolvableUrl): DaffExternallyResolvableUrl => {\n if(url.code === 404 ){\n throw new DaffExternalRouterNotFoundError();\n } else if(url.code >= 400 && url.code < 500) {\n throw new DaffExternalRouterClientError();\n } else if(url.code >= 500) {\n throw new DaffExternalRouterServerError();\n } else {\n return url;\n }\n};\n","import { DaffExternallyResolvableUrl } from '@daffodil/external-router';\n\nimport { DaffExternalRouterPermanentRedirectError } from '../errors/permanent-redirect';\nimport { DaffExternalRouterTemporaryRedirectError } from '../errors/temporary-redirect';\n\n/**\n * Processes resolvedUrls and throws the appropriate error so that External Router\n * can handle redirects.\n */\nexport const processRedirects = (url: DaffExternallyResolvableUrl): DaffExternallyResolvableUrl => {\n if(url.code === 301){\n throw new DaffExternalRouterPermanentRedirectError(url.url);\n } else if(url.code === 302) {\n throw new DaffExternalRouterTemporaryRedirectError(url.url);\n } else {\n return url;\n }\n};\n","import { isPlatformServer } from '@angular/common';\nimport {\n Injectable,\n Inject,\n PLATFORM_ID,\n} from '@angular/core';\nimport {\n CanActivate,\n ActivatedRouteSnapshot,\n Router,\n RouterStateSnapshot,\n UrlTree,\n} from '@angular/router';\nimport {\n Observable,\n of,\n} from 'rxjs';\nimport {\n catchError,\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport { DaffRoutingUriNormalizer } from '@daffodil/core/routing';\nimport {\n DaffExternalRouter,\n DaffExternalRouterConfiguration,\n DAFF_EXTERNAL_ROUTER_CONFIG,\n DaffExternallyResolvableUrl,\n} from '@daffodil/external-router';\nimport {\n DaffExternalRouterDriverInterface,\n DaffExternalRouterDriver,\n} from '@daffodil/external-router/driver';\n\nimport { DaffExternalRouterNotFoundError } from '../errors/not-found-error';\nimport { DaffExternalRouterPermanentRedirectError } from '../errors/permanent-redirect';\nimport { DaffExternalRouterTemporaryRedirectError } from '../errors/temporary-redirect';\nimport { processErrors } from '../processors/process-errors';\nimport { processRedirects } from '../processors/process-redirect';\n\n/**\n * The DaffExternalRouterExistenceGuard is responsible for guarding the wildcard route\n * of an Angular App and either navigating to a resolved route upon successful resolution\n * or navigating to the configured route upon a failed resolution.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffExternalRouterExistenceGuard implements CanActivate {\n constructor(\n @Inject(DaffExternalRouterDriver)\n private driver: DaffExternalRouterDriverInterface,\n private externalRouter: DaffExternalRouter,\n private router: Router,\n @Inject(DAFF_EXTERNAL_ROUTER_CONFIG)\n private config: DaffExternalRouterConfiguration,\n private urlNormalizer: DaffRoutingUriNormalizer,\n ) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Observable<UrlTree | boolean> {\n return this.driver.resolve(this.urlNormalizer.normalize(state.url)).pipe(\n map((resolvedRoute: DaffExternallyResolvableUrl) => processErrors(resolvedRoute)),\n switchMap(resolvedRoute => {\n this.externalRouter.add(resolvedRoute);\n return of(resolvedRoute);\n }),\n map((resolvedRoute: DaffExternallyResolvableUrl) => processRedirects(resolvedRoute)),\n // Note that we have to use state.url as we want to ensure that we keep any fragments or query strings.\n // When we succeed, redirect to the new route, as config has changed since we init'd.\n map(() => this.router.parseUrl(state.url)),\n // When we fail, we need to process errors as dictated by the error type.\n // Handle redirects\n catchError(error => {\n if (\n !(error instanceof DaffExternalRouterPermanentRedirectError) &&\n !(error instanceof DaffExternalRouterTemporaryRedirectError)) {\n throw error;\n }\n\n return of(this.router.parseUrl(error.redirectUrl));\n }),\n // Handle \"404\"\n catchError((error) => {\n if (!(error instanceof DaffExternalRouterNotFoundError)) {\n throw error;\n }\n\n return of(this.router.parseUrl(this.config.notFoundResolutionPath));\n }),\n\n //Otherwise something went horribly wrong and we need to bail out.\n catchError((error) => {\n //TODO(damienwebdev): Add a logging system.\n //This log is intentional until we have a better logging system in place.\n console.log(error);\n return of(this.router.parseUrl(this.config.failedResolutionPath));\n }),\n );\n }\n}\n"],"names":["DaffInheritableError","map","switchMap","of","catchError","Injectable","Inject","DaffExternalRouterDriver","DaffExternalRouter","Router","DAFF_EXTERNAL_ROUTER_CONFIG","DaffRoutingUriNormalizer"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ !function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/router"),require("rxjs"),require("rxjs/operators"),require("@daffodil/core/routing"),require("@daffodil/external-router"),require("@daffodil/external-router/driver"),require("@daffodil/core")):"function"==typeof define&&define.amd?define("@daffodil/external-router/routing",["exports","@angular/core","@angular/router","rxjs","rxjs/operators","@daffodil/core/routing","@daffodil/external-router","@daffodil/external-router/driver","@daffodil/core"],e):e(((r="undefined"!=typeof globalThis?globalThis:r||self).daffodil=r.daffodil||{},r.daffodil["external-router"]=r.daffodil["external-router"]||{},r.daffodil["external-router"].routing={}),r.ng.core,r.ng.router,r.rxjs,r.rxjs.operators,r.i4,r.daffodil["external-router"],r.daffodil["external-router"].driver,r.core)}(this,(function(r,e,t,o,n,i,a,u,f){"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 c=function(r,e){return(c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,e){r.__proto__=e}||function(r,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t])})(r,e)};function l(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=r}c(r,e),r.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}Object.create;Object.create;var d=function(r){function e(e){var t=r.call(this,e)||this;return t.code="4xx_CLIENT_ERROR",t}return l(e,r),e}(f.DaffInheritableError);var s=function(r){function e(e){var t=r.call(this,e)||this;return t.code="404_NOT_FOUND",t}return l(e,r),e}(d);var p=function(r){function e(e,t){var o=r.call(this,t)||this;return o.redirectUrl=e,o.code="302_PERMANENT_REDIRECT",o}return l(e,r),e}(f.DaffInheritableError);var h=function(r){function e(e,t){var o=r.call(this,t)||this;return o.redirectUrl=e,o.code="TEMPORARY_REDIRECT",o}return l(e,r),e}(f.DaffInheritableError);var R=function(r){function e(e){var t=r.call(this,e)||this;return t.code="5xx_SERVER_ERROR",t}return l(e,r),e}(f.DaffInheritableError);var x=function(){function r(r,e,t,o,n){this.driver=r,this.externalRouter=e,this.router=t,this.config=o,this.urlNormalizer=n}return r.prototype.canActivate=function(r,e){var t=this;return this.driver.resolve(this.urlNormalizer.normalize(e.url)).pipe(n.map((function(r){return function(r){if(404===r.code)throw new s;if(r.code>=400&&r.code<500)throw new d;if(r.code>=500)throw new R;return r}(r)})),n.switchMap((function(r){return t.externalRouter.add(r),o.of(r)})),n.map((function(r){return function(r){if(301===r.code)throw new p(r.url);if(302===r.code)throw new h(r.url);return r}(r)})),n.map((function(){return t.router.parseUrl(e.url)})),n.catchError((function(r){if(!(r instanceof p||r instanceof h))throw r;return o.of(t.router.parseUrl(r.redirectUrl))})),n.catchError((function(r){if(!(r instanceof s))throw r;return o.of(t.router.parseUrl(t.config.notFoundResolutionPath))})),n.catchError((function(r){return console.log(r),o.of(t.router.parseUrl(t.config.failedResolutionPath))})))},r}();x.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],x.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[u.DaffExternalRouterDriver]}]},{type:a.DaffExternalRouter},{type:t.Router},{type:void 0,decorators:[{type:e.Inject,args:[a.DAFF_EXTERNAL_ROUTER_CONFIG]}]},{type:i.DaffRoutingUriNormalizer}]},x.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new x(e.ɵɵinject(u.DaffExternalRouterDriver),e.ɵɵinject(a.DaffExternalRouter),e.ɵɵinject(t.Router),e.ɵɵinject(a.DAFF_EXTERNAL_ROUTER_CONFIG),e.ɵɵinject(i.DaffRoutingUriNormalizer))},token:x,providedIn:"root"}),r.DaffExternalRouterExistenceGuard=x,Object.defineProperty(r,"__esModule",{value:!0})}));
16
+ //# sourceMappingURL=daffodil-external-router-routing.umd.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../libs/external-router/routing/src/errors/client-error.ts","../../../libs/external-router/routing/src/errors/not-found-error.ts","../../../libs/external-router/routing/src/errors/permanent-redirect.ts","../../../libs/external-router/routing/src/errors/temporary-redirect.ts","../../../libs/external-router/routing/src/errors/server-error.ts","../../../libs/external-router/routing/src/guard/existence.guard.ts","../../../libs/external-router/routing/src/processors/process-errors.ts","../../../libs/external-router/routing/src/processors/process-redirect.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","DaffExternalRouterClientError","_super","message","_this","code","DaffInheritableError","DaffExternalRouterNotFoundError","DaffExternalRouterPermanentRedirectError","redirectUrl","DaffExternalRouterTemporaryRedirectError","DaffExternalRouterServerError","DaffExternalRouterExistenceGuard","driver","externalRouter","router","config","urlNormalizer","canActivate","next","state","resolve","normalize","url","pipe","map","resolvedRoute","processErrors","switchMap","add","of","processRedirects","parseUrl","catchError","error","notFoundResolutionPath","console","log","failedResolutionPath","Injectable","args","providedIn","Inject","DaffExternalRouterDriver","DaffExternalRouter","Router","DAFF_EXTERNAL_ROUTER_CONFIG","DaffRoutingUriNormalizer"],"mappings":";;;;;;;;;;;;;;oFAgBA,IAAIA,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOC,OAAOK,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,MAC3EN,EAAGC,aAGZS,EAAUV,EAAGC,GACzB,GAAiB,mBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIU,UAAU,uBAAyBC,OAAOX,GAAK,iCAE7D,SAASY,IAAOC,KAAKC,YAAcf,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEO,UAAkB,OAANN,EAAaC,OAAOc,OAAOf,IAAMY,EAAGN,UAAYN,EAAEM,UAAW,IAAIM,GA+EtDX,OAAOc,OAsGXd,OAAOc,OCzMhC,IAAAC,EAAA,SAAAC,GAIC,SAAAD,EAAYE,GAAZ,IAAAC,EACEF,EAAAT,KAAAK,KAAMK,IAAQL,YAHAM,EAAAC,KAAe,4BAFmBX,EAAAO,EAAAC,KAAnD,CAAmDI,EAAAA,sBCDnD,IAAAC,EAAA,SAAAL,GAIC,SAAAK,EAAYJ,GAAZ,IAAAC,EACEF,EAAAT,KAAAK,KAAMK,IAAQL,YAHAM,EAAAC,KAAe,yBAFqBX,EAAAa,EAAAL,KAArD,CAAqDD,GCErD,IAAAO,EAAA,SAAAN,GAIC,SAAAM,EAAmBC,EAAqBN,GAAxC,IAAAC,EACEF,EAAAT,KAAAK,KAAMK,IAAQL,YADGM,EAAAK,YAAAA,EAFHL,EAAAC,KAAe,kCAF8BX,EAAAc,EAAAN,KAA9D,CAA8DI,EAAAA,sBCA9D,IAAAI,EAAA,SAAAR,GAIC,SAAAQ,EAAmBD,EAAqBN,GAAxC,IAAAC,EACEF,EAAAT,KAAAK,KAAMK,IAAQL,YADGM,EAAAK,YAAAA,EAFHL,EAAAC,KAAe,8BAF8BX,EAAAgB,EAAAR,KAA9D,CAA8DI,EAAAA,sBCD9D,IAAAK,EAAA,SAAAT,GAIC,SAAAS,EAAYR,GAAZ,IAAAC,EACEF,EAAAT,KAAAK,KAAMK,IAAQL,YAHAM,EAAAC,KAAe,4BAFmBX,EAAAiB,EAAAT,KAAnD,CAAmDI,EAAAA,uCC0CjD,SAAAM,EAEUC,EACAC,EACAC,EAEAC,EACAC,GALAnB,KAAAe,OAAAA,EACAf,KAAAgB,eAAAA,EACAhB,KAAAiB,OAAAA,EAEAjB,KAAAkB,OAAAA,EACAlB,KAAAmB,cAAAA,SAGVL,EAAArB,UAAA2B,YAAA,SACEC,EACAC,GAFF,IAAAhB,EAAAN,KAIE,OAAOA,KAAKe,OAAOQ,QAAQvB,KAAKmB,cAAcK,UAAUF,EAAMG,MAAMC,KAClEC,EAAAA,KAAG,SAAEC,GAA+C,OCtDhC,SAAIH,GAC5B,GAAgB,MAAbA,EAAIlB,KACL,MAAM,IAAIE,EACL,GAAGgB,EAAIlB,MAAQ,KAAOkB,EAAIlB,KAAO,IACtC,MAAM,IAAIJ,EACL,GAAGsB,EAAIlB,MAAQ,IACpB,MAAM,IAAIM,EAEV,OAAOY,ED8C+CI,CAAcD,MAClEE,EAAAA,WAAS,SAACF,GAER,OADAtB,EAAKU,eAAee,IAAIH,GACjBI,EAAAA,GAAGJ,MAEZD,EAAAA,KAAG,SAAEC,GAA+C,OE7D7B,SAAIH,GAC/B,GAAgB,MAAbA,EAAIlB,KACL,MAAM,IAAIG,EAAyCe,EAAIA,KAClD,GAAgB,MAAbA,EAAIlB,KACZ,MAAM,IAAIK,EAAyCa,EAAIA,KAEvD,OAAOA,EFuD+CQ,CAAiBL,MAGrED,EAAAA,KAAG,WAAO,OAAArB,EAAKW,OAAOiB,SAASZ,EAAMG,QAGrCU,EAAAA,YAAU,SAACC,GACT,KACIA,aAAiB1B,GACjB0B,aAAiBxB,GACnB,MAAMwB,EAGR,OAAOJ,EAAAA,GAAG1B,EAAKW,OAAOiB,SAASE,EAAMzB,iBAGvCwB,EAAAA,YAAU,SAAEC,GACV,KAAMA,aAAiB3B,GACrB,MAAM2B,EAGR,OAAOJ,EAAAA,GAAG1B,EAAKW,OAAOiB,SAAS5B,EAAKY,OAAOmB,4BAI7CF,EAAAA,YAAU,SAAEC,GAIV,OADAE,QAAQC,IAAIH,GACLJ,EAAAA,GAAG1B,EAAKW,OAAOiB,SAAS5B,EAAKY,OAAOsB,qDArDlDC,EAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,6EAITC,EAAAA,OAAMF,KAAA,CAACG,EAAAA,mCA1BVC,EAAAA,0BAhBAC,EAAAA,uCA8CGH,EAAAA,OAAMF,KAAA,CAACM,EAAAA,sCAhCHC,EAAAA","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 {\n DaffError,\n DaffInheritableError,\n} from '@daffodil/core';\n\n/**\n * An error thrown when the driver encounters a 4xx error.\n */\nexport class DaffExternalRouterClientError extends DaffInheritableError\n implements DaffError {\n\tpublic readonly code: string = '4xx_CLIENT_ERROR';\n\n\tconstructor(message?: string) {\n\t super(message);\n\t}\n}\n","import { DaffError } from '@daffodil/core';\n\nimport { DaffExternalRouterClientError } from './client-error';\n\n/**\n * An error thrown when the driver determines that a given url is not resolvable.\n */\nexport class DaffExternalRouterNotFoundError extends DaffExternalRouterClientError\n implements DaffError {\n\tpublic readonly code: string = '404_NOT_FOUND';\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 the driver determines that the url needs to be routed somewhere\n * else permanently.\n */\nexport class DaffExternalRouterPermanentRedirectError extends DaffInheritableError\n implements DaffError {\n\tpublic readonly code: string = '302_PERMANENT_REDIRECT';\n\n\tconstructor(public redirectUrl: string, 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 the driver needs a URI to be temporarily redirected\n * to another location.\n */\nexport class DaffExternalRouterTemporaryRedirectError extends DaffInheritableError\n implements DaffError {\n\tpublic readonly code: string = 'TEMPORARY_REDIRECT';\n\n\tconstructor(public redirectUrl: string, 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 the platform performing url resolution fails.\n */\nexport class DaffExternalRouterServerError extends DaffInheritableError\n implements DaffError {\n\tpublic readonly code: string = '5xx_SERVER_ERROR';\n\n\tconstructor(message?: string) {\n\t super(message);\n\t}\n}\n","import { isPlatformServer } from '@angular/common';\nimport {\n Injectable,\n Inject,\n PLATFORM_ID,\n} from '@angular/core';\nimport {\n CanActivate,\n ActivatedRouteSnapshot,\n Router,\n RouterStateSnapshot,\n UrlTree,\n} from '@angular/router';\nimport {\n Observable,\n of,\n} from 'rxjs';\nimport {\n catchError,\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport { DaffRoutingUriNormalizer } from '@daffodil/core/routing';\nimport {\n DaffExternalRouter,\n DaffExternalRouterConfiguration,\n DAFF_EXTERNAL_ROUTER_CONFIG,\n DaffExternallyResolvableUrl,\n} from '@daffodil/external-router';\nimport {\n DaffExternalRouterDriverInterface,\n DaffExternalRouterDriver,\n} from '@daffodil/external-router/driver';\n\nimport { DaffExternalRouterNotFoundError } from '../errors/not-found-error';\nimport { DaffExternalRouterPermanentRedirectError } from '../errors/permanent-redirect';\nimport { DaffExternalRouterTemporaryRedirectError } from '../errors/temporary-redirect';\nimport { processErrors } from '../processors/process-errors';\nimport { processRedirects } from '../processors/process-redirect';\n\n/**\n * The DaffExternalRouterExistenceGuard is responsible for guarding the wildcard route\n * of an Angular App and either navigating to a resolved route upon successful resolution\n * or navigating to the configured route upon a failed resolution.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffExternalRouterExistenceGuard implements CanActivate {\n constructor(\n @Inject(DaffExternalRouterDriver)\n private driver: DaffExternalRouterDriverInterface,\n private externalRouter: DaffExternalRouter,\n private router: Router,\n @Inject(DAFF_EXTERNAL_ROUTER_CONFIG)\n private config: DaffExternalRouterConfiguration,\n private urlNormalizer: DaffRoutingUriNormalizer,\n ) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Observable<UrlTree | boolean> {\n return this.driver.resolve(this.urlNormalizer.normalize(state.url)).pipe(\n map((resolvedRoute: DaffExternallyResolvableUrl) => processErrors(resolvedRoute)),\n switchMap(resolvedRoute => {\n this.externalRouter.add(resolvedRoute);\n return of(resolvedRoute);\n }),\n map((resolvedRoute: DaffExternallyResolvableUrl) => processRedirects(resolvedRoute)),\n // Note that we have to use state.url as we want to ensure that we keep any fragments or query strings.\n // When we succeed, redirect to the new route, as config has changed since we init'd.\n map(() => this.router.parseUrl(state.url)),\n // When we fail, we need to process errors as dictated by the error type.\n // Handle redirects\n catchError(error => {\n if (\n !(error instanceof DaffExternalRouterPermanentRedirectError) &&\n !(error instanceof DaffExternalRouterTemporaryRedirectError)) {\n throw error;\n }\n\n return of(this.router.parseUrl(error.redirectUrl));\n }),\n // Handle \"404\"\n catchError((error) => {\n if (!(error instanceof DaffExternalRouterNotFoundError)) {\n throw error;\n }\n\n return of(this.router.parseUrl(this.config.notFoundResolutionPath));\n }),\n\n //Otherwise something went horribly wrong and we need to bail out.\n catchError((error) => {\n //TODO(damienwebdev): Add a logging system.\n //This log is intentional until we have a better logging system in place.\n console.log(error);\n return of(this.router.parseUrl(this.config.failedResolutionPath));\n }),\n );\n }\n}\n","import { DaffExternallyResolvableUrl } from '@daffodil/external-router';\n\n\nimport { DaffExternalRouterClientError } from '../errors/client-error';\nimport { DaffExternalRouterNotFoundError } from '../errors/not-found-error';\nimport { DaffExternalRouterServerError } from '../errors/server-error';\n\n/**\n * Processes resolved URLs and throws the appropriate error so that External Router\n * can handle routing errors.\n */\nexport const processErrors = (url: DaffExternallyResolvableUrl): DaffExternallyResolvableUrl => {\n if(url.code === 404 ){\n throw new DaffExternalRouterNotFoundError();\n } else if(url.code >= 400 && url.code < 500) {\n throw new DaffExternalRouterClientError();\n } else if(url.code >= 500) {\n throw new DaffExternalRouterServerError();\n } else {\n return url;\n }\n};\n","import { DaffExternallyResolvableUrl } from '@daffodil/external-router';\n\nimport { DaffExternalRouterPermanentRedirectError } from '../errors/permanent-redirect';\nimport { DaffExternalRouterTemporaryRedirectError } from '../errors/temporary-redirect';\n\n/**\n * Processes resolvedUrls and throws the appropriate error so that External Router\n * can handle redirects.\n */\nexport const processRedirects = (url: DaffExternallyResolvableUrl): DaffExternallyResolvableUrl => {\n if(url.code === 301){\n throw new DaffExternalRouterPermanentRedirectError(url.url);\n } else if(url.code === 302) {\n throw new DaffExternalRouterTemporaryRedirectError(url.url);\n } else {\n return url;\n }\n};\n"]}
@@ -0,0 +1,794 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/router'), require('@daffodil/core'), require('@daffodil/core/routing')) :
3
+ typeof define === 'function' && define.amd ? define('@daffodil/external-router', ['exports', '@angular/common', '@angular/core', '@angular/router', '@daffodil/core', '@daffodil/core/routing'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.daffodil = global.daffodil || {}, global.daffodil['external-router'] = {}), global.ng.common, global.ng.core, global.ng.router, global.core, global.routing));
5
+ }(this, (function (exports, common, i0, i1, core, routing) { 'use strict';
6
+
7
+ /*! *****************************************************************************
8
+ Copyright (c) Microsoft Corporation.
9
+
10
+ Permission to use, copy, modify, and/or distribute this software for any
11
+ purpose with or without fee is hereby granted.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
+ PERFORMANCE OF THIS SOFTWARE.
20
+ ***************************************************************************** */
21
+ /* global Reflect, Promise */
22
+ var extendStatics = function (d, b) {
23
+ extendStatics = Object.setPrototypeOf ||
24
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
25
+ function (d, b) { for (var p in b)
26
+ if (Object.prototype.hasOwnProperty.call(b, p))
27
+ d[p] = b[p]; };
28
+ return extendStatics(d, b);
29
+ };
30
+ function __extends(d, b) {
31
+ if (typeof b !== "function" && b !== null)
32
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
33
+ extendStatics(d, b);
34
+ function __() { this.constructor = d; }
35
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
36
+ }
37
+ var __assign = function () {
38
+ __assign = Object.assign || function __assign(t) {
39
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
40
+ s = arguments[i];
41
+ for (var p in s)
42
+ if (Object.prototype.hasOwnProperty.call(s, p))
43
+ t[p] = s[p];
44
+ }
45
+ return t;
46
+ };
47
+ return __assign.apply(this, arguments);
48
+ };
49
+ function __rest(s, e) {
50
+ var t = {};
51
+ for (var p in s)
52
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
53
+ t[p] = s[p];
54
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
55
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
56
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
57
+ t[p[i]] = s[p[i]];
58
+ }
59
+ return t;
60
+ }
61
+ function __decorate(decorators, target, key, desc) {
62
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
63
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
64
+ r = Reflect.decorate(decorators, target, key, desc);
65
+ else
66
+ for (var i = decorators.length - 1; i >= 0; i--)
67
+ if (d = decorators[i])
68
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
69
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
70
+ }
71
+ function __param(paramIndex, decorator) {
72
+ return function (target, key) { decorator(target, key, paramIndex); };
73
+ }
74
+ function __metadata(metadataKey, metadataValue) {
75
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
76
+ return Reflect.metadata(metadataKey, metadataValue);
77
+ }
78
+ function __awaiter(thisArg, _arguments, P, generator) {
79
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
80
+ return new (P || (P = Promise))(function (resolve, reject) {
81
+ function fulfilled(value) { try {
82
+ step(generator.next(value));
83
+ }
84
+ catch (e) {
85
+ reject(e);
86
+ } }
87
+ function rejected(value) { try {
88
+ step(generator["throw"](value));
89
+ }
90
+ catch (e) {
91
+ reject(e);
92
+ } }
93
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
94
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
95
+ });
96
+ }
97
+ function __generator(thisArg, body) {
98
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
99
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
100
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
101
+ function verb(n) { return function (v) { return step([n, v]); }; }
102
+ function step(op) {
103
+ if (f)
104
+ throw new TypeError("Generator is already executing.");
105
+ while (_)
106
+ try {
107
+ 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)
108
+ return t;
109
+ if (y = 0, t)
110
+ op = [op[0] & 2, t.value];
111
+ switch (op[0]) {
112
+ case 0:
113
+ case 1:
114
+ t = op;
115
+ break;
116
+ case 4:
117
+ _.label++;
118
+ return { value: op[1], done: false };
119
+ case 5:
120
+ _.label++;
121
+ y = op[1];
122
+ op = [0];
123
+ continue;
124
+ case 7:
125
+ op = _.ops.pop();
126
+ _.trys.pop();
127
+ continue;
128
+ default:
129
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
130
+ _ = 0;
131
+ continue;
132
+ }
133
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
134
+ _.label = op[1];
135
+ break;
136
+ }
137
+ if (op[0] === 6 && _.label < t[1]) {
138
+ _.label = t[1];
139
+ t = op;
140
+ break;
141
+ }
142
+ if (t && _.label < t[2]) {
143
+ _.label = t[2];
144
+ _.ops.push(op);
145
+ break;
146
+ }
147
+ if (t[2])
148
+ _.ops.pop();
149
+ _.trys.pop();
150
+ continue;
151
+ }
152
+ op = body.call(thisArg, _);
153
+ }
154
+ catch (e) {
155
+ op = [6, e];
156
+ y = 0;
157
+ }
158
+ finally {
159
+ f = t = 0;
160
+ }
161
+ if (op[0] & 5)
162
+ throw op[1];
163
+ return { value: op[0] ? op[1] : void 0, done: true };
164
+ }
165
+ }
166
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
167
+ if (k2 === undefined)
168
+ k2 = k;
169
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
170
+ }) : (function (o, m, k, k2) {
171
+ if (k2 === undefined)
172
+ k2 = k;
173
+ o[k2] = m[k];
174
+ });
175
+ function __exportStar(m, o) {
176
+ for (var p in m)
177
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
178
+ __createBinding(o, m, p);
179
+ }
180
+ function __values(o) {
181
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
182
+ if (m)
183
+ return m.call(o);
184
+ if (o && typeof o.length === "number")
185
+ return {
186
+ next: function () {
187
+ if (o && i >= o.length)
188
+ o = void 0;
189
+ return { value: o && o[i++], done: !o };
190
+ }
191
+ };
192
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
193
+ }
194
+ function __read(o, n) {
195
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
196
+ if (!m)
197
+ return o;
198
+ var i = m.call(o), r, ar = [], e;
199
+ try {
200
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
201
+ ar.push(r.value);
202
+ }
203
+ catch (error) {
204
+ e = { error: error };
205
+ }
206
+ finally {
207
+ try {
208
+ if (r && !r.done && (m = i["return"]))
209
+ m.call(i);
210
+ }
211
+ finally {
212
+ if (e)
213
+ throw e.error;
214
+ }
215
+ }
216
+ return ar;
217
+ }
218
+ /** @deprecated */
219
+ function __spread() {
220
+ for (var ar = [], i = 0; i < arguments.length; i++)
221
+ ar = ar.concat(__read(arguments[i]));
222
+ return ar;
223
+ }
224
+ /** @deprecated */
225
+ function __spreadArrays() {
226
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
227
+ s += arguments[i].length;
228
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
229
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
230
+ r[k] = a[j];
231
+ return r;
232
+ }
233
+ function __spreadArray(to, from, pack) {
234
+ if (pack || arguments.length === 2)
235
+ for (var i = 0, l = from.length, ar; i < l; i++) {
236
+ if (ar || !(i in from)) {
237
+ if (!ar)
238
+ ar = Array.prototype.slice.call(from, 0, i);
239
+ ar[i] = from[i];
240
+ }
241
+ }
242
+ return to.concat(ar || from);
243
+ }
244
+ function __await(v) {
245
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
246
+ }
247
+ function __asyncGenerator(thisArg, _arguments, generator) {
248
+ if (!Symbol.asyncIterator)
249
+ throw new TypeError("Symbol.asyncIterator is not defined.");
250
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
251
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
252
+ function verb(n) { if (g[n])
253
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
254
+ function resume(n, v) { try {
255
+ step(g[n](v));
256
+ }
257
+ catch (e) {
258
+ settle(q[0][3], e);
259
+ } }
260
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
261
+ function fulfill(value) { resume("next", value); }
262
+ function reject(value) { resume("throw", value); }
263
+ function settle(f, v) { if (f(v), q.shift(), q.length)
264
+ resume(q[0][0], q[0][1]); }
265
+ }
266
+ function __asyncDelegator(o) {
267
+ var i, p;
268
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
269
+ 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; }
270
+ }
271
+ function __asyncValues(o) {
272
+ if (!Symbol.asyncIterator)
273
+ throw new TypeError("Symbol.asyncIterator is not defined.");
274
+ var m = o[Symbol.asyncIterator], i;
275
+ 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);
276
+ 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); }); }; }
277
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
278
+ }
279
+ function __makeTemplateObject(cooked, raw) {
280
+ if (Object.defineProperty) {
281
+ Object.defineProperty(cooked, "raw", { value: raw });
282
+ }
283
+ else {
284
+ cooked.raw = raw;
285
+ }
286
+ return cooked;
287
+ }
288
+ ;
289
+ var __setModuleDefault = Object.create ? (function (o, v) {
290
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
291
+ }) : function (o, v) {
292
+ o["default"] = v;
293
+ };
294
+ function __importStar(mod) {
295
+ if (mod && mod.__esModule)
296
+ return mod;
297
+ var result = {};
298
+ if (mod != null)
299
+ for (var k in mod)
300
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
301
+ __createBinding(result, mod, k);
302
+ __setModuleDefault(result, mod);
303
+ return result;
304
+ }
305
+ function __importDefault(mod) {
306
+ return (mod && mod.__esModule) ? mod : { default: mod };
307
+ }
308
+ function __classPrivateFieldGet(receiver, state, kind, f) {
309
+ if (kind === "a" && !f)
310
+ throw new TypeError("Private accessor was defined without a getter");
311
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
312
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
313
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
314
+ }
315
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
316
+ if (kind === "m")
317
+ throw new TypeError("Private method is not writable");
318
+ if (kind === "a" && !f)
319
+ throw new TypeError("Private accessor was defined without a setter");
320
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
321
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
322
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
323
+ }
324
+
325
+ /**
326
+ * @fileoverview added by tsickle
327
+ * Generated from: config.ts
328
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
329
+ */
330
+ /** @type {?} */
331
+ var daffExternalRouterConfigurationDefault = {
332
+ failedResolutionPath: '/',
333
+ notFoundResolutionPath: '/',
334
+ };
335
+ /**
336
+ * The token holding the runtime configuration for the behavior of the
337
+ * `\@daffodil/external-router` package.
338
+ * @type {?}
339
+ */
340
+ var DAFF_EXTERNAL_ROUTER_CONFIG = new i0.InjectionToken('DAFF_EXTERNAL_ROUTER_CONFIG', {
341
+ providedIn: 'root',
342
+ factory: ( /**
343
+ * @return {?}
344
+ */function () { return daffExternalRouterConfigurationDefault; }),
345
+ });
346
+ /**
347
+ * The configuration object for the external router package.
348
+ * @record
349
+ */
350
+ function DaffExternalRouterConfiguration() { }
351
+ if (false) {
352
+ /**
353
+ * The path to redirect to when external route resolution fails.
354
+ * @type {?}
355
+ */
356
+ DaffExternalRouterConfiguration.prototype.failedResolutionPath;
357
+ /**
358
+ * The path to redirect to when the requested URL is not found.
359
+ * @type {?}
360
+ */
361
+ DaffExternalRouterConfiguration.prototype.notFoundResolutionPath;
362
+ }
363
+
364
+ /**
365
+ * @fileoverview added by tsickle
366
+ * Generated from: token/type-resolvable-routes.token.ts
367
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
368
+ */
369
+ /**
370
+ * A multi-token that allows you to register route "types" that correspond to routes.
371
+ * @type {?}
372
+ */
373
+ var DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE = new i0.InjectionToken('DAFF_EXTERNAL_ROUTER_RESOLVABLE_TYPE_ROUTES', {
374
+ providedIn: 'root',
375
+ factory: ( /**
376
+ * @return {?}
377
+ */function () { return []; }),
378
+ });
379
+ /**
380
+ * A provider used to connect a type to a route to enable dynamic route resolution at runtime.
381
+ * @param {?} typeRoutePair
382
+ * @return {?}
383
+ */
384
+ function daffProvideRouteResolvableByType(typeRoutePair) {
385
+ return {
386
+ provide: DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE,
387
+ multi: true,
388
+ useValue: typeRoutePair,
389
+ };
390
+ }
391
+ /**
392
+ * A multi-provider used to connect an array of types to their respective routes.
393
+ * @param {?} routes
394
+ * @return {?}
395
+ */
396
+ function daffProvideRoutesResolvableByType(routes) {
397
+ return routes.map(( /**
398
+ * @param {?} route
399
+ * @return {?}
400
+ */function (route) { return ({
401
+ provide: DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE,
402
+ multi: true,
403
+ useValue: route,
404
+ }); }));
405
+ }
406
+
407
+ /**
408
+ * The external `DaffExternalRouterModule` allows you to configure the
409
+ * `\@daffodil/external-router` package's behavior.
410
+ */
411
+ var DaffExternalRouterModule = /** @class */ (function () {
412
+ function DaffExternalRouterModule() {
413
+ }
414
+ /**
415
+ * @param {?} config
416
+ * @param {?=} routes
417
+ * @return {?}
418
+ */
419
+ DaffExternalRouterModule.forRoot = function (config, routes) {
420
+ if (routes === void 0) { routes = []; }
421
+ return {
422
+ ngModule: DaffExternalRouterModule,
423
+ providers: __spread([
424
+ { provide: DAFF_EXTERNAL_ROUTER_CONFIG, useValue: Object.assign(Object.assign({}, daffExternalRouterConfigurationDefault), config) }
425
+ ], daffProvideRoutesResolvableByType(routes)),
426
+ };
427
+ };
428
+ return DaffExternalRouterModule;
429
+ }());
430
+ DaffExternalRouterModule.decorators = [
431
+ { type: i0.NgModule, args: [{
432
+ declarations: [],
433
+ imports: [common.CommonModule],
434
+ },] }
435
+ ];
436
+
437
+ /**
438
+ * An error thrown when there was no wildcard route found in configuration
439
+ * of the Angular Router.
440
+ */
441
+ var DaffExternalRouterNoWildcardError = /** @class */ (function (_super) {
442
+ __extends(DaffExternalRouterNoWildcardError, _super);
443
+ /**
444
+ * @param {?=} message
445
+ */
446
+ function DaffExternalRouterNoWildcardError(message) {
447
+ var _this = _super.call(this, message) || this;
448
+ _this.code = 'NO_WILDCARD_ROUTE';
449
+ return _this;
450
+ }
451
+ return DaffExternalRouterNoWildcardError;
452
+ }(core.DaffInheritableError));
453
+ if (false) {
454
+ /** @type {?} */
455
+ DaffExternalRouterNoWildcardError.prototype.code;
456
+ }
457
+
458
+ /**
459
+ * An error thrown when there is a failure matching a configured route to a
460
+ * route type.
461
+ */
462
+ var DaffExternalRouterUnknownRouteTypeError = /** @class */ (function (_super) {
463
+ __extends(DaffExternalRouterUnknownRouteTypeError, _super);
464
+ /**
465
+ * @param {?=} message
466
+ */
467
+ function DaffExternalRouterUnknownRouteTypeError(message) {
468
+ var _this = _super.call(this, message) || this;
469
+ _this.code = 'UNKNOWN_ROUTE_TYPE';
470
+ return _this;
471
+ }
472
+ return DaffExternalRouterUnknownRouteTypeError;
473
+ }(core.DaffInheritableError));
474
+ if (false) {
475
+ /** @type {?} */
476
+ DaffExternalRouterUnknownRouteTypeError.prototype.code;
477
+ }
478
+
479
+ /**
480
+ * @fileoverview added by tsickle
481
+ * Generated from: transform/resolved-route-to-route.ts
482
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
483
+ */
484
+ /**
485
+ * Transforms a DaffExternallyResolvableUrl into an Angular Route.
486
+ * @type {?}
487
+ */
488
+ var daffTransformResolvedRouteToRoute = ( /**
489
+ * @param {?} resolvedRoute
490
+ * @param {?} availableTypes
491
+ * @return {?}
492
+ */function (resolvedRoute, availableTypes) {
493
+ /** @type {?} */
494
+ var routeType = availableTypes
495
+ .filter(( /**
496
+ * @param {?} t
497
+ * @return {?}
498
+ */function (/**
499
+ * @param {?} t
500
+ * @return {?}
501
+ */ t) { return t.type === resolvedRoute.type; }))
502
+ .shift();
503
+ if (!routeType) {
504
+ throw new DaffExternalRouterUnknownRouteTypeError("Unable to resolve the route '" + resolvedRoute.url + "'. Its type is '" + resolvedRoute.type + "' but a matching route wasn't found.");
505
+ }
506
+ return {
507
+ route: Object.assign(Object.assign({ path: resolvedRoute.url }, routeType.route), { data: Object.assign({ daffExternalRouteType: resolvedRoute.type }, routeType.route.data) }),
508
+ insertionStrategy: routeType.insertionStrategy,
509
+ };
510
+ });
511
+
512
+ /**
513
+ * Inserts a Route into Routes right before the wildcard route.
514
+ * If no wildcard is found, it fails fast with a `DaffExternalRouterNoWildcardError`.
515
+ * @type {?}
516
+ */
517
+ var daffInsertRouteBeforeWildCardStrategy = ( /**
518
+ * @param {?} route
519
+ * @param {?} routes
520
+ * @return {?}
521
+ */function (route, routes) {
522
+ /** @type {?} */
523
+ var index = routes.findIndex(( /**
524
+ * @param {?} r
525
+ * @return {?}
526
+ */function (r) { return r.path === '**'; }));
527
+ if (index === -1) {
528
+ throw new DaffExternalRouterNoWildcardError('No wildcard (**) route was found during route resolution.');
529
+ }
530
+ return __spread(routes.slice(0, index), [
531
+ route
532
+ ], routes.slice(index));
533
+ });
534
+
535
+ /**
536
+ * @fileoverview added by tsickle
537
+ * Generated from: router/router.service.ts
538
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
539
+ */
540
+ var DaffExternalRouter = /** @class */ (function () {
541
+ /**
542
+ * @param {?} router
543
+ * @param {?} runtimeRoutes
544
+ */
545
+ function DaffExternalRouter(router, runtimeRoutes) {
546
+ this.router = router;
547
+ this.runtimeRoutes = runtimeRoutes;
548
+ }
549
+ /**
550
+ * Adds a route to the existing router configuration.
551
+ * @param {?} resolvedRoute
552
+ * @return {?}
553
+ */
554
+ DaffExternalRouter.prototype.add = function (resolvedRoute) {
555
+ //Get the route.
556
+ var _a = daffTransformResolvedRouteToRoute(resolvedRoute, this.runtimeRoutes), route = _a.route, insertionStrategy = _a.insertionStrategy;
557
+ try {
558
+ //Add it to configuration.
559
+ this.router.config = (insertionStrategy || daffInsertRouteBeforeWildCardStrategy)(route, this.router.config);
560
+ }
561
+ catch (e) {
562
+ if (e instanceof DaffExternalRouterNoWildcardError) {
563
+ throw new DaffExternalRouterNoWildcardError(e.message + " This usually means you have misconfigured your routes.");
564
+ }
565
+ throw e;
566
+ }
567
+ };
568
+ return DaffExternalRouter;
569
+ }());
570
+ DaffExternalRouter.decorators = [
571
+ { type: i0.Injectable, args: [{
572
+ providedIn: 'root',
573
+ },] }
574
+ ];
575
+ /** @nocollapse */
576
+ DaffExternalRouter.ctorParameters = function () { return [
577
+ { type: i1.Router },
578
+ { type: Array, decorators: [{ type: i0.Inject, args: [DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE,] }] }
579
+ ]; };
580
+ /** @nocollapse */ DaffExternalRouter.ɵprov = i0.ɵɵdefineInjectable({ factory: function DaffExternalRouter_Factory() { return new DaffExternalRouter(i0.ɵɵinject(i1.Router), i0.ɵɵinject(DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE)); }, token: DaffExternalRouter, providedIn: "root" });
581
+ if (false) {
582
+ /**
583
+ * @type {?}
584
+ * @private
585
+ */
586
+ DaffExternalRouter.prototype.router;
587
+ /**
588
+ * @type {?}
589
+ * @private
590
+ */
591
+ DaffExternalRouter.prototype.runtimeRoutes;
592
+ }
593
+
594
+ /**
595
+ * @fileoverview added by tsickle
596
+ * Generated from: router/strategies/insert-data-path.ts
597
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
598
+ */
599
+ /**
600
+ * Tests whether or not a route matches a specific Daffodil Route type.
601
+ *
602
+ * See {\@link DaffRouteWithDataPath}
603
+ * @type {?}
604
+ */
605
+ var routeMatchesRouteType = ( /**
606
+ * @param {?} route
607
+ * @param {?} type
608
+ * @return {?}
609
+ */function (route, type) { var _a; return ((_a = route === null || route === void 0 ? void 0 : route.data) === null || _a === void 0 ? void 0 : _a.daffExternalRouteType) === type; });
610
+ var ɵ0 = routeMatchesRouteType;
611
+ /**
612
+ * Adds a path to the `daffPaths` of the given route.
613
+ *
614
+ * See {\@link DaffRouteWithDataPath}
615
+ * @type {?}
616
+ */
617
+ var addRouteToDaffPaths = ( /**
618
+ * @param {?} route
619
+ * @param {?} path
620
+ * @return {?}
621
+ */function (route, path) {
622
+ var _b;
623
+ return route.data.daffPaths = Object.assign(Object.assign({}, route.data.daffPaths), (_b = {}, _b[path] = path, _b));
624
+ });
625
+ var ɵ1 = addRouteToDaffPaths;
626
+ /** @type {?} */
627
+ var operateOnRoute = ( /**
628
+ * @param {?} externalRoute
629
+ * @return {?}
630
+ */function (externalRoute) { return ( /**
631
+ * @param {?} route
632
+ * @return {?}
633
+ */function (route) { return addRouteToDaffPaths(route, externalRoute.path); }); });
634
+ var ɵ2 = operateOnRoute;
635
+ /**
636
+ * Traverse the router config tree, halting after the first match.
637
+ * This traversal is implemented in a pre-order manner. As such, for large
638
+ * configuration trees, it will be most efficient to place externally routed
639
+ * components at the top of router configuration.
640
+ * @type {?}
641
+ */
642
+ var traverseRouteTree = ( /**
643
+ * @param {?=} routes
644
+ * @param {?=} matcher
645
+ * @param {?=} operate
646
+ * @return {?}
647
+ */function (routes, matcher, operate) {
648
+ if (routes === void 0) { routes = []; }
649
+ if (routes.length === 0) {
650
+ return routes;
651
+ }
652
+ /** @type {?} */
653
+ var stack = [];
654
+ /** @type {?} */
655
+ var treeRoot = { children: routes };
656
+ stack.push(treeRoot);
657
+ while (stack.length) {
658
+ /** @type {?} */
659
+ var route = stack.pop();
660
+ if (matcher(route)) {
661
+ operate(route);
662
+ break;
663
+ }
664
+ if (route.children) {
665
+ stack.push.apply(stack, __spread(route.children.reverse()));
666
+ }
667
+ }
668
+ return routes;
669
+ });
670
+ var ɵ3 = traverseRouteTree;
671
+ /**
672
+ * A route insertion strategy that can be used to append external routes onto
673
+ * existing Angular routes. This can be useful when you need to route to
674
+ * an existing lazy-loaded module from multiple externally defined urls.
675
+ *
676
+ * This should be used in combination with the {\@link daffDataPathUrlMatcher} to match lazy-loaded modules with
677
+ * associated external urls.
678
+ *
679
+ * For example, you can provide the insertion strategy in the {\@link DaffExternalRouterModule} as below.
680
+ *
681
+ * ```ts
682
+ * DaffExternalRouterModule.forRoot({}, [
683
+ * {
684
+ * type: 'CATEGORY',
685
+ * insertionStrategy: daffInsertDataPathStrategy,
686
+ * route: {}
687
+ * }
688
+ * ],
689
+ * ```
690
+ *
691
+ * Then, you can match it with an associated route defined in your Routing
692
+ * configuration with the {\@link daffDataPathUrlMatcher}.
693
+ *
694
+ * ```ts
695
+ * export const routes: Routes = [
696
+ * {
697
+ * matcher: daffDataPathUrlMatcher,
698
+ * data: {
699
+ * daffExternalRouteType: "CATEGORY",
700
+ * },
701
+ * loadChildren: () => import('./category/category.module').then((m) => m.MyCategoryModule),
702
+ * }
703
+ * ]
704
+ * ```
705
+ *
706
+ * See {\@link DaffRouteWithDataPath}
707
+ *
708
+ * @type {?}
709
+ */
710
+ var daffInsertDataPathStrategy = ( /**
711
+ * @param {?} externalRoute
712
+ * @param {?} routes
713
+ * @return {?}
714
+ */function (externalRoute, routes) { return traverseRouteTree(routes, ( /**
715
+ * @param {?} route
716
+ * @return {?}
717
+ */function (route) { var _a; return routeMatchesRouteType(route, (_a = externalRoute.data) === null || _a === void 0 ? void 0 : _a.daffExternalRouteType); }), operateOnRoute(externalRoute)); });
718
+
719
+ /**
720
+ * @fileoverview added by tsickle
721
+ * Generated from: router/url-matcher/data-path-matcher.ts
722
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
723
+ */
724
+ /**
725
+ * A UrlMatcher that does an exact match against a path stored in the special
726
+ * configuration fields that External Router stores on a Route's data.
727
+ *
728
+ * ```ts
729
+ * export const routes: Routes = [
730
+ * {
731
+ * matcher: daffDataPathUrlMatcher,
732
+ * data: {
733
+ * daffExternalRouteType: "CATEGORY",
734
+ * },
735
+ * loadChildren: () => import('./category/category.module').then((m) => m.ShopCategoryModule),
736
+ * }
737
+ * ]
738
+ * ```
739
+ * {\@link daffInsertDataPathStrategy }
740
+ * {\@link DaffRouteWithDataPath }
741
+ * @type {?}
742
+ */
743
+ var daffDataPathUrlMatcher = ( /**
744
+ * @param {?} segments
745
+ * @param {?} group
746
+ * @param {?} route
747
+ * @return {?}
748
+ */function (segments, group, route) {
749
+ var _a;
750
+ /** @type {?} */
751
+ var path = routing.daffUriTruncateLeadingSlash(segments.reduce(( /**
752
+ * @param {?} acc
753
+ * @param {?} segment
754
+ * @return {?}
755
+ */function (acc, segment) { return acc + '/' + segment.path; }), ''));
756
+ /** @type {?} */
757
+ var paths = (_a = route === null || route === void 0 ? void 0 : route.data) === null || _a === void 0 ? void 0 : _a.daffPaths;
758
+ // If we don't have any paths, we can safely fail a match.
759
+ if (!paths) {
760
+ return null;
761
+ }
762
+ // Otherwise, look up the path in the dictionary, failing if a match isn't found,
763
+ // but matching the entire segment if a match is found.
764
+ return path in paths ? { consumed: segments } : null;
765
+ });
766
+
767
+ /**
768
+ * @fileoverview added by tsickle
769
+ * Generated from: public_api.ts
770
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
771
+ */
772
+
773
+ /**
774
+ * @fileoverview added by tsickle
775
+ * Generated from: daffodil-external-router.ts
776
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
777
+ */
778
+
779
+ exports.DAFF_EXTERNAL_ROUTER_CONFIG = DAFF_EXTERNAL_ROUTER_CONFIG;
780
+ exports.DaffExternalRouter = DaffExternalRouter;
781
+ exports.DaffExternalRouterModule = DaffExternalRouterModule;
782
+ exports.DaffExternalRouterNoWildcardError = DaffExternalRouterNoWildcardError;
783
+ exports.DaffExternalRouterUnknownRouteTypeError = DaffExternalRouterUnknownRouteTypeError;
784
+ exports.daffDataPathUrlMatcher = daffDataPathUrlMatcher;
785
+ exports.daffInsertDataPathStrategy = daffInsertDataPathStrategy;
786
+ exports.daffInsertRouteBeforeWildCardStrategy = daffInsertRouteBeforeWildCardStrategy;
787
+ exports.daffProvideRouteResolvableByType = daffProvideRouteResolvableByType;
788
+ exports.ɵa = DAFF_EXTERNAL_ROUTER_ROUTES_RESOLVABLE_BY_TYPE;
789
+ exports.ɵb = daffProvideRoutesResolvableByType;
790
+
791
+ Object.defineProperty(exports, '__esModule', { value: true });
792
+
793
+ })));
794
+ //# sourceMappingURL=daffodil-external-router.umd.js.map