Files
react/packages/react-devtools-timeline/src/import-worker/readInputData.js
T
Andrew Clark 9cdf8a99ed [Codemod] Update copyright header to Meta (#25315)
* 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
2022-10-18 11:19:24 -04:00

36 lines
948 B
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
*/
import nullthrows from 'nullthrows';
import InvalidProfileError from './InvalidProfileError';
export const readInputData = (file: File): Promise<string> => {
if (!file.name.endsWith('.json')) {
throw new InvalidProfileError(
'Invalid file type. Only JSON performance profiles are supported',
);
}
const fileReader = new FileReader();
return new Promise((resolve, reject) => {
fileReader.onload = () => {
const result = nullthrows(fileReader.result);
if (typeof result === 'string') {
resolve(result);
}
reject(new InvalidProfileError('Input file was not read as a string'));
};
fileReader.onerror = () => reject(fileReader.error);
fileReader.readAsText(file);
});
};