/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
lib/internal/v8/heap_profile.js
50 строк
1 KB
Antoine du Hamel
lib: add lint rule to enforce use of `kEmptyObject`
10 июн 2026, 13:56
Не верифицирован
10 июн 2026, 13:56
1778eeb
Код
Авторство
О чём код?
'use strict'; const { kEmptyObject } = require('internal/util'); const { validateBoolean, validateInteger, validateInt32, validateObject, } = require('internal/validators'); const { kSamplingNoFlags, kSamplingForceGC, kSamplingIncludeObjectsCollectedByMajorGC, kSamplingIncludeObjectsCollectedByMinorGC, } = internalBinding('v8'); function normalizeHeapProfileOptions(options = kEmptyObject) { validateObject(options, 'options'); const { sampleInterval = 512 * 1024, stackDepth = 16, forceGC = false, includeObjectsCollectedByMajorGC = false, includeObjectsCollectedByMinorGC = false, } = options; validateInteger(sampleInterval, 'options.sampleInterval', 1); validateInt32(stackDepth, 'options.stackDepth', 0); validateBoolean(forceGC, 'options.forceGC'); validateBoolean(includeObjectsCollectedByMajorGC, 'options.includeObjectsCollectedByMajorGC'); validateBoolean(includeObjectsCollectedByMinorGC, 'options.includeObjectsCollectedByMinorGC'); let flags = kSamplingNoFlags; if (forceGC) flags |= kSamplingForceGC; if (includeObjectsCollectedByMajorGC) { flags |= kSamplingIncludeObjectsCollectedByMajorGC; } if (includeObjectsCollectedByMinorGC) { flags |= kSamplingIncludeObjectsCollectedByMinorGC; } return { sampleInterval, stackDepth, flags }; } module.exports = { normalizeHeapProfileOptions, };