function defineMaxSizeLs () {
    const itemSize = 1024 * 10;
    let maxSize = 0;
    let i = 0;
    let buffer = '';

    for (let k = 0; k < itemSize; k++) {
        buffer += '0';
    }

    const getStorageSize = () => {
        var occupied = 0;

        for (let j = 0; j < localStorage.length; j++) {
            occupied += localStorage[localStorage.key(j)].length;
        }

        return occupied;
    };

    const run = () => {
        console.log('expected size = ', maxSize, 'actual size = ', getStorageSize());

        try {
            localStorage.setItem('___test' + i, buffer);

            setTimeout(() => {
                maxSize += itemSize;
                ++i;
                run();
            }, 100);
        } catch(e) {
            console.log('max size', maxSize);
        }
    };

    run();
}