109 lines
2.8 KiB
JavaScript
109 lines
2.8 KiB
JavaScript
import noop from "../mock/noop.mjs";
|
|
import { Readable } from "node:stream";
|
|
import { Deserializer, DefaultDeserializer } from "./internal/v8/deserializer.mjs";
|
|
import { Serializer, DefaultSerializer } from "./internal/v8/serializer.mjs";
|
|
import { GCProfiler } from "./internal/v8/profiler.mjs";
|
|
export { Deserializer, DefaultDeserializer } from "./internal/v8/deserializer.mjs";
|
|
export { Serializer, DefaultSerializer } from "./internal/v8/serializer.mjs";
|
|
export { GCProfiler } from "./internal/v8/profiler.mjs";
|
|
const getMockHeapSpaceStats = (name) => ({
|
|
space_name: name,
|
|
space_size: 0,
|
|
space_used_size: 0,
|
|
space_available_size: 0,
|
|
physical_space_size: 0
|
|
});
|
|
export const cachedDataVersionTag = () => 0;
|
|
export const deserialize = noop;
|
|
export const getHeapCodeStatistics = () => ({
|
|
code_and_metadata_size: 0,
|
|
bytecode_and_metadata_size: 0,
|
|
external_script_source_size: 0,
|
|
cpu_profiler_metadata_size: 0
|
|
});
|
|
export const getHeapSpaceStatistics = () => [
|
|
"read_only_space",
|
|
"new_space",
|
|
"old_space",
|
|
"code_space",
|
|
"map_space",
|
|
"large_object_space",
|
|
"code_large_object_space",
|
|
"new_large_object_space"
|
|
].map((space) => getMockHeapSpaceStats(space));
|
|
export const getHeapStatistics = () => ({
|
|
total_heap_size: 0,
|
|
total_heap_size_executable: 0,
|
|
total_physical_size: 0,
|
|
total_available_size: 0,
|
|
used_heap_size: 0,
|
|
heap_size_limit: 0,
|
|
malloced_memory: 0,
|
|
peak_malloced_memory: 0,
|
|
does_zap_garbage: 0,
|
|
number_of_native_contexts: 0,
|
|
number_of_detached_contexts: 0,
|
|
total_global_handles_size: 0,
|
|
used_global_handles_size: 0,
|
|
external_memory: 0
|
|
});
|
|
export const getHeapSnapshot = () => {
|
|
return Readable.from(`{
|
|
snapshot: {},
|
|
nodes: [],
|
|
edges: [],
|
|
trace_function_infos: [],
|
|
trace_tree: [],
|
|
samples: [],
|
|
locations: [],
|
|
strings: [],
|
|
}`);
|
|
};
|
|
export const promiseHooks = {
|
|
onInit: () => noop,
|
|
onSettled: () => noop,
|
|
onBefore: () => noop,
|
|
onAfter: () => noop,
|
|
createHook: () => noop
|
|
};
|
|
export const serialize = (value) => Buffer.from(value);
|
|
export const setFlagsFromString = noop;
|
|
export const setHeapSnapshotNearHeapLimit = noop;
|
|
export const startupSnapshot = {
|
|
addDeserializeCallback: noop,
|
|
addSerializeCallback: noop,
|
|
setDeserializeMainFunction: noop,
|
|
isBuildingSnapshot: () => false
|
|
};
|
|
export const stopCoverage = noop;
|
|
export const takeCoverage = noop;
|
|
export const writeHeapSnapshot = () => "";
|
|
export function queryObjects(_ctor, options) {
|
|
if (options?.format === "count") {
|
|
return 0;
|
|
}
|
|
return [];
|
|
}
|
|
export default {
|
|
DefaultDeserializer,
|
|
Deserializer,
|
|
GCProfiler,
|
|
DefaultSerializer,
|
|
Serializer,
|
|
cachedDataVersionTag,
|
|
deserialize,
|
|
getHeapCodeStatistics,
|
|
getHeapSnapshot,
|
|
getHeapSpaceStatistics,
|
|
getHeapStatistics,
|
|
promiseHooks,
|
|
serialize,
|
|
setFlagsFromString,
|
|
setHeapSnapshotNearHeapLimit,
|
|
startupSnapshot,
|
|
stopCoverage,
|
|
takeCoverage,
|
|
writeHeapSnapshot,
|
|
queryObjects
|
|
};
|