mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
* Facebook -> Meta in copyright rg --files | xargs sed -i 's#Copyright (c) Facebook, Inc. and its affiliates.#Copyright (c) Meta Platforms, Inc. and affiliates.#g' * Manual tweaks
33 lines
1.0 KiB
JavaScript
33 lines
1.0 KiB
JavaScript
/**
|
|
* 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
|
|
*/
|
|
|
|
// This file uses workerize to load ./importFile.worker as a webworker and instanciates it,
|
|
// exposing flow typed functions that can be used on other files.
|
|
|
|
import * as importFileModule from './importFile';
|
|
import WorkerizedImportFile from './importFile.worker';
|
|
|
|
import type {TimelineData} from '../types';
|
|
|
|
type ImportFileModule = typeof importFileModule;
|
|
|
|
const workerizedImportFile: ImportFileModule = window.Worker
|
|
? WorkerizedImportFile()
|
|
: importFileModule;
|
|
|
|
export type ImportWorkerOutputData =
|
|
| {status: 'SUCCESS', processedData: TimelineData}
|
|
| {status: 'INVALID_PROFILE_ERROR', error: Error}
|
|
| {status: 'UNEXPECTED_ERROR', error: Error};
|
|
|
|
export type importFileFunction = (file: File) => ImportWorkerOutputData;
|
|
|
|
export const importFile = (file: File): Promise<ImportWorkerOutputData> =>
|
|
workerizedImportFile.importFile(file);
|