JAVASCRIPT   29

no-sync.js

Guest on 21st August 2021 09:27:33 AM

  1. /**
  2.  * @fileoverview Rule to check for properties whose identifier ends with the string Sync
  3.  * @author Matt DuVall<http://mattduvall.com/>
  4.  */
  5.  
  6. /* jshint node:true */
  7.  
  8. "use strict";
  9.  
  10. //------------------------------------------------------------------------------
  11. // Rule Definition
  12. //------------------------------------------------------------------------------
  13.  
  14. module.exports = {
  15.     meta: {
  16.         docs: {
  17.             description: "disallow synchronous methods",
  18.             category: "Node.js and CommonJS",
  19.             recommended: false
  20.         },
  21.  
  22.         schema: []
  23.     },
  24.  
  25.     create(context) {
  26.  
  27.         return {
  28.  
  29.             "MemberExpression[property.name=/.*Sync$/]"(node) {
  30.                 context.report({
  31.                     node,
  32.                     message: "Unexpected sync method: '{{propertyName}}'.",
  33.                     data: {
  34.                         propertyName: node.property.name
  35.                     }
  36.                 });
  37.             }
  38.         };
  39.  
  40.     }
  41. };

Raw Paste


Login or Register to edit or fork this paste. It's free.