Об этом проекте

guessit-js — это порт библиотеки Python guessit на TypeScript для извлечения метаданных из имен медиафайлов. Он определяет 50 свойств, включая название, год, сезон, эпизод, разрешение, кодек, язык, потоковый сервис, группу выпуска и многое другое. Ключевые возможности: - 100% совместимость с Python guessit 4.4.0 (пройдено 1342/1342 тестовых случаев) - В 3,5 раза быстрее, чем Python (~4,4 мс против ~15,5 мс на один парсинг в Node.js) - 50 определяемых свойств с машиночитаемой JSON Schema - CLI с теми же флагами, что и у Python guessit, плюс дополнительные, такие как --serve для REST API, --benchmark и автодополнение командной строки - Сервер REST API (npx guessit-js --serve) - Сборка WASM через Javy/QuickJS для сред, отличных от JS (побитово идентична JS) - Поддержка Dual ESM и CommonJS - Полные определения типов TypeScript с полями значений, перечисленными в enum - Одна зависимость (rebulk-js) - Автоматически загружает пользовательскую конфигурацию из ~/.guessit/options.json Проект исправляет 32 исторические ошибки из Python guessit и корректно обрабатывает случаи, с которыми версия на Python до сих пор справляется неверно, такие как короткие названия (X2), полноширинные символы CJK, составные названия аниме с дефисами и номера событий UFC. CLI является полной заменой команды Python guessit. Доступны размещенная демо-версия и REST API для тестирования, а проект поставляется с JSON Schema draft-07 для проверки результатов и генерации клиентов на других языках.