Socket
Socket
Sign inDemoInstall

tapable

Package Overview
Dependencies
0
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.0.0-beta.8 to 2.0.0-beta.9

59

lib/HookCodeFactory.js

@@ -23,3 +23,3 @@ /*

this.header() +
this.content({
this.contentWithInterceptors({
onError: err => `throw ${err};\n`,

@@ -40,3 +40,3 @@ onResult: result => `return ${result};\n`,

this.header() +
this.content({
this.contentWithInterceptors({
onError: err => `_callback(${err});\n`,

@@ -50,3 +50,3 @@ onResult: result => `_callback(null, ${result});\n`,

let errorHelperUsed = false;
const content = this.content({
const content = this.contentWithInterceptors({
onError: err => {

@@ -101,2 +101,55 @@ errorHelperUsed = true;

contentWithInterceptors(options) {
if (this.options.interceptors.length > 0) {
const onError = options.onError;
const onResult = options.onResult;
const onDone = options.onDone;
return this.content(
Object.assign(options, {
onError:
onError &&
(err => {
let code = "";
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.error) {
code += `${this.getInterceptor(i)}.error(${err});\n`;
}
}
code += onError(err);
return code;
}),
onResult:
onResult &&
(result => {
let code = "";
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.result) {
code += `${this.getInterceptor(i)}.result(${result});\n`;
}
}
code += onResult(result);
return code;
}),
onDone:
onDone &&
(() => {
let code = "";
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.done) {
code += `${this.getInterceptor(i)}.done();\n`;
}
}
code += onDone();
return code;
})
})
);
} else {
return this.content(options);
}
}
header() {

@@ -103,0 +156,0 @@ let code = "";

2

package.json
{
"name": "tapable",
"version": "2.0.0-beta.8",
"version": "2.0.0-beta.9",
"author": "Tobias Koppers @sokra",

@@ -5,0 +5,0 @@ "description": "Just a little module for plugins.",

@@ -221,5 +221,5 @@ # Tapable

``` js
keyedHook.tap("some-key", "MyPlugin", (arg) => { /* ... */ });
keyedHook.tapAsync("some-key", "MyPlugin", (arg, callback) => { /* ... */ });
keyedHook.tapPromise("some-key", "MyPlugin", (arg) => { /* ... */ });
keyedHook.for("some-key").tap("MyPlugin", (arg) => { /* ... */ });
keyedHook.for("some-key").tapAsync("MyPlugin", (arg, callback) => { /* ... */ });
keyedHook.for("some-key").tapPromise("MyPlugin", (arg) => { /* ... */ });
```

@@ -256,5 +256,2 @@

for: (key: any) => Hook,
tap: (key: any, name: string | Tap, fn: (context?, ...args) => Result) => void,
tapAsync: (key: any, name: string | Tap, fn: (context?, ...args, callback: (err, result: Result) => void) => void) => void,
tapPromise: (key: any, name: string | Tap, fn: (context?, ...args) => Promise<Result>) => void,
intercept: (interceptor: HookMapInterceptor) => void

@@ -272,3 +269,4 @@ }

stage: number,
context: boolean
context: boolean,
before?: string | Array
}

@@ -275,0 +273,0 @@ ```

@@ -34,3 +34,3 @@ type FixedSizeArray<T extends number, U> = T extends 0

interface HookInterceptor<H> {
interface HookInterceptor<T, R> {
name?: string;

@@ -40,3 +40,6 @@ tap?: (tap: Tap) => void;

loop?: (...args: any[]) => void;
register?: (hook: H) => H;
error?: (err: Error) => void;
result?: (result: R) => void;
done?: () => void;
register?: (hook: Hook<T, R>) => Hook<T, R>;
}

@@ -49,3 +52,3 @@

name: string | undefined;
intercept(interceptor: HookInterceptor<Hook<T, R>>): void;
intercept(interceptor: HookInterceptor<T, R>): void;
isUsed(): boolean;

@@ -52,0 +55,0 @@ callAsync(...args: Append<AsArray<T>, Callback<Error, R>>): void;

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc