/** * 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 HookDeclaration = t.FunctionDeclaration & { __hookDeclaration: boolean; }; export function isHookDeclaration( node: t.FunctionDeclaration, ): node is HookDeclaration { return Object.prototype.hasOwnProperty.call(node, '__hookDeclaration'); } export function parseHookDeclaration( node: t.FunctionDeclaration, ): HookDeclaration | null { return isHookDeclaration(node) ? node : null; }