You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							31 lines
						
					
					
						
							782 B
						
					
					
				
			
		
		
	
	
							31 lines
						
					
					
						
							782 B
						
					
					
				'use strict'; | 
						|
 | 
						|
var GetIntrinsic = require('get-intrinsic'); | 
						|
var callBound = require('call-bind/callBound'); | 
						|
 | 
						|
var $fromCharCode = GetIntrinsic('%String.fromCharCode%'); | 
						|
var $TypeError = GetIntrinsic('%TypeError%'); | 
						|
var $charCodeAt = callBound('%String.prototype.charCodeAt%'); | 
						|
var $push = callBound('%Array.prototype.push%'); | 
						|
 | 
						|
module.exports = function CharacterRange(A, B) { | 
						|
	if (A.length !== 1 || B.length !== 1) { | 
						|
		throw new $TypeError('Assertion failed: CharSets A and B contain exactly one character'); | 
						|
	} | 
						|
 | 
						|
	var a = A[0]; | 
						|
	var b = B[0]; | 
						|
 | 
						|
	var i = $charCodeAt(a, 0); | 
						|
	var j = $charCodeAt(b, 0); | 
						|
 | 
						|
	if (!(i <= j)) { | 
						|
		throw new $TypeError('Assertion failed: i is not <= j'); | 
						|
	} | 
						|
 | 
						|
	var arr = []; | 
						|
	for (var k = i; k <= j; k += 1) { | 
						|
		$push(arr, $fromCharCode(k)); | 
						|
	} | 
						|
	return arr; | 
						|
};
 | 
						|
 |