/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native-codegen/src/generators/Utils.js
53 строки
1 KB
Vitali Zaidman
Generate enum types that would be allowed to be used as well as string/number in c++ turbo modules generators (#36030)
14 фев 2023, 02:09
14 фев 2023, 02:09
ceb1d0d
Код
Авторство
О чём код?
/** * 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'; function capitalize(string: string): string { return string.charAt(0).toUpperCase() + string.slice(1); } function indent(nice: string, spaces: number): string { return nice .split('\n') .map((line, index) => { if (line.length === 0 || index === 0) { return line; } const emptySpaces = new Array<mixed>(spaces + 1).join(' '); return emptySpaces + line; }) .join('\n'); } function toPascalCase(inString: string): string { if (inString.length === 0) { return inString; } return inString[0].toUpperCase() + inString.slice(1); } function toSafeCppString(input: string): string { return input.split('-').map(toPascalCase).join(''); } function getEnumName(moduleName: string, origEnumName: string): string { const uppercasedPropName = toSafeCppString(origEnumName); return `${moduleName}${uppercasedPropName}`; } module.exports = { capitalize, indent, toPascalCase, toSafeCppString, getEnumName, };