mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Summary: This PR extracts the codegen `ModuleInterfaceNotFoundParserError` exception into a separate function inside `error-utils.js` so that it can be used by both Flow and Typescript parsers as requested on https://github.com/facebook/react-native/issues/34872. This also adds unit tests to the new `throwIfModuleInterfaceNotFound` function. ## Changelog [Internal] [Changed] - Extract codegen `ModuleInterfaceNotFoundParserError` in a separate function that can de used by Flow and TypeScript parsers Pull Request resolved: https://github.com/facebook/react-native/pull/34922 Test Plan: Run `yarn jest react-native-codegen` and ensure CI is green  Reviewed By: dmytrorykun Differential Revision: D40296533 Pulled By: cipolleschi fbshipit-source-id: 205469b15337f6c3847936a6ef5427b5a9e08665
34 lines
712 B
JavaScript
34 lines
712 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 strict-local
|
|
* @format
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
import type {ParserType} from './errors';
|
|
const {ModuleInterfaceNotFoundParserError} = require('./errors.js');
|
|
|
|
function throwIfModuleInterfaceNotFound(
|
|
numberOfModuleSpecs: number,
|
|
nativeModuleName: string,
|
|
ast: $FlowFixMe,
|
|
parserType: ParserType,
|
|
) {
|
|
if (numberOfModuleSpecs === 0) {
|
|
throw new ModuleInterfaceNotFoundParserError(
|
|
nativeModuleName,
|
|
ast,
|
|
parserType,
|
|
);
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
throwIfModuleInterfaceNotFound,
|
|
};
|