Серия библиотек на основе компилятора TypeScript

  1. Я сделал библиотеку валидатора TypeScript в 1000 раз быстрее

    • Помогите мне переименовать typescript-json пакет в другой
  2. Я сделал в 10 раз более быстрые функции JSON.stringify(), даже безопасные для ввода
  3. Не используйте class-validator и class-transformer, вместо этого используйте чистый тип TypeScript.
  4. Автоматический генератор компонентов React из типа TypeScript

Здравствуйте, я разработчик typscript-json и вернулся, чтобы получить идеи о переименовании пакетов.


Рекомендовать новое имя пакета

typescript-json начинался как предоставление быстрой функции строковой обработки JSON. Однако такая более быстрая функция строковой обработки JSON требовала точного анализа и проверки типов. Поэтому я разработал такие функции анализа и проверки типов и, естественно, начал предоставлять такие функции.

В настоящее время такие функции проверки типов стали ключевой особенностью typescript-jsonи многие хотят меня и typescript-json для поддержки большего количества функций на основе анализатора типов. Например, есть некоторые (многие) люди, которые хотят typescript-json для поддержки буфера протокола. В качестве вспомогательного буфера протокола на основе анализатора типов typescript-json это очень легко для меня и typescript-jsonя собираюсь поддержать эту функцию в следующем месяце.

Однако всякий раз, когда я добавляю дополнительные функции на основе анализатора типов, моя библиотека typescript-json отходит от темы JSON. Как вы знаете, проверка типов или протокольный буфер в JSON полностью отличаются. Слово «JSON» становится словом, которое больше не может представлять мой проект.

Таким образом, я планирую изменить имя пакета с typescript-json к другому. Я подумываю выбрать один из приведенных ниже и хочу услышать ваше мнение. Ничего страшного, если вы порекомендуете другое новое имя, которое еще не зарегистрировано в пакете npm (но надеюсь, что оно будет коротким). Пожалуйста, скажите мне вашу идею.

  • tval: Введите Валидатор +a
  • ttype: Тип преобразования
  • typia: Просто для единообразия имен моих библиотек

    • nestia: декоратор проверки NestJS + генератор SDK/Swagger
    • reactia: строить передний компонент только по типу TypeScript


какая typescript-json является

Для тех, кто не знает typescript-jsonя просто скопировал и вставил его вики содержание.

//----
// RUNTIME VALIDATORS
//----
// ALLOW SUPERFLUOUS PROPERTIES
export function is<T>(input: unknown | T): input is T; // returns boolean
export function assert<T>(input: unknown | T): T; // throws TypeGuardError
export function validate<T>(input: unknown | T): IValidation<T>; // detailed

// DO NOT ALLOW SUPERFLUOUS PROPERTIES
export function equals<T>(input: unknown: T): input is T;
export function assertEquals<T>(input: unknown | T): T;
export function validateEquals<T>(input: unknown | T): IValidation<T>;

//----
// SERIALIZERS
//----
// JSON SCHEMA & STRINGIFY
export function application<[T, U, V]>(): IJsonApplication; // JSON schema
export function stringify<T>(input: T): string; // faster JSON.stringify()
export function isStringify<T>(input: T): string | null; // safe stringify
export function assertStringify<T>(input: T): string;

// PROTOCOL BUFFER
export function message<[T, U, V]>(): string; // Protocol Buffer message
export function decode<T>(buffer: Buffer): T; // decode protobuf to object
export function encode<T>(input: T): Buffer; // encode object to protobuf
export function isEncode<T>(input: T): Buffer | null; // safe encoder
export function assertEncode<T>(input: T): Buffer;

typescript-json представляет собой библиотеку-трансформер TypeScript, поддерживающую следующие функции:

  • Сверхбыстрые валидаторы времени выполнения
  • Кодер и декодер буфера протокола
  • Более безопасные и быстрые функции строковой обработки JSON
  • Генератор схемы JSON

Все функции в typescript-json требовать только одна линия. Вам не нужно никаких дополнительных усилий, таких как определения схемы JSON или вызовы функций декоратора. Просто позвони typescript-json функция только с одной строкой, например TSON.assert<T>(input).

Также, как typescript-json выполняет компиляцию AOT (Ahead of Time), ее производительность намного выше, чем у других конкурирующих библиотек. Например, при сравнении функции проверки is() с другими конкурентными библиотеками, typescript-json максимально в 15 000 раз быстрее чем class-validator.

Является эталоном функции

Измерено на Intel i5-1135g7, поверхность Pro 8