2024-01-01 19:58:21 +00:00
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2020-08-07 14:55:02 +00:00
2021-12-09 22:12:21 +00:00
// deno-lint-ignore-file no-explicit-any no-var
2020-08-19 12:43:20 +00:00
2020-08-07 14:55:02 +00:00
/// <reference no-default-lib="true" />
/// <reference lib="esnext" />
2024-05-06 01:56:55 +00:00
/** @category Platform */
2023-07-03 18:36:55 +00:00
declare interface DOMException extends Error {
2020-08-07 14:55:02 +00:00
readonly name : string ;
readonly message : string ;
2021-01-09 06:27:46 +00:00
readonly code : number ;
2023-07-03 18:36:55 +00:00
readonly INDEX_SIZE_ERR : 1 ;
readonly DOMSTRING_SIZE_ERR : 2 ;
readonly HIERARCHY_REQUEST_ERR : 3 ;
readonly WRONG_DOCUMENT_ERR : 4 ;
readonly INVALID_CHARACTER_ERR : 5 ;
readonly NO_DATA_ALLOWED_ERR : 6 ;
readonly NO_MODIFICATION_ALLOWED_ERR : 7 ;
readonly NOT_FOUND_ERR : 8 ;
readonly NOT_SUPPORTED_ERR : 9 ;
readonly INUSE_ATTRIBUTE_ERR : 10 ;
readonly INVALID_STATE_ERR : 11 ;
readonly SYNTAX_ERR : 12 ;
readonly INVALID_MODIFICATION_ERR : 13 ;
readonly NAMESPACE_ERR : 14 ;
readonly INVALID_ACCESS_ERR : 15 ;
readonly VALIDATION_ERR : 16 ;
readonly TYPE_MISMATCH_ERR : 17 ;
readonly SECURITY_ERR : 18 ;
readonly NETWORK_ERR : 19 ;
readonly ABORT_ERR : 20 ;
readonly URL_MISMATCH_ERR : 21 ;
readonly QUOTA_EXCEEDED_ERR : 22 ;
readonly TIMEOUT_ERR : 23 ;
readonly INVALID_NODE_TYPE_ERR : 24 ;
readonly DATA_CLONE_ERR : 25 ;
2020-08-07 14:55:02 +00:00
}
2024-05-06 01:56:55 +00:00
/** @category Platform */
2023-07-03 18:36:55 +00:00
declare var DOMException : {
readonly prototype : DOMException ;
2024-06-27 14:26:01 +00:00
new ( message? : string , name? : string ) : DOMException ;
2023-07-03 18:36:55 +00:00
readonly INDEX_SIZE_ERR : 1 ;
readonly DOMSTRING_SIZE_ERR : 2 ;
readonly HIERARCHY_REQUEST_ERR : 3 ;
readonly WRONG_DOCUMENT_ERR : 4 ;
readonly INVALID_CHARACTER_ERR : 5 ;
readonly NO_DATA_ALLOWED_ERR : 6 ;
readonly NO_MODIFICATION_ALLOWED_ERR : 7 ;
readonly NOT_FOUND_ERR : 8 ;
readonly NOT_SUPPORTED_ERR : 9 ;
readonly INUSE_ATTRIBUTE_ERR : 10 ;
readonly INVALID_STATE_ERR : 11 ;
readonly SYNTAX_ERR : 12 ;
readonly INVALID_MODIFICATION_ERR : 13 ;
readonly NAMESPACE_ERR : 14 ;
readonly INVALID_ACCESS_ERR : 15 ;
readonly VALIDATION_ERR : 16 ;
readonly TYPE_MISMATCH_ERR : 17 ;
readonly SECURITY_ERR : 18 ;
readonly NETWORK_ERR : 19 ;
readonly ABORT_ERR : 20 ;
readonly URL_MISMATCH_ERR : 21 ;
readonly QUOTA_EXCEEDED_ERR : 22 ;
readonly TIMEOUT_ERR : 23 ;
readonly INVALID_NODE_TYPE_ERR : 24 ;
readonly DATA_CLONE_ERR : 25 ;
} ;
2024-06-27 12:32:11 +00:00
/ * * S p e c i f i e s t h e o p t i o n s t h a t c a n b e p a s s e d t o t h e c o n s t r u c t o r o f a n ` E v e n t `
2024-06-27 14:12:47 +00:00
* object .
2024-06-27 12:32:11 +00:00
*
2024-06-25 13:52:12 +00:00
* @category Events * /
2023-07-03 18:36:55 +00:00
declare interface EventInit {
2020-08-07 14:55:02 +00:00
bubbles? : boolean ;
cancelable? : boolean ;
composed? : boolean ;
}
2022-08-17 03:12:24 +00:00
/ * * A n e v e n t w h i c h t a k e s p l a c e i n t h e D O M .
*
2024-05-06 01:56:55 +00:00
* @category Events
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface Event {
2020-08-07 14:55:02 +00:00
/ * * R e t u r n s t r u e o r f a l s e d e p e n d i n g o n h o w e v e n t w a s i n i t i a l i z e d . T r u e i f
2021-09-02 22:28:12 +00:00
* event goes through its target ' s ancestors in reverse tree order , and
* false otherwise . * /
2020-08-07 14:55:02 +00:00
readonly bubbles : boolean ;
cancelBubble : boolean ;
/ * * R e t u r n s t r u e o r f a l s e d e p e n d i n g o n h o w e v e n t w a s i n i t i a l i z e d . I t s r e t u r n
2021-09-02 22:28:12 +00:00
* value does not always carry meaning , but true can indicate that part of the
* operation during which event was dispatched , can be canceled by invoking
* the preventDefault ( ) method . * /
2020-08-07 14:55:02 +00:00
readonly cancelable : boolean ;
/ * * R e t u r n s t r u e o r f a l s e d e p e n d i n g o n h o w e v e n t w a s i n i t i a l i z e d . T r u e i f
2021-09-02 22:28:12 +00:00
* event invokes listeners past a ShadowRoot node that is the root of its
* target , and false otherwise . * /
2020-08-07 14:55:02 +00:00
readonly composed : boolean ;
/ * * R e t u r n s t h e o b j e c t w h o s e e v e n t l i s t e n e r ' s c a l l b a c k i s c u r r e n t l y b e i n g
2021-09-02 22:28:12 +00:00
* invoked . * /
2020-08-07 14:55:02 +00:00
readonly currentTarget : EventTarget | null ;
/ * * R e t u r n s t r u e i f p r e v e n t D e f a u l t ( ) w a s i n v o k e d s u c c e s s f u l l y t o i n d i c a t e
2021-09-02 22:28:12 +00:00
* cancellation , and false otherwise . * /
2020-08-07 14:55:02 +00:00
readonly defaultPrevented : boolean ;
/ * * R e t u r n s t h e e v e n t ' s p h a s e , w h i c h i s o n e o f N O N E , C A P T U R I N G _ P H A S E ,
2021-09-02 22:28:12 +00:00
* AT_TARGET , and BUBBLING_PHASE . * /
2020-08-07 14:55:02 +00:00
readonly eventPhase : number ;
/ * * R e t u r n s t r u e i f e v e n t w a s d i s p a t c h e d b y t h e u s e r a g e n t , a n d f a l s e
2021-09-02 22:28:12 +00:00
* otherwise . * /
2020-08-07 14:55:02 +00:00
readonly isTrusted : boolean ;
/** Returns the object to which event is dispatched (its target). */
readonly target : EventTarget | null ;
/ * * R e t u r n s t h e e v e n t ' s t i m e s t a m p a s t h e n u m b e r o f m i l l i s e c o n d s m e a s u r e d
2021-09-02 22:28:12 +00:00
* relative to the time origin . * /
2020-08-07 14:55:02 +00:00
readonly timeStamp : number ;
/** Returns the type of event, e.g. "click", "hashchange", or "submit". */
readonly type : string ;
/ * * R e t u r n s t h e i n v o c a t i o n t a r g e t o b j e c t s o f e v e n t ' s p a t h ( o b j e c t s o n w h i c h
2021-09-02 22:28:12 +00:00
* listeners will be invoked ) , except for any nodes in shadow trees of which
* the shadow root 's mode is "closed" that are not reachable from event' s
* currentTarget . * /
2020-08-07 14:55:02 +00:00
composedPath ( ) : EventTarget [ ] ;
/ * * I f i n v o k e d w h e n t h e c a n c e l a b l e a t t r i b u t e v a l u e i s t r u e , a n d w h i l e
2021-09-02 22:28:12 +00:00
* executing a listener for the event with passive set to false , signals to
* the operation that caused event to be dispatched that it needs to be
* canceled . * /
2020-08-07 14:55:02 +00:00
preventDefault ( ) : void ;
/ * * I n v o k i n g t h i s m e t h o d p r e v e n t s e v e n t f r o m r e a c h i n g a n y r e g i s t e r e d e v e n t
2021-09-02 22:28:12 +00:00
* listeners after the current one finishes running and , when dispatched in a
* tree , also prevents event from reaching any other objects . * /
2020-08-07 14:55:02 +00:00
stopImmediatePropagation ( ) : void ;
/ * * W h e n d i s p a t c h e d i n a t r e e , i n v o k i n g t h i s m e t h o d p r e v e n t s e v e n t f r o m
2021-09-02 22:28:12 +00:00
* reaching any objects other than the current object . * /
2020-08-07 14:55:02 +00:00
stopPropagation ( ) : void ;
readonly AT_TARGET : number ;
readonly BUBBLING_PHASE : number ;
readonly CAPTURING_PHASE : number ;
readonly NONE : number ;
}
2023-07-03 18:36:55 +00:00
/ * * A n e v e n t w h i c h t a k e s p l a c e i n t h e D O M .
*
2024-05-06 01:56:55 +00:00
* @category Events
2023-07-03 18:36:55 +00:00
* /
declare var Event : {
readonly prototype : Event ;
2024-06-27 14:26:01 +00:00
new ( type : string , eventInitDict? : EventInit ) : Event ;
2023-07-03 18:36:55 +00:00
readonly AT_TARGET : number ;
readonly BUBBLING_PHASE : number ;
readonly CAPTURING_PHASE : number ;
readonly NONE : number ;
} ;
2020-08-07 14:55:02 +00:00
/ * *
2021-09-02 22:28:12 +00:00
* EventTarget is a DOM interface implemented by objects that can receive events
* and may have listeners for them .
2022-08-17 03:12:24 +00:00
*
2024-05-06 01:56:55 +00:00
* @category Events
2021-09-02 22:28:12 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface EventTarget {
2020-08-07 14:55:02 +00:00
/ * * A p p e n d s a n e v e n t l i s t e n e r f o r e v e n t s w h o s e t y p e a t t r i b u t e v a l u e i s t y p e .
2021-04-14 20:49:16 +00:00
* The callback argument sets the callback that will be invoked when the event
* is dispatched .
*
* The options argument sets listener - specific options . For compatibility this
* can be a boolean , in which case the method behaves exactly as if the value
* was specified as options ' s capture .
*
* When set to true , options ' s capture prevents callback from being invoked
* when the event ' s eventPhase attribute value is BUBBLING_PHASE . When false
* ( or not present ) , callback will not be invoked when event ' s eventPhase
* attribute value is CAPTURING_PHASE . Either way , callback will be invoked if
* event ' s eventPhase attribute value is AT_TARGET .
*
* When set to true , options ' s passive indicates that the callback will not
* cancel the event by invoking preventDefault ( ) . This is used to enable
* performance optimizations described in § 2.8 Observing event listeners .
*
* When set to true , options ' s once indicates that the callback will only be
* invoked once after which the event listener will be removed .
*
* The event listener is appended to target ' s event listener list and is not
* appended if it has the same type , callback , and capture . * /
2020-08-07 14:55:02 +00:00
addEventListener (
type : string ,
listener : EventListenerOrEventListenerObject | null ,
options? : boolean | AddEventListenerOptions ,
) : void ;
2023-10-23 12:34:37 +00:00
/ * * D i s p a t c h e s a s y n t h e t i c e v e n t t o e v e n t t a r g e t a n d r e t u r n s t r u e i f e i t h e r
2021-04-14 20:49:16 +00:00
* event ' s cancelable attribute value is false or its preventDefault ( ) method
* was not invoked , and false otherwise . * /
2020-08-07 14:55:02 +00:00
dispatchEvent ( event : Event ) : boolean ;
/ * * R e m o v e s t h e e v e n t l i s t e n e r i n t a r g e t ' s e v e n t l i s t e n e r l i s t w i t h t h e s a m e
2021-04-14 20:49:16 +00:00
* type , callback , and options . * /
2020-08-07 14:55:02 +00:00
removeEventListener (
type : string ,
callback : EventListenerOrEventListenerObject | null ,
options? : EventListenerOptions | boolean ,
) : void ;
}
2023-07-03 18:36:55 +00:00
/ * *
* EventTarget is a DOM interface implemented by objects that can receive events
* and may have listeners for them .
*
2024-05-06 01:56:55 +00:00
* @category Events
2023-07-03 18:36:55 +00:00
* /
declare var EventTarget : {
readonly prototype : EventTarget ;
2024-06-27 14:26:01 +00:00
new ( ) : EventTarget ;
2023-07-03 18:36:55 +00:00
} ;
2024-06-27 12:32:11 +00:00
/ * * R e p r e s e n t s a f u n c t i o n t y p e t h a t c a n b e u s e d a s a n e v e n t l i s t e n e r i n v a r i o u s
2024-06-27 14:12:26 +00:00
* contexts . Functions matching this type will receive an { @linkcode Event } as the first parameter .
2024-06-27 12:32:11 +00:00
*
2024-06-25 13:52:12 +00:00
* @category Events * /
2023-07-03 18:36:55 +00:00
declare interface EventListener {
2020-08-07 14:55:02 +00:00
( evt : Event ) : void | Promise < void > ;
}
2024-06-25 13:52:12 +00:00
/ * * E v e n t L i s t e n e r O b j e c t i n t e r f a c e d e f i n e s o b j e c t s t h a t c a n h a n d l e e v e n t s
2024-06-27 12:32:11 +00:00
*
2024-06-25 13:52:12 +00:00
* @category Events * /
2023-07-03 18:36:55 +00:00
declare interface EventListenerObject {
2020-08-07 14:55:02 +00:00
handleEvent ( evt : Event ) : void | Promise < void > ;
}
2024-05-06 01:56:55 +00:00
/** @category Events */
2020-08-07 14:55:02 +00:00
declare type EventListenerOrEventListenerObject =
| EventListener
| EventListenerObject ;
2024-06-27 14:24:54 +00:00
/** @category Events */
2023-07-03 18:36:55 +00:00
declare interface AddEventListenerOptions extends EventListenerOptions {
2024-06-27 12:32:11 +00:00
/** When set to true, indicates that the event listener should be automatically removed after its first invocation. */
2020-08-07 14:55:02 +00:00
passive? : boolean ;
2024-06-27 12:32:11 +00:00
/** When set to true, signals to the browser that the event listener will not call `preventDefault()`. */
2022-06-17 15:05:02 +00:00
signal? : AbortSignal ;
2024-06-27 12:32:11 +00:00
/** Allows the event listener to be associated with an `AbortSignal` from an `AbortController`, to allow removal of the event listener by calling `abort()` on the associated `AbortController`. */
once? : boolean ;
2020-08-07 14:55:02 +00:00
}
2024-06-27 12:32:11 +00:00
/ * * S p e c i f i e s o p t i o n s t h a t c a n b e p a s s e d t o e v e n t l i s t e n e r s
*
* @category Events * /
2023-07-03 18:36:55 +00:00
declare interface EventListenerOptions {
2024-06-27 12:32:11 +00:00
/ * * I f t r u e , e v e n t l i s t e n e r w i l l b e t r i g g e r e d d u r i n g t h e c a p t u r i n g p h a s e .
* If false or not provided , the event listener will be triggered during the bubbling phase . * /
2020-08-07 14:55:02 +00:00
capture? : boolean ;
}
2024-06-27 12:32:11 +00:00
/ * * D e f i n e s t h r e e a d d i t i o n a l o p t i o n a l p r o p e r t i e s s p e c i f i c t o t r a c k i n g t h e
* progress of an operation : ` lengthComputable ` , ` loaded ` , and ` total ` .
*
* @category Events * /
2023-07-03 18:36:55 +00:00
declare interface ProgressEventInit extends EventInit {
2024-06-27 12:32:11 +00:00
/** A boolean value indicating whether the total size of the operation is known. This allows consumers of the event to determine if they can calculate a percentage completion. */
2020-12-26 17:15:30 +00:00
lengthComputable? : boolean ;
2024-06-27 12:32:11 +00:00
/** A number representing the amount of work that has been completed. Typically used in conjunction with total to calculate how far along the operation is. */
2020-12-26 17:15:30 +00:00
loaded? : number ;
2024-06-27 12:32:11 +00:00
/** Total amount of work to be done. When used with loaded, it allows for the calculation of the operation's completion percentage. */
2020-12-26 17:15:30 +00:00
total? : number ;
}
/ * * E v e n t s m e a s u r i n g p r o g r e s s o f a n u n d e r l y i n g p r o c e s s , l i k e a n H T T P r e q u e s t
* ( for an XMLHttpRequest , or the loading of the underlying resource of an
2022-08-17 03:12:24 +00:00
* < img > , < audio > , < video > , < style > or < link > ) .
*
2024-05-06 01:56:55 +00:00
* @category Events
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface ProgressEvent < T extends EventTarget = EventTarget >
extends Event {
2020-12-26 17:15:30 +00:00
readonly lengthComputable : boolean ;
readonly loaded : number ;
readonly target : T | null ;
readonly total : number ;
}
2023-07-03 18:36:55 +00:00
/ * * E v e n t s m e a s u r i n g p r o g r e s s o f a n u n d e r l y i n g p r o c e s s , l i k e a n H T T P r e q u e s t
* ( for an XMLHttpRequest , or the loading of the underlying resource of an
* < img > , < audio > , < video > , < style > or < link > ) .
*
2024-05-06 01:56:55 +00:00
* @category Events
2023-07-03 18:36:55 +00:00
* /
declare var ProgressEvent : {
readonly prototype : ProgressEvent ;
2024-06-27 14:26:01 +00:00
new ( type : string , eventInitDict? : ProgressEventInit ) : ProgressEvent ;
2023-07-03 18:36:55 +00:00
} ;
2020-08-07 14:55:02 +00:00
/ * * D e c o d e s a s t r i n g o f d a t a w h i c h h a s b e e n e n c o d e d u s i n g b a s e - 6 4 e n c o d i n g .
*
2022-02-22 19:41:59 +00:00
* ` ` `
* console . log ( atob ( "aGVsbG8gd29ybGQ=" ) ) ; // outputs 'hello world'
* ` ` `
2022-08-17 03:12:24 +00:00
*
2024-05-06 01:56:55 +00:00
* @category Encoding
2020-08-07 14:55:02 +00:00
* /
declare function atob ( s : string ) : string ;
/ * * C r e a t e s a b a s e - 6 4 A S C I I e n c o d e d s t r i n g f r o m t h e i n p u t s t r i n g .
*
2022-02-22 19:41:59 +00:00
* ` ` `
* console . log ( btoa ( "hello world" ) ) ; // outputs "aGVsbG8gd29ybGQ="
* ` ` `
2022-08-17 03:12:24 +00:00
*
2024-05-06 01:56:55 +00:00
* @category Encoding
2020-08-07 14:55:02 +00:00
* /
declare function btoa ( s : string ) : string ;
2024-06-27 12:32:11 +00:00
/ * * S p e c i f i e s o p t i o n s t h a t c a n b e p a s s e d t o a T e x t D e c o d e r i n s t a n c e .
*
* @category Encoding * /
2021-06-05 21:10:07 +00:00
declare interface TextDecoderOptions {
2024-06-27 12:32:11 +00:00
/** When `true`, indicates that the `TextDecoder` should throw an error if it encounters an invalid byte sequence for the chosen encoding. When `false` or not provided, the `TextDecoder` will replace invalid byte sequences with a replacement character, typically `<60> `, and continue decoding. */
2021-06-05 21:10:07 +00:00
fatal? : boolean ;
2024-06-27 12:32:11 +00:00
/** If set to `true`, the `TextDecoder` will ignore any BOM. If `false` or not provided, and if the encoding allows for a BOM (such as UTF-8, UTF-16), the `TextDecoder` will use the BOM to determine the text's endianness and then remove it from the output. */
2021-06-05 21:10:07 +00:00
ignoreBOM? : boolean ;
}
2024-05-06 01:56:55 +00:00
/** @category Encoding */
2021-06-05 21:10:07 +00:00
declare interface TextDecodeOptions {
stream? : boolean ;
}
2024-05-06 01:56:55 +00:00
/** @category Encoding */
2023-07-03 18:36:55 +00:00
declare interface TextDecoder {
2021-04-02 01:12:07 +00:00
/** Returns encoding's name, lowercased. */
2020-08-07 14:55:02 +00:00
readonly encoding : string ;
2021-04-02 01:12:07 +00:00
/** Returns `true` if error mode is "fatal", and `false` otherwise. */
2020-08-07 14:55:02 +00:00
readonly fatal : boolean ;
2021-04-02 01:12:07 +00:00
/** Returns `true` if ignore BOM flag is set, and `false` otherwise. */
2021-10-21 06:47:14 +00:00
readonly ignoreBOM : boolean ;
2021-06-05 21:10:07 +00:00
2021-06-06 01:23:16 +00:00
/** Returns the result of running encoding's decoder. */
2021-06-05 21:10:07 +00:00
decode ( input? : BufferSource , options? : TextDecodeOptions ) : string ;
}
2024-06-27 12:32:11 +00:00
/ * * T e x t D e c o d e r ' s c o n s t r u c t o r f u n c t i o n c a n t a k e u p t o t w o o p t i o n a l p a r a m e t e r s :
* ` label ` : A string parameter that specifies the encoding to use for decoding .
* ( If not provided the default is UTF - 8 . )
* ` options ` : An object of type ` TextDecoderOptions ` which allows for further
* customization of the decoding process .
*
* @category Encoding * /
2021-10-21 06:47:14 +00:00
declare var TextDecoder : {
2023-07-03 18:36:55 +00:00
readonly prototype : TextDecoder ;
2024-06-27 14:26:01 +00:00
new ( label? : string , options? : TextDecoderOptions ) : TextDecoder ;
2021-10-21 06:47:14 +00:00
} ;
2024-06-27 12:32:11 +00:00
/ * * R e p r e s e n t s t h e r e s u l t o f a n e n c o d i n g o p e r a t i o n p e r f o r m e d b y a T e x t E n c o d e r .
*
* @category Encoding * /
2021-06-05 21:10:07 +00:00
declare interface TextEncoderEncodeIntoResult {
2024-06-27 12:32:11 +00:00
/** Indicates the number of characters (or code units) from the input that were read and processed during the encoding operation */
2021-06-05 21:10:07 +00:00
read : number ;
2024-06-27 12:32:11 +00:00
/** Signifies the number of bytes that were written to the output buffer as a result of the encoding process */
2021-06-05 21:10:07 +00:00
written : number ;
2021-04-02 01:12:07 +00:00
}
2024-06-27 12:32:11 +00:00
/ * * A u t i l i t y f o r e n c o d i n g s t r i n g s i n t o a b i n a r y f o r m a t , s p e c i f i c a l l y u s i n g
* UTF - 8 encoding .
*
* @category Encoding * /
2023-07-03 18:36:55 +00:00
declare interface TextEncoder {
2021-04-02 01:12:07 +00:00
/** Returns "utf-8". */
2021-06-06 01:23:16 +00:00
readonly encoding : "utf-8" ;
2021-04-02 01:12:07 +00:00
/** Returns the result of running UTF-8's encoder. */
2020-08-07 14:55:02 +00:00
encode ( input? : string ) : Uint8Array ;
2021-06-05 21:10:07 +00:00
encodeInto ( input : string , dest : Uint8Array ) : TextEncoderEncodeIntoResult ;
2020-08-07 14:55:02 +00:00
}
2020-08-19 12:43:20 +00:00
2024-05-06 01:56:55 +00:00
/** @category Encoding */
2021-10-21 06:47:14 +00:00
declare var TextEncoder : {
2023-07-03 18:36:55 +00:00
readonly prototype : TextEncoder ;
2024-06-27 14:26:01 +00:00
new ( ) : TextEncoder ;
2021-10-21 06:47:14 +00:00
} ;
2024-06-27 13:04:14 +00:00
/ * * A s t r e a m - b a s e d t e x t d e c o d e r f o r e f f i c i e n t p r o c e s s i n g o f l a r g e o r
2024-06-27 12:32:11 +00:00
* streaming text data .
2024-06-27 13:04:14 +00:00
*
2024-06-27 12:32:11 +00:00
* @category Encoding * /
2023-07-03 18:36:55 +00:00
declare interface TextDecoderStream {
2021-06-06 01:23:16 +00:00
/** Returns encoding's name, lowercased. */
readonly encoding : string ;
/** Returns `true` if error mode is "fatal", and `false` otherwise. */
readonly fatal : boolean ;
/** Returns `true` if ignore BOM flag is set, and `false` otherwise. */
2021-10-21 06:47:14 +00:00
readonly ignoreBOM : boolean ;
2021-06-06 01:23:16 +00:00
readonly readable : ReadableStream < string > ;
readonly writable : WritableStream < BufferSource > ;
readonly [ Symbol . toStringTag ] : string ;
}
2024-05-06 01:56:55 +00:00
/** @category Encoding */
2021-10-21 06:47:14 +00:00
declare var TextDecoderStream : {
2023-07-03 18:36:55 +00:00
readonly prototype : TextDecoderStream ;
2024-06-27 14:26:01 +00:00
new ( label? : string , options? : TextDecoderOptions ) : TextDecoderStream ;
2021-10-21 06:47:14 +00:00
} ;
2024-06-27 12:32:11 +00:00
/ * * S t r e a m - b a s e d m e c h a n i s m f o r e n c o d i n g t e x t i n t o a s t r e a m o f U T F - 8 e n c o d e d d a t a
2024-06-27 13:04:14 +00:00
*
2024-06-27 12:32:11 +00:00
* @category Encoding * /
2023-07-03 18:36:55 +00:00
declare interface TextEncoderStream {
2021-06-06 01:23:16 +00:00
/** Returns "utf-8". */
readonly encoding : "utf-8" ;
readonly readable : ReadableStream < Uint8Array > ;
readonly writable : WritableStream < string > ;
readonly [ Symbol . toStringTag ] : string ;
}
2024-05-06 01:56:55 +00:00
/** @category Encoding */
2021-10-21 06:47:14 +00:00
declare var TextEncoderStream : {
2023-07-03 18:36:55 +00:00
readonly prototype : TextEncoderStream ;
2024-06-27 14:26:01 +00:00
new ( ) : TextEncoderStream ;
2021-10-21 06:47:14 +00:00
} ;
2020-08-19 12:43:20 +00:00
/ * * A c o n t r o l l e r o b j e c t t h a t a l l o w s y o u t o a b o r t o n e o r m o r e D O M r e q u e s t s a s a n d
2022-08-17 03:12:24 +00:00
* when desired .
*
2024-05-06 01:56:55 +00:00
* @category Platform
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface AbortController {
2020-08-19 12:43:20 +00:00
/** Returns the AbortSignal object associated with this object. */
readonly signal : AbortSignal ;
/ * * I n v o k i n g t h i s m e t h o d w i l l s e t t h i s o b j e c t ' s A b o r t S i g n a l ' s a b o r t e d f l a g a n d
2021-09-02 22:28:12 +00:00
* signal to any observers that the associated activity is to be aborted . * /
2021-11-11 09:28:06 +00:00
abort ( reason? : any ) : void ;
2020-08-19 12:43:20 +00:00
}
2023-07-03 18:36:55 +00:00
/ * * A c o n t r o l l e r o b j e c t t h a t a l l o w s y o u t o a b o r t o n e o r m o r e D O M r e q u e s t s a s a n d
* when desired .
*
2024-05-06 01:56:55 +00:00
* @category Platform
2023-07-03 18:36:55 +00:00
* /
declare var AbortController : {
readonly prototype : AbortController ;
2024-06-27 14:26:01 +00:00
new ( ) : AbortController ;
2023-07-03 18:36:55 +00:00
} ;
2024-05-06 01:56:55 +00:00
/** @category Platform */
2023-07-03 18:36:55 +00:00
declare interface AbortSignalEventMap {
2020-08-19 12:43:20 +00:00
abort : Event ;
}
/ * * A s i g n a l o b j e c t t h a t a l l o w s y o u t o c o m m u n i c a t e w i t h a D O M r e q u e s t ( s u c h a s a
2022-08-17 03:12:24 +00:00
* Fetch ) and abort it if required via an AbortController object .
*
2024-05-06 01:56:55 +00:00
* @category Platform
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface AbortSignal extends EventTarget {
2020-08-19 12:43:20 +00:00
/ * * R e t u r n s t r u e i f t h i s A b o r t S i g n a l ' s A b o r t C o n t r o l l e r h a s s i g n a l e d t o a b o r t ,
2021-09-02 22:28:12 +00:00
* and false otherwise . * /
2020-08-19 12:43:20 +00:00
readonly aborted : boolean ;
2022-06-01 00:19:18 +00:00
readonly reason : any ;
2020-08-19 12:43:20 +00:00
onabort : ( ( this : AbortSignal , ev : Event ) = > any ) | null ;
addEventListener < K extends keyof AbortSignalEventMap > (
type : K ,
listener : ( this : AbortSignal , ev : AbortSignalEventMap [ K ] ) = > any ,
options? : boolean | AddEventListenerOptions ,
) : void ;
addEventListener (
type : string ,
listener : EventListenerOrEventListenerObject ,
options? : boolean | AddEventListenerOptions ,
) : void ;
removeEventListener < K extends keyof AbortSignalEventMap > (
type : K ,
listener : ( this : AbortSignal , ev : AbortSignalEventMap [ K ] ) = > any ,
options? : boolean | EventListenerOptions ,
) : void ;
removeEventListener (
type : string ,
listener : EventListenerOrEventListenerObject ,
options? : boolean | EventListenerOptions ,
) : void ;
2021-12-10 14:12:38 +00:00
/ * * T h r o w s t h i s A b o r t S i g n a l ' s a b o r t r e a s o n , i f i t s A b o r t C o n t r o l l e r h a s
* signaled to abort ; otherwise , does nothing . * /
throwIfAborted ( ) : void ;
2020-08-19 12:43:20 +00:00
}
2024-05-06 01:56:55 +00:00
/** @category Platform */
2020-09-25 21:23:35 +00:00
declare var AbortSignal : {
2023-07-03 18:36:55 +00:00
readonly prototype : AbortSignal ;
2024-06-27 14:26:01 +00:00
new ( ) : never ;
2021-11-11 09:28:06 +00:00
abort ( reason? : any ) : AbortSignal ;
2023-11-13 00:04:11 +00:00
any ( signals : AbortSignal [ ] ) : AbortSignal ;
2022-03-14 19:19:22 +00:00
timeout ( milliseconds : number ) : AbortSignal ;
2020-08-19 12:43:20 +00:00
} ;
2020-09-18 14:01:50 +00:00
2024-05-06 01:56:55 +00:00
/** @category File */
2023-07-03 18:36:55 +00:00
declare interface FileReaderEventMap {
2020-09-18 14:01:50 +00:00
"abort" : ProgressEvent < FileReader > ;
"error" : ProgressEvent < FileReader > ;
"load" : ProgressEvent < FileReader > ;
"loadend" : ProgressEvent < FileReader > ;
"loadstart" : ProgressEvent < FileReader > ;
"progress" : ProgressEvent < FileReader > ;
}
2022-08-17 03:12:24 +00:00
/ * * L e t s w e b a p p l i c a t i o n s a s y n c h r o n o u s l y r e a d t h e c o n t e n t s o f f i l e s ( o r r a w d a t a
* buffers ) stored on the user ' s computer , using File or Blob objects to specify
* the file or data to read .
*
2024-05-06 01:56:55 +00:00
* @category File
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface FileReader extends EventTarget {
2020-09-18 14:01:50 +00:00
readonly error : DOMException | null ;
onabort : ( ( this : FileReader , ev : ProgressEvent < FileReader > ) = > any ) | null ;
onerror : ( ( this : FileReader , ev : ProgressEvent < FileReader > ) = > any ) | null ;
onload : ( ( this : FileReader , ev : ProgressEvent < FileReader > ) = > any ) | null ;
onloadend : ( ( this : FileReader , ev : ProgressEvent < FileReader > ) = > any ) | null ;
onloadstart :
2024-06-27 14:26:01 +00:00
| ( ( this : FileReader , ev : ProgressEvent < FileReader > ) = > any )
| null ;
2020-09-18 14:01:50 +00:00
onprogress : ( ( this : FileReader , ev : ProgressEvent < FileReader > ) = > any ) | null ;
readonly readyState : number ;
readonly result : string | ArrayBuffer | null ;
abort ( ) : void ;
readAsArrayBuffer ( blob : Blob ) : void ;
readAsBinaryString ( blob : Blob ) : void ;
readAsDataURL ( blob : Blob ) : void ;
readAsText ( blob : Blob , encoding? : string ) : void ;
readonly DONE : number ;
readonly EMPTY : number ;
readonly LOADING : number ;
addEventListener < K extends keyof FileReaderEventMap > (
type : K ,
listener : ( this : FileReader , ev : FileReaderEventMap [ K ] ) = > any ,
options? : boolean | AddEventListenerOptions ,
) : void ;
addEventListener (
type : string ,
listener : EventListenerOrEventListenerObject ,
options? : boolean | AddEventListenerOptions ,
) : void ;
removeEventListener < K extends keyof FileReaderEventMap > (
type : K ,
listener : ( this : FileReader , ev : FileReaderEventMap [ K ] ) = > any ,
options? : boolean | EventListenerOptions ,
) : void ;
removeEventListener (
type : string ,
listener : EventListenerOrEventListenerObject ,
options? : boolean | EventListenerOptions ,
) : void ;
}
2024-05-06 01:56:55 +00:00
/** @category File */
2020-09-18 14:01:50 +00:00
declare var FileReader : {
2023-07-03 18:36:55 +00:00
readonly prototype : FileReader ;
2024-06-27 14:26:01 +00:00
new ( ) : FileReader ;
2020-09-18 14:01:50 +00:00
readonly DONE : number ;
readonly EMPTY : number ;
readonly LOADING : number ;
} ;
2021-06-10 13:26:10 +00:00
2024-05-06 01:56:55 +00:00
/** @category File */
2023-07-03 18:36:55 +00:00
declare type BlobPart = BufferSource | Blob | string ;
2021-06-10 13:26:10 +00:00
2024-05-06 01:56:55 +00:00
/** @category File */
2023-07-03 18:36:55 +00:00
declare interface BlobPropertyBag {
2021-06-10 13:26:10 +00:00
type ? : string ;
endings ? : "transparent" | "native" ;
}
2022-08-17 03:12:24 +00:00
/ * * A f i l e - l i k e o b j e c t o f i m m u t a b l e , r a w d a t a . B l o b s r e p r e s e n t d a t a t h a t i s n ' t
* necessarily in a JavaScript - native format . The File interface is based on
* Blob , inheriting blob functionality and expanding it to support files on the
* user ' s system .
*
2024-05-06 01:56:55 +00:00
* @category File
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface Blob {
2021-06-10 13:26:10 +00:00
readonly size : number ;
readonly type : string ;
arrayBuffer ( ) : Promise < ArrayBuffer > ;
slice ( start? : number , end? : number , contentType? : string ) : Blob ;
stream ( ) : ReadableStream < Uint8Array > ;
text ( ) : Promise < string > ;
}
2023-07-03 18:36:55 +00:00
/ * * A f i l e - l i k e o b j e c t o f i m m u t a b l e , r a w d a t a . B l o b s r e p r e s e n t d a t a t h a t i s n ' t
* necessarily in a JavaScript - native format . The File interface is based on
* Blob , inheriting blob functionality and expanding it to support files on the
* user ' s system .
*
2024-05-06 01:56:55 +00:00
* @category File
2023-07-03 18:36:55 +00:00
* /
declare var Blob : {
readonly prototype : Blob ;
2024-06-27 14:26:01 +00:00
new ( blobParts? : BlobPart [ ] , options? : BlobPropertyBag ) : Blob ;
2023-07-03 18:36:55 +00:00
} ;
2024-05-06 01:56:55 +00:00
/** @category File */
2023-07-03 18:36:55 +00:00
declare interface FilePropertyBag extends BlobPropertyBag {
2021-06-10 13:26:10 +00:00
lastModified? : number ;
}
/ * * P r o v i d e s i n f o r m a t i o n a b o u t f i l e s a n d a l l o w s J a v a S c r i p t i n a w e b p a g e t o
2022-08-17 03:12:24 +00:00
* access their content .
*
2024-05-06 01:56:55 +00:00
* @category File
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface File extends Blob {
2021-06-10 13:26:10 +00:00
readonly lastModified : number ;
readonly name : string ;
}
2021-06-14 11:51:02 +00:00
2023-07-03 18:36:55 +00:00
/ * * P r o v i d e s i n f o r m a t i o n a b o u t f i l e s a n d a l l o w s J a v a S c r i p t i n a w e b p a g e t o
* access their content .
*
2024-05-06 01:56:55 +00:00
* @category File
2023-07-03 18:36:55 +00:00
* /
declare var File : {
readonly prototype : File ;
2024-06-27 14:26:01 +00:00
new ( fileBits : BlobPart [ ] , fileName : string , options? : FilePropertyBag ) : File ;
2023-07-03 18:36:55 +00:00
} ;
2024-06-27 13:04:14 +00:00
/ * * T h e r e s u l t o b j e c t f r o m r e a d i n g a s t r e a m w h e n t h e s t r e a m h a s b e e n f u l l y
2024-06-27 12:32:11 +00:00
* consumed or closed .
2024-06-27 13:04:14 +00:00
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface ReadableStreamDefaultReadDoneResult {
2021-06-14 11:51:02 +00:00
done : true ;
2022-11-30 15:24:13 +00:00
value? : undefined ;
2021-06-14 11:51:02 +00:00
}
2024-06-27 13:04:14 +00:00
/ * * T h e r e s u l t o b j e c t f r o m r e a d i n g a s t r e a m t h a t i s n o t y e t f i n i s h e d
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface ReadableStreamDefaultReadValueResult < T > {
2021-06-14 11:51:02 +00:00
done : false ;
value : T ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare type ReadableStreamDefaultReadResult < T > =
2022-11-30 15:24:13 +00:00
| ReadableStreamDefaultReadValueResult < T >
| ReadableStreamDefaultReadDoneResult ;
2021-06-14 11:51:02 +00:00
2024-06-27 13:04:14 +00:00
/ * * A n o b j e c t t h a t a l l o w s y o u t o r e a d f r o m a r e a d a b l e s t r e a m
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface ReadableStreamDefaultReader < R = any > {
2021-06-14 11:51:02 +00:00
readonly closed : Promise < void > ;
cancel ( reason? : any ) : Promise < void > ;
2022-11-30 15:24:13 +00:00
read ( ) : Promise < ReadableStreamDefaultReadResult < R > > ;
2021-06-14 11:51:02 +00:00
releaseLock ( ) : void ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2022-11-30 15:24:13 +00:00
declare var ReadableStreamDefaultReader : {
2023-07-03 18:36:55 +00:00
readonly prototype : ReadableStreamDefaultReader ;
2022-11-30 15:24:13 +00:00
new < R > ( stream : ReadableStream < R > ) : ReadableStreamDefaultReader < R > ;
} ;
2024-06-27 13:04:14 +00:00
/ * * T h e r e s u l t o f a n o p e r a t i o n , s p e c i f i c a l l y i n t h e c o n t e x t o f r e a d i n g f r o m a s t r e a m u s i n g a " b r i n g y o u r o w n b u f f e r " ( B Y O B ) s t r a t e g y .
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface ReadableStreamBYOBReadDoneResult < V extends ArrayBufferView > {
2021-11-03 09:47:40 +00:00
done : true ;
2021-11-05 11:56:28 +00:00
value? : V ;
2021-11-03 09:47:40 +00:00
}
2024-06-27 13:04:14 +00:00
/ * * T h e r e s u l t o f a r e a d o p e r a t i o n f r o m a s t r e a m u s i n g a " b r i n g y o u r o w n b u f f e r " ( B Y O B ) s t r a t e g y .
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface ReadableStreamBYOBReadValueResult < V extends ArrayBufferView > {
2021-11-03 09:47:40 +00:00
done : false ;
2021-11-05 11:56:28 +00:00
value : V ;
2021-11-03 09:47:40 +00:00
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare type ReadableStreamBYOBReadResult < V extends ArrayBufferView > =
2021-11-05 11:56:28 +00:00
| ReadableStreamBYOBReadDoneResult < V >
| ReadableStreamBYOBReadValueResult < V > ;
2021-11-03 09:47:40 +00:00
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-11-24 22:24:41 +00:00
declare interface ReadableStreamBYOBReaderReadOptions {
min? : number ;
}
2024-06-27 12:32:11 +00:00
/ * * P r o v i d e s a s e t o f m e t h o d s f o r r e a d i n g b i n a r y d a t a f r o m a s t r e a m u s i n g a b u f f e r p r o v i d e d b y t h e d e v e l o p e r , w i t h m e c h a n i s m s f o r h a n d l i n g s t r e a m c l o s u r e , c a n c e l l a t i o n , a n d l o c k i n g
2024-06-27 13:04:14 +00:00
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface ReadableStreamBYOBReader {
2021-11-03 09:47:40 +00:00
readonly closed : Promise < void > ;
cancel ( reason? : any ) : Promise < void > ;
2021-11-05 11:56:28 +00:00
read < V extends ArrayBufferView > (
view : V ,
2023-11-24 22:24:41 +00:00
options? : ReadableStreamBYOBReaderReadOptions ,
2021-11-05 11:56:28 +00:00
) : Promise < ReadableStreamBYOBReadResult < V > > ;
2021-11-03 09:47:40 +00:00
releaseLock ( ) : void ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2022-11-30 15:24:13 +00:00
declare var ReadableStreamBYOBReader : {
2023-07-03 18:36:55 +00:00
readonly prototype : ReadableStreamBYOBReader ;
2024-06-27 14:26:01 +00:00
new ( stream : ReadableStream < Uint8Array > ) : ReadableStreamBYOBReader ;
2022-11-30 15:24:13 +00:00
} ;
2024-06-27 12:32:11 +00:00
/ * * N o t i f y t h e s t r e a m a b o u t t h e a m o u n t o f d a t a p r o c e s s e d a n d t o s u p p l y n e w b u f f e r s a s n e e d e d .
2024-06-27 13:04:14 +00:00
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface ReadableStreamBYOBRequest {
2021-11-03 09:47:40 +00:00
readonly view : ArrayBufferView | null ;
respond ( bytesWritten : number ) : void ;
respondWithNewView ( view : ArrayBufferView ) : void ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare var ReadableStreamBYOBRequest : {
readonly prototype : ReadableStreamBYOBRequest ;
2024-06-27 14:26:01 +00:00
new ( ) : never ;
2023-07-03 18:36:55 +00:00
} ;
2024-06-27 12:32:11 +00:00
/ * * A c a l l b a c k f u n c t i o n t y p e f o r m a n a g i n g a r e a d a b l e b y t e s t r e a m .
2024-06-27 13:04:14 +00:00
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface ReadableByteStreamControllerCallback {
2021-06-14 11:51:02 +00:00
( controller : ReadableByteStreamController ) : void | PromiseLike < void > ;
}
2024-06-27 12:32:11 +00:00
/ * * A s t r u c t u r e f o r i m p l e m e n t i n g s o u r c e s o f b i n a r y d a t a .
2024-06-27 13:04:14 +00:00
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface UnderlyingByteSource {
2021-06-14 11:51:02 +00:00
autoAllocateChunkSize? : number ;
cancel? : ReadableStreamErrorCallback ;
pull? : ReadableByteStreamControllerCallback ;
start? : ReadableByteStreamControllerCallback ;
type : "bytes" ;
}
2024-06-27 13:04:14 +00:00
/ * * A c o n t r a c t f o r o b j e c t s t h a t c a n c o n s u m e d a t a c h u n k s , p r o v i d i n g h o o k s f o r
* initialization ` start ` , writing data ` write ` , handling errors ` abort ` , and
* closing the stream ` close ` .
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface UnderlyingSink < W = any > {
2021-06-14 11:51:02 +00:00
abort? : WritableStreamErrorCallback ;
close? : WritableStreamDefaultControllerCloseCallback ;
start? : WritableStreamDefaultControllerStartCallback ;
type ? : undefined ;
write? : WritableStreamDefaultControllerWriteCallback < W > ;
}
2024-06-27 12:32:11 +00:00
/ * * O u t l i n e s t h e s t r u c t u r e f o r o b j e c t s t h a t c a n s e r v e a s t h e u n d e r l y i n g s o u r c e o f d a t a f o r a ` R e a d a b l e S t r e a m `
2024-06-27 13:04:14 +00:00
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface UnderlyingSource < R = any > {
2021-06-14 11:51:02 +00:00
cancel? : ReadableStreamErrorCallback ;
pull? : ReadableStreamDefaultControllerCallback < R > ;
start? : ReadableStreamDefaultControllerCallback < R > ;
type ? : undefined ;
}
2024-06-27 12:32:11 +00:00
/ * * C a l l b a c k f u n c t i o n t o h a n d l e e r r o r s i n t h e c o n t e x t o f r e a d a b l e s t r e a m s
2024-06-27 13:04:14 +00:00
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface ReadableStreamErrorCallback {
2021-06-14 11:51:02 +00:00
( reason : any ) : void | PromiseLike < void > ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare interface ReadableStreamDefaultControllerCallback < R > {
2021-06-14 11:51:02 +00:00
( controller : ReadableStreamDefaultController < R > ) : void | PromiseLike < void > ;
}
2024-06-27 13:04:14 +00:00
/ * * C o n t r o l t h e s t a t e a n d b e h a v i o r o f a r e a d a b l e s t r e a m
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface ReadableStreamDefaultController < R = any > {
2021-06-14 11:51:02 +00:00
readonly desiredSize : number | null ;
close ( ) : void ;
enqueue ( chunk : R ) : void ;
error ( error? : any ) : void ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2021-06-14 11:51:02 +00:00
declare var ReadableStreamDefaultController : {
2023-07-03 18:36:55 +00:00
readonly prototype : ReadableStreamDefaultController ;
2024-06-27 14:26:01 +00:00
new ( ) : never ;
2021-06-14 11:51:02 +00:00
} ;
2024-06-27 12:32:11 +00:00
/ * * M a n a g e t h e f l o w o f b y t e d a t a i n a s t r e a m , i n c l u d i n g b u f f e r i n g , c l o s i n g t h e s t r e a m , a n d h a n d l i n g e r r o r s .
2024-06-27 13:04:14 +00:00
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface ReadableByteStreamController {
2021-11-03 09:47:40 +00:00
readonly byobRequest : ReadableStreamBYOBRequest | null ;
2021-06-14 11:51:02 +00:00
readonly desiredSize : number | null ;
close ( ) : void ;
enqueue ( chunk : ArrayBufferView ) : void ;
error ( error? : any ) : void ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2021-06-14 11:51:02 +00:00
declare var ReadableByteStreamController : {
2023-07-03 18:36:55 +00:00
readonly prototype : ReadableByteStreamController ;
2024-06-27 14:26:01 +00:00
new ( ) : never ;
2021-06-14 11:51:02 +00:00
} ;
2024-06-27 14:13:15 +00:00
/ * * F i n e g r a i n e d c o n t r o l o v e r { @ l i n k c o d e R e a d a b l e S t r e a m . p i p e T o } o p e r a t i o n s , a l l o w i n g f o r t h e p r e v e n t i o n o f s t r e a m c l o s i n g , c a n c e l l a t i o n , o r a b o r t i n g .
2024-06-27 13:04:14 +00:00
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface PipeOptions {
2021-06-14 11:51:02 +00:00
preventAbort? : boolean ;
preventCancel? : boolean ;
preventClose? : boolean ;
signal? : AbortSignal ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare interface QueuingStrategySizeCallback < T = any > {
2021-06-14 11:51:02 +00:00
( chunk : T ) : number ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare interface QueuingStrategy < T = any > {
2021-06-14 11:51:02 +00:00
highWaterMark? : number ;
size? : QueuingStrategySizeCallback < T > ;
}
/ * * T h i s S t r e a m s A P I i n t e r f a c e p r o v i d e s a b u i l t - i n b y t e l e n g t h q u e u i n g s t r a t e g y
2022-08-17 03:12:24 +00:00
* that can be used when constructing streams .
*
2024-05-06 01:56:55 +00:00
* @category Streams
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface CountQueuingStrategy extends QueuingStrategy {
2021-06-14 11:51:02 +00:00
highWaterMark : number ;
size ( chunk : any ) : 1 ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2021-10-21 06:47:14 +00:00
declare var CountQueuingStrategy : {
2023-07-03 18:36:55 +00:00
readonly prototype : CountQueuingStrategy ;
2024-06-27 14:26:01 +00:00
new ( options : { highWaterMark : number } ) : CountQueuingStrategy ;
2021-10-21 06:47:14 +00:00
} ;
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare interface ByteLengthQueuingStrategy
extends QueuingStrategy < ArrayBufferView > {
2021-06-14 11:51:02 +00:00
highWaterMark : number ;
size ( chunk : ArrayBufferView ) : number ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2021-10-21 06:47:14 +00:00
declare var ByteLengthQueuingStrategy : {
2023-07-03 18:36:55 +00:00
readonly prototype : ByteLengthQueuingStrategy ;
2024-06-27 14:26:01 +00:00
new ( options : { highWaterMark : number } ) : ByteLengthQueuingStrategy ;
2021-10-21 06:47:14 +00:00
} ;
2021-06-14 11:51:02 +00:00
/ * * T h i s S t r e a m s A P I i n t e r f a c e r e p r e s e n t s a r e a d a b l e s t r e a m o f b y t e d a t a . T h e
* Fetch API offers a concrete instance of a ReadableStream through the body
2022-08-17 03:12:24 +00:00
* property of a Response object .
*
2024-05-06 01:56:55 +00:00
* @category Streams
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface ReadableStream < R = any > {
2021-06-14 11:51:02 +00:00
readonly locked : boolean ;
cancel ( reason? : any ) : Promise < void > ;
2021-11-05 11:56:28 +00:00
getReader ( options : { mode : "byob" } ) : ReadableStreamBYOBReader ;
getReader ( options ? : { mode? : undefined } ) : ReadableStreamDefaultReader < R > ;
2022-10-26 13:53:48 +00:00
pipeThrough < T > ( transform : {
writable : WritableStream < R > ;
readable : ReadableStream < T > ;
} , options? : PipeOptions ) : ReadableStream < T > ;
2021-06-14 11:51:02 +00:00
pipeTo ( dest : WritableStream < R > , options? : PipeOptions ) : Promise < void > ;
tee ( ) : [ ReadableStream < R > , ReadableStream < R > ] ;
2023-07-03 18:36:55 +00:00
values ( options ? : {
preventCancel? : boolean ;
} ) : AsyncIterableIterator < R > ;
2021-06-14 11:51:02 +00:00
[ Symbol . asyncIterator ] ( options ? : {
preventCancel? : boolean ;
} ) : AsyncIterableIterator < R > ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2021-06-14 11:51:02 +00:00
declare var ReadableStream : {
2023-07-03 18:36:55 +00:00
readonly prototype : ReadableStream ;
2024-06-27 14:26:01 +00:00
new (
2021-06-14 11:51:02 +00:00
underlyingSource : UnderlyingByteSource ,
strategy ? : { highWaterMark? : number ; size? : undefined } ,
) : ReadableStream < Uint8Array > ;
new < R = any > (
underlyingSource? : UnderlyingSource < R > ,
strategy? : QueuingStrategy < R > ,
) : ReadableStream < R > ;
2023-07-03 18:36:55 +00:00
from < R > (
asyncIterable : AsyncIterable < R > | Iterable < R | PromiseLike < R > > ,
) : ReadableStream < R > ;
2021-06-14 11:51:02 +00:00
} ;
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare interface WritableStreamDefaultControllerCloseCallback {
2021-06-14 11:51:02 +00:00
( ) : void | PromiseLike < void > ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare interface WritableStreamDefaultControllerStartCallback {
2021-06-14 11:51:02 +00:00
( controller : WritableStreamDefaultController ) : void | PromiseLike < void > ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare interface WritableStreamDefaultControllerWriteCallback < W > {
2021-06-14 11:51:02 +00:00
( chunk : W , controller : WritableStreamDefaultController ) :
| void
| PromiseLike <
void
> ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare interface WritableStreamErrorCallback {
2021-06-14 11:51:02 +00:00
( reason : any ) : void | PromiseLike < void > ;
}
/ * * T h i s S t r e a m s A P I i n t e r f a c e p r o v i d e s a s t a n d a r d a b s t r a c t i o n f o r w r i t i n g
* streaming data to a destination , known as a sink . This object comes with
2022-08-17 03:12:24 +00:00
* built - in backpressure and queuing .
*
2024-05-06 01:56:55 +00:00
* @category Streams
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface WritableStream < W = any > {
2021-06-14 11:51:02 +00:00
readonly locked : boolean ;
abort ( reason? : any ) : Promise < void > ;
2022-04-20 22:20:33 +00:00
close ( ) : Promise < void > ;
2021-06-14 11:51:02 +00:00
getWriter ( ) : WritableStreamDefaultWriter < W > ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2021-06-14 11:51:02 +00:00
declare var WritableStream : {
2023-07-03 18:36:55 +00:00
readonly prototype : WritableStream ;
2021-06-14 11:51:02 +00:00
new < W = any > (
underlyingSink? : UnderlyingSink < W > ,
strategy? : QueuingStrategy < W > ,
) : WritableStream < W > ;
} ;
/ * * T h i s S t r e a m s A P I i n t e r f a c e r e p r e s e n t s a c o n t r o l l e r a l l o w i n g c o n t r o l o f a
* WritableStream ' s state . When constructing a WritableStream , the underlying
* sink is given a corresponding WritableStreamDefaultController instance to
2022-08-17 03:12:24 +00:00
* manipulate .
*
2024-05-06 01:56:55 +00:00
* @category Streams
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface WritableStreamDefaultController {
2021-11-08 11:54:24 +00:00
signal : AbortSignal ;
2021-06-14 11:51:02 +00:00
error ( error? : any ) : void ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare var WritableStreamDefaultController : {
readonly prototype : WritableStreamDefaultController ;
2024-06-27 14:26:01 +00:00
new ( ) : never ;
2023-07-03 18:36:55 +00:00
} ;
2021-10-21 06:47:14 +00:00
2021-06-14 11:51:02 +00:00
/ * * T h i s S t r e a m s A P I i n t e r f a c e i s t h e o b j e c t r e t u r n e d b y
* WritableStream . getWriter ( ) and once created locks the < writer to the
* WritableStream ensuring that no other streams can write to the underlying
2022-08-17 03:12:24 +00:00
* sink .
*
2024-05-06 01:56:55 +00:00
* @category Streams
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface WritableStreamDefaultWriter < W = any > {
2021-06-14 11:51:02 +00:00
readonly closed : Promise < void > ;
readonly desiredSize : number | null ;
readonly ready : Promise < void > ;
abort ( reason? : any ) : Promise < void > ;
close ( ) : Promise < void > ;
releaseLock ( ) : void ;
write ( chunk : W ) : Promise < void > ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2021-06-14 11:51:02 +00:00
declare var WritableStreamDefaultWriter : {
2023-07-03 18:36:55 +00:00
readonly prototype : WritableStreamDefaultWriter ;
new < W > ( stream : WritableStream < W > ) : WritableStreamDefaultWriter < W > ;
2021-06-14 11:51:02 +00:00
} ;
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare interface TransformStream < I = any , O = any > {
2021-06-14 11:51:02 +00:00
readonly readable : ReadableStream < O > ;
readonly writable : WritableStream < I > ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2021-06-14 11:51:02 +00:00
declare var TransformStream : {
2023-07-03 18:36:55 +00:00
readonly prototype : TransformStream ;
2021-06-14 11:51:02 +00:00
new < I = any , O = any > (
transformer? : Transformer < I , O > ,
writableStrategy? : QueuingStrategy < I > ,
readableStrategy? : QueuingStrategy < O > ,
) : TransformStream < I , O > ;
} ;
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare interface TransformStreamDefaultController < O = any > {
2021-06-14 11:51:02 +00:00
readonly desiredSize : number | null ;
enqueue ( chunk : O ) : void ;
error ( reason? : any ) : void ;
terminate ( ) : void ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare var TransformStreamDefaultController : {
readonly prototype : TransformStreamDefaultController ;
2024-06-27 14:26:01 +00:00
new ( ) : never ;
2023-07-03 18:36:55 +00:00
} ;
2021-10-21 06:47:14 +00:00
2024-06-27 13:04:14 +00:00
/ * * D e f i n e c u s t o m b e h a v i o r f o r t r a n s f o r m i n g d a t a i n s t r e a m s
*
2024-06-27 12:32:11 +00:00
* @category Streams * /
2023-07-03 18:36:55 +00:00
declare interface Transformer < I = any , O = any > {
2021-06-14 11:51:02 +00:00
flush? : TransformStreamDefaultControllerCallback < O > ;
readableType? : undefined ;
start? : TransformStreamDefaultControllerCallback < O > ;
transform? : TransformStreamDefaultControllerTransformCallback < I , O > ;
2023-10-10 09:42:31 +00:00
cancel ? : ( reason : any ) = > Promise < void > ;
2021-06-14 11:51:02 +00:00
writableType? : undefined ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare interface TransformStreamDefaultControllerCallback < O > {
2021-06-14 11:51:02 +00:00
( controller : TransformStreamDefaultController < O > ) : void | PromiseLike < void > ;
}
2024-05-06 01:56:55 +00:00
/** @category Streams */
2023-07-03 18:36:55 +00:00
declare interface TransformStreamDefaultControllerTransformCallback < I , O > {
2021-06-14 11:51:02 +00:00
(
chunk : I ,
controller : TransformStreamDefaultController < O > ,
) : void | PromiseLike < void > ;
}
2021-06-21 17:53:52 +00:00
2024-05-06 01:56:55 +00:00
/** @category Events */
2023-07-03 18:36:55 +00:00
declare interface MessageEventInit < T = any > extends EventInit {
2021-06-21 17:53:52 +00:00
data? : T ;
origin? : string ;
lastEventId? : string ;
}
2024-05-06 01:56:55 +00:00
/** @category Events */
2023-07-03 18:36:55 +00:00
declare interface MessageEvent < T = any > extends Event {
2021-06-21 17:53:52 +00:00
/ * *
* Returns the data of the message .
* /
readonly data : T ;
2023-07-03 18:36:55 +00:00
/ * *
* Returns the origin of the message , for server - sent events .
* /
readonly origin : string ;
2021-06-21 17:53:52 +00:00
/ * *
* Returns the last event ID string , for server - sent events .
* /
readonly lastEventId : string ;
2023-07-03 18:36:55 +00:00
readonly source : null ;
2021-06-21 17:53:52 +00:00
/ * *
2022-06-07 09:25:10 +00:00
* Returns transferred ports .
2021-06-21 17:53:52 +00:00
* /
readonly ports : ReadonlyArray < MessagePort > ;
}
2024-05-06 01:56:55 +00:00
/** @category Events */
2023-07-03 18:36:55 +00:00
declare var MessageEvent : {
readonly prototype : MessageEvent ;
new < T > ( type : string , eventInitDict? : MessageEventInit < T > ) : MessageEvent < T > ;
} ;
2024-05-06 01:56:55 +00:00
/** @category Events */
2023-07-03 18:36:55 +00:00
declare type Transferable = ArrayBuffer | MessagePort ;
2021-06-21 17:53:52 +00:00
2021-08-09 08:39:00 +00:00
/ * *
* This type has been renamed to StructuredSerializeOptions . Use that type for
* new code .
2022-08-17 03:12:24 +00:00
*
* @deprecated use ` StructuredSerializeOptions ` instead .
2024-05-06 01:56:55 +00:00
* @category Events
2021-08-09 08:39:00 +00:00
* /
2023-07-03 18:36:55 +00:00
declare type PostMessageOptions = StructuredSerializeOptions ;
2021-08-09 08:39:00 +00:00
2024-05-06 01:56:55 +00:00
/** @category Platform */
2023-07-03 18:36:55 +00:00
declare interface StructuredSerializeOptions {
2021-06-21 17:53:52 +00:00
transfer? : Transferable [ ] ;
}
/ * * T h e M e s s a g e C h a n n e l i n t e r f a c e o f t h e C h a n n e l M e s s a g i n g A P I a l l o w s u s t o
* create a new message channel and send data through it via its two MessagePort
2022-08-17 03:12:24 +00:00
* properties .
*
2024-05-06 01:56:55 +00:00
* @category Messaging
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface MessageChannel {
2021-06-21 17:53:52 +00:00
readonly port1 : MessagePort ;
readonly port2 : MessagePort ;
}
2023-07-03 18:36:55 +00:00
/ * * T h e M e s s a g e C h a n n e l i n t e r f a c e o f t h e C h a n n e l M e s s a g i n g A P I a l l o w s u s t o
* create a new message channel and send data through it via its two MessagePort
* properties .
*
2024-05-06 01:56:55 +00:00
* @category Messaging
2023-07-03 18:36:55 +00:00
* /
declare var MessageChannel : {
readonly prototype : MessageChannel ;
2024-06-27 14:26:01 +00:00
new ( ) : MessageChannel ;
2023-07-03 18:36:55 +00:00
} ;
2024-05-06 01:56:55 +00:00
/** @category Messaging */
2023-07-03 18:36:55 +00:00
declare interface MessagePortEventMap {
2021-06-21 17:53:52 +00:00
"message" : MessageEvent ;
"messageerror" : MessageEvent ;
}
/ * * T h e M e s s a g e P o r t i n t e r f a c e o f t h e C h a n n e l M e s s a g i n g A P I r e p r e s e n t s o n e o f t h e
* two ports of a MessageChannel , allowing messages to be sent from one port and
2022-08-17 03:12:24 +00:00
* listening out for them arriving at the other .
*
2024-05-06 01:56:55 +00:00
* @category Messaging
2022-08-17 03:12:24 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface MessagePort extends EventTarget {
2021-06-21 17:53:52 +00:00
onmessage : ( ( this : MessagePort , ev : MessageEvent ) = > any ) | null ;
onmessageerror : ( ( this : MessagePort , ev : MessageEvent ) = > any ) | null ;
/ * *
* Disconnects the port , so that it is no longer active .
* /
close ( ) : void ;
/ * *
* Posts a message through the channel . Objects listed in transfer are
* transferred , not just cloned , meaning that they are no longer usable on the
* sending side .
*
* Throws a "DataCloneError" DOMException if transfer contains duplicate
* objects or port , or if message could not be cloned .
* /
postMessage ( message : any , transfer : Transferable [ ] ) : void ;
2021-08-09 08:39:00 +00:00
postMessage ( message : any , options? : StructuredSerializeOptions ) : void ;
2021-06-21 17:53:52 +00:00
/ * *
2022-10-12 07:47:15 +00:00
* Begins dispatching messages received on the port . This is implicitly called
* when assigning a value to ` this.onmessage ` .
2021-06-21 17:53:52 +00:00
* /
start ( ) : void ;
addEventListener < K extends keyof MessagePortEventMap > (
type : K ,
listener : ( this : MessagePort , ev : MessagePortEventMap [ K ] ) = > any ,
options? : boolean | AddEventListenerOptions ,
) : void ;
addEventListener (
type : string ,
listener : EventListenerOrEventListenerObject ,
options? : boolean | AddEventListenerOptions ,
) : void ;
removeEventListener < K extends keyof MessagePortEventMap > (
type : K ,
listener : ( this : MessagePort , ev : MessagePortEventMap [ K ] ) = > any ,
options? : boolean | EventListenerOptions ,
) : void ;
removeEventListener (
type : string ,
listener : EventListenerOrEventListenerObject ,
options? : boolean | EventListenerOptions ,
) : void ;
}
2021-08-09 08:39:00 +00:00
2023-07-03 18:36:55 +00:00
/ * * T h e M e s s a g e P o r t i n t e r f a c e o f t h e C h a n n e l M e s s a g i n g A P I r e p r e s e n t s o n e o f t h e
* two ports of a MessageChannel , allowing messages to be sent from one port and
* listening out for them arriving at the other .
*
2024-05-06 01:56:55 +00:00
* @category Messaging
2023-07-03 18:36:55 +00:00
* /
declare var MessagePort : {
readonly prototype : MessagePort ;
2024-06-27 14:26:01 +00:00
new ( ) : never ;
2023-07-03 18:36:55 +00:00
} ;
2022-02-22 19:41:59 +00:00
/ * *
* Creates a deep copy of a given value using the structured clone algorithm .
*
* Unlike a shallow copy , a deep copy does not hold the same references as the
* source object , meaning its properties can be changed without affecting the
* source . For more details , see
* [ MDN ] ( https : //developer.mozilla.org/en-US/docs/Glossary/Deep_copy).
*
* Throws a ` DataCloneError ` if any part of the input value is not
* serializable .
*
* @example
* ` ` ` ts
* const object = { x : 0 , y : 1 } ;
*
* const deepCopy = structuredClone ( object ) ;
* deepCopy . x = 1 ;
* console . log ( deepCopy . x , object . x ) ; // 1 0
*
* const shallowCopy = object ;
* shallowCopy . x = 1 ;
* // shallowCopy.x is pointing to the same location in memory as object.x
* console . log ( shallowCopy . x , object . x ) ; // 1 1
* ` ` `
2022-08-17 03:12:24 +00:00
*
2024-05-06 01:56:55 +00:00
* @category Platform
2022-02-22 19:41:59 +00:00
* /
2024-03-25 21:44:49 +00:00
declare function structuredClone < T = any > (
value : T ,
2021-08-09 08:39:00 +00:00
options? : StructuredSerializeOptions ,
2024-03-25 21:44:49 +00:00
) : T ;
2022-01-24 17:03:06 +00:00
2022-02-22 19:41:59 +00:00
/ * *
* An API for compressing a stream of data .
*
* @example
* ` ` ` ts
* await Deno . stdin . readable
* . pipeThrough ( new CompressionStream ( "gzip" ) )
* . pipeTo ( Deno . stdout . writable ) ;
* ` ` `
2022-08-17 03:12:24 +00:00
*
2024-05-06 01:56:55 +00:00
* @category Streams
2022-02-22 19:41:59 +00:00
* /
2023-07-03 18:36:55 +00:00
declare interface CompressionStream {
readonly readable : ReadableStream < Uint8Array > ;
readonly writable : WritableStream < Uint8Array > ;
}
/ * *
* An API for compressing a stream of data .
*
* @example
* ` ` ` ts
* await Deno . stdin . readable
* . pipeThrough ( new CompressionStream ( "gzip" ) )
* . pipeTo ( Deno . stdout . writable ) ;
* ` ` `
*
2024-05-06 01:56:55 +00:00
* @category Streams
2023-07-03 18:36:55 +00:00
* /
declare var CompressionStream : {
readonly prototype : CompressionStream ;
2022-02-22 19:41:59 +00:00
/ * *
* Creates a new ` CompressionStream ` object which compresses a stream of
* data .
*
* Throws a ` TypeError ` if the format passed to the constructor is not
* supported .
* /
2024-06-27 14:26:01 +00:00
new ( format : string ) : CompressionStream ;
2023-07-03 18:36:55 +00:00
} ;
2022-01-24 17:03:06 +00:00
2023-07-03 18:36:55 +00:00
/ * *
* An API for decompressing a stream of data .
*
* @example
* ` ` ` ts
* const input = await Deno . open ( "./file.txt.gz" ) ;
* const output = await Deno . create ( "./file.txt" ) ;
*
* await input . readable
* . pipeThrough ( new DecompressionStream ( "gzip" ) )
* . pipeTo ( output . writable ) ;
* ` ` `
*
2024-05-06 01:56:55 +00:00
* @category Streams
2023-07-03 18:36:55 +00:00
* /
declare interface DecompressionStream {
2022-01-24 17:03:06 +00:00
readonly readable : ReadableStream < Uint8Array > ;
readonly writable : WritableStream < Uint8Array > ;
}
2022-02-22 19:41:59 +00:00
/ * *
* An API for decompressing a stream of data .
*
* @example
* ` ` ` ts
* const input = await Deno . open ( "./file.txt.gz" ) ;
* const output = await Deno . create ( "./file.txt" ) ;
*
* await input . readable
* . pipeThrough ( new DecompressionStream ( "gzip" ) )
* . pipeTo ( output . writable ) ;
* ` ` `
2022-08-17 03:12:24 +00:00
*
2024-05-06 01:56:55 +00:00
* @category Streams
2022-02-22 19:41:59 +00:00
* /
2023-07-03 18:36:55 +00:00
declare var DecompressionStream : {
readonly prototype : DecompressionStream ;
2022-02-22 19:41:59 +00:00
/ * *
* Creates a new ` DecompressionStream ` object which decompresses a stream of
* data .
*
* Throws a ` TypeError ` if the format passed to the constructor is not
* supported .
* /
2024-06-27 14:26:01 +00:00
new ( format : string ) : DecompressionStream ;
2023-07-03 18:36:55 +00:00
} ;
2022-04-19 08:59:51 +00:00
/ * * D i s p a t c h a n u n c a u g h t e x c e p t i o n . S i m i l a r t o a s y n c h r o n o u s v e r s i o n o f :
* ` ` ` ts
* setTimeout ( ( ) = > { throw error ; } , 0 ) ;
* ` ` `
* The error can not be caught with a ` try/catch ` block . An error event will
* be dispatched to the global scope . You can prevent the error from being
* reported to the console with ` Event.prototype.preventDefault() ` :
* ` ` ` ts
* addEventListener ( "error" , ( event ) = > {
* event . preventDefault ( ) ;
* } ) ;
* reportError ( new Error ( "foo" ) ) ; // Will not be reported.
* ` ` `
* In Deno , this error will terminate the process if not intercepted like above .
2022-08-17 03:12:24 +00:00
*
2024-05-06 01:56:55 +00:00
* @category Platform
2022-04-19 08:59:51 +00:00
* /
declare function reportError (
error : any ,
) : void ;
2024-02-07 00:11:15 +00:00
2024-05-06 01:56:55 +00:00
/** @category Platform */
2024-02-07 00:11:15 +00:00
declare type PredefinedColorSpace = "srgb" | "display-p3" ;
2024-06-27 14:13:21 +00:00
/ * * C o l o r s p a c e s e t t i n g s f o r { @ l i n k c o d e I m a g e D a t a } o b j e c t s .
2024-06-27 13:04:14 +00:00
*
2024-06-27 12:32:11 +00:00
* @category Platform * /
2024-02-07 00:11:15 +00:00
declare interface ImageDataSettings {
readonly colorSpace? : PredefinedColorSpace ;
}
2024-06-27 14:13:32 +00:00
/ * * A n o b j e c t r e p r e s e n t i n g t h e u n d e r l y i n g d a t a t h a t b a c k s a n i m a g e .
2024-06-27 13:04:14 +00:00
*
2024-06-27 12:32:11 +00:00
* @category Platform * /
2024-02-07 00:11:15 +00:00
declare interface ImageData {
readonly colorSpace : PredefinedColorSpace ;
readonly data : Uint8ClampedArray ;
readonly height : number ;
readonly width : number ;
}
2024-06-27 14:24:54 +00:00
/** @category Platform */
2024-02-07 00:11:15 +00:00
declare var ImageData : {
prototype : ImageData ;
2024-06-27 14:26:01 +00:00
new ( sw : number , sh : number , settings? : ImageDataSettings ) : ImageData ;
new (
2024-02-07 00:11:15 +00:00
data : Uint8ClampedArray ,
sw : number ,
sh? : number ,
settings? : ImageDataSettings ,
) : ImageData ;
} ;