Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

hookable

Package Overview
Dependencies
Maintainers
2
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hookable - npm Package Compare versions

Comparing version
6.1.0
to
6.1.1
+0
-8
dist/index.d.mts

@@ -1,2 +0,1 @@

//#region src/types.d.ts
type HookCallback = (...arguments_: any) => Promise<void> | void;

@@ -22,4 +21,2 @@ interface Hooks {

type NestedHooks<T> = (Partial<StripGeneric<T>> | Partial<OnlyGeneric<T>>) & Partial<{ [key in Namespaces<StripGeneric<T>>]: NestedHooks<WithoutNamespace<T, key>> }> & Partial<{ [key in BareHooks<StripGeneric<T>>]: T[key] }>;
//#endregion
//#region src/hookable.d.ts
type InferCallback<HT, HN extends keyof HT> = HT[HN] extends HookCallback ? HT[HN] : never;

@@ -65,4 +62,2 @@ type InferSpyEvent<HT extends Record<string, any>> = { [key in keyof HT]: {

}
//#endregion
//#region src/utils.d.ts
declare function flatHooks<T>(configHooks: NestedHooks<T>, hooks?: T, parentName?: string): T;

@@ -83,4 +78,2 @@ declare function mergeHooks<T>(...hooks: NestedHooks<T>[]): T;

declare function parallelCaller(hooks: HookCallback[], args?: any[]): Promise<any>;
//#endregion
//#region src/debugger.d.ts
interface CreateDebuggerOptions {

@@ -108,3 +101,2 @@ /** An optional tag to prefix console logs with */

};
//#endregion
export { CreateDebuggerOptions, DeprecatedHook, DeprecatedHooks, HookCallback, HookKeys, Hookable, HookableCore, Hooks, NestedHooks, createDebugger, createHooks, flatHooks, mergeHooks, parallelCaller, serial, serialCaller };
+1
-10

@@ -1,2 +0,1 @@

//#region src/utils.ts
function flatHooks(configHooks, hooks = {}, parentName) {

@@ -35,3 +34,3 @@ for (const key in configHooks) {

const result = task ? task.run(() => hooks[i](...args)) : hooks[i](...args);
if (result instanceof Promise) return result.then(() => callHooks(hooks, args, i + 1, task));
if (result && typeof result.then === "function") return Promise.resolve(result).then(() => callHooks(hooks, args, i + 1, task));
} catch (error) {

@@ -50,7 +49,5 @@ return Promise.reject(error);

}
/** @deprecated */
function serialCaller(hooks, arguments_) {
return hooks.reduce((promise, hookFunction) => promise.then(() => hookFunction(...arguments_ || [])), Promise.resolve());
}
/** @deprecated */
function parallelCaller(hooks, args) {

@@ -62,4 +59,2 @@ return Promise.all(hooks.map((hook) => hook(...args || [])));

}
//#endregion
//#region src/hookable.ts
var Hookable = class {

@@ -233,6 +228,3 @@ _hooks;

};
//#endregion
//#region src/debugger.ts
const isBrowser = typeof window !== "undefined";
/** Start debugging hook names and timing in console */
function createDebugger(hooks, _options = {}) {

@@ -269,3 +261,2 @@ const options = {

}
//#endregion
export { Hookable, HookableCore, createDebugger, createHooks, flatHooks, mergeHooks, parallelCaller, serial, serialCaller };
+13
-13
{
"name": "hookable",
"version": "6.1.0",
"version": "6.1.1",
"description": "Awaitable hook system",

@@ -36,19 +36,19 @@ "keywords": [

"devDependencies": {
"@types/node": "^25.5.0",
"@typescript/native-preview": "7.0.0-dev.20260314.1",
"@vitest/coverage-v8": "^4.1.0",
"@types/node": "^25.6.0",
"@typescript/native-preview": "^7.0.0-dev.20260414.1",
"@vitest/coverage-v8": "^4.1.4",
"changelogen": "^0.6.2",
"esbuild": "^0.27.4",
"esbuild": "^0.28.0",
"eslint-config-unjs": "^0.6.2",
"expect-type": "^1.3.0",
"hookable-prev": "npm:hookable@^6.0.1",
"hookable-prev": "npm:hookable@^6.1.0",
"mitata": "^1.0.34",
"obuild": "^0.4.32",
"oxfmt": "^0.40.0",
"oxlint": "^1.55.0",
"typescript": "^5.9.3",
"vite": "^8.0.0",
"vitest": "^4.1.0"
"obuild": "^0.4.33",
"oxfmt": "^0.45.0",
"oxlint": "^1.60.0",
"typescript": "^6.0.2",
"vite": "^8.0.8",
"vitest": "^4.1.4"
},
"packageManager": "pnpm@10.32.1"
"packageManager": "pnpm@10.33.0"
}