Replace some assert usage with unreachable in the src/shared/util.js file
				
					
				
			Inlining the checks should be a *tiny bit* more efficient, since it avoids have to make *unconditional* function calls in these fairly commonly used helper functions.
This commit is contained in:
		
							parent
							
								
									e0032811cd
								
							
						
					
					
						commit
						0e1b93bf20
					
				| @ -576,10 +576,13 @@ class AbortException extends BaseException { | ||||
| } | ||||
| 
 | ||||
| function bytesToString(bytes) { | ||||
|   assert( | ||||
|     bytes !== null && typeof bytes === "object" && bytes.length !== undefined, | ||||
|     "Invalid argument for bytesToString" | ||||
|   ); | ||||
|   if ( | ||||
|     typeof bytes !== "object" || | ||||
|     bytes === null || | ||||
|     bytes.length === undefined | ||||
|   ) { | ||||
|     unreachable("Invalid argument for bytesToString"); | ||||
|   } | ||||
|   const length = bytes.length; | ||||
|   const MAX_ARGUMENT_COUNT = 8192; | ||||
|   if (length < MAX_ARGUMENT_COUNT) { | ||||
| @ -595,7 +598,9 @@ function bytesToString(bytes) { | ||||
| } | ||||
| 
 | ||||
| function stringToBytes(str) { | ||||
|   assert(typeof str === "string", "Invalid argument for stringToBytes"); | ||||
|   if (typeof str !== "string") { | ||||
|     unreachable("Invalid argument for stringToBytes"); | ||||
|   } | ||||
|   const length = str.length; | ||||
|   const bytes = new Uint8Array(length); | ||||
|   for (let i = 0; i < length; ++i) { | ||||
| @ -609,12 +614,15 @@ function stringToBytes(str) { | ||||
|  * @param {Array<any>|Uint8Array|string} arr | ||||
|  * @returns {number} | ||||
|  */ | ||||
| // eslint-disable-next-line consistent-return
 | ||||
| function arrayByteLength(arr) { | ||||
|   if (arr.length !== undefined) { | ||||
|     return arr.length; | ||||
|   } | ||||
|   assert(arr.byteLength !== undefined, "arrayByteLength - invalid argument."); | ||||
|   return arr.byteLength; | ||||
|   if (arr.byteLength !== undefined) { | ||||
|     return arr.byteLength; | ||||
|   } | ||||
|   unreachable("Invalid argument for arrayByteLength"); | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user