mirror of
				https://github.com/1disk/edp445.git
				synced 2024-08-14 22:47:02 +00:00 
			
		
		
		
	added a few messages that the bot would respond to
This commit is contained in:
		
							parent
							
								
									c63d9a6e13
								
							
						
					
					
						commit
						de29e2769c
					
				
					 384 changed files with 56249 additions and 43 deletions
				
			
		
							
								
								
									
										162
									
								
								node_modules/range-parser/index.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								node_modules/range-parser/index.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,162 @@ | |||
| /*! | ||||
|  * range-parser | ||||
|  * Copyright(c) 2012-2014 TJ Holowaychuk | ||||
|  * Copyright(c) 2015-2016 Douglas Christopher Wilson | ||||
|  * MIT Licensed | ||||
|  */ | ||||
| 
 | ||||
| 'use strict' | ||||
| 
 | ||||
| /** | ||||
|  * Module exports. | ||||
|  * @public | ||||
|  */ | ||||
| 
 | ||||
| module.exports = rangeParser | ||||
| 
 | ||||
| /** | ||||
|  * Parse "Range" header `str` relative to the given file `size`. | ||||
|  * | ||||
|  * @param {Number} size | ||||
|  * @param {String} str | ||||
|  * @param {Object} [options] | ||||
|  * @return {Array} | ||||
|  * @public | ||||
|  */ | ||||
| 
 | ||||
| function rangeParser (size, str, options) { | ||||
|   if (typeof str !== 'string') { | ||||
|     throw new TypeError('argument str must be a string') | ||||
|   } | ||||
| 
 | ||||
|   var index = str.indexOf('=') | ||||
| 
 | ||||
|   if (index === -1) { | ||||
|     return -2 | ||||
|   } | ||||
| 
 | ||||
|   // split the range string
 | ||||
|   var arr = str.slice(index + 1).split(',') | ||||
|   var ranges = [] | ||||
| 
 | ||||
|   // add ranges type
 | ||||
|   ranges.type = str.slice(0, index) | ||||
| 
 | ||||
|   // parse all ranges
 | ||||
|   for (var i = 0; i < arr.length; i++) { | ||||
|     var range = arr[i].split('-') | ||||
|     var start = parseInt(range[0], 10) | ||||
|     var end = parseInt(range[1], 10) | ||||
| 
 | ||||
|     // -nnn
 | ||||
|     if (isNaN(start)) { | ||||
|       start = size - end | ||||
|       end = size - 1 | ||||
|     // nnn-
 | ||||
|     } else if (isNaN(end)) { | ||||
|       end = size - 1 | ||||
|     } | ||||
| 
 | ||||
|     // limit last-byte-pos to current length
 | ||||
|     if (end > size - 1) { | ||||
|       end = size - 1 | ||||
|     } | ||||
| 
 | ||||
|     // invalid or unsatisifiable
 | ||||
|     if (isNaN(start) || isNaN(end) || start > end || start < 0) { | ||||
|       continue | ||||
|     } | ||||
| 
 | ||||
|     // add range
 | ||||
|     ranges.push({ | ||||
|       start: start, | ||||
|       end: end | ||||
|     }) | ||||
|   } | ||||
| 
 | ||||
|   if (ranges.length < 1) { | ||||
|     // unsatisifiable
 | ||||
|     return -1 | ||||
|   } | ||||
| 
 | ||||
|   return options && options.combine | ||||
|     ? combineRanges(ranges) | ||||
|     : ranges | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Combine overlapping & adjacent ranges. | ||||
|  * @private | ||||
|  */ | ||||
| 
 | ||||
| function combineRanges (ranges) { | ||||
|   var ordered = ranges.map(mapWithIndex).sort(sortByRangeStart) | ||||
| 
 | ||||
|   for (var j = 0, i = 1; i < ordered.length; i++) { | ||||
|     var range = ordered[i] | ||||
|     var current = ordered[j] | ||||
| 
 | ||||
|     if (range.start > current.end + 1) { | ||||
|       // next range
 | ||||
|       ordered[++j] = range | ||||
|     } else if (range.end > current.end) { | ||||
|       // extend range
 | ||||
|       current.end = range.end | ||||
|       current.index = Math.min(current.index, range.index) | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   // trim ordered array
 | ||||
|   ordered.length = j + 1 | ||||
| 
 | ||||
|   // generate combined range
 | ||||
|   var combined = ordered.sort(sortByRangeIndex).map(mapWithoutIndex) | ||||
| 
 | ||||
|   // copy ranges type
 | ||||
|   combined.type = ranges.type | ||||
| 
 | ||||
|   return combined | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Map function to add index value to ranges. | ||||
|  * @private | ||||
|  */ | ||||
| 
 | ||||
| function mapWithIndex (range, index) { | ||||
|   return { | ||||
|     start: range.start, | ||||
|     end: range.end, | ||||
|     index: index | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Map function to remove index value from ranges. | ||||
|  * @private | ||||
|  */ | ||||
| 
 | ||||
| function mapWithoutIndex (range) { | ||||
|   return { | ||||
|     start: range.start, | ||||
|     end: range.end | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Sort function to sort ranges by index. | ||||
|  * @private | ||||
|  */ | ||||
| 
 | ||||
| function sortByRangeIndex (a, b) { | ||||
|   return a.index - b.index | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Sort function to sort ranges by start position. | ||||
|  * @private | ||||
|  */ | ||||
| 
 | ||||
| function sortByRangeStart (a, b) { | ||||
|   return a.start - b.start | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue