467760535c6f5ec88cc1c58949a5c267743806f7
1 export const convertToBoolean
= (value
: unknown
): boolean => {
5 if (typeof value
=== 'boolean') {
7 } else if (typeof value
=== 'string' && (value
.toLowerCase() === 'true' || value
=== '1')) {
9 } else if (typeof value
=== 'number' && value
=== 1) {
16 export const convertToInt
= (value
: unknown
): number => {
20 if (Number.isSafeInteger(value
)) {
21 return value
as number
23 if (typeof value
=== 'number') {
24 return Math.trunc(value
)
26 let changedValue
: number = value
as number
27 if (typeof value
=== 'string') {
28 changedValue
= parseInt(value
)
30 if (isNaN(changedValue
)) {
31 throw new Error(`Cannot convert to integer: '${String(value)}'`)
36 export const setToLocalStorage
= <T
>(key
: string, value
: T
): void => {
37 localStorage
.setItem(key
, JSON
.stringify(value
))
40 export const getFromLocalStorage
= <T
>(key
: string, defaultValue
: T
): T
=> {
41 const item
= localStorage
.getItem(key
)
42 return item
!= null ? (JSON
.parse(item
) as T
) : defaultValue
45 export const deleteFromLocalStorage
= (key
: string): void => {
46 localStorage
.removeItem(key
)
49 export const getLocalStorage
= (): Storage
=> {
53 export const randomUUID
= (): `${string}-${string}-${string}-${string}-${string}` => {
54 return crypto
.randomUUID()