code: private static function exportClosure(\Closure $closure)
      {
          $reflection = new \ReflectionFunction($closure);
  
          $fileName = $reflection->getFileName();
          $start = $reflection->getStartLine();
          $end = $reflection->getEndLine();
  
          if ($fileName === false || $start === false || $end === false) {
              return 'function() {/* Error: unable to determine Closure source */}';
          }
  
          --$start;
  
          $source = implode("\n", array_slice(file($fileName), $start, $end - $start));
          $tokens = token_get_all('<?php ' . $source);
          array_shift($tokens);
  
          $closureTokens = [];
          $pendingParenthesisCount = 0;
          foreach ($tokens as $token) {
              if (isset($token[0]) && $token[0] === T_FUNCTION) {
                  $closureTokens[] = $token[1];
                  continue;
              }
              if ($closureTokens !== []) {
                  $closureTokens[] = isset($token[1]) ? $token[1] : $token;
                  if ($token === '}') {
                      $pendingParenthesisCount--;
                      if ($pendingParenthesisCount === 0) {
                          break;
                      }
                  } elseif ($token === '{') {
                      $pendingParenthesisCount++;
                  }
              }
          }
  
          return implode('', $closureTokens);
      }
docs: Exports a [[Closure]] instance.
  @param \Closure $closure closure instance.
  @return string