/
moreqqq
/
DeliveryService
Обзор
Документация
Войти
/
moreqqq
/
DeliveryService
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
server/node_modules/webpack/lib/util/traverseDestructuringAssignmentProperties.js
45 строк
1 KB
moreqqq
написал тесты
29 май 2026, 22:13
29 май 2026, 22:13
6f740ff
Код
Авторство
О чём код?
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; /** @typedef {import("../javascript/JavascriptParser").DestructuringAssignmentProperties} DestructuringAssignmentProperties */ /** @typedef {import("../javascript/JavascriptParser").DestructuringAssignmentProperty} DestructuringAssignmentProperty */ /** * Deep first traverse the properties of a destructuring assignment. * @param {DestructuringAssignmentProperties} properties destructuring assignment properties * @param {((stack: DestructuringAssignmentProperty[]) => void) | undefined=} onLeftNode on left node callback * @param {((stack: DestructuringAssignmentProperty[]) => void) | undefined=} enterNode enter node callback * @param {((stack: DestructuringAssignmentProperty[]) => void) | undefined=} exitNode exit node callback * @param {DestructuringAssignmentProperty[] | undefined=} stack stack of the walking nodes */ function traverseDestructuringAssignmentProperties( properties, onLeftNode, enterNode, exitNode, stack = [] ) { for (const property of properties) { stack.push(property); if (enterNode) enterNode(stack); if (property.pattern) { traverseDestructuringAssignmentProperties( property.pattern, onLeftNode, enterNode, exitNode, stack ); } else if (onLeftNode) { onLeftNode(stack); } if (exitNode) exitNode(stack); stack.pop(); } } module.exports = traverseDestructuringAssignmentProperties;