---
title: "IterableIterator | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs.maptiler.com/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# Interface IterableIterator<T, TReturn, TNext>

Describes a user-defined [Iterator](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Iterator/) that is also iterable.

interface IterableIterator<[T](#t), [TReturn](#treturn) \= any, [TNext](#tnext) \= any\> {  
    ["\[iterator\]"](#iterator-1)(): IterableIterator<[T](#t), [TReturn](#treturn), [TNext](#tnext)\>;  
    [next](#next-1)(...\_\_namedParameters: \[\] | \[[TNext](#tnext)\]): [IteratorResult](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.IteratorResult/)<[T](#t), [TReturn](#treturn)\>;  
    [return](#return-1)?(value?: [TReturn](#treturn)): [IteratorResult](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.IteratorResult/)<[T](#t), [TReturn](#treturn)\>;  
    [throw](#throw-1)?(e?: any): [IteratorResult](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.IteratorResult/)<[T](#t), [TReturn](#treturn)\>;  
}

#### Type Parameters

-   T
-   TReturn = any
-   TNext = any

#### Hierarchy ([View Summary](https://docs.maptiler.com/sdk-js/api-reference/hierarchy/#Externals.IterableIterator))

-   [Iterator](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Iterator/)<[T](#t), [TReturn](#treturn), [TNext](#tnext)\>
    -   IterableIterator

##### Index

### Methods[](#methods)

[\[iterator\]](#iterator) [next](#next) [return?](#return) [throw?](#throw)

## Methods[](#methods-1)

### \[iterator\][](#iterator)

-   "\[iterator\]"(): IterableIterator<[T](#t), [TReturn](#treturn), [TNext](#tnext)\>[](#iterator-1)
    
    #### Returns IterableIterator<[T](#t), [TReturn](#treturn), [TNext](#tnext)\>
    

### next[](#next)

-   next(...\_\_namedParameters: \[\] | \[[TNext](#tnext)\]): [IteratorResult](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.IteratorResult/)<[T](#t), [TReturn](#treturn)\>[](#next-1)
    
    #### Parameters
    
    -   ...\_\_namedParameters: \[\] | \[[TNext](#tnext)\]
    
    #### Returns [IteratorResult](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.IteratorResult/)<[T](#t), [TReturn](#treturn)\>
    
    Inherited from [Iterator](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Iterator/).[next](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Iterator/#next)
    

### `Optional`return[](#return)

-   return?(value?: [TReturn](#treturn)): [IteratorResult](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.IteratorResult/)<[T](#t), [TReturn](#treturn)\>[](#return-1)
    
    #### Parameters
    
    -   `Optional`value: [TReturn](#treturn)
    
    #### Returns [IteratorResult](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.IteratorResult/)<[T](#t), [TReturn](#treturn)\>
    
    Inherited from [Iterator](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Iterator/).[return](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Iterator/#return)
    

### `Optional`throw[](#throw)

-   throw?(e?: any): [IteratorResult](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.IteratorResult/)<[T](#t), [TReturn](#treturn)\>[](#throw-1)
    
    #### Parameters
    
    -   `Optional`e: any
    
    #### Returns [IteratorResult](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.IteratorResult/)<[T](#t), [TReturn](#treturn)\>
    
    Inherited from [Iterator](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Iterator/).[throw](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Iterator/#throw)
