Home / File/ createDataResourceFromImportedFile.js — react Source File

createDataResourceFromImportedFile.js — react Source File

Architecture documentation for createDataResourceFromImportedFile.js, a javascript file in the react codebase. 3 imports, 0 dependents.

File javascript BabelCompiler Validation 3 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  23e188b5_5b1d_e081_bafe_8ae837e2bab9["createDataResourceFromImportedFile.js"]
  a9fa5571_b040_365c_40f4_cd5d0a8cdc2f["index.js"]
  23e188b5_5b1d_e081_bafe_8ae837e2bab9 --> a9fa5571_b040_365c_40f4_cd5d0a8cdc2f
  20cc2065_4b5b_fd6b_be12_28f36b0ff4cf["types.js"]
  23e188b5_5b1d_e081_bafe_8ae837e2bab9 --> 20cc2065_4b5b_fd6b_be12_28f36b0ff4cf
  8bf5dd3d_f023_a223_98d3_e2cded9afa62["cache"]
  23e188b5_5b1d_e081_bafe_8ae837e2bab9 --> 8bf5dd3d_f023_a223_98d3_e2cded9afa62
  style 23e188b5_5b1d_e081_bafe_8ae837e2bab9 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/**
 * 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
 */

import {createResource} from 'react-devtools-shared/src/devtools/cache';
import {importFile} from './import-worker';

import type {Resource} from 'react-devtools-shared/src/devtools/cache';
import type {TimelineData} from './types';
import type {ImportWorkerOutputData} from './import-worker/index';

export type DataResource = Resource<void, File, TimelineData | Error>;

export default function createDataResourceFromImportedFile(
  file: File,
): DataResource {
  return createResource(
    () => {
      return new Promise<TimelineData | Error>((resolve, reject) => {
        const promise = ((importFile(
          file,
        ): any): Promise<ImportWorkerOutputData>);
        promise.then(data => {
          switch (data.status) {
            case 'SUCCESS':
              resolve(data.processedData);
              break;
            case 'INVALID_PROFILE_ERROR':
              resolve(data.error);
              break;
            case 'UNEXPECTED_ERROR':
              reject(data.error);
              break;
          }
        });
      });
    },
    () => file,
    {useWeakMap: true},
  );
}

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does createDataResourceFromImportedFile.js do?
createDataResourceFromImportedFile.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Validation subdomain.
What functions are defined in createDataResourceFromImportedFile.js?
createDataResourceFromImportedFile.js defines 1 function(s): createDataResourceFromImportedFile.
What does createDataResourceFromImportedFile.js depend on?
createDataResourceFromImportedFile.js imports 3 module(s): cache, index.js, types.js.
Where is createDataResourceFromImportedFile.js in the architecture?
createDataResourceFromImportedFile.js is located at packages/react-devtools-timeline/src/createDataResourceFromImportedFile.js (domain: BabelCompiler, subdomain: Validation, directory: packages/react-devtools-timeline/src).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free