aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/v8.exports.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/v8.exports.js')
-rw-r--r--src/bun.js/v8.exports.js166
1 files changed, 166 insertions, 0 deletions
diff --git a/src/bun.js/v8.exports.js b/src/bun.js/v8.exports.js
new file mode 100644
index 000000000..4ac85fd3b
--- /dev/null
+++ b/src/bun.js/v8.exports.js
@@ -0,0 +1,166 @@
+// This is a stub! None of this is actually implemented yet.
+
+class TODO extends Error {
+ constructor(messageName) {
+ const message = messageName
+ ? `node:v8 ${messageName} is not implemented yet in Bun. `
+ : `node:v8 is not implemented yet in Bun`;
+ super(message);
+ this.name = "TODO";
+ }
+}
+
+function hideFromStack(fns) {
+ for (const fn of fns) {
+ Object.defineProperty(fn, "name", {
+ value: "::bunternal::",
+ });
+ }
+}
+
+function notimpl(message) {
+ throw new TODO(message);
+}
+
+class Deserializer {
+ constructor() {
+ notimpl();
+ }
+}
+class Serializer {
+ constructor() {
+ notimpl();
+ }
+}
+class DefaultDeserializer extends Deserializer {}
+class DefaultSerializer extends Serializer {}
+class GCProfiler {
+ constructor() {
+ notimpl();
+ }
+}
+
+function cachedDataVersionTag() {
+ notimpl("cachedDataVersionTag");
+}
+function getHeapSnapshot() {
+ notimpl("getHeapSnapshot");
+}
+function getHeapStatistics() {
+ notimpl("getHeapStatistics");
+}
+function getHeapSpaceStatistics() {
+ notimpl("getHeapSpaceStatistics");
+}
+function getHeapCodeStatistics() {
+ notimpl("getHeapCodeStatistics");
+}
+function setFlagsFromString() {
+ notimpl("setFlagsFromString");
+}
+function deserialize() {
+ notimpl("deserialize");
+}
+function takeCoverage() {
+ notimpl("takeCoverage");
+}
+function stopCoverage() {
+ notimpl("stopCoverage");
+}
+function serialize() {
+ notimpl("serialize");
+}
+function writeHeapSnapshot() {
+ notimpl("writeHeapSnapshot");
+}
+function setHeapSnapshotNearHeapLimit() {
+ notimpl("setHeapSnapshotNearHeapLimit");
+}
+const promiseHooks = {
+ createHook: () => {
+ notimpl("createHook");
+ },
+ onInit: () => {
+ notimpl("onInit");
+ },
+ onBefore: () => {
+ notimpl("onBefore");
+ },
+ onAfter: () => {
+ notimpl("onAfter");
+ },
+ onSettled: () => {
+ notimpl("onSettled");
+ },
+ },
+ startupSnapshot = {
+ addDeserializeCallback: () => notimpl("addDeserializeCallback"),
+ addSerializeCallback: () => notimpl("addSerializeCallback"),
+ setDeserializeMainFunction: () => notimpl("setDeserializeMainFunction"),
+ isBuildingSnapshot: () => notimpl("isBuildingSnapshot"),
+ };
+
+const defaultObject = {
+ cachedDataVersionTag,
+ getHeapSnapshot,
+ getHeapStatistics,
+ getHeapSpaceStatistics,
+ getHeapCodeStatistics,
+ setFlagsFromString,
+ deserialize,
+ takeCoverage,
+ stopCoverage,
+ serialize,
+ writeHeapSnapshot,
+ setHeapSnapshotNearHeapLimit,
+ promiseHooks,
+ startupSnapshot,
+ Deserializer,
+ Serializer,
+ [Symbol.for("CommonJS")]: 0,
+};
+
+export {
+ cachedDataVersionTag,
+ getHeapSnapshot,
+ getHeapStatistics,
+ getHeapSpaceStatistics,
+ getHeapCodeStatistics,
+ setFlagsFromString,
+ deserialize,
+ takeCoverage,
+ stopCoverage,
+ serialize,
+ writeHeapSnapshot,
+ setHeapSnapshotNearHeapLimit,
+ promiseHooks,
+ startupSnapshot,
+ Deserializer,
+ Serializer,
+ DefaultDeserializer,
+ DefaultSerializer,
+ GCProfiler,
+ defaultObject as default,
+};
+
+hideFromStack([
+ TODO.prototype.constructor,
+ notimpl,
+ cachedDataVersionTag,
+ getHeapSnapshot,
+ getHeapStatistics,
+ getHeapSpaceStatistics,
+ getHeapCodeStatistics,
+ setFlagsFromString,
+ deserialize,
+ takeCoverage,
+ stopCoverage,
+ serialize,
+ writeHeapSnapshot,
+ setHeapSnapshotNearHeapLimit,
+ Deserializer,
+ Serializer,
+ DefaultDeserializer,
+ DefaultSerializer,
+ GCProfiler,
+]);