%PDF- %PDF-
Direktori : /home/vacivi36/vittasync.vacivitta.com.br/vittasync/node/lib/internal/ |
Current File : /home/vacivi36/vittasync.vacivitta.com.br/vittasync/node/lib/internal/heap_utils.js |
'use strict'; const { Symbol, Uint8Array, } = primordials; const { kUpdateTimer, onStreamRead, } = require('internal/stream_base_commons'); const { owner_symbol } = require('internal/async_hooks').symbols; const { Readable } = require('stream'); const { validateObject, validateBoolean } = require('internal/validators'); const { kEmptyObject } = require('internal/util'); const kHandle = Symbol('kHandle'); function getHeapSnapshotOptions(options = kEmptyObject) { validateObject(options, 'options'); const { exposeInternals = false, exposeNumericValues = false, } = options; validateBoolean(exposeInternals, 'options.exposeInternals'); validateBoolean(exposeNumericValues, 'options.exposeNumericValues'); return new Uint8Array([+exposeInternals, +exposeNumericValues]); } class HeapSnapshotStream extends Readable { constructor(handle) { super({ autoDestroy: true }); this[kHandle] = handle; handle[owner_symbol] = this; handle.onread = onStreamRead; } _read() { if (this[kHandle]) this[kHandle].readStart(); } _destroy() { // Release the references on the handle so that // it can be garbage collected. this[kHandle][owner_symbol] = undefined; this[kHandle] = undefined; } [kUpdateTimer]() { // Does nothing } } module.exports = { getHeapSnapshotOptions, HeapSnapshotStream, };