(node: Element)
| 43 | * Note: routes without a component are ignored together with their children. |
| 44 | */ |
| 45 | export const readRouteNodes = (node: Element): RouteTree => { |
| 46 | return (Array.from(node.children) as HTMLIonRouteElement[]) |
| 47 | .filter((el) => el.tagName === 'ION-ROUTE' && el.component) |
| 48 | .map((el) => { |
| 49 | const component = readProp(el, 'component') as string; |
| 50 | return { |
| 51 | segments: parsePath(readProp(el, 'url')).segments, |
| 52 | id: component.toLowerCase(), |
| 53 | params: el.componentProps, |
| 54 | beforeLeave: el.beforeLeave, |
| 55 | beforeEnter: el.beforeEnter, |
| 56 | children: readRouteNodes(el), |
| 57 | }; |
| 58 | }); |
| 59 | }; |
| 60 | |
| 61 | /** |
| 62 | * Flattens a RouterTree in a list of chains. |
no test coverage detected