hookable 6.0.0-rc.1 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.d.mts +6 -7
  2. package/package.json +13 -13
package/dist/index.d.mts CHANGED
@@ -9,7 +9,6 @@ type DeprecatedHook<T> = {
9
9
  to: HookKeys<T>;
10
10
  };
11
11
  type DeprecatedHooks<T> = { [name in HookKeys<T>]: DeprecatedHook<T> };
12
- type Thenable<T> = Promise<T> | T;
13
12
  type ValueOf<C> = C extends Record<any, any> ? C[keyof C] : never;
14
13
  type Strings<T> = Exclude<keyof T, number | symbol>;
15
14
  type KnownKeys<T> = keyof { [K in keyof T as string extends K ? never : number extends K ? never : K]: never };
@@ -17,8 +16,8 @@ type StripGeneric<T> = Pick<T, KnownKeys<T> extends keyof T ? KnownKeys<T> : nev
17
16
  type OnlyGeneric<T> = Omit<T, KnownKeys<T> extends keyof T ? KnownKeys<T> : never>;
18
17
  type Namespaces<T> = ValueOf<{ [key in Strings<T>]: key extends `${infer Namespace}:${string}` ? Namespace : never }>;
19
18
  type BareHooks<T> = ValueOf<{ [key in Strings<T>]: key extends `${string}:${string}` ? never : key }>;
20
- type HooksInNamespace<T, Namespace$1 extends string> = ValueOf<{ [key in Strings<T>]: key extends `${Namespace$1}:${infer HookName}` ? HookName : never }>;
21
- type WithoutNamespace<T, Namespace$1 extends string> = { [key in HooksInNamespace<T, Namespace$1>]: `${Namespace$1}:${key}` extends keyof T ? T[`${Namespace$1}:${key}`] : never };
19
+ type HooksInNamespace<T, Namespace extends string> = ValueOf<{ [key in Strings<T>]: key extends `${Namespace}:${infer HookName}` ? HookName : never }>;
20
+ type WithoutNamespace<T, Namespace extends string> = { [key in HooksInNamespace<T, Namespace>]: `${Namespace}:${key}` extends keyof T ? T[`${Namespace}:${key}`] : never };
22
21
  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] }>;
23
22
  //#endregion
24
23
  //#region src/hookable.d.ts
@@ -45,8 +44,8 @@ declare class Hookable<HooksT extends Record<string, any> = Record<string, HookC
45
44
  addHooks(configHooks: NestedHooks<HooksT>): () => void;
46
45
  removeHooks(configHooks: NestedHooks<HooksT>): void;
47
46
  removeAllHooks(): void;
48
- callHook<NameT extends HookNameT>(name: NameT, ...args: Parameters<InferCallback<HooksT, NameT>>): Thenable<any> | void;
49
- callHookParallel<NameT extends HookNameT>(name: NameT, ...args: Parameters<InferCallback<HooksT, NameT>>): Thenable<any[]> | void;
47
+ callHook<NameT extends HookNameT>(name: NameT, ...args: Parameters<InferCallback<HooksT, NameT>>): Promise<any> | void;
48
+ callHookParallel<NameT extends HookNameT>(name: NameT, ...args: Parameters<InferCallback<HooksT, NameT>>): Promise<any[]> | void;
50
49
  callHookWith<NameT extends HookNameT, CallFunction extends (hooks: HookCallback[], args: Parameters<InferCallback<HooksT, NameT>>) => any>(caller: CallFunction, name: NameT, args: Parameters<InferCallback<HooksT, NameT>>): ReturnType<CallFunction>;
51
50
  beforeEach(function_: (event: InferSpyEvent<HooksT>) => void): () => void;
52
51
  afterEach(function_: (event: InferSpyEvent<HooksT>) => void): () => void;
@@ -59,7 +58,7 @@ declare class HookableCore<HooksT extends Record<string, any> = Record<string, H
59
58
  constructor();
60
59
  hook<NameT extends HookNameT>(name: NameT, fn: InferCallback<HooksT, NameT>): () => void;
61
60
  removeHook<NameT extends HookNameT>(name: NameT, function_: InferCallback<HooksT, NameT>): void;
62
- callHook<NameT extends HookNameT>(name: NameT, ...args: Parameters<InferCallback<HooksT, NameT>>): Thenable<any> | void;
61
+ callHook<NameT extends HookNameT>(name: NameT, ...args: Parameters<InferCallback<HooksT, NameT>>): Promise<any> | void;
63
62
  }
64
63
  //#endregion
65
64
  //#region src/utils.d.ts
@@ -104,4 +103,4 @@ declare function createDebugger(hooks: Hookable<any>, _options?: CreateDebuggerO
104
103
  close: () => void;
105
104
  };
106
105
  //#endregion
107
- export { CreateDebuggerOptions, DeprecatedHook, DeprecatedHooks, HookCallback, HookKeys, Hookable, HookableCore, Hooks, NestedHooks, Thenable, createDebugger, createHooks, flatHooks, mergeHooks, parallelCaller, serial, serialCaller };
106
+ export { CreateDebuggerOptions, DeprecatedHook, DeprecatedHooks, HookCallback, HookKeys, Hookable, HookableCore, Hooks, NestedHooks, createDebugger, createHooks, flatHooks, mergeHooks, parallelCaller, serial, serialCaller };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hookable",
3
- "version": "6.0.0-rc.1",
3
+ "version": "6.0.0",
4
4
  "description": "Awaitable hook system",
5
5
  "keywords": [
6
6
  "hook",
@@ -28,25 +28,25 @@
28
28
  "lint": "eslint --cache . && prettier -c src test",
29
29
  "lint:fix": "eslint --cache . --fix && prettier -c src test -w",
30
30
  "prepublish": "pnpm build",
31
- "release": "pnpm test && pnpm build && changelogen --release --prerelease --publish --publishTag rc --push",
31
+ "release": "pnpm test && pnpm build && changelogen --release --publish --push",
32
32
  "test": "pnpm lint && vitest run --coverage",
33
33
  "test:types": "tsc --noEmit"
34
34
  },
35
35
  "devDependencies": {
36
- "@types/node": "^24.9.1",
37
- "@vitest/coverage-v8": "^4.0.3",
36
+ "@types/node": "^25.0.3",
37
+ "@vitest/coverage-v8": "^4.0.16",
38
38
  "changelogen": "^0.6.2",
39
- "esbuild": "^0.25.11",
40
- "eslint": "^9.38.0",
39
+ "esbuild": "^0.27.2",
40
+ "eslint": "^9.39.2",
41
41
  "eslint-config-unjs": "^0.5.0",
42
- "expect-type": "^1.2.2",
43
- "hookable-prev": "npm:hookable@^5.0.0",
42
+ "expect-type": "^1.3.0",
43
+ "hookable-prev": "npm:hookable@^5.5.3",
44
44
  "mitata": "^1.0.34",
45
- "obuild": "^0.3.0",
46
- "prettier": "^3.6.2",
45
+ "obuild": "^0.4.9",
46
+ "prettier": "^3.7.4",
47
47
  "typescript": "^5.9.3",
48
- "vite": "^7.1.12",
49
- "vitest": "^4.0.3"
48
+ "vite": "^7.3.0",
49
+ "vitest": "^4.0.16"
50
50
  },
51
- "packageManager": "pnpm@10.19.0"
51
+ "packageManager": "pnpm@10.26.0"
52
52
  }