---
title: "WindowOrWorkerGlobalScope | 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 WindowOrWorkerGlobalScope

interface WindowOrWorkerGlobalScope {  
    [caches](#caches): [CacheStorage](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.CacheStorage/);  
    [crossOriginIsolated](#crossoriginisolated): boolean;  
    [crypto](#crypto): Crypto;  
    [indexedDB](#indexeddb): [IDBFactory](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.IDBFactory/);  
    [isSecureContext](#issecurecontext): boolean;  
    [origin](#origin): string;  
    [performance](#performance): Performance;  
    [scheduler](#scheduler): [Scheduler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Scheduler/);  
    [atob](#atob-1)(data: string): string;  
    [btoa](#btoa-1)(data: string): string;  
    [clearInterval](#clearinterval-1)(id: number | undefined): void;  
    [clearTimeout](#cleartimeout-1)(id: number | undefined): void;  
    [createImageBitmap](#createimagebitmap-1)(  
        image: [ImageBitmapSource](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ImageBitmapSource/),  
        options?: [ImageBitmapOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.ImageBitmapOptions/),  
    ): Promise<[ImageBitmap](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.ImageBitmap/)\>;  
    [createImageBitmap](#createimagebitmap-2)(  
        image: [ImageBitmapSource](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ImageBitmapSource/),  
        sx: number,  
        sy: number,  
        sw: number,  
        sh: number,  
        options?: [ImageBitmapOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.ImageBitmapOptions/),  
    ): Promise<[ImageBitmap](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.ImageBitmap/)\>;  
    [fetch](#fetch-1)(input: [RequestInfo](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.RequestInfo/) | URL, init?: RequestInit): Promise<Response\>;  
    [queueMicrotask](#queuemicrotask-1)(callback: [VoidFunction](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.VoidFunction/)): void;  
    [reportError](#reporterror-1)(e: any): void;  
    [setInterval](#setinterval-1)(  
        handler: [TimerHandler](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.TimerHandler/),  
        timeout?: number,  
        ...arguments: any\[\],  
    ): number;  
    [setTimeout](#settimeout-1)(  
        handler: [TimerHandler](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.TimerHandler/),  
        timeout?: number,  
        ...arguments: any\[\],  
    ): number;  
    [structuredClone](#structuredclone-1)<[T](#structuredclonet) \= any\>(value: [T](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Window/#structuredclonet), options?: [StructuredSerializeOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.StructuredSerializeOptions/)): [T](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Window/#structuredclonet);  
}

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

-   WindowOrWorkerGlobalScope
    -   [Window](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Window/)

##### Index

### Properties[](#properties)

[caches](#caches) [crossOriginIsolated](#crossoriginisolated) [crypto](#crypto) [indexedDB](#indexeddb) [isSecureContext](#issecurecontext) [origin](#origin) [performance](#performance) [scheduler](#scheduler)

### Methods[](#methods)

[atob](#atob) [btoa](#btoa) [clearInterval](#clearinterval) [clearTimeout](#cleartimeout) [createImageBitmap](#createimagebitmap) [fetch](#fetch) [queueMicrotask](#queuemicrotask) [reportError](#reporterror) [setInterval](#setinterval) [setTimeout](#settimeout) [structuredClone](#structuredclone)

## Properties[](#properties-1)

### `Readonly`caches[](#caches)

caches: [CacheStorage](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.CacheStorage/)

Available only in secure contexts.

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/caches)

### `Readonly`crossOriginIsolated[](#crossoriginisolated)

crossOriginIsolated: boolean

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/crossOriginIsolated)

### `Readonly`crypto[](#crypto)

crypto: Crypto

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/crypto)

### `Readonly`indexedDB[](#indexeddb)

indexedDB: [IDBFactory](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.IDBFactory/)

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/indexedDB)

### `Readonly`isSecureContext[](#issecurecontext)

isSecureContext: boolean

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/isSecureContext)

### `Readonly`origin[](#origin)

origin: string

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/origin)

### `Readonly`performance[](#performance)

performance: Performance

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/performance)

### `Readonly`scheduler[](#scheduler)

scheduler: [Scheduler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Scheduler/)

[MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/scheduler)

## Methods[](#methods-1)

### atob[](#atob)

-   atob(data: string): string[](#atob-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/atob)
    
    #### Parameters
    
    -   data: string
    
    #### Returns string
    

### btoa[](#btoa)

-   btoa(data: string): string[](#btoa-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/btoa)
    
    #### Parameters
    
    -   data: string
    
    #### Returns string
    

### clearInterval[](#clearinterval)

-   clearInterval(id: number | undefined): void[](#clearinterval-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/clearInterval)
    
    #### Parameters
    
    -   id: number | undefined
    
    #### Returns void
    

### clearTimeout[](#cleartimeout)

-   clearTimeout(id: number | undefined): void[](#cleartimeout-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/clearTimeout)
    
    #### Parameters
    
    -   id: number | undefined
    
    #### Returns void
    

### createImageBitmap[](#createimagebitmap)

-   createImageBitmap(  
        image: [ImageBitmapSource](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ImageBitmapSource/),  
        options?: [ImageBitmapOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.ImageBitmapOptions/),  
    ): Promise<[ImageBitmap](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.ImageBitmap/)\>[](#createimagebitmap-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
    
    #### Parameters
    
    -   image: [ImageBitmapSource](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ImageBitmapSource/)
    -   `Optional`options: [ImageBitmapOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.ImageBitmapOptions/)
    
    #### Returns Promise<[ImageBitmap](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.ImageBitmap/)\>
    
-   createImageBitmap(  
        image: [ImageBitmapSource](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ImageBitmapSource/),  
        sx: number,  
        sy: number,  
        sw: number,  
        sh: number,  
        options?: [ImageBitmapOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.ImageBitmapOptions/),  
    ): Promise<[ImageBitmap](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.ImageBitmap/)\>[](#createimagebitmap-2)
    
    #### Parameters
    
    -   image: [ImageBitmapSource](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ImageBitmapSource/)
    -   sx: number
    -   sy: number
    -   sw: number
    -   sh: number
    -   `Optional`options: [ImageBitmapOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.ImageBitmapOptions/)
    
    #### Returns Promise<[ImageBitmap](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.ImageBitmap/)\>
    

### fetch[](#fetch)

-   fetch(input: [RequestInfo](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.RequestInfo/) | URL, init?: RequestInit): Promise<Response\>[](#fetch-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/fetch)
    
    #### Parameters
    
    -   input: [RequestInfo](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.RequestInfo/) | URL
    -   `Optional`init: RequestInit
    
    #### Returns Promise<Response\>
    

### queueMicrotask[](#queuemicrotask)

-   queueMicrotask(callback: [VoidFunction](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.VoidFunction/)): void[](#queuemicrotask-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/queueMicrotask)
    
    #### Parameters
    
    -   callback: [VoidFunction](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.VoidFunction/)
    
    #### Returns void
    

### reportError[](#reporterror)

-   reportError(e: any): void[](#reporterror-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/reportError)
    
    #### Parameters
    
    -   e: any
    
    #### Returns void
    

### setInterval[](#setinterval)

-   setInterval(  
        handler: [TimerHandler](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.TimerHandler/),  
        timeout?: number,  
        ...arguments: any\[\],  
    ): number[](#setinterval-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/setInterval)
    
    #### Parameters
    
    -   handler: [TimerHandler](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.TimerHandler/)
    -   `Optional`timeout: number
    -   ...arguments: any\[\]
    
    #### Returns number
    

### setTimeout[](#settimeout)

-   setTimeout(handler: [TimerHandler](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.TimerHandler/), timeout?: number, ...arguments: any\[\]): number[](#settimeout-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/setTimeout)
    
    #### Parameters
    
    -   handler: [TimerHandler](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.TimerHandler/)
    -   `Optional`timeout: number
    -   ...arguments: any\[\]
    
    #### Returns number
    

### structuredClone[](#structuredclone)

-   structuredClone<[T](#structuredclonet) \= any\>(value: [T](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Window/#structuredclonet), options?: [StructuredSerializeOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.StructuredSerializeOptions/)): [T](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Window/#structuredclonet)[](#structuredclone-1)
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/structuredClone)
    
    #### Type Parameters
    
    -   T = any
    
    #### Parameters
    
    -   value: [T](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Window/#structuredclonet)
    -   `Optional`options: [StructuredSerializeOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.StructuredSerializeOptions/)
    
    #### Returns [T](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.Window/#structuredclonet)
