<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">'use strict';

const astUtil = require('./ast');

/**
 * Checks if the node is a React.createContext call
 * @param {ASTNode} node - The AST node being checked.
 * @returns {boolean} - True if node is a React.createContext call, false if not.
 */
module.exports = function isCreateContext(node) {
  if (
    node.init
    &amp;&amp; node.init.callee
  ) {
    if (
      astUtil.isCallExpression(node.init)
      &amp;&amp; node.init.callee.name === 'createContext'
    ) {
      return true;
    }

    if (
      node.init.callee.type === 'MemberExpression'
      &amp;&amp; node.init.callee.property
      &amp;&amp; node.init.callee.property.name === 'createContext'
    ) {
      return true;
    }
  }

  if (
    node.expression
    &amp;&amp; node.expression.type === 'AssignmentExpression'
    &amp;&amp; node.expression.operator === '='
    &amp;&amp; astUtil.isCallExpression(node.expression.right)
    &amp;&amp; node.expression.right.callee
  ) {
    const right = node.expression.right;

    if (right.callee.name === 'createContext') {
      return true;
    }

    if (
      right.callee.type === 'MemberExpression'
      &amp;&amp; right.callee.property
      &amp;&amp; right.callee.property.name === 'createContext'
    ) {
      return true;
    }
  }

  return false;
};
</pre></body></html>