21 lines
		
	
	
		
			530 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			21 lines
		
	
	
		
			530 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | const is = require('unist-util-is'); | ||
|  | 
 | ||
|  | // TODO: specific tests for this would be nice, even though it is somewhat
 | ||
|  | // covered by the plugins that use it.
 | ||
|  | function splitOnThematicBreak(nodes) { | ||
|  |   return nodes.reduce( | ||
|  |     (prev, curr) => { | ||
|  |       if (is(curr, 'thematicBreak')) { | ||
|  |         return [...prev, []]; | ||
|  |       } else { | ||
|  |         const first = prev.slice(0, -1); | ||
|  |         const last = prev.slice(-1)[0]; | ||
|  |         return [...first, [...last, curr]]; | ||
|  |       } | ||
|  |     }, | ||
|  |     [[]] | ||
|  |   ); | ||
|  | } | ||
|  | 
 | ||
|  | exports.splitOnThematicBreak = splitOnThematicBreak; |