Code coverage report for lib/utils/arrays.js

# all files / lib/utils/ arrays.js

84.21% Statements 16/19
57.14% Branches 8/14
100% Functions 3/3
88.89% Lines 16/18

    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
    391×
    1×
    1×
    1×

    1×

    1×
    1001×
    1001×
    548×

    453×
    505×
    505×
    106×

    399×

    453×

    1×

     (function (factory) {
        Eif (typeof module === "object" && typeof module.exports === "object") {
            var v = factory(require, exports);
            Iif (v !== undefined) module.exports = v;
        }
        else if (typeof define === "function" && define.amd) {
            define(["require", "exports"], factory);
        }
    })(function (require, exports) {
        /*---------------------------------------------------------------------------------------------
         *  Copyright (c) Microsoft Corporation. All rights reserved.
         *  Licensed under the MIT License. See License.txt in the project root for license information.
         *--------------------------------------------------------------------------------------------*/
        'use strict';
        Object.defineProperty(exports, "__esModule", { value: true });
        /**
         * Takes a sorted array and a function p. The array is sorted in such a way that all elements where p(x) is false
         * are located before all elements where p(x) is true.
         * @returns the least x for which p(x) is true or array.length if no element fullfills the given function.
         */
        function findFirst(array, p) {
            var low = 0, high = array.length;
            if (high === 0) {
                return 0; // no children
            }
            while (low < high) {
                var mid = Math.floor((low + high) / 2);
                if (p(array[mid])) {
                    high = mid;
                }
                else {
                    low = mid + 1;
                }
            }
            return low;
        }
        exports.findFirst = findFirst;
    });
    //# sourceMappingURL=arrays.js.map