* Repeat the traversal until a sub-traversal returns at least one result, or a certain number of times have been repeated. * @param getTraversal A function that returns the traversal to repeat.
(getTraversal: TGetTraversal)
| 787 | * @param getTraversal A function that returns the traversal to repeat. |
| 788 | */ |
| 789 | public repeat< |
| 790 | const TGetTraversal extends ( |
| 791 | parent: VertexTraversal<TSchema, ReplaceRootTraversalPath<TPath, undefined>>, |
| 792 | ) => VertexTraversal<TSchema, any>, |
| 793 | >(getTraversal: TGetTraversal) { |
| 794 | return new RepeatVertexTraversal< |
| 795 | TSchema, |
| 796 | RepeatVertexTraversalPaths<TPath, PathFromTraversal<ReturnType<TGetTraversal>>> |
| 797 | >(this.graph, [ |
| 798 | ...this.steps, |
| 799 | new RepeatStep( |
| 800 | {}, |
| 801 | getTraversal( |
| 802 | new VertexTraversal<TSchema, ReplaceRootTraversalPath<TPath, undefined>>(this.graph, []), |
| 803 | ).steps, |
| 804 | ), |
| 805 | ]); |
| 806 | } |
| 807 | |
| 808 | /** |
| 809 | * Start a shortest path traversal. |
no outgoing calls
no test coverage detected