summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarvin Hagemeister <marvin@deno.com>2024-07-10 19:46:40 +0200
committerGitHub <noreply@github.com>2024-07-10 19:46:40 +0200
commit60668c1e9370229f253b52a67cba983ce4cdac63 (patch)
tree3f82a9d55e80bcacce6a8c1b316f3c0234eb6120
parent8b34c4d75b3f9ae27380e30c7d192fe55e40196b (diff)
fix(node/v8): stub serializer methods (#24502)
Stubbing a few of Node's `v8` serializer methods makes the `tap` test runner at least start. Previously, it would fail to boot up as some instances of `DefaultSerializer` are constructed eagerly :tada: Before: <img width="1041" alt="Screenshot 2024-07-10 at 16 41 30" src="https://github.com/denoland/deno/assets/1062408/58f1157f-cef8-4176-9239-9d724ca0a677"> After: <img width="830" alt="Screenshot 2024-07-10 at 16 39 35" src="https://github.com/denoland/deno/assets/1062408/710ef673-8120-405a-b9d3-a5ca826b4829"> Fixes https://github.com/denoland/deno/issues/24409
-rw-r--r--ext/node/polyfills/v8.ts43
1 files changed, 39 insertions, 4 deletions
diff --git a/ext/node/polyfills/v8.ts b/ext/node/polyfills/v8.ts
index cad00bd7f..f06227cd5 100644
--- a/ext/node/polyfills/v8.ts
+++ b/ext/node/polyfills/v8.ts
@@ -14,7 +14,7 @@ import {
import { Buffer } from "node:buffer";
-import { notImplemented } from "ext:deno_node/_utils.ts";
+import { notImplemented, warnNotImplemented } from "ext:deno_node/_utils.ts";
export function cachedDataVersionTag() {
return op_v8_cached_data_version_tag();
@@ -79,7 +79,41 @@ export function deserialize(data) {
}
export class Serializer {
constructor() {
- notImplemented("v8.Serializer.prototype.constructor");
+ warnNotImplemented("v8.Serializer.prototype.constructor");
+ }
+
+ releaseBuffer(): Buffer {
+ warnNotImplemented("v8.DefaultSerializer.prototype.releaseBuffer");
+ return Buffer.from("");
+ }
+
+ transferArrayBuffer(_id: number, _arrayBuffer: ArrayBuffer): void {
+ warnNotImplemented("v8.DefaultSerializer.prototype.transferArrayBuffer");
+ }
+
+ writeDouble(_value: number): void {
+ warnNotImplemented("v8.DefaultSerializer.prototype.writeDouble");
+ }
+
+ writeHeader(): void {
+ warnNotImplemented("v8.DefaultSerializer.prototype.writeHeader");
+ }
+
+ writeRawBytes(_value: ArrayBufferView): void {
+ warnNotImplemented("v8.DefaultSerializer.prototype.writeRawBytes");
+ }
+
+ writeUint32(_value: number): void {
+ warnNotImplemented("v8.DefaultSerializer.prototype.writeUint32");
+ }
+
+ writeUint64(_hi: number, _lo: number): void {
+ warnNotImplemented("v8.DefaultSerializer.prototype.writeUint64");
+ }
+
+ // deno-lint-ignore no-explicit-any
+ writeValue(_value: any): void {
+ warnNotImplemented("v8.DefaultSerializer.prototype.writeValue");
}
}
export class Deserializer {
@@ -87,9 +121,10 @@ export class Deserializer {
notImplemented("v8.Deserializer.prototype.constructor");
}
}
-export class DefaultSerializer {
+export class DefaultSerializer extends Serializer {
constructor() {
- notImplemented("v8.DefaultSerializer.prototype.constructor");
+ warnNotImplemented("v8.DefaultSerializer.prototype.constructor");
+ super();
}
}
export class DefaultDeserializer {