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