Преобразование большого списка типов машинописных текстов из «верблюжьего» в «змеиный» только для ключейC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Преобразование большого списка типов машинописных текстов из «верблюжьего» в «змеиный» только для ключей

Сообщение Anonymous »

Мой веб-API ASP.NET Core сериализует все мои классы в змеиный регистр при возврате ответов во внешний интерфейс. Я делал это уже некоторое время, но в последнее время мы используем API GraphQL на серверной стороне и используем клубничный коктейль для создания классов и клиентов для взаимодействия с API GraphQL.
Потому что я использую повторно почти весь API во внешнем интерфейсе нашего приложения (Vuejs + Typescript), я просто возвращаю эти классы, сгенерированные клубничным коктейлем, которые по умолчанию являются PascalCase в C#, но мой API снова преобразует их в змеиный регистр, что идеально, поэтому мой API единообразен для всех моих конечных точек и даже для тех, которые используют эти новые данные GraphQL. Однако во внешнем интерфейсе мне нужно создать типы для использования этих новых данных GraphQL и для упрощения работы у меня есть файл Schema.json из API GraphQL, который я преобразовал в типы машинописных текстов с помощью онлайн-инструмента. Опять же, все отлично, за исключением того, что этот файл Schema.json имеет верблюжий регистр, поэтому типы, которые он создает в этом инструменте, также являются верблюжьим. Поэтому мне нужно найти способ преобразовать этот гигантский список типов в змеиный регистр только для ключей (я обычно сохраняю сами классы в Pascal Case, как и мой внутренний API).
Есть ли простой способ сделать это. В качестве примера вот некоторые типы, которые мне нужно преобразовать, а это около 3000 строк кода:

Код: Выделить всё

export type QueryFetchRateArgs = {
exampleField: FetchRateInput
anotherExampleField: number
}
export type FetchRateInput = {
anotherCoolField: number
}
преобразован в футляр со змеей:

Код: Выделить всё

export type QueryFetchRateArgs = {
example_field: FetchRateInput
another_example_field: number
}
export type FetchRateInput = {
another_cool_field: number
}
В конечном итоге мне нужно преобразовать эти типы верблюжьих футляров в змеиные футляры только для ключей. Я могу сделать это перед созданием проекта, поскольку преобразованные типы будут храниться в файле ts, чтобы я мог ссылаться на них. Я пытаюсь уменьшить необходимость делать это вручную, поэтому интересно, есть ли лучшее решение.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ase-for-ke
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»