MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //home/cafsindia/snap.cafsinfotech.in/node_modules/@babel/eslint-parser/lib/analyze-scope.cjs.map
{"version":3,"names":["Definition","PatternVisitor","OriginalPatternVisitor","Referencer","OriginalReferencer","Scope","ScopeManager","require","getKeys","fallback","visitorKeysMap","getVisitorValues","nodeType","client","FLOW_FLIPPED_ALIAS_KEYS","VISITOR_KEYS","getTypesInfo","flowFlippedAliasKeys","concat","Object","entries","reduce","acc","key","value","includes","propertyTypes","callProperties","type","values","indexers","properties","types","params","argument","elementType","qualification","rest","returnType","typeAnnotation","typeParameters","id","ArrayPattern","node","elements","forEach","visit","ObjectPattern","_client","WeakMap","constructor","options","scopeManager","_classPrivateFieldInitSpec","writable","_classPrivateFieldSet","visitPattern","callback","_checkIdentifierOrVisit","left","processRightHandNodes","visitor","rightHandNodes","visitClass","_visitArray","decorators","typeParamScope","_nestTypeParamScope","_visitTypeAnnotation","implements","superTypeParameters","close","visitFunction","visitProperty","_node$value","InterfaceDeclaration","_createScopeVariable","extends","body","TypeAlias","right","ClassProperty","_visitClassProperty","ClassPrivateProperty","PropertyDefinition","ClassPrivateMethod","MethodDefinition","DeclareModule","_visitDeclareX","DeclareFunction","DeclareVariable","DeclareClass","OptionalMemberExpression","MemberExpression","name","currentScope","variableScope","__define","parentScope","__currentScope","scope","__nestScope","j","length","apply","arguments","Array","isArray","visitorValues","_classPrivateFieldGet","i","visitorValue","propertyType","nodeProperty","k","loopPropertyNode","l","nodeList","module","exports","analyzeScope","ast","parserOptions","_parserOptions$ecmaFe","ignoreEval","optimistic","directive","nodejsScope","sourceType","ecmaFeatures","globalReturn","impliedStrict","ecmaVersion","childVisitorKeys","getVisitorKeys","referencer"],"sources":["../src/analyze-scope.cjs"],"sourcesContent":["const {\n  Definition,\n  PatternVisitor: OriginalPatternVisitor,\n  Referencer: OriginalReferencer,\n  Scope,\n  ScopeManager,\n} = process.env.BABEL_8_BREAKING\n  ? require(\"eslint-scope\")\n  : require(\"@nicolo-ribaudo/eslint-scope-5-internals\");\nconst { getKeys: fallback } = require(\"eslint-visitor-keys\");\n\nlet visitorKeysMap;\nfunction getVisitorValues(nodeType, client) {\n  if (visitorKeysMap) return visitorKeysMap[nodeType];\n\n  const { FLOW_FLIPPED_ALIAS_KEYS, VISITOR_KEYS } = client.getTypesInfo();\n\n  const flowFlippedAliasKeys = FLOW_FLIPPED_ALIAS_KEYS.concat([\n    \"ArrayPattern\",\n    \"ClassDeclaration\",\n    \"ClassExpression\",\n    \"FunctionDeclaration\",\n    \"FunctionExpression\",\n    \"Identifier\",\n    \"ObjectPattern\",\n    \"RestElement\",\n  ]);\n\n  visitorKeysMap = Object.entries(VISITOR_KEYS).reduce((acc, [key, value]) => {\n    if (!flowFlippedAliasKeys.includes(value)) {\n      acc[key] = value;\n    }\n    return acc;\n  }, {});\n\n  return visitorKeysMap[nodeType];\n}\n\nconst propertyTypes = {\n  // loops\n  callProperties: { type: \"loop\", values: [\"value\"] },\n  indexers: { type: \"loop\", values: [\"key\", \"value\"] },\n  properties: { type: \"loop\", values: [\"argument\", \"value\"] },\n  types: { type: \"loop\" },\n  params: { type: \"loop\" },\n  // single property\n  argument: { type: \"single\" },\n  elementType: { type: \"single\" },\n  qualification: { type: \"single\" },\n  rest: { type: \"single\" },\n  returnType: { type: \"single\" },\n  // others\n  typeAnnotation: { type: \"typeAnnotation\" },\n  typeParameters: { type: \"typeParameters\" },\n  id: { type: \"id\" },\n};\n\nclass PatternVisitor extends OriginalPatternVisitor {\n  ArrayPattern(node) {\n    node.elements.forEach(this.visit, this);\n  }\n\n  ObjectPattern(node) {\n    node.properties.forEach(this.visit, this);\n  }\n}\n\nclass Referencer extends OriginalReferencer {\n  #client;\n\n  constructor(options, scopeManager, client) {\n    super(options, scopeManager);\n    this.#client = client;\n  }\n\n  // inherits.\n  visitPattern(node, options, callback) {\n    if (!node) {\n      return;\n    }\n\n    // Visit type annotations.\n    this._checkIdentifierOrVisit(node.typeAnnotation);\n    if (node.type === \"AssignmentPattern\") {\n      this._checkIdentifierOrVisit(node.left.typeAnnotation);\n    }\n\n    // Overwrite `super.visitPattern(node, options, callback)` in order to not visit `ArrayPattern#typeAnnotation` and `ObjectPattern#typeAnnotation`.\n    if (typeof options === \"function\") {\n      callback = options;\n      options = { processRightHandNodes: false };\n    }\n\n    const visitor = new PatternVisitor(this.options, node, callback);\n    visitor.visit(node);\n\n    // Process the right hand nodes recursively.\n    if (options.processRightHandNodes) {\n      visitor.rightHandNodes.forEach(this.visit, this);\n    }\n  }\n\n  // inherits.\n  visitClass(node) {\n    // Decorators.\n    this._visitArray(node.decorators);\n\n    // Flow type parameters.\n    const typeParamScope = this._nestTypeParamScope(node);\n\n    // Flow super types.\n    this._visitTypeAnnotation(node.implements);\n    this._visitTypeAnnotation(\n      node.superTypeParameters && node.superTypeParameters.params,\n    );\n\n    // Basic.\n    super.visitClass(node);\n\n    // Close the type parameter scope.\n    if (typeParamScope) {\n      this.close(node);\n    }\n  }\n\n  // inherits.\n  visitFunction(node) {\n    const typeParamScope = this._nestTypeParamScope(node);\n\n    // Flow return types.\n    this._checkIdentifierOrVisit(node.returnType);\n\n    // Basic.\n    super.visitFunction(node);\n\n    // Close the type parameter scope.\n    if (typeParamScope) {\n      this.close(node);\n    }\n  }\n\n  // inherits.\n  visitProperty(node) {\n    if (node.value?.type === \"TypeCastExpression\") {\n      this._visitTypeAnnotation(node.value);\n    }\n    this._visitArray(node.decorators);\n    super.visitProperty(node);\n  }\n\n  InterfaceDeclaration(node) {\n    this._createScopeVariable(node, node.id);\n\n    const typeParamScope = this._nestTypeParamScope(node);\n\n    // TODO: Handle mixins\n    this._visitArray(node.extends);\n    this.visit(node.body);\n\n    if (typeParamScope) {\n      this.close(node);\n    }\n  }\n\n  TypeAlias(node) {\n    this._createScopeVariable(node, node.id);\n\n    const typeParamScope = this._nestTypeParamScope(node);\n\n    this.visit(node.right);\n\n    if (typeParamScope) {\n      this.close(node);\n    }\n  }\n\n  ClassProperty(node) {\n    this._visitClassProperty(node);\n  }\n\n  ClassPrivateProperty(node) {\n    this._visitClassProperty(node);\n  }\n\n  PropertyDefinition(node) {\n    this._visitClassProperty(node);\n  }\n\n  // TODO: Update to visit type annotations when TypeScript/Flow support this syntax.\n  ClassPrivateMethod(node) {\n    super.MethodDefinition(node);\n  }\n\n  DeclareModule(node) {\n    this._visitDeclareX(node);\n  }\n\n  DeclareFunction(node) {\n    this._visitDeclareX(node);\n  }\n\n  DeclareVariable(node) {\n    this._visitDeclareX(node);\n  }\n\n  DeclareClass(node) {\n    this._visitDeclareX(node);\n  }\n\n  // visit OptionalMemberExpression as a MemberExpression.\n  OptionalMemberExpression(node) {\n    super.MemberExpression(node);\n  }\n\n  _visitClassProperty(node) {\n    this._visitTypeAnnotation(node.typeAnnotation);\n    this.visitProperty(node);\n  }\n\n  _visitDeclareX(node) {\n    if (node.id) {\n      this._createScopeVariable(node, node.id);\n    }\n\n    const typeParamScope = this._nestTypeParamScope(node);\n    if (typeParamScope) {\n      this.close(node);\n    }\n  }\n\n  _createScopeVariable(node, name) {\n    this.currentScope().variableScope.__define(\n      name,\n      new Definition(\"Variable\", name, node, null, null, null),\n    );\n  }\n\n  _nestTypeParamScope(node) {\n    if (!node.typeParameters) {\n      return null;\n    }\n\n    const parentScope = this.scopeManager.__currentScope;\n    const scope = new Scope(\n      this.scopeManager,\n      \"type-parameters\",\n      parentScope,\n      node,\n      false,\n    );\n\n    this.scopeManager.__nestScope(scope);\n    for (let j = 0; j < node.typeParameters.params.length; j++) {\n      const name = node.typeParameters.params[j];\n      scope.__define(name, new Definition(\"TypeParameter\", name, name));\n      if (name.typeAnnotation) {\n        this._checkIdentifierOrVisit(name);\n      }\n    }\n    scope.__define = function () {\n      return parentScope.__define.apply(parentScope, arguments);\n    };\n\n    return scope;\n  }\n\n  _visitTypeAnnotation(node) {\n    if (!node) {\n      return;\n    }\n    if (Array.isArray(node)) {\n      node.forEach(this._visitTypeAnnotation, this);\n      return;\n    }\n\n    // get property to check (params, id, etc...)\n    const visitorValues = getVisitorValues(node.type, this.#client);\n    if (!visitorValues) {\n      return;\n    }\n\n    // can have multiple properties\n    for (let i = 0; i < visitorValues.length; i++) {\n      const visitorValue = visitorValues[i];\n      const propertyType = propertyTypes[visitorValue];\n      const nodeProperty = node[visitorValue];\n      // check if property or type is defined\n      if (propertyType == null || nodeProperty == null) {\n        continue;\n      }\n      if (propertyType.type === \"loop\") {\n        for (let j = 0; j < nodeProperty.length; j++) {\n          if (Array.isArray(propertyType.values)) {\n            for (let k = 0; k < propertyType.values.length; k++) {\n              const loopPropertyNode = nodeProperty[j][propertyType.values[k]];\n              if (loopPropertyNode) {\n                this._checkIdentifierOrVisit(loopPropertyNode);\n              }\n            }\n          } else {\n            this._checkIdentifierOrVisit(nodeProperty[j]);\n          }\n        }\n      } else if (propertyType.type === \"single\") {\n        this._checkIdentifierOrVisit(nodeProperty);\n      } else if (propertyType.type === \"typeAnnotation\") {\n        this._visitTypeAnnotation(node.typeAnnotation);\n      } else if (propertyType.type === \"typeParameters\") {\n        for (let l = 0; l < node.typeParameters.params.length; l++) {\n          this._checkIdentifierOrVisit(node.typeParameters.params[l]);\n        }\n      } else if (propertyType.type === \"id\") {\n        if (node.id.type === \"Identifier\") {\n          this._checkIdentifierOrVisit(node.id);\n        } else {\n          this._visitTypeAnnotation(node.id);\n        }\n      }\n    }\n  }\n\n  _checkIdentifierOrVisit(node) {\n    if (node?.typeAnnotation) {\n      this._visitTypeAnnotation(node.typeAnnotation);\n    } else if (node?.type === \"Identifier\") {\n      this.visit(node);\n    } else {\n      this._visitTypeAnnotation(node);\n    }\n  }\n\n  _visitArray(nodeList) {\n    if (nodeList) {\n      for (const node of nodeList) {\n        this.visit(node);\n      }\n    }\n  }\n}\n\nmodule.exports = function analyzeScope(ast, parserOptions, client) {\n  const options = {\n    ignoreEval: true,\n    optimistic: false,\n    directive: false,\n    nodejsScope:\n      ast.sourceType === \"script\" &&\n      parserOptions.ecmaFeatures?.globalReturn === true,\n    impliedStrict: false,\n    sourceType: ast.sourceType,\n    ecmaVersion: parserOptions.ecmaVersion,\n    fallback,\n  };\n\n  options.childVisitorKeys = client.getVisitorKeys();\n\n  const scopeManager = new ScopeManager(options);\n  const referencer = new Referencer(options, scopeManager, client);\n\n  referencer.visit(ast);\n\n  return scopeManager;\n};\n"],"mappings":"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"}