summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2023-11-14 12:03:09 +0100
committerGitHub <noreply@github.com>2023-11-14 16:33:09 +0530
commitcf6673b23d2579af7cfe43918127d30556a786da (patch)
tree9ef35ea7693ed554e704e93642088c68f665a921
parent886652156e0e548a44fd41b293916bf37594eaa3 (diff)
fix(ext/node): add APIs perf_hook.performance (#21192)
Required for Next.js.
-rw-r--r--cli/tests/unit_node/perf_hooks_test.ts10
-rw-r--r--ext/node/polyfills/perf_hooks.ts5
2 files changed, 14 insertions, 1 deletions
diff --git a/cli/tests/unit_node/perf_hooks_test.ts b/cli/tests/unit_node/perf_hooks_test.ts
index 2249e62f8..d1ab8c12c 100644
--- a/cli/tests/unit_node/perf_hooks_test.ts
+++ b/cli/tests/unit_node/perf_hooks_test.ts
@@ -13,12 +13,22 @@ Deno.test({
assertEquals(perfHooks.performance.clearMarks, performance.clearMarks);
assertEquals(perfHooks.performance.mark, performance.mark);
assertEquals(perfHooks.performance.now, performance.now);
+ assertEquals(
+ perfHooks.performance.getEntriesByName,
+ performance.getEntriesByName,
+ );
+ assertEquals(
+ perfHooks.performance.getEntriesByType,
+ performance.getEntriesByType,
+ );
// @ts-ignore toJSON is not in Performance interface
assertEquals(perfHooks.performance.toJSON, performance.toJSON);
perfHooks.performance.measure("test");
perfHooks.performance.mark("test");
perfHooks.performance.clearMarks("test");
perfHooks.performance.now();
+ assertEquals(perfHooks.performance.getEntriesByName("event", "mark"), []);
+ assertEquals(perfHooks.performance.getEntriesByType("mark"), []);
// @ts-ignore toJSON is not in Performance interface
perfHooks.performance.toJSON();
},
diff --git a/ext/node/polyfills/perf_hooks.ts b/ext/node/polyfills/perf_hooks.ts
index 64c2c3e06..5be2da991 100644
--- a/ext/node/polyfills/perf_hooks.ts
+++ b/ext/node/polyfills/perf_hooks.ts
@@ -16,7 +16,7 @@ const constants = {};
const performance:
& Omit<
Performance,
- "clearMeasures" | "getEntries" | "getEntriesByName" | "getEntriesByType"
+ "clearMeasures" | "getEntries"
>
& {
// deno-lint-ignore no-explicit-any
@@ -58,6 +58,9 @@ const performance:
// deno-lint-ignore no-explicit-any
return (shimPerformance as any).timeOrigin;
},
+ getEntriesByName: (name, type) =>
+ shimPerformance.getEntriesByName(name, type),
+ getEntriesByType: (type) => shimPerformance.getEntriesByType(type),
markResourceTiming: () => {},
// @ts-ignore waiting on update in `deno`, but currently this is
// a circular dependency