All files / src/utils/data/converter defaultValueConverter.ts

69.23% Statements 9/13
50% Branches 6/12
100% Functions 2/2
69.23% Lines 9/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39    6x       7x   3x   2x   2x                     4x     3x   1x                   6x
import ValueConverter from "./interfaces";
 
const defaultValueConverter: ValueConverter = {
 
    fromString: (value: string, type: Function) => {
 
        switch (type) {
            case Boolean:
                return value !== 'false';
            case Number:
                return Number(value);
            case Date:
                return new Date(value);
            case Object:
            case Array:
                return JSON.parse(value);
        }
 
        return value;
    },
 
    toString: (value: any, type: Function) => {
 
        switch (type) {
            case Boolean:
            case Number:
                return value.toString();
            case Date:
                return value.toISOString();
            case Object:
            case Array:
                return value == null ? value : JSON.stringify(value);
        }
 
        return value;
    }
};
 
export default defaultValueConverter;