Merge pull request #17504 from Snuffleupagus/GlobalWorkerOptions-validate
[api-minor] Validate the `workerPort`/`workerSrc` options
This commit is contained in:
		
						commit
						56ca2fd658
					
				| @ -13,21 +13,52 @@ | |||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | class GlobalWorkerOptions { | ||||||
|  |   static #port = null; | ||||||
|  | 
 | ||||||
|  |   static #src = ""; | ||||||
|  | 
 | ||||||
|   /** |   /** | ||||||
|  * @typedef {Object} GlobalWorkerOptionsType |    * @type {Worker | null} | ||||||
|  * @property {Worker | null} workerPort - Defines global port for worker |  | ||||||
|  *   process. Overrides the `workerSrc` option. |  | ||||||
|  * @property {string} workerSrc - A string containing the path and filename |  | ||||||
|  *   of the worker file. |  | ||||||
|  * |  | ||||||
|  *   NOTE: The `workerSrc` option should always be set, in order to prevent any |  | ||||||
|  *         issues when using the PDF.js library. |  | ||||||
|    */ |    */ | ||||||
|  |   static get workerPort() { | ||||||
|  |     return this.#port; | ||||||
|  |   } | ||||||
| 
 | 
 | ||||||
| /** @type {GlobalWorkerOptionsType} */ |   /** | ||||||
| const GlobalWorkerOptions = Object.create(null); |    * @param {Worker | null} workerPort - Defines global port for worker process. | ||||||
|  |    *   Overrides the `workerSrc` option. | ||||||
|  |    */ | ||||||
|  |   static set workerPort(val) { | ||||||
|  |     if ( | ||||||
|  |       !(typeof Worker !== "undefined" && val instanceof Worker) && | ||||||
|  |       val !== null | ||||||
|  |     ) { | ||||||
|  |       throw new Error("Invalid `workerPort` type."); | ||||||
|  |     } | ||||||
|  |     this.#port = val; | ||||||
|  |   } | ||||||
| 
 | 
 | ||||||
| GlobalWorkerOptions.workerPort = null; |   /** | ||||||
| GlobalWorkerOptions.workerSrc = ""; |    * @type {string} | ||||||
|  |    */ | ||||||
|  |   static get workerSrc() { | ||||||
|  |     return this.#src; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   /** | ||||||
|  |    * @param {string} workerSrc - A string containing the path and filename of | ||||||
|  |    *   the worker file. | ||||||
|  |    * | ||||||
|  |    *   NOTE: The `workerSrc` option should always be set, in order to prevent | ||||||
|  |    *         any issues when using the PDF.js library. | ||||||
|  |    */ | ||||||
|  |   static set workerSrc(val) { | ||||||
|  |     if (typeof val !== "string") { | ||||||
|  |       throw new Error("Invalid `workerSrc` type."); | ||||||
|  |     } | ||||||
|  |     this.#src = val; | ||||||
|  |   } | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| export { GlobalWorkerOptions }; | export { GlobalWorkerOptions }; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user