fix(core): update
This commit is contained in:
		
							
								
								
									
										3114
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										3114
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										16
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								package.json
									
									
									
									
									
								
							| @@ -13,22 +13,20 @@ | ||||
|     "build": "(tsbuild --web --allowimplicitany && tsbundle npm)" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@gitzone/tsbuild": "^2.1.63", | ||||
|     "@gitzone/tsbundle": "^2.0.6", | ||||
|     "@gitzone/tstest": "^1.0.72", | ||||
|     "@pushrocks/smartexpress": "^4.0.5", | ||||
|     "@gitzone/tsbuild": "^2.1.65", | ||||
|     "@gitzone/tsbundle": "^2.0.7", | ||||
|     "@gitzone/tstest": "^1.0.73", | ||||
|     "@pushrocks/smartexpress": "^4.0.21", | ||||
|     "@pushrocks/tapbundle": "^5.0.4", | ||||
|     "@types/node": "^18.6.2", | ||||
|     "tslint": "^6.1.3", | ||||
|     "tslint-config-prettier": "^1.18.0" | ||||
|     "@types/node": "^18.6.4" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "@adobe/helix-fetch": "^3.1.1", | ||||
|     "@pushrocks/smartdelay": "^2.0.13", | ||||
|     "@pushrocks/smartenv": "^5.0.2", | ||||
|     "@pushrocks/smartjson": "^5.0.1", | ||||
|     "@pushrocks/smartpromise": "^3.1.7", | ||||
|     "@pushrocks/webstore": "^2.0.4", | ||||
|     "node-fetch": "^2.6.7" | ||||
|     "@pushrocks/webstore": "^2.0.5" | ||||
|   }, | ||||
|   "files": [ | ||||
|     "ts/**/*", | ||||
|   | ||||
| @@ -3,6 +3,6 @@ | ||||
|  */ | ||||
| export const commitinfo = { | ||||
|   name: '@pushrocks/webrequest', | ||||
|   version: '3.0.10', | ||||
|   version: '3.0.11', | ||||
|   description: 'securely request from browsers' | ||||
| } | ||||
|   | ||||
							
								
								
									
										28
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								ts/index.ts
									
									
									
									
									
								
							| @@ -9,7 +9,11 @@ export interface IWebrequestContructorOptions { | ||||
|  */ | ||||
| export class WebRequest { | ||||
|   private static polyfillStatusEvaluated = false; | ||||
|   private static neededPolyfillsLoadedDeferred = plugins.smartpromise.defer(); | ||||
|   private static neededPolyfillsLoadedDeferred = plugins.smartpromise.defer<{ | ||||
|     fetch: typeof fetch, | ||||
|     Response: typeof Response, | ||||
|     AbortController: typeof AbortController | ||||
|   }>(); | ||||
|   public static async loadNeededPolyfills() { | ||||
|     if (this.polyfillStatusEvaluated) { | ||||
|       return this.neededPolyfillsLoadedDeferred.promise; | ||||
| @@ -18,11 +22,19 @@ export class WebRequest { | ||||
|     const smartenv = new plugins.smartenv.Smartenv(); | ||||
|     if (!smartenv.isBrowser) { | ||||
|       this.polyfillStatusEvaluated = true; | ||||
|       const fetchMod = await smartenv.getSafeNodeModule('node-fetch'); | ||||
|       globalThis.Response = fetchMod.Response; | ||||
|       globalThis.fetch = fetchMod.default; | ||||
|       const fetchMod = await smartenv.getSafeNodeModule('@adobe/helix-fetch'); | ||||
|       this.neededPolyfillsLoadedDeferred.resolve({ | ||||
|         fetch: fetchMod.fetch, | ||||
|         Response: fetchMod.Response, | ||||
|         AbortController: fetchMod.AbortSignal | ||||
|       }); | ||||
|     } else { | ||||
|       this.neededPolyfillsLoadedDeferred.resolve({ | ||||
|         fetch: globalThis.fetch, | ||||
|         Response: globalThis.Response, | ||||
|         AbortController: globalThis.AbortController | ||||
|       }); | ||||
|     } | ||||
|     this.neededPolyfillsLoadedDeferred.resolve(); | ||||
|   } | ||||
|  | ||||
|   public cacheStore = new plugins.webstore.WebStore({ | ||||
| @@ -103,8 +115,8 @@ export class WebRequest { | ||||
|       timeoutMs?: number; | ||||
|     } | ||||
|   ) { | ||||
|     await WebRequest.neededPolyfillsLoadedDeferred.promise; | ||||
|     const controller = new AbortController(); | ||||
|     const fetchObject = await WebRequest.neededPolyfillsLoadedDeferred.promise; | ||||
|     const controller = new fetchObject.AbortController(); | ||||
|     if (optionsArg.timeoutMs) { | ||||
|       plugins.smartdelay.delayFor(optionsArg.timeoutMs).then(() => { | ||||
|         controller.abort(); | ||||
| @@ -118,7 +130,7 @@ export class WebRequest { | ||||
|     } else { | ||||
|       cachedResponseDeferred.resolve(null); | ||||
|     } | ||||
|     let response: Response = await fetch(urlArg, { | ||||
|     let response: Response = await fetchObject.fetch(urlArg, { | ||||
|       signal: controller.signal, | ||||
|       method: optionsArg.method, | ||||
|       headers: { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user