MCPcopy
hub / github.com/webpack/tapable / register

Function register

benchmark/cases/hook-map/index.bench.mjs:21–69  ·  view source on GitHub ↗
(bench)

Source from the content-addressed store, hash-verified

19 * @param {import('tinybench').Bench} bench
20 */
21export default function register(bench) {
22 const warm = new HookMap(() => new SyncHook(["x"]));
23 for (let i = 0; i < 20; i++) {
24 warm.for(`key-${i}`).tap(`plugin-${i}`, () => {});
25 }
26
27 bench.add("hook-map: for(existing key)", () => {
28 for (let i = 0; i < LOOKUP_ITERATIONS; i++) {
29 warm.for("key-10");
30 }
31 });
32
33 bench.add("hook-map: get(existing key)", () => {
34 for (let i = 0; i < LOOKUP_ITERATIONS; i++) {
35 warm.get("key-10");
36 }
37 });
38
39 bench.add("hook-map: get(missing key)", () => {
40 for (let i = 0; i < LOOKUP_ITERATIONS; i++) {
41 warm.get("not-there");
42 }
43 });
44
45 bench.add(`hook-map: for(new key) x ${COLD_KEYS}, no interceptors`, () => {
46 const map = new HookMap(() => new SyncHook(["x"]));
47 for (let i = 0; i < COLD_KEYS; i++) {
48 map.for(`k-${i}`);
49 }
50 });
51
52 bench.add(`hook-map: for(new key) x ${COLD_KEYS}, 1 interceptor`, () => {
53 const map = new HookMap(() => new SyncHook(["x"]));
54 map.intercept({ factory: (_k, hook) => hook });
55 for (let i = 0; i < COLD_KEYS; i++) {
56 map.for(`k-${i}`);
57 }
58 });
59
60 bench.add(`hook-map: for(new key) x ${COLD_KEYS}, 3 interceptors`, () => {
61 const map = new HookMap(() => new SyncHook(["x"]));
62 map.intercept({ factory: (_k, hook) => hook });
63 map.intercept({ factory: (_k, hook) => hook });
64 map.intercept({ factory: (_k, hook) => hook });
65 for (let i = 0; i < COLD_KEYS; i++) {
66 map.for(`k-${i}`);
67 }
68 });
69}

Callers

nothing calls this directly

Calls 4

forMethod · 0.95
getMethod · 0.95
interceptMethod · 0.95
tapMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…