private static minimizeTiles()

in src/globemap.ts [720:752]


        private static minimizeTiles(tileCacheArray: TileMap[]): ITileGapObject[] {
            if (!tileCacheArray || !tileCacheArray.length) {
                return [];
            }

            let result = [];
            tileCacheArray.forEach(obj => {
                let rank: number = 0, lastKey: number = Number(Object.keys(obj)[0]);
                let gap: number[] = [lastKey];
                let gaps = [];
                for (let key in obj) {
                    if (obj.hasOwnProperty(key)) {
                        rank = key.length;
                        const convertedKey: number = Number(key);
                        if (Math.abs(convertedKey - lastKey) > 1) {
                            gap.push(lastKey);
                            gaps.push(gap);
                            gap = [convertedKey];
                        }
                        lastKey = convertedKey;
                    }
                }
                gap.push(lastKey);
                gaps.push(gap);
                let currentZoomTiles: ITileGapObject = {
                    gaps,
                    rank
                };
                result.push(currentZoomTiles);
            });

            return result;
        }