/** * @module ol/array */ /** * Performs a binary search on the provided sorted list and returns the index of the item if found. If it can't be found it'll return -1. * https://github.com/darkskyapp/binary-search * * @param {Array<*>} haystack Items to search through. * @param {*} needle The item to look for. * @param {Function} [comparator] Comparator function. * @return {number} The index of the item if found, -1 if not. */ export function binarySearch(haystack: Array, needle: any, comparator?: Function | undefined): number; /** * Compare function sorting arrays in ascending order. Safe to use for numeric values. * @param {*} a The first object to be compared. * @param {*} b The second object to be compared. * @return {number} A negative number, zero, or a positive number as the first * argument is less than, equal to, or greater than the second. */ export function ascending(a: any, b: any): number; /** * Compare function sorting arrays in descending order. Safe to use for numeric values. * @param {*} a The first object to be compared. * @param {*} b The second object to be compared. * @return {number} A negative number, zero, or a positive number as the first * argument is greater than, equal to, or less than the second. */ export function descending(a: any, b: any): number; /** * {@link module:ol/tilegrid/TileGrid~TileGrid#getZForResolution} can use a function * of this type to determine which nearest resolution to use. * * This function takes a `{number}` representing a value between two array entries, * a `{number}` representing the value of the nearest higher entry and * a `{number}` representing the value of the nearest lower entry * as arguments and returns a `{number}`. If a negative number or zero is returned * the lower value will be used, if a positive number is returned the higher value * will be used. * @typedef {function(number, number, number): number} NearestDirectionFunction * @api */ /** * @param {Array} arr Array in descending order. * @param {number} target Target. * @param {number|NearestDirectionFunction} direction * 0 means return the nearest, * > 0 means return the largest nearest, * < 0 means return the smallest nearest. * @return {number} Index. */ export function linearFindNearest(arr: Array, target: number, direction: number | NearestDirectionFunction): number; /** * @param {Array<*>} arr Array. * @param {number} begin Begin index. * @param {number} end End index. */ export function reverseSubArray(arr: Array, begin: number, end: number): void; /** * @param {Array} arr The array to modify. * @param {!Array|VALUE} data The elements or arrays of elements to add to arr. * @template VALUE */ export function extend(arr: VALUE[], data: VALUE | VALUE[]): void; /** * @param {Array} arr The array to modify. * @param {VALUE} obj The element to remove. * @template VALUE * @return {boolean} If the element was removed. */ export function remove(arr: VALUE[], obj: VALUE): boolean; /** * @param {Array|Uint8ClampedArray} arr1 The first array to compare. * @param {Array|Uint8ClampedArray} arr2 The second array to compare. * @return {boolean} Whether the two arrays are equal. */ export function equals(arr1: any[] | Uint8ClampedArray, arr2: any[] | Uint8ClampedArray): boolean; /** * Sort the passed array such that the relative order of equal elements is preserved. * See https://en.wikipedia.org/wiki/Sorting_algorithm#Stability for details. * @param {Array<*>} arr The array to sort (modifies original). * @param {!function(*, *): number} compareFnc Comparison function. * @api */ export function stableSort(arr: Array, compareFnc: (arg0: any, arg1: any) => number): void; /** * @param {Array<*>} arr The array to test. * @param {Function} [func] Comparison function. * @param {boolean} [strict] Strictly sorted (default false). * @return {boolean} Return index. */ export function isSorted(arr: Array, func?: Function | undefined, strict?: boolean | undefined): boolean; /** * {@link module :ol/tilegrid/TileGrid~TileGrid#getZForResolution} can use a function * of this type to determine which nearest resolution to use. * * This function takes a `{number}` representing a value between two array entries, * a `{number}` representing the value of the nearest higher entry and * a `{number}` representing the value of the nearest lower entry * as arguments and returns a `{number}`. If a negative number or zero is returned * the lower value will be used, if a positive number is returned the higher value * will be used. */ export type NearestDirectionFunction = (arg0: number, arg1: number, arg2: number) => number; //# sourceMappingURL=array.d.ts.map