-export const ifUndefined = <T>(value: T | undefined, isValue: T): T => {
- if (isUndefined(value) === true) return isValue;
- return value as T;
-};
+export const convertToInt = (value: unknown): number => {
+ if (value == null) {
+ return 0
+ }
+ if (Number.isSafeInteger(value)) {
+ return value as number
+ }
+ if (typeof value === 'number') {
+ return Math.trunc(value)
+ }
+ let changedValue: number = value as number
+ if (typeof value === 'string') {
+ changedValue = parseInt(value)
+ }
+ if (isNaN(changedValue)) {
+ throw new Error(`Cannot convert to integer: '${String(value)}'`)
+ }
+ return changedValue
+}