Vercel/src/platforms/sony.ts
2025-03-21 08:40:03 -07:00

29 lines
800 B
TypeScript

import { convertNumberToRomanNumeral } from '@/utility/number';
export const MAKE_SONY = 'SONY';
export const isMakeSony = (make: string) =>
make === MAKE_SONY;
export const formatSonyModel = (model: string) => {
const [
_,
type,
series,
letter,
version,
modifier,
// eslint-disable-next-line max-len
] = /^(ILCE|ILME)-([0-9]*)([a-ln-z]*)M*([0-9]*)([a-z]*)/gi.exec(model) ?? [];
const versionNumber = parseInt(version || '0');
const versionRomanNumeral = versionNumber > 1 && versionNumber < 10
? ` ${convertNumberToRomanNumeral(versionNumber)}`
: '';
if (type === 'ILCE' || type === 'ILME') {
return type === 'ILCE'
? `A${series}${letter}${versionRomanNumeral || version}${modifier}`
: `FX${series}${version}`;
}
return model;
};