/
githubmirror
/
react-native
Обзор
Документация
Войти
/
githubmirror
/
react-native
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
packages/react-native-codegen/src/parsers/flow/components/index.js
56 строк
1 KB
Jakub Piasecki
Update codegen to support namespaced types (#49950)
17 мар 2025, 17:26
17 мар 2025, 17:26
5349b7c
Код
Авторство
О чём код?
/** * 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 * @format */ 'use strict'; import type {Parser} from '../../parser'; import type {ComponentSchemaBuilderConfig} from '../../schema.js'; const { findComponentConfig, getCommandProperties, getOptions, } = require('../../parsers-commons'); const {getCommands} = require('./commands'); const {getEvents} = require('./events'); // $FlowFixMe[signature-verification-failure] there's no flowtype for AST function buildComponentSchema( ast: $FlowFixMe, parser: Parser, ): ComponentSchemaBuilderConfig { const {componentName, propsTypeName, optionsExpression} = findComponentConfig( ast, parser, ); const types = parser.getTypes(ast); const propProperties = parser.getProperties(propsTypeName, types); const commandProperties = getCommandProperties(ast, parser); const {extendsProps, props} = parser.getProps(propProperties, types); const options = getOptions(optionsExpression); const events = getEvents(propProperties, types, parser); const commands = getCommands(commandProperties, types, parser); return { filename: componentName, componentName, options, extendsProps, events, props, commands, }; } module.exports = { buildComponentSchema, };