UNPKG

@react-native/codegen

Version:
63 lines (57 loc) 1.26 kB
/** * 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. * * @format * @flow strict */ 'use strict'; import type { CommandTypeAnnotation, EventTypeShape, ExtendsPropsShape, NamedShape, OptionsShape, PropTypeAnnotation, SchemaType, } from '../CodegenSchema.js'; export type ComponentSchemaBuilderConfig = $ReadOnly<{ filename: string, componentName: string, extendsProps: $ReadOnlyArray<ExtendsPropsShape>, events: $ReadOnlyArray<EventTypeShape>, props: $ReadOnlyArray<NamedShape<PropTypeAnnotation>>, commands: $ReadOnlyArray<NamedShape<CommandTypeAnnotation>>, options?: ?OptionsShape, }>; function wrapComponentSchema({ filename, componentName, extendsProps, events, props, options, commands, }: ComponentSchemaBuilderConfig): SchemaType { return { modules: { [filename]: { type: 'Component', components: { [componentName]: { ...(options || {}), extendsProps, events, props, commands, }, }, }, }, }; } module.exports = { wrapComponentSchema, };