belgattitude/nextjs-monorepo-example

View on GitHub
packages/ts-utils/src/convert/string-convert.ts

Summary

Maintainability
A
25 mins
Test Coverage
import { isParsableNumeric, isParsableSafeInteger } from '../typeguards';
 
export function stringToSafeInteger(value: unknown): number | null {
if (!isParsableSafeInteger(value)) {
return null;
}
return typeof value === 'string' ? Number.parseInt(value, 10) : value;
}
 
Function `stringToFloat` has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
export function stringToFloat(value: unknown): number | null {
if (
!isParsableNumeric(
typeof value === 'number' ? value.toString(10) : (value ?? '')
)
) {
return null;
}
const v = Number.parseFloat(
typeof value === 'string' ? value : (value as number).toString(10)
);
return Number.isNaN(v) ? null : v;
}