diff --git a/package.json b/package.json index b7ba8d5..422a1ca 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "index.js", "type": "module", "scripts": { - "build": "deno build.ts --tagName 1.65.1rc0 > ubo.js", + "build": "deno build.ts --tagName 1.65.1rc1 > ubo.js", "test": "node --test" }, "author": { diff --git a/ubo.js b/ubo.js index 7a80fed..b481c65 100644 --- a/ubo.js +++ b/ubo.js @@ -19203,6 +19203,7 @@ function preventFetchFn( responseType = '' ) { const safe = safeSelf(); + const setTimeout = self.setTimeout; const scriptletName = `${trusted ? 'trusted-' : ''}prevent-fetch`; const logPrefix = safe.makeLogPrefix( scriptletName, @@ -19210,6 +19211,7 @@ function preventFetchFn( responseBody, responseType ); + const extraArgs = safe.getExtraArgs(Array.from(arguments), 4); const needles = []; for ( const condition of safe.String_split.call(propsToMatch, /\s+/) ) { if ( condition === '' ) { continue; } @@ -19297,6 +19299,11 @@ function preventFetchFn( responseProps ); safe.Object_defineProperties(response, props); + if ( extraArgs.throttle ) { + return new Promise(resolve => { + setTimeout(( ) => { resolve(response); }, extraArgs.throttle); + }); + } return response; }); }); @@ -19648,6 +19655,7 @@ function preventFetchFn( responseType = '' ) { const safe = safeSelf(); + const setTimeout = self.setTimeout; const scriptletName = `${trusted ? 'trusted-' : ''}prevent-fetch`; const logPrefix = safe.makeLogPrefix( scriptletName, @@ -19655,6 +19663,7 @@ function preventFetchFn( responseBody, responseType ); + const extraArgs = safe.getExtraArgs(Array.from(arguments), 4); const needles = []; for ( const condition of safe.String_split.call(propsToMatch, /\s+/) ) { if ( condition === '' ) { continue; } @@ -19742,6 +19751,11 @@ function preventFetchFn( responseProps ); safe.Object_defineProperties(response, props); + if ( extraArgs.throttle ) { + return new Promise(resolve => { + setTimeout(( ) => { resolve(response); }, extraArgs.throttle); + }); + } return response; }); });