all files / src/ scroll-settings.ts

100% Statements 15/15
100% Branches 4/4
100% Functions 3/3
100% Lines 14/14
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                      
export class ScrollSettings {
    BufferSize: number;
 
    private constructor() {
        this.BufferSize = 10;
    }
 
    static createFrom(attr: ng.IAttributes): ScrollSettings {
        const settingsObject = new ScrollSettings();
 
        if (attr['scrollBufferSize']) {
            try {
                const size = parseInt(attr['scrollBufferSize']);
                if (isNaN(size))
                    throw '';
 
                settingsObject.BufferSize = size;
            } catch {
                throw "could not initialize scroll settings, ScrollBufferSize is not a number";
            }
        }
 
        return settingsObject;
    }
}