| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | /** * @fileoverview Rule to check for properties whose identifier ends with the string Sync * @author Matt DuVall<http://mattduvall.com/> *//* jshint node:true */"use strict";//------------------------------------------------------------------------------// Rule Definition//------------------------------------------------------------------------------module.exports = {    meta: {        docs: {            description: "disallow synchronous methods",            category: "Node.js and CommonJS",            recommended: false,            url: "https://eslint.org/docs/rules/no-sync"        },        schema: [            {                type: "object",                properties: {                    allowAtRootLevel: {                        type: "boolean"                    }                },                additionalProperties: false            }        ]    },    create(context) {        const selector = context.options[0] && context.options[0].allowAtRootLevel            ? ":function MemberExpression[property.name=/.*Sync$/]"            : "MemberExpression[property.name=/.*Sync$/]";        return {            [selector](node) {                context.report({                    node,                    message: "Unexpected sync method: '{{propertyName}}'.",                    data: {                        propertyName: node.property.name                    }                });            }        };    }};
 |