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 to 2.1.0

2

package.json
{
"name": "tapable",
"version": "2.0.0",
"version": "2.1.0",
"author": "Tobias Koppers @sokra",

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

@@ -26,2 +26,7 @@ type FixedSizeArray<T extends number, U> = T extends 0

type FullTap = Tap & {
type: "sync" | "async" | "promise",
fn: Function
}
type Tap = TapOptions & {

@@ -36,5 +41,5 @@ name: string;

interface HookInterceptor<T, R> {
interface HookInterceptor<T, R, AdditionalOptions = {}> {
name?: string;
tap?: (tap: Tap) => void;
tap?: (tap: FullTap & AdditionalOptions) => void;
call?: (...args: any[]) => void;

@@ -45,3 +50,3 @@ loop?: (...args: any[]) => void;

done?: () => void;
register?: (hook: Hook<T, R>) => Hook<T, R>;
register?: (tap: FullTap & AdditionalOptions) => FullTap & AdditionalOptions;
}

@@ -51,28 +56,28 @@

declare class Hook<T, R> {
declare class Hook<T, R, AdditionalOptions = {}> {
constructor(args?: ArgumentNames<AsArray<T>>, name?: string);
name: string | undefined;
intercept(interceptor: HookInterceptor<T, R>): void;
intercept(interceptor: HookInterceptor<T, R, AdditionalOptions>): void;
isUsed(): boolean;
callAsync(...args: Append<AsArray<T>, Callback<Error, R>>): void;
promise(...args: AsArray<T>): Promise<R>;
tap(options: string | Tap, fn: (...args: AsArray<T>) => R): void;
withOptions(options: TapOptions): Hook<T, R>;
tap(options: string | Tap & AdditionalOptions, fn: (...args: AsArray<T>) => R): void;
withOptions(options: TapOptions & AdditionalOptions): Hook<T, R>;
}
export class SyncHook<T, R = void> extends Hook<T, R> {
export class SyncHook<T, R = void, AdditionalOptions = {}> extends Hook<T, R, AdditionalOptions> {
call(...args: AsArray<T>): R;
}
export class SyncBailHook<T, R> extends SyncHook<T, R> {}
export class SyncLoopHook<T> extends SyncHook<T, void> {}
export class SyncWaterfallHook<T> extends SyncHook<T, AsArray<T>[0]> {}
export class SyncBailHook<T, R, AdditionalOptions = {}> extends SyncHook<T, R, AdditionalOptions> {}
export class SyncLoopHook<T, AdditionalOptions = {}> extends SyncHook<T, void, AdditionalOptions> {}
export class SyncWaterfallHook<T, AdditionalOptions = {}> extends SyncHook<T, AsArray<T>[0], AdditionalOptions> {}
declare class AsyncHook<T, R> extends Hook<T, R> {
declare class AsyncHook<T, R, AdditionalOptions = {}> extends Hook<T, R, AdditionalOptions> {
tapAsync(
options: string | Tap,
options: string | Tap & AdditionalOptions,
fn: (...args: Append<AsArray<T>, InnerCallback<Error, R>>) => void
): void;
tapPromise(
options: string | Tap,
options: string | Tap & AdditionalOptions,
fn: (...args: AsArray<T>) => Promise<R>

@@ -82,8 +87,8 @@ ): void;

export class AsyncParallelHook<T> extends AsyncHook<T, void> {}
export class AsyncParallelBailHook<T, R> extends AsyncHook<T, R> {}
export class AsyncSeriesHook<T> extends AsyncHook<T, void> {}
export class AsyncSeriesBailHook<T, R> extends AsyncHook<T, R> {}
export class AsyncSeriesLoopHook<T> extends AsyncHook<T, void> {}
export class AsyncSeriesWaterfallHook<T> extends AsyncHook<T, AsArray<T>[0]> {}
export class AsyncParallelHook<T, AdditionalOptions = {}> extends AsyncHook<T, void, AdditionalOptions> {}
export class AsyncParallelBailHook<T, R, AdditionalOptions = {}> extends AsyncHook<T, R, AdditionalOptions> {}
export class AsyncSeriesHook<T, AdditionalOptions = {}> extends AsyncHook<T, void, AdditionalOptions> {}
export class AsyncSeriesBailHook<T, R, AdditionalOptions = {}> extends AsyncHook<T, R, AdditionalOptions> {}
export class AsyncSeriesLoopHook<T, AdditionalOptions = {}> extends AsyncHook<T, void, AdditionalOptions> {}
export class AsyncSeriesWaterfallHook<T, AdditionalOptions = {}> extends AsyncHook<T, AsArray<T>[0], AdditionalOptions> {}

@@ -90,0 +95,0 @@ type HookFactory<H> = (key: any, hook?: H) => H;

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