import { hasNode, isObject } from '../utils/astHelpers'; export const hasFsChmodSyncCall = (node: unknown): boolean => { return hasNode(node, (value) => { if (value.type !== 'CallExpression') { return false; } const callee = value.callee; if (!isObject(callee) || callee.type !== 'MemberExpression' || callee.computed === true) { return false; } const objectNode = callee.object; const propertyNode = callee.property; return ( isObject(objectNode) && objectNode.type === 'Identifier' && objectNode.name === 'fs' && isObject(propertyNode) && propertyNode.type === 'Identifier' && propertyNode.name === 'chmodSync' ); }); }; export const hasFsChownSyncCall = (node: unknown): boolean => { return hasNode(node, (value) => { if (value.type !== 'CallExpression') { return false; } const callee = value.callee; if (!isObject(callee) || callee.type !== 'MemberExpression' || callee.computed === true) { return false; } const objectNode = callee.object; const propertyNode = callee.property; return ( isObject(objectNode) && objectNode.type === 'Identifier' && objectNode.name === 'fs' && isObject(propertyNode) && propertyNode.type === 'Identifier' && propertyNode.name === 'chownSync' ); }); }; export const hasFsFchownSyncCall = (node: unknown): boolean => { return hasNode(node, (value) => { if (value.type !== 'CallExpression') { return false; } const callee = value.callee; if (!isObject(callee) || callee.type !== 'MemberExpression' || callee.computed === true) { return false; } const objectNode = callee.object; const propertyNode = callee.property; return ( isObject(objectNode) && objectNode.type === 'Identifier' && objectNode.name === 'fs' && isObject(propertyNode) && propertyNode.type === 'Identifier' && propertyNode.name === 'fchownSync' ); }); }; export const hasFsFchmodSyncCall = (node: unknown): boolean => { return hasNode(node, (value) => { if (value.type !== 'CallExpression') { return false; } const callee = value.callee; if (!isObject(callee) || callee.type !== 'MemberExpression' || callee.computed === true) { return false; } const objectNode = callee.object; const propertyNode = callee.property; return ( isObject(objectNode) && objectNode.type === 'Identifier' && objectNode.name === 'fs' && isObject(propertyNode) && propertyNode.type === 'Identifier' && propertyNode.name === 'fchmodSync' ); }); };