PHP 7.4.33
Preview: ReactNativeRuntimeDiagnostics.js Size: 1.65 KB
/var/www/uibuilder.cmshelp.dk/httpdocs/node_modules/react-native/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js
/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow strict-local
 * @format
 */

'use strict';

/**
 * Perform a set of runtime diagnostics, usually useful for test purpose.
 * This is only meaningful for __DEV__ mode.
 */
export type RuntimeDiagnostics = {|
  /**
   * Check if the runtime diagnostics is enabled at all.
   */
  isEnabled: () => boolean,

  /**
   * If enabled, simulate early JavaScript errors during initialization.
   */
  simulateEarlyJavaScriptErrors: () => void,
|};

export type RuntimeDiagnosticFlag = 'early_js_errors' | 'all';

const flags: Array<RuntimeDiagnosticFlag> = [];
let isEnabled = false;
let shouldEnableAll = false;

if (__DEV__) {
  if (typeof global.RN$DiagnosticFlags === 'string') {
    global.RN$DiagnosticFlags.split(',').forEach(flag => {
      switch (flag) {
        case 'early_js_errors':
        case 'all':
          flags.push(flag);
          break;
        default:
          throw Error(
            `RuntimeDiagnosticsFlags: unknown flag was supplied: '${flag}'`,
          );
      }
    });
    isEnabled = flags.length > 0;
    shouldEnableAll = flags.includes('all');
  }
}

const ReactNativeRuntimeDiagnostics: RuntimeDiagnostics = {
  isEnabled: () => isEnabled,
  simulateEarlyJavaScriptErrors: () => {
    if (__DEV__) {
      if (!isEnabled) {
        return;
      }
      if (shouldEnableAll || flags.includes('early_js_errors')) {
        throw Error('[Runtime Diagnostics] Throwing a JavaScript error.');
      }
    }
  },
};

module.exports = ReactNativeRuntimeDiagnostics;

Directory Contents

Dirs: 1 × Files: 30
Name Size Perms Modified Actions
- drwxr-xr-x 2025-03-28 11:04:42
Edit Download
6.15 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
1.12 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
812 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
3.47 KB lrw-r--r-- 2025-03-28 11:04:43
Edit Download
10.67 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
12.37 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
805 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
4.24 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
873 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
6.01 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
286 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
762 B lrw-r--r-- 2025-03-28 11:04:43
Edit Download
1.36 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
446 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
406 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
404 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
5.96 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
963 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
1.65 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
3.29 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
4.31 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
442 B lrw-r--r-- 2025-03-28 11:04:43
Edit Download
899 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
833 B lrw-r--r-- 2025-03-28 11:04:43
Edit Download
1.02 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
327 B lrw-r--r-- 2025-03-28 11:04:43
Edit Download
593 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
3.36 KB lrw-r--r-- 2025-03-28 11:04:43
Edit Download
5.38 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
1.96 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).