| 'use strict'; | 
|   | 
| var toRegex = require('to-regex'); | 
| var regexNot = require('regex-not'); | 
| var cached; | 
|   | 
| /** | 
|  * Get the last element from `array` | 
|  * @param {Array} `array` | 
|  * @return {*} | 
|  */ | 
|   | 
| exports.last = function(arr) { | 
|   return arr[arr.length - 1]; | 
| }; | 
|   | 
| /** | 
|  * Create and cache regex to use for text nodes | 
|  */ | 
|   | 
| exports.createRegex = function(pattern, include) { | 
|   if (cached) return cached; | 
|   var opts = {contains: true, strictClose: false}; | 
|   var not = regexNot.create(pattern, opts); | 
|   var re; | 
|   | 
|   if (typeof include === 'string') { | 
|     re = toRegex('^(?:' + include + '|' + not + ')', opts); | 
|   } else { | 
|     re = toRegex(not, opts); | 
|   } | 
|   | 
|   return (cached = re); | 
| }; |