| '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; | 
| }; |