mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 23:34:47 -05:00
d632cce129
This PR changes Web IDL interfaces to be declared with `var` instead of `class`, so that accessing them via `globalThis` does not raise type errors. Closes #13390.
48 lines
1.8 KiB
TypeScript
48 lines
1.8 KiB
TypeScript
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
|
|
|
|
// deno-lint-ignore-file no-explicit-any no-var
|
|
|
|
/// <reference no-default-lib="true" />
|
|
/// <reference lib="esnext" />
|
|
|
|
/** This Web Storage API interface provides access to a particular domain's
|
|
* session or local storage. It allows, for example, the addition, modification,
|
|
* or deletion of stored data items.
|
|
*
|
|
* @category Web Storage API
|
|
*/
|
|
declare interface Storage {
|
|
/**
|
|
* Returns the number of key/value pairs currently present in the list associated with the object.
|
|
*/
|
|
readonly length: number;
|
|
/**
|
|
* Empties the list associated with the object of all key/value pairs, if there are any.
|
|
*/
|
|
clear(): void;
|
|
/**
|
|
* Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object.
|
|
*/
|
|
getItem(key: string): string | null;
|
|
/**
|
|
* Returns the name of the nth key in the list, or null if n is greater than or equal to the number of key/value pairs in the object.
|
|
*/
|
|
key(index: number): string | null;
|
|
/**
|
|
* Removes the key/value pair with the given key from the list associated with the object, if a key/value pair with the given key exists.
|
|
*/
|
|
removeItem(key: string): void;
|
|
/**
|
|
* Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.
|
|
*
|
|
* Throws a "QuotaExceededError" DOMException exception if the new value couldn't be set. (Setting could fail if, e.g., the user has disabled storage for the site, or if the quota has been exceeded.)
|
|
*/
|
|
setItem(key: string, value: string): void;
|
|
[name: string]: any;
|
|
}
|
|
|
|
/** @category Web Storage API */
|
|
declare var Storage: {
|
|
readonly prototype: Storage;
|
|
new (): never;
|
|
};
|