initial commit
This commit is contained in:
		
							
								
								
									
										2
									
								
								node_modules/balanced-match/.github/FUNDING.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								node_modules/balanced-match/.github/FUNDING.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| tidelift: "npm/balanced-match" | ||||
| patreon: juliangruber | ||||
							
								
								
									
										21
									
								
								node_modules/balanced-match/LICENSE.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								node_modules/balanced-match/LICENSE.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| (MIT) | ||||
|  | ||||
| Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy of | ||||
| this software and associated documentation files (the "Software"), to deal in | ||||
| the Software without restriction, including without limitation the rights to | ||||
| use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies | ||||
| of the Software, and to permit persons to whom the Software is furnished to do | ||||
| so, subject to the following conditions: | ||||
|  | ||||
| The above copyright notice and this permission notice shall be included in all | ||||
| copies or substantial portions of the Software. | ||||
|  | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| SOFTWARE. | ||||
							
								
								
									
										97
									
								
								node_modules/balanced-match/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								node_modules/balanced-match/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,97 @@ | ||||
| # balanced-match | ||||
|  | ||||
| Match balanced string pairs, like `{` and `}` or `<b>` and `</b>`. Supports regular expressions as well! | ||||
|  | ||||
| [](http://travis-ci.org/juliangruber/balanced-match) | ||||
| [](https://www.npmjs.org/package/balanced-match) | ||||
|  | ||||
| [](https://ci.testling.com/juliangruber/balanced-match) | ||||
|  | ||||
| ## Example | ||||
|  | ||||
| Get the first matching pair of braces: | ||||
|  | ||||
| ```js | ||||
| var balanced = require('balanced-match'); | ||||
|  | ||||
| console.log(balanced('{', '}', 'pre{in{nested}}post')); | ||||
| console.log(balanced('{', '}', 'pre{first}between{second}post')); | ||||
| console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre  {   in{nest}   }  post')); | ||||
| ``` | ||||
|  | ||||
| The matches are: | ||||
|  | ||||
| ```bash | ||||
| $ node example.js | ||||
| { start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' } | ||||
| { start: 3, | ||||
|   end: 9, | ||||
|   pre: 'pre', | ||||
|   body: 'first', | ||||
|   post: 'between{second}post' } | ||||
| { start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' } | ||||
| ``` | ||||
|  | ||||
| ## API | ||||
|  | ||||
| ### var m = balanced(a, b, str) | ||||
|  | ||||
| For the first non-nested matching pair of `a` and `b` in `str`, return an | ||||
| object with those keys: | ||||
|  | ||||
| * **start** the index of the first match of `a` | ||||
| * **end** the index of the matching `b` | ||||
| * **pre** the preamble, `a` and `b` not included | ||||
| * **body** the match, `a` and `b` not included | ||||
| * **post** the postscript, `a` and `b` not included | ||||
|  | ||||
| If there's no match, `undefined` will be returned. | ||||
|  | ||||
| If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`. | ||||
|  | ||||
| ### var r = balanced.range(a, b, str) | ||||
|  | ||||
| For the first non-nested matching pair of `a` and `b` in `str`, return an | ||||
| array with indexes: `[ <a index>, <b index> ]`. | ||||
|  | ||||
| If there's no match, `undefined` will be returned. | ||||
|  | ||||
| If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`. | ||||
|  | ||||
| ## Installation | ||||
|  | ||||
| With [npm](https://npmjs.org) do: | ||||
|  | ||||
| ```bash | ||||
| npm install balanced-match | ||||
| ``` | ||||
|  | ||||
| ## Security contact information | ||||
|  | ||||
| To report a security vulnerability, please use the | ||||
| [Tidelift security contact](https://tidelift.com/security). | ||||
| Tidelift will coordinate the fix and disclosure. | ||||
|  | ||||
| ## License | ||||
|  | ||||
| (MIT) | ||||
|  | ||||
| Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy of | ||||
| this software and associated documentation files (the "Software"), to deal in | ||||
| the Software without restriction, including without limitation the rights to | ||||
| use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies | ||||
| of the Software, and to permit persons to whom the Software is furnished to do | ||||
| so, subject to the following conditions: | ||||
|  | ||||
| The above copyright notice and this permission notice shall be included in all | ||||
| copies or substantial portions of the Software. | ||||
|  | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| SOFTWARE. | ||||
							
								
								
									
										62
									
								
								node_modules/balanced-match/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								node_modules/balanced-match/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,62 @@ | ||||
| 'use strict'; | ||||
| module.exports = balanced; | ||||
| function balanced(a, b, str) { | ||||
|   if (a instanceof RegExp) a = maybeMatch(a, str); | ||||
|   if (b instanceof RegExp) b = maybeMatch(b, str); | ||||
|  | ||||
|   var r = range(a, b, str); | ||||
|  | ||||
|   return r && { | ||||
|     start: r[0], | ||||
|     end: r[1], | ||||
|     pre: str.slice(0, r[0]), | ||||
|     body: str.slice(r[0] + a.length, r[1]), | ||||
|     post: str.slice(r[1] + b.length) | ||||
|   }; | ||||
| } | ||||
|  | ||||
| function maybeMatch(reg, str) { | ||||
|   var m = str.match(reg); | ||||
|   return m ? m[0] : null; | ||||
| } | ||||
|  | ||||
| balanced.range = range; | ||||
| function range(a, b, str) { | ||||
|   var begs, beg, left, right, result; | ||||
|   var ai = str.indexOf(a); | ||||
|   var bi = str.indexOf(b, ai + 1); | ||||
|   var i = ai; | ||||
|  | ||||
|   if (ai >= 0 && bi > 0) { | ||||
|     if(a===b) { | ||||
|       return [ai, bi]; | ||||
|     } | ||||
|     begs = []; | ||||
|     left = str.length; | ||||
|  | ||||
|     while (i >= 0 && !result) { | ||||
|       if (i == ai) { | ||||
|         begs.push(i); | ||||
|         ai = str.indexOf(a, i + 1); | ||||
|       } else if (begs.length == 1) { | ||||
|         result = [ begs.pop(), bi ]; | ||||
|       } else { | ||||
|         beg = begs.pop(); | ||||
|         if (beg < left) { | ||||
|           left = beg; | ||||
|           right = bi; | ||||
|         } | ||||
|  | ||||
|         bi = str.indexOf(b, i + 1); | ||||
|       } | ||||
|  | ||||
|       i = ai < bi && ai >= 0 ? ai : bi; | ||||
|     } | ||||
|  | ||||
|     if (begs.length) { | ||||
|       result = [ left, right ]; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   return result; | ||||
| } | ||||
							
								
								
									
										48
									
								
								node_modules/balanced-match/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								node_modules/balanced-match/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| { | ||||
|   "name": "balanced-match", | ||||
|   "description": "Match balanced character pairs, like \"{\" and \"}\"", | ||||
|   "version": "1.0.2", | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "git://github.com/juliangruber/balanced-match.git" | ||||
|   }, | ||||
|   "homepage": "https://github.com/juliangruber/balanced-match", | ||||
|   "main": "index.js", | ||||
|   "scripts": { | ||||
|     "test": "tape test/test.js", | ||||
|     "bench": "matcha test/bench.js" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "matcha": "^0.7.0", | ||||
|     "tape": "^4.6.0" | ||||
|   }, | ||||
|   "keywords": [ | ||||
|     "match", | ||||
|     "regexp", | ||||
|     "test", | ||||
|     "balanced", | ||||
|     "parse" | ||||
|   ], | ||||
|   "author": { | ||||
|     "name": "Julian Gruber", | ||||
|     "email": "mail@juliangruber.com", | ||||
|     "url": "http://juliangruber.com" | ||||
|   }, | ||||
|   "license": "MIT", | ||||
|   "testling": { | ||||
|     "files": "test/*.js", | ||||
|     "browsers": [ | ||||
|       "ie/8..latest", | ||||
|       "firefox/20..latest", | ||||
|       "firefox/nightly", | ||||
|       "chrome/25..latest", | ||||
|       "chrome/canary", | ||||
|       "opera/12..latest", | ||||
|       "opera/next", | ||||
|       "safari/5.1..latest", | ||||
|       "ipad/6.0..latest", | ||||
|       "iphone/6.0..latest", | ||||
|       "android-browser/4.2..latest" | ||||
|     ] | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user