Combine the array-like and ArrayBuffer branches, when handling binary data, in getDocument
				
					
				
			This commit is contained in:
		
							parent
							
								
									e09ad99973
								
							
						
					
					
						commit
						99cfab18c1
					
				| @ -281,20 +281,20 @@ function getDocument(src) { | ||||
|     worker = null; | ||||
| 
 | ||||
|   for (const key in source) { | ||||
|     const value = source[key]; | ||||
|     const val = source[key]; | ||||
| 
 | ||||
|     switch (key) { | ||||
|       case "url": | ||||
|         if (typeof window !== "undefined") { | ||||
|           try { | ||||
|             // The full path is required in the 'url' field.
 | ||||
|             params[key] = new URL(value, window.location).href; | ||||
|             params[key] = new URL(val, window.location).href; | ||||
|             continue; | ||||
|           } catch (ex) { | ||||
|             warn(`Cannot create valid URL: "${ex}".`); | ||||
|           } | ||||
|         } else if (typeof value === "string" || value instanceof URL) { | ||||
|           params[key] = value.toString(); // Support Node.js environments.
 | ||||
|         } else if (typeof val === "string" || val instanceof URL) { | ||||
|           params[key] = val.toString(); // Support Node.js environments.
 | ||||
|           continue; | ||||
|         } | ||||
|         throw new Error( | ||||
| @ -302,10 +302,10 @@ function getDocument(src) { | ||||
|             "either string or URL-object is expected in the url property." | ||||
|         ); | ||||
|       case "range": | ||||
|         rangeTransport = value; | ||||
|         rangeTransport = val; | ||||
|         continue; | ||||
|       case "worker": | ||||
|         worker = value; | ||||
|         worker = val; | ||||
|         continue; | ||||
|       case "data": | ||||
|         // Converting string or array-like data to Uint8Array.
 | ||||
| @ -314,21 +314,18 @@ function getDocument(src) { | ||||
|           PDFJSDev.test("GENERIC") && | ||||
|           isNodeJS && | ||||
|           typeof Buffer !== "undefined" && // eslint-disable-line no-undef
 | ||||
|           value instanceof Buffer // eslint-disable-line no-undef
 | ||||
|           val instanceof Buffer // eslint-disable-line no-undef
 | ||||
|         ) { | ||||
|           params[key] = new Uint8Array(value); | ||||
|         } else if (value instanceof Uint8Array) { | ||||
|           params[key] = new Uint8Array(val); | ||||
|         } else if (val instanceof Uint8Array) { | ||||
|           break; // Use the data as-is when it's already a Uint8Array.
 | ||||
|         } else if (typeof value === "string") { | ||||
|           params[key] = stringToBytes(value); | ||||
|         } else if (typeof val === "string") { | ||||
|           params[key] = stringToBytes(val); | ||||
|         } else if ( | ||||
|           typeof value === "object" && | ||||
|           value !== null && | ||||
|           !isNaN(value.length) | ||||
|           (typeof val === "object" && val !== null && !isNaN(val.length)) || | ||||
|           isArrayBuffer(val) | ||||
|         ) { | ||||
|           params[key] = new Uint8Array(value); | ||||
|         } else if (isArrayBuffer(value)) { | ||||
|           params[key] = new Uint8Array(value); | ||||
|           params[key] = new Uint8Array(val); | ||||
|         } else { | ||||
|           throw new Error( | ||||
|             "Invalid PDF binary data: either TypedArray, " + | ||||
| @ -337,7 +334,7 @@ function getDocument(src) { | ||||
|         } | ||||
|         continue; | ||||
|     } | ||||
|     params[key] = value; | ||||
|     params[key] = val; | ||||
|   } | ||||
| 
 | ||||
|   params.CMapReaderFactory = | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user