Code coverage report for ./src/ocLazyLoad.polyfill.ie8.js

Statements: 5% (1 / 20)      Branches: 5.56% (1 / 18)      Functions: 0% (0 / 1)      Lines: 5% (1 / 20)      Ignored: none     

All files » ./src\ » ocLazyLoad.polyfill.ie8.js
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66      1                                                                                                                            
// Array.indexOf polyfill for IE8
"use strict";
 
Iif (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function (searchElement, fromIndex) {
        var k;
 
        // 1. Let O be the result of calling ToObject passing
        //    the this value as the argument.
        if (this == null) {
            throw new TypeError("\"this\" is null or not defined");
        }
 
        var O = Object(this);
 
        // 2. Let lenValue be the result of calling the Get
        //    internal method of O with the argument "length".
        // 3. Let len be ToUint32(lenValue).
        var len = O.length >>> 0;
 
        // 4. If len is 0, return -1.
        if (len === 0) {
            return -1;
        }
 
        // 5. If argument fromIndex was passed let n be
        //    ToInteger(fromIndex); else let n be 0.
        var n = +fromIndex || 0;
 
        if (Math.abs(n) === Infinity) {
            n = 0;
        }
 
        // 6. If n >= len, return -1.
        if (n >= len) {
            return -1;
        }
 
        // 7. If n >= 0, then Let k be n.
        // 8. Else, n<0, Let k be len - abs(n).
        //    If k is less than 0, then let k be 0.
        k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);
 
        // 9. Repeat, while k < len
        while (k < len) {
            // a. Let Pk be ToString(k).
            //   This is implicit for LHS operands of the in operator
            // b. Let kPresent be the result of calling the
            //    HasProperty internal method of O with argument Pk.
            //   This step can be combined with c
            // c. If kPresent is true, then
            //    i.  Let elementK be the result of calling the Get
            //        internal method of O with the argument ToString(k).
            //   ii.  Let same be the result of applying the
            //        Strict Equality Comparison Algorithm to
            //        searchElement and elementK.
            //  iii.  If same is true, return k.
            if (k in O && O[k] === searchElement) {
                return k;
            }
            k++;
        }
        return -1;
    };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkM6L3dhbXAvd3d3L29jTGF6eUxvYWQvc3JjL29jTGF6eUxvYWQucG9seWZpbGwuaWU4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRTtBQUMzQixTQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxVQUFTLGFBQWEsRUFBRSxTQUFTLEVBQUU7QUFDM0QsWUFBSSxDQUFDLENBQUM7Ozs7QUFJTixZQUFHLElBQUksSUFBSSxJQUFJLEVBQUU7QUFDZixrQkFBTSxJQUFJLFNBQVMsQ0FBQyxpQ0FBK0IsQ0FBQyxDQUFDO1NBQ3REOztBQUVELFlBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7Ozs7QUFLckIsWUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7OztBQUd6QixZQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUU7QUFDWixtQkFBTyxDQUFDLENBQUMsQ0FBQztTQUNYOzs7O0FBSUQsWUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDOztBQUV4QixZQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFO0FBQzNCLGFBQUMsR0FBRyxDQUFDLENBQUM7U0FDUDs7O0FBR0QsWUFBRyxDQUFDLElBQUksR0FBRyxFQUFFO0FBQ1gsbUJBQU8sQ0FBQyxDQUFDLENBQUM7U0FDWDs7Ozs7QUFLRCxTQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzs7O0FBR2hELGVBQU0sQ0FBQyxHQUFHLEdBQUcsRUFBRTs7Ozs7Ozs7Ozs7OztBQWFiLGdCQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLGFBQWEsRUFBRTtBQUNuQyx1QkFBTyxDQUFDLENBQUM7YUFDVjtBQUNELGFBQUMsRUFBRSxDQUFDO1NBQ0w7QUFDRCxlQUFPLENBQUMsQ0FBQyxDQUFDO0tBQ1gsQ0FBQztDQUNIIiwiZmlsZSI6IkM6L3dhbXAvd3d3L29jTGF6eUxvYWQvc3JjL29jTGF6eUxvYWQucG9seWZpbGwuaWU4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQXJyYXkuaW5kZXhPZiBwb2x5ZmlsbCBmb3IgSUU4XHJcbmlmKCFBcnJheS5wcm90b3R5cGUuaW5kZXhPZikge1xyXG4gIEFycmF5LnByb3RvdHlwZS5pbmRleE9mID0gZnVuY3Rpb24oc2VhcmNoRWxlbWVudCwgZnJvbUluZGV4KSB7XHJcbiAgICB2YXIgaztcclxuXHJcbiAgICAvLyAxLiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZ1xyXG4gICAgLy8gICAgdGhlIHRoaXMgdmFsdWUgYXMgdGhlIGFyZ3VtZW50LlxyXG4gICAgaWYodGhpcyA9PSBudWxsKSB7XHJcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1widGhpc1wiIGlzIG51bGwgb3Igbm90IGRlZmluZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICB2YXIgTyA9IE9iamVjdCh0aGlzKTtcclxuXHJcbiAgICAvLyAyLiBMZXQgbGVuVmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBHZXRcclxuICAgIC8vICAgIGludGVybmFsIG1ldGhvZCBvZiBPIHdpdGggdGhlIGFyZ3VtZW50IFwibGVuZ3RoXCIuXHJcbiAgICAvLyAzLiBMZXQgbGVuIGJlIFRvVWludDMyKGxlblZhbHVlKS5cclxuICAgIHZhciBsZW4gPSBPLmxlbmd0aCA+Pj4gMDtcclxuXHJcbiAgICAvLyA0LiBJZiBsZW4gaXMgMCwgcmV0dXJuIC0xLlxyXG4gICAgaWYobGVuID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAtMTtcclxuICAgIH1cclxuXHJcbiAgICAvLyA1LiBJZiBhcmd1bWVudCBmcm9tSW5kZXggd2FzIHBhc3NlZCBsZXQgbiBiZVxyXG4gICAgLy8gICAgVG9JbnRlZ2VyKGZyb21JbmRleCk7IGVsc2UgbGV0IG4gYmUgMC5cclxuICAgIHZhciBuID0gK2Zyb21JbmRleCB8fCAwO1xyXG5cclxuICAgIGlmKE1hdGguYWJzKG4pID09PSBJbmZpbml0eSkge1xyXG4gICAgICBuID0gMDtcclxuICAgIH1cclxuXHJcbiAgICAvLyA2LiBJZiBuID49IGxlbiwgcmV0dXJuIC0xLlxyXG4gICAgaWYobiA+PSBsZW4pIHtcclxuICAgICAgcmV0dXJuIC0xO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDcuIElmIG4gPj0gMCwgdGhlbiBMZXQgayBiZSBuLlxyXG4gICAgLy8gOC4gRWxzZSwgbjwwLCBMZXQgayBiZSBsZW4gLSBhYnMobikuXHJcbiAgICAvLyAgICBJZiBrIGlzIGxlc3MgdGhhbiAwLCB0aGVuIGxldCBrIGJlIDAuXHJcbiAgICBrID0gTWF0aC5tYXgobiA+PSAwID8gbiA6IGxlbiAtIE1hdGguYWJzKG4pLCAwKTtcclxuXHJcbiAgICAvLyA5LiBSZXBlYXQsIHdoaWxlIGsgPCBsZW5cclxuICAgIHdoaWxlKGsgPCBsZW4pIHtcclxuICAgICAgLy8gYS4gTGV0IFBrIGJlIFRvU3RyaW5nKGspLlxyXG4gICAgICAvLyAgIFRoaXMgaXMgaW1wbGljaXQgZm9yIExIUyBvcGVyYW5kcyBvZiB0aGUgaW4gb3BlcmF0b3JcclxuICAgICAgLy8gYi4gTGV0IGtQcmVzZW50IGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGVcclxuICAgICAgLy8gICAgSGFzUHJvcGVydHkgaW50ZXJuYWwgbWV0aG9kIG9mIE8gd2l0aCBhcmd1bWVudCBQay5cclxuICAgICAgLy8gICBUaGlzIHN0ZXAgY2FuIGJlIGNvbWJpbmVkIHdpdGggY1xyXG4gICAgICAvLyBjLiBJZiBrUHJlc2VudCBpcyB0cnVlLCB0aGVuXHJcbiAgICAgIC8vICAgIGkuICBMZXQgZWxlbWVudEsgYmUgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBHZXRcclxuICAgICAgLy8gICAgICAgIGludGVybmFsIG1ldGhvZCBvZiBPIHdpdGggdGhlIGFyZ3VtZW50IFRvU3RyaW5nKGspLlxyXG4gICAgICAvLyAgIGlpLiAgTGV0IHNhbWUgYmUgdGhlIHJlc3VsdCBvZiBhcHBseWluZyB0aGVcclxuICAgICAgLy8gICAgICAgIFN0cmljdCBFcXVhbGl0eSBDb21wYXJpc29uIEFsZ29yaXRobSB0b1xyXG4gICAgICAvLyAgICAgICAgc2VhcmNoRWxlbWVudCBhbmQgZWxlbWVudEsuXHJcbiAgICAgIC8vICBpaWkuICBJZiBzYW1lIGlzIHRydWUsIHJldHVybiBrLlxyXG4gICAgICBpZihrIGluIE8gJiYgT1trXSA9PT0gc2VhcmNoRWxlbWVudCkge1xyXG4gICAgICAgIHJldHVybiBrO1xyXG4gICAgICB9XHJcbiAgICAgIGsrKztcclxuICAgIH1cclxuICAgIHJldHVybiAtMTtcclxuICB9O1xyXG59XHJcbiJdfQ==