diff options
Diffstat (limited to 'cli/tsc/dts/lib.deno.window.d.ts')
-rw-r--r-- | cli/tsc/dts/lib.deno.window.d.ts | 270 |
1 files changed, 270 insertions, 0 deletions
diff --git a/cli/tsc/dts/lib.deno.window.d.ts b/cli/tsc/dts/lib.deno.window.d.ts new file mode 100644 index 000000000..4ce288a4d --- /dev/null +++ b/cli/tsc/dts/lib.deno.window.d.ts @@ -0,0 +1,270 @@ +// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license. + +/// <reference no-default-lib="true" /> +/// <reference lib="deno.ns" /> +/// <reference lib="deno.shared_globals" /> +/// <reference lib="deno.webgpu" /> +/// <reference lib="deno.webstorage" /> +/// <reference lib="esnext" /> +/// <reference lib="deno.cache" /> + +/** @category Web APIs */ +interface WindowEventMap { + "error": ErrorEvent; + "unhandledrejection": PromiseRejectionEvent; +} + +/** @category Web APIs */ +declare class Window extends EventTarget { + new(): Window; + readonly window: Window & typeof globalThis; + readonly self: Window & typeof globalThis; + onerror: ((this: Window, ev: ErrorEvent) => any) | null; + onload: ((this: Window, ev: Event) => any) | null; + onbeforeunload: ((this: Window, ev: Event) => any) | null; + onunload: ((this: Window, ev: Event) => any) | null; + onunhandledrejection: + | ((this: Window, ev: PromiseRejectionEvent) => any) + | null; + close: () => void; + readonly closed: boolean; + alert: (message?: string) => void; + confirm: (message?: string) => boolean; + prompt: (message?: string, defaultValue?: string) => string | null; + Deno: typeof Deno; + Navigator: typeof Navigator; + navigator: Navigator; + Location: typeof Location; + location: Location; + localStorage: Storage; + sessionStorage: Storage; + caches: CacheStorage; + + addEventListener<K extends keyof WindowEventMap>( + type: K, + listener: ( + this: Window, + ev: WindowEventMap[K], + ) => any, + options?: boolean | AddEventListenerOptions, + ): void; + addEventListener( + type: string, + listener: EventListenerOrEventListenerObject, + options?: boolean | AddEventListenerOptions, + ): void; + removeEventListener<K extends keyof WindowEventMap>( + type: K, + listener: ( + this: Window, + ev: WindowEventMap[K], + ) => any, + options?: boolean | EventListenerOptions, + ): void; + removeEventListener( + type: string, + listener: EventListenerOrEventListenerObject, + options?: boolean | EventListenerOptions, + ): void; +} + +/** @category Web APIs */ +declare var window: Window & typeof globalThis; +/** @category Web APIs */ +declare var self: Window & typeof globalThis; +/** @category DOM Events */ +declare var onerror: ((this: Window, ev: ErrorEvent) => any) | null; +/** @category DOM Events */ +declare var onload: ((this: Window, ev: Event) => any) | null; +/** @category DOM Events */ +declare var onbeforeunload: ((this: Window, ev: Event) => any) | null; +/** @category DOM Events */ +declare var onunload: ((this: Window, ev: Event) => any) | null; +/** @category Observability */ +declare var onunhandledrejection: + | ((this: Window, ev: PromiseRejectionEvent) => any) + | null; +/** @category Web Storage API */ +declare var localStorage: Storage; +/** @category Web Storage API */ +declare var sessionStorage: Storage; +/** @category Cache API */ +declare var caches: CacheStorage; + +/** @category Web APIs */ +declare class Navigator { + constructor(); + readonly gpu: GPU; + readonly hardwareConcurrency: number; + readonly userAgent: string; + readonly language: string; + readonly languages: string[]; +} + +/** @category Web APIs */ +declare var navigator: Navigator; + +/** + * Shows the given message and waits for the enter key pressed. + * + * If the stdin is not interactive, it does nothing. + * + * @category Web APIs + * + * @param message + */ +declare function alert(message?: string): void; + +/** + * Shows the given message and waits for the answer. Returns the user's answer as boolean. + * + * Only `y` and `Y` are considered as true. + * + * If the stdin is not interactive, it returns false. + * + * @category Web APIs + * + * @param message + */ +declare function confirm(message?: string): boolean; + +/** + * Shows the given message and waits for the user's input. Returns the user's input as string. + * + * If the default value is given and the user inputs the empty string, then it returns the given + * default value. + * + * If the default value is not given and the user inputs the empty string, it returns null. + * + * If the stdin is not interactive, it returns null. + * + * @category Web APIs + * + * @param message + * @param defaultValue + */ +declare function prompt(message?: string, defaultValue?: string): string | null; + +/** Registers an event listener in the global scope, which will be called + * synchronously whenever the event `type` is dispatched. + * + * ```ts + * addEventListener('unload', () => { console.log('All finished!'); }); + * ... + * dispatchEvent(new Event('unload')); + * ``` + * + * @category DOM Events + */ +declare function addEventListener< + K extends keyof WindowEventMap, +>( + type: K, + listener: (this: Window, ev: WindowEventMap[K]) => any, + options?: boolean | AddEventListenerOptions, +): void; +/** @category DOM Events */ +declare function addEventListener( + type: string, + listener: EventListenerOrEventListenerObject, + options?: boolean | AddEventListenerOptions, +): void; + +/** Remove a previously registered event listener from the global scope + * + * ```ts + * const listener = () => { console.log('hello'); }; + * addEventListener('load', listener); + * removeEventListener('load', listener); + * ``` + * + * @category DOM Events + */ +declare function removeEventListener< + K extends keyof WindowEventMap, +>( + type: K, + listener: (this: Window, ev: WindowEventMap[K]) => any, + options?: boolean | EventListenerOptions, +): void; +declare function removeEventListener( + type: string, + listener: EventListenerOrEventListenerObject, + options?: boolean | EventListenerOptions, +): void; + +// TODO(nayeemrmn): Move this to `extensions/web` where its implementation is. +// The types there must first be split into window, worker and global types. +/** The location (URL) of the object it is linked to. Changes done on it are + * reflected on the object it relates to. Accessible via + * `globalThis.location`. + * + * @category Web APIs + */ +declare class Location { + constructor(); + /** Returns a DOMStringList object listing the origins of the ancestor + * browsing contexts, from the parent browsing context to the top-level + * browsing context. + * + * Always empty in Deno. */ + readonly ancestorOrigins: DOMStringList; + /** Returns the Location object's URL's fragment (includes leading "#" if + * non-empty). + * + * Cannot be set in Deno. */ + hash: string; + /** Returns the Location object's URL's host and port (if different from the + * default port for the scheme). + * + * Cannot be set in Deno. */ + host: string; + /** Returns the Location object's URL's host. + * + * Cannot be set in Deno. */ + hostname: string; + /** Returns the Location object's URL. + * + * Cannot be set in Deno. */ + href: string; + toString(): string; + /** Returns the Location object's URL's origin. */ + readonly origin: string; + /** Returns the Location object's URL's path. + * + * Cannot be set in Deno. */ + pathname: string; + /** Returns the Location object's URL's port. + * + * Cannot be set in Deno. */ + port: string; + /** Returns the Location object's URL's scheme. + * + * Cannot be set in Deno. */ + protocol: string; + /** Returns the Location object's URL's query (includes leading "?" if + * non-empty). + * + * Cannot be set in Deno. */ + search: string; + /** Navigates to the given URL. + * + * Cannot be set in Deno. */ + assign(url: string): void; + /** Reloads the current page. + * + * Disabled in Deno. */ + reload(): void; + /** @deprecated */ + reload(forcedReload: boolean): void; + /** Removes the current page from the session history and navigates to the + * given URL. + * + * Disabled in Deno. */ + replace(url: string): void; +} + +// TODO(nayeemrmn): Move this to `extensions/web` where its implementation is. +// The types there must first be split into window, worker and global types. +/** @category Web APIs */ +declare var location: Location; |