mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
48e0c70292
ghstack-source-id: bb66913e2d3c814696311371ed655f3da03d1199 Pull Request resolved: https://github.com/facebook/react-forget/pull/2926
25 lines
675 B
TypeScript
25 lines
675 B
TypeScript
/**
|
|
* 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.
|
|
*/
|
|
|
|
import * as t from "@babel/types";
|
|
|
|
export type ComponentDeclaration = t.FunctionDeclaration & {
|
|
__componentDeclaration: boolean;
|
|
};
|
|
|
|
export function isComponentDeclaration(
|
|
node: t.FunctionDeclaration
|
|
): node is ComponentDeclaration {
|
|
return Object.prototype.hasOwnProperty.call(node, "__componentDeclaration");
|
|
}
|
|
|
|
export function parseComponentDeclaration(
|
|
node: t.FunctionDeclaration
|
|
): ComponentDeclaration | null {
|
|
return isComponentDeclaration(node) ? node : null;
|
|
}
|