| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- /**
 
-  * @author Toru Nagashima <https://github.com/mysticatea>
 
-  * See LICENSE file in root directory for full license.
 
-  */
 
- "use strict"
 
- const { isOpeningBracketToken, isClosingBracketToken } = require("eslint-utils")
 
- module.exports = {
 
-     meta: {
 
-         docs: {
 
-             description: "disallow property shorthands.",
 
-             category: "ES2015",
 
-             recommended: false,
 
-             url:
 
-                 "http://mysticatea.github.io/eslint-plugin-es/rules/no-property-shorthands.html",
 
-         },
 
-         fixable: "code",
 
-         schema: [],
 
-         messages: {
 
-             forbidden: "ES2015 property shorthands are forbidden.",
 
-         },
 
-     },
 
-     create(context) {
 
-         const sourceCode = context.getSourceCode()
 
-         /**
 
-          * Fixes a FunctionExpression node by making it into a longform property.
 
-          * @param {SourceCodeFixer} fixer The fixer object
 
-          * @param {ASTNode} node A `Property` node that has a `FunctionExpression` as its value
 
-          * @returns {object} A fix for this node
 
-          */
 
-         function makeFunctionLongform(fixer, node) {
 
-             const firstKeyToken = node.computed
 
-                 ? sourceCode.getTokenBefore(node.key, isOpeningBracketToken)
 
-                 : sourceCode.getFirstToken(node.key)
 
-             const lastKeyToken = node.computed
 
-                 ? sourceCode.getTokenAfter(node.key, isClosingBracketToken)
 
-                 : sourceCode.getLastToken(node.key)
 
-             const keyText = sourceCode.text.slice(
 
-                 firstKeyToken.range[0],
 
-                 lastKeyToken.range[1]
 
-             )
 
-             let functionHeader = "function"
 
-             if (node.value.async) {
 
-                 functionHeader = `async ${functionHeader}`
 
-             }
 
-             if (node.value.generator) {
 
-                 functionHeader = `${functionHeader}*`
 
-             }
 
-             return fixer.replaceTextRange(
 
-                 [node.range[0], lastKeyToken.range[1]],
 
-                 `${keyText}: ${functionHeader}`
 
-             )
 
-         }
 
-         return {
 
-             "ObjectExpression > :matches(Property[method=true], Property[shorthand=true])"(
 
-                 node
 
-             ) {
 
-                 context.report({
 
-                     node,
 
-                     messageId: "forbidden",
 
-                     fix: node.method
 
-                         ? fixer => makeFunctionLongform(fixer, node)
 
-                         : fixer =>
 
-                               fixer.insertTextAfter(
 
-                                   node.key,
 
-                                   `: ${node.key.name}`
 
-                               ),
 
-                 })
 
-             },
 
-         }
 
-     },
 
- }
 
 
  |