| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- /**
 
-  * @author Toru Nagashima <https://github.com/mysticatea>
 
-  * See LICENSE file in root directory for full license.
 
-  */
 
- "use strict"
 
- const { isCommaToken } = require("../utils")
 
- module.exports = {
 
-     meta: {
 
-         docs: {
 
-             description:
 
-                 "disallow trailing commas in parameter/argument lists.",
 
-             category: "ES2017",
 
-             recommended: false,
 
-             url:
 
-                 "http://mysticatea.github.io/eslint-plugin-es/rules/no-trailing-function-commas.html",
 
-         },
 
-         fixable: "code",
 
-         schema: [],
 
-         messages: {
 
-             forbidden:
 
-                 "ES2017 trailing commas in parameter/argument lists are forbidden.",
 
-         },
 
-     },
 
-     create(context) {
 
-         const sourceCode = context.getSourceCode()
 
-         return {
 
-             ":function"(node) {
 
-                 const length = node.params.length
 
-                 if (length === 0) {
 
-                     return
 
-                 }
 
-                 const lastParam = node.params[length - 1]
 
-                 const token = sourceCode.getTokenAfter(lastParam)
 
-                 if (isCommaToken(token)) {
 
-                     context.report({
 
-                         loc: token.loc,
 
-                         messageId: "forbidden",
 
-                         fix(fixer) {
 
-                             return fixer.remove(token)
 
-                         },
 
-                     })
 
-                 }
 
-             },
 
-             "CallExpression, NewExpression"(node) {
 
-                 const token = sourceCode.getLastToken(node, 1)
 
-                 if (node.arguments.length >= 1 && isCommaToken(token)) {
 
-                     context.report({
 
-                         loc: token.loc,
 
-                         messageId: "forbidden",
 
-                         fix(fixer) {
 
-                             return fixer.remove(token)
 
-                         },
 
-                     })
 
-                 }
 
-             },
 
-         }
 
-     },
 
- }
 
 
  |