| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | 
							- /**
 
-  * @fileoverview Rule to disallow specified names in exports
 
-  * @author Milos Djermanovic
 
-  */
 
- "use strict";
 
- //------------------------------------------------------------------------------
 
- // Rule Definition
 
- //------------------------------------------------------------------------------
 
- module.exports = {
 
-     meta: {
 
-         type: "suggestion",
 
-         docs: {
 
-             description: "disallow specified names in exports",
 
-             category: "ECMAScript 6",
 
-             recommended: false,
 
-             url: "https://eslint.org/docs/rules/no-restricted-exports"
 
-         },
 
-         schema: [{
 
-             type: "object",
 
-             properties: {
 
-                 restrictedNamedExports: {
 
-                     type: "array",
 
-                     items: {
 
-                         type: "string"
 
-                     },
 
-                     uniqueItems: true
 
-                 }
 
-             },
 
-             additionalProperties: false
 
-         }],
 
-         messages: {
 
-             restrictedNamed: "'{{name}}' is restricted from being used as an exported name."
 
-         }
 
-     },
 
-     create(context) {
 
-         const restrictedNames = new Set(context.options[0] && context.options[0].restrictedNamedExports);
 
-         /**
 
-          * Checks and reports given exported identifier.
 
-          * @param {ASTNode} node exported `Identifier` node to check.
 
-          * @returns {void}
 
-          */
 
-         function checkExportedName(node) {
 
-             const name = node.name;
 
-             if (restrictedNames.has(name)) {
 
-                 context.report({
 
-                     node,
 
-                     messageId: "restrictedNamed",
 
-                     data: { name }
 
-                 });
 
-             }
 
-         }
 
-         return {
 
-             ExportAllDeclaration(node) {
 
-                 if (node.exported) {
 
-                     checkExportedName(node.exported);
 
-                 }
 
-             },
 
-             ExportNamedDeclaration(node) {
 
-                 const declaration = node.declaration;
 
-                 if (declaration) {
 
-                     if (declaration.type === "FunctionDeclaration" || declaration.type === "ClassDeclaration") {
 
-                         checkExportedName(declaration.id);
 
-                     } else if (declaration.type === "VariableDeclaration") {
 
-                         context.getDeclaredVariables(declaration)
 
-                             .map(v => v.defs.find(d => d.parent === declaration))
 
-                             .map(d => d.name) // Identifier nodes
 
-                             .forEach(checkExportedName);
 
-                     }
 
-                 } else {
 
-                     node.specifiers
 
-                         .map(s => s.exported)
 
-                         .forEach(checkExportedName);
 
-                 }
 
-             }
 
-         };
 
-     }
 
- };
 
 
  |